@openziti/ziti-console-lib 0.12.10 → 1.0.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 (445) hide show
  1. package/assets/fonts/icomoon.eot +0 -0
  2. package/assets/fonts/icomoon.svg +6 -1
  3. package/assets/fonts/icomoon.ttf +0 -0
  4. package/assets/fonts/icomoon.woff +0 -0
  5. package/assets/fonts/icomoon.woff2 +0 -0
  6. package/assets/styles/global.scss +431 -24
  7. package/assets/styles/icons.scss +644 -0
  8. package/assets/svgs/Icon_Log_Logout.svg +43 -0
  9. package/assets/svgs/clients.svg +6 -0
  10. package/assets/svgs/identity-marker.svg +8 -0
  11. package/assets/svgs/router-marker.svg +7 -0
  12. package/assets/svgs/ziti-logo.svg +23 -0
  13. package/esm2022/lib/ZAC_VERSION.mjs +4 -0
  14. package/esm2022/lib/default-app-config.mjs +5 -0
  15. package/esm2022/lib/features/card/card.component.mjs +4 -5
  16. package/esm2022/lib/features/card-list/card-list.component.mjs +2 -4
  17. package/esm2022/lib/features/config-editor/config-editor.component.mjs +2 -3
  18. package/esm2022/lib/features/confirm/confirm.component.mjs +4 -5
  19. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +2 -3
  20. package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +4 -5
  21. package/esm2022/lib/features/data-table/cells/table-cell-menu/table-cell-menu.component.mjs +2 -3
  22. package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +2 -3
  23. package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +4 -5
  24. package/esm2022/lib/features/data-table/cells/table-cell-token/table-cell-token.component.mjs +2 -3
  25. package/esm2022/lib/features/data-table/column-headers/table-column-default/table-column-default.component.mjs +2 -3
  26. package/esm2022/lib/features/data-table/column-headers/table-column-filter/table-column-filter.component.mjs +2 -3
  27. package/esm2022/lib/features/data-table/column-headers/table-column-menu/table-column-menu.component.mjs +2 -3
  28. package/esm2022/lib/features/data-table/column-headers/table-column-select/table-column-select.component.mjs +4 -5
  29. package/esm2022/lib/features/data-table/data-table-filter.service.mjs +2 -3
  30. package/esm2022/lib/features/data-table/data-table.component.mjs +4 -5
  31. package/esm2022/lib/features/data-table/data-table.service.mjs +2 -3
  32. package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +4 -5
  33. package/esm2022/lib/features/data-table/table-hidden-columns-bar/hidden-columns-bar.component.mjs +2 -3
  34. package/esm2022/lib/features/data-table/tooltips/os-tooltip.component.mjs +2 -3
  35. package/esm2022/lib/features/data-table/tooltips/sdk-tooltip.component.mjs +2 -3
  36. package/esm2022/lib/features/dynamic-widgets/boolean/boolean-toggle-input.component.mjs +2 -3
  37. package/esm2022/lib/features/dynamic-widgets/checkbox-list/checkbox-list-input.component.mjs +2 -3
  38. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.component.mjs +2 -3
  39. package/esm2022/lib/features/dynamic-widgets/forwarding-config/forwarding-config.service.mjs +2 -3
  40. package/esm2022/lib/features/dynamic-widgets/number/number-input.component.mjs +2 -3
  41. package/esm2022/lib/features/dynamic-widgets/object/object.component.mjs +4 -5
  42. package/esm2022/lib/features/dynamic-widgets/password/password-input.component.mjs +2 -3
  43. package/esm2022/lib/features/dynamic-widgets/port-ranges/port-ranges.component.mjs +2 -3
  44. package/esm2022/lib/features/dynamic-widgets/protocol-address-port/protocol-address-port-input.component.mjs +2 -3
  45. package/esm2022/lib/features/dynamic-widgets/selector/selector-input.component.mjs +2 -3
  46. package/esm2022/lib/features/dynamic-widgets/string/string-input.component.mjs +2 -3
  47. package/esm2022/lib/features/dynamic-widgets/text-list/text-list-input.component.mjs +2 -3
  48. package/esm2022/lib/features/extendable/extendable.component.mjs +2 -3
  49. package/esm2022/lib/features/extendable/extensions-noop.service.mjs +3 -3
  50. package/esm2022/lib/features/header-bar/header-bar.component.mjs +105 -0
  51. package/esm2022/lib/features/json-view/json-view.component.mjs +4 -5
  52. package/esm2022/lib/features/list-page-features/list-page-form/list-page-form.component.mjs +2 -3
  53. package/esm2022/lib/features/list-page-features/list-page-header/list-page-header.component.mjs +4 -5
  54. package/esm2022/lib/features/loading-indicator/loading-indicator.component.mjs +2 -3
  55. package/esm2022/lib/features/login/login-dialog.component.mjs +10 -12
  56. package/esm2022/lib/features/messaging/growler.component.mjs +4 -5
  57. package/esm2022/lib/features/messaging/growler.module.mjs +2 -3
  58. package/esm2022/lib/features/messaging/growler.service.mjs +2 -3
  59. package/esm2022/lib/features/messaging/logger.service.mjs +2 -3
  60. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +2 -3
  61. package/esm2022/lib/features/no-items/no-items.component.mjs +2 -3
  62. package/esm2022/lib/features/overrides/overrides.component.mjs +2 -3
  63. package/esm2022/lib/features/overrides/overrides.service.mjs +2 -3
  64. package/esm2022/lib/features/preview-list/preview-list.component.mjs +4 -5
  65. package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +2 -3
  66. package/esm2022/lib/features/progress-meter/progress-meter.component.mjs +2 -3
  67. package/esm2022/lib/features/progress-wizard/progress-wizard.component.mjs +2 -3
  68. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +5 -9
  69. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.service.mjs +2 -3
  70. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +5 -9
  71. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.service.mjs +2 -3
  72. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +5 -9
  73. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.service.mjs +2 -3
  74. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +4 -8
  75. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.service.mjs +2 -3
  76. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +5 -9
  77. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.service.mjs +2 -3
  78. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +5 -9
  79. package/esm2022/lib/features/projectable-forms/configuration/configuration.service.mjs +2 -3
  80. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +34 -26
  81. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.service.mjs +2 -3
  82. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +8 -12
  83. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +2 -3
  84. package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +4 -5
  85. package/esm2022/lib/features/projectable-forms/form-field-toggle/form-field-toggle.component.mjs +4 -5
  86. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +4 -5
  87. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +25 -21
  88. package/esm2022/lib/features/projectable-forms/identity/identity-form.service.mjs +2 -3
  89. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +5 -12
  90. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.service.mjs +2 -3
  91. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +5 -9
  92. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.service.mjs +2 -3
  93. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +36 -74
  94. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +6 -9
  95. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +2 -3
  96. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +57 -19
  97. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +8 -12
  98. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +2 -3
  99. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +8 -12
  100. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +3 -4
  101. package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +5 -9
  102. package/esm2022/lib/features/projectable-forms/session/session-form.service.mjs +2 -3
  103. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +4 -8
  104. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +2 -3
  105. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +7 -11
  106. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.service.mjs +2 -3
  107. package/esm2022/lib/features/qr-code/qr-code.component.mjs +4 -5
  108. package/esm2022/lib/features/quick-add/quick-add.component.mjs +50 -0
  109. package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +4 -5
  110. package/esm2022/lib/features/reset-enrollment/reset-enrollment.service.mjs +2 -3
  111. package/esm2022/lib/features/side-modal/side-modal.component.mjs +2 -3
  112. package/esm2022/lib/features/side-navigator/side-navigator.component.mjs +127 -0
  113. package/esm2022/lib/features/sidebars/side-navbar/side-navbar.component.mjs +4 -5
  114. package/esm2022/lib/features/tag-selector/tag-selector.component.mjs +2 -3
  115. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.component.mjs +2 -3
  116. package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +2 -3
  117. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.component.mjs +2 -3
  118. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.helper.mjs +2 -3
  119. package/esm2022/lib/features/visualizer/network-visualizer/network-visualizer.treenodeprocessor.mjs +2 -3
  120. package/esm2022/lib/features/visualizer/visualizer-service.class.mjs +2 -3
  121. package/esm2022/lib/pages/api-sessions/api-sessions-page.component.mjs +2 -3
  122. package/esm2022/lib/pages/api-sessions/api-sessions-page.service.mjs +2 -3
  123. package/esm2022/lib/pages/attributes/attributes.component.mjs +104 -0
  124. package/esm2022/lib/pages/auth-policies/auth-policies-page.component.mjs +2 -3
  125. package/esm2022/lib/pages/auth-policies/auth-policies-page.service.mjs +6 -6
  126. package/esm2022/lib/pages/callback/callback.component.mjs +2 -3
  127. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.component.mjs +2 -3
  128. package/esm2022/lib/pages/certificate-authorities/certificate-authorities-page.service.mjs +2 -3
  129. package/esm2022/lib/pages/config-types/config-types-page.component.mjs +2 -3
  130. package/esm2022/lib/pages/config-types/config-types-page.service.mjs +2 -3
  131. package/esm2022/lib/pages/configurations/configurations-page.component.mjs +2 -3
  132. package/esm2022/lib/pages/configurations/configurations-page.service.mjs +2 -3
  133. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -13
  134. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.service.mjs +2 -3
  135. package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +5 -16
  136. package/esm2022/lib/pages/edge-routers/edge-routers-page.service.mjs +2 -4
  137. package/esm2022/lib/pages/geolocate/geolocate.component.mjs +130 -0
  138. package/esm2022/lib/pages/identities/identities-page.component.mjs +5 -16
  139. package/esm2022/lib/pages/identities/identities-page.service.mjs +2 -3
  140. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.component.mjs +2 -3
  141. package/esm2022/lib/pages/jwt-signers/jwt-signers-page.service.mjs +2 -3
  142. package/esm2022/lib/pages/posture-checks/posture-checks-page.component.mjs +3 -4
  143. package/esm2022/lib/pages/posture-checks/posture-checks-page.service.mjs +2 -3
  144. package/esm2022/lib/pages/profile/profile.component.mjs +58 -0
  145. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +6 -13
  146. package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.service.mjs +2 -3
  147. package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +6 -13
  148. package/esm2022/lib/pages/service-policies/service-policies-page.service.mjs +2 -3
  149. package/esm2022/lib/pages/services/services-page.component.mjs +6 -13
  150. package/esm2022/lib/pages/services/services-page.service.mjs +2 -3
  151. package/esm2022/lib/pages/sessions/sessions-page.component.mjs +2 -3
  152. package/esm2022/lib/pages/sessions/sessions-page.service.mjs +2 -3
  153. package/esm2022/lib/pages/settings/settings.component.mjs +61 -0
  154. package/esm2022/lib/pages/terminators/terminators-page.component.mjs +3 -4
  155. package/esm2022/lib/pages/terminators/terminators-page.service.mjs +2 -3
  156. package/esm2022/lib/pages/transit-routers/transit-routers-page.component.mjs +5 -16
  157. package/esm2022/lib/pages/transit-routers/transit-routers-page.service.mjs +2 -3
  158. package/esm2022/lib/safe.pipe.mjs +2 -3
  159. package/esm2022/lib/services/auth.service.mjs +2 -3
  160. package/esm2022/lib/services/console-events.service.mjs +2 -14
  161. package/esm2022/lib/services/csv-download.service.mjs +2 -3
  162. package/esm2022/lib/services/deactivate-guard.service.mjs +2 -3
  163. package/esm2022/lib/services/login-service.class.mjs +2 -3
  164. package/esm2022/lib/services/node-data.service.mjs +24 -3
  165. package/esm2022/lib/services/noop-login.service.mjs +2 -3
  166. package/esm2022/lib/services/schema.service.mjs +2 -3
  167. package/esm2022/lib/services/settings-service.class.mjs +5 -18
  168. package/esm2022/lib/services/settings.service.mjs +14 -11
  169. package/esm2022/lib/services/tab-name.service.mjs +9 -6
  170. package/esm2022/lib/services/validation.service.mjs +2 -3
  171. package/esm2022/lib/services/ziti-controller-data.service.mjs +18 -3
  172. package/esm2022/lib/services/ziti-data.service.mjs +2 -3
  173. package/esm2022/lib/shared/list-page-component.class.mjs +6 -3
  174. package/esm2022/lib/shared/list-page-service.class.mjs +2 -3
  175. package/esm2022/lib/zac-routing.module.mjs +3 -10
  176. package/esm2022/lib/ziti-console-lib.module.mjs +43 -24
  177. package/esm2022/lib/ziti-console.constants.mjs +2 -1
  178. package/esm2022/public-api.mjs +9 -8
  179. package/fesm2022/openziti-ziti-console-lib.mjs +3535 -4325
  180. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  181. package/lib/ZAC_VERSION.d.ts +4 -0
  182. package/lib/ZAC_VERSION.d.ts.map +1 -0
  183. package/lib/default-app-config.d.ts +9 -0
  184. package/lib/default-app-config.d.ts.map +1 -0
  185. package/lib/features/card-list/card-list.component.d.ts +0 -1
  186. package/lib/features/card-list/card-list.component.d.ts.map +1 -1
  187. package/lib/features/extendable/extensions-noop.service.d.ts +2 -0
  188. package/lib/features/extendable/extensions-noop.service.d.ts.map +1 -1
  189. package/lib/features/header-bar/header-bar.component.d.ts +29 -0
  190. package/lib/features/header-bar/header-bar.component.d.ts.map +1 -0
  191. package/lib/features/login/login-dialog.component.d.ts +2 -1
  192. package/lib/features/login/login-dialog.component.d.ts.map +1 -1
  193. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts +1 -2
  194. package/lib/features/projectable-forms/api-session/api-session-form.component.d.ts.map +1 -1
  195. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts +1 -2
  196. package/lib/features/projectable-forms/auth-policy/auth-policy-form.component.d.ts.map +1 -1
  197. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts +1 -2
  198. package/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.d.ts.map +1 -1
  199. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts +1 -2
  200. package/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.d.ts.map +1 -1
  201. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts +1 -2
  202. package/lib/features/projectable-forms/config-type/config-type-form.component.d.ts.map +1 -1
  203. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +1 -2
  204. package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts.map +1 -1
  205. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts +6 -3
  206. package/lib/features/projectable-forms/edge-router/edge-router-form.component.d.ts.map +1 -1
  207. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts +1 -2
  208. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.d.ts.map +1 -1
  209. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +2 -2
  210. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
  211. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts +1 -2
  212. package/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.d.ts.map +1 -1
  213. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts +1 -2
  214. package/lib/features/projectable-forms/posture-check/posture-check-form.component.d.ts.map +1 -1
  215. package/lib/features/projectable-forms/projectable-form.class.d.ts +11 -7
  216. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
  217. package/lib/features/projectable-forms/service/service-form.component.d.ts +0 -1
  218. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
  219. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +9 -2
  220. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
  221. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts +1 -2
  222. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.d.ts.map +1 -1
  223. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts +1 -2
  224. package/lib/features/projectable-forms/service-policy/service-policy-form.component.d.ts.map +1 -1
  225. package/lib/features/projectable-forms/session/session-form.component.d.ts +1 -2
  226. package/lib/features/projectable-forms/session/session-form.component.d.ts.map +1 -1
  227. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +1 -2
  228. package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +1 -1
  229. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts +1 -2
  230. package/lib/features/projectable-forms/transit-router/transit-router-form.component.d.ts.map +1 -1
  231. package/lib/features/quick-add/quick-add.component.d.ts +15 -0
  232. package/lib/features/quick-add/quick-add.component.d.ts.map +1 -0
  233. package/lib/features/side-navigator/side-navigator.component.d.ts +33 -0
  234. package/lib/features/side-navigator/side-navigator.component.d.ts.map +1 -0
  235. package/lib/pages/attributes/attributes.component.d.ts +31 -0
  236. package/lib/pages/attributes/attributes.component.d.ts.map +1 -0
  237. package/lib/pages/auth-policies/auth-policies-page.service.d.ts.map +1 -1
  238. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts +1 -3
  239. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
  240. package/lib/pages/edge-routers/edge-routers-page.component.d.ts +1 -3
  241. package/lib/pages/edge-routers/edge-routers-page.component.d.ts.map +1 -1
  242. package/lib/pages/edge-routers/edge-routers-page.service.d.ts.map +1 -1
  243. package/lib/pages/geolocate/geolocate.component.d.ts +32 -0
  244. package/lib/pages/geolocate/geolocate.component.d.ts.map +1 -0
  245. package/lib/pages/identities/identities-page.component.d.ts +1 -3
  246. package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
  247. package/lib/pages/profile/profile.component.d.ts +17 -0
  248. package/lib/pages/profile/profile.component.d.ts.map +1 -0
  249. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts +1 -3
  250. package/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.d.ts.map +1 -1
  251. package/lib/pages/service-policies/service-policies-page.component.d.ts +1 -3
  252. package/lib/pages/service-policies/service-policies-page.component.d.ts.map +1 -1
  253. package/lib/pages/services/services-page.component.d.ts +1 -3
  254. package/lib/pages/services/services-page.component.d.ts.map +1 -1
  255. package/lib/pages/settings/settings.component.d.ts +23 -0
  256. package/lib/pages/settings/settings.component.d.ts.map +1 -0
  257. package/lib/pages/transit-routers/transit-routers-page.component.d.ts +1 -3
  258. package/lib/pages/transit-routers/transit-routers-page.component.d.ts.map +1 -1
  259. package/lib/services/console-events.service.d.ts.map +1 -1
  260. package/lib/services/node-data.service.d.ts +1 -0
  261. package/lib/services/node-data.service.d.ts.map +1 -1
  262. package/lib/services/settings-service.class.d.ts +0 -2
  263. package/lib/services/settings-service.class.d.ts.map +1 -1
  264. package/lib/services/settings.service.d.ts.map +1 -1
  265. package/lib/services/tab-name.service.d.ts.map +1 -1
  266. package/lib/services/ziti-controller-data.service.d.ts +1 -0
  267. package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
  268. package/lib/services/ziti-data.service.d.ts +1 -0
  269. package/lib/services/ziti-data.service.d.ts.map +1 -1
  270. package/lib/shared/list-page-component.class.d.ts.map +1 -1
  271. package/lib/zac-routing.module.d.ts.map +1 -1
  272. package/lib/ziti-console-lib.module.d.ts +114 -110
  273. package/lib/ziti-console-lib.module.d.ts.map +1 -1
  274. package/lib/ziti-console.constants.d.ts +1 -0
  275. package/lib/ziti-console.constants.d.ts.map +1 -1
  276. package/package.json +1 -1
  277. package/public-api.d.ts +8 -7
  278. package/public-api.d.ts.map +1 -1
  279. package/assets/components/add.html +0 -1
  280. package/assets/components/api.html +0 -12
  281. package/assets/components/customtags.html +0 -4
  282. package/assets/components/line.html +0 -1
  283. package/assets/components/noitems.html +0 -1
  284. package/assets/components/save.html +0 -4
  285. package/assets/components/search.html +0 -8
  286. package/assets/components/tabIdentities.html +0 -5
  287. package/assets/components/tabPolicies.html +0 -7
  288. package/assets/components/tabRouters.html +0 -5
  289. package/assets/components/tabServers.html +0 -4
  290. package/assets/components/tabServices.html +0 -6
  291. package/assets/components/tabSessions.html +0 -4
  292. package/assets/data/mail.json +0 -0
  293. package/assets/data/services.json +0 -6
  294. package/assets/data/site.json +0 -31
  295. package/assets/data/tags.json +0 -7
  296. package/assets/data/templates.json +0 -1
  297. package/assets/fonts/zac.eot +0 -0
  298. package/assets/fonts/zac.svg +0 -57
  299. package/assets/fonts/zac.ttf +0 -0
  300. package/assets/fonts/zac.woff +0 -0
  301. package/assets/fonts/zac.woff2 +0 -0
  302. package/assets/html/api-sessions.htm +0 -152
  303. package/assets/html/attributes.htm +0 -260
  304. package/assets/html/auth-policies.htm +0 -410
  305. package/assets/html/cas.htm +0 -439
  306. package/assets/html/config-types.htm +0 -167
  307. package/assets/html/configs.htm +0 -238
  308. package/assets/html/deprecated/fabric-links.htm +0 -336
  309. package/assets/html/deprecated/fabric-routers.htm +0 -72
  310. package/assets/html/deprecated/fabric-services.htm +0 -494
  311. package/assets/html/identities.htm +0 -934
  312. package/assets/html/index.htm +0 -179
  313. package/assets/html/jwt-signers.htm +0 -260
  314. package/assets/html/known.htm +0 -115
  315. package/assets/html/login.htm +0 -131
  316. package/assets/html/organization.htm +0 -223
  317. package/assets/html/posture-checks.htm +0 -393
  318. package/assets/html/profile.htm +0 -52
  319. package/assets/html/recipes.htm +0 -455
  320. package/assets/html/router-policies.htm +0 -168
  321. package/assets/html/routers.htm +0 -323
  322. package/assets/html/servers.htm +0 -236
  323. package/assets/html/service-policies.htm +0 -197
  324. package/assets/html/service-router-policies.htm +0 -170
  325. package/assets/html/services.htm +0 -634
  326. package/assets/html/sessions.htm +0 -157
  327. package/assets/html/settings.htm +0 -146
  328. package/assets/html/terminators.htm +0 -244
  329. package/assets/html/transit-routers.htm +0 -173
  330. package/assets/resources/avatar/man.svg +0 -78
  331. package/assets/resources/avatar/woman.svg +0 -96
  332. package/assets/resources/icon/analysis.svg +0 -104
  333. package/assets/resources/icon/appwans.svg +0 -20
  334. package/assets/resources/icon/architecture.svg +0 -1
  335. package/assets/resources/icon/bike.svg +0 -94
  336. package/assets/resources/icon/bus.svg +0 -64
  337. package/assets/resources/icon/cas.svg +0 -46
  338. package/assets/resources/icon/clusters.svg +0 -28
  339. package/assets/resources/icon/computer.svg +0 -1
  340. package/assets/resources/icon/data.svg +0 -1
  341. package/assets/resources/icon/delivery-truck.svg +0 -1
  342. package/assets/resources/icon/explosion.svg +0 -81
  343. package/assets/resources/icon/fabricServices.svg +0 -31
  344. package/assets/resources/icon/fabrics.svg +0 -136
  345. package/assets/resources/icon/front.svg +0 -83
  346. package/assets/resources/icon/gateway.svg +0 -49
  347. package/assets/resources/icon/gear.svg +0 -122
  348. package/assets/resources/icon/house.svg +0 -72
  349. package/assets/resources/icon/language.svg +0 -1
  350. package/assets/resources/icon/objective.svg +0 -55
  351. package/assets/resources/icon/route.svg +0 -97
  352. package/assets/resources/icon/routers.svg +0 -27
  353. package/assets/resources/icon/startup.svg +0 -112
  354. package/assets/resources/icon/switch.svg +0 -101
  355. package/assets/scripts/chart.min.js +0 -7
  356. package/assets/scripts/commands.js +0 -112
  357. package/assets/scripts/components/codemirror/codemirror.css +0 -356
  358. package/assets/scripts/components/codemirror/codemirror.js +0 -9741
  359. package/assets/scripts/components/codemirror/modes/addons/closetags.js +0 -200
  360. package/assets/scripts/components/codemirror/modes/addons/colorize.js +0 -40
  361. package/assets/scripts/components/codemirror/modes/addons/css-hint.js +0 -66
  362. package/assets/scripts/components/codemirror/modes/addons/formatting.js +0 -124
  363. package/assets/scripts/components/codemirror/modes/addons/html-hint.js +0 -366
  364. package/assets/scripts/components/codemirror/modes/addons/javascript-hint.js +0 -159
  365. package/assets/scripts/components/codemirror/modes/addons/show-hint.css +0 -36
  366. package/assets/scripts/components/codemirror/modes/addons/show-hint.js +0 -482
  367. package/assets/scripts/components/codemirror/modes/css.js +0 -831
  368. package/assets/scripts/components/codemirror/modes/htmlmixed.js +0 -152
  369. package/assets/scripts/components/codemirror/modes/javascript.js +0 -930
  370. package/assets/scripts/components/codemirror/modes/xml.js +0 -413
  371. package/assets/scripts/components/column.css +0 -184
  372. package/assets/scripts/components/column.js +0 -165
  373. package/assets/scripts/components/flows.css +0 -0
  374. package/assets/scripts/components/flows.js +0 -48
  375. package/assets/scripts/components/moment.js +0 -4602
  376. package/assets/scripts/components/multiselect.js +0 -333
  377. package/assets/scripts/components/resources.js +0 -26
  378. package/assets/scripts/components/selector-new.js +0 -300
  379. package/assets/scripts/components/selector.js +0 -300
  380. package/assets/scripts/components/spectrum.js +0 -2323
  381. package/assets/scripts/components/timezone.js +0 -1545
  382. package/assets/scripts/context.js +0 -177
  383. package/assets/scripts/dragging.js +0 -58
  384. package/assets/scripts/forms/forms.js +0 -74
  385. package/assets/scripts/forms/host.v1.htm +0 -43
  386. package/assets/scripts/forms/intercept.v1.htm +0 -0
  387. package/assets/scripts/forms/schema.js +0 -693
  388. package/assets/scripts/growler.js +0 -137
  389. package/assets/scripts/header.js +0 -163
  390. package/assets/scripts/jquery-3.6.3.min.js +0 -2
  391. package/assets/scripts/jquery.datetimepicker.js +0 -2930
  392. package/assets/scripts/locale.js +0 -47
  393. package/assets/scripts/modal.js +0 -65
  394. package/assets/scripts/model/data.js +0 -558
  395. package/assets/scripts/model/fabric.js +0 -55
  396. package/assets/scripts/model/fabricServices.js +0 -45
  397. package/assets/scripts/model/known.js +0 -43
  398. package/assets/scripts/model/links.js +0 -44
  399. package/assets/scripts/model/routers.js +0 -51
  400. package/assets/scripts/model/series.js +0 -70
  401. package/assets/scripts/model/sessions.js +0 -61
  402. package/assets/scripts/model/settings.js +0 -60
  403. package/assets/scripts/model/summary.js +0 -49
  404. package/assets/scripts/model/tags.js +0 -310
  405. package/assets/scripts/model/templates.js +0 -42
  406. package/assets/scripts/model/user.js +0 -40
  407. package/assets/scripts/restrictions.js +0 -34
  408. package/assets/scripts/service.js +0 -76
  409. package/assets/scripts/validation-tools.js +0 -5119
  410. package/assets/scripts/ziti.js +0 -372
  411. package/assets/styles/chart.min.css +0 -1
  412. package/assets/styles/datetimepicker.css +0 -1
  413. package/assets/styles/forms.css +0 -521
  414. package/assets/styles/growler.css +0 -190
  415. package/assets/styles/header.css +0 -232
  416. package/assets/styles/icons.css +0 -182
  417. package/assets/styles/navigation.css +0 -183
  418. package/assets/styles/select2.css +0 -481
  419. package/assets/styles/spectrum.css +0 -507
  420. package/assets/styles/tables.css +0 -449
  421. package/assets/styles/tooltip.css +0 -134
  422. package/assets/styles/ziti.css +0 -3271
  423. package/assets/templates/footer.htm +0 -183
  424. package/assets/templates/header.htm +0 -297
  425. package/esm2022/lib/features/sidebars/side-banner/side-banner.component.mjs +0 -17
  426. package/esm2022/lib/features/sidebars/side-toolbar/side-toolbar.component.mjs +0 -129
  427. package/esm2022/lib/features/wrappers/node-wrapper.service.mjs +0 -51
  428. package/esm2022/lib/features/wrappers/zac-wrapper-service.class.mjs +0 -95
  429. package/esm2022/lib/features/wrappers/zac-wrapper.component.mjs +0 -148
  430. package/esm2022/lib/features/wrappers/zac-wrapper.service.mjs +0 -981
  431. package/esm2022/lib/version.mjs +0 -4
  432. package/lib/features/sidebars/side-banner/side-banner.component.d.ts +0 -7
  433. package/lib/features/sidebars/side-banner/side-banner.component.d.ts.map +0 -1
  434. package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts +0 -34
  435. package/lib/features/sidebars/side-toolbar/side-toolbar.component.d.ts.map +0 -1
  436. package/lib/features/wrappers/node-wrapper.service.d.ts +0 -24
  437. package/lib/features/wrappers/node-wrapper.service.d.ts.map +0 -1
  438. package/lib/features/wrappers/zac-wrapper-service.class.d.ts +0 -38
  439. package/lib/features/wrappers/zac-wrapper-service.class.d.ts.map +0 -1
  440. package/lib/features/wrappers/zac-wrapper.component.d.ts +0 -31
  441. package/lib/features/wrappers/zac-wrapper.component.d.ts.map +0 -1
  442. package/lib/features/wrappers/zac-wrapper.service.d.ts +0 -58
  443. package/lib/features/wrappers/zac-wrapper.service.d.ts.map +0 -1
  444. package/lib/version.d.ts +0 -4
  445. package/lib/version.d.ts.map +0 -1
