@c8y/ngx-components 1018.0.196 → 1018.0.203

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.
Files changed (49) hide show
  1. package/core/common/global-config.service.d.ts +1 -1
  2. package/core/common/permissions.service.d.ts +2 -2
  3. package/core/i18n/pattern-messages.data.d.ts +20 -20
  4. package/esm2020/assets-navigator/asset-node.service.mjs +9 -3
  5. package/esm2020/context-dashboard/add-dashboard.factory.mjs +10 -3
  6. package/esm2020/context-dashboard/context-dashboard.service.mjs +11 -3
  7. package/esm2020/context-dashboard/dashboard-detail.component.mjs +7 -2
  8. package/esm2020/context-dashboard/report-dashboard/report-dashboard-list.component.mjs +4 -2
  9. package/esm2020/core/common/global-config.service.mjs +6 -2
  10. package/esm2020/core/common/permissions.service.mjs +2 -2
  11. package/esm2020/core/common/user-preferences/user-preferences.service.mjs +6 -2
  12. package/esm2020/core/i18n/pattern-messages.data.mjs +21 -21
  13. package/esm2020/files-repository/files-repository.guard.mjs +6 -5
  14. package/esm2020/map/map.model.mjs +3 -3
  15. package/esm2020/repository/configuration/device-tab/configuration-preview.component.mjs +11 -3
  16. package/esm2020/sub-assets/add-group/add-group.component.mjs +7 -2
  17. package/esm2020/sub-assets/groups.component.mjs +5 -2
  18. package/esm2020/sub-assets/sub-assets.component.mjs +7 -2
  19. package/esm2020/sub-assets/sub-assets.service.mjs +12 -6
  20. package/fesm2015/c8y-ngx-components-assets-navigator.mjs +8 -2
  21. package/fesm2015/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  22. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +28 -6
  23. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  24. package/fesm2015/c8y-ngx-components-files-repository.mjs +5 -4
  25. package/fesm2015/c8y-ngx-components-files-repository.mjs.map +1 -1
  26. package/fesm2015/c8y-ngx-components-map.mjs +2 -2
  27. package/fesm2015/c8y-ngx-components-map.mjs.map +1 -1
  28. package/fesm2015/c8y-ngx-components-repository-configuration.mjs +10 -2
  29. package/fesm2015/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  30. package/fesm2015/c8y-ngx-components-sub-assets.mjs +27 -8
  31. package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
  32. package/fesm2015/c8y-ngx-components.mjs +31 -23
  33. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  34. package/fesm2020/c8y-ngx-components-assets-navigator.mjs +8 -2
  35. package/fesm2020/c8y-ngx-components-assets-navigator.mjs.map +1 -1
  36. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +28 -6
  37. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  38. package/fesm2020/c8y-ngx-components-files-repository.mjs +5 -4
  39. package/fesm2020/c8y-ngx-components-files-repository.mjs.map +1 -1
  40. package/fesm2020/c8y-ngx-components-map.mjs +2 -2
  41. package/fesm2020/c8y-ngx-components-map.mjs.map +1 -1
  42. package/fesm2020/c8y-ngx-components-repository-configuration.mjs +10 -2
  43. package/fesm2020/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  44. package/fesm2020/c8y-ngx-components-sub-assets.mjs +27 -8
  45. package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
  46. package/fesm2020/c8y-ngx-components.mjs +31 -23
  47. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  48. package/map/map.model.d.ts +1 -1
  49. package/package.json +1 -1
