@c8y/ngx-components 1018.503.52 → 1018.503.62

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 (75) hide show
  1. package/context-dashboard/context-dashboard.component.d.ts +5 -1
  2. package/context-dashboard/dashboard-detail.component.d.ts +1 -0
  3. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
  4. package/core/common/ApplicationOptions.d.ts +4 -1
  5. package/core/common/common.module.d.ts +2 -1
  6. package/core/common/component-outlet.directive.d.ts +24 -0
  7. package/core/common/index.d.ts +1 -0
  8. package/esm2020/context-dashboard/cockpit-dashboard/cockpit-dashboard.component.mjs +3 -3
  9. package/esm2020/context-dashboard/context-dashboard.component.mjs +9 -2
  10. package/esm2020/context-dashboard/dashboard-availability.component.mjs +3 -3
  11. package/esm2020/context-dashboard/dashboard-detail.component.mjs +3 -3
  12. package/esm2020/context-dashboard/device-info-dashboard/device-info-dashboard.component.mjs +14 -14
  13. package/esm2020/context-dashboard/device-management-home-dashboard/device-management-home-dashboard.component.mjs +3 -3
  14. package/esm2020/core/action/action-outlet.component.mjs +6 -5
  15. package/esm2020/core/common/ApplicationOptions.mjs +1 -1
  16. package/esm2020/core/common/common.module.mjs +8 -5
  17. package/esm2020/core/common/component-outlet.directive.mjs +56 -0
  18. package/esm2020/core/common/index.mjs +2 -1
  19. package/esm2020/core/dashboard/wiget-time-context/widget-time-context.component.mjs +4 -3
  20. package/esm2020/core/data-grid/column/cell-renderer.component.mjs +5 -4
  21. package/esm2020/core/data-grid/column/filtering-form-renderer.component.mjs +5 -4
  22. package/esm2020/core/docs/help-and-support-outlet/help-and-support-outlet.component.mjs +7 -6
  23. package/esm2020/core/docs/legal-notices-outlet/legal-notices-outlet.component.mjs +6 -5
  24. package/esm2020/core/drawer/drawer-outlet/drawer-outlet.component.mjs +5 -4
  25. package/esm2020/core/navigator/navigator-node.component.mjs +6 -5
  26. package/esm2020/core/stepper/stepper-outlet.component.mjs +8 -7
  27. package/esm2020/core/tabs/tabs-outlet.component.mjs +5 -4
  28. package/esm2020/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
  29. package/esm2020/protocol-lwm2m/components/configuration/lwm2m-configuration.component.mjs +2 -1
  30. package/esm2020/protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.mjs +8 -12
  31. package/esm2020/protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.mjs +21 -9
  32. package/esm2020/protocol-lwm2m/model/index.mjs +3 -1
  33. package/esm2020/protocol-lwm2m/services/lwm2m-configuration.service.mjs +64 -5
  34. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +28 -21
  35. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  36. package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs +2 -2
  37. package/fesm2015/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  38. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +30 -21
  39. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  40. package/fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs +2 -0
  41. package/fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs.map +1 -1
  42. package/fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs +63 -4
  43. package/fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs.map +1 -1
  44. package/fesm2015/c8y-ngx-components.mjs +83 -25
  45. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  46. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +28 -21
  47. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  48. package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs +2 -2
  49. package/fesm2020/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  50. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +27 -19
  51. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  52. package/fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs +2 -0
  53. package/fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs.map +1 -1
  54. package/fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs +63 -4
  55. package/fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs.map +1 -1
  56. package/fesm2020/c8y-ngx-components.mjs +82 -25
  57. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  58. package/locales/de.po +6 -0
  59. package/locales/en.po +6 -0
  60. package/locales/es.po +6 -0
  61. package/locales/fr.po +6 -0
  62. package/locales/ja_JP.po +8 -0
  63. package/locales/ko.po +6 -0
  64. package/locales/locales.pot +6 -0
  65. package/locales/nl.po +6 -0
  66. package/locales/pl.po +6 -0
  67. package/locales/pt_BR.po +6 -0
  68. package/locales/ru.po +6 -0
  69. package/locales/zh_CN.po +6 -0
  70. package/locales/zh_TW.po +6 -0
  71. package/package.json +1 -1
  72. package/protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.d.ts +1 -4
  73. package/protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.d.ts +16 -22
  74. package/protocol-lwm2m/model/index.d.ts +11 -1
  75. package/protocol-lwm2m/services/lwm2m-configuration.service.d.ts +8 -1
@@ -14,9 +14,11 @@ export var SecurityMode;
14
14
  })(SecurityMode || (SecurityMode = {}));
15
15
  export var Mode;
16
16
  (function (Mode) {
17
+ Mode["DISABLED"] = "DISABLED";
17
18
  Mode["NO_SEC"] = "NO_SEC";
18
19
  Mode["PSK"] = "PSK";
19
20
  Mode["X509"] = "X509";
21
+ Mode["X509_EST"] = "X509_USING_EST";
20
22
  })(Mode || (Mode = {}));
21
23
  export var BindingMode;
