@c8y/ngx-components 1018.0.192 → 1018.0.196
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/global-config.service.d.ts +1 -1
- package/core/common/permissions.service.d.ts +67 -0
- package/core/common/tenant-ui.service.d.ts +1 -1
- package/esm2020/assets-navigator/asset-node.service.mjs +5 -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 +6 -3
- package/esm2020/context-dashboard/context-dashboard.service.mjs +3 -3
- package/esm2020/context-dashboard/dashboard-detail.component.mjs +2 -2
- package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +3 -3
- package/esm2020/core/common/global-config.service.mjs +3 -2
- package/esm2020/core/common/permissions.service.mjs +68 -1
- package/esm2020/core/common/tenant-ui.service.mjs +3 -2
- package/esm2020/core/common/user-preferences/user-preferences.service.mjs +6 -2
- package/esm2020/ecosystem/application-properties/application-properties.component.mjs +2 -2
- 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 +5 -3
- package/esm2020/protocol-lwm2m/components/bootstrap-parameters/lwm2m-bootstrap-parameters.component.mjs +2 -2
- package/esm2020/register-device/register-device-navigation.factory.mjs +3 -3
- package/esm2020/reports/export-schedules.component.mjs +3 -3
- package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +4 -4
- 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 +2 -2
- package/esm2020/sub-assets/groups.component.mjs +2 -2
- package/esm2020/sub-assets/sub-assets.component.mjs +2 -2
- package/esm2020/sub-assets/sub-assets.service.mjs +16 -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/fesm2015/c8y-ngx-components-assets-navigator.mjs +4 -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 +11 -8
- package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-ecosystem.mjs +6 -6
- package/fesm2015/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-files-repository.mjs +5 -3
- package/fesm2015/c8y-ngx-components-files-repository.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-register-device.mjs +3 -3
- package/fesm2015/c8y-ngx-components-register-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 +3 -3
- 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 +19 -13
- 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.mjs +74 -3
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-assets-navigator.mjs +4 -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 +11 -8
- package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-ecosystem.mjs +6 -6
- package/fesm2020/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-files-repository.mjs +5 -3
- package/fesm2020/c8y-ngx-components-files-repository.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-register-device.mjs +3 -3
- package/fesm2020/c8y-ngx-components-register-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 +3 -3
- 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 +19 -13
- 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.mjs +74 -3
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/tenants/tenant-list/tenant-list.component.d.ts +4 -2
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
|
@@ -94,6 +94,73 @@ export class Permissions {
|
|
|
94
94
|
return false;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
Permissions.ROLE_ADVANCED_SOFTWARE_ADMIN = 'ROLE_ADVANCED_SOFTWARE_ADMIN';
|
|
98
|
+
Permissions.ROLE_ADVANCED_SOFTWARE_READ = 'ROLE_ADVANCED_SOFTWARE_READ';
|
|
99
|
+
Permissions.ROLE_ALARM_ADMIN = 'ROLE_ALARM_ADMIN';
|
|
100
|
+
Permissions.ROLE_ALARM_READ = 'ROLE_ALARM_READ';
|
|
101
|
+
Permissions.ROLE_ANALYTICSBUILDER_READ = 'ROLE_ANALYTICSBUILDER_READ';
|
|
102
|
+
Permissions.ROLE_APPLICATION_MANAGEMENT_ADMIN = 'ROLE_APPLICATION_MANAGEMENT_ADMIN';
|
|
103
|
+
Permissions.ROLE_APPLICATION_MANAGEMENT_READ = 'ROLE_APPLICATION_MANAGEMENT_READ';
|
|
104
|
+
Permissions.ROLE_AUDIT_ADMIN = 'ROLE_AUDIT_ADMIN';
|
|
105
|
+
Permissions.ROLE_AUDIT_READ = 'ROLE_AUDIT_READ';
|
|
106
|
+
Permissions.ROLE_BINARY_ADMIN = 'ROLE_BINARY_ADMIN';
|
|
107
|
+
Permissions.ROLE_BINARY_CREATE = 'ROLE_BINARY_CREATE';
|
|
108
|
+
Permissions.ROLE_BINARY_READ = 'ROLE_BINARY_READ';
|
|
109
|
+
Permissions.ROLE_BULK_OPERATION_ADMIN = 'ROLE_BULK_OPERATION_ADMIN';
|
|
110
|
+
Permissions.ROLE_BULK_OPERATION_READ = 'ROLE_BULK_OPERATION_READ';
|
|
111
|
+
Permissions.ROLE_CEP_MANAGEMENT_ADMIN = 'ROLE_CEP_MANAGEMENT_ADMIN';
|
|
112
|
+
Permissions.ROLE_CEP_MANAGEMENT_READ = 'ROLE_CEP_MANAGEMENT_READ';
|
|
113
|
+
Permissions.ROLE_DATA_BROKER_ADMIN = 'ROLE_DATA_BROKER_ADMIN';
|
|
114
|
+
Permissions.ROLE_DATA_BROKER_READ = 'ROLE_DATA_BROKER_READ';
|
|
115
|
+
Permissions.ROLE_DEVICE_CONTROL_ADMIN = 'ROLE_DEVICE_CONTROL_ADMIN';
|
|
116
|
+
Permissions.ROLE_DEVICE_CONTROL_READ = 'ROLE_DEVICE_CONTROL_READ';
|
|
117
|
+
Permissions.ROLE_EMAIL_CREATE = 'ROLE_EMAIL_CREATE';
|
|
118
|
+
Permissions.ROLE_EPLAPPS_READ = 'ROLE_EPLAPPS_READ';
|
|
119
|
+
Permissions.ROLE_EVENT_ADMIN = 'ROLE_EVENT_ADMIN';
|
|
120
|
+
Permissions.ROLE_EVENT_READ = 'ROLE_EVENT_READ';
|
|
121
|
+
Permissions.ROLE_GENERIC_MQTT_ADMIN = 'ROLE_GENERIC_MQTT_ADMIN';
|
|
122
|
+
Permissions.ROLE_IDENTITY_ADMIN = 'ROLE_IDENTITY_ADMIN';
|
|
123
|
+
Permissions.ROLE_IDENTITY_READ = 'ROLE_IDENTITY_READ';
|
|
124
|
+
Permissions.ROLE_INVENTORY_ADMIN = 'ROLE_INVENTORY_ADMIN';
|
|
125
|
+
Permissions.ROLE_INVENTORY_CREATE = 'ROLE_INVENTORY_CREATE';
|
|
126
|
+
Permissions.ROLE_INVENTORY_READ = 'ROLE_INVENTORY_READ';
|
|
127
|
+
Permissions.ROLE_MACHINE_LEARNING_READ = 'ROLE_MACHINE_LEARNING_READ';
|
|
128
|
+
Permissions.ROLE_MANAGED_OBJECT_ADMIN = 'ROLE_MANAGED_OBJECT_ADMIN';
|
|
129
|
+
Permissions.ROLE_MANAGED_OBJECT_CREATE = 'ROLE_MANAGED_OBJECT_CREATE';
|
|
130
|
+
Permissions.ROLE_MANAGED_OBJECT_READ = 'ROLE_MANAGED_OBJECT_READ';
|
|
131
|
+
Permissions.ROLE_MEASUREMENT_ADMIN = 'ROLE_MEASUREMENT_ADMIN';
|
|
132
|
+
Permissions.ROLE_MEASUREMENT_READ = 'ROLE_MEASUREMENT_READ';
|
|
133
|
+
Permissions.ROLE_MQTT_CONNECT_ADMIN = 'ROLE_MQTT_CONNECT_ADMIN';
|
|
134
|
+
Permissions.ROLE_MQTT_SERVICE_ADMIN = 'ROLE_MQTT_SERVICE_ADMIN';
|
|
135
|
+
Permissions.ROLE_NOTIFICATION_2_ADMIN = 'ROLE_NOTIFICATION_2_ADMIN';
|
|
136
|
+
Permissions.ROLE_OPTION_MANAGEMENT_ADMIN = 'ROLE_OPTION_MANAGEMENT_ADMIN';
|
|
137
|
+
Permissions.ROLE_OPTION_MANAGEMENT_READ = 'ROLE_OPTION_MANAGEMENT_READ';
|
|
138
|
+
Permissions.ROLE_PROVISIONING_CREATE = 'ROLE_PROVISIONING_CREATE';
|
|
139
|
+
Permissions.ROLE_PROVISIONING_READ = 'ROLE_PROVISIONING_READ';
|
|
140
|
+
Permissions.ROLE_PROVISIONING_UPDATE = 'ROLE_PROVISIONING_UPDATE';
|
|
141
|
+
Permissions.ROLE_REMOTE_ACCESS_ADMIN = 'ROLE_REMOTE_ACCESS_ADMIN';
|
|
142
|
+
Permissions.ROLE_RETENTION_RULE_ADMIN = 'ROLE_RETENTION_RULE_ADMIN';
|
|
143
|
+
Permissions.ROLE_RETENTION_RULE_READ = 'ROLE_RETENTION_RULE_READ';
|
|
144
|
+
Permissions.ROLE_SCHEDULE_REPORT_ADMIN = 'ROLE_SCHEDULE_REPORT_ADMIN';
|
|
145
|
+
Permissions.ROLE_SIMULATOR_ADMIN = 'ROLE_SIMULATOR_ADMIN';
|
|
146
|
+
Permissions.ROLE_SMARTGROUP_ADMIN = 'ROLE_SMARTGROUP_ADMIN';
|
|
147
|
+
Permissions.ROLE_SMARTGROUP_CREATE = 'ROLE_SMARTGROUP_CREATE';
|
|
148
|
+
Permissions.ROLE_SMARTGROUP_UPDATE = 'ROLE_SMARTGROUP_UPDATE';
|
|
149
|
+
Permissions.ROLE_SMARTRULE_ADMIN = 'ROLE_SMARTRULE_ADMIN';
|
|
150
|
+
Permissions.ROLE_SMARTRULE_READ = 'ROLE_SMARTRULE_READ';
|
|
151
|
+
Permissions.ROLE_SMS_ADMIN = 'ROLE_SMS_ADMIN';
|
|
152
|
+
Permissions.ROLE_SMS_READ = 'ROLE_SMS_READ';
|
|
153
|
+
Permissions.ROLE_TENANT_ADMIN = 'ROLE_TENANT_ADMIN';
|
|
154
|
+
Permissions.ROLE_TENANT_MANAGEMENT_ADMIN = 'ROLE_TENANT_MANAGEMENT_ADMIN';
|
|
155
|
+
Permissions.ROLE_TENANT_MANAGEMENT_CREATE = 'ROLE_TENANT_MANAGEMENT_CREATE';
|
|
156
|
+
Permissions.ROLE_TENANT_MANAGEMENT_READ = 'ROLE_TENANT_MANAGEMENT_READ';
|
|
157
|
+
Permissions.ROLE_TENANT_MANAGEMENT_UPDATE = 'ROLE_TENANT_MANAGEMENT_UPDATE';
|
|
158
|
+
Permissions.ROLE_TENANT_STATISTICS_READ = 'ROLE_TENANT_STATISTICS_READ';
|
|
159
|
+
Permissions.ROLE_USER_MANAGEMENT_ADMIN = 'ROLE_USER_MANAGEMENT_ADMIN';
|
|
160
|
+
Permissions.ROLE_USER_MANAGEMENT_CREATE = 'ROLE_USER_MANAGEMENT_CREATE';
|
|
161
|
+
Permissions.ROLE_USER_MANAGEMENT_OWN_ADMIN = 'ROLE_USER_MANAGEMENT_OWN_ADMIN';
|
|
162
|
+
Permissions.ROLE_USER_MANAGEMENT_OWN_READ = 'ROLE_USER_MANAGEMENT_OWN_READ';
|
|
163
|
+
Permissions.ROLE_USER_MANAGEMENT_READ = 'ROLE_USER_MANAGEMENT_READ';
|
|
97
164
|
Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, deps: [{ token: i1.AppStateService }, { token: i2.InventoryService }, { token: i2.UserService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
98
165
|
Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: Permissions, providedIn: 'root' });
|
|
99
166
|
__decorate([
|
|
@@ -112,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
112
179
|
type: Injectable,
|
|
113
180
|
args: [{ providedIn: 'root' }]
|
|
114
181
|
}], ctorParameters: function () { return [{ type: i1.AppStateService }, { type: i2.InventoryService }, { type: i2.UserService }]; }, propDecorators: { checkIfOwner: [], checkWithRequest: [] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDVSxRQUF5QixFQUN6QixTQUEyQixFQUMzQixJQUFpQjtRQUZqQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBQ3hCLENBQUM7SUFFSjs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxPQUFPLENBQ0wsT0FBTyxFQUNQLEVBQWdDLEVBQ2hDLFNBQXdCO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLEtBQUs7S0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFpQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDMUU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlCO1FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxjQUF3QjtRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHUyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxPQUFPLGVBQWUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFHUyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxtQkFBbUIsR0FBNEI7WUFDbkQsRUFBRSxFQUFFLElBQUk7U0FDVCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQXFCO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkUsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O3dHQWhHVSxXQUFXOzRHQUFYLFdBQVcsY0FERSxNQUFNO0FBa0U5QjtJQURDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7K0NBS3ZCO0FBR0Q7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O21EQWN2QjsyRkFyRlUsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7K0pBa0VoQixZQUFZLE1BT2xCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCwgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplLmRlY29yYXRvcic7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgQ2FuRWRpdENvbmZpZyA9IHtcbiAgLyoqXG4gICAqIFNraXBzIHJvbGVzIGNoZWNrLlxuICAgKi9cbiAgc2tpcFJvbGVzQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgbWFuYWdlZCBvYmplY3Qgb3duZXJzaGlwIGNoZWNrLlxuICAgKi9cbiAgc2tpcE93bmVyQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgY2hlY2tzIHdpdGggYSBxdWVyeSB0byB0aGUgaW52ZW50b3J5IEFQSS5cbiAgICovXG4gIHNraXBSZXF1ZXN0Q2hlY2s/OiBib29sZWFuO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwU3RhdGU6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHVzZXI6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGUgZ2l2ZW4gbW8uXG4gICAqIChlaXRoZXIgdGhyb3VnaCBnbG9iYWwgcm9sZSwgaW5kaXZpZHVhbCBkZXZpY2UgcGVybWlzc2lvbnMgb3IgdmlhIGludmVudG9yeSByb2xlcykuXG4gICAqXG4gICAqIEBwYXJhbSB7YXJyYXl9IHJvbGVJZHMgQXJyYXkgb2Ygcm9sZXMgd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBzaG91bGQgaGF2ZS5cbiAgICogQHBhcmFtIHtJTWFuYWdlZE9iamVjdCB8IElJZGVudGlmaWVkfSBtbyBUaGUgbWFuYWdlZCBvYmplY3QgZm9yIHdoaWNoIHdlIGFyZSBjaGVja2luZyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhY2Nlc3MuXG4gICAqIEBwYXJhbSB7Q2FuRWRpdENvbmZpZ30gY29uZmlnIEEgY29uZmlndXJhdGlvbiBvYmplY3QgdGhhdCBjYW4gdGFrZSB0aGUgZm9sbG93aW5nIHZhbHVlczpcbiAgICogLSBgc2tpcFJvbGVzQ2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyByb2xlcyBjaGVjayxcbiAgICogLSBgc2tpcE93bmVyQ2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyBvd25lcnNoaXAgY2hlY2ssXG4gICAqIC0gYHNraXBSZXF1ZXN0Q2hlY2tgOiBgYm9vbGVhbmAgLSBza2lwcyBjaGVja3Mgd2l0aCBhIHF1ZXJ5IHRvIHRoZSBpbnZlbnRvcnkgQVBJLlxuICAgKiAgIFVJIHdpbGwgbWFrZSBhIHF1ZXJ5IHRvIGJhY2tlbmQgd2hldGhlciB0aGUgdXNlciBjYW4gZWRpdCB0aGUgbWFuYWdlZCBvYmplY3QuXG4gICAqICAgQSByZWplY3Rpb24gZnJvbSBCRSBpbmRpY2F0ZXMgYSBsYWNrIG9mIHBlcm1pc3Npb24uXG4gICAqL1xuICBjYW5FZGl0KFxuICAgIHJvbGVJZHMsXG4gICAgbW86IElNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWQsXG4gICAgY29uZmlnOiBDYW5FZGl0Q29uZmlnID0ge1xuICAgICAgc2tpcFJvbGVzQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcE93bmVyQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcFJlcXVlc3RDaGVjazogZmFsc2VcbiAgICB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrSWZDYW5FZGl0KHJvbGVJZHMsIG1vLCBjb25maWcpO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoIWN1cnJlbnRVc2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzUm9sZShjdXJyZW50VXNlciwgcm9sZUlkKTtcbiAgfVxuXG4gIGhhc0FsbFJvbGVzKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyhjdXJyZW50VXNlciwgcm9sZUlkcyk7XG4gIH1cblxuICBoYXNBbnlSb2xlKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueUdsb2JhbFJvbGUoZ2xvYmFsUm9sZXNJZHM6IG51bWJlcltdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIHJvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzQW55R2xvYmFsUm9sZShjdXJyZW50VXNlciwgZ2xvYmFsUm9sZXNJZHMpO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja0lmT3duZXIobW8pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlck5hbWUgPSBhd2FpdCB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKG1vLmlkKTtcbiAgICByZXR1cm4gY3VycmVudFVzZXJOYW1lID09PSBkYXRhLm93bmVyO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBjaGVja1dpdGhSZXF1ZXN0KG1vKSB7XG4gICAgY29uc3QgbW9JZCA9IG1vLmlkO1xuICAgIGNvbnN0IHBhcnRpYWxVcGRhdGVPYmplY3Q6IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge1xuICAgICAgaWQ6IG1vSWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVxuICAgICAgLnVwZGF0ZShwYXJ0aWFsVXBkYXRlT2JqZWN0KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZzogQ2FuRWRpdENvbmZpZykge1xuICAgIGlmICghY29uZmlnPy5za2lwUm9sZXNDaGVjayAmJiAoYXdhaXQgdGhpcy5oYXNBbnlSb2xlKHJvbGVJZHMpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwT3duZXJDaGVjayAmJiAoYXdhaXQgdGhpcy5jaGVja0lmT3duZXIobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwUmVxdWVzdENoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrV2l0aFJlcXVlc3QobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFxRXRCLFlBQ1UsUUFBeUIsRUFDekIsU0FBMkIsRUFDM0IsSUFBaUI7UUFGakIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUN4QixDQUFDO0lBRUo7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsT0FBTyxDQUNMLE9BQU8sRUFDUCxFQUFnQyxFQUNoQyxTQUF3QjtRQUN0QixjQUFjLEVBQUUsS0FBSztRQUNyQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxLQUFLO0tBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMs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O0FBQ2hFLHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELHNDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQzFELHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELDBDQUE4QixHQUFHLGdDQUFnQyxDQUFDO0FBQ2xFLHlDQUE2QixHQUFHLCtCQUErQixDQUFDO0FBQ2hFLHFDQUF5QixHQUFHLDJCQUEyQixDQUFDO3dHQW5FcEQsV0FBVzs0R0FBWCxXQUFXLGNBREUsTUFBTTtBQXNJOUI7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OytDQUt2QjtBQUdEO0lBREMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7OzttREFjdkI7MkZBekpVLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOytKQXNJaEIsWUFBWSxNQU9sQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQsIElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbmV4cG9ydCB0eXBlIENhbkVkaXRDb25maWcgPSB7XG4gIC8qKlxuICAgKiBTa2lwcyByb2xlcyBjaGVjay5cbiAgICovXG4gIHNraXBSb2xlc0NoZWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNraXBzIG1hbmFnZWQgb2JqZWN0IG93bmVyc2hpcCBjaGVjay5cbiAgICovXG4gIHNraXBPd25lckNoZWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqL1xuICBza2lwUmVxdWVzdENoZWNrPzogYm9vbGVhbjtcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnMge1xuICBzdGF0aWMgUk9MRV9BRFZBTkNFRF9TT0ZUV0FSRV9BRE1JTiA9ICdST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQURWQU5DRURfU09GVFdBUkVfUkVBRCA9ICdST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BTEFSTV9BRE1JTiA9ICdST0xFX0FMQVJNX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQUxBUk1fUkVBRCA9ICdST0xFX0FMQVJNX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BTkFMWVRJQ1NCVUlMREVSX1JFQUQgPSAnUk9MRV9BTkFMWVRJQ1NCVUlMREVSX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BUFBMSUNBVElPTl9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FVRElUX0FETUlOID0gJ1JPTEVfQVVESVRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BVURJVF9SRUFEID0gJ1JPTEVfQVVESVRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0JJTkFSWV9BRE1JTiA9ICdST0xFX0JJTkFSWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0JJTkFSWV9DUkVBVEUgPSAnUk9MRV9CSU5BUllfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX1JFQUQgPSAnUk9MRV9CSU5BUllfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0JVTEtfT1BFUkFUSU9OX0FETUlOID0gJ1JPTEVfQlVMS19PUEVSQVRJT05fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9CVUxLX09QRVJBVElPTl9SRUFEID0gJ1JPTEVfQlVMS19PUEVSQVRJT05fUkVBRCc7XG4gIHN0YXRpYyBST0xFX0NFUF9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfQ0VQX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9DRVBfTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfQ0VQX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0RBVEFfQlJPS0VSX0FETUlOID0gJ1JPTEVfREFUQV9CUk9LRVJfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9EQVRBX0JST0tFUl9SRUFEID0gJ1JPTEVfREFUQV9CUk9LRVJfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0RFVklDRV9DT05UUk9MX0FETUlOID0gJ1JPTEVfREVWSUNFX0NPTlRST0xfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9ERVZJQ0VfQ09OVFJPTF9SRUFEID0gJ1JPTEVfREVWSUNFX0NPTlRST0xfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0VNQUlMX0NSRUFURSA9ICdST0xFX0VNQUlMX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX0VQTEFQUFNfUkVBRCA9ICdST0xFX0VQTEFQUFNfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0VWRU5UX0FETUlOID0gJ1JPTEVfRVZFTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9FVkVOVF9SRUFEID0gJ1JPTEVfRVZFTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0dFTkVSSUNfTVFUVF9BRE1JTiA9ICdST0xFX0dFTkVSSUNfTVFUVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lERU5USVRZX0FETUlOID0gJ1JPTEVfSURFTlRJVFlfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9JREVOVElUWV9SRUFEID0gJ1JPTEVfSURFTlRJVFlfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0lOVkVOVE9SWV9BRE1JTiA9ICdST0xFX0lOVkVOVE9SWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lOVkVOVE9SWV9DUkVBVEUgPSAnUk9MRV9JTlZFTlRPUllfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX1JFQUQgPSAnUk9MRV9JTlZFTlRPUllfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01BQ0hJTkVfTEVBUk5JTkdfUkVBRCA9ICdST0xFX01BQ0hJTkVfTEVBUk5JTkdfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX0FETUlOID0gJ1JPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9NQU5BR0VEX09CSkVDVF9DUkVBVEUgPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEID0gJ1JPTEVfTUFOQUdFRF9PQkpFQ1RfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01FQVNVUkVNRU5UX0FETUlOID0gJ1JPTEVfTUVBU1VSRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9NRUFTVVJFTUVOVF9SRUFEID0gJ1JPTEVfTUVBU1VSRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01RVFRfQ09OTkVDVF9BRE1JTiA9ICdST0xFX01RVFRfQ09OTkVDVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01RVFRfU0VSVklDRV9BRE1JTiA9ICdST0xFX01RVFRfU0VSVklDRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX05PVElGSUNBVElPTl8yX0FETUlOID0gJ1JPTEVfTk9USUZJQ0FUSU9OXzJfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9PUFRJT05fTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX09QVElPTl9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfT1BUSU9OX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX09QVElPTl9NQU5BR0VNRU5UX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9QUk9WSVNJT05JTkdfQ1JFQVRFID0gJ1JPTEVfUFJPVklTSU9OSU5HX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19SRUFEID0gJ1JPTEVfUFJPVklTSU9OSU5HX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9QUk9WSVNJT05JTkdfVVBEQVRFID0gJ1JPTEVfUFJPVklTSU9OSU5HX1VQREFURSc7XG4gIHN0YXRpYyBST0xFX1JFTU9URV9BQ0NFU1NfQURNSU4gPSAnUk9MRV9SRU1PVEVfQUNDRVNTX0FETUlOJztcbiAgc3RhdGljIFJPTEVfUkVURU5USU9OX1JVTEVfQURNSU4gPSAnUk9MRV9SRVRFTlRJT05fUlVMRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1JFVEVOVElPTl9SVUxFX1JFQUQgPSAnUk9MRV9SRVRFTlRJT05fUlVMRV9SRUFEJztcbiAgc3RhdGljIFJPTEVfU0NIRURVTEVfUkVQT1JUX0FETUlOID0gJ1JPTEVfU0NIRURVTEVfUkVQT1JUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU0lNVUxBVE9SX0FETUlOID0gJ1JPTEVfU0lNVUxBVE9SX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU01BUlRHUk9VUF9BRE1JTiA9ICdST0xFX1NNQVJUR1JPVVBfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX0NSRUFURSA9ICdST0xFX1NNQVJUR1JPVVBfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfU01BUlRHUk9VUF9VUERBVEUgPSAnUk9MRV9TTUFSVEdST1VQX1VQREFURSc7XG4gIHN0YXRpYyBST0xFX1NNQVJUUlVMRV9BRE1JTiA9ICdST0xFX1NNQVJUUlVMRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNQVJUUlVMRV9SRUFEID0gJ1JPTEVfU01BUlRSVUxFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9TTVNfQURNSU4gPSAnUk9MRV9TTVNfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTVNfUkVBRCA9ICdST0xFX1NNU19SRUFEJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX0FETUlOID0gJ1JPTEVfVEVOQU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0NSRUFURSA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfVVBEQVRFID0gJ1JPTEVfVEVOQU5UX01BTkFHRU1FTlRfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX1NUQVRJU1RJQ1NfUkVBRCA9ICdST0xFX1RFTkFOVF9TVEFUSVNUSUNTX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfQ1JFQVRFID0gJ1JPTEVfVVNFUl9NQU5BR0VNRU5UX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9PV05fQURNSU4gPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9SRUFEID0gJ1JPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9SRUFEJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfUkVBRCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXMgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoZSBnaXZlbiBtby5cbiAgICogKGVpdGhlciB0aHJvdWdoIGdsb2JhbCByb2xlLCBpbmRpdmlkdWFsIGRldmljZSBwZXJtaXNzaW9ucyBvciB2aWEgaW52ZW50b3J5IHJvbGVzKS5cbiAgICpcbiAgICogQHBhcmFtIHthcnJheX0gcm9sZUlkcyBBcnJheSBvZiByb2xlcyB3aGljaCB0aGUgY3VycmVudCB1c2VyIHNob3VsZCBoYXZlLlxuICAgKiBAcGFyYW0ge0lNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWR9IG1vIFRoZSBtYW5hZ2VkIG9iamVjdCBmb3Igd2hpY2ggd2UgYXJlIGNoZWNraW5nIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFjY2Vzcy5cbiAgICogQHBhcmFtIHtDYW5FZGl0Q29uZmlnfSBjb25maWcgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IGNhbiB0YWtlIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuICAgKiAtIGBza2lwUm9sZXNDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIHJvbGVzIGNoZWNrLFxuICAgKiAtIGBza2lwT3duZXJDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIG93bmVyc2hpcCBjaGVjayxcbiAgICogLSBgc2tpcFJlcXVlc3RDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqICAgVUkgd2lsbCBtYWtlIGEgcXVlcnkgdG8gYmFja2VuZCB3aGV0aGVyIHRoZSB1c2VyIGNhbiBlZGl0IHRoZSBtYW5hZ2VkIG9iamVjdC5cbiAgICogICBBIHJlamVjdGlvbiBmcm9tIEJFIGluZGljYXRlcyBhIGxhY2sgb2YgcGVybWlzc2lvbi5cbiAgICovXG4gIGNhbkVkaXQoXG4gICAgcm9sZUlkcyxcbiAgICBtbzogSU1hbmFnZWRPYmplY3QgfCBJSWRlbnRpZmllZCxcbiAgICBjb25maWc6IENhbkVkaXRDb25maWcgPSB7XG4gICAgICBza2lwUm9sZXNDaGVjazogZmFsc2UsXG4gICAgICBza2lwT3duZXJDaGVjazogZmFsc2UsXG4gICAgICBza2lwUmVxdWVzdENoZWNrOiBmYWxzZVxuICAgIH1cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZyk7XG4gIH1cblxuICBoYXNSb2xlKHJvbGVJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWQpO1xuICB9XG5cbiAgaGFzQWxsUm9sZXMocm9sZUlkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb2xlcyBjYW4gb25seSBiZSByZXF1ZXN0ZWQgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FsbFJvbGVzKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueVJvbGUocm9sZUlkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb2xlcyBjYW4gb25seSBiZSByZXF1ZXN0ZWQgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FueVJvbGUoY3VycmVudFVzZXIsIHJvbGVJZHMpO1xuICB9XG5cbiAgaGFzQW55R2xvYmFsUm9sZShnbG9iYWxSb2xlc0lkczogbnVtYmVyW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHbG9iYWwgcm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlHbG9iYWxSb2xlKGN1cnJlbnRVc2VyLCBnbG9iYWxSb2xlc0lkcyk7XG4gIH1cblxuICBAbWVtb2l6ZShwcm9wZXJ0eSgnaWQnKSlcbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrSWZPd25lcihtbykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyTmFtZSA9IGF3YWl0IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUudXNlck5hbWU7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeS5kZXRhaWwobW8uaWQpO1xuICAgIHJldHVybiBjdXJyZW50VXNlck5hbWUgPT09IGRhdGEub3duZXI7XG4gIH1cblxuICBAbWVtb2l6ZShwcm9wZXJ0eSgnaWQnKSlcbiAgcHJvdGVjdGVkIGNoZWNrV2l0aFJlcXVlc3QobW8pIHtcbiAgICBjb25zdCBtb0lkID0gbW8uaWQ7XG4gICAgY29uc3QgcGFydGlhbFVwZGF0ZU9iamVjdDogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4gPSB7XG4gICAgICBpZDogbW9JZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaW52ZW50b3J5XG4gICAgICAudXBkYXRlKHBhcnRpYWxVcGRhdGVPYmplY3QpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0lmQ2FuRWRpdChyb2xlSWRzLCBtbywgY29uZmlnOiBDYW5FZGl0Q29uZmlnKSB7XG4gICAgaWYgKCFjb25maWc/LnNraXBSb2xlc0NoZWNrICYmIChhd2FpdCB0aGlzLmhhc0FueVJvbGUocm9sZUlkcykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFjb25maWc/LnNraXBPd25lckNoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrSWZPd25lcihtbykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFjb25maWc/LnNraXBSZXF1ZXN0Q2hlY2sgJiYgKGF3YWl0IHRoaXMuY2hlY2tXaXRoUmVxdWVzdChtbykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -3,6 +3,7 @@ import { ApplicationType, GrantType, TenantLoginOptionType, UserManagementSource
|
|
|
3
3
|
import { get } from 'lodash-es';
|
|
4
4
|
import { AppStateService } from './ui-state.service';
|
|
5
5
|
import { take } from 'rxjs/operators';
|
|
6
|
+
import { Permissions } from '../common/permissions.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@c8y/client";
|
|
8
9
|
import * as i2 from "./ui-state.service";
|
|
@@ -12,7 +13,7 @@ export class TenantUiService {
|
|
|
12
13
|
this.userService = userService;
|
|
13
14
|
this.appStateService = appStateService;
|
|
14
15
|
this.MANAGEMENT = 'management';
|
|
15
|
-
this.ROLE_TENANT_MANAGEMENT_READ =
|
|
16
|
+
this.ROLE_TENANT_MANAGEMENT_READ = Permissions.ROLE_TENANT_MANAGEMENT_READ;
|
|
16
17
|
}
|
|
17
18
|
/**
|
|
18
19
|
* Returns current tenant
|
|
@@ -237,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
237
238
|
type: Injectable,
|
|
238
239
|
args: [{ providedIn: 'root' }]
|
|
239
240
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.AppStateService }]; } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUtULHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUV0QyxtRkFBbUY7QUFFbkYsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBb0IsV0FBd0IsRUFBVSxlQUFnQztRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUg3RSxlQUFVLEdBQUcsWUFBWSxDQUFDO1FBQzFCLGdDQUEyQixHQUFHLDZCQUE2QixDQUFDO0lBRW9CLENBQUM7SUFFMUY7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUNsRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUksQ0FB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QixFQUFFLENBQ0gsQ0FBQztRQUNGLE9BQU8sVUFBVTthQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7YUFDakMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFvQixFQUFFLGVBQXVCO1FBQzFELElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxZQUFZLENBQUMsYUFBNkI7UUFDaEQsT0FBTyxhQUFhLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQzs7NEdBL1BVLGVBQWU7Z0hBQWYsZUFBZSxjQURGLE1BQU07MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25UeXBlLFxuICBHcmFudFR5cGUsXG4gIElBcHBsaWNhdGlvbixcbiAgSUFwcGxpY2F0aW9uUmVmZXJlbmNlLFxuICBJQ3VycmVudFRlbmFudCxcbiAgSVRlbmFudExvZ2luT3B0aW9uLFxuICBUZW5hbnRMb2dpbk9wdGlvblR5cGUsXG4gIFVzZXJNYW5hZ2VtZW50U291cmNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKiBUaGUgaGVscGVyIFVJIHNlcnZpY2UgZm9yIHRlbmFudCByZWxhdGVkIG1ldGhvZHMgYnVpbHQgdXBvbiBjbGllbnQgc2VydmljZXMuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRlbmFudFVpU2VydmljZSB7XG4gIHJlYWRvbmx5IE1BTkFHRU1FTlQgPSAnbWFuYWdlbWVudCc7XG4gIHJlYWRvbmx5IFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGFwcFN0YXRlU2VydmljZTogQXBwU3RhdGVTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50XG4gICAqL1xuICBnZXQgY3VycmVudFRlbmFudCgpOiBJQ3VycmVudFRlbmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgdGhlIG1hbmFnZW1lbnQgdGVuYW50LlxuICAgKiBAcmV0dXJucyBUcnVlIGlmIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzTWFuYWdlbWVudFRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgY3VycmVudCB0ZW5hbnQgaXMgYW4gZW50ZXJwcmlzZSB0ZW5hbnQuXG4gICAqIEFuIGVudGVycHJpc2UgdGVuYW50IGlzIGEgdGVuYW50IHdoaWNoIGhhcyBzdWJzY3JpYmVkOlxuICAgKiAtIGBicmFuZGluZ2AgbWljcm9zZXJ2aWNlIG9yIGBmZWF0dXJlLWJyYW5kaW5nYCBmZWF0dXJlIGFwcCxcbiAgICogLSBgc3NsbWFuYWdlbWVudGAgbWljcm9zZXJ2aWNlLFxuICAgKiAtIGBmZWF0dXJlLXVzZXItaGllcmFyY2h5YCBmZWF0dXJlIGFwcCxcbiAgICogLSBgZmVhdHVyZS1icm9rZXJgIGZlYXR1cmUgYXBwLlxuICAgKlxuICAgKiBTZWUgaHR0cHM6Ly9jdW11bG9jaXR5LmNvbS9ndWlkZXMvdXNlcnMtZ3VpZGUvZW50ZXJwcmlzZS1lZGl0aW9uLyBmb3IgZGV0YWlscyBhYm91dCBzdWNoIHRlbmFudHMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKi9cbiAgYXN5bmMgaXNFbnRlcnByaXNlVGVuYW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGF2YWlsYWJsZUFwcHNPZlVzZXIgPSBhd2FpdCB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50QXBwc09mVXNlclxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIGNvbnN0IGJyYW5kaW5nQXZhaWxhYmxlID1cbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdicmFuZGluZycpIHx8XG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS1icmFuZGluZycpO1xuXG4gICAgY29uc3QgcmVxdWlyZWRBcHBzQW5kRmVhdHVyZXNBdmFpbGFibGUgPVxuICAgICAgYnJhbmRpbmdBdmFpbGFibGUgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdzc2xtYW5hZ2VtZW50JykgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdmZWF0dXJlLXVzZXItaGllcmFyY2h5JykgJiZcbiAgICAgIHRoaXMuaGFzQXBwKGF2YWlsYWJsZUFwcHNPZlVzZXIsICdmZWF0dXJlLWJyb2tlcicpO1xuXG4gICAgcmV0dXJuIHJlcXVpcmVkQXBwc0FuZEZlYXR1cmVzQXZhaWxhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjdXJyZW50IHVzZXIgaGFzIHJlYWQgYWNjZXNzIHRvIHRlbmFudHMsIGkuZS46XG4gICAqIC0gdGhlIGN1cnJlbnQgdGVuYW50IGNhbiBjcmVhdGUgc3VidGVuYW50cyBvciBpdCdzIHRoZSBtYW5hZ2VtZW50IHRlbmFudCxcbiAgICogLSB0aGUgY3VycmVudCB1c2VyIGhhcyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgcm9sZS5cbiAgICogQHJldHVybnMgVHJ1ZSwgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXMgcmVhZCBhY2Nlc3MgdG8gdGVuYW50cy5cbiAgICovXG4gIGNhblJlYWRUZW5hbnRzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRUZW5hbnQgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFVzZXIudmFsdWU7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmlzTWFuYWdlbWVudChjdXJyZW50VGVuYW50KSB8fCBjdXJyZW50VGVuYW50LmFsbG93Q3JlYXRlVGVuYW50cykgJiZcbiAgICAgIHRoaXMudXNlclNlcnZpY2UuaGFzUm9sZShjdXJyZW50VXNlciwgdGhpcy5ST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdGVuYW50IHByZWZlcnJlZCBsb2dpbiBtb2RlLlxuICAgKi9cbiAgZ2V0Q3VycmVudFRlbmFudFByZWZlcnJlZExvZ2luT3B0aW9uKCk6IElUZW5hbnRMb2dpbk9wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UHJlZmVycmVkTG9naW5PcHRpb24odGhpcy5hcHBTdGF0ZVNlcnZpY2Uuc3RhdGUubG9naW5PcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGN1cnJlbnQgdXNlciBsb2dpbiBtb2RlLlxuICAgKi9cbiAgZ2V0Q3VycmVudFVzZXJMb2dpbk1vZGUoKTogVGVuYW50TG9naW5PcHRpb25UeXBlIHtcbiAgICBjb25zdCBwcmVmZXJyZWRMb2dpbk9wdGlvbiA9IHRoaXMuZ2V0Q3VycmVudFRlbmFudFByZWZlcnJlZExvZ2luT3B0aW9uKCk7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoY3VycmVudFVzZXIuY3VzdG9tUHJvcGVydGllcy51c2VyT3JpZ2luID09PSAnT0FVVEgyJykge1xuICAgICAgcmV0dXJuIFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDI7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzQmFzaWMocHJlZmVycmVkTG9naW5PcHRpb24pXG4gICAgICA/IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQ1xuICAgICAgOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGVuYW50IGxvZ2luIG9wdGlvbiB3aGljaCBpcyBwcmVmZXJyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbnMgVGhlIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSB0ZW5hbnQncyBsb2dpbiBvcHRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyBSZXR1cm5zIElUZW5hbnRMb2dpbk9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IHByZWZlcnJlZExvZ2luT3B0aW9uID0gdGVuYW50TG9naW5PcHRpb25zU2VydmljZS5nZXRQcmVmZXJyZWRMb2dpbk9wdGlvbihsb2dpbk9wdGlvbnMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgZ2V0UHJlZmVycmVkTG9naW5PcHRpb24obG9naW5PcHRpb25zOiBJVGVuYW50TG9naW5PcHRpb25bXSk6IElUZW5hbnRMb2dpbk9wdGlvbiB7XG4gICAgY29uc3QgZGVmYXVsdEZhbGxiYWNrID0ge1xuICAgICAgdHlwZTogVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDLFxuICAgICAgdXNlck1hbmFnZW1lbnRTb3VyY2U6IFVzZXJNYW5hZ2VtZW50U291cmNlLklOVEVSTkFMXG4gICAgfTtcbiAgICBpZiAoIWxvZ2luT3B0aW9ucykge1xuICAgICAgcmV0dXJuIGRlZmF1bHRGYWxsYmFjaztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmlzaWJsZUxvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGhpcy5pc1Zpc2libGVPbkxvZ2luUGFnZSk7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzT2F1dGhJbnRlcm5hbCkgfHxcbiAgICAgICAgdmlzaWJsZUxvZ2luT3B0aW9ucy5maW5kKHRoaXMuaXNCYXNpYykgfHxcbiAgICAgICAgdmlzaWJsZUxvZ2luT3B0aW9ucy5maW5kKHRoaXMuaXNPYXV0aDIpIHx8XG4gICAgICAgIGRlZmF1bHRGYWxsYmFja1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBPYXV0aDIgbG9naW4gb3B0aW9uIGlmIGl0IGNhbiBiZSB1c2VkIGJ5IFVJLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIFRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdGVuYW50J3MgbG9naW4gb3B0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgUmV0dXJucyBJVGVuYW50TG9naW5PcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBvYXV0aDIgPSB0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmdldE9hdXRoMk9wdGlvbihsb2dpbk9wdGlvbnMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgZ2V0T2F1dGgyT3B0aW9uKGxvZ2luT3B0aW9uczogSVRlbmFudExvZ2luT3B0aW9uW10pOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbnMuZmluZChcbiAgICAgIGxvZ2luT3B0aW9uID0+IHRoaXMuaXNWaXNpYmxlT25Mb2dpblBhZ2UobG9naW5PcHRpb24pICYmIHRoaXMuaXNPYXV0aDIobG9naW5PcHRpb24pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIGlzIHZpc2libGUgb24gbG9naW4gcGFnZS5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3QgbG9naW5PcHRpb25zVmlzaWJsZU9uTG9naW5QYWdlID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzVmlzaWJsZU9uTG9naW5QYWdlKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzVmlzaWJsZU9uTG9naW5QYWdlKGxvZ2luT3B0aW9uOiBJVGVuYW50TG9naW5PcHRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb24udmlzaWJsZU9uTG9naW5QYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnT0FVVEgyX0lOVEVSTkFMJy5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgySW50ZXJuYWxMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuaXNPYXV0aEludGVybmFsKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzT2F1dGhJbnRlcm5hbChsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDJfSU5URVJOQUw7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdCQVNJQycuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IGJhc2ljTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzQmFzaWMpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNCYXNpYyhsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ09BVVRIMicgYW5kIGdyYW50VHlwZSBpcyAnQVVUSE9SSVpBVElPTl9DT0RFJy5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9uIFRoZSB0ZW5hbnQgbG9naW4gb3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgyTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLk9BVVRIMik7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc09hdXRoMihsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvZ2luT3B0aW9uLnR5cGUgPT09IFRlbmFudExvZ2luT3B0aW9uVHlwZS5PQVVUSDIgJiZcbiAgICAgIGxvZ2luT3B0aW9uLmdyYW50VHlwZSA9PT0gR3JhbnRUeXBlLkFVVEhPUklaQVRJT05fQ09ERVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFwcGxpY2F0aW9uIG9mIHR5cGUgTUlDUk9TRVJWSUNFIGlzIHN1YnNjcmliZWQgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKiBJdCBjaGVja3MgdGhlIGFwcGxpY2F0aW9uIHJlZmVyZW5jZXMgb2YgdGhlIGN1cnJlbnRUZW5hbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqIE5vIGFkZGl0aW9uYWwgcmVxdWVzdC5cbiAgICogQHBhcmFtIGlkZW50aWZpZXIgYXBwbGljYXRpb24gbmFtZSBvciBjb250ZXh0UGF0aFxuICAgKi9cbiAgaXNNaWNyb3NlcnZpY2VTdWJzY3JpYmVkSW5DdXJyZW50VGVuYW50KGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChpZGVudGlmaWVyPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBtaWNyb3NlcnZpY2VzID0gdGhpcy5nZXRTdWJzY3JpYmVkTWljcm9zZXJ2aWNlc0luQ3VycmVudFRlbmFudCgpO1xuICAgICAgcmV0dXJuIG1pY3Jvc2VydmljZXMuc29tZSgoeyBuYW1lLCBjb250ZXh0UGF0aCB9KSA9PlxuICAgICAgICBbbmFtZSwgY29udGV4dFBhdGhdLmluY2x1ZGVzKGlkZW50aWZpZXIpXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbGwgYXBwbGljYXRpb24gb2YgdHlwZSBNSUNST1NFUlZJQ0Ugc3Vic2NyaWJlZCB0byB0aGUgY3VycmVudCB0ZW5hbnQuXG4gICAqIEl0IGNoZWNrcyB0aGUgYXBwbGljYXRpb24gcmVmZXJlbmNlcyBvZiB0aGUgY3VycmVudFRlbmFudCBmcm9tIHRoZSBhcHBsaWNhdGlvbiBzdGF0ZS5cbiAgICogTm8gYWRkaXRpb25hbCByZXF1ZXN0LlxuICAgKi9cbiAgZ2V0U3Vic2NyaWJlZE1pY3Jvc2VydmljZXNJbkN1cnJlbnRUZW5hbnQoKTogSUFwcGxpY2F0aW9uW10ge1xuICAgIGNvbnN0IHJlZmVyZW5jZXM6IElBcHBsaWNhdGlvblJlZmVyZW5jZVtdID0gZ2V0KFxuICAgICAgdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudCxcbiAgICAgICd2YWx1ZS5hcHBsaWNhdGlvbnMucmVmZXJlbmNlcycsXG4gICAgICBbXVxuICAgICk7XG4gICAgcmV0dXJuIHJlZmVyZW5jZXNcbiAgICAgIC5tYXAoYXBwUmVmID0+IGFwcFJlZi5hcHBsaWNhdGlvbilcbiAgICAgIC5maWx0ZXIoYXBwID0+IGFwcC50eXBlID09PSBBcHBsaWNhdGlvblR5cGUuTUlDUk9TRVJWSUNFKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzQXBwKGFwcHM6IElBcHBsaWNhdGlvbltdLCByZXF1aXJlZEFwcE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghYXBwcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBhcHBzLnNvbWUoYXBwID0+IGFwcC5uYW1lID09PSByZXF1aXJlZEFwcE5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc01hbmFnZW1lbnQoY3VycmVudFRlbmFudDogSUN1cnJlbnRUZW5hbnQpIHtcbiAgICByZXR1cm4gY3VycmVudFRlbmFudC5uYW1lID09PSB0aGlzLk1BTkFHRU1FTlQ7XG4gIH1cbn1cbiJdfQ==
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2NvbW1vbi90ZW5hbnQtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUtULHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsV0FBVyxFQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFNUQsbUZBQW1GO0FBRW5GLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQW9CLFdBQXdCLEVBQVUsZUFBZ0M7UUFBbEUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFIN0UsZUFBVSxHQUFHLFlBQVksQ0FBQztRQUMxQixnQ0FBMkIsR0FBRyxXQUFXLENBQUMsMkJBQTJCLENBQUM7SUFFVSxDQUFDO0lBRTFGOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxL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QUFHLENBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUNsQywrQkFBK0IsRUFDL0IsRUFBRSxDQUNILENBQUM7UUFDRixPQUFPLFVBQVU7YUFDZCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxNQUFNLENBQUMsSUFBb0IsRUFBRSxlQUF1QjtRQUMxRCxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sWUFBWSxDQUFDLGFBQTZCO1FBQ2hELE9BQU8sYUFBYSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ2hELENBQUM7OzRHQS9QVSxlQUFlO2dIQUFmLGVBQWUsY0FERixNQUFNOzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uVHlwZSxcbiAgR3JhbnRUeXBlLFxuICBJQXBwbGljYXRpb24sXG4gIElBcHBsaWNhdGlvblJlZmVyZW5jZSxcbiAgSUN1cnJlbnRUZW5hbnQsXG4gIElUZW5hbnRMb2dpbk9wdGlvbixcbiAgVGVuYW50TG9naW5PcHRpb25UeXBlLFxuICBVc2VyTWFuYWdlbWVudFNvdXJjZSxcbiAgVXNlclNlcnZpY2Vcbn0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLi9jb21tb24vcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbi8qKiBUaGUgaGVscGVyIFVJIHNlcnZpY2UgZm9yIHRlbmFudCByZWxhdGVkIG1ldGhvZHMgYnVpbHQgdXBvbiBjbGllbnQgc2VydmljZXMuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRlbmFudFVpU2VydmljZSB7XG4gIHJlYWRvbmx5IE1BTkFHRU1FTlQgPSAnbWFuYWdlbWVudCc7XG4gIHJlYWRvbmx5IFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9IFBlcm1pc3Npb25zLlJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSwgcHJpdmF0ZSBhcHBTdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSkge31cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHRlbmFudFxuICAgKi9cbiAgZ2V0IGN1cnJlbnRUZW5hbnQoKTogSUN1cnJlbnRUZW5hbnQge1xuICAgIHJldHVybiB0aGlzLmFwcFN0YXRlU2VydmljZS5jdXJyZW50VGVuYW50LnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGN1cnJlbnQgdGVuYW50IGlzIHRoZSBtYW5hZ2VtZW50IHRlbmFudC5cbiAgICogQHJldHVybnMgVHJ1ZSBpZiBjdXJyZW50IHRlbmFudCBpcyB0aGUgbWFuYWdlbWVudCB0ZW5hbnQuXG4gICAqL1xuICBhc3luYyBpc01hbmFnZW1lbnRUZW5hbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY3VycmVudFRlbmFudCA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQudmFsdWU7XG4gICAgcmV0dXJuIHRoaXMuaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGN1cnJlbnQgdGVuYW50IGlzIGFuIGVudGVycHJpc2UgdGVuYW50LlxuICAgKiBBbiBlbnRlcnByaXNlIHRlbmFudCBpcyBhIHRlbmFudCB3aGljaCBoYXMgc3Vic2NyaWJlZDpcbiAgICogLSBgYnJhbmRpbmdgIG1pY3Jvc2VydmljZSBvciBgZmVhdHVyZS1icmFuZGluZ2AgZmVhdHVyZSBhcHAsXG4gICAqIC0gYHNzbG1hbmFnZW1lbnRgIG1pY3Jvc2VydmljZSxcbiAgICogLSBgZmVhdHVyZS11c2VyLWhpZXJhcmNoeWAgZmVhdHVyZSBhcHAsXG4gICAqIC0gYGZlYXR1cmUtYnJva2VyYCBmZWF0dXJlIGFwcC5cbiAgICpcbiAgICogU2VlIGh0dHBzOi8vY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3VzZXJzLWd1aWRlL2VudGVycHJpc2UtZWRpdGlvbi8gZm9yIGRldGFpbHMgYWJvdXQgc3VjaCB0ZW5hbnRzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUcnVlLCBpZiBjdXJyZW50IHRlbmFudCBpcyBhbiBlbnRlcnByaXNlIHRlbmFudC5cbiAgICovXG4gIGFzeW5jIGlzRW50ZXJwcmlzZVRlbmFudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhdmFpbGFibGVBcHBzT2ZVc2VyID0gYXdhaXQgdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudEFwcHNPZlVzZXJcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICBjb25zdCBicmFuZGluZ0F2YWlsYWJsZSA9XG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnYnJhbmRpbmcnKSB8fFxuICAgICAgdGhpcy5oYXNBcHAoYXZhaWxhYmxlQXBwc09mVXNlciwgJ2ZlYXR1cmUtYnJhbmRpbmcnKTtcblxuICAgIGNvbnN0IHJlcXVpcmVkQXBwc0FuZEZlYXR1cmVzQXZhaWxhYmxlID1cbiAgICAgIGJyYW5kaW5nQXZhaWxhYmxlICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnc3NsbWFuYWdlbWVudCcpICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS11c2VyLWhpZXJhcmNoeScpICYmXG4gICAgICB0aGlzLmhhc0FwcChhdmFpbGFibGVBcHBzT2ZVc2VyLCAnZmVhdHVyZS1icm9rZXInKTtcblxuICAgIHJldHVybiByZXF1aXJlZEFwcHNBbmRGZWF0dXJlc0F2YWlsYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY3VycmVudCB1c2VyIGhhcyByZWFkIGFjY2VzcyB0byB0ZW5hbnRzLCBpLmUuOlxuICAgKiAtIHRoZSBjdXJyZW50IHRlbmFudCBjYW4gY3JlYXRlIHN1YnRlbmFudHMgb3IgaXQncyB0aGUgbWFuYWdlbWVudCB0ZW5hbnQsXG4gICAqIC0gdGhlIGN1cnJlbnQgdXNlciBoYXMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEIHJvbGUuXG4gICAqIEByZXR1cm5zIFRydWUsIGlmIHRoZSBjdXJyZW50IHVzZXIgaGFzIHJlYWQgYWNjZXNzIHRvIHRlbmFudHMuXG4gICAqL1xuICBjYW5SZWFkVGVuYW50cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50VGVuYW50ID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFRlbmFudC52YWx1ZTtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5pc01hbmFnZW1lbnQoY3VycmVudFRlbmFudCkgfHwgY3VycmVudFRlbmFudC5hbGxvd0NyZWF0ZVRlbmFudHMpICYmXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLmhhc1JvbGUoY3VycmVudFVzZXIsIHRoaXMuUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHRlbmFudCBwcmVmZXJyZWQgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmdldFByZWZlcnJlZExvZ2luT3B0aW9uKHRoaXMuYXBwU3RhdGVTZXJ2aWNlLnN0YXRlLmxvZ2luT3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBjdXJyZW50IHVzZXIgbG9naW4gbW9kZS5cbiAgICovXG4gIGdldEN1cnJlbnRVc2VyTG9naW5Nb2RlKCk6IFRlbmFudExvZ2luT3B0aW9uVHlwZSB7XG4gICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb24gPSB0aGlzLmdldEN1cnJlbnRUZW5hbnRQcmVmZXJyZWRMb2dpbk9wdGlvbigpO1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKGN1cnJlbnRVc2VyLmN1c3RvbVByb3BlcnRpZXMudXNlck9yaWdpbiA9PT0gJ09BVVRIMicpIHtcbiAgICAgIHJldHVybiBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pc0Jhc2ljKHByZWZlcnJlZExvZ2luT3B0aW9uKVxuICAgICAgPyBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUNcbiAgICAgIDogVGVuYW50TG9naW5PcHRpb25UeXBlLk9BVVRIMl9JTlRFUk5BTDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRlbmFudCBsb2dpbiBvcHRpb24gd2hpY2ggaXMgcHJlZmVycmVkLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb25zIFRoZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgdGVuYW50J3MgbG9naW4gb3B0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgUmV0dXJucyBJVGVuYW50TG9naW5PcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBwcmVmZXJyZWRMb2dpbk9wdGlvbiA9IHRlbmFudExvZ2luT3B0aW9uc1NlcnZpY2UuZ2V0UHJlZmVycmVkTG9naW5PcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldFByZWZlcnJlZExvZ2luT3B0aW9uKGxvZ2luT3B0aW9uczogSVRlbmFudExvZ2luT3B0aW9uW10pOiBJVGVuYW50TG9naW5PcHRpb24ge1xuICAgIGNvbnN0IGRlZmF1bHRGYWxsYmFjayA9IHtcbiAgICAgIHR5cGU6IFRlbmFudExvZ2luT3B0aW9uVHlwZS5CQVNJQyxcbiAgICAgIHVzZXJNYW5hZ2VtZW50U291cmNlOiBVc2VyTWFuYWdlbWVudFNvdXJjZS5JTlRFUk5BTFxuICAgIH07XG4gICAgaWYgKCFsb2dpbk9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBkZWZhdWx0RmFsbGJhY2s7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZpc2libGVMb2dpbk9wdGlvbnMgPSBsb2dpbk9wdGlvbnMuZmlsdGVyKHRoaXMuaXNWaXNpYmxlT25Mb2dpblBhZ2UpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICB2aXNpYmxlTG9naW5PcHRpb25zLmZpbmQodGhpcy5pc09hdXRoSW50ZXJuYWwpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzQmFzaWMpIHx8XG4gICAgICAgIHZpc2libGVMb2dpbk9wdGlvbnMuZmluZCh0aGlzLmlzT2F1dGgyKSB8fFxuICAgICAgICBkZWZhdWx0RmFsbGJhY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgT2F1dGgyIGxvZ2luIG9wdGlvbiBpZiBpdCBjYW4gYmUgdXNlZCBieSBVSS5cbiAgICpcbiAgICogQHBhcmFtIGxvZ2luT3B0aW9ucyBUaGUgbGlzdCBvZiBhbGwgYXZhaWxhYmxlIHRlbmFudCdzIGxvZ2luIG9wdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIFJldHVybnMgSVRlbmFudExvZ2luT3B0aW9uLlxuICAgKlxuICAgKiAqKkV4YW1wbGUqKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqXG4gICAqICAgICgoKSA9PiB7XG4gICAqICAgICAgY29uc3Qgb2F1dGgyID0gdGVuYW50TG9naW5PcHRpb25zU2VydmljZS5nZXRPYXV0aDJPcHRpb24obG9naW5PcHRpb25zKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGdldE9hdXRoMk9wdGlvbihsb2dpbk9wdGlvbnM6IElUZW5hbnRMb2dpbk9wdGlvbltdKTogSVRlbmFudExvZ2luT3B0aW9uIHtcbiAgICByZXR1cm4gbG9naW5PcHRpb25zLmZpbmQoXG4gICAgICBsb2dpbk9wdGlvbiA9PiB0aGlzLmlzVmlzaWJsZU9uTG9naW5QYWdlKGxvZ2luT3B0aW9uKSAmJiB0aGlzLmlzT2F1dGgyKGxvZ2luT3B0aW9uKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiBpcyB2aXNpYmxlIG9uIGxvZ2luIHBhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IGxvZ2luT3B0aW9uc1Zpc2libGVPbkxvZ2luUGFnZSA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc1Zpc2libGVPbkxvZ2luUGFnZSk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc1Zpc2libGVPbkxvZ2luUGFnZShsb2dpbk9wdGlvbjogSVRlbmFudExvZ2luT3B0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGxvZ2luT3B0aW9uLnZpc2libGVPbkxvZ2luUGFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB3aGljaCBjaGVja3MgaWYgbG9naW4gb3B0aW9uIHR5cGUgaXMgJ09BVVRIMl9JTlRFUk5BTCcuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkludGVybmFsTG9naW5PcHRpb25zID0gbG9naW5PcHRpb25zLmZpbHRlcih0ZW5hbnRMb2dpbk9wdGlvbnNTZXJ2aWNlLmlzT2F1dGhJbnRlcm5hbCk7XG4gICAqICAgfSkoKTtcbiAgICogYGBgXG4gICAqL1xuICBpc09hdXRoSW50ZXJuYWwobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIHdoaWNoIGNoZWNrcyBpZiBsb2dpbiBvcHRpb24gdHlwZSBpcyAnQkFTSUMnLlxuICAgKlxuICAgKiBAcGFyYW0gbG9naW5PcHRpb24gVGhlIHRlbmFudCBsb2dpbiBvcHRpb24uXG4gICAqXG4gICAqICoqRXhhbXBsZSoqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICpcbiAgICogICAgKCgpID0+IHtcbiAgICogICAgICBjb25zdCBiYXNpY0xvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5pc0Jhc2ljKTtcbiAgICogICB9KSgpO1xuICAgKiBgYGBcbiAgICovXG4gIGlzQmFzaWMobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGJhY2sgd2hpY2ggY2hlY2tzIGlmIGxvZ2luIG9wdGlvbiB0eXBlIGlzICdPQVVUSDInIGFuZCBncmFudFR5cGUgaXMgJ0FVVEhPUklaQVRJT05fQ09ERScuXG4gICAqXG4gICAqIEBwYXJhbSBsb2dpbk9wdGlvbiBUaGUgdGVuYW50IGxvZ2luIG9wdGlvbi5cbiAgICpcbiAgICogKipFeGFtcGxlKipcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKlxuICAgKiAgICAoKCkgPT4ge1xuICAgKiAgICAgIGNvbnN0IG9hdXRoMkxvZ2luT3B0aW9ucyA9IGxvZ2luT3B0aW9ucy5maWx0ZXIodGVuYW50TG9naW5PcHRpb25zU2VydmljZS5PQVVUSDIpO1xuICAgKiAgIH0pKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgaXNPYXV0aDIobG9naW5PcHRpb246IElUZW5hbnRMb2dpbk9wdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBsb2dpbk9wdGlvbi50eXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyICYmXG4gICAgICBsb2dpbk9wdGlvbi5ncmFudFR5cGUgPT09IEdyYW50VHlwZS5BVVRIT1JJWkFUSU9OX0NPREVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhcHBsaWNhdGlvbiBvZiB0eXBlIE1JQ1JPU0VSVklDRSBpcyBzdWJzY3JpYmVkIHRvIHRoZSBjdXJyZW50IHRlbmFudC5cbiAgICogSXQgY2hlY2tzIHRoZSBhcHBsaWNhdGlvbiByZWZlcmVuY2VzIG9mIHRoZSBjdXJyZW50VGVuYW50IGZyb20gdGhlIGFwcGxpY2F0aW9uIHN0YXRlLlxuICAgKiBObyBhZGRpdGlvbmFsIHJlcXVlc3QuXG4gICAqIEBwYXJhbSBpZGVudGlmaWVyIGFwcGxpY2F0aW9uIG5hbWUgb3IgY29udGV4dFBhdGhcbiAgICovXG4gIGlzTWljcm9zZXJ2aWNlU3Vic2NyaWJlZEluQ3VycmVudFRlbmFudChpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoaWRlbnRpZmllcj8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbWljcm9zZXJ2aWNlcyA9IHRoaXMuZ2V0U3Vic2NyaWJlZE1pY3Jvc2VydmljZXNJbkN1cnJlbnRUZW5hbnQoKTtcbiAgICAgIHJldHVybiBtaWNyb3NlcnZpY2VzLnNvbWUoKHsgbmFtZSwgY29udGV4dFBhdGggfSkgPT5cbiAgICAgICAgW25hbWUsIGNvbnRleHRQYXRoXS5pbmNsdWRlcyhpZGVudGlmaWVyKVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIGFwcGxpY2F0aW9uIG9mIHR5cGUgTUlDUk9TRVJWSUNFIHN1YnNjcmliZWQgdG8gdGhlIGN1cnJlbnQgdGVuYW50LlxuICAgKiBJdCBjaGVja3MgdGhlIGFwcGxpY2F0aW9uIHJlZmVyZW5jZXMgb2YgdGhlIGN1cnJlbnRUZW5hbnQgZnJvbSB0aGUgYXBwbGljYXRpb24gc3RhdGUuXG4gICAqIE5vIGFkZGl0aW9uYWwgcmVxdWVzdC5cbiAgICovXG4gIGdldFN1YnNjcmliZWRNaWNyb3NlcnZpY2VzSW5DdXJyZW50VGVuYW50KCk6IElBcHBsaWNhdGlvbltdIHtcbiAgICBjb25zdCByZWZlcmVuY2VzOiBJQXBwbGljYXRpb25SZWZlcmVuY2VbXSA9IGdldChcbiAgICAgIHRoaXMuYXBwU3RhdGVTZXJ2aWNlLmN1cnJlbnRUZW5hbnQsXG4gICAgICAndmFsdWUuYXBwbGljYXRpb25zLnJlZmVyZW5jZXMnLFxuICAgICAgW11cbiAgICApO1xuICAgIHJldHVybiByZWZlcmVuY2VzXG4gICAgICAubWFwKGFwcFJlZiA9PiBhcHBSZWYuYXBwbGljYXRpb24pXG4gICAgICAuZmlsdGVyKGFwcCA9PiBhcHAudHlwZSA9PT0gQXBwbGljYXRpb25UeXBlLk1JQ1JPU0VSVklDRSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0FwcChhcHBzOiBJQXBwbGljYXRpb25bXSwgcmVxdWlyZWRBcHBOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIWFwcHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gYXBwcy5zb21lKGFwcCA9PiBhcHAubmFtZSA9PT0gcmVxdWlyZWRBcHBOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNNYW5hZ2VtZW50KGN1cnJlbnRUZW5hbnQ6IElDdXJyZW50VGVuYW50KSB7XG4gICAgcmV0dXJuIGN1cnJlbnRUZW5hbnQubmFtZSA9PT0gdGhpcy5NQU5BR0VNRU5UO1xuICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import { filter, first, map, switchMap } from 'rxjs/operators';
|
|
|
5
5
|
import { AppStateService } from '../ui-state.service';
|
|
6
6
|
import { UserPreferencesStorageLocal } from './user-preferences-storage-local';
|
|
7
7
|
import { UserPreferencesStorageInventory } from './user-preferences-store-inventory';
|
|
8
|
+
import { Permissions } from '../permissions.service';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@c8y/client";
|
|
10
11
|
import * as i2 from "../ui-state.service";
|
|
@@ -89,7 +90,10 @@ export class UserPreferencesService {
|
|
|
89
90
|
* @returns A proper storage.
|
|
90
91
|
*/
|
|
91
92
|
getStorage(user) {
|
|
92
|
-
return this.user.hasAllRoles(user, [
|
|
93
|
+
return this.user.hasAllRoles(user, [
|
|
94
|
+
Permissions.ROLE_INVENTORY_READ,
|
|
95
|
+
Permissions.ROLE_INVENTORY_ADMIN
|
|
96
|
+
])
|
|
93
97
|
? this.storage.inventory
|
|
94
98
|
: this.storage.local;
|
|
95
99
|
}
|
|
@@ -100,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
100
104
|
type: Injectable,
|
|
101
105
|
args: [{ providedIn: 'root' }]
|
|
102
106
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i1.InventoryService }, { type: i2.AppStateService }]; } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUdyRCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsSUFBaUIsRUFDakIsU0FBMkIsRUFDM0IsUUFBeUI7UUFGekIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVRuQyx1QkFBa0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVcxRCxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksMkJBQTJCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFD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QUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7O21IQTlHVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURULE1BQU07MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlLCBJVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBjb25jYXQsIGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWwgfSBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtc3RvcmFnZS1sb2NhbCc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5IH0gZnJvbSAnLi91c2VyLXByZWZlcmVuY2VzLXN0b3JlLWludmVudG9yeSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZSB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlLm1vZGVsJztcbmltcG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XG4gIGN1cnJlbnRVc2VyOiBPYnNlcnZhYmxlPElVc2VyPjtcbiAgcHJlZmVyZW5jZUNoYW5nZXMkOiBTdWJqZWN0PFVzZXJQcmVmZXJlbmNlPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgc3RvcmFnZToge1xuICAgIGxvY2FsOiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWw7XG4gICAgaW52ZW50b3J5OiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5O1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHtcbiAgICAgIGxvY2FsOiBuZXcgVXNlclByZWZlcmVuY2VzU3RvcmFnZUxvY2FsKCksXG4gICAgICBpbnZlbnRvcnk6IG5ldyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5KHRoaXMuaW52ZW50b3J5KVxuICAgIH07XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIucGlwZShmaWx0ZXIoY3VycmVudFVzZXIgPT4gY3VycmVudFVzZXIgIT09IG51bGwpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgYSB1c2VyIHByZWZlcmVuY2Ugd2l0aCBnaXZlbiBrZXkuXG4gICAqIEVtaXRzIGl0cyBpbml0aWFsIHZhbHVlIGZpcnN0IGFuZCB0aGVuIHVwZGF0ZWQgdmFsdWVzIHdoZW4gc2V0IGJ5IHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSBvZiBhIHVzZXIgcHJlZmVyZW5jZS5cbiAgICovXG4gIG9ic2VydmU8VD4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gY29uY2F0KFxuICAgICAgdGhpcy5nZXQoa2V5KSxcbiAgICAgIHRoaXMucHJlZmVyZW5jZUNoYW5nZXMkLnBpcGUoXG4gICAgICAgIGZpbHRlcihjaGFuZ2UgPT4gY2hhbmdlLmtleSA9PT0ga2V5KSxcbiAgICAgICAgbWFwKGNoYW5nZSA9PiBjaGFuZ2UudmFsdWUpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gT2JzZXJ2YWJsZSB2YWx1ZSBmb3Igc2VhcmNoZWQga2V5IGZvciBjdXJyZW50IHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB3aXRoIHRoZSB2YWx1ZSBvZiBwcmVmZXJlbmNlLlxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VXNlci5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHRoaXMuZ2V0Rm9yVXNlcihrZXksIHVzZXIpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIHZhbHVlIGluIHN0b3JhZ2UgZm9yIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHRoZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RvcmFnZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHNhdmVkIHZhbHVlLlxuICAgKi9cbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50VXNlci5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgdGhpcy5wcmVmZXJlbmNlQ2hhbmdlcyQubmV4dCh7IGtleSwgdmFsdWUgfSk7XG4gICAgICAgIHJlc29sdmUodGhpcy5zZXRGb3JVc2VyKGtleSwgdmFsdWUsIHVzZXIpKTtcbiAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIE9ic2VydmFibGUgdmFsdWUgb2Ygc2VhcmNoZWQga2V5IGZvciBhIHNwZWNpZmljIHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgZm9yIHdob20gdGhlIHNlYXJjaCBpcyBkb25lLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHdpdGggdGhlIHZhbHVlIG9mIHByZWZlcmVuY2UuXG4gICAqL1xuICBnZXRGb3JVc2VyKGtleTogc3RyaW5nLCB1c2VyOiBJVXNlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcmF3S2V5ID0gdGhpcy5nZXRSYXdLZXkoa2V5LCB1c2VyKTtcbiAgICBjb25zdCBzdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKHVzZXIpO1xuICAgIHJldHVybiBmcm9tKHN0b3JhZ2UuZ2V0KHJhd0tleSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSB2YWx1ZSBpbiBzdG9yYWdlIGZvciBhIHNwZWNpZmljIHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciB0aGUgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0b3JhZ2UgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCBzYXZlZCB2YWx1ZS5cbiAgICovXG4gIHNldEZvclVzZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHVzZXI6IElVc2VyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCByYXdLZXkgPSB0aGlzLmdldFJhd0tleShrZXksIHVzZXIpO1xuICAgIGNvbnN0IHN0b3JhZ2UgPSB0aGlzLmdldFN0b3JhZ2UodXNlcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdG9yYWdlLnNldChyYXdLZXksIHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3RyaW5nIG9mIGtleSBjb25jYXRlbmF0ZWQgd2l0aCB1c2VybmFtZS5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgc2VhcmNoIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIG9mIGtleSBjb25jYXRlbmF0ZWQgd2l0aCB1c2VybmFtZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0UmF3S2V5KGtleTogc3RyaW5nLCB1c2VyOiBJVXNlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdXNlcm5hbWUgPSB1c2VyLnVzZXJOYW1lLnJlcGxhY2UoL1xcLi9nLCAnX18nKTtcbiAgICByZXR1cm4gYCR7a2V5fSR7dXNlcm5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgcHJvcGVyIHN0b3JhZ2UgZGVwZW5kaW5nIG9uIHRoZSB1c2VyIHJvbGVzLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgcm9sZSBjaGVjayBpcyBkb25lLlxuICAgKiBAcmV0dXJucyBBIHByb3BlciBzdG9yYWdlLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTdG9yYWdlKHVzZXI6IElVc2VyKTogVXNlclByZWZlcmVuY2VzU3RvcmFnZUludmVudG9yeSB8IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyh1c2VyLCBbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9SRUFELFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU5cbiAgICBdKVxuICAgICAgPyB0aGlzLnN0b3JhZ2UuaW52ZW50b3J5XG4gICAgICA6IHRoaXMuc3RvcmFnZS5sb2NhbDtcbiAgfVxufVxuIl19
|