@openziti/ziti-console-lib 1.0.3 → 1.1.0

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 (563) hide show
  1. package/assets/styles/global.scss +70 -0
  2. package/fesm2022/openziti-ziti-console-lib.mjs +2133 -1321
  3. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  4. package/index.d.ts +5689 -6
  5. package/index.d.ts.map +1 -0
  6. package/package.json +10 -12
  7. package/esm2022/lib/ZAC_VERSION.mjs +0 -4
  8. package/esm2022/lib/app.initializer.mjs +0 -24
  9. package/esm2022/lib/default-app-config.mjs +0 -5
  10. package/esm2022/lib/features/card/card.component.mjs +0 -34
  11. package/esm2022/lib/features/card-list/card-list.component.mjs +0 -55
  12. package/esm2022/lib/features/config-editor/config-editor.component.mjs +0 -337
  13. package/esm2022/lib/features/confirm/confirm.component.mjs +0 -77
  14. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +0 -93
  15. package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +0 -111
  16. package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +0 -46
  17. package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +0 -49
  18. package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +0 -58
  19. package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +0 -123
  20. package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +0 -268
  21. package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +0 -93
  22. package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +0 -37
  23. package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +0 -33
  24. package/esm2022/lib/features/data-table/data-table-filter.service.mjs +0 -138
  25. package/esm2022/lib/features/data-table/data-table.component.mjs +0 -918
  26. package/esm2022/lib/features/data-table/data-table.service.mjs +0 -98
  27. package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +0 -108
  28. package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +0 -26
  29. package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +0 -29
  30. package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +0 -34
  31. package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +0 -72
  32. package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +0 -134
  33. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +0 -189
  34. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +0 -50
  35. package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +0 -95
  36. package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +0 -121
  37. package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +0 -83
  38. package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +0 -100
  39. package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +0 -201
  40. package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +0 -166
  41. package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +0 -108
  42. package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +0 -126
  43. package/esm2022/lib/features/extendable/extendable.component.mjs +0 -55
  44. package/esm2022/lib/features/extendable/extensions-noop.service.mjs +0 -52
  45. package/esm2022/lib/features/header-bar/header-bar.component.mjs +0 -105
  46. package/esm2022/lib/features/json-view/json-view.component.mjs +0 -212
  47. package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +0 -138
  48. package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +0 -66
  49. package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +0 -29
  50. package/esm2022/lib/features/login/login-dialog.component.mjs +0 -121
  51. package/esm2022/lib/features/messaging/growler.component.mjs +0 -62
  52. package/esm2022/lib/features/messaging/growler.model.mjs +0 -24
  53. package/esm2022/lib/features/messaging/growler.module.mjs +0 -34
  54. package/esm2022/lib/features/messaging/growler.service.mjs +0 -71
  55. package/esm2022/lib/features/messaging/logger.service.mjs +0 -174
  56. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +0 -30
  57. package/esm2022/lib/features/no-items/no-items.component.mjs +0 -46
  58. package/esm2022/lib/features/overrides/overrides.component.mjs +0 -118
  59. package/esm2022/lib/features/overrides/overrides.service.mjs +0 -114
  60. package/esm2022/lib/features/preview-list/preview-list.component.mjs +0 -151
  61. package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +0 -114
  62. package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +0 -43
  63. package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +0 -90
  64. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +0 -143
  65. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +0 -118
  66. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +0 -337
  67. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +0 -114
  68. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +0 -399
  69. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +0 -95
  70. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +0 -217
  71. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +0 -54
  72. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +0 -244
  73. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +0 -92
  74. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +0 -275
  75. package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +0 -137
  76. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +0 -231
  77. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +0 -118
  78. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +0 -277
  79. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +0 -188
  80. package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +0 -101
  81. package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +0 -54
  82. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +0 -135
  83. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +0 -471
  84. package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +0 -131
  85. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +0 -533
  86. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +0 -79
  87. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +0 -437
  88. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +0 -81
  89. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +0 -315
  90. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +0 -330
  91. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +0 -591
  92. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +0 -1036
  93. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +0 -275
  94. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +0 -172
  95. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +0 -279
  96. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +0 -230
  97. package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +0 -213
  98. package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +0 -84
  99. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +0 -244
  100. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +0 -130
  101. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +0 -224
  102. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +0 -118
  103. package/esm2022/lib/features/qr-code/qr-code.component.mjs +0 -166
  104. package/esm2022/lib/features/quick-add/quick-add.component.mjs +0 -50
  105. package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +0 -86
  106. package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +0 -61
  107. package/esm2022/lib/features/side-modal/side-modal.component.mjs +0 -45
  108. package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +0 -127
  109. package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +0 -54
  110. package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +0 -291
  111. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +0 -586
  112. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +0 -373
  113. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +0 -1706
  114. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +0 -591
  115. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +0 -883
  116. package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +0 -32
  117. package/esm2022/lib/models/api-session.mjs +0 -7
  118. package/esm2022/lib/models/auth-policy.mjs +0 -31
  119. package/esm2022/lib/models/certificate-authority.mjs +0 -16
  120. package/esm2022/lib/models/config-type.mjs +0 -10
  121. package/esm2022/lib/models/config.mjs +0 -10
  122. package/esm2022/lib/models/edge-router-policy.mjs +0 -11
  123. package/esm2022/lib/models/edge-router.mjs +0 -13
  124. package/esm2022/lib/models/identity.mjs +0 -34
  125. package/esm2022/lib/models/jwt-signer.mjs +0 -20
  126. package/esm2022/lib/models/posture-check.mjs +0 -29
  127. package/esm2022/lib/models/service-edge-router-policy.mjs +0 -11
  128. package/esm2022/lib/models/service-policy.mjs +0 -13
  129. package/esm2022/lib/models/service.mjs +0 -12
  130. package/esm2022/lib/models/session.mjs +0 -7
  131. package/esm2022/lib/models/terminator.mjs +0 -14
  132. package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +0 -112
  133. package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +0 -235
  134. package/esm2022/lib/pages/attributes/attributes.component.mjs +0 -104
  135. package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +0 -120
  136. package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +0 -215
  137. package/esm2022/lib/pages/callback/callback.component.mjs +0 -155
  138. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +0 -119
  139. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +0 -240
  140. package/esm2022/lib/pages/config-types/config-types-page.component.mjs +0 -130
  141. package/esm2022/lib/pages/config-types/config-types-page.service.mjs +0 -134
  142. package/esm2022/lib/pages/configurations/configurations-page.component.mjs +0 -134
  143. package/esm2022/lib/pages/configurations/configurations-page.service.mjs +0 -251
  144. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +0 -128
  145. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +0 -407
  146. package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +0 -136
  147. package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +0 -354
  148. package/esm2022/lib/pages/geolocate/geolocate.component.mjs +0 -130
  149. package/esm2022/lib/pages/identities/identities-page.component.mjs +0 -221
  150. package/esm2022/lib/pages/identities/identities-page.service.mjs +0 -591
  151. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +0 -160
  152. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +0 -177
  153. package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +0 -103
  154. package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +0 -200
  155. package/esm2022/lib/pages/profile/profile.component.mjs +0 -58
  156. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +0 -122
  157. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +0 -367
  158. package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +0 -124
  159. package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +0 -446
  160. package/esm2022/lib/pages/services/services-page.component.mjs +0 -218
  161. package/esm2022/lib/pages/services/services-page.service.mjs +0 -378
  162. package/esm2022/lib/pages/sessions/sessions-page.component.mjs +0 -112
  163. package/esm2022/lib/pages/sessions/sessions-page.service.mjs +0 -228
  164. package/esm2022/lib/pages/settings/settings.component.mjs +0 -61
  165. package/esm2022/lib/pages/terminators/terminators-page.component.mjs +0 -97
  166. package/esm2022/lib/pages/terminators/terminators-page.service.mjs +0 -235
  167. package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +0 -129
  168. package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +0 -248
  169. package/esm2022/lib/safe.pipe.mjs +0 -18
  170. package/esm2022/lib/services/auth.service.mjs +0 -94
  171. package/esm2022/lib/services/console-events.service.mjs +0 -20
  172. package/esm2022/lib/services/csv-download.service.mjs +0 -91
  173. package/esm2022/lib/services/deactivate-guard.service.mjs +0 -17
  174. package/esm2022/lib/services/login-service.class.mjs +0 -47
  175. package/esm2022/lib/services/node-data.service.mjs +0 -397
  176. package/esm2022/lib/services/noop-login.service.mjs +0 -41
  177. package/esm2022/lib/services/schema.service.mjs +0 -807
  178. package/esm2022/lib/services/settings-service.class.mjs +0 -120
  179. package/esm2022/lib/services/settings.service.mjs +0 -203
  180. package/esm2022/lib/services/tab-name.service.mjs +0 -73
  181. package/esm2022/lib/services/validation.service.mjs +0 -156
  182. package/esm2022/lib/services/ziti-controller-data.service.mjs +0 -340
  183. package/esm2022/lib/services/ziti-data.service.mjs +0 -100
  184. package/esm2022/lib/services/ziti-domain-controller.service.mjs +0 -3
  185. package/esm2022/lib/shared/list-page-component.class.mjs +0 -186
  186. package/esm2022/lib/shared/list-page-service.class.mjs +0 -244
  187. package/esm2022/lib/urls.mjs +0 -34
  188. package/esm2022/lib/zac-routing.module.mjs +0 -34
  189. package/esm2022/lib/ziti-console-lib.module.mjs +0 -538
  190. package/esm2022/lib/ziti-console.constants.mjs +0 -20
  191. package/esm2022/openziti-ziti-console-lib.mjs +0 -5
  192. package/esm2022/public-api.mjs +0 -130
  193. package/lib/ZAC_VERSION.d.ts +0 -4
  194. package/lib/ZAC_VERSION.d.ts.map +0 -1
  195. package/lib/app.initializer.d.ts +0 -3
  196. package/lib/app.initializer.d.ts.map +0 -1
  197. package/lib/default-app-config.d.ts +0 -9
  198. package/lib/default-app-config.d.ts.map +0 -1
  199. package/lib/features/card/card.component.d.ts +0 -13
  200. package/lib/features/card/card.component.d.ts.map +0 -1
  201. package/lib/features/card-list/card-list.component.d.ts +0 -27
  202. package/lib/features/card-list/card-list.component.d.ts.map +0 -1
  203. package/lib/features/config-editor/config-editor.component.d.ts +0 -50
  204. package/lib/features/config-editor/config-editor.component.d.ts.map +0 -1
  205. package/lib/features/confirm/confirm.component.d.ts +0 -34
  206. package/lib/features/confirm/confirm.component.d.ts.map +0 -1
  207. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts +0 -32
  208. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts.map +0 -1
  209. package/lib/features/custom-tags/custom-tags.component.d.ts +0 -37
  210. package/lib/features/custom-tags/custom-tags.component.d.ts.map +0 -1
  211. package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts +0 -16
  212. package/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.d.ts.map +0 -1
  213. package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts +0 -20
  214. package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts.map +0 -1
  215. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts +0 -15
  216. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts.map +0 -1
  217. package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts +0 -22
  218. package/lib/features/data-table/cells/table-cell-token/table-cell-token.component.d.ts.map +0 -1
  219. package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts +0 -52
  220. package/lib/features/data-table/column-headers/table-column-default/table-column-default.component.d.ts.map +0 -1
  221. package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts +0 -27
  222. package/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.d.ts.map +0 -1
  223. package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts +0 -19
  224. package/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.d.ts.map +0 -1
  225. package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts +0 -15
  226. package/lib/features/data-table/column-headers/table-column-select/table-column-select.component.d.ts.map +0 -1
  227. package/lib/features/data-table/data-table-filter.service.d.ts +0 -37
  228. package/lib/features/data-table/data-table-filter.service.d.ts.map +0 -1
  229. package/lib/features/data-table/data-table.component.d.ts +0 -164
  230. package/lib/features/data-table/data-table.component.d.ts.map +0 -1
  231. package/lib/features/data-table/data-table.service.d.ts +0 -20
  232. package/lib/features/data-table/data-table.service.d.ts.map +0 -1
  233. package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts +0 -25
  234. package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts.map +0 -1
  235. package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts +0 -10
  236. package/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.d.ts.map +0 -1
  237. package/lib/features/data-table/tooltips/os-tooltip.component.d.ts +0 -15
  238. package/lib/features/data-table/tooltips/os-tooltip.component.d.ts.map +0 -1
  239. package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts +0 -15
  240. package/lib/features/data-table/tooltips/sdk-tooltip.component.d.ts.map +0 -1
  241. package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts +0 -19
  242. package/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.d.ts.map +0 -1
  243. package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts +0 -28
  244. package/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.d.ts.map +0 -1
  245. package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts +0 -50
  246. package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.d.ts.map +0 -1
  247. package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts +0 -14
  248. package/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.d.ts.map +0 -1
  249. package/lib/features/dynamic-widgets/number/number-input.component.d.ts +0 -23
  250. package/lib/features/dynamic-widgets/number/number-input.component.d.ts.map +0 -1
  251. package/lib/features/dynamic-widgets/object/object.component.d.ts +0 -26
  252. package/lib/features/dynamic-widgets/object/object.component.d.ts.map +0 -1
  253. package/lib/features/dynamic-widgets/password/password-input.component.d.ts +0 -24
  254. package/lib/features/dynamic-widgets/password/password-input.component.d.ts.map +0 -1
  255. package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts +0 -22
  256. package/lib/features/dynamic-widgets/port-ranges/port-ranges.component.d.ts.map +0 -1
  257. package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts +0 -60
  258. package/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.d.ts.map +0 -1
  259. package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts +0 -30
  260. package/lib/features/dynamic-widgets/selector/selector-input.component.d.ts.map +0 -1
  261. package/lib/features/dynamic-widgets/string/string-input.component.d.ts +0 -27
  262. package/lib/features/dynamic-widgets/string/string-input.component.d.ts.map +0 -1
  263. package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts +0 -26
  264. package/lib/features/dynamic-widgets/text-list/text-list-input.component.d.ts.map +0 -1
  265. package/lib/features/extendable/extendable.component.d.ts +0 -15
  266. package/lib/features/extendable/extendable.component.d.ts.map +0 -1
  267. package/lib/features/extendable/extensions-noop.service.d.ts +0 -35
  268. package/lib/features/extendable/extensions-noop.service.d.ts.map +0 -1
  269. package/lib/features/header-bar/header-bar.component.d.ts +0 -29
  270. package/lib/features/header-bar/header-bar.component.d.ts.map +0 -1
  271. package/lib/features/json-view/json-view.component.d.ts +0 -40
  272. package/lib/features/json-view/json-view.component.d.ts.map +0 -1
  273. package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts +0 -35
  274. package/lib/features/list-page-features/list-page-form/list-page-form.component.d.ts.map +0 -1
  275. package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts +0 -14
  276. package/lib/features/list-page-features/list-page-header/list-page-header.component.d.ts.map +0 -1
  277. package/lib/features/loading-indicator/loading-indicator.component.d.ts +0 -11
  278. package/lib/features/loading-indicator/loading-indicator.component.d.ts.map +0 -1
  279. package/lib/features/login/login-dialog.component.d.ts +0 -30
  280. package/lib/features/login/login-dialog.component.d.ts.map +0 -1
  281. package/lib/features/messaging/growler.component.d.ts +0 -19
  282. package/lib/features/messaging/growler.component.d.ts.map +0 -1
  283. package/lib/features/messaging/growler.model.d.ts +0 -8
  284. package/lib/features/messaging/growler.model.d.ts.map +0 -1
  285. package/lib/features/messaging/growler.module.d.ts +0 -10
  286. package/lib/features/messaging/growler.module.d.ts.map +0 -1
  287. package/lib/features/messaging/growler.service.d.ts +0 -18
  288. package/lib/features/messaging/growler.service.d.ts.map +0 -1
  289. package/lib/features/messaging/logger.service.d.ts +0 -27
  290. package/lib/features/messaging/logger.service.d.ts.map +0 -1
  291. package/lib/features/multi-action-button/multi-action-button.component.d.ts +0 -13
  292. package/lib/features/multi-action-button/multi-action-button.component.d.ts.map +0 -1
  293. package/lib/features/no-items/no-items.component.d.ts +0 -19
  294. package/lib/features/no-items/no-items.component.d.ts.map +0 -1
  295. package/lib/features/overrides/overrides.component.d.ts +0 -33
  296. package/lib/features/overrides/overrides.component.d.ts.map +0 -1
  297. package/lib/features/overrides/overrides.service.d.ts +0 -18
  298. package/lib/features/overrides/overrides.service.d.ts.map +0 -1
  299. package/lib/features/preview-list/preview-list.component.d.ts +0 -34
  300. package/lib/features/preview-list/preview-list.component.d.ts.map +0 -1
  301. package/lib/features/preview-selections/preview-selections.component.d.ts +0 -39
  302. package/lib/features/preview-selections/preview-selections.component.d.ts.map +0 -1
  303. package/lib/features/progress-meter/progress-meter.component.d.ts +0 -19
  304. package/lib/features/progress-meter/progress-meter.component.d.ts.map +0 -1
  305. package/lib/features/progress-wizard/progress-wizard.component.d.ts +0 -31
  306. package/lib/features/progress-wizard/progress-wizard.component.d.ts.map +0 -1
  307. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +0 -50
  308. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +0 -1
  309. package/lib/features/projectable-forms/api-session/api-session-form.service.d.ts +0 -27
  310. package/lib/features/projectable-forms/api-session/api-session-form.service.d.ts.map +0 -1
  311. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +0 -74
  312. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +0 -1
  313. package/lib/features/projectable-forms/auth-policy/auth-policy-form.service.d.ts +0 -38
  314. package/lib/features/projectable-forms/auth-policy/auth-policy-form.service.d.ts.map +0 -1
  315. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +0 -80
  316. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +0 -1
  317. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.d.ts +0 -37
  318. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.d.ts.map +0 -1
  319. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +0 -62
  320. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +0 -1
  321. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.d.ts +0 -28
  322. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.d.ts.map +0 -1
  323. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +0 -63
  324. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +0 -1
  325. package/lib/features/projectable-forms/config-type/config-type-form.service.d.ts +0 -27
  326. package/lib/features/projectable-forms/config-type/config-type-form.service.d.ts.map +0 -1
  327. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +0 -62
  328. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +0 -1
  329. package/lib/features/projectable-forms/configuration/configuration.service.d.ts +0 -33
  330. package/lib/features/projectable-forms/configuration/configuration.service.d.ts.map +0 -1
  331. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +0 -53
  332. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +0 -1
  333. package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts +0 -29
  334. package/lib/features/projectable-forms/edge-router/edge-router-form.service.d.ts.map +0 -1
  335. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +0 -54
  336. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +0 -1
  337. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts +0 -40
  338. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +0 -1
  339. package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts +0 -29
  340. package/lib/features/projectable-forms/form-field-container/form-field-container.component.d.ts.map +0 -1
  341. package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts +0 -15
  342. package/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.d.ts.map +0 -1
  343. package/lib/features/projectable-forms/form-header/form-header.component.d.ts +0 -38
  344. package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +0 -1
  345. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +0 -93
  346. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +0 -1
  347. package/lib/features/projectable-forms/identity/identity-form.service.d.ts +0 -20
  348. package/lib/features/projectable-forms/identity/identity-form.service.d.ts.map +0 -1
  349. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +0 -97
  350. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +0 -1
  351. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts +0 -21
  352. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.d.ts.map +0 -1
  353. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +0 -134
  354. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +0 -1
  355. package/lib/features/projectable-forms/posture-check/posture-check-form.service.d.ts +0 -23
  356. package/lib/features/projectable-forms/posture-check/posture-check-form.service.d.ts.map +0 -1
  357. package/lib/features/projectable-forms/projectable-form.class.d.ts +0 -92
  358. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +0 -1
  359. package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -70
  360. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +0 -1
  361. package/lib/features/projectable-forms/service/service-form.service.d.ts +0 -123
  362. package/lib/features/projectable-forms/service/service-form.service.d.ts.map +0 -1
  363. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +0 -173
  364. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +0 -1
  365. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +0 -53
  366. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +0 -1
  367. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts +0 -38
  368. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +0 -1
  369. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +0 -55
  370. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +0 -1
  371. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts +0 -48
  372. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +0 -1
  373. package/lib/features/projectable-forms/session/session-form.component.d.ts +0 -63
  374. package/lib/features/projectable-forms/session/session-form.component.d.ts.map +0 -1
  375. package/lib/features/projectable-forms/session/session-form.service.d.ts +0 -23
  376. package/lib/features/projectable-forms/session/session-form.service.d.ts.map +0 -1
  377. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +0 -58
  378. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +0 -1
  379. package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts +0 -33
  380. package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts.map +0 -1
  381. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +0 -50
  382. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +0 -1
  383. package/lib/features/projectable-forms/transit-router/transit-router-form.service.d.ts +0 -27
  384. package/lib/features/projectable-forms/transit-router/transit-router-form.service.d.ts.map +0 -1
  385. package/lib/features/qr-code/qr-code.component.d.ts +0 -45
  386. package/lib/features/qr-code/qr-code.component.d.ts.map +0 -1
  387. package/lib/features/quick-add/quick-add.component.d.ts +0 -15
  388. package/lib/features/quick-add/quick-add.component.d.ts.map +0 -1
  389. package/lib/features/reset-enrollment/reset-enrollment.component.d.ts +0 -27
  390. package/lib/features/reset-enrollment/reset-enrollment.component.d.ts.map +0 -1
  391. package/lib/features/reset-enrollment/reset-enrollment.service.d.ts +0 -13
  392. package/lib/features/reset-enrollment/reset-enrollment.service.d.ts.map +0 -1
  393. package/lib/features/side-modal/side-modal.component.d.ts +0 -15
  394. package/lib/features/side-modal/side-modal.component.d.ts.map +0 -1
  395. package/lib/features/side-navigator/side-navigator.component.d.ts +0 -33
  396. package/lib/features/side-navigator/side-navigator.component.d.ts.map +0 -1
  397. package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts +0 -16
  398. package/lib/features/sidebars/side-navbar/side-navbar.component.d.ts.map +0 -1
  399. package/lib/features/tag-selector/tag-selector.component.d.ts +0 -59
  400. package/lib/features/tag-selector/tag-selector.component.d.ts.map +0 -1
  401. package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts +0 -54
  402. package/lib/features/visualizer/identity-service-path/identity-service-path.component.d.ts.map +0 -1
  403. package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts +0 -21
  404. package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts.map +0 -1
  405. package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts +0 -146
  406. package/lib/features/visualizer/network-visualizer/network-visualizer.component.d.ts.map +0 -1
  407. package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts +0 -172
  408. package/lib/features/visualizer/network-visualizer/network-visualizer.helper.d.ts.map +0 -1
  409. package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts +0 -35
  410. package/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.d.ts.map +0 -1
  411. package/lib/features/visualizer/visualizer-service.class.d.ts +0 -10
  412. package/lib/features/visualizer/visualizer-service.class.d.ts.map +0 -1
  413. package/lib/models/api-session.d.ts +0 -18
  414. package/lib/models/api-session.d.ts.map +0 -1
  415. package/lib/models/auth-policy.d.ts +0 -8
  416. package/lib/models/auth-policy.d.ts.map +0 -1
  417. package/lib/models/certificate-authority.d.ts +0 -14
  418. package/lib/models/certificate-authority.d.ts.map +0 -1
  419. package/lib/models/config-type.d.ts +0 -7
  420. package/lib/models/config-type.d.ts.map +0 -1
  421. package/lib/models/config.d.ts +0 -7
  422. package/lib/models/config.d.ts.map +0 -1
  423. package/lib/models/edge-router-policy.d.ts +0 -8
  424. package/lib/models/edge-router-policy.d.ts.map +0 -1
  425. package/lib/models/edge-router.d.ts +0 -10
  426. package/lib/models/edge-router.d.ts.map +0 -1
  427. package/lib/models/identity.d.ts +0 -16
  428. package/lib/models/identity.d.ts.map +0 -1
  429. package/lib/models/jwt-signer.d.ts +0 -17
  430. package/lib/models/jwt-signer.d.ts.map +0 -1
  431. package/lib/models/posture-check.d.ts +0 -17
  432. package/lib/models/posture-check.d.ts.map +0 -1
  433. package/lib/models/service-edge-router-policy.d.ts +0 -8
  434. package/lib/models/service-edge-router-policy.d.ts.map +0 -1
  435. package/lib/models/service-policy.d.ts +0 -10
  436. package/lib/models/service-policy.d.ts.map +0 -1
  437. package/lib/models/service.d.ts +0 -9
  438. package/lib/models/service.d.ts.map +0 -1
  439. package/lib/models/session.d.ts +0 -17
  440. package/lib/models/session.d.ts.map +0 -1
  441. package/lib/models/terminator.d.ts +0 -11
  442. package/lib/models/terminator.d.ts.map +0 -1
  443. package/lib/pages/api-sessions/api-sessions-page.component.d.ts +0 -30
  444. package/lib/pages/api-sessions/api-sessions-page.component.d.ts.map +0 -1
  445. package/lib/pages/api-sessions/api-sessions-page.service.d.ts +0 -31
  446. package/lib/pages/api-sessions/api-sessions-page.service.d.ts.map +0 -1
  447. package/lib/pages/attributes/attributes.component.d.ts +0 -31
  448. package/lib/pages/attributes/attributes.component.d.ts.map +0 -1
  449. package/lib/pages/auth-policies/auth-policies-page.component.d.ts +0 -29
  450. package/lib/pages/auth-policies/auth-policies-page.component.d.ts.map +0 -1
  451. package/lib/pages/auth-policies/auth-policies-page.service.d.ts +0 -34
  452. package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +0 -1
  453. package/lib/pages/callback/callback.component.d.ts +0 -22
  454. package/lib/pages/callback/callback.component.d.ts.map +0 -1
  455. package/lib/pages/certificate-authorities/certificate-authorities-page.component.d.ts +0 -30
  456. package/lib/pages/certificate-authorities/certificate-authorities-page.component.d.ts.map +0 -1
  457. package/lib/pages/certificate-authorities/certificate-authorities-page.service.d.ts +0 -35
  458. package/lib/pages/certificate-authorities/certificate-authorities-page.service.d.ts.map +0 -1
  459. package/lib/pages/config-types/config-types-page.component.d.ts +0 -31
  460. package/lib/pages/config-types/config-types-page.component.d.ts.map +0 -1
  461. package/lib/pages/config-types/config-types-page.service.d.ts +0 -29
  462. package/lib/pages/config-types/config-types-page.service.d.ts.map +0 -1
  463. package/lib/pages/configurations/configurations-page.component.d.ts +0 -30
  464. package/lib/pages/configurations/configurations-page.component.d.ts.map +0 -1
  465. package/lib/pages/configurations/configurations-page.service.d.ts +0 -80
  466. package/lib/pages/configurations/configurations-page.service.d.ts.map +0 -1
  467. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +0 -33
  468. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +0 -1
  469. package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts +0 -63
  470. package/lib/pages/edge-router-policies/edge-router-policies-page.service.d.ts.map +0 -1
  471. package/lib/pages/edge-routers/edge-routers-page.component.d.ts +0 -36
  472. package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +0 -1
  473. package/lib/pages/edge-routers/edge-routers-page.service.d.ts +0 -51
  474. package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +0 -1
  475. package/lib/pages/geolocate/geolocate.component.d.ts +0 -32
  476. package/lib/pages/geolocate/geolocate.component.d.ts.map +0 -1
  477. package/lib/pages/identities/identities-page.component.d.ts +0 -40
  478. package/lib/pages/identities/identities-page.component.d.ts.map +0 -1
  479. package/lib/pages/identities/identities-page.service.d.ts +0 -64
  480. package/lib/pages/identities/identities-page.service.d.ts.map +0 -1
  481. package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts +0 -34
  482. package/lib/pages/jwt-signers/jwt-signers-page.component.d.ts.map +0 -1
  483. package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts +0 -31
  484. package/lib/pages/jwt-signers/jwt-signers-page.service.d.ts.map +0 -1
  485. package/lib/pages/posture-checks/posture-checks-page.component.d.ts +0 -29
  486. package/lib/pages/posture-checks/posture-checks-page.component.d.ts.map +0 -1
  487. package/lib/pages/posture-checks/posture-checks-page.service.d.ts +0 -28
  488. package/lib/pages/posture-checks/posture-checks-page.service.d.ts.map +0 -1
  489. package/lib/pages/profile/profile.component.d.ts +0 -17
  490. package/lib/pages/profile/profile.component.d.ts.map +0 -1
  491. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +0 -33
  492. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +0 -1
  493. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts +0 -57
  494. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.d.ts.map +0 -1
  495. package/lib/pages/service-policies/service-policies-page.component.d.ts +0 -34
  496. package/lib/pages/service-policies/service-policies-page.component.d.ts.map +0 -1
  497. package/lib/pages/service-policies/service-policies-page.service.d.ts +0 -63
  498. package/lib/pages/service-policies/service-policies-page.service.d.ts.map +0 -1
  499. package/lib/pages/services/services-page.component.d.ts +0 -42
  500. package/lib/pages/services/services-page.component.d.ts.map +0 -1
  501. package/lib/pages/services/services-page.service.d.ts +0 -69
  502. package/lib/pages/services/services-page.service.d.ts.map +0 -1
  503. package/lib/pages/sessions/sessions-page.component.d.ts +0 -30
  504. package/lib/pages/sessions/sessions-page.component.d.ts.map +0 -1
  505. package/lib/pages/sessions/sessions-page.service.d.ts +0 -30
  506. package/lib/pages/sessions/sessions-page.service.d.ts.map +0 -1
  507. package/lib/pages/settings/settings.component.d.ts +0 -23
  508. package/lib/pages/settings/settings.component.d.ts.map +0 -1
  509. package/lib/pages/terminators/terminators-page.component.d.ts +0 -29
  510. package/lib/pages/terminators/terminators-page.component.d.ts.map +0 -1
  511. package/lib/pages/terminators/terminators-page.service.d.ts +0 -32
  512. package/lib/pages/terminators/terminators-page.service.d.ts.map +0 -1
  513. package/lib/pages/transit-routers/transit-routers-page.component.d.ts +0 -35
  514. package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +0 -1
  515. package/lib/pages/transit-routers/transit-routers-page.service.d.ts +0 -50
  516. package/lib/pages/transit-routers/transit-routers-page.service.d.ts.map +0 -1
  517. package/lib/safe.pipe.d.ts +0 -11
  518. package/lib/safe.pipe.d.ts.map +0 -1
  519. package/lib/services/auth.service.d.ts +0 -21
  520. package/lib/services/auth.service.d.ts.map +0 -1
  521. package/lib/services/console-events.service.d.ts +0 -12
  522. package/lib/services/console-events.service.d.ts.map +0 -1
  523. package/lib/services/csv-download.service.d.ts +0 -11
  524. package/lib/services/csv-download.service.d.ts.map +0 -1
  525. package/lib/services/deactivate-guard.service.d.ts +0 -14
  526. package/lib/services/deactivate-guard.service.d.ts.map +0 -1
  527. package/lib/services/login-service.class.d.ts +0 -30
  528. package/lib/services/login-service.class.d.ts.map +0 -1
  529. package/lib/services/node-data.service.d.ts +0 -38
  530. package/lib/services/node-data.service.d.ts.map +0 -1
  531. package/lib/services/noop-login.service.d.ts +0 -22
  532. package/lib/services/noop-login.service.d.ts.map +0 -1
  533. package/lib/services/schema.service.d.ts +0 -63
  534. package/lib/services/schema.service.d.ts.map +0 -1
  535. package/lib/services/settings-service.class.d.ts +0 -36
  536. package/lib/services/settings-service.class.d.ts.map +0 -1
  537. package/lib/services/settings.service.d.ts +0 -20
  538. package/lib/services/settings.service.d.ts.map +0 -1
  539. package/lib/services/tab-name.service.d.ts +0 -20
  540. package/lib/services/tab-name.service.d.ts.map +0 -1
  541. package/lib/services/validation.service.d.ts +0 -20
  542. package/lib/services/validation.service.d.ts.map +0 -1
  543. package/lib/services/ziti-controller-data.service.d.ts +0 -36
  544. package/lib/services/ziti-controller-data.service.d.ts.map +0 -1
  545. package/lib/services/ziti-data.service.d.ts +0 -49
  546. package/lib/services/ziti-data.service.d.ts.map +0 -1
  547. package/lib/services/ziti-domain-controller.service.d.ts +0 -13
  548. package/lib/services/ziti-domain-controller.service.d.ts.map +0 -1
  549. package/lib/shared/list-page-component.class.d.ts +0 -57
  550. package/lib/shared/list-page-component.class.d.ts.map +0 -1
  551. package/lib/shared/list-page-service.class.d.ts +0 -81
  552. package/lib/shared/list-page-service.class.d.ts.map +0 -1
  553. package/lib/urls.d.ts +0 -34
  554. package/lib/urls.d.ts.map +0 -1
  555. package/lib/zac-routing.module.d.ts +0 -8
  556. package/lib/zac-routing.module.d.ts.map +0 -1
  557. package/lib/ziti-console-lib.module.d.ts +0 -121
  558. package/lib/ziti-console-lib.module.d.ts.map +0 -1
  559. package/lib/ziti-console.constants.d.ts +0 -5
  560. package/lib/ziti-console.constants.d.ts.map +0 -1
  561. package/openziti-ziti-console-lib.d.ts.map +0 -1
  562. package/public-api.d.ts +0 -127
  563. package/public-api.d.ts.map +0 -1