22
24
  (function (BindingMode) {
@@ -75,4 +77,4 @@ export const permissionAlert = {
75
77
  text: gettext('You do not have write permissions. This form is read-only.'),
76
78
  type: 'info'
77
79
  };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFjckQsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQixvQ0FBd0IsQ0FBQTtJQUN4Qix5Q0FBNkIsQ0FBQTtJQUM3QixpQ0FBcUIsQ0FBQTtJQUNyQiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsUUFBUSxLQUFSLFFBQVEsUUFNbkI7QUFzQkQsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixpQ0FBaUIsQ0FBQTtJQUNqQiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksSUFJWDtBQUpELFdBQVksSUFBSTtJQUNkLHlCQUFpQixDQUFBO0lBQ2pCLG1CQUFXLENBQUE7SUFDWCxxQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLElBQUksS0FBSixJQUFJLFFBSWY7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHNCQUFPLENBQUE7SUFDUCx3QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBUVg7QUFSRCxXQUFZLG1CQUFtQjtJQUM3QixrQ0FBVyxDQUFBO0lBQ1gsb0NBQWEsQ0FBQTtJQUNiLG9DQUFhLENBQUE7SUFDYixvQ0FBYSxDQUFBO0lBQ2Isd0NBQWlCLENBQUE7SUFDakIsZ0RBQXlCLENBQUE7SUFDekIsZ0RBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFROUI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLG1EQUErQixDQUFBO0lBQy9CLG9FQUFnRCxDQUFBO0lBQ2hELDJEQUF1QyxDQUFBO0lBQ3ZDLGdFQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQUVELE1BQU0sQ0FBTixJQUFZLDJCQUtYO0FBTEQsV0FBWSwyQkFBMkI7SUFDckMsNENBQWEsQ0FBQTtJQUNiLDhDQUFlLENBQUE7SUFDZiw0Q0FBYSxDQUFBO0lBQ2IsOENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUt0QztBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLDBDQUF3QixDQUFBO0lBQ3hCLHVEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVksU0FBUyxFQUFFLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQW1GckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVO0lBQ3BDLElBQUksRUFBRSxPQUFPLENBQUMsNERBQTRELENBQUM7SUFDM0UsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydCwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEx3bTJtTWFuYWdlZE9iamVjdCBleHRlbmRzIElNYW5hZ2VkT2JqZWN0IHtcbiAgYzh5X0lzTHdtMm1EZXZpY2U6IG9iamVjdDtcbiAgYzh5X0RldmljZVR5cGVzOiBzdHJpbmdbXTtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzIHtcbiAgY29tbWFuZHM6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBFbmRwb2ludCB7XG4gIGRldmljZVNldHRpbmdzID0gJ2Jhc2ljJyxcbiAgY29ubmVjdGl2aXR5ID0gJ2Nvbm5lY3Rpdml0eScsXG4gIGZpcm13YXJlID0gJ2Zpcm13YXJlJyxcbiAgc2VydmVycyA9ICdzZXJ2ZXJzJyxcbiAgYm9vdHN0cmFwID0gJ2Jvb3RzdHJhcCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMd20ybUJvb3RzdHJhcFBhcmFtZXRlcnMge1xuICBiaW5kaW5nTW9kZT86IEJpbmRpbmdNb2RlO1xuICBib290c3RyYXBJZD86IHN0cmluZztcbiAgYm9vdHN0cmFwS2V5Pzogc3RyaW5nO1xuICBib290c3RyYXBTaG9ydFNlcnZlcklkPzogbnVtYmVyO1xuICBkZWZhdWx0TWF4aW11bVBlcmlvZD86IG51bWJlcjtcbiAgZGVmYXVsdE1pbmltdW1QZXJpb2Q/OiBudW1iZXI7XG4gIHNlY3VyaXR5TW9kZT86IFNlY3VyaXR5TW9kZTtcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGdlbmVyYXRlQm9vdHN0cmFwU2VydmVyQ29uZmlnPzogYm9vbGVhbjtcbiAgbHdtMm1TaG9ydFNlcnZlcklkPzogbnVtYmVyO1xuICBzZXJ2ZXJVcmk/OiBzdHJpbmc7XG4gIHJlZ2lzdHJhdGlvbkxpZmVUaW1lPzogbnVtYmVyO1xuICBzZXJ2ZXJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHNlY3VyaXR5SW5zdGFuY2VPZmZzZXQ/OiBudW1iZXI7XG4gIHB1YmxpY0tleU9ySWQ/OiBzdHJpbmc7XG4gIHNlY3JldEtleT86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFNlY3VyaXR5TW9kZSB7XG4gIE5PX1NFQyA9ICdOT19TRUMnLFxuICBQU0sgPSAnUFNLJ1xufVxuXG5leHBvcnQgZW51bSBNb2RlIHtcbiAgTk9fU0VDID0gJ05PX1NFQycsXG4gIFBTSyA9ICdQU0snLFxuICBYNTA5ID0gJ1g1MDknXG59XG5cbmV4cG9ydCBlbnVtIEJpbmRpbmdNb2RlIHtcbiAgVSA9ICdVJyxcbiAgVVEgPSAnVVEnXG59XG5cbmV4cG9ydCBlbnVtIEJpbmFyeUVuY29kaW5nIHtcbiAgT1BBUVVFID0gJ09QQVFVRScsXG4gIFRMViA9ICdUTFYnXG59XG5cbmV4cG9ydCBlbnVtIFNlcmlhbGl6YXRpb25Gb3JtYXQge1xuICBUTFYgPSAnVExWJyxcbiAgSlNPTiA9ICdKU09OJyxcbiAgQ0JPUiA9ICdDQk9SJyxcbiAgVEVYVCA9ICdURVhUJyxcbiAgT1BBUVVFID0gJ09QQVFVRScsXG4gIFNFTk1MX0pTT04gPSAnU0VOTUxfSlNPTicsXG4gIFNFTk1MX0NCT1IgPSAnU0VOTUxfQ0JPUidcbn1cblxuZXhwb3J0IGVudW0gQ2VydGlmaWNhdGVVc2FnZSB7XG4gIENBX0NPTlNUUkFJTlQgPSAnQ0FfQ09OU1RSQUlOVCcsXG4gIFNDX0NPTlNUUkFJTlQgPSAnU0VSVklDRV9DRVJUSUZJQ0FURV9DT05TVFJBSU5UJyxcbiAgVEFfQVNTRVJUSU9OID0gJ1RSVVNUX0FOQ0hPUl9BU1NFUlRJT04nLFxuICBESV9DRVJUSUZJQ0FURSA9ICdET01BSU5fSVNTVUVSX0NFUlRJRklDQVRFJ1xufVxuXG5leHBvcnQgZW51bSBGV1VfRGVsaXZlcnlNZXRob2Qge1xuICBQVUxMID0gJ1BVTEwnLFxuICBQVVNIID0gJ1BVU0gnLFxuICBCT1RIID0gJ0JPVEgnXG59XG5cbmV4cG9ydCBlbnVtIEZXVV9TdXBwb3J0ZWREZXZpY2VQcm90b2NvbCB7XG4gIENPQVAgPSAnQ09BUCcsXG4gIENPQVBTID0gJ0NPQVBTJyxcbiAgSFRUUCA9ICdIVFRQJyxcbiAgSFRUUFMgPSAnSFRUUFMnXG59XG5cbmV4cG9ydCBlbnVtIEZXVV9SZXNldE1lY2hhbmlzbSB7XG4gIFBBQ0tBR0UgPSAnUEFDS0FHRScsXG4gIFBBQ0tBR0VfVVJJID0gJ1BBQ0tBR0VfVVJJJ1xufVxuXG5leHBvcnQgZW51bSBWYWxpZGF0aW9uVHlwZSB7XG4gIFg1MDkgPSAneDUwOWNlcnRpZmljYXRlJyxcbiAgUFJJVkFURV9LRVkgPSAnY2VydGlmaWNhdGVQcml2YXRlS2V5J1xufVxuXG5leHBvcnQgY29uc3QgYWdlbnROYW1lID0gJ2x3bTJtLWFnZW50JztcbmV4cG9ydCBjb25zdCBhZ2VudEJhc2VVcmwgPSBgL3NlcnZpY2UvJHthZ2VudE5hbWV9YDtcbmV4cG9ydCBjb25zdCBjOHlfbHdtMm0gPSAnYzh5X2x3bTJtJztcblxuZXhwb3J0IHR5cGUgU2V0dGluZ3MgPVxuICB8IEJvb3RzdHJhcFNldHRpbmdzXG4gIHwgRGV2aWNlU2V0dGluZ3NcbiAgfCBGaXJtd2FyZVNldHRpbmdzXG4gIHwgQ29ubmVjdGl2aXR5U2V0dGluZ3NcbiAgfCBTZXJ2ZXJTZXR0aW5nc1xuICB8IG9iamVjdDtcblxuZXhwb3J0IHR5cGUgRW50aXR5ID0gU2V0dGluZ3MgJiBVcmxDb25maWc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbkVycm9yIHtcbiAgZXJyb3I6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVybENvbmZpZyB7XG4gIGVuZHBvaW50OiBFbmRwb2ludDtcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyU2V0dGluZ3Mge1xuICBpZDogc3RyaW5nO1xuICB1cmk6IHN0cmluZztcbiAgc2VydmVySWQ6IG51bWJlcjtcbiAgcmVnaXN0cmF0aW9uTGlmZXRpbWU6IG51bWJlcjtcbiAgZGVmYXVsdE1pblBlcmlvZDogbnVtYmVyO1xuICBkZWZhdWx0TWF4UGVyaW9kOiBudW1iZXI7XG4gIGRpc2FibGVUaW1lb3V0OiBudW1iZXI7XG4gIGJvb3RzdHJhcDogYm9vbGVhbjtcbiAgc3RvcmVOb3RpZmljYXRpb25zOiBib29sZWFuO1xuICBiaW5kaW5nTW9kZTogQmluZGluZ01vZGU7XG4gIHNlY3VyaXR5OiBTZWN1cml0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eSB7XG4gIG1vZGU6IE1vZGU7XG4gIHg1MDlQcml2YXRlS2V5Pzogc3RyaW5nO1xuICB4NTA5UHJpdmF0ZUtleUZpbmdlclByaW50Pzogc3RyaW5nO1xuICB4NTA5Q2VydGlmaWNhdGU/OiBzdHJpbmc7XG4gIHg1MDlDZXJ0aWZpY2F0ZUNvbW1vbk5hbWU/OiBzdHJpbmc7XG4gIHg1MDlTZXJ2ZXJDZXJ0aWZpY2F0ZU5hbWU/OiBzdHJpbmc7XG4gIGNlcnRpZmljYXRlVXNhZ2U/OiBzdHJpbmc7XG4gIHBza0tleT86IHN0cmluZztcbiAgcHNrSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlU2V0dGluZ3Mge1xuICBlbmRwb2ludElkOiBzdHJpbmc7XG4gIGF3YWtlVGltZTogbnVtYmVyO1xuICByZXF1ZXN0VGltZW91dDogbnVtYmVyO1xuICBrZWVwT2xkVmFsdWVzT25PcGVyYXRpb25GYWlsOiBib29sZWFuO1xuICB1c2VUaW1lc3RhbXBSZXNvdXJjZXM6IGJvb2xlYW47XG4gIGJpbmFyeUVuY29kaW5nOiBCaW5hcnlFbmNvZGluZztcbiAgc2VyaWFsaXphdGlvbkZvcm1hdDogU2VyaWFsaXphdGlvbkZvcm1hdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aXZpdHlTZXR0aW5ncyB7XG4gIGJvb3RzdHJhcENvbm5lY3Rpdml0eTogQ29ubmVjdGl2aXR5O1xuICBzZXJ2ZXJDb25uZWN0aXZpdHk6IENvbm5lY3Rpdml0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aXZpdHkge1xuICBtb2RlOiBNb2RlO1xuICBwc2tLZXk/OiBzdHJpbmc7XG4gIHBza0lkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpcm13YXJlU2V0dGluZ3Mge1xuICB1cmw6IHN0cmluZztcbiAgcmVzZXRTdGF0ZU1hY2hpbmVPblN0YXJ0OiBib29sZWFuO1xuICByZXNldE1ldGhvZDogRldVX1Jlc2V0TWVjaGFuaXNtO1xuICBzdXBwb3J0ZWREZXZpY2VQcm90b2NvbDogRldVX1N1cHBvcnRlZERldmljZVByb3RvY29sO1xuICBmaXJtd2FyZURlbGl2ZXJ5TWV0aG9kOiBGV1VfRGVsaXZlcnlNZXRob2Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vdHN0cmFwU2V0dGluZ3Mge1xuICBib290c3RyYXBTZXJ2ZXJJZDogbnVtYmVyO1xuICBzZWN1cml0eUluc3RhbmNlT2Zmc2V0OiBudW1iZXI7XG4gIGdlbmVyYXRlQm9vdHN0cmFwU2VydmVyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgcGVybWlzc2lvbkFsZXJ0OiBBbGVydCA9IHtcbiAgdGV4dDogZ2V0dGV4dCgnWW91IGRvIG5vdCBoYXZlIHdyaXRlIHBlcm1pc3Npb25zLiBUaGlzIGZvcm0gaXMgcmVhZC1vbmx5LicpLFxuICB0eXBlOiAnaW5mbydcbn07XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVMsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFjckQsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQixvQ0FBd0IsQ0FBQTtJQUN4Qix5Q0FBNkIsQ0FBQTtJQUM3QixpQ0FBcUIsQ0FBQTtJQUNyQiwrQkFBbUIsQ0FBQTtJQUNuQixtQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBTlcsUUFBUSxLQUFSLFFBQVEsUUFNbkI7QUFzQkQsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixpQ0FBaUIsQ0FBQTtJQUNqQiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksSUFNWDtBQU5ELFdBQVksSUFBSTtJQUNkLDZCQUFxQixDQUFBO0lBQ3JCLHlCQUFpQixDQUFBO0lBQ2pCLG1CQUFXLENBQUE7SUFDWCxxQkFBYSxDQUFBO0lBQ2IsbUNBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLElBQUksS0FBSixJQUFJLFFBTWY7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHNCQUFPLENBQUE7SUFDUCx3QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQiw2QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBUVg7QUFSRCxXQUFZLG1CQUFtQjtJQUM3QixrQ0FBVyxDQUFBO0lBQ1gsb0NBQWEsQ0FBQTtJQUNiLG9DQUFhLENBQUE7SUFDYixvQ0FBYSxDQUFBO0lBQ2Isd0NBQWlCLENBQUE7SUFDakIsZ0RBQXlCLENBQUE7SUFDekIsZ0RBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQVJXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFROUI7QUFFRCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLG1EQUErQixDQUFBO0lBQy9CLG9FQUFnRCxDQUFBO0lBQ2hELDJEQUF1QyxDQUFBO0lBQ3ZDLGdFQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFMVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBSzNCO0FBRUQsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsbUNBQWEsQ0FBQTtJQUNiLG1DQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QjtBQUVELE1BQU0sQ0FBTixJQUFZLDJCQUtYO0FBTEQsV0FBWSwyQkFBMkI7SUFDckMsNENBQWEsQ0FBQTtJQUNiLDhDQUFlLENBQUE7SUFDZiw0Q0FBYSxDQUFBO0lBQ2IsOENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBTFcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUt0QztBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLDBDQUF3QixDQUFBO0lBQ3hCLHVEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFlBQVksU0FBUyxFQUFFLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztBQTRGckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFVO0lBQ3BDLElBQUksRUFBRSxPQUFPLENBQUMsNERBQTRELENBQUM7SUFDM0UsSUFBSSxFQUFFLE1BQU07Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydCwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEx3bTJtTWFuYWdlZE9iamVjdCBleHRlbmRzIElNYW5hZ2VkT2JqZWN0IHtcbiAgYzh5X0lzTHdtMm1EZXZpY2U6IG9iamVjdDtcbiAgYzh5X0RldmljZVR5cGVzOiBzdHJpbmdbXTtcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExXTTJNUG9zdE9wZXJhdGlvbnNQYXJhbWV0ZXJzIHtcbiAgY29tbWFuZHM6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBFbmRwb2ludCB7XG4gIGRldmljZVNldHRpbmdzID0gJ2Jhc2ljJyxcbiAgY29ubmVjdGl2aXR5ID0gJ2Nvbm5lY3Rpdml0eScsXG4gIGZpcm13YXJlID0gJ2Zpcm13YXJlJyxcbiAgc2VydmVycyA9ICdzZXJ2ZXJzJyxcbiAgYm9vdHN0cmFwID0gJ2Jvb3RzdHJhcCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMd20ybUJvb3RzdHJhcFBhcmFtZXRlcnMge1xuICBiaW5kaW5nTW9kZT86IEJpbmRpbmdNb2RlO1xuICBib290c3RyYXBJZD86IHN0cmluZztcbiAgYm9vdHN0cmFwS2V5Pzogc3RyaW5nO1xuICBib290c3RyYXBTaG9ydFNlcnZlcklkPzogbnVtYmVyO1xuICBkZWZhdWx0TWF4aW11bVBlcmlvZD86IG51bWJlcjtcbiAgZGVmYXVsdE1pbmltdW1QZXJpb2Q/OiBudW1iZXI7XG4gIHNlY3VyaXR5TW9kZT86IFNlY3VyaXR5TW9kZTtcbiAgZW5kcG9pbnQ/OiBzdHJpbmc7XG4gIGdlbmVyYXRlQm9vdHN0cmFwU2VydmVyQ29uZmlnPzogYm9vbGVhbjtcbiAgbHdtMm1TaG9ydFNlcnZlcklkPzogbnVtYmVyO1xuICBzZXJ2ZXJVcmk/OiBzdHJpbmc7XG4gIHJlZ2lzdHJhdGlvbkxpZmVUaW1lPzogbnVtYmVyO1xuICBzZXJ2ZXJQdWJsaWNLZXk/OiBzdHJpbmc7XG4gIHNlY3VyaXR5SW5zdGFuY2VPZmZzZXQ/OiBudW1iZXI7XG4gIHB1YmxpY0tleU9ySWQ/OiBzdHJpbmc7XG4gIHNlY3JldEtleT86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIFNlY3VyaXR5TW9kZSB7XG4gIE5PX1NFQyA9ICdOT19TRUMnLFxuICBQU0sgPSAnUFNLJ1xufVxuXG5leHBvcnQgZW51bSBNb2RlIHtcbiAgRElTQUJMRUQgPSAnRElTQUJMRUQnLFxuICBOT19TRUMgPSAnTk9fU0VDJyxcbiAgUFNLID0gJ1BTSycsXG4gIFg1MDkgPSAnWDUwOScsXG4gIFg1MDlfRVNUID0gJ1g1MDlfVVNJTkdfRVNUJ1xufVxuXG5leHBvcnQgZW51bSBCaW5kaW5nTW9kZSB7XG4gIFUgPSAnVScsXG4gIFVRID0gJ1VRJ1xufVxuXG5leHBvcnQgZW51bSBCaW5hcnlFbmNvZGluZyB7XG4gIE9QQVFVRSA9ICdPUEFRVUUnLFxuICBUTFYgPSAnVExWJ1xufVxuXG5leHBvcnQgZW51bSBTZXJpYWxpemF0aW9uRm9ybWF0IHtcbiAgVExWID0gJ1RMVicsXG4gIEpTT04gPSAnSlNPTicsXG4gIENCT1IgPSAnQ0JPUicsXG4gIFRFWFQgPSAnVEVYVCcsXG4gIE9QQVFVRSA9ICdPUEFRVUUnLFxuICBTRU5NTF9KU09OID0gJ1NFTk1MX0pTT04nLFxuICBTRU5NTF9DQk9SID0gJ1NFTk1MX0NCT1InXG59XG5cbmV4cG9ydCBlbnVtIENlcnRpZmljYXRlVXNhZ2Uge1xuICBDQV9DT05TVFJBSU5UID0gJ0NBX0NPTlNUUkFJTlQnLFxuICBTQ19DT05TVFJBSU5UID0gJ1NFUlZJQ0VfQ0VSVElGSUNBVEVfQ09OU1RSQUlOVCcsXG4gIFRBX0FTU0VSVElPTiA9ICdUUlVTVF9BTkNIT1JfQVNTRVJUSU9OJyxcbiAgRElfQ0VSVElGSUNBVEUgPSAnRE9NQUlOX0lTU1VFUl9DRVJUSUZJQ0FURSdcbn1cblxuZXhwb3J0IGVudW0gRldVX0RlbGl2ZXJ5TWV0aG9kIHtcbiAgUFVMTCA9ICdQVUxMJyxcbiAgUFVTSCA9ICdQVVNIJyxcbiAgQk9USCA9ICdCT1RIJ1xufVxuXG5leHBvcnQgZW51bSBGV1VfU3VwcG9ydGVkRGV2aWNlUHJvdG9jb2wge1xuICBDT0FQID0gJ0NPQVAnLFxuICBDT0FQUyA9ICdDT0FQUycsXG4gIEhUVFAgPSAnSFRUUCcsXG4gIEhUVFBTID0gJ0hUVFBTJ1xufVxuXG5leHBvcnQgZW51bSBGV1VfUmVzZXRNZWNoYW5pc20ge1xuICBQQUNLQUdFID0gJ1BBQ0tBR0UnLFxuICBQQUNLQUdFX1VSSSA9ICdQQUNLQUdFX1VSSSdcbn1cblxuZXhwb3J0IGVudW0gVmFsaWRhdGlvblR5cGUge1xuICBYNTA5ID0gJ3g1MDljZXJ0aWZpY2F0ZScsXG4gIFBSSVZBVEVfS0VZID0gJ2NlcnRpZmljYXRlUHJpdmF0ZUtleSdcbn1cblxuZXhwb3J0IGNvbnN0IGFnZW50TmFtZSA9ICdsd20ybS1hZ2VudCc7XG5leHBvcnQgY29uc3QgYWdlbnRCYXNlVXJsID0gYC9zZXJ2aWNlLyR7YWdlbnROYW1lfWA7XG5leHBvcnQgY29uc3QgYzh5X2x3bTJtID0gJ2M4eV9sd20ybSc7XG5cbmV4cG9ydCB0eXBlIFNldHRpbmdzID1cbiAgfCBCb290c3RyYXBTZXR0aW5nc1xuICB8IERldmljZVNldHRpbmdzXG4gIHwgRmlybXdhcmVTZXR0aW5nc1xuICB8IENvbm5lY3Rpdml0eVNldHRpbmdzXG4gIHwgU2VydmVyU2V0dGluZ3NcbiAgfCBvYmplY3Q7XG5cbmV4cG9ydCB0eXBlIEVudGl0eSA9IFNldHRpbmdzICYgVXJsQ29uZmlnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb25FcnJvciB7XG4gIGVycm9yOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcmxDb25maWcge1xuICBlbmRwb2ludDogRW5kcG9pbnQ7XG4gIGlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlclNldHRpbmdzIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJpOiBzdHJpbmc7XG4gIHNlcnZlcklkOiBudW1iZXI7XG4gIHJlZ2lzdHJhdGlvbkxpZmV0aW1lOiBudW1iZXI7XG4gIGRlZmF1bHRNaW5QZXJpb2Q6IG51bWJlcjtcbiAgZGVmYXVsdE1heFBlcmlvZDogbnVtYmVyO1xuICBkaXNhYmxlVGltZW91dDogbnVtYmVyO1xuICBib290c3RyYXA6IGJvb2xlYW47XG4gIHN0b3JlTm90aWZpY2F0aW9uczogYm9vbGVhbjtcbiAgYmluZGluZ01vZGU6IEJpbmRpbmdNb2RlO1xuICBzZWN1cml0eTogU2VjdXJpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHkge1xuICBtb2RlOiBNb2RlO1xuICB4NTA5UHJpdmF0ZUtleT86IHN0cmluZztcbiAgeDUwOVByaXZhdGVLZXlGaW5nZXJQcmludD86IHN0cmluZztcbiAgeDUwOUNlcnRpZmljYXRlPzogc3RyaW5nO1xuICB4NTA5Q2VydGlmaWNhdGVDb21tb25OYW1lPzogc3RyaW5nO1xuICB4NTA5U2VydmVyQ2VydGlmaWNhdGVOYW1lPzogc3RyaW5nO1xuICBjZXJ0aWZpY2F0ZVVzYWdlPzogc3RyaW5nO1xuICBwc2tLZXk/OiBzdHJpbmc7XG4gIHBza0lkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZVNldHRpbmdzIHtcbiAgZW5kcG9pbnRJZDogc3RyaW5nO1xuICBhd2FrZVRpbWU6IG51bWJlcjtcbiAgcmVxdWVzdFRpbWVvdXQ6IG51bWJlcjtcbiAga2VlcE9sZFZhbHVlc09uT3BlcmF0aW9uRmFpbDogYm9vbGVhbjtcbiAgdXNlVGltZXN0YW1wUmVzb3VyY2VzOiBib29sZWFuO1xuICBiaW5hcnlFbmNvZGluZzogQmluYXJ5RW5jb2Rpbmc7XG4gIHNlcmlhbGl6YXRpb25Gb3JtYXQ6IFNlcmlhbGl6YXRpb25Gb3JtYXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGl2aXR5U2V0dGluZ3Mge1xuICBib290c3RyYXBDb25uZWN0aXZpdHk6IENvbm5lY3Rpdml0eTtcbiAgc2VydmVyQ29ubmVjdGl2aXR5OiBDb25uZWN0aXZpdHk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGl2aXR5IHtcbiAgbW9kZTogTW9kZTtcbiAgcHNrS2V5Pzogc3RyaW5nO1xuICBwc2tJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaXJtd2FyZVNldHRpbmdzIHtcbiAgdXJsOiBzdHJpbmc7XG4gIHJlc2V0U3RhdGVNYWNoaW5lT25TdGFydDogYm9vbGVhbjtcbiAgcmVzZXRNZXRob2Q6IEZXVV9SZXNldE1lY2hhbmlzbTtcbiAgc3VwcG9ydGVkRGV2aWNlUHJvdG9jb2w6IEZXVV9TdXBwb3J0ZWREZXZpY2VQcm90b2NvbDtcbiAgZmlybXdhcmVEZWxpdmVyeU1ldGhvZDogRldVX0RlbGl2ZXJ5TWV0aG9kO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RzdHJhcFNldHRpbmdzIHtcbiAgYm9vdHN0cmFwU2VydmVySWQ6IG51bWJlcjtcbiAgc2VjdXJpdHlJbnN0YW5jZU9mZnNldDogbnVtYmVyO1xuICBnZW5lcmF0ZUJvb3RzdHJhcFNlcnZlcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eU1vZGVEaWN0aW9uYXJ5T2JqIHtcbiAgbmFtZT86IHN0cmluZyB8IE1vZGU7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHVzZUluQm9vdHN0cmFwQ29ubmVjdGl2aXR5OiBib29sZWFuO1xuICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IHBlcm1pc3Npb25BbGVydDogQWxlcnQgPSB7XG4gIHRleHQ6IGdldHRleHQoJ1lvdSBkbyBub3QgaGF2ZSB3cml0ZSBwZXJtaXNzaW9ucy4gVGhpcyBmb3JtIGlzIHJlYWQtb25seS4nKSxcbiAgdHlwZTogJ2luZm8nXG59O1xuIl19
@@ -4,7 +4,7 @@ import { BehaviorSubject, Subject, from, of, throwError } from 'rxjs';
4
4
  import { catchError, map, switchMap, takeUntil, tap } from 'rxjs/operators';
5
5
  import { Lwm2mClientService } from './lwm2m-client.service';
6
6
  import { AlertService, gettext } from '@c8y/ngx-components';
7
- import { Endpoint, agentBaseUrl, ValidationType } from '@c8y/ngx-components/protocol-lwm2m/model';
7
+ import { Endpoint, agentBaseUrl, ValidationType, Mode } from '@c8y/ngx-components/protocol-lwm2m/model';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@c8y/client";
10
10
  import * as i2 from "@c8y/ngx-components";
@@ -18,9 +18,13 @@ export class Lwm2mConfigurationService extends Lwm2mClientService {
18
18
  this._servers$ = new BehaviorSubject([]);
19
19
  this._settings$ = new BehaviorSubject({});
20
20
  this._certificates$ = new BehaviorSubject([]);
21
+ this._securityModeDictRaw$ = new BehaviorSubject([]);
22
+ this._securityModeByScope$ = new BehaviorSubject([]);
21
23
  this.servers$ = this._servers$.asObservable();
22
24
  this.settings$ = this._settings$.asObservable();
23
25
  this.certificates$ = this._certificates$.asObservable();
26
+ this.securityModesByScope$ = this._securityModeByScope$.asObservable();
27
+ this.securityModesRaw$ = this._securityModeDictRaw$.asObservable();
24
28
  this._listServers$
25
29
  .pipe(switchMap(() => this.listServers$().pipe(map(resp => this._servers$.next(resp?.data)))), catchError(error => {
26
30
  this.alertService.addServerFailure(error);
@@ -91,13 +95,68 @@ export class Lwm2mConfigurationService extends Lwm2mClientService {
91
95
  .pipe(catchError(error => {
92
96
  this.alertService.addServerFailure(error);
93
97
  return of([]);
94
- }))
98
+ }), takeUntil(this._destroy$))
95
99
  .subscribe();
96
100
  }
97
101
  fetchServerCertificates$() {
98
- return this.fetch$('dictionary/server-certificates').pipe(switchMap(result => from(result.json())), tap(result => {
102
+ return this.fetch$('dictionary/server-certificates').pipe(switchMap(result => result.json()), tap(result => {
99
103
  this._certificates$.next(result);
100
- }), takeUntil(this._destroy$));
104
+ }));
105
+ }
106
+ getSecurityModes() {
107
+ this.fetchSecurityModes$()
108
+ .pipe(catchError(error => {
109
+ // Use this as fallback. There is the possibility that
110
+ // the UI version runs against an agent version without the needed endpoint:
111
+ // 'dictionary/security-modes'
112
+ const { data: { status } } = error;
113
+ status !== 404
114
+ ? this.alertService.addServerFailure(error)
115
+ : this._securityModeDictRaw$.next([
116
+ {
117
+ label: Mode.DISABLED,
118
+ value: Mode.DISABLED,
119
+ useInBootstrapConnectivity: true,
120
+ useInServerConnectivity: true
121
+ },
122
+ {
123
+ label: Mode.NO_SEC,
124
+ value: Mode.NO_SEC,
125
+ useInBootstrapConnectivity: true,
126
+ useInServerConnectivity: true
127
+ },
128
+ {
129
+ label: Mode.PSK,
130
+ value: Mode.PSK,
131
+ useInBootstrapConnectivity: true,
132
+ useInServerConnectivity: true
133
+ },
134
+ {
135
+ label: 'X.509',
136
+ value: Mode.X509,
137
+ useInBootstrapConnectivity: true,
138
+ useInServerConnectivity: true
139
+ }
140
+ ]);
141
+ return of([]);
142
+ }))
143
+ .subscribe();
144
+ }
145
+ fetchSecurityModes$() {
146
+ return this.fetch$('dictionary/security-modes').pipe(switchMap(result => result.json()), map((result) => result.map(({ name, useInBootstrapConnectivity, useInServerConnectivity }) => ({
147
+ label: name.replace('X509', 'X.509'),
148
+ value: name,
149
+ useInBootstrapConnectivity,
150
+ useInServerConnectivity
151
+ }))), tap((result) => {
152
+ this._securityModeDictRaw$.next(result);
153
+ }));
154
+ }
155
+ getSecurityModeByScope(scope) {
156
+ this._securityModeByScope$.next(this._securityModeDictRaw$
157
+ .getValue()
158
+ .filter(({ useInBootstrapConnectivity, useInServerConnectivity }) => (useInBootstrapConnectivity && scope === 'useInBootstrapConnectivity') ||
159
+ (useInServerConnectivity && scope === 'useInServerConnectivity')));
101
160
  }
102
161
  cleanUpBase64Data(fileReadAsDataURL) {
103
162
  const base64RegExp = RegExp(/data:\S+;base64,/gi);
@@ -139,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
139
198
  providedIn: 'root'
140
199
  }]
141
200
  }], ctorParameters: function () { return [{ type: i1.FetchClient }, { type: i2.AlertService }]; } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvdG9jb2wtbHdtMm0vc2VydmljZXMvbHdtMm0tY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBb0QsTUFBTSxhQUFhLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFDTCxRQUFRLEVBRVIsWUFBWSxFQUdaLGNBQWMsRUFFZixNQUFNLDBDQUEwQyxDQUFDOzs7O0FBS2xELE1BQU0sT0FBTyx5QkFDWCxTQUFRLGtCQUFxQjtJQWdCN0IsWUFBWSxNQUFtQixFQUFVLFlBQTBCO1FBQ2pFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUR5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQVp6RCxZQUFPLEdBQUcsR0FBRyxZQUFZLEtBQUssQ0FBQztRQUV4QixjQUFTLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsa0JBQWEsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM3QyxjQUFTLEdBQXNDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLGVBQVUsR0FBdUIsSUFBSSxlQUFlLENBQUMsRUFBTyxD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LENBQUM7UUFDbEIsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDO1FBQ3hCLE9BQVEsTUFBc0IsRUFBRSxVQUFVLENBQUM7UUFDM0MsT0FBTyxNQUFXLENBQUM7SUFDckIsQ0FBQzs7c0hBcExVLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRnhCLE1BQU07MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmV0Y2hDbGllbnQsIElGZXRjaE9wdGlvbnMsIElJZGVudGlmaWVkLCBJUmVzdWx0LCBJUmVzdWx0TGlzdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEx3bTJtQ2xpZW50U2VydmljZSB9IGZyb20gJy4vbHdtMm0tY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBFbmRwb2ludCxcbiAgU2VydmVyU2V0dGluZ3MsXG4gIGFnZW50QmFzZVVybCxcbiAgRW50aXR5LFxuICBVcmxDb25maWcsXG4gIFZhbGlkYXRpb25UeXBlLFxuICBWYWxpZGF0aW9uRXJyb3Jcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEx3bTJtQ29uZmlndXJhdGlvblNlcnZpY2U8VCA9IEVudGl0eT5cbiAgZXh0ZW5kcyBMd20ybUNsaWVudFNlcnZpY2U8VD5cbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgZGV2aWNlSWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIGJhc2VVcmwgPSBgJHthZ2VudEJhc2VVcmx9L3YxYDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xpc3RTZXJ2ZXJzJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlcnZlcnMkOiBCZWhhdmlvclN1YmplY3Q8U2VydmVyU2V0dGluZ3NbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2V0dGluZ3MkOiBCZWhhdmlvclN1YmplY3Q8VD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9IGFzIFQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jZXJ0aWZpY2F0ZXMkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSBhcyBzdHJpbmdbXSk7XG5cbiAgc2VydmVycyQ6IE9ic2VydmFibGU8U2VydmVyU2V0dGluZ3NbXT4gPSB0aGlzLl9zZXJ2ZXJzJC5hc09ic2VydmFibGUoKTtcbiAgc2V0dGluZ3MkOiBPYnNlcnZhYmxlPFQ+ID0gdGhpcy5fc2V0dGluZ3MkLmFzT2JzZXJ2YWJsZSgpO1xuICBjZXJ0aWZpY2F0ZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiA9IHRoaXMuX2NlcnRpZmljYXRlcyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoY2xpZW50OiBGZXRjaENsaWVudCwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkge1xuICAgIHN1cGVyKGNsaWVudCk7XG5cbiAgICB0aGlzLl9saXN0U2VydmVycyRcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLmxpc3RTZXJ2ZXJzJCgpLnBpcGUoXG4gICAgICAgICAgICBtYXAocmVzcCA9PiB0aGlzLl9zZXJ2ZXJzJC5uZXh0KHJlc3A/LmRhdGEgYXMgdW5rbm93biBhcyBTZXJ2ZXJTZXR0aW5nc1tdKSlcbiAgICAgICAgICApXG4gICAgICAgICksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldFNldHRpbmdzRm9yKHVybENmZzogVXJsQ29uZmlnKSB7XG4gICAgdGhpcy5kZXRhaWwkKHVybENmZylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHsgZGF0YSB9KSA9PiBkYXRhKSxcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG9mKHt9IGFzIFQpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMuX3NldHRpbmdzJC5uZXh0KGRhdGEgYXMgVCkpO1xuICB9XG5cbiAgbGlzdFNlcnZlcnMoKSB7XG4gICAgdGhpcy5fbGlzdFNlcnZlcnMkLm5leHQoKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbmZpZyhlbnRpdHk6IFQsIGVuZHBvaW50OiBFbmRwb2ludCkge1xuICAgIHRoaXMudXBkYXRlJCh7IC4uLmVudGl0eSwgZW5kcG9pbnQgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkJlZm9yZVVwZGF0ZShlbnRpdHk6IEVudGl0eSkge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZUZpZWxkc0luUmVxdWVzdChlbnRpdHkpO1xuICB9XG5cbiAgb25CZWZvcmVDcmVhdGUoZW50aXR5OiBFbnRpdHkpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVGaWVsZHNJblJlcXVlc3QoZW50aXR5KTtcbiAgfVxuXG4gIGdldERldGFpbFVybChlbnRpdHk6IEVudGl0eSk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBlbmRwb2ludCB9ID0gZW50aXR5O1xuICAgIGNvbnN0IGlkID0gZW50aXR5LmlkID8/ICcnO1xuICAgIGNvbnN0IGRldmljZUNvbmZpZ1VybCA9IGBkZXZpY2UvJHt0aGlzLmRldmljZUlkfS9jb25maWd1cmF0aW9uYDtcblxuICAgIGlmICghZW5kcG9pbnQpIHtcbiAgICAgIHRocm93IHsgZGF0YTogeyBtZXNzYWdlOiBnZXR0ZXh0KCdVbmFibGUgdG8gZmluZCBlbmRwb2ludCcpIH0gfTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWQubGVuZ3RoID4gMCAmJiBlbmRwb2ludCA9PT0gRW5kcG9pbnQuc2VydmVyc1xuICAgICAgPyBgJHtkZXZpY2VDb25maWdVcmx9LyR7ZW5kcG9pbnR9LyR7aWR9YFxuICAgICAgOiBgJHtkZXZpY2VDb25maWdVcmx9LyR7ZW5kcG9pbnR9YDtcbiAgfVxuXG4gIHZhbGlkYXRlKGNlcnRpZmljYXRlOiBzdHJpbmcsIHR5cGU6IFZhbGlkYXRpb25UeXBlKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAoY2VydGlmaWNhdGU/Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIFt0eXBlID09PSBWYWxpZGF0aW9uVHlwZS5QUklWQVRFX0tFWSA/ICdlbmNvZGVkUHJpdmF0ZUtleScgOiAnZW5jb2RlZENlcnRpZmljYXRlJ106XG4gICAgICAgICAgY2VydGlmaWNhdGVcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdGhpcy5mZXRjaCQoYGRldmljZS9jb25maWd1cmF0aW9uLyR7dHlwZX0vdmFsaWRhdGVgLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsIGFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHlcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT5cbiAgICAgICAgICBmcm9tKHJlc3VsdC5qc29uKCkgYXMgUHJvbWlzZTxvYmplY3Q+KS5waXBlKFxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gZGF0YVsnZmluZ2VycHJpbnQnXSB8fCBkYXRhWydjb21tb25OYW1lJ10pXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKChlOiBJUmVzdWx0PFZhbGlkYXRpb25FcnJvcj4pID0+IHtcbiAgICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIGVycm9yIH0gPSBlPy5kYXRhO1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoe1xuICAgICAgICAgICAgZGF0YTogeyBtZXNzYWdlLCBleGNlcHRpb25NZXNzYWdlOiBlcnJvciB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlcnZlckNlcnRpZmljYXRlcygpIHtcbiAgICB0aGlzLmZldGNoU2VydmVyQ2VydGlmaWNhdGVzJCgpXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZldGNoU2VydmVyQ2VydGlmaWNhdGVzJCgpIHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaCQoJ2RpY3Rpb25hcnkvc2VydmVyLWNlcnRpZmljYXRlcycpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+IGZyb20ocmVzdWx0Lmpzb24oKSkpLFxuICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuX2NlcnRpZmljYXRlcyQubmV4dChyZXN1bHQpO1xuICAgICAgfSksXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgKSBhcyBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgfVxuXG4gIGNsZWFuVXBCYXNlNjREYXRhKGZpbGVSZWFkQXNEYXRhVVJMOiBzdHJpbmcpIHtcbiAgICBjb25zdCBiYXNlNjRSZWdFeHAgPSBSZWdFeHAoL2RhdGE6XFxTKztiYXNlNjQsL2dpKTtcbiAgICByZXR1cm4gZmlsZVJlYWRBc0RhdGFVUkw/Lmxlbmd0aCA+IDAgJiYgYmFzZTY0UmVnRXhwLnRlc3QoZmlsZVJlYWRBc0RhdGFVUkwpXG4gICAgICA/IGZpbGVSZWFkQXNEYXRhVVJMLnJlcGxhY2UoYmFzZTY0UmVnRXhwLCAnJylcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgbGlzdFNlcnZlcnMkKCkge1xuICAgIHRoaXMubGlzdFVybCA9IHRoaXMuZ2V0RGV0YWlsVXJsKHsgZW5kcG9pbnQ6IEVuZHBvaW50LnNlcnZlcnMgfSk7XG4gICAgcmV0dXJuIGZyb20oc3VwZXIubGlzdCgpIGFzIFByb21pc2U8SVJlc3VsdExpc3Q8U2VydmVyU2V0dGluZ3M+Pik7XG4gIH1cblxuICBjcmVhdGVTZXJ2ZXIkKHNlcnZlcjogU2VydmVyU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHN1cGVyLmNyZWF0ZSh7IC4uLnNlcnZlciwgZW5kcG9pbnQ6IEVuZHBvaW50LnNlcnZlcnMgfSkgYXMgUHJvbWlzZTxJUmVzdWx0PFNlcnZlclNldHRpbmdzPj5cbiAgICApO1xuICB9XG5cbiAgZGVsZXRlU2VydmVyJChzZXJ2ZXI6IFNlcnZlclNldHRpbmdzKSB7XG4gICAgcmV0dXJuIGZyb20oc3VwZXIuZGVsZXRlKHsgLi4uc2VydmVyLCBlbmRwb2ludDogRW5kcG9pbnQuc2VydmVycyB9KSk7XG4gIH1cblxuICB1cGRhdGUkKGVudGl0eTogRW50aXR5KSB7XG4gICAgcmV0dXJuIGZyb20oc3VwZXIudXBkYXRlKGVudGl0eSBhcyBUKSBhcyBQcm9taXNlPElSZXN1bHQ8VD4+KTtcbiAgfVxuXG4gIGRldGFpbCQodXJsQ2ZnOiBVcmxDb25maWcpIHtcbiAgICByZXR1cm4gZnJvbShzdXBlci5kZXRhaWwodXJsQ2ZnIGFzIFQpIGFzIFByb21pc2U8SVJlc3VsdDxUPj4pO1xuICB9XG5cbiAgZmV0Y2gkKHVybDogc3RyaW5nLCBpbml0PzogSUZldGNoT3B0aW9ucykge1xuICAgIHJldHVybiBmcm9tKHN1cGVyLmZldGNoKHVybCwgaW5pdCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWxldGVGaWVsZHNJblJlcXVlc3QoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBkZWxldGUgZW50aXR5Py5pZDtcbiAgICBkZWxldGUgZW50aXR5Py5lbmRwb2ludDtcbiAgICBkZWxldGUgKGVudGl0eSBhcyBJSWRlbnRpZmllZCk/LmRldmljZUluZm87XG4gICAgcmV0dXJuIGVudGl0eSBhcyBUO1xuICB9XG59XG4iXX0=
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvdG9jb2wtbHdtMm0vc2VydmljZXMvbHdtMm0tY29uZmlndXJhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBb0QsTUFBTSxhQUFhLENBQUM7QUFDNUYsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sRUFDTCxRQUFRLEVBRVIsWUFBWSxFQUdaLGNBQWMsRUFHZCxJQUFJLEVBQ0wsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUtsRCxNQUFNLE9BQU8seUJBQ1gsU0FBUSxrQkFBcUI7SUF3QjdCLFlBQ0UsTUFBbUIsRUFDWCxZQUEwQjtRQUVsQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFGTixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXRCMUIsWUFBTyxHQUFHLEdBQUcsWUFBWSxLQUFLLENBQUM7UUFFeEIsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pDLGtCQUFhLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0MsY0FBUyxHQUFzQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RSxlQUFVLEdBQXVCLElBQUksZUFBZSxD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LENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxNQUFjO1FBQzFDLE9BQU8sTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUM7UUFDeEIsT0FBUSxNQUFzQixFQUFFLFVBQVUsQ0FBQztRQUMzQyxPQUFPLE1BQVcsQ0FBQztJQUNyQixDQUFDOztzSEF4UVUseUJBQXlCOzBIQUF6Qix5QkFBeUIsY0FGeEIsTUFBTTsyRkFFUCx5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGZXRjaENsaWVudCwgSUZldGNoT3B0aW9ucywgSUlkZW50aWZpZWQsIElSZXN1bHQsIElSZXN1bHRMaXN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBmcm9tLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTHdtMm1DbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi9sd20ybS1jbGllbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIEVuZHBvaW50LFxuICBTZXJ2ZXJTZXR0aW5ncyxcbiAgYWdlbnRCYXNlVXJsLFxuICBFbnRpdHksXG4gIFVybENvbmZpZyxcbiAgVmFsaWRhdGlvblR5cGUsXG4gIFZhbGlkYXRpb25FcnJvcixcbiAgU2VjdXJpdHlNb2RlRGljdGlvbmFyeU9iaixcbiAgTW9kZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL21vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTHdtMm1Db25maWd1cmF0aW9uU2VydmljZTxUID0gRW50aXR5PlxuICBleHRlbmRzIEx3bTJtQ2xpZW50U2VydmljZTxUPlxuICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICBkZXZpY2VJZDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgYmFzZVVybCA9IGAke2FnZW50QmFzZVVybH0vdjFgO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbGlzdFNlcnZlcnMkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VydmVycyQ6IEJlaGF2aW9yU3ViamVjdDxTZXJ2ZXJTZXR0aW5nc1tdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zZXR0aW5ncyQ6IEJlaGF2aW9yU3ViamVjdDxUPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30gYXMgVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NlcnRpZmljYXRlcyQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdIGFzIHN0cmluZ1tdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VjdXJpdHlNb2RlRGljdFJhdyQ6IEJlaGF2aW9yU3ViamVjdDxTZWN1cml0eU1vZGVEaWN0aW9uYXJ5T2JqW10+ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdIGFzIFNlY3VyaXR5TW9kZURpY3Rpb25hcnlPYmpbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlY3VyaXR5TW9kZUJ5U2NvcGUkOiBCZWhhdmlvclN1YmplY3Q8U2VjdXJpdHlNb2RlRGljdGlvbmFyeU9ialtdPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdChbXSBhcyBTZWN1cml0eU1vZGVEaWN0aW9uYXJ5T2JqW10pO1xuXG4gIHNlcnZlcnMkOiBPYnNlcnZhYmxlPFNlcnZlclNldHRpbmdzW10+ID0gdGhpcy5fc2VydmVycyQuYXNPYnNlcnZhYmxlKCk7XG4gIHNldHRpbmdzJDogT2JzZXJ2YWJsZTxUPiA9IHRoaXMuX3NldHRpbmdzJC5hc09ic2VydmFibGUoKTtcbiAgY2VydGlmaWNhdGVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT4gPSB0aGlzLl9jZXJ0aWZpY2F0ZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICBzZWN1cml0eU1vZGVzQnlTY29wZSQ6IE9ic2VydmFibGU8U2VjdXJpdHlNb2RlRGljdGlvbmFyeU9ialtdPiA9XG4gICAgdGhpcy5fc2VjdXJpdHlNb2RlQnlTY29wZSQuYXNPYnNlcnZhYmxlKCk7XG4gIHNlY3VyaXR5TW9kZXNSYXckOiBPYnNlcnZhYmxlPFNlY3VyaXR5TW9kZURpY3Rpb25hcnlPYmpbXT4gPVxuICAgIHRoaXMuX3NlY3VyaXR5TW9kZURpY3RSYXckLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNsaWVudDogRmV0Y2hDbGllbnQsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihjbGllbnQpO1xuXG4gICAgdGhpcy5fbGlzdFNlcnZlcnMkXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgICAgdGhpcy5saXN0U2VydmVycyQoKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3AgPT4gdGhpcy5fc2VydmVycyQubmV4dChyZXNwPy5kYXRhIGFzIHVua25vd24gYXMgU2VydmVyU2V0dGluZ3NbXSkpXG4gICAgICAgICAgKVxuICAgICAgICApLFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKTtcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXRTZXR0aW5nc0Zvcih1cmxDZmc6IFVybENvbmZpZykge1xuICAgIHRoaXMuZGV0YWlsJCh1cmxDZmcpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGRhdGEgfSkgPT4gZGF0YSksXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBvZih7fSBhcyBUKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB0aGlzLl9zZXR0aW5ncyQubmV4dChkYXRhIGFzIFQpKTtcbiAgfVxuXG4gIGxpc3RTZXJ2ZXJzKCkge1xuICAgIHRoaXMuX2xpc3RTZXJ2ZXJzJC5uZXh0KCk7XG4gIH1cblxuICB1cGRhdGVDb25maWcoZW50aXR5OiBULCBlbmRwb2ludDogRW5kcG9pbnQpIHtcbiAgICB0aGlzLnVwZGF0ZSQoeyAuLi5lbnRpdHksIGVuZHBvaW50IH0pXG4gICAgICAucGlwZShcbiAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlcnJvcik7XG4gICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25CZWZvcmVVcGRhdGUoZW50aXR5OiBFbnRpdHkpIHtcbiAgICByZXR1cm4gdGhpcy5kZWxldGVGaWVsZHNJblJlcXVlc3QoZW50aXR5KTtcbiAgfVxuXG4gIG9uQmVmb3JlQ3JlYXRlKGVudGl0eTogRW50aXR5KSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlRmllbGRzSW5SZXF1ZXN0KGVudGl0eSk7XG4gIH1cblxuICBnZXREZXRhaWxVcmwoZW50aXR5OiBFbnRpdHkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgZW5kcG9pbnQgfSA9IGVudGl0eTtcbiAgICBjb25zdCBpZCA9IGVudGl0eS5pZCA/PyAnJztcbiAgICBjb25zdCBkZXZpY2VDb25maWdVcmwgPSBgZGV2aWNlLyR7dGhpcy5kZXZpY2VJZH0vY29uZmlndXJhdGlvbmA7XG5cbiAgICBpZiAoIWVuZHBvaW50KSB7XG4gICAgICB0aHJvdyB7IGRhdGE6IHsgbWVzc2FnZTogZ2V0dGV4dCgnVW5hYmxlIHRvIGZpbmQgZW5kcG9pbnQnKSB9IH07XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkLmxlbmd0aCA+IDAgJiYgZW5kcG9pbnQgPT09IEVuZHBvaW50LnNlcnZlcnNcbiAgICAgID8gYCR7ZGV2aWNlQ29uZmlnVXJsfS8ke2VuZHBvaW50fS8ke2lkfWBcbiAgICAgIDogYCR7ZGV2aWNlQ29uZmlnVXJsfS8ke2VuZHBvaW50fWA7XG4gIH1cblxuICB2YWxpZGF0ZShjZXJ0aWZpY2F0ZTogc3RyaW5nLCB0eXBlOiBWYWxpZGF0aW9uVHlwZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgaWYgKGNlcnRpZmljYXRlPy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBib2R5ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBbdHlwZSA9PT0gVmFsaWRhdGlvblR5cGUuUFJJVkFURV9LRVkgPyAnZW5jb2RlZFByaXZhdGVLZXknIDogJ2VuY29kZWRDZXJ0aWZpY2F0ZSddOlxuICAgICAgICAgIGNlcnRpZmljYXRlXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmV0Y2gkKGBkZXZpY2UvY29uZmlndXJhdGlvbi8ke3R5cGV9L3ZhbGlkYXRlYCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogeyAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLCBhY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgICBib2R5XG4gICAgICB9KS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocmVzdWx0ID0+XG4gICAgICAgICAgZnJvbShyZXN1bHQuanNvbigpIGFzIFByb21pc2U8b2JqZWN0PikucGlwZShcbiAgICAgICAgICAgIG1hcChkYXRhID0+IGRhdGFbJ2ZpbmdlcnByaW50J10gfHwgZGF0YVsnY29tbW9uTmFtZSddKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZTogSVJlc3VsdDxWYWxpZGF0aW9uRXJyb3I+KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCBlcnJvciB9ID0gZT8uZGF0YTtcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKHtcbiAgICAgICAgICAgIGRhdGE6IHsgbWVzc2FnZSwgZXhjZXB0aW9uTWVzc2FnZTogZXJyb3IgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGUpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZXJ2ZXJDZXJ0aWZpY2F0ZXMoKSB7XG4gICAgdGhpcy5mZXRjaFNlcnZlckNlcnRpZmljYXRlcyQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXJyb3IpO1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBmZXRjaFNlcnZlckNlcnRpZmljYXRlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2gkKCdkaWN0aW9uYXJ5L3NlcnZlci1jZXJ0aWZpY2F0ZXMnKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQuanNvbigpKSxcbiAgICAgIHRhcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLl9jZXJ0aWZpY2F0ZXMkLm5leHQocmVzdWx0KTtcbiAgICAgIH0pXG4gICAgKSBhcyBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcbiAgfVxuXG4gIGdldFNlY3VyaXR5TW9kZXMoKSB7XG4gICAgdGhpcy5mZXRjaFNlY3VyaXR5TW9kZXMkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAvLyBVc2UgdGhpcyBhcyBmYWxsYmFjay4gVGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXRcbiAgICAgICAgICAvLyB0aGUgVUkgdmVyc2lvbiBydW5zIGFnYWluc3QgYW4gYWdlbnQgdmVyc2lvbiB3aXRob3V0IHRoZSBuZWVkZWQgZW5kcG9pbnQ6XG4gICAgICAgICAgLy8gJ2RpY3Rpb25hcnkvc2VjdXJpdHktbW9kZXMnXG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgZGF0YTogeyBzdGF0dXMgfVxuICAgICAgICAgIH0gPSBlcnJvcjtcbiAgICAgICAgICBzdGF0dXMgIT09IDQwNFxuICAgICAgICAgICAgPyB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVycm9yKVxuICAgICAgICAgICAgOiB0aGlzLl9zZWN1cml0eU1vZGVEaWN0UmF3JC5uZXh0KFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBsYWJlbDogTW9kZS5ESVNBQkxFRCxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBNb2RlLkRJU0FCTEVELFxuICAgICAgICAgICAgICAgICAgdXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6IE1vZGUuTk9fU0VDLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IE1vZGUuTk9fU0VDLFxuICAgICAgICAgICAgICAgICAgdXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6IE1vZGUuUFNLLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IE1vZGUuUFNLLFxuICAgICAgICAgICAgICAgICAgdXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdYLjUwOScsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogTW9kZS5YNTA5LFxuICAgICAgICAgICAgICAgICAgdXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eTogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZldGNoU2VjdXJpdHlNb2RlcyQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2gkKCdkaWN0aW9uYXJ5L3NlY3VyaXR5LW1vZGVzJykucGlwZShcbiAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0Lmpzb24oKSksXG4gICAgICBtYXAoKHJlc3VsdDogU2VjdXJpdHlNb2RlRGljdGlvbmFyeU9ialtdKSA9PlxuICAgICAgICByZXN1bHQubWFwKCh7IG5hbWUsIHVzZUluQm9vdHN0cmFwQ29ubmVjdGl2aXR5LCB1c2VJblNlcnZlckNvbm5lY3Rpdml0eSB9KSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBuYW1lLnJlcGxhY2UoJ1g1MDknLCAnWC41MDknKSxcbiAgICAgICAgICB2YWx1ZTogbmFtZSxcbiAgICAgICAgICB1c2VJbkJvb3RzdHJhcENvbm5lY3Rpdml0eSxcbiAgICAgICAgICB1c2VJblNlcnZlckNvbm5lY3Rpdml0eVxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICB0YXAoKHJlc3VsdDogU2VjdXJpdHlNb2RlRGljdGlvbmFyeU9ialtdKSA9PiB7XG4gICAgICAgIHRoaXMuX3NlY3VyaXR5TW9kZURpY3RSYXckLm5leHQocmVzdWx0KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFNlY3VyaXR5TW9kZUJ5U2NvcGUoc2NvcGU6ICd1c2VJbkJvb3RzdHJhcENvbm5lY3Rpdml0eScgfCAndXNlSW5TZXJ2ZXJDb25uZWN0aXZpdHknKSB7XG4gICAgdGhpcy5fc2VjdXJpdHlNb2RlQnlTY29wZSQubmV4dChcbiAgICAgIHRoaXMuX3NlY3VyaXR5TW9kZURpY3RSYXckXG4gICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgKHsgdXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHksIHVzZUluU2VydmVyQ29ubmVjdGl2aXR5IH0pID0+XG4gICAgICAgICAgICAodXNlSW5Cb290c3RyYXBDb25uZWN0aXZpdHkgJiYgc2NvcGUgPT09ICd1c2VJbkJvb3RzdHJhcENvbm5lY3Rpdml0eScpIHx8XG4gICAgICAgICAgICAodXNlSW5TZXJ2ZXJDb25uZWN0aXZpdHkgJiYgc2NvcGUgPT09ICd1c2VJblNlcnZlckNvbm5lY3Rpdml0eScpXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY2xlYW5VcEJhc2U2NERhdGEoZmlsZVJlYWRBc0RhdGFVUkw6IHN0cmluZykge1xuICAgIGNvbnN0IGJhc2U2NFJlZ0V4cCA9IFJlZ0V4cCgvZGF0YTpcXFMrO2Jhc2U2NCwvZ2kpO1xuICAgIHJldHVybiBmaWxlUmVhZEFzRGF0YVVSTD8ubGVuZ3RoID4gMCAmJiBiYXNlNjRSZWdFeHAudGVzdChmaWxlUmVhZEFzRGF0YVVSTClcbiAgICAgID8gZmlsZVJlYWRBc0RhdGFVUkwucmVwbGFjZShiYXNlNjRSZWdFeHAsICcnKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBsaXN0U2VydmVycyQoKSB7XG4gICAgdGhpcy5saXN0VXJsID0gdGhpcy5nZXREZXRhaWxVcmwoeyBlbmRwb2ludDogRW5kcG9pbnQuc2VydmVycyB9KTtcbiAgICByZXR1cm4gZnJvbShzdXBlci5saXN0KCkgYXMgUHJvbWlzZTxJUmVzdWx0TGlzdDxTZXJ2ZXJTZXR0aW5ncz4+KTtcbiAgfVxuXG4gIGNyZWF0ZVNlcnZlciQoc2VydmVyOiBTZXJ2ZXJTZXR0aW5ncykge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgc3VwZXIuY3JlYXRlKHsgLi4uc2VydmVyLCBlbmRwb2ludDogRW5kcG9pbnQuc2VydmVycyB9KSBhcyBQcm9taXNlPElSZXN1bHQ8U2VydmVyU2V0dGluZ3M+PlxuICAgICk7XG4gIH1cblxuICBkZWxldGVTZXJ2ZXIkKHNlcnZlcjogU2VydmVyU2V0dGluZ3MpIHtcbiAgICByZXR1cm4gZnJvbShzdXBlci5kZWxldGUoeyAuLi5zZXJ2ZXIsIGVuZHBvaW50OiBFbmRwb2ludC5zZXJ2ZXJzIH0pKTtcbiAgfVxuXG4gIHVwZGF0ZSQoZW50aXR5OiBFbnRpdHkpIHtcbiAgICByZXR1cm4gZnJvbShzdXBlci51cGRhdGUoZW50aXR5IGFzIFQpIGFzIFByb21pc2U8SVJlc3VsdDxUPj4pO1xuICB9XG5cbiAgZGV0YWlsJCh1cmxDZmc6IFVybENvbmZpZykge1xuICAgIHJldHVybiBmcm9tKHN1cGVyLmRldGFpbCh1cmxDZmcgYXMgVCkgYXMgUHJvbWlzZTxJUmVzdWx0PFQ+Pik7XG4gIH1cblxuICBmZXRjaCQodXJsOiBzdHJpbmcsIGluaXQ/OiBJRmV0Y2hPcHRpb25zKSB7XG4gICAgcmV0dXJuIGZyb20oc3VwZXIuZmV0Y2godXJsLCBpbml0KSk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZUZpZWxkc0luUmVxdWVzdChlbnRpdHk6IEVudGl0eSkge1xuICAgIGRlbGV0ZSBlbnRpdHk/LmlkO1xuICAgIGRlbGV0ZSBlbnRpdHk/LmVuZHBvaW50O1xuICAgIGRlbGV0ZSAoZW50aXR5IGFzIElJZGVudGlmaWVkKT8uZGV2aWNlSW5mbztcbiAgICByZXR1cm4gZW50aXR5IGFzIFQ7XG4gIH1cbn1cbiJdfQ==