@c8y/ngx-components 1018.503.1 → 1018.503.23
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/core/common/ApplicationOptions.d.ts +4 -2
- package/core/common/files.service.d.ts +10 -2
- package/core/common/global-config.service.d.ts +1 -1
- package/core/common/permissions.service.d.ts +69 -2
- package/core/common/tenant-ui.service.d.ts +1 -1
- package/core/i18n/pattern-messages.data.d.ts +20 -20
- package/esm2020/assets-navigator/asset-node.service.mjs +11 -4
- package/esm2020/auth-configuration/auth-configuration.guard.mjs +5 -2
- package/esm2020/auth-configuration/factories/navigation.factory.mjs +3 -3
- package/esm2020/cockpit-config/cockpit-config.guard.mjs +2 -2
- package/esm2020/cockpit-config/cockpit-config.service.mjs +2 -2
- package/esm2020/context-dashboard/add-dashboard.factory.mjs +13 -3
- package/esm2020/context-dashboard/context-dashboard.component.mjs +2 -2
- package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
- package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +5 -3
- package/esm2020/core/bottom-drawer/bottom-drawer.service.mjs +1 -1
- package/esm2020/core/common/ApplicationOptions.mjs +1 -1
- package/esm2020/core/common/files.service.mjs +20 -4
- package/esm2020/core/common/global-config.service.mjs +7 -2
- package/esm2020/core/common/permissions.service.mjs +69 -2
- package/esm2020/core/common/tenant-ui.service.mjs +3 -2
- package/esm2020/core/common/user-preferences/user-preferences.service.mjs +10 -2
- package/esm2020/core/docs/support-outlet/support-outlet.component.mjs +3 -2
- package/esm2020/core/drop-area/drop-area.component.mjs +3 -1
- package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
- package/esm2020/core/setup/setup.service.mjs +2 -2
- package/esm2020/core/user/user-edit.component.mjs +1 -1
- package/esm2020/ecosystem/application-properties/application-properties.component.mjs +2 -2
- package/esm2020/ecosystem/application-properties/subscription-modal/subscription-modal.component.mjs +3 -3
- package/esm2020/ecosystem/ecosystem-navigation.factory.mjs +3 -3
- package/esm2020/ecosystem/packages/package-list/packages-list.component.mjs +2 -2
- package/esm2020/ecosystem/packages/package-versions/package-versions-list/package-versions-list.component.mjs +2 -2
- package/esm2020/files-repository/files-repository.guard.mjs +6 -3
- package/esm2020/location/location.component.mjs +20 -13
- package/esm2020/map/cluster-map.component.mjs +19 -11
- package/esm2020/map/cluster-map.mjs +8 -3
- package/esm2020/map/map-status.component.mjs +19 -5
- package/esm2020/map/map.component.mjs +10 -10
- package/esm2020/map/map.model.mjs +1 -19
- package/esm2020/map/map.service.mjs +24 -1
- package/esm2020/protocol-lwm2m/components/bootstrap-parameters/lwm2m-bootstrap-parameters.component.mjs +2 -2
- package/esm2020/protocol-lwm2m/components/configuration/typed-forms/form-wrapper-base.component.mjs +2 -2
- package/esm2020/register-device/register-device-navigation.factory.mjs +3 -3
- package/esm2020/replace-device/replace-device.service.mjs +15 -7
- package/esm2020/reports/export-schedules.component.mjs +3 -3
- package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +14 -6
- package/esm2020/sms-gateway/sms-gateway.guard.mjs +2 -2
- package/esm2020/sms-gateway/sms-gateway.module.mjs +6 -6
- package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
- package/esm2020/sub-assets/asset-properties-item.component.mjs +6 -6
- package/esm2020/sub-assets/groups.component.mjs +5 -2
- package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
- package/esm2020/sub-assets/sub-assets.service.mjs +22 -10
- package/esm2020/tenants/tenant-list/tenant-list.component.mjs +12 -7
- package/esm2020/upgrade/ng1/downgraded.services.mjs +3 -2
- package/esm2020/upgrade/ng1/index.mjs +4 -3
- package/esm2020/widgets/cockpit/index.mjs +1 -1
- package/esm2020/widgets/device-management/index.mjs +1 -1
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs +10 -3
- package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs +7 -4
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-cockpit-config.mjs +3 -3
- package/fesm2015/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs +35 -10
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-ecosystem.mjs +8 -8
- package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-files-repository.mjs +6 -3
- package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-location.mjs +20 -13
- package/fesm2015/c8y-ngx-components-location.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-map.mjs +174 -142
- package/fesm2015/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
- package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2015/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-replace-device.mjs +16 -8
- package/fesm2015/c8y-ngx-components-replace-device.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-reports.mjs +2 -2
- package/fesm2015/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs +13 -5
- package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sms-gateway.mjs +6 -6
- package/fesm2015/c8y-ngx-components-sms-gateway.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +43 -18
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-tenants.mjs +11 -6
- package/fesm2015/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-upgrade.mjs +4 -2
- package/fesm2015/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +126 -29
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs +10 -3
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs +7 -4
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-cockpit-config.mjs +3 -3
- package/fesm2020/c8y-ngx-components-cockpit-config.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs +35 -10
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-ecosystem.mjs +8 -8
- package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-files-repository.mjs +6 -3
- package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-location.mjs +20 -13
- package/fesm2020/c8y-ngx-components-location.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-map.mjs +174 -142
- package/fesm2020/c8y-ngx-components-map.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs +2 -2
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-bootstrap-parameters.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +1 -1
- package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-register-device.mjs +3 -3
- package/fesm2020/c8y-ngx-components-register-device.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-replace-device.mjs +16 -8
- package/fesm2020/c8y-ngx-components-replace-device.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-reports.mjs +2 -2
- package/fesm2020/c8y-ngx-components-reports.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs +13 -5
- package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sms-gateway.mjs +6 -6
- package/fesm2020/c8y-ngx-components-sms-gateway.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +43 -18
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-tenants.mjs +11 -6
- package/fesm2020/c8y-ngx-components-tenants.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-upgrade.mjs +4 -2
- package/fesm2020/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-widgets-device-management.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +126 -29
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/locales/locales.pot +3 -0
- package/location/location.component.d.ts +2 -2
- package/map/cluster-map.component.d.ts +3 -1
- package/map/map-status.component.d.ts +12 -1
- package/map/map.component.d.ts +1 -1
- package/map/map.model.d.ts +0 -1
- package/map/map.service.d.ts +6 -0
- package/package.json +1 -1
- package/replace-device/replace-device.service.d.ts +3 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +4 -2
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/widgets/cockpit/index.d.ts +2 -1
- package/widgets/device-management/index.d.ts +2 -1
|
@@ -21,8 +21,10 @@ export class AssetPropertiesItemComponent {
|
|
|
21
21
|
async resolveFile() {
|
|
22
22
|
if (this.file) {
|
|
23
23
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
if (this.filesService.fileNamesHaveValidExtension(this.file.name, 'image')) {
|
|
25
|
+
const imageFile = await this.filesService.getFile(this.file);
|
|
26
|
+
this.previewImage = await this.getPreviewIfImage(imageFile);
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
29
|
catch (ex) {
|
|
28
30
|
this.alert.danger(gettext('File could not be loaded.'));
|
|
@@ -60,9 +62,7 @@ export class AssetPropertiesItemComponent {
|
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
async getPreviewIfImage(imageFile) {
|
|
63
|
-
|
|
64
|
-
return this.filesService.toBase64(imageFile);
|
|
65
|
-
}
|
|
65
|
+
return this.filesService.toBase64(imageFile);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
AssetPropertiesItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: AssetPropertiesItemComponent, deps: [{ token: i1.AlertService }, { token: i1.C8yJSONSchema }, { token: i1.FilesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
87
87
|
}], jsonSchema: [{
|
|
88
88
|
type: Input
|
|
89
89
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXpGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBTWxDLE1BQU0sT0FBTyw0QkFBNEI7SUF1QnZDLFlBQ1UsS0FBbUIsRUFDbkIsb0JBQW1DLEVBQ3BDLFlBQTBCO1FBRnpCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFlO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hDLENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJO2dCQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzdEO1lBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQzthQUN6RDtTQUNGO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO2dCQUNuQixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7YUFDakQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQzdDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQyxPQUFPO2dCQUNMLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTthQUN6QyxDQUFDO1NBQ0g7UUFDRCxPQUFPO1lBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUYsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQWU7UUFDN0MsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtZQUM3RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7eUhBbkZVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDBPQ2J6Qyx5N0VBK0RBLHN3QkRsRGEsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UsMkJBQTJCOzBKQUtyQyxHQUFHO3NCQURGLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdEJpbmFyeSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSwgQzh5SlNPTlNjaGVtYSwgZ2V0dGV4dCwgRmlsZXNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQXNzZXRQcm9wZXJ0aWVzSXRlbSB9IGZyb20gJy4vYXNzZXQtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBKU09OU2NoZW1hNyB9IGZyb20gJ2pzb24tc2NoZW1hJztcbmltcG9ydCB7IGNsb25lIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFzc2V0LXByb3BlcnRpZXMtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hc3NldC1wcm9wZXJ0aWVzLWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0UHJvcGVydGllc0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBc3NldFByb3BlcnRpZXNJdGVtLCBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBrZXk6IHN0cmluZztcbiAgQElucHV0KClcbiAgdmFsdWU6IGFueTtcbiAgQElucHV0KClcbiAgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KClcbiAgdHlwZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBmaWxlOiBJTWFuYWdlZE9iamVjdEJpbmFyeTtcbiAgQElucHV0KClcbiAgY29tcGxleDogQXNzZXRQcm9wZXJ0aWVzSXRlbVtdO1xuICBASW5wdXQoKVxuICBpc0VkaXQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIGpzb25TY2hlbWE6IEpTT05TY2hlbWE3O1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcbiAgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xuICBtb2RlbDogYW55O1xuICBwcmV2aWV3SW1hZ2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYzh5SnNvblNjaGVtYVNlcnZpY2U6IEM4eUpTT05TY2hlbWEsXG4gICAgcHVibGljIGZpbGVzU2VydmljZTogRmlsZXNTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGNoYW5nZXMuaXNFZGl0KSB7XG4gICAgICB0aGlzLnJlc29sdmVKc29uU2NoZW1hKCk7XG4gICAgICBhd2FpdCB0aGlzLnJlc29sdmVGaWxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXNvbHZlRmlsZSgpIHtcbiAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBpbWFnZUZpbGUgPSBhd2FpdCB0aGlzLmZpbGVzU2VydmljZS5nZXRGaWxlKHRoaXMuZmlsZSk7XG4gICAgICAgIHRoaXMucHJldmlld0ltYWdlID0gYXdhaXQgdGhpcy5nZXRQcmV2aWV3SWZJbWFnZShpbWFnZUZpbGUpO1xuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgdGhpcy5hbGVydC5kYW5nZXIoZ2V0dGV4dCgnRmlsZSBjb3VsZCBub3QgYmUgbG9hZGVkLicpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1Db21wbGV4UHJvcHNWYWx1ZSgpIHtcbiAgICBjb25zdCBjb21wbGV4UHJvcHMgPSB7fTtcbiAgICB0aGlzLmNvbXBsZXguZm9yRWFjaChjb21wbGV4T2JqID0+IHtcbiAgICAgIGlmIChjb21wbGV4T2JqLmZpbGUpIHtcbiAgICAgICAgY29tcGxleFByb3BzW2NvbXBsZXhPYmoua2V5XSA9IGNvbXBsZXhPYmoudmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVbY29tcGxleE9iai5rZXldICE9IG51bGwpIHtcbiAgICAgICAgY29tcGxleFByb3BzW2NvbXBsZXhPYmoua2V5XSA9IHRoaXMudmFsdWVbY29tcGxleE9iai5rZXldO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBjb21wbGV4UHJvcHM7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGVsKCkge1xuICAgIGlmICh0aGlzLmNvbXBsZXggJiYgdGhpcy5jb21wbGV4Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFt0aGlzLmtleV06IHRoaXMuZm9ybUNvbXBsZXhQcm9wc1ZhbHVlKClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBbdGhpcy5rZXldOiBjbG9uZSh0aGlzLnZhbHVlKVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVKc29uU2NoZW1hKCkge1xuICAgIGlmICh0aGlzLmpzb25TY2hlbWEpIHtcbiAgICAgIGNvbnN0IGZpZWxkQ29uZmlnID0gdGhpcy5jOHlKc29uU2NoZW1hU2VydmljZS50b0ZpZWxkQ29uZmlnKHRoaXMuanNvblNjaGVtYSwgdGhpcy5qc29uU2NoZW1hKTtcbiAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgdGhpcy5maWVsZHMgPSBbZmllbGRDb25maWddO1xuICAgICAgdGhpcy5tb2RlbCA9IHRoaXMuZ2V0TW9kZWwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFByZXZpZXdJZkltYWdlKGltYWdlRmlsZTogRmlsZSkge1xuICAgIGlmICh0aGlzLmZpbGVzU2VydmljZS5oYXZlVmFsaWRFeHRlbnNpb25zKGltYWdlRmlsZSwgJ2ltYWdlJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbGVzU2VydmljZS50b0Jhc2U2NChpbWFnZUZpbGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiICpuZ0lmPVwiIWlzRWRpdFwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICB7eyAodmFsdWUgfCBjOHlEYXRlOiAnZnVsbERhdGUnKSB8fCAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmlsZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZVwiPlxuICAgICAgPGltZyAqbmdJZj1cInByZXZpZXdJbWFnZVwiIFtzcmNdPVwicHJldmlld0ltYWdlXCIgY2xhc3M9XCJpbWctcmVzcG9uc2l2ZVwiIC8+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIXByZXZpZXdJbWFnZVwiXG4gICAgICAgIChjbGljayk9XCJmaWxlc1NlcnZpY2UuZG93bmxvYWQoZmlsZSlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19IHt7IGZpbGUubmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1jbGVhbiB0ZXh0LXRydW5jYXRlIHAtMFwiXG4gICAgICA+XG4gICAgICAgIHt7IGZpbGUubmFtZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaWxlXCI+XG4gICAgICB7eyAnTm8gZmlsZSBhdHRhY2hlZC4nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb2JqZWN0J1wiPlxuICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgYzh5LWN1c3RvbS1wcm9wZXJ0aWVzXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwibGV0IHByb3Agb2YgY29tcGxleDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlcGFyYXRvci10b3AtYm90dG9tJzogaSA9PT0gMCwgJ3NlcGFyYXRvci1ib3R0b20nOiBpID4gMCB9XCJcbiAgICAgICAgY2xhc3M9XCJwLXQtNCBwLWItNCBkLWZsZXggdGV4dC1ub3dyYXBcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBjbGFzcz1cInNtYWxsIG0tYi0wIG0tci04IHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgIHRpdGxlPVwie3sgcHJvcC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYS1zLXN0YXJ0JzogcHJvcC5maWxlIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcHJvcC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm0tbC1hdXRvXCIgc3R5bGU9XCJtYXgtd2lkdGg6IHt7IHByb3AuZmlsZSA/ICc1MCUnIDogJzEwMCUnIH19OyBtaW4td2lkdGg6MDtcIj5cbiAgICAgICAgICA8Yzh5LWFzc2V0LXByb3BlcnRpZXMtaXRlbVxuICAgICAgICAgICAgW2ZpbGVdPVwicHJvcC5maWxlXCJcbiAgICAgICAgICAgIFtrZXldPVwicHJvcC5rZXlcIlxuICAgICAgICAgICAgW3R5cGVdPVwicHJvcC50eXBlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9wLnZhbHVlXCJcbiAgICAgICAgICA+PC9jOHktYXNzZXQtcHJvcGVydGllcy1pdGVtPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cInRydWVcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZSA9PT0gJ251bWJlcicgfHwgdHlwZSA9PT0gJ2Jvb2xlYW4nID8gdHlwZSA6ICcnXCI+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCIgdGl0bGU9XCJ7eyB2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XCI+XG4gICAgICB7eyB2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIDxwIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiIHRpdGxlPVwie3sgKHZhbHVlIHwgdHJhbnNsYXRlKSB8fCAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XCI+XG4gICAgICB7eyAodmFsdWUgfCB0cmFuc2xhdGUpIHx8ICgnVW5kZWZpbmVkJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48Zm9ybWx5LWZvcm0gKm5nSWY9XCJpc0VkaXRcIiBbZm9ybV09XCJmb3JtXCIgW2ZpZWxkc109XCJmaWVsZHNcIiBbbW9kZWxdPVwibW9kZWxcIj48L2Zvcm1seS1mb3JtPlxuIl19
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXpGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBTWxDLE1BQU0sT0FBTyw0QkFBNEI7SUF1QnZDLFlBQ1UsS0FBbUIsRUFDbkIsb0JBQW1DLEVBQ3BDLFlBQTBCO1FBRnpCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFlO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2hDLENBQUM7SUFFSixLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsV0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJO2dCQUNGLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDMUUsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQzdEO2FBQ0Y7WUFBQyxPQUFPLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0Y7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQ25CLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUNqRDtpQkFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDN0MsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE9BQU87Z0JBQ0wsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFO2FBQ3pDLENBQUM7U0FDSDtRQUNELE9BQU87WUFDTCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsU0FBZTtRQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7O3lIQW5GVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwT0NiekMseTdFQStEQSxzd0JEbERhLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjswSkFLckMsR0FBRztzQkFERixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3RCaW5hcnkgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIEM4eUpTT05TY2hlbWEsIGdldHRleHQsIEZpbGVzU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEFzc2V0UHJvcGVydGllc0l0ZW0gfSBmcm9tICcuL2Fzc2V0LXByb3BlcnRpZXMubW9kZWwnO1xuaW1wb3J0IHsgSlNPTlNjaGVtYTcgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1hc3NldC1wcm9wZXJ0aWVzLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcHJvcGVydGllcy1pdGVtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBc3NldFByb3BlcnRpZXNJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQXNzZXRQcm9wZXJ0aWVzSXRlbSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KClcbiAga2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHR5cGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgZmlsZTogSU1hbmFnZWRPYmplY3RCaW5hcnk7XG4gIEBJbnB1dCgpXG4gIGNvbXBsZXg6IEFzc2V0UHJvcGVydGllc0l0ZW1bXTtcbiAgQElucHV0KClcbiAgaXNFZGl0OiBib29sZWFuO1xuICBASW5wdXQoKVxuICBqc29uU2NoZW1hOiBKU09OU2NoZW1hNztcblxuICBmb3JtOiBGb3JtR3JvdXA7XG4gIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXTtcbiAgbW9kZWw6IGFueTtcbiAgcHJldmlld0ltYWdlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGM4eUpzb25TY2hlbWFTZXJ2aWNlOiBDOHlKU09OU2NoZW1hLFxuICAgIHB1YmxpYyBmaWxlc1NlcnZpY2U6IEZpbGVzU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChjaGFuZ2VzLmlzRWRpdCkge1xuICAgICAgdGhpcy5yZXNvbHZlSnNvblNjaGVtYSgpO1xuICAgICAgYXdhaXQgdGhpcy5yZXNvbHZlRmlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVzb2x2ZUZpbGUoKSB7XG4gICAgaWYgKHRoaXMuZmlsZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHRoaXMuZmlsZXNTZXJ2aWNlLmZpbGVOYW1lc0hhdmVWYWxpZEV4dGVuc2lvbih0aGlzLmZpbGUubmFtZSwgJ2ltYWdlJykpIHtcbiAgICAgICAgICBjb25zdCBpbWFnZUZpbGUgPSBhd2FpdCB0aGlzLmZpbGVzU2VydmljZS5nZXRGaWxlKHRoaXMuZmlsZSk7XG4gICAgICAgICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSBhd2FpdCB0aGlzLmdldFByZXZpZXdJZkltYWdlKGltYWdlRmlsZSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIHRoaXMuYWxlcnQuZGFuZ2VyKGdldHRleHQoJ0ZpbGUgY291bGQgbm90IGJlIGxvYWRlZC4nKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtQ29tcGxleFByb3BzVmFsdWUoKSB7XG4gICAgY29uc3QgY29tcGxleFByb3BzID0ge307XG4gICAgdGhpcy5jb21wbGV4LmZvckVhY2goY29tcGxleE9iaiA9PiB7XG4gICAgICBpZiAoY29tcGxleE9iai5maWxlKSB7XG4gICAgICAgIGNvbXBsZXhQcm9wc1tjb21wbGV4T2JqLmtleV0gPSBjb21wbGV4T2JqLnZhbHVlO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlW2NvbXBsZXhPYmoua2V5XSAhPSBudWxsKSB7XG4gICAgICAgIGNvbXBsZXhQcm9wc1tjb21wbGV4T2JqLmtleV0gPSB0aGlzLnZhbHVlW2NvbXBsZXhPYmoua2V5XTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gY29tcGxleFByb3BzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2RlbCgpIHtcbiAgICBpZiAodGhpcy5jb21wbGV4ICYmIHRoaXMuY29tcGxleC5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbdGhpcy5rZXldOiB0aGlzLmZvcm1Db21wbGV4UHJvcHNWYWx1ZSgpXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgW3RoaXMua2V5XTogY2xvbmUodGhpcy52YWx1ZSlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlSnNvblNjaGVtYSgpIHtcbiAgICBpZiAodGhpcy5qc29uU2NoZW1hKSB7XG4gICAgICBjb25zdCBmaWVsZENvbmZpZyA9IHRoaXMuYzh5SnNvblNjaGVtYVNlcnZpY2UudG9GaWVsZENvbmZpZyh0aGlzLmpzb25TY2hlbWEsIHRoaXMuanNvblNjaGVtYSk7XG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgIHRoaXMuZmllbGRzID0gW2ZpZWxkQ29uZmlnXTtcbiAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmdldE1vZGVsKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRQcmV2aWV3SWZJbWFnZShpbWFnZUZpbGU6IEZpbGUpIHtcbiAgICByZXR1cm4gdGhpcy5maWxlc1NlcnZpY2UudG9CYXNlNjQoaW1hZ2VGaWxlKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiICpuZ0lmPVwiIWlzRWRpdFwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cbiAgICB7eyAodmFsdWUgfCBjOHlEYXRlOiAnZnVsbERhdGUnKSB8fCAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmlsZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZVwiPlxuICAgICAgPGltZyAqbmdJZj1cInByZXZpZXdJbWFnZVwiIFtzcmNdPVwicHJldmlld0ltYWdlXCIgY2xhc3M9XCJpbWctcmVzcG9uc2l2ZVwiIC8+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIXByZXZpZXdJbWFnZVwiXG4gICAgICAgIChjbGljayk9XCJmaWxlc1NlcnZpY2UuZG93bmxvYWQoZmlsZSlcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgdGl0bGU9XCJ7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19IHt7IGZpbGUubmFtZSB9fVwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1jbGVhbiB0ZXh0LXRydW5jYXRlIHAtMFwiXG4gICAgICA+XG4gICAgICAgIHt7IGZpbGUubmFtZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmaWxlXCI+XG4gICAgICB7eyAnTm8gZmlsZSBhdHRhY2hlZC4nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInb2JqZWN0J1wiPlxuICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgYzh5LWN1c3RvbS1wcm9wZXJ0aWVzXCI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwibGV0IHByb3Agb2YgY29tcGxleDsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlcGFyYXRvci10b3AtYm90dG9tJzogaSA9PT0gMCwgJ3NlcGFyYXRvci1ib3R0b20nOiBpID4gMCB9XCJcbiAgICAgICAgY2xhc3M9XCJwLXQtNCBwLWItNCBkLWZsZXggdGV4dC1ub3dyYXBcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICBjbGFzcz1cInNtYWxsIG0tYi0wIG0tci04IHRleHQtdHJ1bmNhdGVcIlxuICAgICAgICAgIHRpdGxlPVwie3sgcHJvcC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYS1zLXN0YXJ0JzogcHJvcC5maWxlIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgcHJvcC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm0tbC1hdXRvXCIgc3R5bGU9XCJtYXgtd2lkdGg6IHt7IHByb3AuZmlsZSA/ICc1MCUnIDogJzEwMCUnIH19OyBtaW4td2lkdGg6MDtcIj5cbiAgICAgICAgICA8Yzh5LWFzc2V0LXByb3BlcnRpZXMtaXRlbVxuICAgICAgICAgICAgW2ZpbGVdPVwicHJvcC5maWxlXCJcbiAgICAgICAgICAgIFtrZXldPVwicHJvcC5rZXlcIlxuICAgICAgICAgICAgW3R5cGVdPVwicHJvcC50eXBlXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9wLnZhbHVlXCJcbiAgICAgICAgICA+PC9jOHktYXNzZXQtcHJvcGVydGllcy1pdGVtPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tXG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cInZhbHVlXCIgW2Rpc2FibGVkXT1cInRydWVcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwidHlwZSA9PT0gJ251bWJlcicgfHwgdHlwZSA9PT0gJ2Jvb2xlYW4nID8gdHlwZSA6ICcnXCI+XG4gICAgPHAgY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCIgdGl0bGU9XCJ7eyB2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XCI+XG4gICAgICB7eyB2YWx1ZSAhPSBudWxsID8gdmFsdWUgOiAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIDxwIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiIHRpdGxlPVwie3sgKHZhbHVlIHwgdHJhbnNsYXRlKSB8fCAoJ1VuZGVmaW5lZCcgfCB0cmFuc2xhdGUpIH19XCI+XG4gICAgICB7eyAodmFsdWUgfCB0cmFuc2xhdGUpIHx8ICgnVW5kZWZpbmVkJyB8IHRyYW5zbGF0ZSkgfX1cbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48Zm9ybWx5LWZvcm0gKm5nSWY9XCJpc0VkaXRcIiBbZm9ybV09XCJmb3JtXCIgW2ZpZWxkc109XCJmaWVsZHNcIiBbbW9kZWxdPVwibW9kZWxcIj48L2Zvcm1seS1mb3JtPlxuIl19
|
|
@@ -21,7 +21,10 @@ export class GroupsComponent {
|
|
|
21
21
|
this.columns = [];
|
|
22
22
|
}
|
|
23
23
|
ngOnInit() {
|
|
24
|
-
if (!this.permissions.
|
|
24
|
+
if (!this.permissions.hasAnyRole([
|
|
25
|
+
Permissions.ROLE_INVENTORY_READ,
|
|
26
|
+
Permissions.ROLE_MANAGED_OBJECT_READ
|
|
27
|
+
])) {
|
|
25
28
|
this.sortable = false;
|
|
26
29
|
}
|
|
27
30
|
this.shouldDisableAddGroup = !this.subAssetsService.canCreateGroup();
|
|
@@ -39,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
39
42
|
type: Inject,
|
|
40
43
|
args: [SUB_ASSETS_CONFIG]
|
|
41
44
|
}] }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3N1Yi1hc3NldHMvZ3JvdXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3N1Yi1hc3NldHMvZ3JvdXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQVUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBTXhELE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQWtDLEVBQ1IsWUFBNkI7UUFGdkQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNSLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQVZqRSxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QixZQUFPLEdBQWEsRUFBRSxDQUFDO0lBTXBCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFDRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzNCLFdBQVcsQ0FBQyxtQkFBbUI7WUFDL0IsV0FBVyxDQUFDLHdCQUF3QjtTQUNyQyxDQUFDLEVBQ0Y7WUFDQSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVyRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxnQkFBZ0I7YUFDakMsaUJBQWlCLEVBQUU7YUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs0R0E1QlUsZUFBZSw2RUFXaEIsaUJBQWlCO2dHQVhoQixlQUFlLHVEQ1Q1QixzM0NBcURBOzJGRDVDYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLGlCQUFpQjs7MEJBY3hCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW4sIFBlcm1pc3Npb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdWJBc3NldHNDb25maWcsIFNVQl9BU1NFVFNfQ09ORklHIH0gZnJvbSAnLi9zdWItYXNzZXRzLm1vZGVsJztcbmltcG9ydCB7IFN1YkFzc2V0c1NlcnZpY2UgfSBmcm9tICcuL3N1Yi1hc3NldHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1ncm91cHMtbmFtZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9ncm91cHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEdyb3Vwc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlZnJlc2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBzaG93QWRkR3JvdXAgPSBmYWxzZTtcbiAgZmlsdGVyYWJsZSA9IHRydWU7XG4gIHNvcnRhYmxlID0gdHJ1ZTtcbiAgc2hvdWxkRGlzYWJsZUFkZEdyb3VwID0gZmFsc2U7XG4gIGNvbHVtbnM6IENvbHVtbltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uczogUGVybWlzc2lvbnMsXG4gICAgcHJpdmF0ZSBzdWJBc3NldHNTZXJ2aWNlOiBTdWJBc3NldHNTZXJ2aWNlLFxuICAgIEBJbmplY3QoU1VCX0FTU0VUU19DT05GSUcpIHB1YmxpYyBtb2R1bGVDb25maWc6IFN1YkFzc2V0c0NvbmZpZ1xuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucGVybWlzc2lvbnMuaGFzQW55Um9sZShbXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX1JFQUQsXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfUkVBRFxuICAgICAgXSlcbiAgICApIHtcbiAgICAgIHRoaXMuc29ydGFibGUgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5zaG91bGREaXNhYmxlQWRkR3JvdXAgPSAhdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmNhbkNyZWF0ZUdyb3VwKCk7XG5cbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLnN1YkFzc2V0c1NlcnZpY2VcbiAgICAgIC5nZXREZWZhdWx0Q29sdW1ucygpXG4gICAgICAuZmlsdGVyKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSAhPT0gJ2FsYXJtcycpO1xuICB9XG59XG4iLCI8Yzh5LXRpdGxlPlxuICB7eyBtb2R1bGVDb25maWcubmFtZSB8IHRyYW5zbGF0ZSB9fVxuPC9jOHktdGl0bGU+XG5cbjxjOHktYnJlYWRjcnVtYj5cbiAgPGM4eS1icmVhZGNydW1iLWl0ZW1cbiAgICBpY29uPVwiYzh5LWdyb3VwLW9wZW5cIlxuICAgIGxhYmVsPVwie3sgbW9kdWxlQ29uZmlnLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICA+PC9jOHktYnJlYWRjcnVtYi1pdGVtPlxuPC9jOHktYnJlYWRjcnVtYj5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgKm5nSWY9XCJtb2R1bGVDb25maWcuc2hvd0FkZEdyb3VwQnRuXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAoY2xpY2spPVwic2hvd0FkZEdyb3VwID0gIXNob3dBZGRHcm91cFwiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBZGRHcm91cFwiXG4gICAgW2F0dHIuZGF0YS1jeV09XCInZ3JvdXBzLWFkZC1ncm91cC1idXR0b24nXCJcbiAgPlxuICAgIDxpXG4gICAgICBjbGFzcz1cIm0tci00XCJcbiAgICAgIGM4eUljb249XCJwbHVzLWNpcmNsZVwiXG4gICAgPjwvaT5cbiAgICB7eyAnQWRkIGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwXG4gIHNyYz1cIi91c2Vycy1ndWlkZS9kZXZpY2UtbWFuYWdlbWVudC8jZ3JvdXBpbmctZGV2aWNlc1wiXG4gICpuZ0lmPVwibW9kdWxlQ29uZmlnLnNob3dHcm91cHNDb250ZXh0SGVscFwiXG4+PC9jOHktaGVscD5cblxuPGRpdiBbbmdDbGFzc109XCJ7IGRyYXdlck9wZW46IHNob3dBZGRHcm91cCB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGM4eS1hZGQtZ3JvdXBcbiAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgKG9uQ2FuY2VsKT1cInNob3dBZGRHcm91cCA9IGZhbHNlXCJcbiAgICAgICpuZ0lmPVwic2hvd0FkZEdyb3VwXCJcbiAgICA+PC9jOHktYWRkLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGM4eS1zdWItYXNzZXRzLWdyaWRcbiAgY2xhc3M9XCJjb250ZW50LWZ1bGxwYWdlIGQtZmxleCBkLWNvbCBib3JkZXItdG9wIGJvcmRlci1ib3R0b21cIlxuICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgW2ZpbHRlcmFibGVdPVwiZmlsdGVyYWJsZVwiXG4gIFtzb3J0YWJsZV09XCJzb3J0YWJsZVwiXG4gIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICBbY29sdW1uc0NvbmZpZ0tleV09XCInc3ViLWFzc2V0cy1ncmlkJ1wiXG4gIFtiYXNlUXVlcnldPVwibW9kdWxlQ29uZmlnLmJhc2VRdWVyeVwiXG4+PC9jOHktc3ViLWFzc2V0cy1ncmlkPlxuIl19
|
|
@@ -47,7 +47,12 @@ export class SubAssetsComponent {
|
|
|
47
47
|
this.group = { ...contextData };
|
|
48
48
|
this.title = this.group.name;
|
|
49
49
|
this.currentGroupId = this.group.id;
|
|
50
|
-
this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([
|
|
50
|
+
this.shouldDisableAddGroup = !(await this.permissionsService.canEdit([
|
|
51
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
52
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
53
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
54
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
55
|
+
], this.group));
|
|
51
56
|
this.shouldDisableAssignDevices = !(await this.subAssetsService.canAssignDevice(this.group));
|
|
52
57
|
this.customProperties = await this.subAssetsService.getCustomProperties(this.group);
|
|
53
58
|
this.shouldShowAssetsProperties =
|
|
@@ -78,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
78
83
|
type: Inject,
|
|
79
84
|
args: [SUB_ASSETS_CONFIG]
|
|
80
85
|
}] }]; } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLGtCQUErQixFQUNMLFlBQTZCO1FBSnZELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFDTCxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFwQmpFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFDbkMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBRW5DLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFXdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbEUsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsQ0FBQyxFQUNqRCxJQUFJLENBQUMsS0FBSyxDQUNYLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLDBCQUEwQjtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXFCO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzsrR0F2RVUsa0JBQWtCLDhJQXlCbkIsaUJBQWlCO21HQXpCaEIsa0JBQWtCLHNEQ1ovQix5eUdBc0hBOzJGRDFHYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsZ0JBQWdCOzswQkE0QnZCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQ29udGV4dFJvdXRlU2VydmljZSwgRGlzcGxheU9wdGlvbnMsIFBlcm1pc3Npb25zIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNVQl9BU1NFVFNfQ09ORklHLCBTdWJBc3NldHNDb25maWcgfSBmcm9tICcuL3N1Yi1hc3NldHMubW9kZWwnO1xuaW1wb3J0IHsgU3ViQXNzZXRzU2VydmljZSB9IGZyb20gJy4vc3ViLWFzc2V0cy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXN1Yi1hc3NldHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLWFzc2V0cy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBncm91cDogSU1hbmFnZWRPYmplY3Q7XG4gIGN1cnJlbnRHcm91cElkOiBzdHJpbmc7XG4gIHNob3dDaGlsZHJlbkZvckRldmljZTogSU1hbmFnZWRPYmplY3Q7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRvZ2dsZSA9IGZhbHNlO1xuICBzaG93QWRkR3JvdXAgPSBmYWxzZTtcbiAgc2hvd0Fzc2lnbkRldmljZXMgPSBmYWxzZTtcbiAgcmVxdWVzdEluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIHNob3dBc3NpZ25DaGlsZERldmljZXMgPSBmYWxzZTtcbiAgcmVmcmVzaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGZpbHRlcmFibGUgPSB0cnVlO1xuICBzaG91bGREaXNhYmxlQWRkR3JvdXAgPSBmYWxzZTtcbiAgc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXMgPSBmYWxzZTtcbiAgc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMgPSBmYWxzZTtcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zO1xuICBjdXN0b21Qcm9wZXJ0aWVzOiBJTWFuYWdlZE9iamVjdFtdID0gW107XG5cbiAgcHJpdmF0ZSBkYXRhU3ViOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBzdWJBc3NldHNTZXJ2aWNlOiBTdWJBc3NldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFJvdXRlU2VydmljZTogQ29udGV4dFJvdXRlU2VydmljZSxcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnMsXG4gICAgQEluamVjdChTVUJfQVNTRVRTX0NPTkZJRykgcHVibGljIG1vZHVsZUNvbmZpZzogU3ViQXNzZXRzQ29uZmlnXG4gICkge1xuICAgIHRoaXMuZGF0YVN1YiA9IHRoaXMucm91dGUucGFyZW50LmRhdGEuc3Vic2NyaWJlKCh7IGNvbnRleHREYXRhIH0pID0+IHtcbiAgICAgIHRoaXMuaW5pdChjb250ZXh0RGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmRpc3BsYXlPcHRpb25zID0ge1xuICAgICAgc3RyaXBlZDogdHJ1ZSxcbiAgICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICAgIGdyaWRIZWFkZXI6IHRydWUsXG4gICAgICBmaWx0ZXI6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdChjb250ZXh0RGF0YSkge1xuICAgIHRoaXMuZ3JvdXAgPSB7IC4uLmNvbnRleHREYXRhIH07XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuZ3JvdXAubmFtZTtcbiAgICB0aGlzLmN1cnJlbnRHcm91cElkID0gdGhpcy5ncm91cC5pZDtcbiAgICB0aGlzLnNob3VsZERpc2FibGVBZGRHcm91cCA9ICEoYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChcbiAgICAgIFsnUk9MRV9JTlZFTlRPUllfQURNSU4nLCAnUk9MRV9JTlZFTlRPUllfQ1JFQVRFJ10sXG4gICAgICB0aGlzLmdyb3VwXG4gICAgKSk7XG4gICAgdGhpcy5zaG91bGREaXNhYmxlQXNzaWduRGV2aWNlcyA9ICEoYXdhaXQgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmNhbkFzc2lnbkRldmljZSh0aGlzLmdyb3VwKSk7XG4gICAgdGhpcy5jdXN0b21Qcm9wZXJ0aWVzID0gYXdhaXQgdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmdldEN1c3RvbVByb3BlcnRpZXModGhpcy5ncm91cCk7XG4gICAgdGhpcy5zaG91bGRTaG93QXNzZXRzUHJvcGVydGllcyA9XG4gICAgICB0aGlzLm1vZHVsZUNvbmZpZy5zaG93UHJvcGVydGllcyAmJiB0aGlzLmN1c3RvbVByb3BlcnRpZXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdyb3VwQ2hhbmdlKGdyb3VwOiBJTWFuYWdlZE9iamVjdCk6IHZvaWQge1xuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcbiAgICB0aGlzLnRpdGxlID0gZ3JvdXAubmFtZTtcbiAgICB0aGlzLmNvbnRleHRSb3V0ZVNlcnZpY2Uuc2V0Q29udGV4dCh0aGlzLnJvdXRlLCBncm91cCk7XG4gICAgdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLnJlZnJlc2hDb250ZXh0KCk7XG4gICAgdGhpcy5yZWZyZXNoLmVtaXQoKTtcbiAgfVxuXG4gIGlzU21hcnRHcm91cCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJBc3NldHNTZXJ2aWNlLmlzU21hcnRHcm91cCh0aGlzLmdyb3VwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdWIpIHtcbiAgICAgIHRoaXMuZGF0YVN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGM4eS10aXRsZT5cbiAge3sgdGl0bGUgfX1cbjwvYzh5LXRpdGxlPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidyaWdodCdcIlxuICAqbmdJZj1cIiFpc1NtYXJ0R3JvdXAoKSAmJiBtb2R1bGVDb25maWcuc2hvd0FkZEdyb3VwQnRuXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBZGQgZ3JvdXAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAoY2xpY2spPVwic2hvd0FkZEdyb3VwID0gIXNob3dBZGRHcm91cFwiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBZGRHcm91cFwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICBjOHlJY29uPVwicGx1cy1jaXJjbGVcIlxuICAgID48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFkZCBncm91cDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxjOHktYWN0aW9uLWJhci1pdGVtXG4gIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICpuZ0lmPVwiIWlzU21hcnRHcm91cCgpICYmIG1vZHVsZUNvbmZpZy5zaG93QXNzaWduRGV2aWNlQnRuXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICB0aXRsZT1cInt7ICdBc3NpZ24gZGV2aWNlcycgfCB0cmFuc2xhdGUgfX1cIlxuICAgIChjbGljayk9XCJzaG93QXNzaWduRGV2aWNlcyA9ICFzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgW2Rpc2FibGVkXT1cInNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzXCJcbiAgPlxuICAgIDxpXG4gICAgICBjbGFzcz1cIm0tci00XCJcbiAgICAgIGM4eUljb249XCJwbHVzLWNpcmNsZVwiXG4gICAgPjwvaT5cbiAgICA8c3BhbiB0cmFuc2xhdGU+QXNzaWduIGRldmljZXM8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWhlbHAgc3JjPVwiL3VzZXJzLWd1aWRlL2NvY2twaXQvI21hbmFnaW5nLWFzc2V0c1wiPjwvYzh5LWhlbHA+XG5cbjxkaXZcbiAgY2xhc3M9XCJjYXJkIGNvbnRlbnQtZnVsbHBhZ2VcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2NhcmQtLWdyaWQgZ3JpZF9fY29sLS04LTQtLW1kIGdyaWRfX3Jvdy0tZml0LWF1dG8nOiBzaG91bGRTaG93QXNzZXRzUHJvcGVydGllcyxcbiAgICAnZC1mbGV4IGQtY29sJzogIXNob3VsZFNob3dBc3NldHNQcm9wZXJ0aWVzXG4gIH1cIlxuPlxuICA8Yzh5LWdyb3VwLWluZm9cbiAgICBjbGFzcz1cImdyaWRfX2NvbC0tZnVsbHNwYW5cIlxuICAgICpuZ0lmPVwibW9kdWxlQ29uZmlnLnNob3dEZXRhaWxzXCJcbiAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxuICAgIChncm91cENoYW5nZSk9XCJncm91cENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvYzh5LWdyb3VwLWluZm8+XG4gIDxjOHktc3ViLWFzc2V0cy1ncmlkXG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICBbcGFyZW50LWdyb3VwXT1cImdyb3VwXCJcbiAgICBbZmlsdGVyYWJsZV09XCJmaWx0ZXJhYmxlXCJcbiAgICBbZGlzcGxheU9wdGlvbnNdPVwiZGlzcGxheU9wdGlvbnNcIlxuICAgIFtjb2x1bW5zQ29uZmlnS2V5XT1cIidzdWItYXNzZXRzLWdyaWQnXCJcbiAgICBbYmFzZVF1ZXJ5XT1cIm1vZHVsZUNvbmZpZy5iYXNlUXVlcnlcIlxuICA+PC9jOHktc3ViLWFzc2V0cy1ncmlkPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJpbm5lci1zY3JvbGwgYmctbGV2ZWwtMVwiXG4gICAgKm5nSWY9XCJzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1wiXG4gID5cbiAgICA8Yzh5LWFzc2V0LXByb3BlcnRpZXNcbiAgICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgICBbcHJvcGVydGllc109XCJjdXN0b21Qcm9wZXJ0aWVzXCJcbiAgICAgIFthc3NldF09XCJncm91cFwiXG4gICAgICAoYXNzZXRDaGFuZ2UpPVwiZ3JvdXBDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYzh5LWFzc2V0LXByb3BlcnRpZXM+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QWRkR3JvdXAgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlclwiPlxuICAgIDxjOHktYWRkLWdyb3VwXG4gICAgICBbY3VycmVudEdyb3VwSWRdPVwiY3VycmVudEdyb3VwSWRcIlxuICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAob25DYW5jZWwpPVwic2hvd0FkZEdyb3VwID0gZmFsc2VcIlxuICAgICAgKm5nSWY9XCJzaG93QWRkR3JvdXBcIlxuICAgID48L2M4eS1hZGQtZ3JvdXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QXNzaWduRGV2aWNlcyB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLWNvbCBuby1hbGlnbi1pdGVtcyBmaXQtaFwiPlxuICAgICAgPGM4eS1hc3NpZ24tZGV2aWNlc1xuICAgICAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgICAgICAob25DYW5jZWwpPVwic2hvd0Fzc2lnbkRldmljZXMgPSBmYWxzZVwiXG4gICAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgICBbY3VycmVudEdyb3VwSWRdPVwiY3VycmVudEdyb3VwSWRcIlxuICAgICAgICAob25TaG93Q2hpbGREZXZpY2VzKT1cInNob3dBc3NpZ25DaGlsZERldmljZXMgPSAkZXZlbnRcIlxuICAgICAgICAoc2VsZWN0ZWREZXZpY2UpPVwic2hvd0NoaWxkcmVuRm9yRGV2aWNlID0gJGV2ZW50XCJcbiAgICAgICAgKm5nSWY9XCJzaG93QXNzaWduRGV2aWNlc1wiXG4gICAgICA+PC9jOHktYXNzaWduLWRldmljZXM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgW25nQ2xhc3NdPVwieyBkcmF3ZXJPcGVuOiBzaG93QXNzaWduQ2hpbGREZXZpY2VzIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXIgbS10LTQwXCI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBkLWNvbCBuby1hbGlnbi1pdGVtcyBmaXQtaFwiPlxuICAgICAgPGM4eS1hc3NpZ24tY2hpbGQtZGV2aWNlc1xuICAgICAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgICAgICAqbmdJZj1cInNob3dBc3NpZ25DaGlsZERldmljZXNcIlxuICAgICAgICAob25DYW5jZWwpPVwic2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyA9IGZhbHNlXCJcbiAgICAgICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgICAgIFtjdXJyZW50R3JvdXBJZF09XCJjdXJyZW50R3JvdXBJZFwiXG4gICAgICAgIFtwYXJlbnREZXZpY2VdPVwic2hvd0NoaWxkcmVuRm9yRGV2aWNlXCJcbiAgICAgID48L2M4eS1hc3NpZ24tY2hpbGQtZGV2aWNlcz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zdWItYXNzZXRzL3N1Yi1hc3NldHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFBRSxtQkFBbUIsRUFBa0IsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7QUFNeEQsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxLQUFxQixFQUNyQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLGtCQUErQixFQUNMLFlBQTZCO1FBSnZELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQWE7UUFDTCxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFwQmpFLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUM5QiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFDbkMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBRW5DLHFCQUFnQixHQUFxQixFQUFFLENBQUM7UUFXdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ3BCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsSUFBSTtZQUNoQixNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbEU7WUFDRSxXQUFXLENBQUMsb0JBQW9CO1lBQ2hDLFdBQVcsQ0FBQyxxQkFBcUI7WUFDakMsV0FBVyxDQUFDLHlCQUF5QjtZQUNyQyxXQUFXLENBQUMsMEJBQTBCO1NBQ3ZDLEVBQ0QsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQywwQkFBMEI7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFxQjtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7K0dBNUVVLGtCQUFrQiw4SUF5Qm5CLGlCQUFpQjttR0F6QmhCLGtCQUFrQixzRENaL0IseXlHQXNIQTsyRkQxR2Esa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGdCQUFnQjs7MEJBNEJ2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IENvbnRleHRSb3V0ZVNlcnZpY2UsIERpc3BsYXlPcHRpb25zLCBQZXJtaXNzaW9ucyB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTVUJfQVNTRVRTX0NPTkZJRywgU3ViQXNzZXRzQ29uZmlnIH0gZnJvbSAnLi9zdWItYXNzZXRzLm1vZGVsJztcbmltcG9ydCB7IFN1YkFzc2V0c1NlcnZpY2UgfSBmcm9tICcuL3N1Yi1hc3NldHMuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1zdWItYXNzZXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N1Yi1hc3NldHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN1YkFzc2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZ3JvdXA6IElNYW5hZ2VkT2JqZWN0O1xuICBjdXJyZW50R3JvdXBJZDogc3RyaW5nO1xuICBzaG93Q2hpbGRyZW5Gb3JEZXZpY2U6IElNYW5hZ2VkT2JqZWN0O1xuICB0aXRsZTogc3RyaW5nO1xuICB0b2dnbGUgPSBmYWxzZTtcbiAgc2hvd0FkZEdyb3VwID0gZmFsc2U7XG4gIHNob3dBc3NpZ25EZXZpY2VzID0gZmFsc2U7XG4gIHJlcXVlc3RJblByb2dyZXNzOiBib29sZWFuO1xuICBzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gZmFsc2U7XG4gIHJlZnJlc2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBmaWx0ZXJhYmxlID0gdHJ1ZTtcbiAgc2hvdWxkRGlzYWJsZUFkZEdyb3VwID0gZmFsc2U7XG4gIHNob3VsZERpc2FibGVBc3NpZ25EZXZpY2VzID0gZmFsc2U7XG4gIHNob3VsZFNob3dBc3NldHNQcm9wZXJ0aWVzID0gZmFsc2U7XG4gIGRpc3BsYXlPcHRpb25zOiBEaXNwbGF5T3B0aW9ucztcbiAgY3VzdG9tUHJvcGVydGllczogSU1hbmFnZWRPYmplY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgZGF0YVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgc3ViQXNzZXRzU2VydmljZTogU3ViQXNzZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRSb3V0ZVNlcnZpY2U6IENvbnRleHRSb3V0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZXJtaXNzaW9uc1NlcnZpY2U6IFBlcm1pc3Npb25zLFxuICAgIEBJbmplY3QoU1VCX0FTU0VUU19DT05GSUcpIHB1YmxpYyBtb2R1bGVDb25maWc6IFN1YkFzc2V0c0NvbmZpZ1xuICApIHtcbiAgICB0aGlzLmRhdGFTdWIgPSB0aGlzLnJvdXRlLnBhcmVudC5kYXRhLnN1YnNjcmliZSgoeyBjb250ZXh0RGF0YSB9KSA9PiB7XG4gICAgICB0aGlzLmluaXQoY29udGV4dERhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXNwbGF5T3B0aW9ucyA9IHtcbiAgICAgIHN0cmlwZWQ6IHRydWUsXG4gICAgICBib3JkZXJlZDogZmFsc2UsXG4gICAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgICAgZmlsdGVyOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGluaXQoY29udGV4dERhdGEpIHtcbiAgICB0aGlzLmdyb3VwID0geyAuLi5jb250ZXh0RGF0YSB9O1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmdyb3VwLm5hbWU7XG4gICAgdGhpcy5jdXJyZW50R3JvdXBJZCA9IHRoaXMuZ3JvdXAuaWQ7XG4gICAgdGhpcy5zaG91bGREaXNhYmxlQWRkR3JvdXAgPSAhKGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNhbkVkaXQoXG4gICAgICBbXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0FETUlOLFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9DUkVBVEUsXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4sXG4gICAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQ1JFQVRFXG4gICAgICBdLFxuICAgICAgdGhpcy5ncm91cFxuICAgICkpO1xuICAgIHRoaXMuc2hvdWxkRGlzYWJsZUFzc2lnbkRldmljZXMgPSAhKGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5jYW5Bc3NpZ25EZXZpY2UodGhpcy5ncm91cCkpO1xuICAgIHRoaXMuY3VzdG9tUHJvcGVydGllcyA9IGF3YWl0IHRoaXMuc3ViQXNzZXRzU2VydmljZS5nZXRDdXN0b21Qcm9wZXJ0aWVzKHRoaXMuZ3JvdXApO1xuICAgIHRoaXMuc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMgPVxuICAgICAgdGhpcy5tb2R1bGVDb25maWcuc2hvd1Byb3BlcnRpZXMgJiYgdGhpcy5jdXN0b21Qcm9wZXJ0aWVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBncm91cENoYW5nZShncm91cDogSU1hbmFnZWRPYmplY3QpOiB2b2lkIHtcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgdGhpcy50aXRsZSA9IGdyb3VwLm5hbWU7XG4gICAgdGhpcy5jb250ZXh0Um91dGVTZXJ2aWNlLnNldENvbnRleHQodGhpcy5yb3V0ZSwgZ3JvdXApO1xuICAgIHRoaXMuY29udGV4dFJvdXRlU2VydmljZS5yZWZyZXNoQ29udGV4dCgpO1xuICAgIHRoaXMucmVmcmVzaC5lbWl0KCk7XG4gIH1cblxuICBpc1NtYXJ0R3JvdXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3ViQXNzZXRzU2VydmljZS5pc1NtYXJ0R3JvdXAodGhpcy5ncm91cCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3ViKSB7XG4gICAgICB0aGlzLmRhdGFTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktdGl0bGU+XG4gIHt7IHRpdGxlIH19XG48L2M4eS10aXRsZT5cblxuPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgKm5nSWY9XCIhaXNTbWFydEdyb3VwKCkgJiYgbW9kdWxlQ29uZmlnLnNob3dBZGRHcm91cEJ0blwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgdGl0bGU9XCJ7eyAnQWRkIGdyb3VwJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgKGNsaWNrKT1cInNob3dBZGRHcm91cCA9ICFzaG93QWRkR3JvdXBcIlxuICAgIFtkaXNhYmxlZF09XCJzaG91bGREaXNhYmxlQWRkR3JvdXBcIlxuICA+XG4gICAgPGlcbiAgICAgIGNsYXNzPVwibS1yLTRcIlxuICAgICAgYzh5SWNvbj1cInBsdXMtY2lyY2xlXCJcbiAgICA+PC9pPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5BZGQgZ3JvdXA8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuXG48Yzh5LWFjdGlvbi1iYXItaXRlbVxuICBbcGxhY2VtZW50XT1cIidyaWdodCdcIlxuICAqbmdJZj1cIiFpc1NtYXJ0R3JvdXAoKSAmJiBtb2R1bGVDb25maWcuc2hvd0Fzc2lnbkRldmljZUJ0blwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tbGlua1wiXG4gICAgdGl0bGU9XCJ7eyAnQXNzaWduIGRldmljZXMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAoY2xpY2spPVwic2hvd0Fzc2lnbkRldmljZXMgPSAhc2hvd0Fzc2lnbkRldmljZXNcIlxuICAgIFtkaXNhYmxlZF09XCJzaG91bGREaXNhYmxlQXNzaWduRGV2aWNlc1wiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICBjOHlJY29uPVwicGx1cy1jaXJjbGVcIlxuICAgID48L2k+XG4gICAgPHNwYW4gdHJhbnNsYXRlPkFzc2lnbiBkZXZpY2VzPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPGM4eS1oZWxwIHNyYz1cIi91c2Vycy1ndWlkZS9jb2NrcGl0LyNtYW5hZ2luZy1hc3NldHNcIj48L2M4eS1oZWxwPlxuXG48ZGl2XG4gIGNsYXNzPVwiY2FyZCBjb250ZW50LWZ1bGxwYWdlXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdjYXJkLS1ncmlkIGdyaWRfX2NvbC0tOC00LS1tZCBncmlkX19yb3ctLWZpdC1hdXRvJzogc2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXMsXG4gICAgJ2QtZmxleCBkLWNvbCc6ICFzaG91bGRTaG93QXNzZXRzUHJvcGVydGllc1xuICB9XCJcbj5cbiAgPGM4eS1ncm91cC1pbmZvXG4gICAgY2xhc3M9XCJncmlkX19jb2wtLWZ1bGxzcGFuXCJcbiAgICAqbmdJZj1cIm1vZHVsZUNvbmZpZy5zaG93RGV0YWlsc1wiXG4gICAgW2dyb3VwXT1cImdyb3VwXCJcbiAgICAoZ3JvdXBDaGFuZ2UpPVwiZ3JvdXBDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2M4eS1ncm91cC1pbmZvPlxuICA8Yzh5LXN1Yi1hc3NldHMtZ3JpZFxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gICAgW3BhcmVudC1ncm91cF09XCJncm91cFwiXG4gICAgW2ZpbHRlcmFibGVdPVwiZmlsdGVyYWJsZVwiXG4gICAgW2Rpc3BsYXlPcHRpb25zXT1cImRpc3BsYXlPcHRpb25zXCJcbiAgICBbY29sdW1uc0NvbmZpZ0tleV09XCInc3ViLWFzc2V0cy1ncmlkJ1wiXG4gICAgW2Jhc2VRdWVyeV09XCJtb2R1bGVDb25maWcuYmFzZVF1ZXJ5XCJcbiAgPjwvYzh5LXN1Yi1hc3NldHMtZ3JpZD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaW5uZXItc2Nyb2xsIGJnLWxldmVsLTFcIlxuICAgICpuZ0lmPVwic2hvdWxkU2hvd0Fzc2V0c1Byb3BlcnRpZXNcIlxuICA+XG4gICAgPGM4eS1hc3NldC1wcm9wZXJ0aWVzXG4gICAgICBjbGFzcz1cImQtY29udGVudHNcIlxuICAgICAgW3Byb3BlcnRpZXNdPVwiY3VzdG9tUHJvcGVydGllc1wiXG4gICAgICBbYXNzZXRdPVwiZ3JvdXBcIlxuICAgICAgKGFzc2V0Q2hhbmdlKT1cImdyb3VwQ2hhbmdlKCRldmVudClcIlxuICAgID48L2M4eS1hc3NldC1wcm9wZXJ0aWVzPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IFtuZ0NsYXNzXT1cInsgZHJhd2VyT3Blbjogc2hvd0FkZEdyb3VwIH1cIj5cbiAgPGRpdiBjbGFzcz1cImJvdHRvbS1kcmF3ZXJcIj5cbiAgICA8Yzh5LWFkZC1ncm91cFxuICAgICAgW2N1cnJlbnRHcm91cElkXT1cImN1cnJlbnRHcm91cElkXCJcbiAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgKG9uQ2FuY2VsKT1cInNob3dBZGRHcm91cCA9IGZhbHNlXCJcbiAgICAgICpuZ0lmPVwic2hvd0FkZEdyb3VwXCJcbiAgICA+PC9jOHktYWRkLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IFtuZ0NsYXNzXT1cInsgZHJhd2VyT3Blbjogc2hvd0Fzc2lnbkRldmljZXMgfVwiPlxuICA8ZGl2IGNsYXNzPVwiYm90dG9tLWRyYXdlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZC1jb2wgbm8tYWxpZ24taXRlbXMgZml0LWhcIj5cbiAgICAgIDxjOHktYXNzaWduLWRldmljZXNcbiAgICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICAgICAgKG9uQ2FuY2VsKT1cInNob3dBc3NpZ25EZXZpY2VzID0gZmFsc2VcIlxuICAgICAgICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgICAgICAgW2N1cnJlbnRHcm91cElkXT1cImN1cnJlbnRHcm91cElkXCJcbiAgICAgICAgKG9uU2hvd0NoaWxkRGV2aWNlcyk9XCJzaG93QXNzaWduQ2hpbGREZXZpY2VzID0gJGV2ZW50XCJcbiAgICAgICAgKHNlbGVjdGVkRGV2aWNlKT1cInNob3dDaGlsZHJlbkZvckRldmljZSA9ICRldmVudFwiXG4gICAgICAgICpuZ0lmPVwic2hvd0Fzc2lnbkRldmljZXNcIlxuICAgICAgPjwvYzh5LWFzc2lnbi1kZXZpY2VzPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IFtuZ0NsYXNzXT1cInsgZHJhd2VyT3Blbjogc2hvd0Fzc2lnbkNoaWxkRGV2aWNlcyB9XCI+XG4gIDxkaXYgY2xhc3M9XCJib3R0b20tZHJhd2VyIG0tdC00MFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZC1jb2wgbm8tYWxpZ24taXRlbXMgZml0LWhcIj5cbiAgICAgIDxjOHktYXNzaWduLWNoaWxkLWRldmljZXNcbiAgICAgICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICAgICAgKm5nSWY9XCJzaG93QXNzaWduQ2hpbGREZXZpY2VzXCJcbiAgICAgICAgKG9uQ2FuY2VsKT1cInNob3dBc3NpZ25DaGlsZERldmljZXMgPSBmYWxzZVwiXG4gICAgICAgIFtyZWZyZXNoXT1cInJlZnJlc2hcIlxuICAgICAgICBbY3VycmVudEdyb3VwSWRdPVwiY3VycmVudEdyb3VwSWRcIlxuICAgICAgICBbcGFyZW50RGV2aWNlXT1cInNob3dDaGlsZHJlbkZvckRldmljZVwiXG4gICAgICA+PC9jOHktYXNzaWduLWNoaWxkLWRldmljZXM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -156,25 +156,34 @@ export class SubAssetsService extends DataGridService {
|
|
|
156
156
|
return this.getAssetsStatistics(parentReference, filters);
|
|
157
157
|
}
|
|
158
158
|
async canEditGroup(group) {
|
|
159
|
-
return await this.permissionsService.canEdit([
|
|
159
|
+
return await this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
|
|
160
160
|
}
|
|
161
161
|
canCreateGroup() {
|
|
162
162
|
const currentUser = this.appState.currentUser.value;
|
|
163
163
|
const hasAdminRole = this.user.hasAnyRole(currentUser, [
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
165
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
166
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
167
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE
|
|
166
168
|
]);
|
|
167
169
|
return hasAdminRole;
|
|
168
170
|
}
|
|
169
171
|
async canAssignDevice(group) {
|
|
170
|
-
return await this.permissionsService.canEdit([
|
|
172
|
+
return await this.permissionsService.canEdit([Permissions.ROLE_INVENTORY_ADMIN, Permissions.ROLE_MANAGED_OBJECT_ADMIN], group);
|
|
171
173
|
}
|
|
172
174
|
canEditSmartGroup() {
|
|
173
|
-
const SMART_GROUPS_ROLES_EDIT = [
|
|
175
|
+
const SMART_GROUPS_ROLES_EDIT = [
|
|
176
|
+
Permissions.ROLE_SMARTGROUP_UPDATE,
|
|
177
|
+
Permissions.ROLE_SMARTGROUP_ADMIN
|
|
178
|
+
];
|
|
174
179
|
return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_EDIT);
|
|
175
180
|
}
|
|
176
181
|
canDeleteSmartGroup() {
|
|
177
|
-
const SMART_GROUPS_ROLES_DELETE = [
|
|
182
|
+
const SMART_GROUPS_ROLES_DELETE = [
|
|
183
|
+
Permissions.ROLE_SMARTGROUP_ADMIN,
|
|
184
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
185
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN
|
|
186
|
+
];
|
|
178
187
|
return this.permissionsService.hasAnyRole(SMART_GROUPS_ROLES_DELETE);
|
|
179
188
|
}
|
|
180
189
|
isSmartGroup(group) {
|
|
@@ -183,9 +192,12 @@ export class SubAssetsService extends DataGridService {
|
|
|
183
192
|
isUsingInventoryRoles() {
|
|
184
193
|
const currentUser = this.appState.currentUser.value;
|
|
185
194
|
const hasAnyInventoryRole = this.user.hasAnyRole(currentUser, [
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
195
|
+
Permissions.ROLE_INVENTORY_ADMIN,
|
|
196
|
+
Permissions.ROLE_INVENTORY_READ,
|
|
197
|
+
Permissions.ROLE_INVENTORY_CREATE,
|
|
198
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN,
|
|
199
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE,
|
|
200
|
+
Permissions.ROLE_MANAGED_OBJECT_READ
|
|
189
201
|
]);
|
|
190
202
|
return !hasAnyInventoryRole;
|
|
191
203
|
}
|
|
@@ -295,4 +307,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
295
307
|
type: Inject,
|
|
296
308
|
args: [SUB_ASSETS_CONFIG]
|
|
297
309
|
}] }]; } });
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUVMLGdCQUFnQixFQUdoQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBRUwsWUFBWSxFQUNaLGVBQWUsRUFDZixpQkFBaUIsRUFHakIsZUFBZSxFQUNmLE9BQU8sRUFFUCxXQUFXLEVBQ1gsc0JBQXNCLEVBQ3ZCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBS3hFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBTW5ELFlBQ1ksZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxRQUF5QixFQUN6QixJQUFpQixFQUNqQixnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ3RDLGlCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixrQkFBK0IsRUFDL0IsVUFBNkIsRUFDN0Isc0JBQThDLEVBQ3RCLFlBQTZCO1FBRS9ELEtBQUssQ0FBQyxzQkFBc0Is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LElBQUksRUFBRSxDQUFDO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDekMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQjtZQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7WUFDbkMsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQztJQUNKLENBQUM7OzZHQXRWVSxnQkFBZ0IsNldBa0JqQixpQkFBaUI7aUhBbEJoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW1CSSxNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1hbmFnZWRPYmplY3QsXG4gIEludmVudG9yeVNlcnZpY2UsXG4gIElSdWxlLFxuICBRdWVyaWVzVXRpbCxcbiAgU21hcnRHcm91cHNTZXJ2aWNlLFxuICBTbWFydFJ1bGVzU2VydmljZSxcbiAgVXNlclNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29udHJvbCxcbiAgQWxlcnRTZXJ2aWNlLFxuICBBcHBTdGF0ZVNlcnZpY2UsXG4gIEFzc2V0VHlwZXNTZXJ2aWNlLFxuICBCdWxrQWN0aW9uQ29udHJvbCxcbiAgQ29sdW1uLFxuICBEYXRhR3JpZFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIFBhZ2luYXRpb24sXG4gIFBlcm1pc3Npb25zLFxuICBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXNzZXROb2RlU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYXNzZXRzLW5hdmlnYXRvcic7XG5pbXBvcnQge1xuICBBbGFybXNEZXZpY2VHcmlkQ29sdW1uLFxuICBJbWVpRGV2aWNlR3JpZENvbHVtbixcbiAgTW9kZWxEZXZpY2VHcmlkQ29sdW1uLFxuICBOYW1lRGV2aWNlR3JpZENvbHVtbixcbiAgUmVnaXN0cmF0aW9uRGF0ZURldmljZUdyaWRDb2x1bW4sXG4gIFNlcmlhbE51bWJlckRldmljZUdyaWRDb2x1bW4sXG4gIFN5c3RlbUlkRGV2aWNlR3JpZENvbHVtblxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2RldmljZS1ncmlkJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFzc2V0VHlwZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvYXNzZXQtdHlwZS1ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBTdWJBc3NldHNDb25maWcsIFNVQl9BU1NFVFNfQ09ORklHIH0gZnJvbSAnLi9zdWItYXNzZXRzLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ViQXNzZXRzU2VydmljZSBleHRlbmRzIERhdGFHcmlkU2VydmljZSB7XG4gIHF1ZXJpZXNVdGlsOiBRdWVyaWVzVXRpbDtcbiAgcHJvdGVjdGVkIEdSSURfQ09ORklHX0RFRkFVTFRfU1RPUkFHRV9LRVkgPSAnc3ViLWFzc2V0cy1ncmlkLWNvbmZpZyc7XG4gIHByaXZhdGUgSVNfREVWSUNFX0dST1VQX0ZSQUdNRU5UID0gJ2M4eV9Jc0RldmljZUdyb3VwJztcbiAgcHJpdmF0ZSBJU19EWU5BTUlDX0dST1VQX0ZSQUdNRU5UID0gJ2M4eV9Jc0R5bmFtaWNHcm91cCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXI6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhc3NldE5vZGVTZXJ2aWNlOiBBc3NldE5vZGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzbWFydEdyb3Vwc1NlcnZpY2U6IFNtYXJ0R3JvdXBzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc21hcnRSdWxlc1NlcnZpY2U6IFNtYXJ0UnVsZXNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9ucyxcbiAgICBwcm90ZWN0ZWQgYXNzZXRUeXBlczogQXNzZXRUeXBlc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgQEluamVjdChTVUJfQVNTRVRTX0NPTkZJRykgcHVibGljIG1vZHVsZUNvbmZpZzogU3ViQXNzZXRzQ29uZmlnXG4gICkge1xuICAgIHN1cGVyKHVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3VzdG9tUHJvcGVydGllcyhncm91cDogSU1hbmFnZWRPYmplY3QpOiBQcm9taXNlPElNYW5hZ2VkT2JqZWN0W10+IHtcbiAgICBjb25zdCBhc3NldFR5cGUgPSB0aGlzLmFzc2V0VHlwZXMuZ2V0QXNzZXRUeXBlQnlOYW1lKGdyb3VwLnR5cGUpO1xuICAgIGlmIChhc3NldFR5cGUpIHtcbiAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmNoaWxkQWRkaXRpb25zTGlzdChhc3NldFR5cGUsIHtcbiAgICAgICAgcGFnZVNpemU6IDIwMDAsXG4gICAgICAgIHF1ZXJ5OiBcIiRmaWx0ZXI9KGhhcygnYzh5X0lzQXNzZXRQcm9wZXJ0eScpKVwiXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXREZWZhdWx0Q29sdW1ucyhfZmlsdGVyYWJsZSA9IHRydWUsIF9zb3J0YWJsZSA9IHRydWUpOiBDb2x1bW5bXSB7XG4gICAgY29uc3QgZGVmYXVsdENvbHVtbnMgPSBbXG4gICAgICBuZXcgQXNzZXRUeXBlR3JpZENvbHVtbih7IHNvcnRPcmRlcjogJ2Rlc2MnIH0pLFxuICAgICAgbmV3IE5hbWVEZXZpY2VHcmlkQ29sdW1uKHsgc29ydE9yZGVyOiAnYXNjJyB9KSxcbiAgICAgIG5ldyBNb2RlbERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBTZXJpYWxOdW1iZXJEZXZpY2VHcmlkQ29sdW1uKHsgdmlzaWJsZTogZmFsc2UgfSksXG4gICAgICBuZXcgUmVnaXN0cmF0aW9uRGF0ZURldmljZUdyaWRDb2x1bW4oeyB2aXNpYmxlOiBmYWxzZSB9KSxcbiAgICAgIG5ldyBTeXN0ZW1JZERldmljZUdyaWRDb2x1bW4oeyB2aXNpYmxlOiBmYWxzZSB9KSxcbiAgICAgIG5ldyBJbWVpRGV2aWNlR3JpZENvbHVtbih7IHZpc2libGU6IGZhbHNlIH0pLFxuICAgICAgbmV3IEFsYXJtc0RldmljZUdyaWRDb2x1bW4oKVxuICAgIF07XG4gICAgcmV0dXJuIGRlZmF1bHRDb2x1bW5zO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTogUGFnaW5hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VTaXplOiAyNSxcbiAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgfTtcbiAgfVxuXG4gIGdldERlZmF1bHRBY3Rpb25Db250cm9scygpOiBBY3Rpb25Db250cm9sW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFzeW5jIHVuYXNzaWduQXNzZXQoYXNzZXQ6IElNYW5hZ2VkT2JqZWN0LCBwYXJlbnRSZWY6IElNYW5hZ2VkT2JqZWN0KSB7XG4gICAgY29uc3QgeyBpZDogYXNzZXRJZCB9ID0gYXNzZXQ7XG4gICAgY29uc3QgeyBpZDogcGFyZW50SWQgfSA9IHBhcmVudFJlZjtcblxuICAgIGlmICh0aGlzLmlzRGV2aWNlKGFzc2V0KSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmNoaWxkQXNzZXRzUmVtb3ZlKGFzc2V0SWQsIHBhcmVudElkKTtcbiAgICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnRGV2aWNlIHVuYXNzaWduZWQuJykpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGFsZXJ0TWVzc2FnZSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBhbGVydE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdDb3VsZCBub3QgdW5hc3NpZ24gZGV2aWNlLicpKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZGFuZ2VyKGFsZXJ0TWVzc2FnZSwgZXJyb3IpO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5kZWFjdGl2YXRlU21hcnRydWxlc0ZvckFzc2V0KGFzc2V0LCBwYXJlbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIGlzRGV2aWNlKGFzc2V0OiBJTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhYXNzZXQuaGFzT3duUHJvcGVydHkodGhpcy5JU19ERVZJQ0VfR1JPVVBfRlJBR01FTlQpICYmXG4gICAgICAhYXNzZXQuaGFzT3duUHJvcGVydHkodGhpcy5JU19EWU5BTUlDX0dST1VQX0ZSQUdNRU5UKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBkZWxldGVBc3NldChhc3NldDogSU1hbmFnZWRPYmplY3QsIHBhcmVudFJlZjogSU1hbmFnZWRPYmplY3QsIHBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgaXNHcm91cCA9XG4gICAgICBhc3NldC5oYXNPd25Qcm9wZXJ0eSh0aGlzLklTX0RFVklDRV9HUk9VUF9GUkFHTUVOVCkgfHxcbiAgICAgIHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChhc3NldCk7XG5cbiAgICBpZiAoaXNHcm91cCkge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVHcm91cChhc3NldCwgcGFyYW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVEZXZpY2UoYXNzZXQsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcGFyZW50UmVmICYmXG4gICAgICAhdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwKGFzc2V0KSAmJlxuICAgICAgIXRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cFYyKGFzc2V0KVxuICAgICkge1xuICAgICAgYXdhaXQgdGhpcy5kZWFjdGl2YXRlU21hcnRydWxlc0ZvckFzc2V0KGFzc2V0LCBwYXJlbnRSZWYpO1xuICAgIH1cbiAgfVxuXG4gIHNob3VsZFNob3dXaXRoRGV2aWNlVXNlckNoZWNrYm94KGFzc2V0OiBJTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgb3duZXIsIGM4eV9Jc0RldmljZTogaXNSb290RGV2aWNlIH0gPSBhc3NldDtcbiAgICBjb25zdCBoYXNEZXZpY2VVc2VyQXNPd25lciA9IGFzc2V0Lm93bmVyICYmIHRoaXMuaXNEZXZpY2VVc2VyKG93bmVyKTtcblxuICAgIHJldHVybiBCb29sZWFuKGlzUm9vdERldmljZSAmJiBoYXNEZXZpY2VVc2VyQXNPd25lcik7XG4gIH1cblxuICBnZXREZWZhdWx0QnVsa0FjdGlvbkNvbnRyb2xzKCk6IEJ1bGtBY3Rpb25Db250cm9sW10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGFzeW5jIGdldERhdGEoXG4gICAgY29sdW1uczogQ29sdW1uW10sXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbixcbiAgICBwYXJlbnRSZWZlcmVuY2U6IElNYW5hZ2VkT2JqZWN0LFxuICAgIGJhc2VRdWVyeTogYW55ID0ge30sXG4gICAgdGV4dDogc3RyaW5nID0gbnVsbFxuICApIHtcbiAgICBjb25zdCBpc1Jvb3QgPSAhcGFyZW50UmVmZXJlbmNlO1xuICAgIGlmIChpc1Jvb3QpIHtcbiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5idWlsZENvbWJpbmVkUm9vdFF1ZXJ5RmlsdGVyKGNvbHVtbnMsIHBhZ2luYXRpb24sIGJhc2VRdWVyeSk7XG4gICAgICByZXR1cm4gdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmdldFJvb3ROb2Rlcyh7IC4uLnBhZ2luYXRpb24sIC4uLih0ZXh0ICYmIHsgdGV4dCB9KSwgcXVlcnkgfSk7XG4gICAgfVxuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmdldEFzc2V0c0ZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgYmFzZVF1ZXJ5LCB0ZXh0KSxcbiAgICAgIHdpdGhQYXJlbnRzOiBmYWxzZVxuICAgIH07XG4gICAgaWYgKHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0dyb3VwKHBhcmVudFJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0R3JvdXBJdGVtcyhwYXJlbnRSZWZlcmVuY2UuaWQsIGZpbHRlcnMpO1xuICAgIH1cbiAgICBpZiAodGhpcy5hc3NldE5vZGVTZXJ2aWNlLmlzRHluYW1pY0dyb3VwKHBhcmVudFJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0RHluYW1pY0dyb3VwSXRlbXMoXG4gICAgICAgIHBhcmVudFJlZmVyZW5jZS5jOHlfRGV2aWNlUXVlcnlTdHJpbmcsXG4gICAgICAgIGZpbHRlcnNcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICh0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuaXNEZXZpY2UocGFyZW50UmVmZXJlbmNlKSkge1xuICAgICAgcmV0dXJuIHRoaXMuYXNzZXROb2RlU2VydmljZS5nZXREZXZpY2VDaGlsZHJlbihwYXJlbnRSZWZlcmVuY2UuaWQsIGZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGdldENvdW50KFxuICAgIGNvbHVtbnM6IENvbHVtbltdLFxuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb24sXG4gICAgcGFyZW50UmVmZXJlbmNlOiBJTWFuYWdlZE9iamVjdCxcbiAgICBiYXNlUXVlcnk6IGFueSA9IHt9LFxuICAgIHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBkZWZhdWx0RmlsdGVycyA9IHtcbiAgICAgIHBhZ2VTaXplOiAxLFxuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZVxuICAgIH07XG4gICAgY29uc3QgZmlsdGVycyA9ICFwYXJlbnRSZWZlcmVuY2VcbiAgICAgID8ge1xuICAgICAgICAgIHF1ZXJ5OiB0aGlzLmJ1aWxkQ29tYmluZWRSb290UXVlcnlGaWx0ZXIoY29sdW1ucywgcGFnaW5hdGlvbiwgYmFzZVF1ZXJ5KSxcbiAgICAgICAgICAuLi5kZWZhdWx0RmlsdGVyc1xuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICAuLi50aGlzLmdldEFzc2V0c0ZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgYmFzZVF1ZXJ5LCB0ZXh0KSxcbiAgICAgICAgICAuLi5kZWZhdWx0RmlsdGVyc1xuICAgICAgICB9O1xuICAgIHJldHVybiB0aGlzLmdldEFzc2V0c1N0YXRpc3RpY3MocGFyZW50UmVmZXJlbmNlLCBmaWx0ZXJzKTtcbiAgfVxuXG4gIGdldFRvdGFsKHBhcmVudFJlZmVyZW5jZTogSU1hbmFnZWRPYmplY3QsIGJhc2VRdWVyeTogYW55ID0ge30pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IHF1ZXJ5RmlsdGVyID0gdGhpcy5hc3NldE5vZGVTZXJ2aWNlLnJvb3RRdWVyeUZpbHRlcigpO1xuICAgIGNvbnN0IHF1ZXJ5ID0gIXBhcmVudFJlZmVyZW5jZVxuICAgICAgPyB0aGlzLnF1ZXJpZXNVdGlsLmFkZEFuZEZpbHRlcihxdWVyeUZpbHRlciwgYmFzZVF1ZXJ5KVxuICAgICAgOiBiYXNlUXVlcnk7XG4gICAgY29uc3QgZmlsdGVycyA9IHtcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkocXVlcnkpLFxuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlLFxuICAgICAgcGFnZVNpemU6IDFcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmdldEFzc2V0c1N0YXRpc3RpY3MocGFyZW50UmVmZXJlbmNlLCBmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jIGNhbkVkaXRHcm91cChncm91cDogSU1hbmFnZWRPYmplY3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChbJ1JPTEVfSU5WRU5UT1JZX0FETUlOJ10sIGdyb3VwKTtcbiAgfVxuXG4gIGNhbkNyZWF0ZUdyb3VwKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBjb25zdCBoYXNBZG1pblJvbGUgPSB0aGlzLnVzZXIuaGFzQW55Um9sZShjdXJyZW50VXNlciwgW1xuICAgICAgJ1JPTEVfSU5WRU5UT1JZX0FETUlOJyxcbiAgICAgICdST0xFX0lOVkVOVE9SWV9DUkVBVEUnXG4gICAgXSk7XG4gICAgcmV0dXJuIGhhc0FkbWluUm9sZTtcbiAgfVxuXG4gIGFzeW5jIGNhbkFzc2lnbkRldmljZShncm91cDogSU1hbmFnZWRPYmplY3QpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuY2FuRWRpdChbJ1JPTEVfSU5WRU5UT1JZX0FETUlOJ10sIGdyb3VwKTtcbiAgfVxuXG4gIGNhbkVkaXRTbWFydEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFNNQVJUX0dST1VQU19ST0xFU19FRElUID0gWydST0xFX1NNQVJUR1JPVVBfVVBEQVRFJywgJ1JPTEVfU01BUlRHUk9VUF9BRE1JTiddO1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNBbnlSb2xlKFNNQVJUX0dST1VQU19ST0xFU19FRElUKTtcbiAgfVxuXG4gIGNhbkRlbGV0ZVNtYXJ0R3JvdXAoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgU01BUlRfR1JPVVBTX1JPTEVTX0RFTEVURSA9IFsnUk9MRV9TTUFSVEdST1VQX0FETUlOJywgJ1JPTEVfSU5WRU5UT1JZX0FETUlOJ107XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmhhc0FueVJvbGUoU01BUlRfR1JPVVBTX1JPTEVTX0RFTEVURSk7XG4gIH1cblxuICBpc1NtYXJ0R3JvdXAoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChncm91cCkgfHwgdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwVjIoZ3JvdXApXG4gICAgKTtcbiAgfVxuXG4gIGlzVXNpbmdJbnZlbnRvcnlSb2xlcygpIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgY29uc3QgaGFzQW55SW52ZW50b3J5Um9sZSA9IHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCBbXG4gICAgICAnUk9MRV9JTlZFTlRPUllfQURNSU4nLFxuICAgICAgJ1JPTEVfSU5WRU5UT1JZX1JFQUQnLFxuICAgICAgJ1JPTEVfSU5WRU5UT1JZX0NSRUFURSdcbiAgICBdKTtcbiAgICByZXR1cm4gIWhhc0FueUludmVudG9yeVJvbGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0QXNzZXRzU3RhdGlzdGljcyhcbiAgICBwYXJlbnRSZWZlcmVuY2U6IElNYW5hZ2VkT2JqZWN0LFxuICAgIGZpbHRlcnM6IG9iamVjdFxuICApOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGlzUm9vdCA9ICFwYXJlbnRSZWZlcmVuY2U7XG4gICAgaWYgKGlzUm9vdCkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0Um9vdE5vZGVzKGZpbHRlcnMpKS5wYWdpbmcudG90YWxQYWdlcztcbiAgICB9XG4gICAgaWYgKHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0dyb3VwKHBhcmVudFJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmdldEdyb3VwSXRlbXMocGFyZW50UmVmZXJlbmNlLmlkLCBmaWx0ZXJzKSkucGFnaW5nXG4gICAgICAgIC50b3RhbFBhZ2VzO1xuICAgIH1cbiAgICBpZiAodGhpcy5hc3NldE5vZGVTZXJ2aWNlLmlzRHluYW1pY0dyb3VwKHBhcmVudFJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGF3YWl0IHRoaXMuYXNzZXROb2RlU2VydmljZS5nZXREeW5hbWljR3JvdXBJdGVtcyhcbiAgICAgICAgICBwYXJlbnRSZWZlcmVuY2UuYzh5X0RldmljZVF1ZXJ5U3RyaW5nLFxuICAgICAgICAgIGZpbHRlcnNcbiAgICAgICAgKVxuICAgICAgKS5wYWdpbmcudG90YWxQYWdlcztcbiAgICB9XG4gICAgaWYgKHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0RldmljZShwYXJlbnRSZWZlcmVuY2UpKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXNzZXROb2RlU2VydmljZS5nZXREZXZpY2VDaGlsZHJlbihwYXJlbnRSZWZlcmVuY2UuaWQsIGZpbHRlcnMpKS5wYWdpbmdcbiAgICAgICAgLnRvdGFsUGFnZXM7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkQ29tYmluZWRSb290UXVlcnlGaWx0ZXIoY29sdW1ucywgcGFnaW5hdGlvbiwgYmFzZVF1ZXJ5ID0ge30pIHtcbiAgICBjb25zdCB1c2VyUXVlcnkgPSB0aGlzLmdldFF1ZXJ5T2JqKGNvbHVtbnMsIHBhZ2luYXRpb24pO1xuICAgIGNvbnN0IHJvb3RRdWVyeSA9IHRoaXMuYXNzZXROb2RlU2VydmljZS5yb290UXVlcnlGaWx0ZXIoKTtcbiAgICBjb25zdCBvcmRlcmVkUm9vdFF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5hZGRPcmRlcmJ5cyhyb290UXVlcnksIHVzZXJRdWVyeS5fX29yZGVyYnksICdhcHBlbmQnKTtcbiAgICBjb25zdCByb290QW5kVXNlclF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5hZGRBbmRGaWx0ZXIob3JkZXJlZFJvb3RRdWVyeSwgdXNlclF1ZXJ5Ll9fZmlsdGVyKTtcbiAgICBjb25zdCBmdWxsUXVlcnkgPSB0aGlzLnF1ZXJpZXNVdGlsLmFkZEFuZEZpbHRlcihyb290QW5kVXNlclF1ZXJ5LCBiYXNlUXVlcnkpO1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkoZnVsbFF1ZXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVsZXRlR3JvdXAoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0LCBwYXJhbXM6IGFueSA9IHt9KSB7XG4gICAgY29uc3QgeyBjYXNjYWRlIH0gPSBwYXJhbXM7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwKGdyb3VwKSB8fCB0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXBWMihncm91cClcbiAgICAgICAgPyBhd2FpdCB0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5kZWxldGUoZ3JvdXAsIHsgY2FzY2FkZSB9KVxuICAgICAgICA6IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGUoZ3JvdXAsIHsgY2FzY2FkZSB9KTtcblxuICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnXCJ7eyBuYW1lIH19XCIgZGVsZXRlZC4nKSwge1xuICAgICAgICBuYW1lOiBncm91cC5uYW1lXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoYWxlcnRNZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgIGdldHRleHQoJ0NvdWxkIG5vdCBkZWxldGUgXCJ7eyBuYW1lIH19XCIuJyksXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBncm91cC5uYW1lXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoYWxlcnRNZXNzYWdlLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZWxldGVEZXZpY2UoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCwgcGFyYW1zOiBhbnkgPSB7fSkge1xuICAgIGNvbnN0IHsgY2FzY2FkZSwgd2l0aERldmljZVVzZXIgfSA9IHBhcmFtcztcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBvd25lciB9ID0gZGV2aWNlO1xuICAgICAgY29uc3Qgc2hvdWxkUmVtb3ZlT3duZXIgPSB3aXRoRGV2aWNlVXNlciAmJiBvd25lciAmJiB0aGlzLmlzRGV2aWNlVXNlcihvd25lcik7XG5cbiAgICAgIHNob3VsZFJlbW92ZU93bmVyXG4gICAgICAgID8gYXdhaXQgdGhpcy5kZWxldGVEZXZpY2VXaXRoVXNlcihkZXZpY2UsIGNhc2NhZGUpXG4gICAgICAgIDogYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRlbGV0ZShkZXZpY2UsIHsgY2FzY2FkZSB9KTtcblxuICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnRGV2aWNlIGRlbGV0ZWQuJykpO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhhbGVydE1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBhbGVydE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChnZXR0ZXh0KCdDb3VsZCBub3QgZGVsZXRlIGRldmljZS4nKSk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoYWxlcnRNZXNzYWdlLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkZWFjdGl2YXRlU21hcnRydWxlc0ZvckFzc2V0KGFzc2V0OiBJTWFuYWdlZE9iamVjdCwgcGFyZW50UmVmOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGNvbnN0IHsgaWQ6IGFzc2V0SWQgfSA9IGFzc2V0O1xuICAgIGNvbnN0IHsgaWQ6IHBhcmVudElkIH0gPSBwYXJlbnRSZWY7XG4gICAgY29uc3QgcnVsZXM6IElSdWxlW10gPSAoYXdhaXQgdGhpcy5zbWFydFJ1bGVzU2VydmljZS5saXN0QnlDb250ZXh0KHBhcmVudElkKSkuZGF0YTtcblxuICAgIGNvbnN0IHVwYXRlU21hcnRydWxlc1Byb21pc2VzID0gcnVsZXMubWFwKHJ1bGUgPT5cbiAgICAgIHRoaXMuc21hcnRSdWxlc1NlcnZpY2UuYnVsa0RlYWN0aXZhdGVFbmFibGVkU291cmNlcyhydWxlLCBbYXNzZXRJZF0pXG4gICAgKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBQcm9taXNlLmFsbCh1cGF0ZVNtYXJ0cnVsZXNQcm9taXNlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBnZXR0ZXh0KCdDb3VsZCBub3QgZGVhY3RpdmF0ZSBzbWFydCBydWxlcy4nKVxuICAgICAgKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmRhbmdlcihhbGVydE1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNEZXZpY2VVc2VyKHVzZXJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHVzZXJJZC5tYXRjaCgvXmRldmljZV8vKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVsZXRlRGV2aWNlV2l0aFVzZXIoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCwgY2FzY2FkZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgY2FzY2FkZSwgd2l0aERldmljZVVzZXI6IHRydWUgfTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGUoZGV2aWNlLCBwYXJhbXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRlbGV0ZShkZXZpY2UsIHsgY2FzY2FkZSB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEFzc2V0c0ZpbHRlcnMoY29sdW1uczogQ29sdW1uW10sIHBhZ2luYXRpb246IFBhZ2luYXRpb24sIGJhc2VRdWVyeSwgdGV4dD86IHN0cmluZykge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5hZGRBbmRGaWx0ZXIodGhpcy5nZXRRdWVyeU9iaihjb2x1bW5zKSwgYmFzZVF1ZXJ5KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uKHRleHQgJiYgeyB0ZXh0IH0pLFxuICAgICAgcXVlcnk6IHRoaXMucXVlcmllc1V0aWwuYnVpbGRRdWVyeShxdWVyeSksXG4gICAgICBwYWdlU2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZSB8fCB0aGlzLkRFRkFVTFRfUEFHRV9TSVpFLFxuICAgICAgY3VycmVudFBhZ2U6IHBhZ2luYXRpb24uY3VycmVudFBhZ2UsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
310
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWFzc2V0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3ViLWFzc2V0cy9zdWItYXNzZXRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUVMLGdCQUFnQixFQUdoQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBRUwsWUFBWSxFQUNaLGVBQWUsRUFDZixpQkFBaUIsRUFHakIsZUFBZSxFQUNmLE9BQU8sRUFFUCxXQUFXLEVBQ1gsc0JBQXNCLEVBQ3ZCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixnQ0FBZ0MsRUFDaEMsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN6QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7O0FBS3hFLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBTW5ELFlBQ1ksZ0JBQWtDLEVBQ2xDLGdCQUFrQyxFQUNsQyxRQUF5QixFQUN6QixJQUFpQixFQUNqQixnQkFBa0MsRUFDbEMsa0JBQXNDLEVBQ3RDLGlCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixrQkFBK0IsRUFDL0IsVUFBNkIsRUFDN0Isc0JBQThDLEVBQ3RCLFlBQTZCO1FBRS9ELEtBQUssQ0FBQyxzQkFBc0Is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RUFBRTtZQUNkLE9BQU8sTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBaUIsRUFBRSxVQUFzQixFQUFFLFNBQVMsRUFBRSxJQUFhO1FBQzFGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEYsT0FBTztZQUNMLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3pDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxpQkFBaUI7WUFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO1lBQ25DLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7SUFDSixDQUFDOzs2R0F4V1UsZ0JBQWdCLDZXQWtCakIsaUJBQWlCO2lIQWxCaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFtQkksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElNYW5hZ2VkT2JqZWN0LFxuICBJbnZlbnRvcnlTZXJ2aWNlLFxuICBJUnVsZSxcbiAgUXVlcmllc1V0aWwsXG4gIFNtYXJ0R3JvdXBzU2VydmljZSxcbiAgU21hcnRSdWxlc1NlcnZpY2UsXG4gIFVzZXJTZXJ2aWNlXG59IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBBc3NldFR5cGVzU2VydmljZSxcbiAgQnVsa0FjdGlvbkNvbnRyb2wsXG4gIENvbHVtbixcbiAgRGF0YUdyaWRTZXJ2aWNlLFxuICBnZXR0ZXh0LFxuICBQYWdpbmF0aW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgVXNlclByZWZlcmVuY2VzU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEFzc2V0Tm9kZVNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Fzc2V0cy1uYXZpZ2F0b3InO1xuaW1wb3J0IHtcbiAgQWxhcm1zRGV2aWNlR3JpZENvbHVtbixcbiAgSW1laURldmljZUdyaWRDb2x1bW4sXG4gIE1vZGVsRGV2aWNlR3JpZENvbHVtbixcbiAgTmFtZURldmljZUdyaWRDb2x1bW4sXG4gIFJlZ2lzdHJhdGlvbkRhdGVEZXZpY2VHcmlkQ29sdW1uLFxuICBTZXJpYWxOdW1iZXJEZXZpY2VHcmlkQ29sdW1uLFxuICBTeXN0ZW1JZERldmljZUdyaWRDb2x1bW5cbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9kZXZpY2UtZ3JpZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBc3NldFR5cGVHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL2Fzc2V0LXR5cGUtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgU3ViQXNzZXRzQ29uZmlnLCBTVUJfQVNTRVRTX0NPTkZJRyB9IGZyb20gJy4vc3ViLWFzc2V0cy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN1YkFzc2V0c1NlcnZpY2UgZXh0ZW5kcyBEYXRhR3JpZFNlcnZpY2Uge1xuICBxdWVyaWVzVXRpbDogUXVlcmllc1V0aWw7XG4gIHByb3RlY3RlZCBHUklEX0NPTkZJR19ERUZBVUxUX1NUT1JBR0VfS0VZID0gJ3N1Yi1hc3NldHMtZ3JpZC1jb25maWcnO1xuICBwcml2YXRlIElTX0RFVklDRV9HUk9VUF9GUkFHTUVOVCA9ICdjOHlfSXNEZXZpY2VHcm91cCc7XG4gIHByaXZhdGUgSVNfRFlOQU1JQ19HUk9VUF9GUkFHTUVOVCA9ICdjOHlfSXNEeW5hbWljR3JvdXAnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyOiBVc2VyU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYXNzZXROb2RlU2VydmljZTogQXNzZXROb2RlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc21hcnRHcm91cHNTZXJ2aWNlOiBTbWFydEdyb3Vwc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHNtYXJ0UnVsZXNTZXJ2aWNlOiBTbWFydFJ1bGVzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnMsXG4gICAgcHJvdGVjdGVkIGFzc2V0VHlwZXM6IEFzc2V0VHlwZXNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgIEBJbmplY3QoU1VCX0FTU0VUU19DT05GSUcpIHB1YmxpYyBtb2R1bGVDb25maWc6IFN1YkFzc2V0c0NvbmZpZ1xuICApIHtcbiAgICBzdXBlcih1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGdldEN1c3RvbVByb3BlcnRpZXMoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTxJTWFuYWdlZE9iamVjdFtdPiB7XG4gICAgY29uc3QgYXNzZXRUeXBlID0gdGhpcy5hc3NldFR5cGVzLmdldEFzc2V0VHlwZUJ5TmFtZShncm91cC50eXBlKTtcbiAgICBpZiAoYXNzZXRUeXBlKSB7XG4gICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZEFkZGl0aW9uc0xpc3QoYXNzZXRUeXBlLCB7XG4gICAgICAgIHBhZ2VTaXplOiAyMDAwLFxuICAgICAgICBxdWVyeTogXCIkZmlsdGVyPShoYXMoJ2M4eV9Jc0Fzc2V0UHJvcGVydHknKSlcIlxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbHVtbnMoX2ZpbHRlcmFibGUgPSB0cnVlLCBfc29ydGFibGUgPSB0cnVlKTogQ29sdW1uW10ge1xuICAgIGNvbnN0IGRlZmF1bHRDb2x1bW5zID0gW1xuICAgICAgbmV3IEFzc2V0VHlwZUdyaWRDb2x1bW4oeyBzb3J0T3JkZXI6ICdkZXNjJyB9KSxcbiAgICAgIG5ldyBOYW1lRGV2aWNlR3JpZENvbHVtbih7IHNvcnRPcmRlcjogJ2FzYycgfSksXG4gICAgICBuZXcgTW9kZWxEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgU2VyaWFsTnVtYmVyRGV2aWNlR3JpZENvbHVtbih7IHZpc2libGU6IGZhbHNlIH0pLFxuICAgICAgbmV3IFJlZ2lzdHJhdGlvbkRhdGVEZXZpY2VHcmlkQ29sdW1uKHsgdmlzaWJsZTogZmFsc2UgfSksXG4gICAgICBuZXcgU3lzdGVtSWREZXZpY2VHcmlkQ29sdW1uKHsgdmlzaWJsZTogZmFsc2UgfSksXG4gICAgICBuZXcgSW1laURldmljZUdyaWRDb2x1bW4oeyB2aXNpYmxlOiBmYWxzZSB9KSxcbiAgICAgIG5ldyBBbGFybXNEZXZpY2VHcmlkQ29sdW1uKClcbiAgICBdO1xuICAgIHJldHVybiBkZWZhdWx0Q29sdW1ucztcbiAgfVxuXG4gIGdldERlZmF1bHRQYWdpbmF0aW9uKCk6IFBhZ2luYXRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBwYWdlU2l6ZTogMjUsXG4gICAgICBjdXJyZW50UGFnZTogMVxuICAgIH07XG4gIH1cblxuICBnZXREZWZhdWx0QWN0aW9uQ29udHJvbHMoKTogQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBhc3luYyB1bmFzc2lnbkFzc2V0KGFzc2V0OiBJTWFuYWdlZE9iamVjdCwgcGFyZW50UmVmOiBJTWFuYWdlZE9iamVjdCkge1xuICAgIGNvbnN0IHsgaWQ6IGFzc2V0SWQgfSA9IGFzc2V0O1xuICAgIGNvbnN0IHsgaWQ6IHBhcmVudElkIH0gPSBwYXJlbnRSZWY7XG5cbiAgICBpZiAodGhpcy5pc0RldmljZShhc3NldCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZEFzc2V0c1JlbW92ZShhc3NldElkLCBwYXJlbnRJZCk7XG4gICAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0RldmljZSB1bmFzc2lnbmVkLicpKTtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhhbGVydE1lc3NhZ2UpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnQ291bGQgbm90IHVuYXNzaWduIGRldmljZS4nKSk7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmRhbmdlcihhbGVydE1lc3NhZ2UsIGVycm9yKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuZGVhY3RpdmF0ZVNtYXJ0cnVsZXNGb3JBc3NldChhc3NldCwgcGFyZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBpc0RldmljZShhc3NldDogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgIWFzc2V0Lmhhc093blByb3BlcnR5KHRoaXMuSVNfREVWSUNFX0dST1VQX0ZSQUdNRU5UKSAmJlxuICAgICAgIWFzc2V0Lmhhc093blByb3BlcnR5KHRoaXMuSVNfRFlOQU1JQ19HUk9VUF9GUkFHTUVOVClcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlQXNzZXQoYXNzZXQ6IElNYW5hZ2VkT2JqZWN0LCBwYXJlbnRSZWY6IElNYW5hZ2VkT2JqZWN0LCBwYXJhbXMgPSB7fSkge1xuICAgIGNvbnN0IGlzR3JvdXAgPVxuICAgICAgYXNzZXQuaGFzT3duUHJvcGVydHkodGhpcy5JU19ERVZJQ0VfR1JPVVBfRlJBR01FTlQpIHx8XG4gICAgICB0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXAoYXNzZXQpO1xuXG4gICAgaWYgKGlzR3JvdXApIHtcbiAgICAgIGF3YWl0IHRoaXMuZGVsZXRlR3JvdXAoYXNzZXQsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuZGVsZXRlRGV2aWNlKGFzc2V0LCBwYXJhbXMpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHBhcmVudFJlZiAmJlxuICAgICAgIXRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChhc3NldCkgJiZcbiAgICAgICF0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXBWMihhc3NldClcbiAgICApIHtcbiAgICAgIGF3YWl0IHRoaXMuZGVhY3RpdmF0ZVNtYXJ0cnVsZXNGb3JBc3NldChhc3NldCwgcGFyZW50UmVmKTtcbiAgICB9XG4gIH1cblxuICBzaG91bGRTaG93V2l0aERldmljZVVzZXJDaGVja2JveChhc3NldDogSU1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IG93bmVyLCBjOHlfSXNEZXZpY2U6IGlzUm9vdERldmljZSB9ID0gYXNzZXQ7XG4gICAgY29uc3QgaGFzRGV2aWNlVXNlckFzT3duZXIgPSBhc3NldC5vd25lciAmJiB0aGlzLmlzRGV2aWNlVXNlcihvd25lcik7XG5cbiAgICByZXR1cm4gQm9vbGVhbihpc1Jvb3REZXZpY2UgJiYgaGFzRGV2aWNlVXNlckFzT3duZXIpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdEJ1bGtBY3Rpb25Db250cm9scygpOiBCdWxrQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBhc3luYyBnZXREYXRhKFxuICAgIGNvbHVtbnM6IENvbHVtbltdLFxuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb24sXG4gICAgcGFyZW50UmVmZXJlbmNlOiBJTWFuYWdlZE9iamVjdCxcbiAgICBiYXNlUXVlcnk6IGFueSA9IHt9LFxuICAgIHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7XG4gICAgY29uc3QgaXNSb290ID0gIXBhcmVudFJlZmVyZW5jZTtcbiAgICBpZiAoaXNSb290KSB7XG4gICAgICBjb25zdCBxdWVyeSA9IHRoaXMuYnVpbGRDb21iaW5lZFJvb3RRdWVyeUZpbHRlcihjb2x1bW5zLCBwYWdpbmF0aW9uLCBiYXNlUXVlcnkpO1xuICAgICAgcmV0dXJuIHRoaXMuYXNzZXROb2RlU2VydmljZS5nZXRSb290Tm9kZXMoeyAuLi5wYWdpbmF0aW9uLCAuLi4odGV4dCAmJiB7IHRleHQgfSksIHF1ZXJ5IH0pO1xuICAgIH1cbiAgICBjb25zdCBmaWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5nZXRBc3NldHNGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIGJhc2VRdWVyeSwgdGV4dCksXG4gICAgICB3aXRoUGFyZW50czogZmFsc2VcbiAgICB9O1xuICAgIGlmICh0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuaXNHcm91cChwYXJlbnRSZWZlcmVuY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmdldEdyb3VwSXRlbXMocGFyZW50UmVmZXJlbmNlLmlkLCBmaWx0ZXJzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0R5bmFtaWNHcm91cChwYXJlbnRSZWZlcmVuY2UpKSB7XG4gICAgICByZXR1cm4gdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmdldER5bmFtaWNHcm91cEl0ZW1zKFxuICAgICAgICBwYXJlbnRSZWZlcmVuY2UuYzh5X0RldmljZVF1ZXJ5U3RyaW5nLFxuICAgICAgICBmaWx0ZXJzXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5hc3NldE5vZGVTZXJ2aWNlLmlzRGV2aWNlKHBhcmVudFJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0RGV2aWNlQ2hpbGRyZW4ocGFyZW50UmVmZXJlbmNlLmlkLCBmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXRDb3VudChcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHBhcmVudFJlZmVyZW5jZTogSU1hbmFnZWRPYmplY3QsXG4gICAgYmFzZVF1ZXJ5OiBhbnkgPSB7fSxcbiAgICB0ZXh0OiBzdHJpbmcgPSBudWxsXG4gICk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgZGVmYXVsdEZpbHRlcnMgPSB7XG4gICAgICBwYWdlU2l6ZTogMSxcbiAgICAgIHdpdGhDaGlsZHJlbjogZmFsc2VcbiAgICB9O1xuICAgIGNvbnN0IGZpbHRlcnMgPSAhcGFyZW50UmVmZXJlbmNlXG4gICAgICA/IHtcbiAgICAgICAgICBxdWVyeTogdGhpcy5idWlsZENvbWJpbmVkUm9vdFF1ZXJ5RmlsdGVyKGNvbHVtbnMsIHBhZ2luYXRpb24sIGJhc2VRdWVyeSksXG4gICAgICAgICAgLi4uZGVmYXVsdEZpbHRlcnNcbiAgICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgICAgLi4udGhpcy5nZXRBc3NldHNGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIGJhc2VRdWVyeSwgdGV4dCksXG4gICAgICAgICAgLi4uZGVmYXVsdEZpbHRlcnNcbiAgICAgICAgfTtcbiAgICByZXR1cm4gdGhpcy5nZXRBc3NldHNTdGF0aXN0aWNzKHBhcmVudFJlZmVyZW5jZSwgZmlsdGVycyk7XG4gIH1cblxuICBnZXRUb3RhbChwYXJlbnRSZWZlcmVuY2U6IElNYW5hZ2VkT2JqZWN0LCBiYXNlUXVlcnk6IGFueSA9IHt9KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBxdWVyeUZpbHRlciA9IHRoaXMuYXNzZXROb2RlU2VydmljZS5yb290UXVlcnlGaWx0ZXIoKTtcbiAgICBjb25zdCBxdWVyeSA9ICFwYXJlbnRSZWZlcmVuY2VcbiAgICAgID8gdGhpcy5xdWVyaWVzVXRpbC5hZGRBbmRGaWx0ZXIocXVlcnlGaWx0ZXIsIGJhc2VRdWVyeSlcbiAgICAgIDogYmFzZVF1ZXJ5O1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICBxdWVyeTogdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KHF1ZXJ5KSxcbiAgICAgIHdpdGhDaGlsZHJlbjogZmFsc2UsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZSxcbiAgICAgIHBhZ2VTaXplOiAxXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5nZXRBc3NldHNTdGF0aXN0aWNzKHBhcmVudFJlZmVyZW5jZSwgZmlsdGVycyk7XG4gIH1cblxuICBhc3luYyBjYW5FZGl0R3JvdXAoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNhbkVkaXQoXG4gICAgICBbUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU4sIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU5dLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG5cbiAgY2FuQ3JlYXRlR3JvdXAoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGNvbnN0IGhhc0FkbWluUm9sZSA9IHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCBbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTixcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX0NSRUFURSxcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4sXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURVxuICAgIF0pO1xuICAgIHJldHVybiBoYXNBZG1pblJvbGU7XG4gIH1cblxuICBhc3luYyBjYW5Bc3NpZ25EZXZpY2UoZ3JvdXA6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmNhbkVkaXQoXG4gICAgICBbUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU4sIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU5dLFxuICAgICAgZ3JvdXBcbiAgICApO1xuICB9XG5cbiAgY2FuRWRpdFNtYXJ0R3JvdXAoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgU01BUlRfR1JPVVBTX1JPTEVTX0VESVQgPSBbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX1NNQVJUR1JPVVBfVVBEQVRFLFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9TTUFSVEdST1VQX0FETUlOXG4gICAgXTtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuaGFzQW55Um9sZShTTUFSVF9HUk9VUFNfUk9MRVNfRURJVCk7XG4gIH1cblxuICBjYW5EZWxldGVTbWFydEdyb3VwKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IFNNQVJUX0dST1VQU19ST0xFU19ERUxFVEUgPSBbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX1NNQVJUR1JPVVBfQURNSU4sXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTixcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU5cbiAgICBdO1xuICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5oYXNBbnlSb2xlKFNNQVJUX0dST1VQU19ST0xFU19ERUxFVEUpO1xuICB9XG5cbiAgaXNTbWFydEdyb3VwKGdyb3VwOiBJTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNtYXJ0R3JvdXBzU2VydmljZS5pc1NtYXJ0R3JvdXAoZ3JvdXApIHx8IHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cFYyKGdyb3VwKVxuICAgICk7XG4gIH1cblxuICBpc1VzaW5nSW52ZW50b3J5Um9sZXMoKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGNvbnN0IGhhc0FueUludmVudG9yeVJvbGUgPSB0aGlzLnVzZXIuaGFzQW55Um9sZShjdXJyZW50VXNlciwgW1xuICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU4sXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9SRUFELFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQ1JFQVRFLFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9BRE1JTixcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfTUFOQUdFRF9PQkpFQ1RfQ1JFQVRFLFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEXG4gICAgXSk7XG4gICAgcmV0dXJuICFoYXNBbnlJbnZlbnRvcnlSb2xlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGdldEFzc2V0c1N0YXRpc3RpY3MoXG4gICAgcGFyZW50UmVmZXJlbmNlOiBJTWFuYWdlZE9iamVjdCxcbiAgICBmaWx0ZXJzOiBvYmplY3RcbiAgKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBpc1Jvb3QgPSAhcGFyZW50UmVmZXJlbmNlO1xuICAgIGlmIChpc1Jvb3QpIHtcbiAgICAgIHJldHVybiAoYXdhaXQgdGhpcy5hc3NldE5vZGVTZXJ2aWNlLmdldFJvb3ROb2RlcyhmaWx0ZXJzKSkucGFnaW5nLnRvdGFsUGFnZXM7XG4gICAgfVxuICAgIGlmICh0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuaXNHcm91cChwYXJlbnRSZWZlcmVuY2UpKSB7XG4gICAgICByZXR1cm4gKGF3YWl0IHRoaXMuYXNzZXROb2RlU2VydmljZS5nZXRHcm91cEl0ZW1zKHBhcmVudFJlZmVyZW5jZS5pZCwgZmlsdGVycykpLnBhZ2luZ1xuICAgICAgICAudG90YWxQYWdlcztcbiAgICB9XG4gICAgaWYgKHRoaXMuYXNzZXROb2RlU2VydmljZS5pc0R5bmFtaWNHcm91cChwYXJlbnRSZWZlcmVuY2UpKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBhd2FpdCB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0RHluYW1pY0dyb3VwSXRlbXMoXG4gICAgICAgICAgcGFyZW50UmVmZXJlbmNlLmM4eV9EZXZpY2VRdWVyeVN0cmluZyxcbiAgICAgICAgICBmaWx0ZXJzXG4gICAgICAgIClcbiAgICAgICkucGFnaW5nLnRvdGFsUGFnZXM7XG4gICAgfVxuICAgIGlmICh0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuaXNEZXZpY2UocGFyZW50UmVmZXJlbmNlKSkge1xuICAgICAgcmV0dXJuIChhd2FpdCB0aGlzLmFzc2V0Tm9kZVNlcnZpY2UuZ2V0RGV2aWNlQ2hpbGRyZW4ocGFyZW50UmVmZXJlbmNlLmlkLCBmaWx0ZXJzKSkucGFnaW5nXG4gICAgICAgIC50b3RhbFBhZ2VzO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZENvbWJpbmVkUm9vdFF1ZXJ5RmlsdGVyKGNvbHVtbnMsIHBhZ2luYXRpb24sIGJhc2VRdWVyeSA9IHt9KSB7XG4gICAgY29uc3QgdXNlclF1ZXJ5ID0gdGhpcy5nZXRRdWVyeU9iaihjb2x1bW5zLCBwYWdpbmF0aW9uKTtcbiAgICBjb25zdCByb290UXVlcnkgPSB0aGlzLmFzc2V0Tm9kZVNlcnZpY2Uucm9vdFF1ZXJ5RmlsdGVyKCk7XG4gICAgY29uc3Qgb3JkZXJlZFJvb3RRdWVyeSA9IHRoaXMucXVlcmllc1V0aWwuYWRkT3JkZXJieXMocm9vdFF1ZXJ5LCB1c2VyUXVlcnkuX19vcmRlcmJ5LCAnYXBwZW5kJyk7XG4gICAgY29uc3Qgcm9vdEFuZFVzZXJRdWVyeSA9IHRoaXMucXVlcmllc1V0aWwuYWRkQW5kRmlsdGVyKG9yZGVyZWRSb290UXVlcnksIHVzZXJRdWVyeS5fX2ZpbHRlcik7XG4gICAgY29uc3QgZnVsbFF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5hZGRBbmRGaWx0ZXIocm9vdEFuZFVzZXJRdWVyeSwgYmFzZVF1ZXJ5KTtcbiAgICByZXR1cm4gdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KGZ1bGxRdWVyeSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlbGV0ZUdyb3VwKGdyb3VwOiBJTWFuYWdlZE9iamVjdCwgcGFyYW1zOiBhbnkgPSB7fSkge1xuICAgIGNvbnN0IHsgY2FzY2FkZSB9ID0gcGFyYW1zO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc21hcnRHcm91cHNTZXJ2aWNlLmlzU21hcnRHcm91cChncm91cCkgfHwgdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuaXNTbWFydEdyb3VwVjIoZ3JvdXApXG4gICAgICAgID8gYXdhaXQgdGhpcy5zbWFydEdyb3Vwc1NlcnZpY2UuZGVsZXRlKGdyb3VwLCB7IGNhc2NhZGUgfSlcbiAgICAgICAgOiBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGVsZXRlKGdyb3VwLCB7IGNhc2NhZGUgfSk7XG5cbiAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ1wie3sgbmFtZSB9fVwiIGRlbGV0ZWQuJyksIHtcbiAgICAgICAgbmFtZTogZ3JvdXAubmFtZVxuICAgICAgfSk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGFsZXJ0TWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBnZXR0ZXh0KCdDb3VsZCBub3QgZGVsZXRlIFwie3sgbmFtZSB9fVwiLicpLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogZ3JvdXAubmFtZVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZGFuZ2VyKGFsZXJ0TWVzc2FnZSwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVsZXRlRGV2aWNlKGRldmljZTogSU1hbmFnZWRPYmplY3QsIHBhcmFtczogYW55ID0ge30pIHtcbiAgICBjb25zdCB7IGNhc2NhZGUsIHdpdGhEZXZpY2VVc2VyIH0gPSBwYXJhbXM7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgb3duZXIgfSA9IGRldmljZTtcbiAgICAgIGNvbnN0IHNob3VsZFJlbW92ZU93bmVyID0gd2l0aERldmljZVVzZXIgJiYgb3duZXIgJiYgdGhpcy5pc0RldmljZVVzZXIob3duZXIpO1xuXG4gICAgICBzaG91bGRSZW1vdmVPd25lclxuICAgICAgICA/IGF3YWl0IHRoaXMuZGVsZXRlRGV2aWNlV2l0aFVzZXIoZGV2aWNlLCBjYXNjYWRlKVxuICAgICAgICA6IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGUoZGV2aWNlLCB7IGNhc2NhZGUgfSk7XG5cbiAgICAgIGNvbnN0IGFsZXJ0TWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ0RldmljZSBkZWxldGVkLicpKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoYWxlcnRNZXNzYWdlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgYWxlcnRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnQ291bGQgbm90IGRlbGV0ZSBkZXZpY2UuJykpO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuZGFuZ2VyKGFsZXJ0TWVzc2FnZSwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVhY3RpdmF0ZVNtYXJ0cnVsZXNGb3JBc3NldChhc3NldDogSU1hbmFnZWRPYmplY3QsIHBhcmVudFJlZjogSU1hbmFnZWRPYmplY3QpIHtcbiAgICBjb25zdCB7IGlkOiBhc3NldElkIH0gPSBhc3NldDtcbiAgICBjb25zdCB7IGlkOiBwYXJlbnRJZCB9ID0gcGFyZW50UmVmO1xuICAgIGNvbnN0IHJ1bGVzOiBJUnVsZVtdID0gKGF3YWl0IHRoaXMuc21hcnRSdWxlc1NlcnZpY2UubGlzdEJ5Q29udGV4dChwYXJlbnRJZCkpLmRhdGE7XG5cbiAgICBjb25zdCB1cGF0ZVNtYXJ0cnVsZXNQcm9taXNlcyA9IHJ1bGVzLm1hcChydWxlID0+XG4gICAgICB0aGlzLnNtYXJ0UnVsZXNTZXJ2aWNlLmJ1bGtEZWFjdGl2YXRlRW5hYmxlZFNvdXJjZXMocnVsZSwgW2Fzc2V0SWRdKVxuICAgICk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwodXBhdGVTbWFydHJ1bGVzUHJvbWlzZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBhbGVydE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgZ2V0dGV4dCgnQ291bGQgbm90IGRlYWN0aXZhdGUgc21hcnQgcnVsZXMuJylcbiAgICAgICk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoYWxlcnRNZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzRGV2aWNlVXNlcih1c2VySWQ6IHN0cmluZykge1xuICAgIHJldHVybiB1c2VySWQubWF0Y2goL15kZXZpY2VfLyk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRlbGV0ZURldmljZVdpdGhVc2VyKGRldmljZTogSU1hbmFnZWRPYmplY3QsIGNhc2NhZGU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7IGNhc2NhZGUsIHdpdGhEZXZpY2VVc2VyOiB0cnVlIH07XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuZGVsZXRlKGRldmljZSwgcGFyYW1zKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5kZWxldGUoZGV2aWNlLCB7IGNhc2NhZGUgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRBc3NldHNGaWx0ZXJzKGNvbHVtbnM6IENvbHVtbltdLCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLCBiYXNlUXVlcnksIHRleHQ/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBxdWVyeSA9IHRoaXMucXVlcmllc1V0aWwuYWRkQW5kRmlsdGVyKHRoaXMuZ2V0UXVlcnlPYmooY29sdW1ucyksIGJhc2VRdWVyeSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLih0ZXh0ICYmIHsgdGV4dCB9KSxcbiAgICAgIHF1ZXJ5OiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkocXVlcnkpLFxuICAgICAgcGFnZVNpemU6IHBhZ2luYXRpb24ucGFnZVNpemUgfHwgdGhpcy5ERUZBVUxUX1BBR0VfU0laRSxcbiAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlLFxuICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWVcbiAgICB9O1xuICB9XG59XG4iXX0=
|