@@ -1,367 +0,0 @@
1
- /*
2
- Copyright NetFoundry Inc.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- https://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
- import { Injectable, Inject } from "@angular/core";
17
- import { isEmpty } from 'lodash';
18
- import { ListPageServiceClass } from "../../shared/list-page-service.class";
19
- import { TableColumnDefaultComponent } from "../../features/data-table/column-headers/table-column-default/table-column-default.component";
20
- import { SETTINGS_SERVICE } from "../../services/settings.service";
21
- import { ZITI_DATA_SERVICE } from "../../services/ziti-data.service";
22
- import { EdgeRouterPolicy } from "../../models/edge-router-policy";
23
- import { unset } from "lodash";
24
- import { SHAREDZ_EXTENSION } from "../../features/extendable/extensions-noop.service";
25
- import { TableCellNameComponent } from "../../features/data-table/cells/table-cell-name/table-cell-name.component";
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "../../features/data-table/data-table-filter.service";
28
- import * as i2 from "../../services/csv-download.service";
29
- import * as i3 from "../../features/messaging/growler.service";
30
- import * as i4 from "@angular/material/dialog";
31
- import * as i5 from "@angular/router";
32
- import * as i6 from "../../services/settings-service.class";
33
- import * as i7 from "../../services/ziti-data.service";
34
- export class ServiceEdgeRouterPoliciesPageService extends ListPageServiceClass {
35
- constructor(settings, filterService, zitiService, csvDownloadService, growlerService, dialogForm, extService, router) {
36
- super(settings, filterService, csvDownloadService, extService, router);
37
- this.zitiService = zitiService;
38
- this.csvDownloadService = csvDownloadService;
39
- this.growlerService = growlerService;
40
- this.dialogForm = dialogForm;
41
- this.extService = extService;
42
- this.router = router;
43
- this.paging = this.DEFAULT_PAGING;
44
- this.modalType = 'service-edge-router-policy';
45
- this.serviceType = '';
46
- this.selectedEdgeRouterPolicy = new EdgeRouterPolicy();
47
- this.routerRoleAttributes = [];
48
- this.routerNamedAttributes = [];
49
- this.routerNamedAttributesMap = {};
50
- this.selectedRouterRoleAttributes = [];
51
- this.selectedRouterNamedAttributes = [];
52
- this.serviceRoleAttributes = [];
53
- this.serviceNamedAttributes = [];
54
- this.serviceNamedAttributesMap = {};
55
- this.selectedServiceRoleAttributes = [];
56
- this.selectedServiceNamedAttributes = [];
57
- this.columnFilters = {
58
- name: '',
59
- os: '',
60
- createdAt: '',
61
- };
62
- this.menuItems = [
63
- { name: 'Edit', action: 'update' },
64
- { name: 'Delete', action: 'delete' },
65
- ];
66
- this.tableHeaderActions = [
67
- { name: 'Download All', action: 'download-all' },
68
- { name: 'Download Selected', action: 'download-selected' },
69
- ];
70
- this.resourceType = 'service-edge-router-policies';
71
- this.validate = (formData) => {
72
- return Promise.resolve({ passed: true });
73
- };
74
- this.filterService.filtersChanged.subscribe(filters => {
75
- let routerFilter, serviceFilter, postureFilter;
76
- filters.forEach((filter) => {
77
- switch (filter.columnId) {
78
- case 'edgeRouterRoles':
79
- routerFilter = true;
80
- break;
81
- case 'serviceRoles':
82
- serviceFilter = true;
83
- break;
84
- case 'postureRoles':
85
- postureFilter = true;
86
- break;
87
- }
88
- });
89
- if (!routerFilter) {
90
- this.selectedRouterRoleAttributes = [];
91
- this.selectedRouterNamedAttributes = [];
92
- }
93
- if (!serviceFilter) {
94
- this.selectedServiceRoleAttributes = [];
95
- this.selectedServiceNamedAttributes = [];
96
- }
97
- });
98
- }
99
- initTableColumns() {
100
- const createdAtHeaderComponentParams = {
101
- filterType: 'DATETIME',
102
- };
103
- const self = this;
104
- const routerRolesHeaderComponentParams = {
105
- filterType: 'ATTRIBUTE',
106
- enableSorting: true,
107
- getRoleAttributes: () => {
108
- return self.routerRoleAttributes;
109
- },
110
- getNamedAttributes: () => {
111
- return self.routerNamedAttributes;
112
- },
113
- getSelectedRoleAttributes: () => {
114
- return self.selectedRouterRoleAttributes;
115
- },
116
- getSelectedNamedAttributes: () => {
117
- return self.selectedRouterNamedAttributes;
118
- },
119
- setSelectedRoleAttributes: (attributes) => {
120
- self.selectedRouterRoleAttributes = attributes;
121
- },
122
- setSelectedNamedAttributes: (attributes) => {
123
- self.selectedRouterNamedAttributes = attributes;
124
- },
125
- getNamedAttributesMap: () => {
126
- return self.routerNamedAttributesMap;
127
- }
128
- };
129
- const serviceRolesHeaderComponentParams = {
130
- filterType: 'ATTRIBUTE',
131
- enableSorting: true,
132
- getRoleAttributes: () => {
133
- return self.serviceRoleAttributes;
134
- },
135
- getNamedAttributes: () => {
136
- return self.serviceNamedAttributes;
137
- },
138
- getSelectedRoleAttributes: () => {
139
- return self.selectedServiceRoleAttributes;
140
- },
141
- getSelectedNamedAttributes: () => {
142
- return self.selectedServiceNamedAttributes;
143
- },
144
- setSelectedRoleAttributes: (attributes) => {
145
- self.selectedServiceRoleAttributes = attributes;
146
- },
147
- setSelectedNamedAttributes: (attributes) => {
148
- self.selectedServiceNamedAttributes = attributes;
149
- },
150
- getNamedAttributesMap: () => {
151
- return self.serviceNamedAttributesMap;
152
- }
153
- };
154
- const semanticHeaderComponentParams = {
155
- filterType: 'SELECT',
156
- enableSorting: true,
157
- filterOptions: [
158
- { label: 'Any Of', value: 'AnyOf', columnId: 'semantic' },
159
- { label: 'All Of', value: 'AllOf', columnId: 'semantic' },
160
- ],
161
- getFilterOptions: () => {
162
- return semanticHeaderComponentParams.filterOptions;
163
- }
164
- };
165
- const typeHeaderComponentParams = {
166
- filterType: 'SELECT',
167
- enableSorting: true,
168
- filterOptions: [
169
- { label: 'Dial', value: 'Dial', columnId: 'type' },
170
- { label: 'Bind', value: 'Bind', columnId: 'type' },
171
- ],
172
- getFilterOptions: () => {
173
- return typeHeaderComponentParams.filterOptions;
174
- }
175
- };
176
- return [
177
- {
178
- colId: 'name',
179
- field: 'name',
180
- headerName: 'Name',
181
- headerComponent: TableColumnDefaultComponent,
182
- headerComponentParams: this.headerComponentParams,
183
- cellRenderer: TableCellNameComponent,
184
- cellRendererParams: { pathRoot: this.basePath },
185
- onCellClicked: (data) => {
186
- if (this.hasSelectedText()) {
187
- return;
188
- }
189
- this.serviceType = 'advanced';
190
- this.openEditForm(data.data.id);
191
- },
192
- resizable: true,
193
- cellClass: 'nf-cell-vert-align tCol',
194
- sortable: true,
195
- filter: true,
196
- sortColumn: this.sort.bind(this),
197
- sortDir: 'asc',
198
- width: 300,
199
- },
200
- {
201
- colId: 'serviceRoles',
202
- field: 'serviceRoles',
203
- headerName: 'Service Attributes',
204
- headerComponent: TableColumnDefaultComponent,
205
- headerComponentParams: serviceRolesHeaderComponentParams,
206
- onCellClicked: (data) => {
207
- if (this.hasSelectedText()) {
208
- return;
209
- }
210
- this.serviceType = '';
211
- this.openEditForm(data.data.id);
212
- },
213
- resizable: true,
214
- cellRenderer: this.rolesRenderer,
215
- cellClass: 'nf-cell-vert-align tCol',
216
- sortable: false,
217
- filter: false,
218
- },
219
- {
220
- colId: 'edgeRouterRoles',
221
- field: 'edgeRouterRoles',
222
- headerName: 'Router Attributes',
223
- headerComponent: TableColumnDefaultComponent,
224
- headerComponentParams: routerRolesHeaderComponentParams,
225
- onCellClicked: (data) => {
226
- if (this.hasSelectedText()) {
227
- return;
228
- }
229
- this.serviceType = '';
230
- this.openEditForm(data.data.id);
231
- },
232
- resizable: true,
233
- cellRenderer: this.rolesRenderer,
234
- cellClass: 'nf-cell-vert-align tCol',
235
- sortable: false,
236
- filter: false,
237
- },
238
- {
239
- colId: 'semantic',
240
- field: 'semantic',
241
- headerName: 'Semantic',
242
- headerComponent: TableColumnDefaultComponent,
243
- headerComponentParams: semanticHeaderComponentParams,
244
- onCellClicked: (data) => {
245
- if (this.hasSelectedText()) {
246
- return;
247
- }
248
- this.serviceType = '';
249
- this.openEditForm(data.data.id);
250
- },
251
- resizable: true,
252
- cellRenderer: (row) => {
253
- return row.data?.semantic === 'AnyOf' ? 'Any Of' : 'All Of';
254
- },
255
- cellClass: 'nf-cell-vert-align tCol',
256
- width: 100,
257
- },
258
- {
259
- colId: 'createdAt',
260
- field: 'createdAt',
261
- headerName: 'Created At',
262
- headerComponent: TableColumnDefaultComponent,
263
- headerComponentParams: createdAtHeaderComponentParams,
264
- valueFormatter: this.createdAtFormatter,
265
- resizable: true,
266
- sortable: true,
267
- sortColumn: this.sort.bind(this),
268
- cellClass: 'nf-cell-vert-align tCol',
269
- onCellClicked: (data) => {
270
- if (this.hasSelectedText()) {
271
- return;
272
- }
273
- this.serviceType = '';
274
- this.openEditForm(data.data.id);
275
- },
276
- hide: true
277
- },
278
- this.ID_COLUMN_DEF
279
- ];
280
- }
281
- getData(filters, sort, page) {
282
- // we can customize filters or sorting here before moving on...
283
- this.paging.page = page || this.paging.page;
284
- return super.getTableData('service-edge-router-policies', this.paging, filters, sort)
285
- .then((results) => {
286
- return this.processData(results);
287
- });
288
- }
289
- processData(results) {
290
- if (!isEmpty(results?.data)) {
291
- //pre-process data before rendering
292
- results.data = this.addActionsPerRow(results);
293
- }
294
- if (!isEmpty(results?.meta?.pagination)) {
295
- this.totalCount = results.meta?.pagination.totalCount;
296
- }
297
- return results;
298
- }
299
- addActionsPerRow(results) {
300
- return results.data.map((row) => {
301
- row.actionList = ['update', 'delete'];
302
- return row;
303
- });
304
- }
305
- getEdgeRouterRoleAttributes() {
306
- return this.zitiService.get('edge-router-role-attributes', {}, []).then((result) => {
307
- this.routerRoleAttributes = result.data;
308
- return result;
309
- });
310
- }
311
- getServiceNamedAttributes() {
312
- return this.zitiService.get('services', {}, []).then((result) => {
313
- const namedAttributes = result.data.map((service) => {
314
- this.serviceNamedAttributesMap[service.name] = service.id;
315
- return service.name;
316
- });
317
- this.serviceNamedAttributes = namedAttributes;
318
- return namedAttributes;
319
- });
320
- }
321
- getRouterNamedAttributes() {
322
- return this.zitiService.get('edge-routers', {}, []).then((result) => {
323
- const namedAttributes = result.data.map((router) => {
324
- this.serviceNamedAttributesMap[router.name] = router.id;
325
- return router.name;
326
- });
327
- this.routerNamedAttributes = namedAttributes;
328
- return namedAttributes;
329
- });
330
- }
331
- getServiceRoleAttributes() {
332
- return this.zitiService.get('service-role-attributes', {}, []).then((result) => {
333
- this.serviceRoleAttributes = result.data;
334
- return result;
335
- });
336
- }
337
- openUpdate(item) {
338
- this.modalType = 'service-edge-router-policies';
339
- if (item) {
340
- this.selectedEdgeRouterPolicy = item;
341
- this.selectedEdgeRouterPolicy.badges = [];
342
- unset(this.selectedEdgeRouterPolicy, '_links');
343
- }
344
- else {
345
- this.selectedEdgeRouterPolicy = new EdgeRouterPolicy();
346
- }
347
- this.sideModalOpen = true;
348
- }
349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceEdgeRouterPoliciesPageService, deps: [{ token: SETTINGS_SERVICE }, { token: i1.DataTableFilterService }, { token: ZITI_DATA_SERVICE }, { token: i2.CsvDownloadService }, { token: i3.GrowlerService }, { token: i4.MatDialog }, { token: SHAREDZ_EXTENSION }, { token: i5.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
350
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceEdgeRouterPoliciesPageService, providedIn: 'root' }); }
351
- }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServiceEdgeRouterPoliciesPageService, decorators: [{
353
- type: Injectable,
354
- args: [{
355
- providedIn: 'root'
356
- }]
357
- }], ctorParameters: function () { return [{ type: i6.SettingsServiceClass, decorators: [{
358
- type: Inject,
359
- args: [SETTINGS_SERVICE]
360
- }] }, { type: i1.DataTableFilterService }, { type: i7.ZitiDataService, decorators: [{
361
- type: Inject,
362
- args: [ZITI_DATA_SERVICE]
363
- }] }, { type: i2.CsvDownloadService }, { type: i3.GrowlerService }, { type: i4.MatDialog }, { type: undefined, decorators: [{
364
- type: Inject,
365
- args: [SHAREDZ_EXTENSION]
366
- }] }, { type: i5.Router }]; } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1lZGdlLXJvdXRlci1wb2xpY2llcy1wYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvc2VydmljZS1lZGdlLXJvdXRlci1wb2xpY2llcy9zZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljaWVzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBWSxPQUFPLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFHMUMsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUNILDJCQUEyQixFQUM5QixNQUFNLDhGQUE4RixDQUFDO0FBRXRHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsaUJBQWlCLEVBQWtCLE1BQU0sa0NBQWtDLENBQUM7QUFFcEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUs3QixPQUFPLEVBQW1CLGlCQUFpQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFdEcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkVBQTJFLENBQUM7Ozs7Ozs7OztBQUtqSCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEsb0JBQW9CO0lBcUMxRSxZQUM4QixRQUE4QixFQUN4RCxhQUFxQyxFQUNGLFdBQTRCLEVBQ3RELGtCQUFzQyxFQUN2QyxjQUE4QixFQUM5QixVQUFxQixFQUNNLFVBQTRCLEVBQzVDLE1BQWM7UUFFakMsS0FBSyxDQUFDLFFBQVEsRUFBRSxhQUFh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M0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sd0JBQXdCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ3pDLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdNLFVBQVUsQ0FBQyxJQUFVO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsOEJBQThCLENBQUM7UUFDaEQsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbEQ7YUFBTTtZQUNILElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDOytHQWxWUSxvQ0FBb0Msa0JBc0NqQyxnQkFBZ0IsbURBRWhCLGlCQUFpQixzR0FJakIsaUJBQWlCO21IQTVDcEIsb0NBQW9DLGNBRmpDLE1BQU07OzRGQUVULG9DQUFvQztrQkFIaEQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQXVDUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBRXZCLE1BQU07MkJBQUMsaUJBQWlCOzswQkFJeEIsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQge0luamVjdGFibGUsIEluamVjdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Y2xvbmVEZWVwLCBpc0VtcHR5fSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlLCBGaWx0ZXJPYmp9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7TGlzdFBhZ2VTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7XG4gICAgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1kZWZhdWx0L3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja1Jlc3VsdHN9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9saXN0LXBhZ2UtZmVhdHVyZXMvbGlzdC1wYWdlLWZvcm0vbGlzdC1wYWdlLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7WklUSV9EQVRBX1NFUlZJQ0UsIFppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge0NzdkRvd25sb2FkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Nzdi1kb3dubG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0VkZ2VSb3V0ZXJQb2xpY3l9IGZyb20gXCIuLi8uLi9tb2RlbHMvZWRnZS1yb3V0ZXItcG9saWN5XCI7XG5pbXBvcnQge3Vuc2V0fSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcbmltcG9ydCB7U2V0dGluZ3NTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy1zZXJ2aWNlLmNsYXNzXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge1RhYmxlQ2VsbE5hbWVDb21wb25lbnR9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NlbGxzL3RhYmxlLWNlbGwtbmFtZS90YWJsZS1jZWxsLW5hbWUuY29tcG9uZW50XCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VydmljZUVkZ2VSb3V0ZXJQb2xpY2llc1BhZ2VTZXJ2aWNlIGV4dGVuZHMgTGlzdFBhZ2VTZXJ2aWNlQ2xhc3Mge1xuXG4gICAgcHJpdmF0ZSBwYWdpbmcgPSB0aGlzLkRFRkFVTFRfUEFHSU5HO1xuICAgIHB1YmxpYyBtb2RhbFR5cGUgPSAnc2VydmljZS1lZGdlLXJvdXRlci1wb2xpY3knO1xuXG4gICAgc2VydmljZVR5cGUgPSAnJztcbiAgICBzZWxlY3RlZEVkZ2VSb3V0ZXJQb2xpY3k6IGFueSA9IG5ldyBFZGdlUm91dGVyUG9saWN5KCk7XG5cbiAgICByb3V0ZXJSb2xlQXR0cmlidXRlcyA9IFtdO1xuICAgIHJvdXRlck5hbWVkQXR0cmlidXRlcyA9IFtdO1xuICAgIHJvdXRlck5hbWVkQXR0cmlidXRlc01hcCA9IHt9O1xuICAgIHNlbGVjdGVkUm91dGVyUm9sZUF0dHJpYnV0ZXMgPSBbXTtcbiAgICBzZWxlY3RlZFJvdXRlck5hbWVkQXR0cmlidXRlcyA9IFtdO1xuXG4gICAgc2VydmljZVJvbGVBdHRyaWJ1dGVzID0gW107XG4gICAgc2VydmljZU5hbWVkQXR0cmlidXRlcyA9IFtdO1xuICAgIHNlcnZpY2VOYW1lZEF0dHJpYnV0ZXNNYXAgPSB7fTtcbiAgICBzZWxlY3RlZFNlcnZpY2VSb2xlQXR0cmlidXRlcyA9IFtdO1xuICAgIHNlbGVjdGVkU2VydmljZU5hbWVkQXR0cmlidXRlcyA9IFtdO1xuXG4gICAgY29sdW1uRmlsdGVyczogYW55ID0ge1xuICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgb3M6ICcnLFxuICAgICAgICBjcmVhdGVkQXQ6ICcnLFxuICAgIH07XG5cbiAgICBvdmVycmlkZSBtZW51SXRlbXMgPSBbXG4gICAgICAgIHtuYW1lOiAnRWRpdCcsIGFjdGlvbjogJ3VwZGF0ZSd9LFxuICAgICAgICB7bmFtZTogJ0RlbGV0ZScsIGFjdGlvbjogJ2RlbGV0ZSd9LFxuICAgIF1cblxuICAgIG92ZXJyaWRlIHRhYmxlSGVhZGVyQWN0aW9ucyA9IFtcbiAgICAgICAge25hbWU6ICdEb3dubG9hZCBBbGwnLCBhY3Rpb246ICdkb3dubG9hZC1hbGwnfSxcbiAgICAgICAge25hbWU6ICdEb3dubG9hZCBTZWxlY3RlZCcsIGFjdGlvbjogJ2Rvd25sb2FkLXNlbGVjdGVkJ30sXG4gICAgXVxuXG4gICAgcmVzb3VyY2VUeXBlID0gJ3NlcnZpY2UtZWRnZS1yb3V0ZXItcG9saWNpZXMnO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzOiBTZXR0aW5nc1NlcnZpY2VDbGFzcyxcbiAgICAgICAgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSxcbiAgICAgICAgQEluamVjdChaSVRJX0RBVEFfU0VSVklDRSkgcHJpdmF0ZSB6aXRpU2VydmljZTogWml0aURhdGFTZXJ2aWNlLFxuICAgICAgICBvdmVycmlkZSBjc3ZEb3dubG9hZFNlcnZpY2U6IENzdkRvd25sb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBncm93bGVyU2VydmljZTogR3Jvd2xlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nRm9ybTogTWF0RGlhbG9nLFxuICAgICAgICBASW5qZWN0KFNIQVJFRFpfRVhURU5TSU9OKSBwcml2YXRlIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlclxuICAgICkge1xuICAgICAgICBzdXBlcihzZXR0aW5ncywgZmlsdGVyU2VydmljZSwgY3N2RG93bmxvYWRTZXJ2aWNlLCBleHRTZXJ2aWNlLCByb3V0ZXIpO1xuICAgICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyc0NoYW5nZWQuc3Vic2NyaWJlKGZpbHRlcnMgPT4ge1xuICAgICAgICAgICAgbGV0IHJvdXRlckZpbHRlciwgc2VydmljZUZpbHRlciwgcG9zdHVyZUZpbHRlcjtcbiAgICAgICAgICAgIGZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChmaWx0ZXIuY29sdW1uSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnZWRnZVJvdXRlclJvbGVzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckZpbHRlciA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc2VydmljZVJvbGVzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2VGaWx0ZXIgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3Bvc3R1cmVSb2xlcyc6XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3N0dXJlRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFyb3V0ZXJGaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm91dGVyUm9sZUF0dHJpYnV0ZXMgPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm91dGVyTmFtZWRBdHRyaWJ1dGVzID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXNlcnZpY2VGaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2VydmljZVJvbGVBdHRyaWJ1dGVzID0gW107XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lZEF0dHJpYnV0ZXMgPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUgPSAoZm9ybURhdGEpOiBQcm9taXNlPENhbGxiYWNrUmVzdWx0cz4gPT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcGFzc2VkOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgaW5pdFRhYmxlQ29sdW1ucygpOiBhbnkge1xuICAgICAgICBjb25zdCBjcmVhdGVkQXRIZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnREFURVRJTUUnLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgY29uc3Qgcm91dGVyUm9sZXNIZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnQVRUUklCVVRFJyxcbiAgICAgICAgICAgIGVuYWJsZVNvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICBnZXRSb2xlQXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJvdXRlclJvbGVBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldE5hbWVkQXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJvdXRlck5hbWVkQXR0cmlidXRlcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTZWxlY3RlZFJvbGVBdHRyaWJ1dGVzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2VsZWN0ZWRSb3V0ZXJSb2xlQXR0cmlidXRlcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTZWxlY3RlZE5hbWVkQXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNlbGVjdGVkUm91dGVyTmFtZWRBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUm9sZUF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgc2VsZi5zZWxlY3RlZFJvdXRlclJvbGVBdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRTZWxlY3RlZE5hbWVkQXR0cmlidXRlczogKGF0dHJpYnV0ZXMpID0+IHtcbiAgICAgICAgICAgICAgICBzZWxmLnNlbGVjdGVkUm91dGVyTmFtZWRBdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXROYW1lZEF0dHJpYnV0ZXNNYXA6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5yb3V0ZXJOYW1lZEF0dHJpYnV0ZXNNYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNlcnZpY2VSb2xlc0hlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdBVFRSSUJVVEUnLFxuICAgICAgICAgICAgZW5hYmxlU29ydGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGdldFJvbGVBdHRyaWJ1dGVzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2VydmljZVJvbGVBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldE5hbWVkQXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNlcnZpY2VOYW1lZEF0dHJpYnV0ZXM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0U2VsZWN0ZWRSb2xlQXR0cmlidXRlczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNlbGVjdGVkU2VydmljZVJvbGVBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFNlbGVjdGVkTmFtZWRBdHRyaWJ1dGVzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuc2VsZWN0ZWRTZXJ2aWNlTmFtZWRBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUm9sZUF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgc2VsZi5zZWxlY3RlZFNlcnZpY2VSb2xlQXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0U2VsZWN0ZWROYW1lZEF0dHJpYnV0ZXM6IChhdHRyaWJ1dGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgc2VsZi5zZWxlY3RlZFNlcnZpY2VOYW1lZEF0dHJpYnV0ZXMgPSBhdHRyaWJ1dGVzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldE5hbWVkQXR0cmlidXRlc01hcDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNlcnZpY2VOYW1lZEF0dHJpYnV0ZXNNYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2VtYW50aWNIZWFkZXJDb21wb25lbnRQYXJhbXMgPSB7XG4gICAgICAgICAgICBmaWx0ZXJUeXBlOiAnU0VMRUNUJyxcbiAgICAgICAgICAgIGVuYWJsZVNvcnRpbmc6IHRydWUsXG4gICAgICAgICAgICBmaWx0ZXJPcHRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FueSBPZicsIHZhbHVlOiAnQW55T2YnLCBjb2x1bW5JZDogJ3NlbWFudGljJ30sXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FsbCBPZicsIHZhbHVlOiAnQWxsT2YnLCBjb2x1bW5JZDogJ3NlbWFudGljJyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGdldEZpbHRlck9wdGlvbnM6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VtYW50aWNIZWFkZXJDb21wb25lbnRQYXJhbXMuZmlsdGVyT3B0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB0eXBlSGVhZGVyQ29tcG9uZW50UGFyYW1zID0ge1xuICAgICAgICAgICAgZmlsdGVyVHlwZTogJ1NFTEVDVCcsXG4gICAgICAgICAgICBlbmFibGVTb3J0aW5nOiB0cnVlLFxuICAgICAgICAgICAgZmlsdGVyT3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEaWFsJywgdmFsdWU6ICdEaWFsJywgY29sdW1uSWQ6ICd0eXBlJyB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdCaW5kJywgdmFsdWU6ICdCaW5kJywgY29sdW1uSWQ6ICd0eXBlJyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGdldEZpbHRlck9wdGlvbnM6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZUhlYWRlckNvbXBvbmVudFBhcmFtcy5maWx0ZXJPcHRpb25zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ25hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdOYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHRoaXMuaGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogVGFibGVDZWxsTmFtZUNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZVR5cGUgPSAnYWR2YW5jZWQnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhLmRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgc29ydERpcjogJ2FzYycsXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdzZXJ2aWNlUm9sZXMnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc2VydmljZVJvbGVzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnU2VydmljZSBBdHRyaWJ1dGVzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHNlcnZpY2VSb2xlc0hlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZVR5cGUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuRWRpdEZvcm0oZGF0YS5kYXRhLmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IHRoaXMucm9sZXNSZW5kZXJlcixcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAnZWRnZVJvdXRlclJvbGVzJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2VkZ2VSb3V0ZXJSb2xlcycsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ1JvdXRlciBBdHRyaWJ1dGVzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHJvdXRlclJvbGVzSGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIG9uQ2VsbENsaWNrZWQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkVGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlVHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhLmRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogdGhpcy5yb2xlc1JlbmRlcmVyLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdzZW1hbnRpYycsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdzZW1hbnRpYycsXG4gICAgICAgICAgICAgICAgaGVhZGVyTmFtZTogJ1NlbWFudGljJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHNlbWFudGljSGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIG9uQ2VsbENsaWNrZWQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkVGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlVHlwZSA9ICcnO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhLmRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcm93LmRhdGE/LnNlbWFudGljID09PSAnQW55T2YnID8gJ0FueSBPZicgOiAnQWxsIE9mJztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogdGhpcy5jcmVhdGVkQXRGb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZVR5cGUgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuRWRpdEZvcm0oZGF0YS5kYXRhLmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhpZGU6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLklEX0NPTFVNTl9ERUZcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXREYXRhKGZpbHRlcnM/OiBGaWx0ZXJPYmpbXSwgc29ydD86IGFueSwgcGFnZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIHdlIGNhbiBjdXN0b21pemUgZmlsdGVycyBvciBzb3J0aW5nIGhlcmUgYmVmb3JlIG1vdmluZyBvbi4uLlxuICAgICAgICB0aGlzLnBhZ2luZy5wYWdlID0gcGFnZSB8fCB0aGlzLnBhZ2luZy5wYWdlO1xuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VGFibGVEYXRhKCdzZXJ2aWNlLWVkZ2Utcm91dGVyLXBvbGljaWVzJywgdGhpcy5wYWdpbmcsIGZpbHRlcnMsIHNvcnQpXG4gICAgICAgICAgICAudGhlbigocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0RhdGEocmVzdWx0cyk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByb2Nlc3NEYXRhKHJlc3VsdHM6IGFueSkge1xuICAgICAgICBpZiAoIWlzRW1wdHkocmVzdWx0cz8uZGF0YSkpIHtcbiAgICAgICAgICAgIC8vcHJlLXByb2Nlc3MgZGF0YSBiZWZvcmUgcmVuZGVyaW5nXG4gICAgICAgICAgICByZXN1bHRzLmRhdGEgPSB0aGlzLmFkZEFjdGlvbnNQZXJSb3cocmVzdWx0cyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0VtcHR5KHJlc3VsdHM/Lm1ldGE/LnBhZ2luYXRpb24pKSB7XG4gICAgICAgICAgICB0aGlzLnRvdGFsQ291bnQgPSByZXN1bHRzLm1ldGE/LnBhZ2luYXRpb24udG90YWxDb3VudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFjdGlvbnNQZXJSb3cocmVzdWx0czogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5kYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICByb3cuYWN0aW9uTGlzdCA9IFsndXBkYXRlJywgJ2RlbGV0ZSddO1xuICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEVkZ2VSb3V0ZXJSb2xlQXR0cmlidXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UuZ2V0KCdlZGdlLXJvdXRlci1yb2xlLWF0dHJpYnV0ZXMnLCB7fSwgW10pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXJSb2xlQXR0cmlidXRlcyA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlcnZpY2VOYW1lZEF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnc2VydmljZXMnLCB7fSwgW10pLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZWRBdHRyaWJ1dGVzID0gcmVzdWx0LmRhdGEubWFwKChzZXJ2aWNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZWRBdHRyaWJ1dGVzTWFwW3NlcnZpY2UubmFtZV0gPSBzZXJ2aWNlLmlkO1xuICAgICAgICAgICAgICAgIHJldHVybiBzZXJ2aWNlLm5hbWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZU5hbWVkQXR0cmlidXRlcyA9IG5hbWVkQXR0cmlidXRlcztcbiAgICAgICAgICAgIHJldHVybiBuYW1lZEF0dHJpYnV0ZXM7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3V0ZXJOYW1lZEF0dHJpYnV0ZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmdldCgnZWRnZS1yb3V0ZXJzJywge30sIFtdKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWVkQXR0cmlidXRlcyA9IHJlc3VsdC5kYXRhLm1hcCgocm91dGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZWRBdHRyaWJ1dGVzTWFwW3JvdXRlci5uYW1lXSA9IHJvdXRlci5pZDtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm91dGVyLm5hbWU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMucm91dGVyTmFtZWRBdHRyaWJ1dGVzID0gbmFtZWRBdHRyaWJ1dGVzO1xuICAgICAgICAgICAgcmV0dXJuIG5hbWVkQXR0cmlidXRlcztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlcnZpY2VSb2xlQXR0cmlidXRlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UuZ2V0KCdzZXJ2aWNlLXJvbGUtYXR0cmlidXRlcycsIHt9LCBbXSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2VSb2xlQXR0cmlidXRlcyA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgb3BlblVwZGF0ZShpdGVtPzogYW55KSB7XG4gICAgICAgIHRoaXMubW9kYWxUeXBlID0gJ3NlcnZpY2UtZWRnZS1yb3V0ZXItcG9saWNpZXMnO1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXJQb2xpY3kgPSBpdGVtO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXJQb2xpY3kuYmFkZ2VzID0gW107XG4gICAgICAgICAgICB1bnNldCh0aGlzLnNlbGVjdGVkRWRnZVJvdXRlclBvbGljeSwgJ19saW5rcycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEVkZ2VSb3V0ZXJQb2xpY3kgPSBuZXcgRWRnZVJvdXRlclBvbGljeSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2lkZU1vZGFsT3BlbiA9IHRydWU7XG4gICAgfVxufVxuIl19
@@ -1,124 +0,0 @@
1
- /*
2
- Copyright NetFoundry Inc.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- https://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
- import { Component } from '@angular/core';
17
- import { ListPageComponent } from "../../shared/list-page-component.class";
18
- import * as i0 from "@angular/core";
19
- import * as i1 from "./service-policies-page.service";
20
- import * as i2 from "../../features/data-table/data-table-filter.service";
21
- import * as i3 from "@angular/material/dialog";
22
- import * as i4 from "../../services/tab-name.service";
23
- import * as i5 from "../../services/console-events.service";
24
- import * as i6 from "@angular/common";
25
- import * as i7 from "../../features/list-page-features/list-page-header/list-page-header.component";
26
- import * as i8 from "../../features/data-table/data-table.component";
27
- import * as i9 from "../../features/loading-indicator/loading-indicator.component";
28
- export class ServicePoliciesPageComponent extends ListPageComponent {
29
- constructor(svc, filterService, dialogForm, tabNames, consoleEvents) {
30
- super(filterService, svc, consoleEvents, dialogForm);
31
- this.svc = svc;
32
- this.tabNames = tabNames;
33
- this.serviceType = '';
34
- this.serviceRoleAttributes = [];
35
- this.identityRoleAttributes = [];
36
- this.formDataChanged = false;
37
- this.title = 'Service Policies';
38
- let userLang = navigator.language || 'en-us';
39
- userLang = userLang.toLowerCase();
40
- }
41
- ngOnInit() {
42
- super.ngOnInit();
43
- this.getRoleAttributes();
44
- this.tabs = this.tabNames.getTabs('policies');
45
- }
46
- headerActionClicked(action) {
47
- switch (action) {
48
- case 'add':
49
- this.svc.serviceType = '';
50
- this.svc.openEditForm();
51
- break;
52
- case 'edit':
53
- this.svc.openEditForm();
54
- break;
55
- case 'delete':
56
- const selectedItems = this.rowData.filter((row) => {
57
- return row.selected;
58
- });
59
- const label = selectedItems.length > 1 ? 'services' : 'service';
60
- this.openBulkDelete(selectedItems, label);
61
- break;
62
- default:
63
- }
64
- }
65
- tableAction(event) {
66
- switch (event?.action) {
67
- case 'toggleAll':
68
- case 'toggleItem':
69
- this.itemToggled(event.item);
70
- break;
71
- case 'update':
72
- this.svc.serviceType = 'advanced';
73
- this.svc.openEditForm(event.item.id);
74
- break;
75
- case 'create':
76
- this.svc.openEditForm();
77
- break;
78
- case 'delete':
79
- this.deleteItem(event.item);
80
- break;
81
- case 'download-all':
82
- this.downloadAllItems();
83
- break;
84
- case 'download-selected':
85
- this.svc.downloadItems(this.selectedItems);
86
- break;
87
- default:
88
- break;
89
- }
90
- }
91
- getRoleAttributes() {
92
- this.svc.getServiceRoleAttributes().then((result) => {
93
- this.serviceRoleAttributes = result.data;
94
- });
95
- this.svc.getIdentityRoleAttributes().then((result) => {
96
- this.identityRoleAttributes = result.data;
97
- });
98
- this.svc.getServiceNamedAttributes();
99
- this.svc.getIdentityNamedAttributes();
100
- this.svc.getPostureNamedAttributes();
101
- }
102
- deleteItem(item) {
103
- this.openBulkDelete([item], 'service-policies');
104
- }
105
- closeModal(event) {
106
- this.svc.sideModalOpen = false;
107
- if (event?.refresh) {
108
- this.refreshData();
109
- }
110
- }
111
- dataChanged(event) {
112
- this.formDataChanged = event;
113
- }
114
- serviceTypeSelected(event) {
115
- this.svc.serviceType = event;
116
- }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServicePoliciesPageComponent, deps: [{ token: i1.ServicePoliciesPageService }, { token: i2.DataTableFilterService }, { token: i3.MatDialog }, { token: i4.TabNameService }, { token: i5.ConsoleEventsService }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ServicePoliciesPageComponent, selector: "lib-service-policies-page", usesInheritance: true, ngImport: i0, template: "<div class=\"ziti-page-container ziti-service-policies-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [showAdd]=\"!itemsSelected\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n\n <lib-data-table [tableId]=\"'service-policies'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No Service Policies defined, Click the plus to add a Service Policy.'\"\n [filterApplied]=\"filterApplied\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n >\n </lib-data-table>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n", styles: [""], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.ListPageHeaderComponent, selector: "lib-list-page-header", inputs: ["title", "tabs", "showAdd", "hideAction"], outputs: ["actionClicked"] }, { kind: "component", type: i8.DataTableComponent, selector: "lib-data-table", inputs: ["rowData", "expandRowData", "collapseRowData", "rowValidation", "isTimeSearchAvailable", "isLoading", "tableId", "options", "validateService", "rowsToggled", "tableRefreshCount", "view", "serverSideDataSource", "allowDownload", "startCount", "endCount", "totalCount", "emptyMsg", "filterApplied", "menuItems", "headerActions", "noItemsClass", "entityTypeName", "showNoItemsAdd", "currentPage", "noItemsImage", "rowHeight", "filterName", "filterColumn", "columnDefinitions", "refreshCount"], outputs: ["actionRequested", "gridReady", "dragStart", "dragLeave", "pageChanged"] }, { kind: "component", type: i9.LoadingIndicatorComponent, selector: "lib-loading-indicator", inputs: ["isLoading"] }] }); }
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ServicePoliciesPageComponent, decorators: [{
121
- type: Component,
122
- args: [{ selector: 'lib-service-policies-page', template: "<div class=\"ziti-page-container ziti-service-policies-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [showAdd]=\"!itemsSelected\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n\n <lib-data-table [tableId]=\"'service-policies'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No Service Policies defined, Click the plus to add a Service Policy.'\"\n [filterApplied]=\"filterApplied\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n >\n </lib-data-table>\n</div>\n<lib-loading-indicator *ngIf=\"isLoading\" [isLoading]=\"isLoading\"></lib-loading-indicator>\n" }]
123
- }], ctorParameters: function () { return [{ type: i1.ServicePoliciesPageService }, { type: i2.DataTableFilterService }, { type: i3.MatDialog }, { type: i4.TabNameService }, { type: i5.ConsoleEventsService }]; } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS1wb2xpY2llcy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9wYWdlcy9zZXJ2aWNlLXBvbGljaWVzL3NlcnZpY2UtcG9saWNpZXMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvc2VydmljZS1wb2xpY2llcy9zZXJ2aWNlLXBvbGljaWVzLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUMsU0FBUyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFZekUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQVVqRSxZQUNvQixHQUErQixFQUMvQyxhQUFxQyxFQUNyQyxVQUFxQixFQUNiLFFBQXdCLEVBQ2hDLGFBQW1DO1FBRXJDLEtBQUssQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQU5uQyxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUd2QyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVpwQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQiwwQkFBcUIsR0FBVSxFQUFFLENBQUM7UUFDbEMsMkJBQXNCLEdBQVUsRUFBRSxDQUFDO1FBQ25DLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3hCLFVBQUssR0FBRyxrQkFBa0IsQ0FBQztRQVV6QixJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQztRQUM3QyxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQWM7UUFDaEMsUUFBTyxNQUFNLEVBQUU7WUFDYixLQUFLLEtBQUs7Z0JBQ1IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDaEQsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxNQUFNO1lBQ1IsUUFBUTtTQUNUO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVO1FBQ3BCLFFBQU8sS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNwQixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzVCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1IsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzNCLE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixNQUFNO1lBQ1IsS0FBSyxtQkFBbUI7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDM0MsTUFBTTtZQUNSO2dCQUNFLE1BQU07U0FDVDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFHLEtBQUssRUFBRSxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7K0dBeEdVLDRCQUE0QjttR0FBNUIsNEJBQTRCLHdGQzdCekMsb2pDQXFCQTs7NEZEUWEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TGlzdFBhZ2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLWNvbXBvbmVudC5jbGFzc1wiO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtUYWJOYW1lU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RhYi1uYW1lLnNlcnZpY2VcIjtcbmltcG9ydCB7Q29uc29sZUV2ZW50c1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jb25zb2xlLWV2ZW50cy5zZXJ2aWNlXCI7XG5pbXBvcnQge1NlcnZpY2VQb2xpY2llc1BhZ2VTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlLXBvbGljaWVzLXBhZ2Uuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc2VydmljZS1wb2xpY2llcy1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlcnZpY2UtcG9saWNpZXMtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlcnZpY2UtcG9saWNpZXMtcGFnZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlcnZpY2VQb2xpY2llc1BhZ2VDb21wb25lbnQgZXh0ZW5kcyBMaXN0UGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95ICB7XG5cbiAgc2VydmljZVR5cGUgPSAnJztcbiAgc2VydmljZVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICBpZGVudGl0eVJvbGVBdHRyaWJ1dGVzOiBhbnlbXSA9IFtdO1xuICBmb3JtRGF0YUNoYW5nZWQgPSBmYWxzZTtcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICB0YWJzOiB7IHVybDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1bXTtcbiAgdGl0bGUgPSAnU2VydmljZSBQb2xpY2llcyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgc3ZjOiBTZXJ2aWNlUG9saWNpZXNQYWdlU2VydmljZSxcbiAgICAgIGZpbHRlclNlcnZpY2U6IERhdGFUYWJsZUZpbHRlclNlcnZpY2UsXG4gICAgICBkaWFsb2dGb3JtOiBNYXREaWFsb2csXG4gICAgICBwcml2YXRlIHRhYk5hbWVzOiBUYWJOYW1lU2VydmljZSxcbiAgICAgIGNvbnNvbGVFdmVudHM6IENvbnNvbGVFdmVudHNTZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcihmaWx0ZXJTZXJ2aWNlLCBzdmMsIGNvbnNvbGVFdmVudHMsIGRpYWxvZ0Zvcm0pO1xuICAgIGxldCB1c2VyTGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZSB8fCAnZW4tdXMnO1xuICAgIHVzZXJMYW5nID0gdXNlckxhbmcudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5nZXRSb2xlQXR0cmlidXRlcygpO1xuICAgIHRoaXMudGFicyA9IHRoaXMudGFiTmFtZXMuZ2V0VGFicygncG9saWNpZXMnKTtcbiAgfVxuXG4gIGhlYWRlckFjdGlvbkNsaWNrZWQoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2goYWN0aW9uKSB7XG4gICAgICBjYXNlICdhZGQnOlxuICAgICAgICB0aGlzLnN2Yy5zZXJ2aWNlVHlwZSA9ICcnO1xuICAgICAgICB0aGlzLnN2Yy5vcGVuRWRpdEZvcm0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlZGl0JzpcbiAgICAgICAgdGhpcy5zdmMub3BlbkVkaXRGb3JtKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMucm93RGF0YS5maWx0ZXIoKHJvdykgPT4ge1xuICAgICAgICAgIHJldHVybiByb3cuc2VsZWN0ZWQ7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBsYWJlbCA9IHNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMSA/ICdzZXJ2aWNlcycgOiAnc2VydmljZSc7XG4gICAgICAgIHRoaXMub3BlbkJ1bGtEZWxldGUoc2VsZWN0ZWRJdGVtcywgbGFiZWwpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgfVxuICB9XG5cbiAgdGFibGVBY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgIHN3aXRjaChldmVudD8uYWN0aW9uKSB7XG4gICAgICBjYXNlICd0b2dnbGVBbGwnOlxuICAgICAgY2FzZSAndG9nZ2xlSXRlbSc6XG4gICAgICAgIHRoaXMuaXRlbVRvZ2dsZWQoZXZlbnQuaXRlbSlcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICB0aGlzLnN2Yy5zZXJ2aWNlVHlwZSA9ICdhZHZhbmNlZCc7XG4gICAgICAgIHRoaXMuc3ZjLm9wZW5FZGl0Rm9ybShldmVudC5pdGVtLmlkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICB0aGlzLnN2Yy5vcGVuRWRpdEZvcm0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLmRlbGV0ZUl0ZW0oZXZlbnQuaXRlbSlcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkb3dubG9hZC1hbGwnOlxuICAgICAgICB0aGlzLmRvd25sb2FkQWxsSXRlbXMoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkb3dubG9hZC1zZWxlY3RlZCc6XG4gICAgICAgIHRoaXMuc3ZjLmRvd25sb2FkSXRlbXModGhpcy5zZWxlY3RlZEl0ZW1zKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBnZXRSb2xlQXR0cmlidXRlcygpIHtcbiAgICB0aGlzLnN2Yy5nZXRTZXJ2aWNlUm9sZUF0dHJpYnV0ZXMoKS50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgdGhpcy5zZXJ2aWNlUm9sZUF0dHJpYnV0ZXMgPSByZXN1bHQuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnN2Yy5nZXRJZGVudGl0eVJvbGVBdHRyaWJ1dGVzKCkudGhlbigocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgIHRoaXMuaWRlbnRpdHlSb2xlQXR0cmlidXRlcyA9IHJlc3VsdC5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMuc3ZjLmdldFNlcnZpY2VOYW1lZEF0dHJpYnV0ZXMoKTtcbiAgICB0aGlzLnN2Yy5nZXRJZGVudGl0eU5hbWVkQXR0cmlidXRlcygpO1xuICAgIHRoaXMuc3ZjLmdldFBvc3R1cmVOYW1lZEF0dHJpYnV0ZXMoKTtcbiAgfVxuXG4gIGRlbGV0ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5vcGVuQnVsa0RlbGV0ZShbaXRlbV0sICdzZXJ2aWNlLXBvbGljaWVzJyk7XG4gIH1cblxuICBjbG9zZU1vZGFsKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnN2Yy5zaWRlTW9kYWxPcGVuID0gZmFsc2U7XG4gICAgaWYoZXZlbnQ/LnJlZnJlc2gpIHtcbiAgICAgIHRoaXMucmVmcmVzaERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBkYXRhQ2hhbmdlZChldmVudCkge1xuICAgIHRoaXMuZm9ybURhdGFDaGFuZ2VkID0gZXZlbnQ7XG4gIH1cblxuICBzZXJ2aWNlVHlwZVNlbGVjdGVkKGV2ZW50KSB7XG4gICAgdGhpcy5zdmMuc2VydmljZVR5cGUgPSBldmVudDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwieml0aS1wYWdlLWNvbnRhaW5lciB6aXRpLXNlcnZpY2UtcG9saWNpZXMtY29udGFpbmVyXCI+XG4gICAgPGxpYi1saXN0LXBhZ2UtaGVhZGVyIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJzXT1cInRhYnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0FkZF09XCIhaXRlbXNTZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb25DbGlja2VkKT1cImhlYWRlckFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvbGliLWxpc3QtcGFnZS1oZWFkZXI+XG5cbiAgICA8bGliLWRhdGEtdGFibGUgW3RhYmxlSWRdPVwiJ3NlcnZpY2UtcG9saWNpZXMnXCJcbiAgICAgICAgICAgICAgICAgICAgW3Jvd0RhdGFdPVwicm93RGF0YVwiXG4gICAgICAgICAgICAgICAgICAgIFtjb2x1bW5EZWZpbml0aW9uc109XCJjb2x1bW5EZWZzXCJcbiAgICAgICAgICAgICAgICAgICAgKGFjdGlvblJlcXVlc3RlZCk9XCJ0YWJsZUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0YXJ0Q291bnRdPVwic3RhcnRDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIFtlbmRDb3VudF09XCJlbmRDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIFt0b3RhbENvdW50XT1cInRvdGFsQ291bnRcIlxuICAgICAgICAgICAgICAgICAgICBbZW1wdHlNc2ddPVwiJ05vIFNlcnZpY2UgUG9saWNpZXMgZGVmaW5lZCwgQ2xpY2sgdGhlIHBsdXMgdG8gYWRkIGEgU2VydmljZSBQb2xpY3kuJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJBcHBsaWVkXT1cImZpbHRlckFwcGxpZWRcIlxuICAgICAgICAgICAgICAgICAgICBbbWVudUl0ZW1zXT1cInN2Yy5tZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAoZ3JpZFJlYWR5KT1cImdyaWRSZWFkeSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9saWItZGF0YS10YWJsZT5cbjwvZGl2PlxuPGxpYi1sb2FkaW5nLWluZGljYXRvciAqbmdJZj1cImlzTG9hZGluZ1wiIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCI+PC9saWItbG9hZGluZy1pbmRpY2F0b3I+XG4iXX0=