@@ -18,7 +18,7 @@ export class Permissions {
18
18
  * Checks if the current user has write permissions for the given mo.
19
19
  * (either through global role, individual device permissions or via inventory roles).
20
20
  *
21
- * @param {array} roleIds Array of roles which the current user should have.
21
+ * @param roleIds The array of role ids to check if the current user have at least one of them.
22
22
  * @param {IManagedObject | IIdentified} mo The managed object for which we are checking whether the user has access.
23
23
  * @param {CanEditConfig} config A configuration object that can take the following values:
24
24
  * - `skipRolesCheck`: `boolean` - skips roles check,
@@ -179,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
179
179
  type: Injectable,
180
180
  args: [{ providedIn: 'root' }]
181
181
  }], ctorParameters: function () { return [{ type: i1.AppStateService }, { type: i2.InventoryService }, { type: i2.UserService }]; }, propDecorators: { checkIfOwner: [], checkWithRequest: [] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFxRXRCLFlBQ1UsUUFBeUIsRUFDekIsU0FBMkIsRUFDM0IsSUFBaUI7UUFGakIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUN4QixDQUFDO0lBRUo7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsT0FBTyxDQUNMLE9BQU8sRUFDUCxFQUFnQyxFQUNoQyxTQUF3QjtRQUN0QixjQUFjLEVBQUUsS0FBSztRQUNyQixjQUFjLEVBQUUsS0FBSztRQUNyQixnQkFBZ0IsRUFBRSxLQUFLO0tBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMs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O0FBQ2hFLHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELHNDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQzFELHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELDBDQUE4QixHQUFHLGdDQUFnQyxDQUFDO0FBQ2xFLHlDQUE2QixHQUFHLCtCQUErQixDQUFDO0FBQ2hFLHFDQUF5QixHQUFHLDJCQUEyQixDQUFDO3dHQW5FcEQsV0FBVzs0R0FBWCxXQUFXLGNBREUsTUFBTTtBQXNJOUI7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7OytDQUt2QjtBQUdEO0lBREMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7OzttREFjdkI7MkZBekpVLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOytKQXNJaEIsWUFBWSxNQU9sQixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUlkZW50aWZpZWQsIElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gJy4vbWVtb2l6ZS5kZWNvcmF0b3InO1xuaW1wb3J0IHsgVXNlclNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbmV4cG9ydCB0eXBlIENhbkVkaXRDb25maWcgPSB7XG4gIC8qKlxuICAgKiBTa2lwcyByb2xlcyBjaGVjay5cbiAgICovXG4gIHNraXBSb2xlc0NoZWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNraXBzIG1hbmFnZWQgb2JqZWN0IG93bmVyc2hpcCBjaGVjay5cbiAgICovXG4gIHNraXBPd25lckNoZWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqL1xuICBza2lwUmVxdWVzdENoZWNrPzogYm9vbGVhbjtcbn07XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnMge1xuICBzdGF0aWMgUk9MRV9BRFZBTkNFRF9TT0ZUV0FSRV9BRE1JTiA9ICdST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQURWQU5DRURfU09GVFdBUkVfUkVBRCA9ICdST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BTEFSTV9BRE1JTiA9ICdST0xFX0FMQVJNX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQUxBUk1fUkVBRCA9ICdST0xFX0FMQVJNX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BTkFMWVRJQ1NCVUlMREVSX1JFQUQgPSAnUk9MRV9BTkFMWVRJQ1NCVUlMREVSX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9BUFBMSUNBVElPTl9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FVRElUX0FETUlOID0gJ1JPTEVfQVVESVRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BVURJVF9SRUFEID0gJ1JPTEVfQVVESVRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0JJTkFSWV9BRE1JTiA9ICdST0xFX0JJTkFSWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0JJTkFSWV9DUkVBVEUgPSAnUk9MRV9CSU5BUllfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX1JFQUQgPSAnUk9MRV9CSU5BUllfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0JVTEtfT1BFUkFUSU9OX0FETUlOID0gJ1JPTEVfQlVMS19PUEVSQVRJT05fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9CVUxLX09QRVJBVElPTl9SRUFEID0gJ1JPTEVfQlVMS19PUEVSQVRJT05fUkVBRCc7XG4gIHN0YXRpYyBST0xFX0NFUF9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfQ0VQX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9DRVBfTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfQ0VQX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0RBVEFfQlJPS0VSX0FETUlOID0gJ1JPTEVfREFUQV9CUk9LRVJfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9EQVRBX0JST0tFUl9SRUFEID0gJ1JPTEVfREFUQV9CUk9LRVJfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0RFVklDRV9DT05UUk9MX0FETUlOID0gJ1JPTEVfREVWSUNFX0NPTlRST0xfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9ERVZJQ0VfQ09OVFJPTF9SRUFEID0gJ1JPTEVfREVWSUNFX0NPTlRST0xfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0VNQUlMX0NSRUFURSA9ICdST0xFX0VNQUlMX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX0VQTEFQUFNfUkVBRCA9ICdST0xFX0VQTEFQUFNfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0VWRU5UX0FETUlOID0gJ1JPTEVfRVZFTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9FVkVOVF9SRUFEID0gJ1JPTEVfRVZFTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0dFTkVSSUNfTVFUVF9BRE1JTiA9ICdST0xFX0dFTkVSSUNfTVFUVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lERU5USVRZX0FETUlOID0gJ1JPTEVfSURFTlRJVFlfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9JREVOVElUWV9SRUFEID0gJ1JPTEVfSURFTlRJVFlfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0lOVkVOVE9SWV9BRE1JTiA9ICdST0xFX0lOVkVOVE9SWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lOVkVOVE9SWV9DUkVBVEUgPSAnUk9MRV9JTlZFTlRPUllfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX1JFQUQgPSAnUk9MRV9JTlZFTlRPUllfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01BQ0hJTkVfTEVBUk5JTkdfUkVBRCA9ICdST0xFX01BQ0hJTkVfTEVBUk5JTkdfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX0FETUlOID0gJ1JPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9NQU5BR0VEX09CSkVDVF9DUkVBVEUgPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEID0gJ1JPTEVfTUFOQUdFRF9PQkpFQ1RfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01FQVNVUkVNRU5UX0FETUlOID0gJ1JPTEVfTUVBU1VSRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9NRUFTVVJFTUVOVF9SRUFEID0gJ1JPTEVfTUVBU1VSRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX01RVFRfQ09OTkVDVF9BRE1JTiA9ICdST0xFX01RVFRfQ09OTkVDVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01RVFRfU0VSVklDRV9BRE1JTiA9ICdST0xFX01RVFRfU0VSVklDRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX05PVElGSUNBVElPTl8yX0FETUlOID0gJ1JPTEVfTk9USUZJQ0FUSU9OXzJfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9PUFRJT05fTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX09QVElPTl9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfT1BUSU9OX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX09QVElPTl9NQU5BR0VNRU5UX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9QUk9WSVNJT05JTkdfQ1JFQVRFID0gJ1JPTEVfUFJPVklTSU9OSU5HX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19SRUFEID0gJ1JPTEVfUFJPVklTSU9OSU5HX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9QUk9WSVNJT05JTkdfVVBEQVRFID0gJ1JPTEVfUFJPVklTSU9OSU5HX1VQREFURSc7XG4gIHN0YXRpYyBST0xFX1JFTU9URV9BQ0NFU1NfQURNSU4gPSAnUk9MRV9SRU1PVEVfQUNDRVNTX0FETUlOJztcbiAgc3RhdGljIFJPTEVfUkVURU5USU9OX1JVTEVfQURNSU4gPSAnUk9MRV9SRVRFTlRJT05fUlVMRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1JFVEVOVElPTl9SVUxFX1JFQUQgPSAnUk9MRV9SRVRFTlRJT05fUlVMRV9SRUFEJztcbiAgc3RhdGljIFJPTEVfU0NIRURVTEVfUkVQT1JUX0FETUlOID0gJ1JPTEVfU0NIRURVTEVfUkVQT1JUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU0lNVUxBVE9SX0FETUlOID0gJ1JPTEVfU0lNVUxBVE9SX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU01BUlRHUk9VUF9BRE1JTiA9ICdST0xFX1NNQVJUR1JPVVBfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX0NSRUFURSA9ICdST0xFX1NNQVJUR1JPVVBfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfU01BUlRHUk9VUF9VUERBVEUgPSAnUk9MRV9TTUFSVEdST1VQX1VQREFURSc7XG4gIHN0YXRpYyBST0xFX1NNQVJUUlVMRV9BRE1JTiA9ICdST0xFX1NNQVJUUlVMRV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNQVJUUlVMRV9SRUFEID0gJ1JPTEVfU01BUlRSVUxFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9TTVNfQURNSU4gPSAnUk9MRV9TTVNfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTVNfUkVBRCA9ICdST0xFX1NNU19SRUFEJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX0FETUlOID0gJ1JPTEVfVEVOQU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0NSRUFURSA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfVVBEQVRFID0gJ1JPTEVfVEVOQU5UX01BTkFHRU1FTlRfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX1NUQVRJU1RJQ1NfUkVBRCA9ICdST0xFX1RFTkFOVF9TVEFUSVNUSUNTX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfQ1JFQVRFID0gJ1JPTEVfVVNFUl9NQU5BR0VNRU5UX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9PV05fQURNSU4gPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9SRUFEID0gJ1JPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9SRUFEJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfUkVBRCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaW52ZW50b3J5OiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2VcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXMgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoZSBnaXZlbiBtby5cbiAgICogKGVpdGhlciB0aHJvdWdoIGdsb2JhbCByb2xlLCBpbmRpdmlkdWFsIGRldmljZSBwZXJtaXNzaW9ucyBvciB2aWEgaW52ZW50b3J5IHJvbGVzKS5cbiAgICpcbiAgICogQHBhcmFtIHthcnJheX0gcm9sZUlkcyBBcnJheSBvZiByb2xlcyB3aGljaCB0aGUgY3VycmVudCB1c2VyIHNob3VsZCBoYXZlLlxuICAgKiBAcGFyYW0ge0lNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWR9IG1vIFRoZSBtYW5hZ2VkIG9iamVjdCBmb3Igd2hpY2ggd2UgYXJlIGNoZWNraW5nIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFjY2Vzcy5cbiAgICogQHBhcmFtIHtDYW5FZGl0Q29uZmlnfSBjb25maWcgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IGNhbiB0YWtlIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuICAgKiAtIGBza2lwUm9sZXNDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIHJvbGVzIGNoZWNrLFxuICAgKiAtIGBza2lwT3duZXJDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIG93bmVyc2hpcCBjaGVjayxcbiAgICogLSBgc2tpcFJlcXVlc3RDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqICAgVUkgd2lsbCBtYWtlIGEgcXVlcnkgdG8gYmFja2VuZCB3aGV0aGVyIHRoZSB1c2VyIGNhbiBlZGl0IHRoZSBtYW5hZ2VkIG9iamVjdC5cbiAgICogICBBIHJlamVjdGlvbiBmcm9tIEJFIGluZGljYXRlcyBhIGxhY2sgb2YgcGVybWlzc2lvbi5cbiAgICovXG4gIGNhbkVkaXQoXG4gICAgcm9sZUlkcyxcbiAgICBtbzogSU1hbmFnZWRPYmplY3QgfCBJSWRlbnRpZmllZCxcbiAgICBjb25maWc6IENhbkVkaXRDb25maWcgPSB7XG4gICAgICBza2lwUm9sZXNDaGVjazogZmFsc2UsXG4gICAgICBza2lwT3duZXJDaGVjazogZmFsc2UsXG4gICAgICBza2lwUmVxdWVzdENoZWNrOiBmYWxzZVxuICAgIH1cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZyk7XG4gIH1cblxuICBoYXNSb2xlKHJvbGVJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWQpO1xuICB9XG5cbiAgaGFzQWxsUm9sZXMocm9sZUlkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb2xlcyBjYW4gb25seSBiZSByZXF1ZXN0ZWQgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FsbFJvbGVzKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueVJvbGUocm9sZUlkczogc3RyaW5nW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSb2xlcyBjYW4gb25seSBiZSByZXF1ZXN0ZWQgaWYgdGhlIHVzZXIgaXMgbG9nZ2VkIGluLicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FueVJvbGUoY3VycmVudFVzZXIsIHJvbGVJZHMpO1xuICB9XG5cbiAgaGFzQW55R2xvYmFsUm9sZShnbG9iYWxSb2xlc0lkczogbnVtYmVyW10pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWU7XG4gICAgaWYgKCFjdXJyZW50VXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHbG9iYWwgcm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlHbG9iYWxSb2xlKGN1cnJlbnRVc2VyLCBnbG9iYWxSb2xlc0lkcyk7XG4gIH1cblxuICBAbWVtb2l6ZShwcm9wZXJ0eSgnaWQnKSlcbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrSWZPd25lcihtbykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyTmFtZSA9IGF3YWl0IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIudmFsdWUudXNlck5hbWU7XG4gICAgY29uc3QgeyBkYXRhIH0gPSBhd2FpdCB0aGlzLmludmVudG9yeS5kZXRhaWwobW8uaWQpO1xuICAgIHJldHVybiBjdXJyZW50VXNlck5hbWUgPT09IGRhdGEub3duZXI7XG4gIH1cblxuICBAbWVtb2l6ZShwcm9wZXJ0eSgnaWQnKSlcbiAgcHJvdGVjdGVkIGNoZWNrV2l0aFJlcXVlc3QobW8pIHtcbiAgICBjb25zdCBtb0lkID0gbW8uaWQ7XG4gICAgY29uc3QgcGFydGlhbFVwZGF0ZU9iamVjdDogUGFydGlhbDxJTWFuYWdlZE9iamVjdD4gPSB7XG4gICAgICBpZDogbW9JZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaW52ZW50b3J5XG4gICAgICAudXBkYXRlKHBhcnRpYWxVcGRhdGVPYmplY3QpXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0lmQ2FuRWRpdChyb2xlSWRzLCBtbywgY29uZmlnOiBDYW5FZGl0Q29uZmlnKSB7XG4gICAgaWYgKCFjb25maWc/LnNraXBSb2xlc0NoZWNrICYmIChhd2FpdCB0aGlzLmhhc0FueVJvbGUocm9sZUlkcykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFjb25maWc/LnNraXBPd25lckNoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrSWZPd25lcihtbykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFjb25maWc/LnNraXBSZXF1ZXN0Q2hlY2sgJiYgKGF3YWl0IHRoaXMuY2hlY2tXaXRoUmVxdWVzdChtbykpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Blcm1pc3Npb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBK0IsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQWtCMUMsTUFBTSxPQUFPLFdBQVc7SUFxRXRCLFlBQ1UsUUFBeUIsRUFDekIsU0FBMkIsRUFDM0IsSUFBaUI7UUFGakIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsU0FBSSxHQUFKLElBQUksQ0FBYTtJQUN4QixDQUFDO0lBRUo7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsT0FBTyxDQUNMLE9BQWlCLEVBQ2pCLEVBQWdDLEVBQ2hDLFNBQXdCO1FBQ3RCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLEtBQUs7S0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO1NBQzFFO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFpQjtRQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7U0FDMUU7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWlCO1FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUMxRTtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxjQUF3QjtRQUN2QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUM7U0FDakY7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFHUyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUU7UUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwRCxPQUFPLGVBQWUsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUFHUyxnQkFBZ0IsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxtQkFBbUIsR0FBNEI7WUFDbkQsRUFBRSxFQUFFLElBQUk7U0FDVCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsU0FBUzthQUNsQixNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDM0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQXFCO1FBQzdELElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkUsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3pFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O0FBbktNLHdDQUE0QixHQUFHLDhCQUE4QixDQUFDO0FBQzlELHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELDRCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ3RDLDJCQUFlLEdBQUcsaUJBQWlCLENBQUM7QUFDcEMsc0NBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFDMUQsNkNBQWlDLEdBQUcsbUNBQW1DLENBQUM7QUFDeEUsNENBQWdDLEdBQUcsa0NBQWtDLENBQUM7QUFDdEUsNEJBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFDdEMsMkJBQWUsR0FBRyxpQkFBaUIsQ0FBQztBQUNwQyw2QkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUN4Qyw4QkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUMxQyw0QkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUN0QyxxQ0FBeUIsR0FBRywyQkFBMkIsQ0FBQztBQUN4RCxvQ0FBd0IsR0FBRywwQkFBMEIsQ0FBQztBQUN0RCxxQ0FBeUIsR0FBRywyQkFBMkIsQ0FBQztBQUN4RCxvQ0FBd0IsR0FBRywwQkFBMEIsQ0FBQztBQUN0RCxrQ0FBc0IsR0FBRyx3QkFBd0IsQ0FBQztBQUNsRCxpQ0FBcUIsR0FBRyx1QkFBdUIsQ0FBQztBQUNoRCxxQ0FBeUIsR0FBRywyQkFBMkIsQ0FBQztBQUN4RCxvQ0FBd0IsR0FBRywwQkFBMEIsQ0FBQztBQUN0RCw2QkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUN4Qyw2QkFBaUIsR0FBRyxtQkFBbUIsQ0FBQztBQUN4Qyw0QkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUN0QywyQkFBZSxHQUFHLGlCQUFpQixDQUFDO0FBQ3BDLG1DQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBQ3BELCtCQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQzVDLDhCQUFrQixHQUFHLG9CQUFvQixDQUFDO0FBQzFDLGdDQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzlDLGlDQUFxQixHQUFHLHVCQUF1QixDQUFDO0FBQ2hELCtCQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQzVDLHNDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQzFELHFDQUF5QixHQUFHLDJCQUEyQixDQUFDO0FBQ3hELHNDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQzFELG9DQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ3RELGtDQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2xELGlDQUFxQixHQUFHLHVCQUF1QixDQUFDO0FBQ2hELG1DQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBQ3BELG1DQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBQ3BELHFDQUF5QixHQUFHLDJCQUEyQixDQUFDO0FBQ3hELHdDQUE0QixHQUFHLDhCQUE4QixDQUFDO0FBQzlELHVDQUEyQixHQUFHLDZCQUE2QixDQUFDO0FBQzVELG9DQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ3RELGtDQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2xELG9DQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ3RELG9DQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ3RELHFDQUF5QixHQUFHLDJCQUEyQixDQUFDO0FBQ3hELG9DQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ3RELHNDQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBQzFELGdDQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzlDLGlDQUFxQixHQUFHLHVCQUF1QixDQUFDO0FBQ2hELGtDQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2xELGtDQUFzQixHQUFHLHdCQUF3QixDQUFDO0FBQ2xELGdDQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBQzlDLCtCQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQzVDLDBCQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFDbEMseUJBQWEsR0FBRyxlQUFlLENBQUM7QUFDaEMsNkJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFDeEMsd0NBQTRCLEdBQUcsOEJBQThCLENBQUM7QUFDOUQseUNBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDaEUsdUNBQTJCLEdBQUcsNkJBQTZCLENBQUM7QUFDNUQseUNBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDaEUsdUNBQTJCLEdBQUcsNkJBQTZCLENBQUM7QUFDNUQsc0NBQTBCLEdBQUcsNEJBQTRCLENBQUM7QUFDMUQsdUNBQTJCLEdBQUcsNkJBQTZCLENBQUM7QUFDNUQsMENBQThCLEdBQUcsZ0NBQWdDLENBQUM7QUFDbEUseUNBQTZCLEdBQUcsK0JBQStCLENBQUM7QUFDaEUscUNBQXlCLEdBQUcsMkJBQTJCLENBQUM7d0dBbkVwRCxXQUFXOzRHQUFYLFdBQVcsY0FERSxNQUFNO0FBc0k5QjtJQURDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7K0NBS3ZCO0FBR0Q7SUFEQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O21EQWN2QjsyRkF6SlUsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7K0pBc0loQixZQUFZLE1BT2xCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBJSWRlbnRpZmllZCwgSU1hbmFnZWRPYmplY3QsIEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnLi9tZW1vaXplLmRlY29yYXRvcic7XG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuZXhwb3J0IHR5cGUgQ2FuRWRpdENvbmZpZyA9IHtcbiAgLyoqXG4gICAqIFNraXBzIHJvbGVzIGNoZWNrLlxuICAgKi9cbiAgc2tpcFJvbGVzQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgbWFuYWdlZCBvYmplY3Qgb3duZXJzaGlwIGNoZWNrLlxuICAgKi9cbiAgc2tpcE93bmVyQ2hlY2s/OiBib29sZWFuO1xuICAvKipcbiAgICogU2tpcHMgY2hlY2tzIHdpdGggYSBxdWVyeSB0byB0aGUgaW52ZW50b3J5IEFQSS5cbiAgICovXG4gIHNraXBSZXF1ZXN0Q2hlY2s/OiBib29sZWFuO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9ucyB7XG4gIHN0YXRpYyBST0xFX0FEVkFOQ0VEX1NPRlRXQVJFX0FETUlOID0gJ1JPTEVfQURWQU5DRURfU09GVFdBUkVfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BRFZBTkNFRF9TT0ZUV0FSRV9SRUFEID0gJ1JPTEVfQURWQU5DRURfU09GVFdBUkVfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FMQVJNX0FETUlOID0gJ1JPTEVfQUxBUk1fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9BTEFSTV9SRUFEID0gJ1JPTEVfQUxBUk1fUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FOQUxZVElDU0JVSUxERVJfUkVBRCA9ICdST0xFX0FOQUxZVElDU0JVSUxERVJfUkVBRCc7XG4gIHN0YXRpYyBST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9BUFBMSUNBVElPTl9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfQVVESVRfQURNSU4gPSAnUk9MRV9BVURJVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0FVRElUX1JFQUQgPSAnUk9MRV9BVURJVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX0FETUlOID0gJ1JPTEVfQklOQVJZX0FETUlOJztcbiAgc3RhdGljIFJPTEVfQklOQVJZX0NSRUFURSA9ICdST0xFX0JJTkFSWV9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9CSU5BUllfUkVBRCA9ICdST0xFX0JJTkFSWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfQlVMS19PUEVSQVRJT05fQURNSU4gPSAnUk9MRV9CVUxLX09QRVJBVElPTl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0JVTEtfT1BFUkFUSU9OX1JFQUQgPSAnUk9MRV9CVUxLX09QRVJBVElPTl9SRUFEJztcbiAgc3RhdGljIFJPTEVfQ0VQX01BTkFHRU1FTlRfQURNSU4gPSAnUk9MRV9DRVBfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0NFUF9NQU5BR0VNRU5UX1JFQUQgPSAnUk9MRV9DRVBfTUFOQUdFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfREFUQV9CUk9LRVJfQURNSU4gPSAnUk9MRV9EQVRBX0JST0tFUl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0RBVEFfQlJPS0VSX1JFQUQgPSAnUk9MRV9EQVRBX0JST0tFUl9SRUFEJztcbiAgc3RhdGljIFJPTEVfREVWSUNFX0NPTlRST0xfQURNSU4gPSAnUk9MRV9ERVZJQ0VfQ09OVFJPTF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0RFVklDRV9DT05UUk9MX1JFQUQgPSAnUk9MRV9ERVZJQ0VfQ09OVFJPTF9SRUFEJztcbiAgc3RhdGljIFJPTEVfRU1BSUxfQ1JFQVRFID0gJ1JPTEVfRU1BSUxfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfRVBMQVBQU19SRUFEID0gJ1JPTEVfRVBMQVBQU19SRUFEJztcbiAgc3RhdGljIFJPTEVfRVZFTlRfQURNSU4gPSAnUk9MRV9FVkVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0VWRU5UX1JFQUQgPSAnUk9MRV9FVkVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfR0VORVJJQ19NUVRUX0FETUlOID0gJ1JPTEVfR0VORVJJQ19NUVRUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfSURFTlRJVFlfQURNSU4gPSAnUk9MRV9JREVOVElUWV9BRE1JTic7XG4gIHN0YXRpYyBST0xFX0lERU5USVRZX1JFQUQgPSAnUk9MRV9JREVOVElUWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX0FETUlOID0gJ1JPTEVfSU5WRU5UT1JZX0FETUlOJztcbiAgc3RhdGljIFJPTEVfSU5WRU5UT1JZX0NSRUFURSA9ICdST0xFX0lOVkVOVE9SWV9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9JTlZFTlRPUllfUkVBRCA9ICdST0xFX0lOVkVOVE9SWV9SRUFEJztcbiAgc3RhdGljIFJPTEVfTUFDSElORV9MRUFSTklOR19SRUFEID0gJ1JPTEVfTUFDSElORV9MRUFSTklOR19SRUFEJztcbiAgc3RhdGljIFJPTEVfTUFOQUdFRF9PQkpFQ1RfQURNSU4gPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURSA9ICdST0xFX01BTkFHRURfT0JKRUNUX0NSRUFURSc7XG4gIHN0YXRpYyBST0xFX01BTkFHRURfT0JKRUNUX1JFQUQgPSAnUk9MRV9NQU5BR0VEX09CSkVDVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfTUVBU1VSRU1FTlRfQURNSU4gPSAnUk9MRV9NRUFTVVJFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX01FQVNVUkVNRU5UX1JFQUQgPSAnUk9MRV9NRUFTVVJFTUVOVF9SRUFEJztcbiAgc3RhdGljIFJPTEVfTVFUVF9DT05ORUNUX0FETUlOID0gJ1JPTEVfTVFUVF9DT05ORUNUX0FETUlOJztcbiAgc3RhdGljIFJPTEVfTVFUVF9TRVJWSUNFX0FETUlOID0gJ1JPTEVfTVFUVF9TRVJWSUNFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfTk9USUZJQ0FUSU9OXzJfQURNSU4gPSAnUk9MRV9OT1RJRklDQVRJT05fMl9BRE1JTic7XG4gIHN0YXRpYyBST0xFX09QVElPTl9NQU5BR0VNRU5UX0FETUlOID0gJ1JPTEVfT1BUSU9OX01BTkFHRU1FTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9PUFRJT05fTUFOQUdFTUVOVF9SRUFEID0gJ1JPTEVfT1BUSU9OX01BTkFHRU1FTlRfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19DUkVBVEUgPSAnUk9MRV9QUk9WSVNJT05JTkdfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfUFJPVklTSU9OSU5HX1JFQUQgPSAnUk9MRV9QUk9WSVNJT05JTkdfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1BST1ZJU0lPTklOR19VUERBVEUgPSAnUk9MRV9QUk9WSVNJT05JTkdfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfUkVNT1RFX0FDQ0VTU19BRE1JTiA9ICdST0xFX1JFTU9URV9BQ0NFU1NfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9SRVRFTlRJT05fUlVMRV9BRE1JTiA9ICdST0xFX1JFVEVOVElPTl9SVUxFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfUkVURU5USU9OX1JVTEVfUkVBRCA9ICdST0xFX1JFVEVOVElPTl9SVUxFX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9TQ0hFRFVMRV9SRVBPUlRfQURNSU4gPSAnUk9MRV9TQ0hFRFVMRV9SRVBPUlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TSU1VTEFUT1JfQURNSU4gPSAnUk9MRV9TSU1VTEFUT1JfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX0FETUlOID0gJ1JPTEVfU01BUlRHUk9VUF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNQVJUR1JPVVBfQ1JFQVRFID0gJ1JPTEVfU01BUlRHUk9VUF9DUkVBVEUnO1xuICBzdGF0aWMgUk9MRV9TTUFSVEdST1VQX1VQREFURSA9ICdST0xFX1NNQVJUR1JPVVBfVVBEQVRFJztcbiAgc3RhdGljIFJPTEVfU01BUlRSVUxFX0FETUlOID0gJ1JPTEVfU01BUlRSVUxFX0FETUlOJztcbiAgc3RhdGljIFJPTEVfU01BUlRSVUxFX1JFQUQgPSAnUk9MRV9TTUFSVFJVTEVfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1NNU19BRE1JTiA9ICdST0xFX1NNU19BRE1JTic7XG4gIHN0YXRpYyBST0xFX1NNU19SRUFEID0gJ1JPTEVfU01TX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfQURNSU4gPSAnUk9MRV9URU5BTlRfQURNSU4nO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX0FETUlOJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfQ1JFQVRFID0gJ1JPTEVfVEVOQU5UX01BTkFHRU1FTlRfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfVEVOQU5UX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1RFTkFOVF9NQU5BR0VNRU5UX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9VUERBVEUgPSAnUk9MRV9URU5BTlRfTUFOQUdFTUVOVF9VUERBVEUnO1xuICBzdGF0aWMgUk9MRV9URU5BTlRfU1RBVElTVElDU19SRUFEID0gJ1JPTEVfVEVOQU5UX1NUQVRJU1RJQ1NfUkVBRCc7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9BRE1JTiA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9BRE1JTic7XG4gIHN0YXRpYyBST0xFX1VTRVJfTUFOQUdFTUVOVF9DUkVBVEUgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfQ1JFQVRFJztcbiAgc3RhdGljIFJPTEVfVVNFUl9NQU5BR0VNRU5UX09XTl9BRE1JTiA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9PV05fQURNSU4nO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX1JFQUQgPSAnUk9MRV9VU0VSX01BTkFHRU1FTlRfT1dOX1JFQUQnO1xuICBzdGF0aWMgUk9MRV9VU0VSX01BTkFHRU1FTlRfUkVBRCA9ICdST0xFX1VTRVJfTUFOQUdFTUVOVF9SRUFEJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIGdpdmVuIG1vLlxuICAgKiAoZWl0aGVyIHRocm91Z2ggZ2xvYmFsIHJvbGUsIGluZGl2aWR1YWwgZGV2aWNlIHBlcm1pc3Npb25zIG9yIHZpYSBpbnZlbnRvcnkgcm9sZXMpLlxuICAgKlxuICAgKiBAcGFyYW0gcm9sZUlkcyBUaGUgYXJyYXkgb2Ygcm9sZSBpZHMgdG8gY2hlY2sgaWYgdGhlIGN1cnJlbnQgdXNlciBoYXZlIGF0IGxlYXN0IG9uZSBvZiB0aGVtLlxuICAgKiBAcGFyYW0ge0lNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWR9IG1vIFRoZSBtYW5hZ2VkIG9iamVjdCBmb3Igd2hpY2ggd2UgYXJlIGNoZWNraW5nIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFjY2Vzcy5cbiAgICogQHBhcmFtIHtDYW5FZGl0Q29uZmlnfSBjb25maWcgQSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IGNhbiB0YWtlIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuICAgKiAtIGBza2lwUm9sZXNDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIHJvbGVzIGNoZWNrLFxuICAgKiAtIGBza2lwT3duZXJDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIG93bmVyc2hpcCBjaGVjayxcbiAgICogLSBgc2tpcFJlcXVlc3RDaGVja2A6IGBib29sZWFuYCAtIHNraXBzIGNoZWNrcyB3aXRoIGEgcXVlcnkgdG8gdGhlIGludmVudG9yeSBBUEkuXG4gICAqICAgVUkgd2lsbCBtYWtlIGEgcXVlcnkgdG8gYmFja2VuZCB3aGV0aGVyIHRoZSB1c2VyIGNhbiBlZGl0IHRoZSBtYW5hZ2VkIG9iamVjdC5cbiAgICogICBBIHJlamVjdGlvbiBmcm9tIEJFIGluZGljYXRlcyBhIGxhY2sgb2YgcGVybWlzc2lvbi5cbiAgICovXG4gIGNhbkVkaXQoXG4gICAgcm9sZUlkczogc3RyaW5nW10sXG4gICAgbW86IElNYW5hZ2VkT2JqZWN0IHwgSUlkZW50aWZpZWQsXG4gICAgY29uZmlnOiBDYW5FZGl0Q29uZmlnID0ge1xuICAgICAgc2tpcFJvbGVzQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcE93bmVyQ2hlY2s6IGZhbHNlLFxuICAgICAgc2tpcFJlcXVlc3RDaGVjazogZmFsc2VcbiAgICB9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrSWZDYW5FZGl0KHJvbGVJZHMsIG1vLCBjb25maWcpO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci52YWx1ZTtcbiAgICBpZiAoIWN1cnJlbnRVc2VyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzUm9sZShjdXJyZW50VXNlciwgcm9sZUlkKTtcbiAgfVxuXG4gIGhhc0FsbFJvbGVzKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyhjdXJyZW50VXNlciwgcm9sZUlkcyk7XG4gIH1cblxuICBoYXNBbnlSb2xlKHJvbGVJZHM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9sZXMgY2FuIG9ubHkgYmUgcmVxdWVzdGVkIGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbnlSb2xlKGN1cnJlbnRVc2VyLCByb2xlSWRzKTtcbiAgfVxuXG4gIGhhc0FueUdsb2JhbFJvbGUoZ2xvYmFsUm9sZXNJZHM6IG51bWJlcltdKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlO1xuICAgIGlmICghY3VycmVudFVzZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR2xvYmFsIHJvbGVzIGNhbiBvbmx5IGJlIHJlcXVlc3RlZCBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVzZXIuaGFzQW55R2xvYmFsUm9sZShjdXJyZW50VXNlciwgZ2xvYmFsUm9sZXNJZHMpO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBhc3luYyBjaGVja0lmT3duZXIobW8pIHtcbiAgICBjb25zdCBjdXJyZW50VXNlck5hbWUgPSBhd2FpdCB0aGlzLmFwcFN0YXRlLmN1cnJlbnRVc2VyLnZhbHVlLnVzZXJOYW1lO1xuICAgIGNvbnN0IHsgZGF0YSB9ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuZGV0YWlsKG1vLmlkKTtcbiAgICByZXR1cm4gY3VycmVudFVzZXJOYW1lID09PSBkYXRhLm93bmVyO1xuICB9XG5cbiAgQG1lbW9pemUocHJvcGVydHkoJ2lkJykpXG4gIHByb3RlY3RlZCBjaGVja1dpdGhSZXF1ZXN0KG1vKSB7XG4gICAgY29uc3QgbW9JZCA9IG1vLmlkO1xuICAgIGNvbnN0IHBhcnRpYWxVcGRhdGVPYmplY3Q6IFBhcnRpYWw8SU1hbmFnZWRPYmplY3Q+ID0ge1xuICAgICAgaWQ6IG1vSWRcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVxuICAgICAgLnVwZGF0ZShwYXJ0aWFsVXBkYXRlT2JqZWN0KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tJZkNhbkVkaXQocm9sZUlkcywgbW8sIGNvbmZpZzogQ2FuRWRpdENvbmZpZykge1xuICAgIGlmICghY29uZmlnPy5za2lwUm9sZXNDaGVjayAmJiAoYXdhaXQgdGhpcy5oYXNBbnlSb2xlKHJvbGVJZHMpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwT3duZXJDaGVjayAmJiAoYXdhaXQgdGhpcy5jaGVja0lmT3duZXIobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghY29uZmlnPy5za2lwUmVxdWVzdENoZWNrICYmIChhd2FpdCB0aGlzLmNoZWNrV2l0aFJlcXVlc3QobW8pKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -93,7 +93,11 @@ export class UserPreferencesService {
93
93
  return this.user.hasAllRoles(user, [
94
94
  Permissions.ROLE_INVENTORY_READ,
95
95
  Permissions.ROLE_INVENTORY_ADMIN
96
- ])
96
+ ]) ||
97
+ this.user.hasAllRoles(user, [
98
+ Permissions.ROLE_MANAGED_OBJECT_ADMIN,
99
+ Permissions.ROLE_MANAGED_OBJECT_READ
100
+ ])
97
101
  ? this.storage.inventory