@@ -24,7 +24,7 @@ import * as i1 from "../../messaging/growler.service";
24
24
  import * as i2 from "../../../services/settings.service";
25
25
  import * as i3 from "../../../services/ziti-data.service";
26
26
  export const IDENTITY_EXTENSION_SERVICE = new InjectionToken('IDENTITY_EXTENSION_SERVICE');
27
- class IdentityFormService {
27
+ export class IdentityFormService {
28
28
  constructor(settingsService, zitiService, growlerService) {
29
29
  this.settingsService = settingsService;
30
30
  this.zitiService = zitiService;
@@ -116,7 +116,6 @@ class IdentityFormService {
116
116
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdentityFormService, deps: [{ token: SETTINGS_SERVICE }, { token: ZITI_DATA_SERVICE }, { token: i1.GrowlerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
117
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdentityFormService, providedIn: 'root' }); }
118
118
  }
119
- export { IdentityFormService };
120
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IdentityFormService, decorators: [{
121
120
  type: Injectable,
122
121
  args: [{
@@ -129,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
129
128
  type: Inject,
130
129
  args: [ZITI_DATA_SERVICE]
131
130
  }] }, { type: i1.GrowlerService }]; } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUMsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLHFDQUFxQyxDQUFDO0FBRXZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9DQUFvQyxDQUFDOzs7OztBQUdyRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBTSw0QkFBNEIsQ0FBQyxDQUFDO0FBR2hHLE1BR2EsbUJBQW1CO0lBRTVCLFlBQ3FDLGVBQWdDLEVBQzlCLFdBQTRCLEVBQ3ZELGNBQThCO1FBRkwsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUN2RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDdkMsQ0FBQztJQUVKLElBQUksQ0FBQyxRQUFRO1FBQ1QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFRLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsUUFBUSxD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TUFBTSxJQUFJLHdDQUF3QyxDQUFDO1lBQzFELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFFO1FBQ2QsTUFBTSxHQUFHLEdBQVEsZUFBZSxFQUFFLEVBQUUsQ0FBQTtRQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7K0dBMUZRLG1CQUFtQixrQkFHaEIsZ0JBQWdCLGFBQ2hCLGlCQUFpQjttSEFKcEIsbUJBQW1CLGNBRmhCLE1BQU07O1NBRVQsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJUSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ3ZCLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQge2lzRW1wdHksIHVuc2V0LCBrZXlzfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtaSVRJX0RBVEFfU0VSVklDRSwgWml0aURhdGFTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJNb2RlbH0gZnJvbSBcIi4uLy4uL21lc3NhZ2luZy9ncm93bGVyLm1vZGVsXCI7XG5pbXBvcnQge0lkZW50aXR5fSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2lkZW50aXR5XCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2VcIjtcblxuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfRVhURU5TSU9OX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignSURFTlRJVFlfRVhURU5TSU9OX1NFUlZJQ0UnKTtcblxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIElkZW50aXR5Rm9ybVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgcHVibGljIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFpJVElfREFUQV9TRVJWSUNFKSBwcml2YXRlIHppdGlTZXJ2aWNlOiBaaXRpRGF0YVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ3Jvd2xlclNlcnZpY2U6IEdyb3dsZXJTZXJ2aWNlXG4gICAgKSB7fVxuIFxuICAgIHNhdmUoZm9ybURhdGEpIHtcbiAgICAgICAgY29uc3QgaXNVcGRhdGUgPSAhaXNFbXB0eShmb3JtRGF0YS5pZCk7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SWRlbnRpdHlEYXRhTW9kZWwoZm9ybURhdGEsIGlzVXBkYXRlKTtcbiAgICAgICAgY29uc3Qgc3ZjID0gaXNVcGRhdGUgPyB0aGlzLnppdGlTZXJ2aWNlLnBhdGNoLmJpbmQodGhpcy56aXRpU2VydmljZSkgOiB0aGlzLnppdGlTZXJ2aWNlLnBvc3QuYmluZCh0aGlzLnppdGlTZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIHN2YygnaWRlbnRpdGllcycsIGRhdGEsIGZvcm1EYXRhLmlkKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJ1N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgIGBJZGVudGl0eSAke2lzVXBkYXRlID8gJ1VwZGF0ZWQnIDogJ0NyZWF0ZWQnfWAsXG4gICAgICAgICAgICAgICAgYFN1Y2Nlc3NmdWxseSAke2lzVXBkYXRlID8gJ3VwZGF0ZWQnIDogJ2NyZWF0ZWQnfSBJZGVudGl0eTogJHtmb3JtRGF0YS5uYW1lfWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5ncm93bGVyU2VydmljZS5zaG93KGdyb3dsZXJEYXRhKTtcbiAgICAgICAgfSkuY2F0Y2goKHJlc3ApID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMueml0aVNlcnZpY2UuZ2V0RXJyb3JNZXNzYWdlKHJlc3ApO1xuICAgICAgICAgICAgY29uc3QgZ3Jvd2xlckRhdGEgPSBuZXcgR3Jvd2xlck1vZGVsKFxuICAgICAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJ0Vycm9yJyxcbiAgICAgICAgICAgICAgICBgRXJyb3IgJHtpc1VwZGF0ZSA/ICdVcGRhdGluZycgOiAnQ3JlYXRpbmcnfSBJZGVudGl0eWAsXG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgICAgICB0aHJvdyByZXNwO1xuICAgICAgICB9KVxuICAgIH1cblxuICAgIGdldElkZW50aXR5RGF0YU1vZGVsKGZvcm1EYXRhLCBpc1VwZGF0ZSkge1xuICAgICAgICBjb25zdCBzYXZlTW9kZWwgPSBuZXcgSWRlbnRpdHkoKTtcbiAgICAgICAgY29uc3QgbW9kZWxQcm9wZXJ0aWVzID0ga2V5cyhzYXZlTW9kZWwpO1xuICAgICAgICBtb2RlbFByb3BlcnRpZXMuZm9yRWFjaCgocHJvcCkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoKHByb3ApIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0eXBlJzpcbiAgICAgICAgICAgICAgICAgICAgaWYoaXNVcGRhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVNb2RlbFtwcm9wXSA9IGZvcm1EYXRhW3Byb3BdLmlkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZU1vZGVsW3Byb3BdID0gZm9ybURhdGFbcHJvcF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZW5yb2xsbWVudCc6XG4gICAgICAgICAgICAgICAgICAgIGlmKGlzVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bnNldChzYXZlTW9kZWwsICdlbnJvbGxtZW50Jyk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzYXZlTW9kZWxbcHJvcF0gPSBmb3JtRGF0YVtwcm9wXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBzYXZlTW9kZWxbcHJvcF0gPSBmb3JtRGF0YVtwcm9wXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBzYXZlTW9kZWw7XG4gICAgfVxuXG4gICAgdGVzdFNlcnZpY2UoaWRlbnRpdHlJZCwgc2VydmljZUlkKSB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAvaWRlbnRpdGllcy8ke2lkZW50aXR5SWR9L3BvbGljeS1hZHZpY2UvJHtzZXJ2aWNlSWR9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMueml0aVNlcnZpY2UuY2FsbCh1cmwpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdmFyIGVycm9ycyA9IFtdO1xuICAgICAgICAgICAgdmFyIGluZm8gPSByZXN1bHQuZGF0YTtcbiAgICAgICAgICAgIGlmICghaW5mbz8uaXNEaWFsQWxsb3dlZCYmIWluZm8/LmlzQmluZEFsbG93ZWQpIGVycm9ycy5wdXNoKFwiTm8gYWNjZXNzIHRvIHNlcnZpY2UuIEFkanVzdCBzZXJ2aWNlIHBvbGljaWVzLlwiKTtcbiAgICAgICAgICAgIGlmIChpbmZvPy5pZGVudGl0eVJvdXRlckNvdW50PDEpIGVycm9ycy5wdXNoKFwiSWRlbnRpdHkgaGFzIG5vIGVkZ2Ugcm91dGVycyBhc3NpZ25lZC4gQWRqdXN0IGVkZ2Ugcm91dGVyIHBvbGljaWVzLlwiKTtcbiAgICAgICAgICAgIGlmIChpbmZvPy5zZXJ2aWNlUm91dGVyQ291bnQ8MSkgZXJyb3JzLnB1c2goXCJTZXJ2aWNlIGhhcyBubyBlZGdlIHJvdXRlcnMgYXNzaWduZWQuIEFkanVzdCBlZGdlIHJvdXRlciBwb2xpY2llcy5cIik7XG4gICAgICAgICAgICBpZiAoaW5mbz8uaWRlbnRpdHlSb3V0ZXJDb3VudD4wJiZpbmZvPy5zZXJ2aWNlUm91dGVyQ291bnQ+MCkge1xuICAgICAgICAgICAgICAgIGlmIChpbmZvPy5jb21tb25Db3VudDwxKSBlcnJvcnMucHVzaChcIklkZW50aXR5IGFuZCBzZXJ2aWNlcyBoYXZlIG5vIGVkZ2Ugcm91dGVycyBpbiBjb21tb24uIEFkanVzdCBlZGdlIHJvdXRlciBwb2xpY2llcyBhbmQvb3Igc2VydmljZSBlZGdlIHJvdXRlciBwb2xpY2llcy5cIik7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5mbz8ub25saW5lQ291bnQ8MSkgZXJyb3JzLnB1c2goXCJDb21tb24gZWRnZSByb3V0ZXJzIGFyZSBhbGwgb2ZmLWxpbmUuIEJyaW5nIHJvdXRlcnMgYmFjayBvbi1saW5lIG9yIGFkanVzdCBlZGdlIHJvdXRlciBwb2xpY2llcyBhbmQvb3Igc2VydmljZSBlZGdlIHJvdXRlciBwb2xpY2llcy5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgc3RhdHVzID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChpbmZvPy5pc0RpYWxBbGxvd2VkKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluZm8/LmlzQmluZEFsbG93ZWQpIHN0YXR1cyA9IFwiKERpYWwsQmluZClcIjtcbiAgICAgICAgICAgICAgICBlbHNlIHN0YXR1cyA9IFwiKERpYWwpXCI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpbmZvPy5pc0JpbmRBbGxvd2VkKSBzdGF0dXMgPSBcIihCaW5kKVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGg+MCkge1xuICAgICAgICAgICAgICAgIGZvciAodmFyIGk9MDsgaTxlcnJvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzICs9IFwiPGJyLz5cIitlcnJvcnNbaV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHN0YXR1cyArPSBcIjxici8+RXZlcnl0aGluZyBpcyBjb25maWd1cmVkIHByb3Blcmx5XCI7XG4gICAgICAgICAgICByZXR1cm4gc3RhdHVzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWZyZXNoSWRlbnRpdHkoaWQpIHtcbiAgICAgICAgY29uc3QgdXJsOiBhbnkgPSBgL2lkZW50aXRpZXMvJHtpZH1gXG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmNhbGwodXJsKTtcbiAgICB9XG59XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL3Byb2plY3RhYmxlLWZvcm1zL2lkZW50aXR5L2lkZW50aXR5LWZvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdqRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUMsT0FBTyxFQUFDLGlCQUFpQixFQUFrQixNQUFNLHFDQUFxQyxDQUFDO0FBRXZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9DQUFvQyxDQUFDOzs7OztBQUdyRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBTSw0QkFBNEIsQ0FBQyxDQUFDO0FBTWhHLE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsWUFDcUMsZUFBZ0MsRUFDOUIsV0FBNEIsRUFDdkQsY0FBOEI7UUFGTCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQ3ZELG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUN2QyxDQUFDO0lBRUosSUFBSSxDQUFDLFFBQVE7UUFDVCxNQUFNLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxR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QkFBTSxNQUFNLElBQUksd0NBQXdDLENBQUM7WUFDMUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQUU7UUFDZCxNQUFNLEdBQUcsR0FBUSxlQUFlLEVBQUUsRUFBRSxDQUFBO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQzsrR0ExRlEsbUJBQW1CLGtCQUdoQixnQkFBZ0IsYUFDaEIsaUJBQWlCO21IQUpwQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSVEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUN2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHtpc0VtcHR5LCB1bnNldCwga2V5c30gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7WklUSV9EQVRBX1NFUlZJQ0UsIFppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtHcm93bGVyTW9kZWx9IGZyb20gXCIuLi8uLi9tZXNzYWdpbmcvZ3Jvd2xlci5tb2RlbFwiO1xuaW1wb3J0IHtJZGVudGl0eX0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9pZGVudGl0eVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5cblxuZXhwb3J0IGNvbnN0IElERU5USVRZX0VYVEVOU0lPTl9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ0lERU5USVRZX0VYVEVOU0lPTl9TRVJWSUNFJyk7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJZGVudGl0eUZvcm1TZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHB1YmxpYyBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICAgICAgQEluamVjdChaSVRJX0RBVEFfU0VSVklDRSkgcHJpdmF0ZSB6aXRpU2VydmljZTogWml0aURhdGFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdyb3dsZXJTZXJ2aWNlOiBHcm93bGVyU2VydmljZVxuICAgICkge31cbiBcbiAgICBzYXZlKGZvcm1EYXRhKSB7XG4gICAgICAgIGNvbnN0IGlzVXBkYXRlID0gIWlzRW1wdHkoZm9ybURhdGEuaWQpO1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLmdldElkZW50aXR5RGF0YU1vZGVsKGZvcm1EYXRhLCBpc1VwZGF0ZSk7XG4gICAgICAgIGNvbnN0IHN2YyA9IGlzVXBkYXRlID8gdGhpcy56aXRpU2VydmljZS5wYXRjaC5iaW5kKHRoaXMueml0aVNlcnZpY2UpIDogdGhpcy56aXRpU2VydmljZS5wb3N0LmJpbmQodGhpcy56aXRpU2VydmljZSk7XG4gICAgICAgIHJldHVybiBzdmMoJ2lkZW50aXRpZXMnLCBkYXRhLCBmb3JtRGF0YS5pZCkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBncm93bGVyRGF0YSA9IG5ldyBHcm93bGVyTW9kZWwoXG4gICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICdTdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBgSWRlbnRpdHkgJHtpc1VwZGF0ZSA/ICdVcGRhdGVkJyA6ICdDcmVhdGVkJ31gLFxuICAgICAgICAgICAgICAgIGBTdWNjZXNzZnVsbHkgJHtpc1VwZGF0ZSA/ICd1cGRhdGVkJyA6ICdjcmVhdGVkJ30gSWRlbnRpdHk6ICR7Zm9ybURhdGEubmFtZX1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3Jvd2xlclNlcnZpY2Uuc2hvdyhncm93bGVyRGF0YSk7XG4gICAgICAgIH0pLmNhdGNoKChyZXNwKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB0aGlzLnppdGlTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShyZXNwKTtcbiAgICAgICAgICAgIGNvbnN0IGdyb3dsZXJEYXRhID0gbmV3IEdyb3dsZXJNb2RlbChcbiAgICAgICAgICAgICAgICAnZXJyb3InLFxuICAgICAgICAgICAgICAgICdFcnJvcicsXG4gICAgICAgICAgICAgICAgYEVycm9yICR7aXNVcGRhdGUgPyAnVXBkYXRpbmcnIDogJ0NyZWF0aW5nJ30gSWRlbnRpdHlgLFxuICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmdyb3dsZXJTZXJ2aWNlLnNob3coZ3Jvd2xlckRhdGEpO1xuICAgICAgICAgICAgdGhyb3cgcmVzcDtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBnZXRJZGVudGl0eURhdGFNb2RlbChmb3JtRGF0YSwgaXNVcGRhdGUpIHtcbiAgICAgICAgY29uc3Qgc2F2ZU1vZGVsID0gbmV3IElkZW50aXR5KCk7XG4gICAgICAgIGNvbnN0IG1vZGVsUHJvcGVydGllcyA9IGtleXMoc2F2ZU1vZGVsKTtcbiAgICAgICAgbW9kZWxQcm9wZXJ0aWVzLmZvckVhY2goKHByb3ApID0+IHtcbiAgICAgICAgICAgIHN3aXRjaChwcm9wKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndHlwZSc6XG4gICAgICAgICAgICAgICAgICAgIGlmKGlzVXBkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzYXZlTW9kZWxbcHJvcF0gPSBmb3JtRGF0YVtwcm9wXS5pZDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhdmVNb2RlbFtwcm9wXSA9IGZvcm1EYXRhW3Byb3BdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Vucm9sbG1lbnQnOlxuICAgICAgICAgICAgICAgICAgICBpZihpc1VwZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoc2F2ZU1vZGVsLCAnZW5yb2xsbWVudCcpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZU1vZGVsW3Byb3BdID0gZm9ybURhdGFbcHJvcF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgc2F2ZU1vZGVsW3Byb3BdID0gZm9ybURhdGFbcHJvcF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gc2F2ZU1vZGVsO1xuICAgIH1cblxuICAgIHRlc3RTZXJ2aWNlKGlkZW50aXR5SWQsIHNlcnZpY2VJZCkge1xuICAgICAgICBjb25zdCB1cmwgPSBgL2lkZW50aXRpZXMvJHtpZGVudGl0eUlkfS9wb2xpY3ktYWR2aWNlLyR7c2VydmljZUlkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLnppdGlTZXJ2aWNlLmNhbGwodXJsKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIHZhciBlcnJvcnMgPSBbXTtcbiAgICAgICAgICAgIHZhciBpbmZvID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgICBpZiAoIWluZm8/LmlzRGlhbEFsbG93ZWQmJiFpbmZvPy5pc0JpbmRBbGxvd2VkKSBlcnJvcnMucHVzaChcIk5vIGFjY2VzcyB0byBzZXJ2aWNlLiBBZGp1c3Qgc2VydmljZSBwb2xpY2llcy5cIik7XG4gICAgICAgICAgICBpZiAoaW5mbz8uaWRlbnRpdHlSb3V0ZXJDb3VudDwxKSBlcnJvcnMucHVzaChcIklkZW50aXR5IGhhcyBubyBlZGdlIHJvdXRlcnMgYXNzaWduZWQuIEFkanVzdCBlZGdlIHJvdXRlciBwb2xpY2llcy5cIik7XG4gICAgICAgICAgICBpZiAoaW5mbz8uc2VydmljZVJvdXRlckNvdW50PDEpIGVycm9ycy5wdXNoKFwiU2VydmljZSBoYXMgbm8gZWRnZSByb3V0ZXJzIGFzc2lnbmVkLiBBZGp1c3QgZWRnZSByb3V0ZXIgcG9saWNpZXMuXCIpO1xuICAgICAgICAgICAgaWYgKGluZm8/LmlkZW50aXR5Um91dGVyQ291bnQ+MCYmaW5mbz8uc2VydmljZVJvdXRlckNvdW50PjApIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5mbz8uY29tbW9uQ291bnQ8MSkgZXJyb3JzLnB1c2goXCJJZGVudGl0eSBhbmQgc2VydmljZXMgaGF2ZSBubyBlZGdlIHJvdXRlcnMgaW4gY29tbW9uLiBBZGp1c3QgZWRnZSByb3V0ZXIgcG9saWNpZXMgYW5kL29yIHNlcnZpY2UgZWRnZSByb3V0ZXIgcG9saWNpZXMuXCIpO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGluZm8/Lm9ubGluZUNvdW50PDEpIGVycm9ycy5wdXNoKFwiQ29tbW9uIGVkZ2Ugcm91dGVycyBhcmUgYWxsIG9mZi1saW5lLiBCcmluZyByb3V0ZXJzIGJhY2sgb24tbGluZSBvciBhZGp1c3QgZWRnZSByb3V0ZXIgcG9saWNpZXMgYW5kL29yIHNlcnZpY2UgZWRnZSByb3V0ZXIgcG9saWNpZXMuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHN0YXR1cyA9IFwiXCI7XG4gICAgICAgICAgICBpZiAoaW5mbz8uaXNEaWFsQWxsb3dlZCkge1xuICAgICAgICAgICAgICAgIGlmIChpbmZvPy5pc0JpbmRBbGxvd2VkKSBzdGF0dXMgPSBcIihEaWFsLEJpbmQpXCI7XG4gICAgICAgICAgICAgICAgZWxzZSBzdGF0dXMgPSBcIihEaWFsKVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5mbz8uaXNCaW5kQWxsb3dlZCkgc3RhdHVzID0gXCIoQmluZClcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoPjApIHtcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBpPTA7IGk8ZXJyb3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1cyArPSBcIjxici8+XCIrZXJyb3JzW2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBzdGF0dXMgKz0gXCI8YnIvPkV2ZXJ5dGhpbmcgaXMgY29uZmlndXJlZCBwcm9wZXJseVwiO1xuICAgICAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVmcmVzaElkZW50aXR5KGlkKSB7XG4gICAgICAgIGNvbnN0IHVybDogYW55ID0gYC9pZGVudGl0aWVzLyR7aWR9YFxuICAgICAgICByZXR1cm4gdGhpcy56aXRpU2VydmljZS5jYWxsKHVybCk7XG4gICAgfVxufVxuIl19