98
102
  : this.storage.local;
99
103
  }
@@ -104,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
104
108
  type: Injectable,
105
109
  args: [{ providedIn: 'root' }]
106
110
  }], ctorParameters: function () { return [{ type: i1.UserService }, { type: i1.InventoryService }, { type: i2.AppStateService }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUdyRCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsSUFBaUIsRUFDakIsU0FBMkIsRUFDM0IsUUFBeUI7UUFGekIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVRuQyx1QkFBa0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVcxRCxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksMkJBQTJCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFD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QUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDeEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7O21IQTlHVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURULE1BQU07MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlLCBJVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBjb25jYXQsIGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vdWktc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWwgfSBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtc3RvcmFnZS1sb2NhbCc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5IH0gZnJvbSAnLi91c2VyLXByZWZlcmVuY2VzLXN0b3JlLWludmVudG9yeSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZSB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlLm1vZGVsJztcbmltcG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVXNlclByZWZlcmVuY2VzU2VydmljZSB7XG4gIGN1cnJlbnRVc2VyOiBPYnNlcnZhYmxlPElVc2VyPjtcbiAgcHJlZmVyZW5jZUNoYW5nZXMkOiBTdWJqZWN0PFVzZXJQcmVmZXJlbmNlPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgc3RvcmFnZToge1xuICAgIGxvY2FsOiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWw7XG4gICAgaW52ZW50b3J5OiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5O1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdXNlcjogVXNlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3RvcmFnZSA9IHtcbiAgICAgIGxvY2FsOiBuZXcgVXNlclByZWZlcmVuY2VzU3RvcmFnZUxvY2FsKCksXG4gICAgICBpbnZlbnRvcnk6IG5ldyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5KHRoaXMuaW52ZW50b3J5KVxuICAgIH07XG4gICAgdGhpcy5jdXJyZW50VXNlciA9IHRoaXMuYXBwU3RhdGUuY3VycmVudFVzZXIucGlwZShmaWx0ZXIoY3VycmVudFVzZXIgPT4gY3VycmVudFVzZXIgIT09IG51bGwpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgYSB1c2VyIHByZWZlcmVuY2Ugd2l0aCBnaXZlbiBrZXkuXG4gICAqIEVtaXRzIGl0cyBpbml0aWFsIHZhbHVlIGZpcnN0IGFuZCB0aGVuIHVwZGF0ZWQgdmFsdWVzIHdoZW4gc2V0IGJ5IHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSBvZiBhIHVzZXIgcHJlZmVyZW5jZS5cbiAgICovXG4gIG9ic2VydmU8VD4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gY29uY2F0KFxuICAgICAgdGhpcy5nZXQoa2V5KSxcbiAgICAgIHRoaXMucHJlZmVyZW5jZUNoYW5nZXMkLnBpcGUoXG4gICAgICAgIGZpbHRlcihjaGFuZ2UgPT4gY2hhbmdlLmtleSA9PT0ga2V5KSxcbiAgICAgICAgbWFwKGNoYW5nZSA9PiBjaGFuZ2UudmFsdWUpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gT2JzZXJ2YWJsZSB2YWx1ZSBmb3Igc2VhcmNoZWQga2V5IGZvciBjdXJyZW50IHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHJldHVybnMgQW4gT2JzZXJ2YWJsZSB3aXRoIHRoZSB2YWx1ZSBvZiBwcmVmZXJlbmNlLlxuICAgKi9cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VXNlci5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIHN3aXRjaE1hcCh1c2VyID0+IHRoaXMuZ2V0Rm9yVXNlcihrZXksIHVzZXIpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIHZhbHVlIGluIHN0b3JhZ2UgZm9yIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHRoZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RvcmFnZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHNhdmVkIHZhbHVlLlxuICAgKi9cbiAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50VXNlci5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgICAgdGhpcy5wcmVmZXJlbmNlQ2hhbmdlcyQubmV4dCh7IGtleSwgdmFsdWUgfSk7XG4gICAgICAgIHJlc29sdmUodGhpcy5zZXRGb3JVc2VyKGtleSwgdmFsdWUsIHVzZXIpKTtcbiAgICAgIH0sIHJlamVjdCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFuIE9ic2VydmFibGUgdmFsdWUgb2Ygc2VhcmNoZWQga2V5IGZvciBhIHNwZWNpZmljIHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciBzZWFyY2hlZCB2YWx1ZS5cbiAgICogQHBhcmFtIHVzZXIgVGhlIHVzZXIgZm9yIHdob20gdGhlIHNlYXJjaCBpcyBkb25lLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHdpdGggdGhlIHZhbHVlIG9mIHByZWZlcmVuY2UuXG4gICAqL1xuICBnZXRGb3JVc2VyKGtleTogc3RyaW5nLCB1c2VyOiBJVXNlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcmF3S2V5ID0gdGhpcy5nZXRSYXdLZXkoa2V5LCB1c2VyKTtcbiAgICBjb25zdCBzdG9yYWdlID0gdGhpcy5nZXRTdG9yYWdlKHVzZXIpO1xuICAgIHJldHVybiBmcm9tKHN0b3JhZ2UuZ2V0KHJhd0tleSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSB2YWx1ZSBpbiBzdG9yYWdlIGZvciBhIHNwZWNpZmljIHVzZXIuXG4gICAqIEBwYXJhbSBrZXkgVGhlIHN0b3JhZ2Uga2V5IGZvciB0aGUgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0b3JhZ2UgdmFsdWUgdG8gYmUgc2V0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCBzYXZlZCB2YWx1ZS5cbiAgICovXG4gIHNldEZvclVzZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnksIHVzZXI6IElVc2VyKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCByYXdLZXkgPSB0aGlzLmdldFJhd0tleShrZXksIHVzZXIpO1xuICAgIGNvbnN0IHN0b3JhZ2UgPSB0aGlzLmdldFN0b3JhZ2UodXNlcik7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShzdG9yYWdlLnNldChyYXdLZXksIHZhbHVlKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc3RyaW5nIG9mIGtleSBjb25jYXRlbmF0ZWQgd2l0aCB1c2VybmFtZS5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgc2VhcmNoIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEEgc3RyaW5nIG9mIGtleSBjb25jYXRlbmF0ZWQgd2l0aCB1c2VybmFtZS5cbiAgICovXG4gIHByaXZhdGUgZ2V0UmF3S2V5KGtleTogc3RyaW5nLCB1c2VyOiBJVXNlcik6IHN0cmluZyB7XG4gICAgY29uc3QgdXNlcm5hbWUgPSB1c2VyLnVzZXJOYW1lLnJlcGxhY2UoL1xcLi9nLCAnX18nKTtcbiAgICByZXR1cm4gYCR7a2V5fSR7dXNlcm5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgcHJvcGVyIHN0b3JhZ2UgZGVwZW5kaW5nIG9uIHRoZSB1c2VyIHJvbGVzLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgcm9sZSBjaGVjayBpcyBkb25lLlxuICAgKiBAcmV0dXJucyBBIHByb3BlciBzdG9yYWdlLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRTdG9yYWdlKHVzZXI6IElVc2VyKTogVXNlclByZWZlcmVuY2VzU3RvcmFnZUludmVudG9yeSB8IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCB7XG4gICAgcmV0dXJuIHRoaXMudXNlci5oYXNBbGxSb2xlcyh1c2VyLCBbXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9SRUFELFxuICAgICAgUGVybWlzc2lvbnMuUk9MRV9JTlZFTlRPUllfQURNSU5cbiAgICBdKVxuICAgICAgPyB0aGlzLnN0b3JhZ2UuaW52ZW50b3J5XG4gICAgICA6IHRoaXMuc3RvcmFnZS5sb2NhbDtcbiAgfVxufVxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9jb21tb24vdXNlci1wcmVmZXJlbmNlcy91c2VyLXByZWZlcmVuY2VzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQVMsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUdyRCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsSUFBaUIsRUFDakIsU0FBMkIsRUFDM0IsUUFBeUI7UUFGekIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQVRuQyx1QkFBa0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQVcxRCxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsS0FBSyxFQUFFLElBQUksMkJBQTJCLEVBQUU7WUFDeEMsU0FBUyxFQUFFLElBQUksK0JBQStCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFD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QUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDMUIsV0FBVyxDQUFDLHlCQUF5QjtnQkFDckMsV0FBVyxDQUFDLHdCQUF3QjthQUNyQyxDQUFDO1lBQ0YsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7bUhBbEhVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRFQsTUFBTTsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludmVudG9yeVNlcnZpY2UsIElVc2VyLCBVc2VyU2VydmljZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IGNvbmNhdCwgZnJvbSwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbCB9IGZyb20gJy4vdXNlci1wcmVmZXJlbmNlcy1zdG9yYWdlLWxvY2FsJztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnkgfSBmcm9tICcuL3VzZXItcHJlZmVyZW5jZXMtc3RvcmUtaW52ZW50b3J5JztcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlIH0gZnJvbSAnLi91c2VyLXByZWZlcmVuY2UubW9kZWwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLi9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIHtcbiAgY3VycmVudFVzZXI6IE9ic2VydmFibGU8SVVzZXI+O1xuICBwcmVmZXJlbmNlQ2hhbmdlcyQ6IFN1YmplY3Q8VXNlclByZWZlcmVuY2U+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBzdG9yYWdlOiB7XG4gICAgbG9jYWw6IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VMb2NhbDtcbiAgICBpbnZlbnRvcnk6IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB1c2VyOiBVc2VyU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdG9yYWdlID0ge1xuICAgICAgbG9jYWw6IG5ldyBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlTG9jYWwoKSxcbiAgICAgIGludmVudG9yeTogbmV3IFVzZXJQcmVmZXJlbmNlc1N0b3JhZ2VJbnZlbnRvcnkodGhpcy5pbnZlbnRvcnkpXG4gICAgfTtcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdGhpcy5hcHBTdGF0ZS5jdXJyZW50VXNlci5waXBlKGZpbHRlcihjdXJyZW50VXNlciA9PiBjdXJyZW50VXNlciAhPT0gbnVsbCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSBvZiBhIHVzZXIgcHJlZmVyZW5jZSB3aXRoIGdpdmVuIGtleS5cbiAgICogRW1pdHMgaXRzIGluaXRpYWwgdmFsdWUgZmlyc3QgYW5kIHRoZW4gdXBkYXRlZCB2YWx1ZXMgd2hlbiBzZXQgYnkgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIG9mIGEgdXNlciBwcmVmZXJlbmNlLlxuICAgKi9cbiAgb2JzZXJ2ZTxUPihrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBjb25jYXQoXG4gICAgICB0aGlzLmdldChrZXkpLFxuICAgICAgdGhpcy5wcmVmZXJlbmNlQ2hhbmdlcyQucGlwZShcbiAgICAgICAgZmlsdGVyKGNoYW5nZSA9PiBjaGFuZ2Uua2V5ID09PSBrZXkpLFxuICAgICAgICBtYXAoY2hhbmdlID0+IGNoYW5nZS52YWx1ZSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbiBPYnNlcnZhYmxlIHZhbHVlIGZvciBzZWFyY2hlZCBrZXkgZm9yIGN1cnJlbnQgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcmV0dXJucyBBbiBPYnNlcnZhYmxlIHdpdGggdGhlIHZhbHVlIG9mIHByZWZlcmVuY2UuXG4gICAqL1xuICBnZXQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgc3dpdGNoTWFwKHVzZXIgPT4gdGhpcy5nZXRGb3JVc2VyKGtleSwgdXNlcikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgdmFsdWUgaW4gc3RvcmFnZSBmb3IgY3VycmVudCB1c2VyLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3IgdGhlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdG9yYWdlIHZhbHVlIHRvIGJlIHNldC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggc2F2ZWQgdmFsdWUuXG4gICAqL1xuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHVzZXIgPT4ge1xuICAgICAgICB0aGlzLnByZWZlcmVuY2VDaGFuZ2VzJC5uZXh0KHsga2V5LCB2YWx1ZSB9KTtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnNldEZvclVzZXIoa2V5LCB2YWx1ZSwgdXNlcikpO1xuICAgICAgfSwgcmVqZWN0KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYW4gT2JzZXJ2YWJsZSB2YWx1ZSBvZiBzZWFyY2hlZCBrZXkgZm9yIGEgc3BlY2lmaWMgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHNlYXJjaGVkIHZhbHVlLlxuICAgKiBAcGFyYW0gdXNlciBUaGUgdXNlciBmb3Igd2hvbSB0aGUgc2VhcmNoIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgd2l0aCB0aGUgdmFsdWUgb2YgcHJlZmVyZW5jZS5cbiAgICovXG4gIGdldEZvclVzZXIoa2V5OiBzdHJpbmcsIHVzZXI6IElVc2VyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByYXdLZXkgPSB0aGlzLmdldFJhd0tleShrZXksIHVzZXIpO1xuICAgIGNvbnN0IHN0b3JhZ2UgPSB0aGlzLmdldFN0b3JhZ2UodXNlcik7XG4gICAgcmV0dXJuIGZyb20oc3RvcmFnZS5nZXQocmF3S2V5KSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIHZhbHVlIGluIHN0b3JhZ2UgZm9yIGEgc3BlY2lmaWMgdXNlci5cbiAgICogQHBhcmFtIGtleSBUaGUgc3RvcmFnZSBrZXkgZm9yIHRoZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgc3RvcmFnZSB2YWx1ZSB0byBiZSBzZXQuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHNhdmVkIHZhbHVlLlxuICAgKi9cbiAgc2V0Rm9yVXNlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgdXNlcjogSVVzZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHJhd0tleSA9IHRoaXMuZ2V0UmF3S2V5KGtleSwgdXNlcik7XG4gICAgY29uc3Qgc3RvcmFnZSA9IHRoaXMuZ2V0U3RvcmFnZSh1c2VyKTtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN0b3JhZ2Uuc2V0KHJhd0tleSwgdmFsdWUpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzdHJpbmcgb2Yga2V5IGNvbmNhdGVuYXRlZCB3aXRoIHVzZXJuYW1lLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBzdG9yYWdlIGtleSBmb3Igc2VhcmNoZWQgdmFsdWUuXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGZvciB3aG9tIHRoZSBzZWFyY2ggaXMgZG9uZS5cbiAgICogQHJldHVybnMgQSBzdHJpbmcgb2Yga2V5IGNvbmNhdGVuYXRlZCB3aXRoIHVzZXJuYW1lLlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRSYXdLZXkoa2V5OiBzdHJpbmcsIHVzZXI6IElVc2VyKTogc3RyaW5nIHtcbiAgICBjb25zdCB1c2VybmFtZSA9IHVzZXIudXNlck5hbWUucmVwbGFjZSgvXFwuL2csICdfXycpO1xuICAgIHJldHVybiBgJHtrZXl9JHt1c2VybmFtZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSBwcm9wZXIgc3RvcmFnZSBkZXBlbmRpbmcgb24gdGhlIHVzZXIgcm9sZXMuXG4gICAqIEBwYXJhbSB1c2VyIFRoZSB1c2VyIGZvciB3aG9tIHRoZSByb2xlIGNoZWNrIGlzIGRvbmUuXG4gICAqIEByZXR1cm5zIEEgcHJvcGVyIHN0b3JhZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldFN0b3JhZ2UodXNlcjogSVVzZXIpOiBVc2VyUHJlZmVyZW5jZXNTdG9yYWdlSW52ZW50b3J5IHwgVXNlclByZWZlcmVuY2VzU3RvcmFnZUxvY2FsIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmhhc0FsbFJvbGVzKHVzZXIsIFtcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfSU5WRU5UT1JZX1JFQUQsXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0lOVkVOVE9SWV9BRE1JTlxuICAgIF0pIHx8XG4gICAgICB0aGlzLnVzZXIuaGFzQWxsUm9sZXModXNlciwgW1xuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX0FETUlOLFxuICAgICAgICBQZXJtaXNzaW9ucy5ST0xFX01BTkFHRURfT0JKRUNUX1JFQURcbiAgICAgIF0pXG4gICAgICA/IHRoaXMuc3RvcmFnZS5pbnZlbnRvcnlcbiAgICAgIDogdGhpcy5zdG9yYWdlLmxvY2FsO1xuICB9XG59XG4iXX0=