@microsoft/windows-admin-center-sdk 4.167.0 → 4.232.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 (499) hide show
  1. package/angular/esm2020/src/controls/accordion/accordion-panel/accordion-panel.component.mjs +36 -12
  2. package/angular/esm2020/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.mjs +59 -0
  3. package/angular/esm2020/src/controls/form/form-field/array/array-form-field.component.mjs +24 -35
  4. package/angular/esm2020/src/controls/form/form-field/form-field-accessibility-manager-base.service.mjs +105 -0
  5. package/angular/esm2020/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.mjs +38 -0
  6. package/angular/esm2020/src/controls/form/form-field/list/list-form-field.component.mjs +56 -38
  7. package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.mjs +54 -0
  8. package/angular/esm2020/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.mjs +67 -67
  9. package/angular/esm2020/src/controls/form/forms.module.mjs +19 -2
  10. package/angular/esm2020/src/controls/page-alert-bar/page-alert-bar.component.mjs +4 -4
  11. package/angular/esm2020/src/controls/snap-in-extension/snap-in-extension.component.mjs +1 -1
  12. package/angular/esm2020/src/controls/wizard/models/wizard-step-snap-in-output.mjs +1 -1
  13. package/angular/esm2020/src/controls/wizard-lite/wizard-navigation-button/wizard-navigation-button.component.mjs +3 -3
  14. package/angular/esm2020/src/data/extension-broker/snap-in-listener.mjs +80 -0
  15. package/angular/esm2020/src/data/index.mjs +2 -1
  16. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs +539 -167
  17. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  18. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs +521 -167
  19. package/angular/fesm2020/microsoft-windows-admin-center-sdk-angular.mjs.map +1 -1
  20. package/angular/src/controls/accordion/accordion-panel/accordion-panel.component.d.ts +13 -4
  21. package/angular/src/controls/form/form-field/array/array-form-field-accessibility-manager.service.d.ts +38 -0
  22. package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +3 -1
  23. package/angular/src/controls/form/form-field/form-field-accessibility-manager-base.service.d.ts +37 -0
  24. package/angular/src/controls/form/form-field/list/list-form-field-accessibility-manager.service.d.ts +25 -0
  25. package/angular/src/controls/form/form-field/list/list-form-field.component.d.ts +12 -2
  26. package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field-accessibility-manager.service.d.ts +37 -0
  27. package/angular/src/controls/form/form-field/ordered-list/ordered-list-form-field.component.d.ts +12 -8
  28. package/angular/src/controls/wizard/models/wizard-step-snap-in-output.d.ts +1 -1
  29. package/{core → angular/src}/data/extension-broker/snap-in-listener.d.ts +49 -46
  30. package/angular/src/data/index.d.ts +1 -0
  31. package/core/async/cancellation.js +312 -0
  32. package/core/async/index.js +312 -0
  33. package/core/async/progress.js +312 -0
  34. package/core/azure/azure-constants.js +312 -0
  35. package/core/azure/azure-logging.js +312 -0
  36. package/core/azure/azure-manager.js +312 -0
  37. package/core/azure/models/aadAppConfig-data.js +312 -0
  38. package/core/azure/models/azureArcStatusEnum.js +312 -0
  39. package/core/azure/models/azureTokenResult-data.js +312 -0
  40. package/core/azure/resources/deployment-operation-request-body.js +312 -0
  41. package/core/azure/resources/deployment-operation-response.js +312 -0
  42. package/core/azure/resources/location-data.js +315 -0
  43. package/core/azure/resources/resource-group-data.js +312 -0
  44. package/core/azure/resources/subscription-data.js +312 -0
  45. package/core/base/data-store/browser-storage-data-store.js +315 -0
  46. package/core/base/data-store/cached-data-store.js +312 -0
  47. package/core/base/data-store/data-store.js +312 -0
  48. package/core/base/data-store/local-data-store.js +312 -0
  49. package/core/base/data-store/memory-data-store.js +312 -0
  50. package/core/base/data-store/session-data-store.js +312 -0
  51. package/core/base/date/date-like.js +312 -0
  52. package/core/base/date/date-range.js +312 -0
  53. package/core/base/date/date-time.js +312 -0
  54. package/core/base/date/date-type.js +312 -0
  55. package/core/base/date/time-unit.js +312 -0
  56. package/core/base/decorators/base.js +312 -0
  57. package/core/base/decorators/debounce.decorators.js +312 -0
  58. package/core/base/decorators/delay.decorator.js +315 -0
  59. package/core/base/decorators/yield.decorator.js +312 -0
  60. package/core/base/environment.js +312 -0
  61. package/core/base/json.js +312 -0
  62. package/core/base/msft-sme.mock.js +316 -0
  63. package/core/base/polyfills/array.js +315 -0
  64. package/core/base/polyfills/string.js +312 -0
  65. package/core/base/rxjs-lifetime-manager.js +312 -0
  66. package/core/base/utilities.js +312 -0
  67. package/core/base/versioned-object.js +312 -0
  68. package/core/data/accessibility-manager.js +312 -0
  69. package/core/data/active-directory/active-directory.js +312 -0
  70. package/core/data/active-directory/models/account-info.js +312 -0
  71. package/core/data/active-directory/models/active-directory-search-options.js +312 -0
  72. package/core/data/active-directory/models/search-type.js +312 -0
  73. package/core/data/animation.js +312 -0
  74. package/core/data/app-context.js +312 -0
  75. package/core/data/asset-manager.js +315 -0
  76. package/core/data/base64-array-buffer.js +312 -0
  77. package/core/data/batch-connection.js +312 -0
  78. package/core/data/cim-connection.js +312 -0
  79. package/core/data/cim-stream.js +312 -0
  80. package/core/data/cim.js +312 -0
  81. package/core/data/column-picker.js +312 -0
  82. package/core/data/cookie.js +312 -0
  83. package/core/data/core-environment.js +315 -0
  84. package/core/data/crypto.js +312 -0
  85. package/core/data/deployment-share.js +312 -0
  86. package/core/data/disposable.js +312 -0
  87. package/core/data/electron.js +315 -0
  88. package/core/data/error-extended.js +312 -0
  89. package/core/data/extension-broker/dialog-listener.js +312 -0
  90. package/core/data/extension-broker/extension-broker.js +312 -0
  91. package/core/data/extension-broker/extension-listener.js +312 -0
  92. package/core/data/extension-broker/model/extension-broker-request-payload.js +312 -0
  93. package/core/data/extension-broker/model/extension-broker-response-error.js +312 -0
  94. package/core/data/extension-broker/model/extension-broker-response-payload.js +312 -0
  95. package/core/data/extension-broker/model/extension-entries.js +315 -0
  96. package/core/data/extension-broker/model/extension-instance.js +315 -0
  97. package/core/data/extension-broker/model/extension-rect.js +312 -0
  98. package/core/data/extension-broker/model/extension-search-options.js +312 -0
  99. package/core/data/extension-broker/service-listener.js +312 -0
  100. package/core/data/extension-broker/worker-listener.js +312 -0
  101. package/core/data/extension-broker/worker-set.js +312 -0
  102. package/core/data/file-transfer.js +312 -0
  103. package/core/data/gateway-connection.js +312 -0
  104. package/core/data/gateway-status.js +312 -0
  105. package/core/data/gateway-url-builder.js +312 -0
  106. package/core/data/gateway-url-translator.js +316 -0
  107. package/core/data/gateway-urls.js +312 -0
  108. package/core/data/globalization.js +315 -0
  109. package/core/data/http-constants.js +315 -0
  110. package/core/data/http.js +312 -0
  111. package/core/data/jobs/jobs-manager.js +312 -0
  112. package/core/data/jobs/models/job-credentials.js +312 -0
  113. package/core/data/jobs/models/job-node.js +312 -0
  114. package/core/data/jobs/models/job-paginated-response.js +315 -0
  115. package/core/data/jobs/models/job-pagination-options.js +315 -0
  116. package/core/data/jobs/models/job.js +312 -0
  117. package/core/data/jobs/models/node-job.js +312 -0
  118. package/core/data/jobs/models/powershell-job.js +312 -0
  119. package/core/data/language.js +315 -0
  120. package/core/data/lifetime-data.js +312 -0
  121. package/core/data/localization-manager.js +312 -0
  122. package/core/data/native-q.js +312 -0
  123. package/core/data/net.d.ts.map +1 -1
  124. package/core/data/net.js +313 -1
  125. package/core/data/net.js.map +1 -1
  126. package/core/data/node-connection.d.ts.map +1 -1
  127. package/core/data/node-connection.js +312 -0
  128. package/core/data/node-connection.js.map +1 -1
  129. package/core/data/node-extension-install.js +312 -0
  130. package/core/data/powershell-alternate.js +312 -0
  131. package/core/data/powershell-batch.js +312 -0
  132. package/core/data/powershell-connection.js +312 -0
  133. package/core/data/powershell-crypto.js +312 -0
  134. package/core/data/powershell-stream.js +312 -0
  135. package/core/data/powershell.js +312 -0
  136. package/core/data/query-cache.js +312 -0
  137. package/core/data/resource-cache.js +312 -0
  138. package/core/data/schedule-reboot.js +312 -0
  139. package/core/data/settings-manager.js +312 -0
  140. package/core/data/settings-manger.mock.js +312 -0
  141. package/core/data/sme-extension.js +312 -0
  142. package/core/data/ssh-stream.js +312 -0
  143. package/core/data/units.js +312 -0
  144. package/core/data/uri-builder.js +315 -0
  145. package/core/data/wdac-operations.js +312 -0
  146. package/core/data/websocket-stream.js +312 -0
  147. package/core/diagnostics/error-monitor.js +312 -0
  148. package/core/diagnostics/log-level.js +312 -0
  149. package/core/diagnostics/log-record.js +312 -0
  150. package/core/diagnostics/logging-constants.js +312 -0
  151. package/core/diagnostics/logging.js +312 -0
  152. package/core/diagnostics/logging.mock.js +312 -0
  153. package/core/diagnostics/sme-web-telemetry-models.js +312 -0
  154. package/core/diagnostics/sme-web-telemetry.d.ts +1 -2
  155. package/core/diagnostics/sme-web-telemetry.d.ts.map +1 -1
  156. package/core/diagnostics/sme-web-telemetry.js +336 -15
  157. package/core/diagnostics/sme-web-telemetry.js.map +1 -1
  158. package/core/diagnostics/telemetry-control-type.js +312 -0
  159. package/core/diagnostics/telemetry-options.js +312 -0
  160. package/core/diagnostics/telemetry-record.js +312 -0
  161. package/core/dom/dom.js +312 -0
  162. package/core/frame/frame-connection.js +312 -0
  163. package/core/frame/frame-connection.mock.js +312 -0
  164. package/core/frame/shell-navigation-connection.js +312 -0
  165. package/core/generated/powershell-scripts.js +312 -0
  166. package/core/generated/strings.js +312 -0
  167. package/core/host/host-core-manager.js +312 -0
  168. package/core/host/host-core-message-type.js +312 -0
  169. package/core/host/host-core-messages.js +312 -0
  170. package/core/index.d.ts +0 -1
  171. package/core/index.d.ts.map +1 -1
  172. package/core/index.js +312 -1
  173. package/core/index.js.map +1 -1
  174. package/core/manifest/environment-modules.js +312 -0
  175. package/core/manifest/manifest-loader.js +312 -0
  176. package/core/notification/client-notification-instance.js +312 -0
  177. package/core/notification/client-notification.js +312 -0
  178. package/core/notification/notification-connection.js +312 -0
  179. package/core/notification/notification-link-type.js +312 -0
  180. package/core/notification/notification-manager.js +312 -0
  181. package/core/notification/notification-message.js +312 -0
  182. package/core/notification/notification-state.js +312 -0
  183. package/core/notification/notification.js +312 -0
  184. package/core/notification/powershell-notification.js +312 -0
  185. package/core/notification/socket-signalr.js +312 -0
  186. package/core/notification/work-item-connection.js +312 -0
  187. package/core/notification/work-item-manager.js +312 -0
  188. package/core/notification/work-item-request.js +312 -0
  189. package/core/performance/performance-profile-data-type.js +312 -0
  190. package/core/performance/performance-profile-data.js +312 -0
  191. package/core/performance/performance-profile-database.js +312 -0
  192. package/core/performance/performance-profile-record.js +312 -0
  193. package/core/performance/performance-profile.d.ts.map +1 -1
  194. package/core/performance/performance-profile.js +321 -9
  195. package/core/performance/performance-profile.js.map +1 -1
  196. package/core/performance/performance-tracker.js +312 -0
  197. package/core/polyfills.js +312 -0
  198. package/core/resources/scripts/public/crypto/Get-DecryptedDataFromNode.ps1 +216 -0
  199. package/core/resources/scripts/public/crypto/Get-EncryptionJWKOnNode.ps1 +216 -0
  200. package/core/resources/scripts/public/inventory/Get-CimWin32LogicalDisk.ps1 +218 -0
  201. package/core/resources/scripts/public/inventory/Get-CimWin32NetworkAdapter.ps1 +216 -0
  202. package/core/resources/scripts/public/inventory/Get-CimWin32PhysicalMemory.ps1 +216 -0
  203. package/core/resources/scripts/public/inventory/Get-CimWin32Processor.ps1 +216 -0
  204. package/core/resources/scripts/public/inventory/Get-ClusterInventory.ps1 +216 -0
  205. package/core/resources/scripts/public/inventory/Get-ClusterNodes.ps1 +216 -0
  206. package/core/resources/scripts/public/inventory/Get-ServerInventory.ps1 +216 -0
  207. package/core/rpc/alive/rpc-alive-client.js +312 -0
  208. package/core/rpc/alive/rpc-alive-handler.js +312 -0
  209. package/core/rpc/alive/rpc-alive-model.js +315 -0
  210. package/core/rpc/alive/rpc-alive-subject-server.js +312 -0
  211. package/core/rpc/alive/rpc-observable-alive-client.js +312 -0
  212. package/core/rpc/alive/rpc-observable-alive-model.js +312 -0
  213. package/core/rpc/alive/rpc-observable-alive-server.js +312 -0
  214. package/core/rpc/azure/rpc-azure-model.js +312 -0
  215. package/core/rpc/azure/rpc-azure-request-client.js +312 -0
  216. package/core/rpc/azure/rpc-azure-request-handler.js +312 -0
  217. package/core/rpc/azure/rpc-azure-request-subject-server.js +312 -0
  218. package/core/rpc/azure/rpc-azure-response-client.js +312 -0
  219. package/core/rpc/azure/rpc-azure-response-handler.js +315 -0
  220. package/core/rpc/credssp/rpc-credssp-model.js +312 -0
  221. package/core/rpc/credssp/rpc-credssp-request-client.js +312 -0
  222. package/core/rpc/credssp/rpc-credssp-request-handler.js +315 -0
  223. package/core/rpc/credssp/rpc-credssp-request-subject-server.js +312 -0
  224. package/core/rpc/credssp/rpc-credssp-response-client.js +312 -0
  225. package/core/rpc/credssp/rpc-credssp-response-handler.js +315 -0
  226. package/core/rpc/dialog/rpc-dialog-client.js +312 -0
  227. package/core/rpc/dialog/rpc-dialog-handler.js +312 -0
  228. package/core/rpc/dialog/rpc-dialog-model.js +312 -0
  229. package/core/rpc/dialog/rpc-dialog-subject-server.js +315 -0
  230. package/core/rpc/electron/rpc-electron-model.js +312 -0
  231. package/core/rpc/electron/rpc-electron-request-client.js +312 -0
  232. package/core/rpc/electron/rpc-electron-request-handler.js +312 -0
  233. package/core/rpc/electron/rpc-electron-request-subject-server.js +312 -0
  234. package/core/rpc/electron/rpc-electron-response-client.js +312 -0
  235. package/core/rpc/electron/rpc-electron-response-handler.js +312 -0
  236. package/core/rpc/elevate/rpc-observable-elevate-client.js +312 -0
  237. package/core/rpc/elevate/rpc-observable-elevate-model.js +312 -0
  238. package/core/rpc/elevate/rpc-observable-elevate-server.js +312 -0
  239. package/core/rpc/error-monitor/rpc-observable-error-monitor-client.js +312 -0
  240. package/core/rpc/error-monitor/rpc-observable-error-monitor-model.js +315 -0
  241. package/core/rpc/error-monitor/rpc-observable-error-monitor-server.js +312 -0
  242. package/core/rpc/extension-broker/rpc-extension-broker-model.js +315 -0
  243. package/core/rpc/extension-broker/rpc-extension-broker-module-request-subject-server.js +315 -0
  244. package/core/rpc/extension-broker/rpc-extension-broker-request-client.js +312 -0
  245. package/core/rpc/extension-broker/rpc-extension-broker-request-handler.js +312 -0
  246. package/core/rpc/extension-broker/rpc-extension-broker-request-subject-server.js +312 -0
  247. package/core/rpc/extension-broker/rpc-extension-broker-response-client.js +312 -0
  248. package/core/rpc/extension-broker/rpc-extension-broker-response-handler.js +312 -0
  249. package/core/rpc/extension-data/rpc-observable-extension-data-client.js +312 -0
  250. package/core/rpc/extension-data/rpc-observable-extension-data-model.js +312 -0
  251. package/core/rpc/extension-data/rpc-observable-extension-data-server.js +312 -0
  252. package/core/rpc/forward/rpc-forward-auto-client.js +312 -0
  253. package/core/rpc/forward/rpc-forward-down-client.js +315 -0
  254. package/core/rpc/forward/rpc-forward-down-handler.js +312 -0
  255. package/core/rpc/forward/rpc-forward-model.js +312 -0
  256. package/core/rpc/forward/rpc-forward-up-client.js +312 -0
  257. package/core/rpc/forward/rpc-forward-up-handler.js +312 -0
  258. package/core/rpc/forward/rpc-forward-up-subject-server.js +312 -0
  259. package/core/rpc/log/rpc-log-client.js +312 -0
  260. package/core/rpc/log/rpc-log-handler.js +312 -0
  261. package/core/rpc/log/rpc-log-model.js +312 -0
  262. package/core/rpc/log/rpc-log-subject-server.js +312 -0
  263. package/core/rpc/notification/rpc-notification-client.js +312 -0
  264. package/core/rpc/notification/rpc-notification-handler.js +312 -0
  265. package/core/rpc/notification/rpc-notification-model.js +312 -0
  266. package/core/rpc/notification/rpc-notification-subject-server.js +312 -0
  267. package/core/rpc/overlay/rpc-overlay-close-client.js +312 -0
  268. package/core/rpc/overlay/rpc-overlay-close-handler.js +312 -0
  269. package/core/rpc/overlay/rpc-overlay-model.js +312 -0
  270. package/core/rpc/overlay/rpc-overlay-open-client.js +315 -0
  271. package/core/rpc/overlay/rpc-overlay-open-handler.js +312 -0
  272. package/core/rpc/overlay/rpc-overlay-open-subject-server.js +312 -0
  273. package/core/rpc/performance/rpc-observable-performance-client.js +312 -0
  274. package/core/rpc/performance/rpc-observable-performance-config-client.js +312 -0
  275. package/core/rpc/performance/rpc-observable-performance-config-server.js +312 -0
  276. package/core/rpc/performance/rpc-observable-performance-model.js +312 -0
  277. package/core/rpc/performance/rpc-observable-performance-server.js +312 -0
  278. package/core/rpc/report/rpc-report-client.js +312 -0
  279. package/core/rpc/report/rpc-report-handler.js +312 -0
  280. package/core/rpc/report/rpc-report-model.js +312 -0
  281. package/core/rpc/report/rpc-report-subject-server.js +315 -0
  282. package/core/rpc/rpc-base.js +312 -0
  283. package/core/rpc/rpc-channel.js +312 -0
  284. package/core/rpc/rpc-forwarder.js +312 -0
  285. package/core/rpc/rpc-inbound-client.js +312 -0
  286. package/core/rpc/rpc-inbound.js +312 -0
  287. package/core/rpc/rpc-manager.js +312 -0
  288. package/core/rpc/rpc-module-subject-server.js +315 -0
  289. package/core/rpc/rpc-observable-client.js +312 -0
  290. package/core/rpc/rpc-observable-request.js +312 -0
  291. package/core/rpc/rpc-observable-result.js +312 -0
  292. package/core/rpc/rpc-observable-server.js +312 -0
  293. package/core/rpc/rpc-outbound-client.js +312 -0
  294. package/core/rpc/rpc-outbound.js +312 -0
  295. package/core/rpc/rpc-subject-server.js +312 -0
  296. package/core/rpc/rpc.js +312 -0
  297. package/core/rpc/seek/rpc-seek-client.js +312 -0
  298. package/core/rpc/seek/rpc-seek-handler.js +315 -0
  299. package/core/rpc/seek/rpc-seek-model.js +312 -0
  300. package/core/rpc/settings/rpc-settings-client.js +315 -0
  301. package/core/rpc/settings/rpc-settings-handler.js +312 -0
  302. package/core/rpc/settings/rpc-settings-model.js +312 -0
  303. package/core/rpc/settings/rpc-settings-subject-server.js +312 -0
  304. package/core/rpc/shell-navigate/rpc-shell-navigate-client.js +312 -0
  305. package/core/rpc/shell-navigate/rpc-shell-navigate-handler.js +312 -0
  306. package/core/rpc/shell-navigate/rpc-shell-navigate-model.js +312 -0
  307. package/core/rpc/shell-navigate/rpc-shell-navigate-subject-server.js +312 -0
  308. package/core/rpc/sme-extension/rpc-sme-extension-model.js +315 -0
  309. package/core/rpc/sme-extension/rpc-sme-extension-request-client.js +312 -0
  310. package/core/rpc/sme-extension/rpc-sme-extension-request-handler.js +312 -0
  311. package/core/rpc/sme-extension/rpc-sme-extension-request-subject-server.js +312 -0
  312. package/core/rpc/sme-extension/rpc-sme-extension-response-client.js +312 -0
  313. package/core/rpc/sme-extension/rpc-sme-extension-response-handler.js +312 -0
  314. package/core/rpc/telemetry/rpc-telemetry-client.js +312 -0
  315. package/core/rpc/telemetry/rpc-telemetry-handler.js +315 -0
  316. package/core/rpc/telemetry/rpc-telemetry-model.js +312 -0
  317. package/core/rpc/telemetry/rpc-telemetry-subject-server.js +312 -0
  318. package/core/rpc/update-data/rpc-update-data-client.js +312 -0
  319. package/core/rpc/update-data/rpc-update-data-handler.js +312 -0
  320. package/core/rpc/update-data/rpc-update-data-model.js +312 -0
  321. package/core/rpc/update-data/rpc-update-data-subject-server.js +312 -0
  322. package/core/rpc/update-theme/rpc-observable-update-theme-client.js +312 -0
  323. package/core/rpc/update-theme/rpc-observable-update-theme-model.js +312 -0
  324. package/core/rpc/update-theme/rpc-observable-update-theme-server.js +312 -0
  325. package/core/rpc/work-item/rpc-work-item-client.js +312 -0
  326. package/core/rpc/work-item/rpc-work-item-handler.js +312 -0
  327. package/core/rpc/work-item/rpc-work-item-model.js +312 -0
  328. package/core/rpc/work-item/rpc-work-item-subject-server.js +312 -0
  329. package/core/rpc/work-item-find/rpc-work-item-find-client.js +312 -0
  330. package/core/rpc/work-item-find/rpc-work-item-find-handler.js +312 -0
  331. package/core/rpc/work-item-find/rpc-work-item-find-model.js +312 -0
  332. package/core/rpc/work-item-find/rpc-work-item-find-subject-server.js +312 -0
  333. package/core/security/active-connection.js +312 -0
  334. package/core/security/authorization-manager.js +312 -0
  335. package/core/security/connection-manager-settings/common-connection-settings.js +315 -0
  336. package/core/security/connection-manager-settings/connection-settings.js +312 -0
  337. package/core/security/connection-manager.js +312 -0
  338. package/core/security/connection-stream.js +312 -0
  339. package/core/security/connection.js +312 -0
  340. package/core/security/credssp-manager.js +312 -0
  341. package/core/security/sign-on-manager.js +312 -0
  342. package/core/security/tag-manager.js +312 -0
  343. package/core/security/tool-condition-validator.js +312 -0
  344. package/core/security/tool-connection-query.js +312 -0
  345. package/core/security/user-principal.js +312 -0
  346. package/core/shared/cluster-inventory/cluster-inventory-cache.js +312 -0
  347. package/core/shared/cluster-inventory/cluster-inventory.js +312 -0
  348. package/core/shared/cluster-inventory/cluster-node-inventory.js +312 -0
  349. package/core/shared/gateway-inventory/gateway-inventory-cache.js +312 -0
  350. package/core/shared/gateway-inventory/gateway-inventory-detail-cache.js +312 -0
  351. package/core/shared/gateway-inventory/gateway-inventory-detail.js +312 -0
  352. package/core/shared/gateway-inventory/gateway-inventory.js +312 -0
  353. package/core/shared/inventory-query-caches.js +312 -0
  354. package/core/shared/server-inventory/server-inventory-cache.js +312 -0
  355. package/core/shared/server-inventory/server-inventory-detail-cache.js +312 -0
  356. package/core/shared/server-inventory/server-inventory-detail.js +315 -0
  357. package/core/shared/server-inventory/server-inventory.js +312 -0
  358. package/core/shared/shared-cache.js +312 -0
  359. package/core/shared/tool-inventory/tool-inventory-cache.js +312 -0
  360. package/core/shared/tool-inventory/tool-inventory.js +312 -0
  361. package/core/special.js +315 -0
  362. package/core/test-utilities/accessibility-tester.js +312 -0
  363. package/core/test-utilities/console.mock.js +312 -0
  364. package/core/test-utilities/jasmine-axe-matcher.js +312 -0
  365. package/core/test-utilities/wait-async.js +312 -0
  366. package/core/test.js +312 -0
  367. package/core/testing.js +312 -0
  368. package/core/workflow/persistent-local-storage.js +312 -0
  369. package/core/workflow/persistent-work-item-apply-state.js +316 -0
  370. package/core/workflow/persistent-work-item-state.js +312 -0
  371. package/core/workflow/persistent-work-item.js +315 -0
  372. package/core/workflow/persistent-workflow-builder.js +312 -0
  373. package/core/workflow/persistent-workflow-context.js +312 -0
  374. package/core/workflow/persistent-workflow-runner.js +312 -0
  375. package/core/workflow/persistent-workflow-snapshot.js +312 -0
  376. package/core/workflow/persistent-workflow-store.js +312 -0
  377. package/core/workflow/persistent-workflow.js +312 -0
  378. package/package.json +4 -4
  379. package/styles/fonts/SegoeUI/Bold/SegoeUIBold-5.27.woff +0 -0
  380. package/styles/fonts/SegoeUI/Light/SegoeUILight-5.27.woff +0 -0
  381. package/styles/fonts/SegoeUI/Normal/SegoeUI-5.27.woff +0 -0
  382. package/styles/fonts/SegoeUI/SemiBold/SegoeUISemiBold-5.27.woff +0 -0
  383. package/styles/fonts/SegoeUI/SemiLight/SegoeUISemiLight-5.27.woff +0 -0
  384. package/styles/fonts/ServMDL2/ServMDL2-4.66.woff +0 -0
  385. package/tools/build/webpack/index-html.transform.js +312 -0
  386. package/tools/build/webpack/shell.index-html.transform.js +312 -0
  387. package/tools/build/webpack/shell.webpack.config.js +312 -0
  388. package/tools/build/webpack/webpack.config.js +312 -0
  389. package/tools/code-formatter/.eslintrc.base.json +2 -1
  390. package/tools/code-formatter/lint.js +312 -0
  391. package/tools/code-formatter/utilities.js +316 -0
  392. package/tools/gulp-doc-generator/index.js +312 -0
  393. package/tools/gulp-manifest-resource/index.js +312 -0
  394. package/tools/gulp-manifest-validator/index.js +312 -0
  395. package/tools/gulp-merge-json-in-folders/index.js +312 -0
  396. package/tools/gulp-merge-json-in-folders/json-merge.js +312 -0
  397. package/tools/gulp-ps-cim/index.js +315 -0
  398. package/tools/gulp-ps-code/index.d.ts.map +1 -1
  399. package/tools/gulp-ps-code/index.js +323 -2
  400. package/tools/gulp-ps-code/index.js.map +1 -1
  401. package/tools/gulp-ps-code/ps-code-convert.js +312 -0
  402. package/tools/gulp-ps-manifest/index.js +312 -0
  403. package/tools/gulp-ps-module/index.d.ts.map +1 -1
  404. package/tools/gulp-ps-module/index.js +327 -3
  405. package/tools/gulp-ps-module/index.js.map +1 -1
  406. package/tools/gulp-ps-resjson/index.js +315 -0
  407. package/tools/gulp-resjson/index.js +315 -0
  408. package/tools/gulp-resjson/resjson-convert.js +312 -0
  409. package/tools/gulp-schema-form/index.js +312 -0
  410. package/tools/gulp-svg-code/index.js +312 -0
  411. package/tools/gulp-svg-code/svg-code-convert.js +312 -0
  412. package/tools/gulp-update-notes-resource/index.js +312 -0
  413. package/tools/module-template/build/increment-package-version.ps1 +216 -0
  414. package/tools/module-template/build/push-incremented-version.ps1 +216 -1
  415. package/tools/module-template/build/update-powershell-code.ps1 +216 -0
  416. package/tools/module-template/gulpfile.ts/common/clean.ts +2 -0
  417. package/tools/module-template/gulpfile.ts/common/pack.ts +17 -5
  418. package/tools/module-template/gulpfile.ts/common/powershell.ts +40 -2
  419. package/tools/pack-nuget/index.d.ts.map +1 -1
  420. package/tools/pack-nuget/index.js +321 -3
  421. package/tools/pack-nuget/index.js.map +1 -1
  422. package/tools/scripts/Invoke-PesterTest.ps1 +216 -0
  423. package/tools/scripts/New-ExtensionPackage.ps1 +373 -6
  424. package/tools/scripts/Search-NonAsciiText.ps1 +216 -0
  425. package/tools/scripts/package-information/README.md +3 -0
  426. package/tools/scripts/package-information/ms-logo.png +0 -0
  427. package/tools/test-runner/index.js +312 -0
  428. package/tools/utilities/index.js +312 -0
  429. package/tools/wac-cli/src/angular15/configs/angular-json-config.js +312 -0
  430. package/tools/wac-cli/src/angular15/configs/ci-build-yml-config.js +315 -0
  431. package/tools/wac-cli/src/angular15/configs/config.js +312 -0
  432. package/tools/wac-cli/src/angular15/configs/eslint-auto-fix-config.js +312 -0
  433. package/tools/wac-cli/src/angular15/configs/git-ignore-config.js +312 -0
  434. package/tools/wac-cli/src/angular15/configs/jasmine-test-config.js +315 -0
  435. package/tools/wac-cli/src/angular15/configs/package-json-config.js +312 -0
  436. package/tools/wac-cli/src/angular15/configs/replace-config.js +315 -0
  437. package/tools/wac-cli/src/angular15/configs/tsconfig-config.js +312 -0
  438. package/tools/wac-cli/src/angular15/configs/ui-test-automation-lagacy-config.js +312 -0
  439. package/tools/wac-cli/src/angular15/main.js +312 -0
  440. package/tools/wac-cli/src/angular15/upgrader/angular-json-upgrader.js +316 -0
  441. package/tools/wac-cli/src/angular15/upgrader/audit/ajax-response-updater.js +312 -0
  442. package/tools/wac-cli/src/angular15/upgrader/audit/css-syntax-error-updater.js +312 -0
  443. package/tools/wac-cli/src/angular15/upgrader/audit/declare-override-updater.js +312 -0
  444. package/tools/wac-cli/src/angular15/upgrader/audit/error-updater-angular15.js +312 -0
  445. package/tools/wac-cli/src/angular15/upgrader/audit/form-control-updater.js +312 -0
  446. package/tools/wac-cli/src/angular15/upgrader/audit/iif-updater-util.js +312 -0
  447. package/tools/wac-cli/src/angular15/upgrader/audit/load-children-callback-updater.js +315 -0
  448. package/tools/wac-cli/src/angular15/upgrader/audit/log-parser.js +312 -0
  449. package/tools/wac-cli/src/angular15/upgrader/audit/observable-throw-updater.js +312 -0
  450. package/tools/wac-cli/src/angular15/upgrader/audit/parameter-count-violation-updater.js +312 -0
  451. package/tools/wac-cli/src/angular15/upgrader/audit/string-replace-updater.js +312 -0
  452. package/tools/wac-cli/src/angular15/upgrader/audit/subjuct-next-updater-util.js +312 -0
  453. package/tools/wac-cli/src/angular15/upgrader/ci-build-yml-upgrader.js +312 -0
  454. package/tools/wac-cli/src/angular15/upgrader/eslint-auto-fix-upgrader.js +312 -0
  455. package/tools/wac-cli/src/angular15/upgrader/file-replacement-upgrader.js +312 -0
  456. package/tools/wac-cli/src/angular15/upgrader/git-ignore-upgrader.js +312 -0
  457. package/tools/wac-cli/src/angular15/upgrader/jasmine-test-upgrader.js +312 -0
  458. package/tools/wac-cli/src/angular15/upgrader/package-json-upgrader.js +312 -0
  459. package/tools/wac-cli/src/angular15/upgrader/remove-upgrader.js +315 -0
  460. package/tools/wac-cli/src/angular15/upgrader/replace-upgrader.js +312 -0
  461. package/tools/wac-cli/src/angular15/upgrader/tsconfig-upgrader.js +312 -0
  462. package/tools/wac-cli/src/angular15/upgrader/ui-test-automation-legacy-upgrader.js +312 -0
  463. package/tools/wac-cli/src/angular15/upgrader/version-json-upgrader.js +312 -0
  464. package/tools/wac-cli/src/angular15/utils/add-item.js +312 -0
  465. package/tools/wac-cli/src/angular15/utils/command-runner.js +312 -0
  466. package/tools/wac-cli/src/angular15/utils/file-comparison.js +315 -0
  467. package/tools/wac-cli/src/angular15/utils/file-replacement.js +312 -0
  468. package/tools/wac-cli/src/angular15/utils/file-writer.js +312 -0
  469. package/tools/wac-cli/src/angular15/utils/logger.js +312 -0
  470. package/tools/wac-cli/src/angular15/utils/main-debugger.js +312 -0
  471. package/tools/wac-cli/src/angular15/utils/relative-path.js +312 -0
  472. package/tools/wac-cli/src/angular15/utils/remove-item.js +312 -0
  473. package/tools/wac-cli/src/angular15/utils/space-generator.js +312 -0
  474. package/tools/wac-cli/src/angular15/utils/update-shell-references.js +316 -0
  475. package/tools/wac-cli/src/common.js +312 -0
  476. package/tools/wac-cli/src/create/main.js +312 -0
  477. package/tools/wac-cli/src/eslint/main.js +312 -0
  478. package/tools/wac-cli/src/index.js +312 -0
  479. package/tools/wac-cli/src/upgrade/error-updater.js +312 -0
  480. package/tools/wac-cli/src/upgrade/error-updaters/component-selector-updater.js +315 -0
  481. package/tools/wac-cli/src/upgrade/error-updaters/only-arrow-functions-updater.js +315 -0
  482. package/tools/wac-cli/src/upgrade/error-updaters/updater-lookup.js +312 -0
  483. package/tools/wac-cli/src/upgrade/file-updater.js +312 -0
  484. package/tools/wac-cli/src/upgrade/get-files.js +312 -0
  485. package/tools/wac-cli/src/upgrade/main.js +312 -0
  486. package/tools/wac-cli/src/upgrade/models/error-result.js +312 -0
  487. package/tools/wac-cli/src/upgrade/models/updater-interface.js +312 -0
  488. package/tools/wac-cli/src/upgrade/package-updater.js +312 -0
  489. package/tools/wac-cli/templates/wac-template/src/favicon.ico +0 -0
  490. package/tools/wac-cli/templates/wac-template/src/karma.conf.js +312 -0
  491. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Error.ps1 +216 -0
  492. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Exception.ps1 +216 -0
  493. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Process.ps1 +216 -1
  494. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-Service.ps1 +216 -1
  495. package/tools/wac-cli/templates/wac-template/src/resources/scripts/Get-WinRmState.ps1 +216 -1
  496. package/core/data/extension-broker/snap-in-listener.d.ts.map +0 -1
  497. package/core/data/extension-broker/snap-in-listener.js +0 -73
  498. package/core/data/extension-broker/snap-in-listener.js.map +0 -1
  499. package/microsoft-windows-admin-center-sdk-4.167.0.tgz +0 -0
@@ -19,6 +19,7 @@ import { LoadingWheelModule } from '../loading-wheel/loading-wheel.module';
19
19
  import { SchemaFieldHostModule } from '../schema/schema-field-host.module';
20
20
  import { TooltipModule } from '../tooltip/tooltip.module';
21
21
  import { FieldsetDirective } from './fieldset/fieldset.directive';
22
+ import { ArrayFormFieldAccessibilityManagerService } from './form-field/array/array-form-field-accessibility-manager.service';
22
23
  import { ArrayFormFieldComponent, ArrayFormFieldLoaderComponent } from './form-field/array/array-form-field.component';
23
24
  import { CalendarFormFieldComponent } from './form-field/calendar/calendar-form-field.component';
24
25
  import { CheckboxFormFieldComponent, CheckboxFormFieldLoaderComponent } from './form-field/checkbox/checkbox-form-field.component';
@@ -32,17 +33,20 @@ import { DateTimeFormFieldComponent } from './form-field/datetime/datetime-form-
32
33
  import { DateTimeRangeFormFieldComponent } from './form-field/datetime-range/datetime-range-form-field.component';
33
34
  import { DateTimeRangeOptionComponent } from './form-field/datetime-range/datetime-range-option.component';
34
35
  import { FileFormFieldComponent, FileFormFieldLoaderComponent } from './form-field/file/file-form-field.component';
36
+ import { FormFieldAccessibilityManagerBaseService } from './form-field/form-field-accessibility-manager-base.service';
35
37
  import { FormFieldAccessorDirective } from './form-field/form-field-accessor.directive';
36
38
  import { FormFieldAsyncValidatorDirective } from './form-field/form-field-async-validator.directive';
37
39
  import { FormFieldTemplateDirective } from './form-field/form-field-template.directive';
38
40
  import { FormFieldValidatorDirective } from './form-field/form-field-validator.directive';
39
41
  import { FormFieldIsolatorComponent } from './form-field/isolator/isolator.component';
40
42
  import { JsonFormFieldComponent, JsonFormFieldLoaderComponent } from './form-field/json/json-form-field.component';
43
+ import { ListFormFieldAccessibilityManagerService } from './form-field/list/list-form-field-accessibility-manager.service';
41
44
  import { ListFormFieldComponent } from './form-field/list/list-form-field.component';
42
45
  import { NumberFormFieldComponent, NumberFormFieldLoaderComponent } from './form-field/number/number-form-field.component';
43
46
  import { ObjectDefaultFormFieldLoaderComponent } from './form-field/object/object-default-form-field-loader.component';
44
47
  import { FormFieldOptionComponent } from './form-field/options-form-field/form-field-option.component';
45
48
  import { FormFieldOptionSubFormTemplateLoaderComponent } from './form-field/options-form-field/option-subform-template-loader.component';
49
+ import { OrderedListFormFieldAccessibilityManagerService } from './form-field/ordered-list/ordered-list-form-field-accessibility-manager.service';
46
50
  import { OrderedListFormFieldComponent, OrderedListFormFieldLoaderComponent } from './form-field/ordered-list/ordered-list-form-field.component';
47
51
  import { PasswordFormFieldComponent, PasswordFormFieldLoaderComponent } from './form-field/password/password-form-field.component';
48
52
  import { RadioGroupFormFieldComponent, RadioGroupFormFieldLoaderComponent } from './form-field/radio-group/classic/radio-group-form-field.component';
@@ -67,7 +71,13 @@ export class SmeFormsModule {
67
71
  }
68
72
  /** @nocollapse */ SmeFormsModule.ɵfac = function SmeFormsModule_Factory(t) { return new (t || SmeFormsModule)(); };
69
73
  /** @nocollapse */ SmeFormsModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: SmeFormsModule });
70
- /** @nocollapse */ SmeFormsModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [AccordionModule,
74
+ /** @nocollapse */ SmeFormsModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [
75
+ // TODO: each form field should have its own accessibility manager service
76
+ ArrayFormFieldAccessibilityManagerService,
77
+ ListFormFieldAccessibilityManagerService,
78
+ OrderedListFormFieldAccessibilityManagerService,
79
+ FormFieldAccessibilityManagerBaseService
80
+ ], imports: [AccordionModule,
71
81
  ActionsModule,
72
82
  AutofocusModule,
73
83
  CommonModule,
@@ -239,6 +249,13 @@ export class SmeFormsModule {
239
249
  TileDirectivesModule,
240
250
  TooltipModule,
241
251
  TelemetryDirectiveModule
252
+ ],
253
+ providers: [
254
+ // TODO: each form field should have its own accessibility manager service
255
+ ArrayFormFieldAccessibilityManagerService,
256
+ ListFormFieldAccessibilityManagerService,
257
+ OrderedListFormFieldAccessibilityManagerService,
258
+ FormFieldAccessibilityManagerBaseService
242
259
  ]
243
260
  }]
244
261
  }], null, null); })();
@@ -386,4 +403,4 @@ export class SmeFormsModule {
386
403
  FieldsetDirective,
387
404
  FormFieldIsolatorComponent,
388
405
  FormFieldLayoutComponent] }); })();
389
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3Jtcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5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LDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1QixpQ0FBaUM7UUFFakMsd0JBQXdCO1FBQ3hCLDZDQUE2QztRQUM3Qyx3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsZ0NBQWdDO1FBQ2hDLDBCQUEwQjtRQUMxQixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBdXRvZm9jdXNNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2F1dG9mb2N1cy9hdXRvZm9jdXMubW9kdWxlJztcclxuaW1wb3J0IHsgRGlzYWJsZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Rpc2FibGVkL2Rpc2FibGVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1hcmtkb3duTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9tYXJrZG93bi9tYXJrZG93bi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RlbGVtZXRyeS90ZWxlbWV0cnktZGlyZWN0aXZlcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbWVUZW1wbGF0ZU91dGxldE1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGVtcGxhdGUtb3V0bGV0L3RlbXBsYXRlLW91dGxldC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUaWxlRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGlsZS90aWxlLWRpcmVjdGl2ZXMubW9kdWxlJztcclxuaW1wb3J0IHsgQnl0ZVVuaXRDb252ZXJ0ZXJQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvYnl0ZS11bml0LWNvbnZlcnRlci1waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1hdFBpcGVNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9mb3JtYXQtcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuLi9hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFjdGlvbnNNb2R1bGUgfSBmcm9tICcuLi9hY3Rpb25zL2FjdGlvbnMubW9kdWxlJztcclxuaW1wb3J0IHsgRHJvcFpvbmVNb2R1bGUgfSBmcm9tICcuLi9kcm9wLXpvbmUvZHJvcC16b25lLm1vZHVsZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcclxuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IExvYWRpbmdXaGVlbE1vZHVsZSB9IGZyb20gJy4uL2xvYWRpbmctd2hlZWwvbG9hZGluZy13aGVlbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTY2hlbWFGaWVsZEhvc3RNb2R1bGUgfSBmcm9tICcuLi9zY2hlbWEvc2NoZW1hLWZpZWxkLWhvc3QubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGaWVsZHNldERpcmVjdGl2ZSB9IGZyb20gJy4vZmllbGRzZXQvZmllbGRzZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQXJyYXlGb3JtRmllbGRDb21wb25lbnQsIEFycmF5Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2FycmF5L2FycmF5LWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FsZW5kYXJGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvY2FsZW5kYXIvY2FsZW5kYXItZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveEZvcm1GaWVsZENvbXBvbmVudCwgQ2hlY2tib3hGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvY2hlY2tib3gvY2hlY2tib3gtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2xpc3RGb3JtRmllbGRDb21wb25lbnQsIENoZWNrbGlzdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9jaGVja2xpc3QvY2hlY2tsaXN0LWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2xvY2tGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvY2xvY2svY2xvY2stZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb2RlRm9ybUZpZWxkQ29tcG9uZW50LCBDb2RlRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2NvZGUvY29kZS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbWJvYm94Rm9ybUZpZWxkQ29tcG9uZW50LCBDb21ib2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9jb21ib2JveC9jb21ib2JveC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEZvcm1GaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC9jb21ib2JveC9zZWxlY3QtZm9ybS1maWVsZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEYXRlRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2RhdGUvZGF0ZS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVUaW1lRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2RhdGV0aW1lL2RhdGV0aW1lLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVRpbWVSYW5nZUZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9kYXRldGltZS1yYW5nZS9kYXRldGltZS1yYW5nZS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVUaW1lUmFuZ2VPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvZGF0ZXRpbWUtcmFuZ2UvZGF0ZXRpbWUtcmFuZ2Utb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBGaWxlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgRmlsZUZvcm1GaWVsZExvYWRlckNvbXBvbmVudFxyXG59IGZyb20gJy4vZm9ybS1maWVsZC9maWxlL2ZpbGUtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLWFjY2Vzc29yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEFzeW5jVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtYXN5bmMtdmFsaWRhdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZFRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdmFsaWRhdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZElzb2xhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2lzb2xhdG9yL2lzb2xhdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEpzb25Gb3JtRmllbGRDb21wb25lbnQsIEpzb25Gb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvanNvbi9qc29uLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9saXN0L2xpc3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgTnVtYmVyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgTnVtYmVyRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL251bWJlci9udW1iZXItZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYmplY3REZWZhdWx0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL29iamVjdC9vYmplY3QtZGVmYXVsdC1mb3JtLWZpZWxkLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvb3B0aW9ucy1mb3JtLWZpZWxkL2Zvcm0tZmllbGQtb3B0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZE9wdGlvblN1YkZvcm1UZW1wbGF0ZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9vcHRpb25zLWZvcm0tZmllbGQvb3B0aW9uLXN1YmZvcm0tdGVtcGxhdGUtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBPcmRlcmVkTGlzdEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL29yZGVyZWQtbGlzdC9vcmRlcmVkLWxpc3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgUGFzc3dvcmRGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICBQYXNzd29yZEZvcm1GaWVsZExvYWRlckNvbXBvbmVudFxyXG59IGZyb20gJy4vZm9ybS1maWVsZC9wYXNzd29yZC9wYXNzd29yZC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Hcm91cEZvcm1GaWVsZExvYWRlckNvbXBvbmVudFxyXG59IGZyb20gJy4vZm9ybS1maWVsZC9yYWRpby1ncm91cC9jbGFzc2ljL3JhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmF0aW5nUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9yYWRpby1ncm91cC9yYXRpbmcvcmF0aW5nLXJhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGlsZVJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvdGlsZS90aWxlLXJhZGlvLWdyb3VwLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVhZG9ubHlGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvcmVhZG9ubHkvcmVhZG9ubHktZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2hGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvc2VhcmNoL3NlYXJjaC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsaWRlckZvcm1GaWVsZENvbXBvbmVudCwgU2xpZGVyRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL3NsaWRlci9zbGlkZXItZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWdzRm9ybUZpZWxkQ29tcG9uZW50LCBUYWdzRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL3RhZ3MvdGFncy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRGb3JtRmllbGRDb21wb25lbnQsIFRleHRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvdGV4dC90ZXh0LWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGltZUZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC90aW1lL3RpbWUtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgVG9nZ2xlU3dpdGNoRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlU3dpdGNoRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL3RvZ2dsZS1zd2l0Y2gvdG9nZ2xlLXN3aXRjaC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZExheW91dENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC1sYXlvdXQvZm9ybS1maWVsZC1sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9uLWFsZXJ0L3ZhbGlkYXRpb24tYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2Fwc0xvY2tWYWxpZGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRvcnMvY2Fwc2xvY2suZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5wdXRWYWxpZGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRvcnMvaW5wdXQtdmFsaWRhdG9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hY2hpbmVOYW1lVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0b3JzL21hY2hpbmUtbmFtZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRjaEZpZWxkVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0b3JzL21hdGNoLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlcXVpcmVkVHJpbW1lZFZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vdmFsaWRhdG9ycy9yZXF1aXJlZC10cmltbWVkLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgLy8gRm9ybSBGaWVsZCBDb21wb25lbnRzXHJcbiAgICAgICAgQXJyYXlGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQXJyYXlGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2FsZW5kYXJGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ2xvY2tGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ2hlY2tib3hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ2hlY2tib3hGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ2hlY2tsaXN0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENoZWNrbGlzdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDb2RlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENvZGVGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ29tYm9ib3hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ29tYm9ib3hGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgRGF0ZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBEYXRlVGltZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBEYXRlVGltZVJhbmdlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVUaW1lUmFuZ2VPcHRpb25Db21wb25lbnQsXHJcbiAgICAgICAgRmlsZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBGaWxlRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEpzb25Gb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgSnNvbkZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBMaXN0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIE51bWJlckZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBOdW1iZXJGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgT2JqZWN0RGVmYXVsdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBPcmRlcmVkTGlzdEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBPcmRlcmVkTGlzdEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBQYXNzd29yZEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBQYXNzd29yZEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFJhZGlvR3JvdXBGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgUmVhZG9ubHlGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgUmF0aW5nUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBTZWFyY2hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgU2VsZWN0Rm9ybUZpZWxkRGlyZWN0aXZlLFxyXG4gICAgICAgIFNsaWRlckZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBTbGlkZXJGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGlsZVJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVGltZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUYWdzRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRhZ3NGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGV4dEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUZXh0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFRvZ2dsZVN3aXRjaEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUb2dnbGVTd2l0Y2hGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcblxyXG4gICAgICAgIC8vIFZhbGlkYXRvcnNcclxuICAgICAgICBDYXBzTG9ja1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBJbnB1dFZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBNYWNoaW5lTmFtZVZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBNYXRjaEZpZWxkVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIFJlcXVpcmVkVHJpbW1lZFZhbGlkYXRvckRpcmVjdGl2ZSxcclxuXHJcbiAgICAgICAgLy8gU3VwcG9ydGluZyBDb21wb25lbnRzXHJcbiAgICAgICAgRm9ybUZpZWxkT3B0aW9uU3ViRm9ybVRlbXBsYXRlTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEZvcm1GaWVsZE9wdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBWYWxpZGF0aW9uQWxlcnRDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybUZpZWxkQWNjZXNzb3JEaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIEZvcm1GaWVsZEFzeW5jVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIEZvcm1GaWVsZFRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgICAgIEZpZWxkc2V0RGlyZWN0aXZlLFxyXG4gICAgICAgIEZvcm1GaWVsZElzb2xhdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIEZvcm1GaWVsZExheW91dENvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICAvLyBGb3JtIEZpZWxkIENvbXBvbmVudHNcclxuICAgICAgICBBcnJheUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBBcnJheUZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDYWxlbmRhckZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDbG9ja0Zvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDaGVja2JveEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDaGVja2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDaGVja2xpc3RGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ2hlY2tsaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENvZGVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ29kZUZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDb21ib2JveEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDb21ib2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBEYXRlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVUaW1lRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVUaW1lUmFuZ2VGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgRGF0ZVRpbWVSYW5nZU9wdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBGaWxlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgSnNvbkZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBKc29uRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIExpc3RGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgTnVtYmVyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIE51bWJlckZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBPYmplY3REZWZhdWx0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFBhc3N3b3JkRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFBhc3N3b3JkRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgUmFkaW9Hcm91cEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBSZWFkb25seUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBSYXRpbmdSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFNlYXJjaEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBTZWxlY3RGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICAgICAgU2xpZGVyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFNsaWRlckZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBUaWxlUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUaW1lRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRhZ3NGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVGFnc0Zvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBUZXh0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRleHRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVG9nZ2xlU3dpdGNoRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRvZ2dsZVN3aXRjaEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgLy8gVmFsaWRhdG9yc1xyXG4gICAgICAgIENhcHNMb2NrVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIElucHV0VmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIE1hY2hpbmVOYW1lVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIE1hdGNoRmllbGRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgUmVxdWlyZWRUcmltbWVkVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG5cclxuICAgICAgICAvLyBTdXBwb3J0aW5nIENvbXBvbmVudHNcclxuICAgICAgICBGb3JtRmllbGRPcHRpb25TdWJGb3JtVGVtcGxhdGVMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybUZpZWxkT3B0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIFZhbGlkYXRpb25BbGVydENvbXBvbmVudCxcclxuICAgICAgICBGb3JtRmllbGRBY2Nlc3NvckRpcmVjdGl2ZSxcclxuICAgICAgICBGb3JtRmllbGRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkQXN5bmNWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgRmllbGRzZXREaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkSXNvbGF0b3JDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybUZpZWxkTGF5b3V0Q29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIEFjY29yZGlvbk1vZHVsZSxcclxuICAgICAgICBBY3Rpb25zTW9kdWxlLFxyXG4gICAgICAgIEF1dG9mb2N1c01vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBCeXRlVW5pdENvbnZlcnRlclBpcGVNb2R1bGUsXHJcbiAgICAgICAgRm9ybWF0UGlwZU1vZHVsZSxcclxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLFxyXG4gICAgICAgIExheW91dE1vZHVsZSxcclxuICAgICAgICBTY2hlbWFGaWVsZEhvc3RNb2R1bGUsXHJcbiAgICAgICAgU21lVGVtcGxhdGVPdXRsZXRNb2R1bGUsXHJcbiAgICAgICAgRGlzYWJsZWRNb2R1bGUsXHJcbiAgICAgICAgRHJvcFpvbmVNb2R1bGUsXHJcbiAgICAgICAgTG9hZGluZ1doZWVsTW9kdWxlLFxyXG4gICAgICAgIE1hcmtkb3duTW9kdWxlLFxyXG4gICAgICAgIFRpbGVEaXJlY3RpdmVzTW9kdWxlLFxyXG4gICAgICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICAgICAgVGVsZW1ldHJ5RGlyZWN0aXZlTW9kdWxlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWVGb3Jtc01vZHVsZSB7IH1cclxuIl19
406
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvZm9ybS9mb3Jtcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN2SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuSSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN2SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNuSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNuSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMzRyxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25ILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzNILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsOEJBQThCLEVBQ2pDLE1BQU0saURBQWlELENBQUM7QUFDekQsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDdkgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDdkcsT0FBTyxFQUFFLDZDQUE2QyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDekksT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDbEosT0FBTyxFQUNILDZCQUE2QixFQUM3QixtQ0FBbUMsRUFDdEMsTUFBTSw2REFBNkQsQ0FBQztBQUNyRSxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNuQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ3JDLE1BQU0sbUVBQW1FLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDN0gsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDdkgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUNILDhCQUE4QixFQUM5QixvQ0FBb0MsRUFDdkMsTUFBTSwrREFBK0QsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFxSzVGLE1BQU0sT0FBTyxjQUFjOzsrRkFBZCxjQUFjOytGQUFkLGNBQWM7b0dBUlo7UUFDUCwwRUFBMEU7UUFDMUUseUNBQXlDO1FBQ3pDLHdDQUF3QztRQUN4QywrQ0FBK0M7UUFDL0Msd0NBQXdDO0tBQzNDLFlBM0JHLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFVBQVU7UUFDVixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixjQUFjO1FBQ2QsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYix3QkFBd0I7dUZBVW5CLGNBQWM7Y0FuSzFCLFFBQVE7ZUFBQztnQkFDTixZQUFZLEVBQUU7b0JBQ1Ysd0JBQXdCO29CQUN4Qix1QkFBdUI7b0JBQ3ZCLDZCQUE2QjtvQkFDN0IsMEJBQTBCO29CQUMxQix1QkFBdUI7b0JBQ3ZCLDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQywyQkFBMkI7b0JBQzNCLGlDQUFpQztvQkFDakMsc0JBQXNCO29CQUN0Qiw0QkFBNEI7b0JBQzVCLDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxzQkFBc0I7b0JBQ3RCLDBCQUEwQjtvQkFDMUIsK0JBQStCO29CQUMvQiw0QkFBNEI7b0JBQzVCLHNCQUFzQjtvQkFDdEIsNEJBQTRCO29CQUM1QixzQkFBc0I7b0JBQ3RCLDRCQUE0QjtvQkFDNUIsc0JBQXNCO29CQUN0Qix3QkFBd0I7b0JBQ3hCLDhCQUE4QjtvQkFDOUIscUNBQXFDO29CQUNyQyw2QkFBNkI7b0JBQzdCLG1DQUFtQztvQkFDbkMsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLDRCQUE0QjtvQkFDNUIsa0NBQWtDO29CQUNsQywwQkFBMEI7b0JBQzFCLGtDQUFrQztvQkFDbEMsd0JBQXdCO29CQUN4Qix3QkFBd0I7b0JBQ3hCLHdCQUF3QjtvQkFDeEIsOEJBQThCO29CQUM5QixnQ0FBZ0M7b0JBQ2hDLHNCQUFzQjtvQkFDdEIsc0JBQXNCO29CQUN0Qiw0QkFBNEI7b0JBQzVCLHNCQUFzQjtvQkFDdEIsNEJBQTRCO29CQUM1Qiw4QkFBOEI7b0JBQzlCLG9DQUFvQztvQkFFcEMsYUFBYTtvQkFDYiwwQkFBMEI7b0JBQzFCLHVCQUF1QjtvQkFDdkIsNkJBQTZCO29CQUM3Qiw0QkFBNEI7b0JBQzVCLGlDQUFpQztvQkFFakMsd0JBQXdCO29CQUN4Qiw2Q0FBNkM7b0JBQzdDLHdCQUF3QjtvQkFDeEIsd0JBQXdCO29CQUN4QiwwQkFBMEI7b0JBQzFCLDJCQUEyQjtvQkFDM0IsZ0NBQWdDO29CQUNoQywwQkFBMEI7b0JBQzFCLGlCQUFpQjtvQkFDakIsMEJBQTBCO29CQUMxQix3QkFBd0I7aUJBQzNCO2dCQUNELE9BQU8sRUFBRTtvQkFDTCx3QkFBd0I7b0JBQ3hCLHVCQUF1QjtvQkFDdkIsNkJBQTZCO29CQUM3QiwwQkFBMEI7b0JBQzFCLHVCQUF1QjtvQkFDdkIsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLDJCQUEyQjtvQkFDM0IsaUNBQWlDO29CQUNqQyxzQkFBc0I7b0JBQ3RCLDRCQUE0QjtvQkFDNUIsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQiwrQkFBK0I7b0JBQy9CLDRCQUE0QjtvQkFDNUIsc0JBQXNCO29CQUN0Qiw0QkFBNEI7b0JBQzVCLHNCQUFzQjtvQkFDdEIsNEJBQTRCO29CQUM1QixzQkFBc0I7b0JBQ3RCLHdCQUF3QjtvQkFDeEIsOEJBQThCO29CQUM5QixxQ0FBcUM7b0JBQ3JDLDZCQUE2QjtvQkFDN0IsbUNBQW1DO29CQUNuQywwQkFBMEI7b0JBQzFCLGdDQUFnQztvQkFDaEMsNEJBQTRCO29CQUM1QixrQ0FBa0M7b0JBQ2xDLDBCQUEwQjtvQkFDMUIsa0NBQWtDO29CQUNsQyx3QkFBd0I7b0JBQ3hCLHdCQUF3QjtvQkFDeEIsd0JBQXdCO29CQUN4Qiw4QkFBOEI7b0JBQzlCLGdDQUFnQztvQkFDaEMsc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLDRCQUE0QjtvQkFDNUIsc0JBQXNCO29CQUN0Qiw0QkFBNEI7b0JBQzVCLDhCQUE4QjtvQkFDOUIsb0NBQW9DO29CQUVwQyxhQUFhO29CQUNiLDBCQUEwQjtvQkFDMUIsdUJBQXVCO29CQUN2Qiw2QkFBNkI7b0JBQzdCLDRCQUE0QjtvQkFDNUIsaUNBQWlDO29CQUVqQyx3QkFBd0I7b0JBQ3hCLDZDQUE2QztvQkFDN0Msd0JBQXdCO29CQUN4Qix3QkFBd0I7b0JBQ3hCLDBCQUEwQjtvQkFDMUIsMkJBQTJCO29CQUMzQixnQ0FBZ0M7b0JBQ2hDLDBCQUEwQjtvQkFDMUIsaUJBQWlCO29CQUNqQiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixlQUFlO29CQUNmLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLDJCQUEyQjtvQkFDM0IsZ0JBQWdCO29CQUNoQixjQUFjO29CQUNkLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsY0FBYztvQkFDZCxjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxvQkFBb0I7b0JBQ3BCLGFBQWE7b0JBQ2Isd0JBQXdCO2lCQUMzQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsMEVBQTBFO29CQUMxRSx5Q0FBeUM7b0JBQ3pDLHdDQUF3QztvQkFDeEMsK0NBQStDO29CQUMvQyx3Q0FBd0M7aUJBQzNDO2FBQ0o7O3dGQUNZLGNBQWM7UUFqS25CLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQywyQkFBMkI7UUFDM0IsaUNBQWlDO1FBQ2pDLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLHFDQUFxQztRQUNyQyw2QkFBNkI7UUFDN0IsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQywwQkFBMEI7UUFDMUIsa0NBQWtDO1FBQ2xDLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QixnQ0FBZ0M7UUFDaEMsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsb0NBQW9DO1FBRXBDLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBRWpDLHdCQUF3QjtRQUN4Qiw2Q0FBNkM7UUFDN0Msd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQywwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0IsYUFxRXhCLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixnQkFBZ0I7UUFDaEIsY0FBYztRQUNkLFVBQVU7UUFDVixZQUFZO1FBQ1oscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2QixjQUFjO1FBQ2QsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYix3QkFBd0I7UUFyRnhCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQywyQkFBMkI7UUFDM0IsaUNBQWlDO1FBQ2pDLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsOEJBQThCO1FBQzlCLHFDQUFxQztRQUNyQyw2QkFBNkI7UUFDN0IsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQywwQkFBMEI7UUFDMUIsa0NBQWtDO1FBQ2xDLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLDhCQUE4QjtRQUM5QixnQ0FBZ0M7UUFDaEMsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsb0NBQW9DO1FBRXBDLGFBQWE7UUFDYiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsaUNBQWlDO1FBRWpDLHdCQUF3QjtRQUN4Qiw2Q0FBNkM7UUFDN0Msd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLGdDQUFnQztRQUNoQywwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLDBCQUEwQjtRQUMxQix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQXV0b2ZvY3VzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9hdXRvZm9jdXMvYXV0b2ZvY3VzLm1vZHVsZSc7XHJcbmltcG9ydCB7IERpc2FibGVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaXNhYmxlZC9kaXNhYmxlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvbWFya2Rvd24vbWFya2Rvd24ubW9kdWxlJztcclxuaW1wb3J0IHsgVGVsZW1ldHJ5RGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90ZWxlbWV0cnkvdGVsZW1ldHJ5LWRpcmVjdGl2ZXMubW9kdWxlJztcclxuaW1wb3J0IHsgU21lVGVtcGxhdGVPdXRsZXRNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RlbXBsYXRlLW91dGxldC90ZW1wbGF0ZS1vdXRsZXQubW9kdWxlJztcclxuaW1wb3J0IHsgVGlsZURpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RpbGUvdGlsZS1kaXJlY3RpdmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IEJ5dGVVbml0Q29udmVydGVyUGlwZU1vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL2J5dGUtdW5pdC1jb252ZXJ0ZXItcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtYXRQaXBlTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGlwZXMvZm9ybWF0LXBpcGUubW9kdWxlJztcclxuaW1wb3J0IHsgQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi4vYWNjb3JkaW9uL2FjY29yZGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBY3Rpb25zTW9kdWxlIH0gZnJvbSAnLi4vYWN0aW9ucy9hY3Rpb25zLm1vZHVsZSc7XHJcbmltcG9ydCB7IERyb3Bab25lTW9kdWxlIH0gZnJvbSAnLi4vZHJvcC16b25lL2Ryb3Atem9uZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XHJcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcclxuaW1wb3J0IHsgTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nV2hlZWxNb2R1bGUgfSBmcm9tICcuLi9sb2FkaW5nLXdoZWVsL2xvYWRpbmctd2hlZWwubW9kdWxlJztcclxuaW1wb3J0IHsgU2NoZW1hRmllbGRIb3N0TW9kdWxlIH0gZnJvbSAnLi4vc2NoZW1hL3NjaGVtYS1maWVsZC1ob3N0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgRmllbGRzZXREaXJlY3RpdmUgfSBmcm9tICcuL2ZpZWxkc2V0L2ZpZWxkc2V0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFycmF5Rm9ybUZpZWxkQWNjZXNzaWJpbGl0eU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2FycmF5L2FycmF5LWZvcm0tZmllbGQtYWNjZXNzaWJpbGl0eS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcnJheUZvcm1GaWVsZENvbXBvbmVudCwgQXJyYXlGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvYXJyYXkvYXJyYXktZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9jYWxlbmRhci9jYWxlbmRhci1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Rm9ybUZpZWxkQ29tcG9uZW50LCBDaGVja2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9jaGVja2JveC9jaGVja2JveC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrbGlzdEZvcm1GaWVsZENvbXBvbmVudCwgQ2hlY2tsaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2NoZWNrbGlzdC9jaGVja2xpc3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbG9ja0Zvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9jbG9jay9jbG9jay1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvZGVGb3JtRmllbGRDb21wb25lbnQsIENvZGVGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvY29kZS9jb2RlLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tYm9ib3hGb3JtRmllbGRDb21wb25lbnQsIENvbWJvYm94Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2NvbWJvYm94L2NvbWJvYm94LWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0Rm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2NvbWJvYm94L3NlbGVjdC1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERhdGVGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvZGF0ZS9kYXRlLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVRpbWVGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvZGF0ZXRpbWUvZGF0ZXRpbWUtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlVGltZVJhbmdlRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2RhdGV0aW1lLXJhbmdlL2RhdGV0aW1lLXJhbmdlLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVRpbWVSYW5nZU9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9kYXRldGltZS1yYW5nZS9kYXRldGltZS1yYW5nZS1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIEZpbGVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICBGaWxlRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL2ZpbGUvZmlsZS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZEFjY2Vzc2liaWxpdHlNYW5hZ2VyQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1hY2Nlc3NpYmlsaXR5LW1hbmFnZXItYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1hY2Nlc3Nvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRBc3luY1ZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLWFzeW5jLXZhbGlkYXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZFZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLXZhbGlkYXRvci5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRJc29sYXRvckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9pc29sYXRvci9pc29sYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBKc29uRm9ybUZpZWxkQ29tcG9uZW50LCBKc29uRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2pzb24vanNvbi1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3RGb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZmllbGQvbGlzdC9saXN0LWZvcm0tZmllbGQtYWNjZXNzaWJpbGl0eS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMaXN0Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL2xpc3QvbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBOdW1iZXJGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICBOdW1iZXJGb3JtRmllbGRMb2FkZXJDb21wb25lbnRcclxufSBmcm9tICcuL2Zvcm0tZmllbGQvbnVtYmVyL251bWJlci1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9iamVjdERlZmF1bHRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvb2JqZWN0L29iamVjdC1kZWZhdWx0LWZvcm0tZmllbGQtbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9vcHRpb25zLWZvcm0tZmllbGQvZm9ybS1maWVsZC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkT3B0aW9uU3ViRm9ybVRlbXBsYXRlTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL29wdGlvbnMtZm9ybS1maWVsZC9vcHRpb24tc3ViZm9ybS10ZW1wbGF0ZS1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3JkZXJlZExpc3RGb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL2Zvcm0tZmllbGQvb3JkZXJlZC1saXN0L29yZGVyZWQtbGlzdC1mb3JtLWZpZWxkLWFjY2Vzc2liaWxpdHktbWFuYWdlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgT3JkZXJlZExpc3RGb3JtRmllbGRMb2FkZXJDb21wb25lbnRcclxufSBmcm9tICcuL2Zvcm0tZmllbGQvb3JkZXJlZC1saXN0L29yZGVyZWQtbGlzdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBQYXNzd29yZEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgIFBhc3N3b3JkRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL3Bhc3N3b3JkL3Bhc3N3b3JkLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICBSYWRpb0dyb3VwRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50XHJcbn0gZnJvbSAnLi9mb3JtLWZpZWxkL3JhZGlvLWdyb3VwL2NsYXNzaWMvcmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYXRpbmdSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL3JhZGlvLWdyb3VwL3JhdGluZy9yYXRpbmctcmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaWxlUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9yYWRpby1ncm91cC90aWxlL3RpbGUtcmFkaW8tZ3JvdXAtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWFkb25seUZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9yZWFkb25seS9yZWFkb25seS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9zZWFyY2gvc2VhcmNoLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2xpZGVyRm9ybUZpZWxkQ29tcG9uZW50LCBTbGlkZXJGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvc2xpZGVyL3NsaWRlci1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ3NGb3JtRmllbGRDb21wb25lbnQsIFRhZ3NGb3JtRmllbGRMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZmllbGQvdGFncy90YWdzLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEZvcm1GaWVsZENvbXBvbmVudCwgVGV4dEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC90ZXh0L3RleHQtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkL3RpbWUvdGltZS1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBUb2dnbGVTd2l0Y2hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICBUb2dnbGVTd2l0Y2hGb3JtRmllbGRMb2FkZXJDb21wb25lbnRcclxufSBmcm9tICcuL2Zvcm0tZmllbGQvdG9nZ2xlLXN3aXRjaC90b2dnbGUtc3dpdGNoLWZvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWZpZWxkLWxheW91dC9mb3JtLWZpZWxkLWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRpb24tYWxlcnQvdmFsaWRhdGlvbi1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXBzTG9ja1ZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vdmFsaWRhdG9ycy9jYXBzbG9jay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vdmFsaWRhdG9ycy9pbnB1dC12YWxpZGF0b3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWFjaGluZU5hbWVWYWxpZGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRvcnMvbWFjaGluZS1uYW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdGNoRmllbGRWYWxpZGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuL3ZhbGlkYXRvcnMvbWF0Y2guZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUmVxdWlyZWRUcmltbWVkVmFsaWRhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi92YWxpZGF0b3JzL3JlcXVpcmVkLXRyaW1tZWQuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICAvLyBGb3JtIEZpZWxkIENvbXBvbmVudHNcclxuICAgICAgICBBcnJheUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBBcnJheUZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDYWxlbmRhckZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDbG9ja0Zvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDaGVja2JveEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDaGVja2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDaGVja2xpc3RGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ2hlY2tsaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENvZGVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgQ29kZUZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBDb21ib2JveEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDb21ib2JveEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBEYXRlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVUaW1lRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVUaW1lUmFuZ2VGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgRGF0ZVRpbWVSYW5nZU9wdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBGaWxlRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgSnNvbkZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBKc29uRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIExpc3RGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgTnVtYmVyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIE51bWJlckZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBPYmplY3REZWZhdWx0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIE9yZGVyZWRMaXN0Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFBhc3N3b3JkRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFBhc3N3b3JkRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFJhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgUmFkaW9Hcm91cEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBSZWFkb25seUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBSYXRpbmdSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFNlYXJjaEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBTZWxlY3RGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICAgICAgU2xpZGVyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFNsaWRlckZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBUaWxlUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUaW1lRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRhZ3NGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVGFnc0Zvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBUZXh0Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRleHRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVG9nZ2xlU3dpdGNoRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRvZ2dsZVN3aXRjaEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuXHJcbiAgICAgICAgLy8gVmFsaWRhdG9yc1xyXG4gICAgICAgIENhcHNMb2NrVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIElucHV0VmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIE1hY2hpbmVOYW1lVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIE1hdGNoRmllbGRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgUmVxdWlyZWRUcmltbWVkVmFsaWRhdG9yRGlyZWN0aXZlLFxyXG5cclxuICAgICAgICAvLyBTdXBwb3J0aW5nIENvbXBvbmVudHNcclxuICAgICAgICBGb3JtRmllbGRPcHRpb25TdWJGb3JtVGVtcGxhdGVMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybUZpZWxkT3B0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIFZhbGlkYXRpb25BbGVydENvbXBvbmVudCxcclxuICAgICAgICBGb3JtRmllbGRBY2Nlc3NvckRpcmVjdGl2ZSxcclxuICAgICAgICBGb3JtRmllbGRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkQXN5bmNWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICAgICAgRmllbGRzZXREaXJlY3RpdmUsXHJcbiAgICAgICAgRm9ybUZpZWxkSXNvbGF0b3JDb21wb25lbnQsXHJcbiAgICAgICAgRm9ybUZpZWxkTGF5b3V0Q29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIC8vIEZvcm0gRmllbGQgQ29tcG9uZW50c1xyXG4gICAgICAgIEFycmF5Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIEFycmF5Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENhbGVuZGFyRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENsb2NrRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENoZWNrYm94Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENoZWNrYm94Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENoZWNrbGlzdEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDaGVja2xpc3RGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgQ29kZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBDb2RlRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIENvbWJvYm94Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIENvbWJvYm94Rm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIERhdGVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgRGF0ZVRpbWVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgRGF0ZVRpbWVSYW5nZUZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBEYXRlVGltZVJhbmdlT3B0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgIEZpbGVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgRmlsZUZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBKc29uRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIEpzb25Gb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgTGlzdEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBOdW1iZXJGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgTnVtYmVyRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIE9iamVjdERlZmF1bHRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJlZExpc3RGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgT3JkZXJlZExpc3RGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgUGFzc3dvcmRGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgUGFzc3dvcmRGb3JtRmllbGRMb2FkZXJDb21wb25lbnQsXHJcbiAgICAgICAgUmFkaW9Hcm91cEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBSYWRpb0dyb3VwRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFJlYWRvbmx5Rm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFJhdGluZ1JhZGlvR3JvdXBGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgU2VhcmNoRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGVjdEZvcm1GaWVsZERpcmVjdGl2ZSxcclxuICAgICAgICBTbGlkZXJGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgU2xpZGVyRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFRpbGVSYWRpb0dyb3VwRm9ybUZpZWxkQ29tcG9uZW50LFxyXG4gICAgICAgIFRpbWVGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVGFnc0Zvcm1GaWVsZENvbXBvbmVudCxcclxuICAgICAgICBUYWdzRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgICAgIFRleHRGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVGV4dEZvcm1GaWVsZExvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBUb2dnbGVTd2l0Y2hGb3JtRmllbGRDb21wb25lbnQsXHJcbiAgICAgICAgVG9nZ2xlU3dpdGNoRm9ybUZpZWxkTG9hZGVyQ29tcG9uZW50LFxyXG5cclxuICAgICAgICAvLyBWYWxpZGF0b3JzXHJcbiAgICAgICAgQ2Fwc0xvY2tWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgSW5wdXRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgTWFjaGluZU5hbWVWYWxpZGF0b3JEaXJlY3RpdmUsXHJcbiAgICAgICAgTWF0Y2hGaWVsZFZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBSZXF1aXJlZFRyaW1tZWRWYWxpZGF0b3JEaXJlY3RpdmUsXHJcblxyXG4gICAgICAgIC8vIFN1cHBvcnRpbmcgQ29tcG9uZW50c1xyXG4gICAgICAgIEZvcm1GaWVsZE9wdGlvblN1YkZvcm1UZW1wbGF0ZUxvYWRlckNvbXBvbmVudCxcclxuICAgICAgICBGb3JtRmllbGRPcHRpb25Db21wb25lbnQsXHJcbiAgICAgICAgVmFsaWRhdGlvbkFsZXJ0Q29tcG9uZW50LFxyXG4gICAgICAgIEZvcm1GaWVsZEFjY2Vzc29yRGlyZWN0aXZlLFxyXG4gICAgICAgIEZvcm1GaWVsZFZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBGb3JtRmllbGRBc3luY1ZhbGlkYXRvckRpcmVjdGl2ZSxcclxuICAgICAgICBGb3JtRmllbGRUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgICAgICBGaWVsZHNldERpcmVjdGl2ZSxcclxuICAgICAgICBGb3JtRmllbGRJc29sYXRvckNvbXBvbmVudCxcclxuICAgICAgICBGb3JtRmllbGRMYXlvdXRDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgICAgIEFjdGlvbnNNb2R1bGUsXHJcbiAgICAgICAgQXV0b2ZvY3VzTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIEJ5dGVVbml0Q29udmVydGVyUGlwZU1vZHVsZSxcclxuICAgICAgICBGb3JtYXRQaXBlTW9kdWxlLFxyXG4gICAgICAgIERyb3Bkb3duTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgTGF5b3V0TW9kdWxlLFxyXG4gICAgICAgIFNjaGVtYUZpZWxkSG9zdE1vZHVsZSxcclxuICAgICAgICBTbWVUZW1wbGF0ZU91dGxldE1vZHVsZSxcclxuICAgICAgICBEaXNhYmxlZE1vZHVsZSxcclxuICAgICAgICBEcm9wWm9uZU1vZHVsZSxcclxuICAgICAgICBMb2FkaW5nV2hlZWxNb2R1bGUsXHJcbiAgICAgICAgTWFya2Rvd25Nb2R1bGUsXHJcbiAgICAgICAgVGlsZURpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICAgICAgVG9vbHRpcE1vZHVsZSxcclxuICAgICAgICBUZWxlbWV0cnlEaXJlY3RpdmVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAvLyBUT0RPOiBlYWNoIGZvcm0gZmllbGQgc2hvdWxkIGhhdmUgaXRzIG93biBhY2Nlc3NpYmlsaXR5IG1hbmFnZXIgc2VydmljZVxyXG4gICAgICAgIEFycmF5Rm9ybUZpZWxkQWNjZXNzaWJpbGl0eU1hbmFnZXJTZXJ2aWNlLFxyXG4gICAgICAgIExpc3RGb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlclNlcnZpY2UsXHJcbiAgICAgICAgT3JkZXJlZExpc3RGb3JtRmllbGRBY2Nlc3NpYmlsaXR5TWFuYWdlclNlcnZpY2UsXHJcbiAgICAgICAgRm9ybUZpZWxkQWNjZXNzaWJpbGl0eU1hbmFnZXJCYXNlU2VydmljZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21lRm9ybXNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -34,7 +34,7 @@ function PageAlertBarComponent_a_5_Template(rf, ctx) { if (rf & 1) {
34
34
  const ctx_r2 = i0.ɵɵnextContext();
35
35
  i0.ɵɵproperty("title", !!ctx_r2.alert.detailsCaption ? ctx_r2.alert.detailsCaption : ctx_r2.defaultDetailsLabel);
36
36
  i0.ɵɵadvance(1);
37
- i0.ɵɵtextInterpolate1(" ", !!ctx_r2.alert.detailsLabel ? ctx_r2.alert.detailsLabel : ctx_r2.defaultDetailsLabel, "\n");
37
+ i0.ɵɵtextInterpolate1(" ", !!ctx_r2.alert.detailsLabel ? ctx_r2.alert.detailsLabel : ctx_r2.defaultDetailsLabel, " ");
38
38
  } }
39
39
  /**
40
40
  *
@@ -185,8 +185,8 @@ export class PageAlertBarComponent extends SpacerBaseDirective {
185
185
  i0.ɵɵelementStart(2, "span");
186
186
  i0.ɵɵtext(3);
187
187
  i0.ɵɵtemplate(4, PageAlertBarComponent_a_4_Template, 2, 6, "a", 1);
188
- i0.ɵɵelementEnd();
189
188
  i0.ɵɵtemplate(5, PageAlertBarComponent_a_5_Template, 2, 2, "a", 2);
189
+ i0.ɵɵelementEnd();
190
190
  } if (rf & 2) {
191
191
  i0.ɵɵclassMapInterpolate1("sme-margin-right-xs sme-position-flex-none ", ctx.iconClass, "");
192
192
  i0.ɵɵclassProp("sme-icon", !!ctx.iconClass);
@@ -201,7 +201,7 @@ export class PageAlertBarComponent extends SpacerBaseDirective {
201
201
  } }, dependencies: [i1.NgIf, i2.StatusIconComponent, i3.TooltipDirective], encapsulation: 2 });
202
202
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PageAlertBarComponent, [{
203
203
  type: Component,
204
- args: [{ selector: 'sme-page-alert-bar', template: "<span class=\"sme-margin-right-xs sme-position-flex-none {{iconClass}}\" [class.sme-icon]=\"!!iconClass\">\r\n <sme-status-icon *ngIf=\"statusIcon !== null\" class=\"sme-layout-inline-block\" [status]=\"statusIcon\" size=\"16px\">\r\n </sme-status-icon>\r\n</span>\r\n\r\n<span>\r\n {{ alert.message }}\r\n <a *ngIf=\"alert.externalLink\" class=\"sme-link sme-focus-zone sme-icon-after\" [class]=\"alert?.externalLink?.iconClass\"\r\n [class.sme-icon]=\"!!alert?.externalLink?.iconClass\" href=\"{{alert.externalLink.url}}\"\r\n target=\"_blank\">{{ alert.externalLink.title }}</a>\r\n</span>\r\n\r\n<a *ngIf=\"!!alert.detailsCommand\" class=\"sme-margin-left-xs sme-position-flex-none sme-link sme-focus-zone\" tabindex=\"0\" role=\"link\"\r\n [title]=\"!!alert.detailsCaption ? alert.detailsCaption : defaultDetailsLabel\" (click)=\"alert.detailsCommand($event)\">\r\n {{ !!alert.detailsLabel ? alert.detailsLabel : defaultDetailsLabel }}\r\n</a>\r\n" }]
204
+ args: [{ selector: 'sme-page-alert-bar', template: "<span class=\"sme-margin-right-xs sme-position-flex-none {{iconClass}}\" [class.sme-icon]=\"!!iconClass\">\r\n <sme-status-icon *ngIf=\"statusIcon !== null\" class=\"sme-layout-inline-block\" [status]=\"statusIcon\" size=\"16px\">\r\n </sme-status-icon>\r\n</span>\r\n\r\n<span>\r\n {{ alert.message }}\r\n <a *ngIf=\"alert.externalLink\" class=\"sme-link sme-focus-zone sme-icon-after\" [class]=\"alert?.externalLink?.iconClass\"\r\n [class.sme-icon]=\"!!alert?.externalLink?.iconClass\" href=\"{{alert.externalLink.url}}\" target=\"_blank\">{{\r\n alert.externalLink.title }}</a>\r\n <a *ngIf=\"!!alert.detailsCommand\" class=\"sme-margin-left-xs sme-position-flex-none sme-link sme-focus-zone\"\r\n tabindex=\"0\" role=\"link\" [title]=\"!!alert.detailsCaption ? alert.detailsCaption : defaultDetailsLabel\"\r\n (click)=\"alert.detailsCommand($event)\">\r\n {{ !!alert.detailsLabel ? alert.detailsLabel : defaultDetailsLabel }}\r\n </a>\r\n</span>\r\n" }]
205
205
  }], function () { return [{ type: i0.Injector }]; }, { isBackgroundTransparent: [{
206
206
  type: Input
207
207
  }], isCritical: [{
@@ -237,4 +237,4 @@ export class PageAlertBarComponent extends SpacerBaseDirective {
237
237
  }], alert: [{
238
238
  type: Input
239
239
  }] }); })();
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGFnZS1hbGVydC1iYXIvcGFnZS1hbGVydC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGFnZS1hbGVydC1iYXIvcGFnZS1hbGVydC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFhLE1BQU0scUJBQXFCLENBQUM7Ozs7OztJQ0ZuRSxxQ0FDa0I7OztJQUQyRCwwQ0FBcUI7OztJQU1sRyw0QkFFa0I7SUFBQSxZQUE4QjtJQUFBLGlCQUFJOzs7SUFGeUIsMkhBQXdDO0lBQ25ILDRJQUFtRDtJQUFDLGlGQUFpQztJQUNyRSxlQUE4QjtJQUE5QixxREFBOEI7Ozs7SUFHbEQsNEJBQ3VIO0lBQXZDLGlLQUFTLGVBQUEsbUNBQTRCLENBQUEsSUFBQztJQUNwSCxZQUNGO0lBQUEsaUJBQUk7OztJQUZGLGdIQUE2RTtJQUM3RSxlQUNGO0lBREUsc0hBQ0Y7O0FEVkE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFNSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBOEkxRCxZQUFZLFFBQWtCO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQXZJYix3QkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxD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eUI7WUFTM0IsZUFBZTtrQkFEekIsV0FBVzttQkFBQywrQkFBK0I7WUFTakMsWUFBWTtrQkFEdEIsV0FBVzttQkFBQyx5QkFBeUI7WUFTM0IsUUFBUTtrQkFEbEIsV0FBVzttQkFBQyx3QkFBd0I7WUFTMUIsU0FBUztrQkFEbkIsV0FBVzttQkFBQyx5QkFBeUI7WUFTM0IsYUFBYTtrQkFEdkIsV0FBVzttQkFBQyw2QkFBNkI7WUFVL0IsZUFBZTtrQkFEekIsV0FBVzttQkFBQyxzQ0FBc0M7WUFRbkMsS0FBSztrQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGFjZXJCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vY29tbW9uL3NwYWNlci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0YXR1c0ljb25UeXBlIH0gZnJvbSAnLi4vaWNvbi9sYXllcmVkLWljb24vc3RhdHVzL3N0YXR1cy1pY29uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWx0aEFsZXJ0U2V2ZXJpdHksIFBhZ2VBbGVydCB9IGZyb20gJy4vbW9kZWxzL3BhZ2UtYWxlcnQnO1xyXG5cclxuLyoqXHJcbiAqXHJcbiAqIEBzbWVEb2Mge0BsYWJlbCBQYWdlIEFsZXJ0IEJhciBAaWQgc21lLXBhZ2UtYWxlcnQtYmFyLWNvbXBvbmVudH1cclxuICpcclxuICogQG92ZXJ2aWV3XHJcbiAqIEBmaWxlIHtAZmlsZXBhdGggLi9leGFtcGxlcy9wYWdlLWFsZXJ0LWJhci1vdmVydmlldy5tZH1cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBCYXNpYyBVc2FnZSBAaWQgYmFzaWMtdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvYmFzaWMtdXNhZ2UuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2Jhc2ljLXVzYWdlLmNvbXBvbmVudC50c31cclxuICpcclxuICogQGV4YW1wbGUge0BsYWJlbCBDdXN0b20gVXNhZ2UgQGlkIGN1c3RvbS11c2FnZX1cclxuICogQGZpbGUge0BmaWxlbmFtZSBjb21wb25lbnQuaHRtbCBAZmlsZXBhdGggLi9leGFtcGxlcy9jdXN0b20tdXNhZ2UuY29tcG9uZW50Lmh0bWx9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50LnRzIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2N1c3RvbS11c2FnZS5jb21wb25lbnQudHN9XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1wYWdlLWFsZXJ0LWJhcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1hbGVydC1iYXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlQWxlcnRCYXJDb21wb25lbnQgZXh0ZW5kcyBTcGFjZXJCYXNlRGlyZWN0aXZlIHtcclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdQYWdlQWxlcnRCYXJDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWZhdWx0RGV0YWlsc0xhYmVsID0gdGhpcy5zdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLkNvbW1vbi5kZXRhaWxzO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGFsZXJ0IGJhciBpcyB0cmFuc3BhcmVudCBvciBub3QuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaXNCYWNrZ3JvdW5kVHJhbnNwYXJlbnQgPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENyaXRpY2FsIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtY3JpdGljYWwnKVxyXG4gICAgcHVibGljIGdldCBpc0NyaXRpY2FsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0ICYmIHRoaXMuYWxlcnQuc2V2ZXJpdHkgPT09IEhlYWx0aEFsZXJ0U2V2ZXJpdHkuQ3JpdGljYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFcnJvciBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LWVycm9yJylcclxuICAgIHB1YmxpYyBnZXQgaXNFcnJvcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LkVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2FybmluZyBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LXdhcm5pbmcnKVxyXG4gICAgcHVibGljIGdldCBpc1dhcm5pbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gSGVhbHRoQWxlcnRTZXZlcml0eS5XYXJuaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvZ3Jlc3MgYWxlcnRzLlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1wZW5kaW5nJylcclxuICAgIHB1YmxpYyBnZXQgaXNQZW5kaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0ICYmIHRoaXMuYWxlcnQuc2V2ZXJpdHkgPT09IEhlYWx0aEFsZXJ0U2V2ZXJpdHkuUHJvZ3Jlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmZvcm1hdGlvbmFsIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtaW5mb3JtYXRpb25hbCcpXHJcbiAgICBwdWJsaWMgZ2V0IGlzSW5mb3JtYXRpb25hbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdWNjZXNzIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtc3VjY2VzcycpXHJcbiAgICBwdWJsaWMgZ2V0IGlzU3VjY2Vzc2Z1bCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LlN1Y2Nlc3M7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcHNlbGwgYWxlcnRzLlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC11cHNlbGwnKVxyXG4gICAgcHVibGljIGdldCBpc1Vwc2VsbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LlVwc2VsbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE5ldXRyYWwgYWxlcnRzLlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1uZXV0cmFsJylcclxuICAgIHB1YmxpYyBnZXQgaXNOZXV0cmFsKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0ICYmIHRoaXMuYWxlcnQuc2V2ZXJpdHkgPT09IEhlYWx0aEFsZXJ0U2V2ZXJpdHkuTmV1dHJhbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYW5zcGFyZW50IGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtdHJhbnNwYXJlbnQnKVxyXG4gICAgcHVibGljIGdldCBpc1RyYW5zcGFyZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0ICYmIHRoaXMuaXNCYWNrZ3JvdW5kVHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuIHRoZSBiYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LCB3ZSBjYW4gb3B0aW9uYWxseSByZW1vdmUgdGhlIGxlZnQgcGFkZGluZyBmb3IgYWxsaWdubWVudCB3aXRoIG90aGVyIFVJIGVsZW1lbnRzLlxyXG4gICAgICogV2hlbiB3aXRoIHRoZSBiYWNrZ291bmQgY29sb3IsIHdlIG5lZWQgdG8ga2VlcCB0aGUgbGVmdCBwYWRkaW5nIGZvciB2aXN1YWxseSBib3JkZXJpbmcgdGhlIGFsZXJ0LlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1vdmVycmlkZS1wYWRkaW5nLWxlZnQtbm9uZScpXHJcbiAgICBwdWJsaWMgZ2V0IGlzTm9MZWZ0UGFkZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmlzQmFja2dyb3VuZFRyYW5zcGFyZW50ICYmIHRoaXMubm9MZWZ0UGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFuIGludGVyZmFjZSB0aGF0IGRpY3RhdGVzIGhvdyB0byBkaXNwbGF5IHRoZSBhbGVydC5cclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIGFsZXJ0OiBQYWdlQWxlcnQ7XHJcblxyXG4gICAgcHVibGljIGdldCBpY29uQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXRoaXMuYWxlcnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hbGVydC5pY29uQ2xhc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQuaWNvbkNsYXNzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIHN0YXR1cyBpY29uIHR5cGUgYmFzZWQgb24gdGhlIGFsZXJ0IHNldmVyaXR5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IHN0YXR1c0ljb24oKTogU3RhdHVzSWNvblR5cGUge1xyXG4gICAgICAgIGlmICghdGhpcy5hbGVydCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYWxlcnQuaWNvbkNsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLmFsZXJ0LnNldmVyaXR5KSB7XHJcbiAgICAgICAgICAgIGNhc2UgSGVhbHRoQWxlcnRTZXZlcml0eS5Dcml0aWNhbDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5Dcml0aWNhbDtcclxuICAgICAgICAgICAgY2FzZSBIZWFsdGhBbGVydFNldmVyaXR5LkVycm9yOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1c0ljb25UeXBlLkVycm9yO1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuV2FybmluZzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5XYXJuaW5nO1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuSW5mbzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5JbmZvO1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuUHJvZ3Jlc3M6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RhdHVzSWNvblR5cGUuUHJvZ3Jlc3M7XHJcbiAgICAgICAgICAgIGNhc2UgSGVhbHRoQWxlcnRTZXZlcml0eS5TdWNjZXNzOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1c0ljb25UeXBlLlN1Y2Nlc3M7XHJcbiAgICAgICAgICAgIGNhc2UgSGVhbHRoQWxlcnRTZXZlcml0eS5OZXV0cmFsOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1c0ljb25UeXBlLlVua25vd247XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1hbGVydCcsXHJcbiAgICAgICAgICAgICdzbWUtcGFnZS1hbGVydCcsXHJcbiAgICAgICAgICAgICdzbWUtYWxlcnQtYmFja2dyb3VuZCdcclxuICAgICAgICBdKTtcclxuICAgIH1cclxufVxyXG4iLCI8c3BhbiBjbGFzcz1cInNtZS1tYXJnaW4tcmlnaHQteHMgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSB7e2ljb25DbGFzc319XCIgW2NsYXNzLnNtZS1pY29uXT1cIiEhaWNvbkNsYXNzXCI+XHJcbiAgPHNtZS1zdGF0dXMtaWNvbiAqbmdJZj1cInN0YXR1c0ljb24gIT09IG51bGxcIiBjbGFzcz1cInNtZS1sYXlvdXQtaW5saW5lLWJsb2NrXCIgW3N0YXR1c109XCJzdGF0dXNJY29uXCIgc2l6ZT1cIjE2cHhcIj5cclxuICA8L3NtZS1zdGF0dXMtaWNvbj5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4+XHJcbiAge3sgYWxlcnQubWVzc2FnZSB9fVxyXG4gIDxhICpuZ0lmPVwiYWxlcnQuZXh0ZXJuYWxMaW5rXCIgY2xhc3M9XCJzbWUtbGluayBzbWUtZm9jdXMtem9uZSBzbWUtaWNvbi1hZnRlclwiIFtjbGFzc109XCJhbGVydD8uZXh0ZXJuYWxMaW5rPy5pY29uQ2xhc3NcIlxyXG4gICAgW2NsYXNzLnNtZS1pY29uXT1cIiEhYWxlcnQ/LmV4dGVybmFsTGluaz8uaWNvbkNsYXNzXCIgaHJlZj1cInt7YWxlcnQuZXh0ZXJuYWxMaW5rLnVybH19XCJcclxuICAgIHRhcmdldD1cIl9ibGFua1wiPnt7IGFsZXJ0LmV4dGVybmFsTGluay50aXRsZSB9fTwvYT5cclxuPC9zcGFuPlxyXG5cclxuPGEgKm5nSWY9XCIhIWFsZXJ0LmRldGFpbHNDb21tYW5kXCIgY2xhc3M9XCJzbWUtbWFyZ2luLWxlZnQteHMgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtbGluayBzbWUtZm9jdXMtem9uZVwiIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCJcclxuICBbdGl0bGVdPVwiISFhbGVydC5kZXRhaWxzQ2FwdGlvbiA/IGFsZXJ0LmRldGFpbHNDYXB0aW9uIDogZGVmYXVsdERldGFpbHNMYWJlbFwiIChjbGljayk9XCJhbGVydC5kZXRhaWxzQ29tbWFuZCgkZXZlbnQpXCI+XHJcbiAge3sgISFhbGVydC5kZXRhaWxzTGFiZWwgPyBhbGVydC5kZXRhaWxzTGFiZWwgOiBkZWZhdWx0RGV0YWlsc0xhYmVsIH19XHJcbjwvYT5cclxuIl19
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1hbGVydC1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGFnZS1hbGVydC1iYXIvcGFnZS1hbGVydC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvcGFnZS1hbGVydC1iYXIvcGFnZS1hbGVydC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFhLE1BQU0scUJBQXFCLENBQUM7Ozs7OztJQ0ZuRSxxQ0FDa0I7OztJQUQyRCwwQ0FBcUI7OztJQU1sRyw0QkFDd0c7SUFBQSxZQUMzRTtJQUFBLGlCQUFJOzs7SUFGNEMsMkhBQXdDO0lBQ25ILDRJQUFtRDtJQUFDLGlGQUFpQztJQUFpQixlQUMzRTtJQUQyRSxxREFDM0U7Ozs7SUFDN0IsNEJBRXlDO0lBQXZDLGlLQUFTLGVBQUEsbUNBQTRCLENBQUEsSUFBQztJQUN0QyxZQUNGO0lBQUEsaUJBQUk7OztJQUh1QixnSEFBNkU7SUFFdEcsZUFDRjtJQURFLHFIQUNGOztBRFRGOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBTUgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjtJQThJMUQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUF2SWIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0s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QXlCO1lBUzNCLGVBQWU7a0JBRHpCLFdBQVc7bUJBQUMsK0JBQStCO1lBU2pDLFlBQVk7a0JBRHRCLFdBQVc7bUJBQUMseUJBQXlCO1lBUzNCLFFBQVE7a0JBRGxCLFdBQVc7bUJBQUMsd0JBQXdCO1lBUzFCLFNBQVM7a0JBRG5CLFdBQVc7bUJBQUMseUJBQXlCO1lBUzNCLGFBQWE7a0JBRHZCLFdBQVc7bUJBQUMsNkJBQTZCO1lBVS9CLGVBQWU7a0JBRHpCLFdBQVc7bUJBQUMsc0NBQXNDO1lBUW5DLEtBQUs7a0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbmplY3RvciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3BhY2VyQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2NvbW1vbi9zcGFjZXItYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdGF0dXNJY29uVHlwZSB9IGZyb20gJy4uL2ljb24vbGF5ZXJlZC1pY29uL3N0YXR1cy9zdGF0dXMtaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWFsdGhBbGVydFNldmVyaXR5LCBQYWdlQWxlcnQgfSBmcm9tICcuL21vZGVscy9wYWdlLWFsZXJ0JztcclxuXHJcbi8qKlxyXG4gKlxyXG4gKiBAc21lRG9jIHtAbGFiZWwgUGFnZSBBbGVydCBCYXIgQGlkIHNtZS1wYWdlLWFsZXJ0LWJhci1jb21wb25lbnR9XHJcbiAqXHJcbiAqIEBvdmVydmlld1xyXG4gKiBAZmlsZSB7QGZpbGVwYXRoIC4vZXhhbXBsZXMvcGFnZS1hbGVydC1iYXItb3ZlcnZpZXcubWR9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQmFzaWMgVXNhZ2UgQGlkIGJhc2ljLXVzYWdlfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC5odG1sIEBmaWxlcGF0aCAuL2V4YW1wbGVzL2Jhc2ljLXVzYWdlLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9iYXNpYy11c2FnZS5jb21wb25lbnQudHN9XHJcbiAqXHJcbiAqIEBleGFtcGxlIHtAbGFiZWwgQ3VzdG9tIFVzYWdlIEBpZCBjdXN0b20tdXNhZ2V9XHJcbiAqIEBmaWxlIHtAZmlsZW5hbWUgY29tcG9uZW50Lmh0bWwgQGZpbGVwYXRoIC4vZXhhbXBsZXMvY3VzdG9tLXVzYWdlLmNvbXBvbmVudC5odG1sfVxyXG4gKiBAZmlsZSB7QGZpbGVuYW1lIGNvbXBvbmVudC50cyBAZmlsZXBhdGggLi9leGFtcGxlcy9jdXN0b20tdXNhZ2UuY29tcG9uZW50LnRzfVxyXG4gKi9cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtcGFnZS1hbGVydC1iYXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2UtYWxlcnQtYmFyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFnZUFsZXJ0QmFyQ29tcG9uZW50IGV4dGVuZHMgU3BhY2VyQmFzZURpcmVjdGl2ZSB7XHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnUGFnZUFsZXJ0QmFyQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVmYXVsdERldGFpbHNMYWJlbCA9IHRoaXMuc3RyaW5ncy5Nc2Z0U21lU2hlbGwuQW5ndWxhci5Db21tb24uZGV0YWlscztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBhbGVydCBiYXIgaXMgdHJhbnNwYXJlbnQgb3Igbm90LlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGlzQmFja2dyb3VuZFRyYW5zcGFyZW50ID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcml0aWNhbCBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LWNyaXRpY2FsJylcclxuICAgIHB1YmxpYyBnZXQgaXNDcml0aWNhbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LkNyaXRpY2FsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXJyb3IgYWxlcnRzLlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC1lcnJvcicpXHJcbiAgICBwdWJsaWMgZ2V0IGlzRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gSGVhbHRoQWxlcnRTZXZlcml0eS5FcnJvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdhcm5pbmcgYWxlcnRzLlxyXG4gICAgICovXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNtZS1hbGVydC13YXJuaW5nJylcclxuICAgIHB1YmxpYyBnZXQgaXNXYXJuaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFsZXJ0ICYmIHRoaXMuYWxlcnQuc2V2ZXJpdHkgPT09IEhlYWx0aEFsZXJ0U2V2ZXJpdHkuV2FybmluZztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2dyZXNzIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtcGVuZGluZycpXHJcbiAgICBwdWJsaWMgZ2V0IGlzUGVuZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5LlByb2dyZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5mb3JtYXRpb25hbCBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LWluZm9ybWF0aW9uYWwnKVxyXG4gICAgcHVibGljIGdldCBpc0luZm9ybWF0aW9uYWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gSGVhbHRoQWxlcnRTZXZlcml0eS5JbmZvO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3VjY2VzcyBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LXN1Y2Nlc3MnKVxyXG4gICAgcHVibGljIGdldCBpc1N1Y2Nlc3NmdWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gSGVhbHRoQWxlcnRTZXZlcml0eS5TdWNjZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBzZWxsIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtdXBzZWxsJylcclxuICAgIHB1YmxpYyBnZXQgaXNVcHNlbGwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5hbGVydC5zZXZlcml0eSA9PT0gSGVhbHRoQWxlcnRTZXZlcml0eS5VcHNlbGw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBOZXV0cmFsIGFsZXJ0cy5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtYWxlcnQtbmV1dHJhbCcpXHJcbiAgICBwdWJsaWMgZ2V0IGlzTmV1dHJhbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmFsZXJ0LnNldmVyaXR5ID09PSBIZWFsdGhBbGVydFNldmVyaXR5Lk5ldXRyYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc3BhcmVudCBhbGVydHMuXHJcbiAgICAgKi9cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3Muc21lLWFsZXJ0LXRyYW5zcGFyZW50JylcclxuICAgIHB1YmxpYyBnZXQgaXNUcmFuc3BhcmVudCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydCAmJiB0aGlzLmlzQmFja2dyb3VuZFRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB0aGUgYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudCwgd2UgY2FuIG9wdGlvbmFsbHkgcmVtb3ZlIHRoZSBsZWZ0IHBhZGRpbmcgZm9yIGFsbGlnbm1lbnQgd2l0aCBvdGhlciBVSSBlbGVtZW50cy5cclxuICAgICAqIFdoZW4gd2l0aCB0aGUgYmFja2dvdW5kIGNvbG9yLCB3ZSBuZWVkIHRvIGtlZXAgdGhlIGxlZnQgcGFkZGluZyBmb3IgdmlzdWFsbHkgYm9yZGVyaW5nIHRoZSBhbGVydC5cclxuICAgICAqL1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zbWUtb3ZlcnJpZGUtcGFkZGluZy1sZWZ0LW5vbmUnKVxyXG4gICAgcHVibGljIGdldCBpc05vTGVmdFBhZGRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnQgJiYgdGhpcy5pc0JhY2tncm91bmRUcmFuc3BhcmVudCAmJiB0aGlzLm5vTGVmdFBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbiBpbnRlcmZhY2UgdGhhdCBkaWN0YXRlcyBob3cgdG8gZGlzcGxheSB0aGUgYWxlcnQuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBhbGVydDogUGFnZUFsZXJ0O1xyXG5cclxuICAgIHB1YmxpYyBnZXQgaWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFsZXJ0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuYWxlcnQuaWNvbkNsYXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFsZXJ0Lmljb25DbGFzcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBzdGF0dXMgaWNvbiB0eXBlIGJhc2VkIG9uIHRoZSBhbGVydCBzZXZlcml0eS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldCBzdGF0dXNJY29uKCk6IFN0YXR1c0ljb25UeXBlIHtcclxuICAgICAgICBpZiAoIXRoaXMuYWxlcnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmFsZXJ0Lmljb25DbGFzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5hbGVydC5zZXZlcml0eSkge1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuQ3JpdGljYWw6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RhdHVzSWNvblR5cGUuQ3JpdGljYWw7XHJcbiAgICAgICAgICAgIGNhc2UgSGVhbHRoQWxlcnRTZXZlcml0eS5FcnJvcjpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5FcnJvcjtcclxuICAgICAgICAgICAgY2FzZSBIZWFsdGhBbGVydFNldmVyaXR5Lldhcm5pbmc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RhdHVzSWNvblR5cGUuV2FybmluZztcclxuICAgICAgICAgICAgY2FzZSBIZWFsdGhBbGVydFNldmVyaXR5LkluZm86XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gU3RhdHVzSWNvblR5cGUuSW5mbztcclxuICAgICAgICAgICAgY2FzZSBIZWFsdGhBbGVydFNldmVyaXR5LlByb2dyZXNzOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFN0YXR1c0ljb25UeXBlLlByb2dyZXNzO1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuU3VjY2VzczpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5TdWNjZXNzO1xyXG4gICAgICAgICAgICBjYXNlIEhlYWx0aEFsZXJ0U2V2ZXJpdHkuTmV1dHJhbDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBTdGF0dXNJY29uVHlwZS5Vbmtub3duO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtYWxlcnQnLFxyXG4gICAgICAgICAgICAnc21lLXBhZ2UtYWxlcnQnLFxyXG4gICAgICAgICAgICAnc21lLWFsZXJ0LWJhY2tncm91bmQnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNwYW4gY2xhc3M9XCJzbWUtbWFyZ2luLXJpZ2h0LXhzIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUge3tpY29uQ2xhc3N9fVwiIFtjbGFzcy5zbWUtaWNvbl09XCIhIWljb25DbGFzc1wiPlxyXG4gIDxzbWUtc3RhdHVzLWljb24gKm5nSWY9XCJzdGF0dXNJY29uICE9PSBudWxsXCIgY2xhc3M9XCJzbWUtbGF5b3V0LWlubGluZS1ibG9ja1wiIFtzdGF0dXNdPVwic3RhdHVzSWNvblwiIHNpemU9XCIxNnB4XCI+XHJcbiAgPC9zbWUtc3RhdHVzLWljb24+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuPlxyXG4gIHt7IGFsZXJ0Lm1lc3NhZ2UgfX1cclxuICA8YSAqbmdJZj1cImFsZXJ0LmV4dGVybmFsTGlua1wiIGNsYXNzPVwic21lLWxpbmsgc21lLWZvY3VzLXpvbmUgc21lLWljb24tYWZ0ZXJcIiBbY2xhc3NdPVwiYWxlcnQ/LmV4dGVybmFsTGluaz8uaWNvbkNsYXNzXCJcclxuICAgIFtjbGFzcy5zbWUtaWNvbl09XCIhIWFsZXJ0Py5leHRlcm5hbExpbms/Lmljb25DbGFzc1wiIGhyZWY9XCJ7e2FsZXJ0LmV4dGVybmFsTGluay51cmx9fVwiIHRhcmdldD1cIl9ibGFua1wiPnt7XHJcbiAgICBhbGVydC5leHRlcm5hbExpbmsudGl0bGUgfX08L2E+XHJcbiAgPGEgKm5nSWY9XCIhIWFsZXJ0LmRldGFpbHNDb21tYW5kXCIgY2xhc3M9XCJzbWUtbWFyZ2luLWxlZnQteHMgc21lLXBvc2l0aW9uLWZsZXgtbm9uZSBzbWUtbGluayBzbWUtZm9jdXMtem9uZVwiXHJcbiAgICB0YWJpbmRleD1cIjBcIiByb2xlPVwibGlua1wiIFt0aXRsZV09XCIhIWFsZXJ0LmRldGFpbHNDYXB0aW9uID8gYWxlcnQuZGV0YWlsc0NhcHRpb24gOiBkZWZhdWx0RGV0YWlsc0xhYmVsXCJcclxuICAgIChjbGljayk9XCJhbGVydC5kZXRhaWxzQ29tbWFuZCgkZXZlbnQpXCI+XHJcbiAgICB7eyAhIWFsZXJ0LmRldGFpbHNMYWJlbCA/IGFsZXJ0LmRldGFpbHNMYWJlbCA6IGRlZmF1bHREZXRhaWxzTGFiZWwgfX1cclxuICA8L2E+XHJcbjwvc3Bhbj5cclxuIl19
@@ -172,4 +172,4 @@ __decorate([
172
172
  type: HostListener,
173
173
  args: ['window:scroll']
174
174
  }], onLayoutChanged: [] }); })();
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc25hcC1pbi1leHRlbnNpb24vc25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc25hcC1pbi1leHRlbnNpb24vc25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDWSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUM5RyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFJakcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFVLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7SUNWN0Qsb0NBQXVEOztBRGdCekQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjtJQXFDM0QsWUFBWSxRQUFrQixFQUFVLHNCQUE4QztRQUNsRixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEb0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQXJCL0UsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBd0J2RCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxH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LENBQUMsSUFBSSxDQUFDO1lBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztTQUM3QztRQUVELElBQUksS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBRTtZQUNsQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1lBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztTQUM3QztJQUNMLENBQUM7O21IQW5LUSx3QkFBd0I7MEdBQXhCLHdCQUF3Qjs7Ozs7O3VHQUF4QixjQUFVOztRQ2pCdkIsaUNBQXdFO1FBQ3RFLHFHQUF1RDtRQUN6RCxpQkFBTTs7UUFEZ0IsZUFBYTtRQUFiLGtDQUFhOztBRGtHL0I7SUFBQyxLQUFLLEVBQUU7Ozs7K0RBb0NQO3VGQXRIUSx3QkFBd0I7Y0FKcEMsU0FBUzsyQkFDSSx1QkFBdUI7Z0dBVTFCLFdBQVc7a0JBRGpCLFNBQVM7bUJBQUMsYUFBYTtZQUlqQixXQUFXO2tCQURqQixLQUFLO1lBSUMsS0FBSztrQkFEWCxLQUFLO1lBSUMsTUFBTTtrQkFEWixNQUFNO1lBV3dCLFFBQVE7a0JBQXRDLFlBQVk7bUJBQUMsZUFBZTtZQXlEckIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZaWVsZCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL3lpZWxkLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IFNuYXBJbkV4dGVuc2lvbkluc3RhbmNlIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL2V4dGVuc2lvbi1icm9rZXIvbW9kZWwvZXh0ZW5zaW9uLWluc3RhbmNlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uUmVjdCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9leHRlbnNpb24tYnJva2VyL21vZGVsL2V4dGVuc2lvbi1yZWN0JztcclxuaW1wb3J0IHsgU25hcEluT3V0cHV0IH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL2V4dGVuc2lvbi1icm9rZXIvc25hcC1pbi1saXN0ZW5lcic7XHJcbmltcG9ydCB7IERvbSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZG9tL2RvbSc7XHJcbmltcG9ydCB7IG1lcmdlTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25Ccm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9leHRlbnNpb24tYnJva2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExheW91dCwgU01FX0xBWU9VVF9QUk9WSURFUiB9IGZyb20gJy4uL2NvbW1vbi9sYXlvdXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1zbmFwLWluLWV4dGVuc2lvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbmFwSW5FeHRlbnNpb25Db21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcclxuICAgIC8qKlxyXG4gICAgKiBJbmplY3RlZCBAc2VlIExheW91dCBwYXJlbnQgaW5zdGFuY2UgYm91bmQgdG8gdGhpcyBjb21wb25lbnQuXHJcbiAgICAqL1xyXG4gICAgcHJpdmF0ZSBsYXlvdXQ6IExheW91dDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdwbGFjZWhvbGRlcicpXHJcbiAgICBwdWJsaWMgcGxhY2Vob2xkZXI6IGFueTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGV4dGVuc2lvbklkOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpbnB1dDogYW55O1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIG91dHB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBwdWJsaWMgaW5zdGFuY2U6IFNuYXBJbkV4dGVuc2lvbkluc3RhbmNlO1xyXG5cclxuICAgIHB1YmxpYyBsb2FkaW5nOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBvdmVyZmxvd0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG5cclxuICAgIHB1YmxpYyBzY3JvbGxFdmVudEhhbmRsZXI6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcpIG9uU2Nyb2xsKCkge1xyXG4gICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1NuYXBJbkV4dGVuc2lvbkNvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIGV4dGVuc2lvbkJyb2tlclNlcnZpY2U6IEV4dGVuc2lvbkJyb2tlclNlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcblxyXG4gICAgICAgIHRoaXMubGF5b3V0ID0gaW5qZWN0b3IuZ2V0KFNNRV9MQVlPVVRfUFJPVklERVIsIG51bGwsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuZXh0ZW5zaW9uQnJva2VyU2VydmljZS5jcmVhdGVTbmFwSW4odGhpcy5leHRlbnNpb25JZCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoKGluc3RhbmNlOiBTbmFwSW5FeHRlbnNpb25JbnN0YW5jZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlucHV0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnN0YW5jZS5jYWxsKCdpbnB1dCcsIDAsIFt0aGlzLmlucHV0XSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0aGUgdGltZW91dFxyXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25MYXlvdXRDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgMjAwXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxFdmVudEhhbmRsZXIgPSB0aGlzLm9uTGF5b3V0Q2hhbmdlZC5iaW5kKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5sYXlvdXQubGF5b3V0Q2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkxheW91dENoYW5nZWQoKSkpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW5zdGFuY2UubGlzdGVuKCdvdXRwdXQnKTtcclxuICAgICAgICAgICAgfSkpLnN1YnNjcmliZShvdXRwdXQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKG91dHB1dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvY2Vzc0V2ZW50T3V0cHV0KG91dHB1dC5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm91dHB1dC5lbWl0KG91dHB1dCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT24gbGF5b3V0IGNoYW5nZWQgZXZlbnQgaGFuZGxlciwgb2NjdXJzIGV2ZXJ5IHRpbWUgdGhlIGxheW91dCBoYXMgYmVlbiBjaGFuZ2VkLlxyXG4gICAgICovXHJcbiAgICBAWWllbGQoKVxyXG4gICAgcHJpdmF0ZSBvbkxheW91dENoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaW5zdGFuY2UpIHtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm92ZXJmbG93RWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxFdmVudEhhbmRsZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+dGhpcy5wbGFjZWhvbGRlci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgICAgICBjb25zdCBwbGFjZWhvbGRlclJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgICBjb25zdCBleHRlbnNpb25SZWN0OiBFeHRlbnNpb25SZWN0ID0ge1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiBwbGFjZWhvbGRlclJlY3QuYm90dG9tLFxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBwbGFjZWhvbGRlclJlY3QuaGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgbGVmdDogcGxhY2Vob2xkZXJSZWN0LmxlZnQsXHJcbiAgICAgICAgICAgICAgICByaWdodDogcGxhY2Vob2xkZXJSZWN0LnJpZ2h0LFxyXG4gICAgICAgICAgICAgICAgdG9wOiBwbGFjZWhvbGRlclJlY3QudG9wLFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHBsYWNlaG9sZGVyUmVjdC53aWR0aFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3dQYXJlbnQgPSBEb20uZ2V0T3ZlcmZsb3dBbmNlc3RvcihlbGVtZW50KTtcclxuICAgICAgICAgICAgaWYgKG92ZXJmbG93UGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvdmVyZmxvd1BhcmVudFJlY3QgPSBvdmVyZmxvd1BhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgICAgIGV4dGVuc2lvblJlY3Qub3ZlcmZsb3dQYXJlbnQgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsSGVpZ2h0OiBvdmVyZmxvd1BhcmVudC5zY3JvbGxIZWlnaHQsXHJcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsV2lkdGg6IG92ZXJmbG93UGFyZW50LnNjcm9sbFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudEhlaWdodDogb3ZlcmZsb3dQYXJlbnQuY2xpZW50SGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudFdpZHRoOiBvdmVyZmxvd1BhcmVudC5jbGllbnRXaWR0aCxcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IG92ZXJmbG93UGFyZW50UmVjdC50b3AsXHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IG92ZXJmbG93UGFyZW50UmVjdC5yaWdodCxcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IG92ZXJmbG93UGFyZW50UmVjdC5ib3R0b20sXHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogb3ZlcmZsb3dQYXJlbnRSZWN0LmxlZnRcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJmbG93RWxlbWVudCA9IG92ZXJmbG93UGFyZW50O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5zY3JvbGxFdmVudEhhbmRsZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UubW92ZShleHRlbnNpb25SZWN0KS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHByb2Nlc3NFdmVudE91dHB1dChvdXRwdXREYXRhOiBTbmFwSW5PdXRwdXQpIHtcclxuICAgICAgICBpZiAob3V0cHV0RGF0YSkge1xyXG4gICAgICAgICAgICBpZiAob3V0cHV0RGF0YS5kZWx0YVkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnNjcm9sbFRvcCArPSBvdXRwdXREYXRhLmRlbHRhWTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChvdXRwdXREYXRhLmZvY3VzZWRFbGVtZW50UmVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVGb2N1c0V2ZW50KG91dHB1dERhdGEuZm9jdXNlZEVsZW1lbnRSZWN0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUZvY3VzRXZlbnQoZm9jdXNlZFJlY3Q6IERPTVJlY3QpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMucGxhY2Vob2xkZXIubmF0aXZlRWxlbWVudDtcclxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlclJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IG92ZXJmbG93UGFyZW50UmVjdCA9IHRoaXMub3ZlcmZsb3dFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICAvLyBnZXQgdGhlIGZvY3VzZWQgZWxlbWVudHMgbG9jYXRpb24gcmVsYXRpdmUgdG8gdGhlIHBsYWNlaG9sZGVyJ3MgZnJhbWVcclxuICAgICAgICBjb25zdCB0b3AgPSBwbGFjZWhvbGRlclJlY3QudG9wICsgZm9jdXNlZFJlY3QudG9wO1xyXG4gICAgICAgIGNvbnN0IGJvdHRvbSA9IHBsYWNlaG9sZGVyUmVjdC50b3AgKyBmb2N1c2VkUmVjdC5ib3R0b207XHJcbiAgICAgICAgY29uc3QgbGVmdCA9IHBsYWNlaG9sZGVyUmVjdC5sZWZ0ICsgZm9jdXNlZFJlY3QubGVmdDtcclxuICAgICAgICBjb25zdCByaWdodCA9IHBsYWNlaG9sZGVyUmVjdC5sZWZ0ICsgZm9jdXNlZFJlY3QucmlnaHQ7XHJcblxyXG4gICAgICAgIC8vIFRPRE86IGVkZ2UgY2FzZXMgZm9yIHRoZXNlIGZvciBleGFtcGxlLCBmb2N1c1JlY3QgaXMgYmlnZ2VyIHRoYW4gb3ZlcmZsb3dQYXJlbnRcclxuICAgICAgICBpZiAodG9wIDwgb3ZlcmZsb3dQYXJlbnRSZWN0LnRvcCkge1xyXG4gICAgICAgICAgICAvLyBhYm92ZSB2aWV3cG9ydCwgbW92ZSB0byBiZSB1bmRlciB2aWV3IHBvcnRcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFZID0gdG9wIC0gb3ZlcmZsb3dQYXJlbnRSZWN0LnRvcDtcclxuICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnQuc2Nyb2xsVG9wICs9IGRlbHRhWTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChib3R0b20gPiBvdmVyZmxvd1BhcmVudFJlY3QuYm90dG9tKSB7XHJcbiAgICAgICAgICAgIC8vIGJlbG93IHZpZXdwb3J0XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IGJvdHRvbSAtIG92ZXJmbG93UGFyZW50UmVjdC5ib3R0b207XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnNjcm9sbFRvcCArPSBkZWx0YVk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobGVmdCA8IG92ZXJmbG93UGFyZW50UmVjdC5sZWZ0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhWCA9IGxlZnQgLSBvdmVyZmxvd1BhcmVudFJlY3QubGVmdDtcclxuICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnQuc2Nyb2xsTGVmdCArPSBkZWx0YVg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAocmlnaHQgPiBvdmVyZmxvd1BhcmVudFJlY3QucmlnaHQpIHtcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFYID0gcmlnaHQgLSBvdmVyZmxvd1BhcmVudFJlY3QucmlnaHQ7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnNjcm9sbExlZnQgKz0gZGVsdGFYO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2ICNwbGFjZWhvbGRlciBjbGFzcz1cInNtZS1wb3NpdGlvbi1zdHJldGNoLXYgc21lLXBvc2l0aW9uLXN0cmV0Y2gtaFwiPlxyXG4gIDxzbWUtbG9hZGluZy13aGVlbCAqbmdJZj1cImxvYWRpbmdcIj48L3NtZS1sb2FkaW5nLXdoZWVsPlxyXG48L2Rpdj5cclxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc25hcC1pbi1leHRlbnNpb24vc25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc25hcC1pbi1leHRlbnNpb24vc25hcC1pbi1leHRlbnNpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDWSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUM5RyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFHakcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFVLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7SUNWN0Qsb0NBQXVEOztBRGdCekQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGlCQUFpQjtJQXFDM0QsWUFBWSxRQUFrQixFQUFVLHNCQUE4QztRQUNsRixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFEb0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQXJCL0UsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBd0J2RCxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxH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LENBQUMsSUFBSSxDQUFDO1lBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztTQUM3QztRQUVELElBQUksS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssRUFBRTtZQUNsQyxNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDO1lBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztTQUM3QztJQUNMLENBQUM7O21IQW5LUSx3QkFBd0I7MEdBQXhCLHdCQUF3Qjs7Ozs7O3VHQUF4QixjQUFVOztRQ2pCdkIsaUNBQXdFO1FBQ3RFLHFHQUF1RDtRQUN6RCxpQkFBTTs7UUFEZ0IsZUFBYTtRQUFiLGtDQUFhOztBRGtHL0I7SUFBQyxLQUFLLEVBQUU7Ozs7K0RBb0NQO3VGQXRIUSx3QkFBd0I7Y0FKcEMsU0FBUzsyQkFDSSx1QkFBdUI7Z0dBVTFCLFdBQVc7a0JBRGpCLFNBQVM7bUJBQUMsYUFBYTtZQUlqQixXQUFXO2tCQURqQixLQUFLO1lBSUMsS0FBSztrQkFEWCxLQUFLO1lBSUMsTUFBTTtrQkFEWixNQUFNO1lBV3dCLFFBQVE7a0JBQXRDLFlBQVk7bUJBQUMsZUFBZTtZQXlEckIsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZaWVsZCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL3lpZWxkLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IFNuYXBJbkV4dGVuc2lvbkluc3RhbmNlIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL2V4dGVuc2lvbi1icm9rZXIvbW9kZWwvZXh0ZW5zaW9uLWluc3RhbmNlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uUmVjdCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9leHRlbnNpb24tYnJva2VyL21vZGVsL2V4dGVuc2lvbi1yZWN0JztcclxuaW1wb3J0IHsgRG9tIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kb20vZG9tJztcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNuYXBJbk91dHB1dCB9IGZyb20gJy4uLy4uL2RhdGEvZXh0ZW5zaW9uLWJyb2tlci9zbmFwLWluLWxpc3RlbmVyJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uQnJva2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvZXh0ZW5zaW9uLWJyb2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYXlvdXQsIFNNRV9MQVlPVVRfUFJPVklERVIgfSBmcm9tICcuLi9jb21tb24vbGF5b3V0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtc25hcC1pbi1leHRlbnNpb24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NuYXAtaW4tZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU25hcEluRXh0ZW5zaW9uQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcbiAgICAvKipcclxuICAgICogSW5qZWN0ZWQgQHNlZSBMYXlvdXQgcGFyZW50IGluc3RhbmNlIGJvdW5kIHRvIHRoaXMgY29tcG9uZW50LlxyXG4gICAgKi9cclxuICAgIHByaXZhdGUgbGF5b3V0OiBMYXlvdXQ7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgncGxhY2Vob2xkZXInKVxyXG4gICAgcHVibGljIHBsYWNlaG9sZGVyOiBhbnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHRlbnNpb25JZDogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaW5wdXQ6IGFueTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBvdXRwdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gICAgcHVibGljIGluc3RhbmNlOiBTbmFwSW5FeHRlbnNpb25JbnN0YW5jZTtcclxuXHJcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbjtcclxuXHJcbiAgICBwdWJsaWMgb3ZlcmZsb3dFbGVtZW50OiBIVE1MRWxlbWVudDtcclxuXHJcbiAgICBwdWJsaWMgc2Nyb2xsRXZlbnRIYW5kbGVyOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnKSBvblNjcm9sbCgpIHtcclxuICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdTbmFwSW5FeHRlbnNpb25Db21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBleHRlbnNpb25Ccm9rZXJTZXJ2aWNlOiBFeHRlbnNpb25Ccm9rZXJTZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG5cclxuICAgICAgICB0aGlzLmxheW91dCA9IGluamVjdG9yLmdldChTTUVfTEFZT1VUX1BST1ZJREVSLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmV4dGVuc2lvbkJyb2tlclNlcnZpY2UuY3JlYXRlU25hcEluKHRoaXMuZXh0ZW5zaW9uSWQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKChpbnN0YW5jZTogU25hcEluRXh0ZW5zaW9uSW5zdGFuY2UpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnB1dCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5zdGFuY2UuY2FsbCgnaW5wdXQnLCAwLCBbdGhpcy5pbnB1dF0pLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IGlmIHdlIG5lZWQgdGhlIHRpbWVvdXRcclxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTGF5b3V0Q2hhbmdlZCgpLFxyXG4gICAgICAgICAgICAgICAgICAgIDIwMFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsRXZlbnRIYW5kbGVyID0gdGhpcy5vbkxheW91dENoYW5nZWQuYmluZCh0aGlzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0LmxheW91dENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25MYXlvdXRDaGFuZ2VkKCkpKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmxpc3Rlbignb3V0cHV0Jyk7XHJcbiAgICAgICAgICAgIH0pKS5zdWJzY3JpYmUob3V0cHV0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChvdXRwdXQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NFdmVudE91dHB1dChvdXRwdXQuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdXRwdXQuZW1pdChvdXRwdXQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICkpO1xyXG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnN0YW5jZSkge1xyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9uIGxheW91dCBjaGFuZ2VkIGV2ZW50IGhhbmRsZXIsIG9jY3VycyBldmVyeSB0aW1lIHRoZSBsYXlvdXQgaGFzIGJlZW4gY2hhbmdlZC5cclxuICAgICAqL1xyXG4gICAgQFlpZWxkKClcclxuICAgIHByaXZhdGUgb25MYXlvdXRDaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmluc3RhbmNlKSB7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5vdmVyZmxvd0VsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsRXZlbnRIYW5kbGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMucGxhY2Vob2xkZXIubmF0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uUmVjdDogRXh0ZW5zaW9uUmVjdCA9IHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogcGxhY2Vob2xkZXJSZWN0LmJvdHRvbSxcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcGxhY2Vob2xkZXJSZWN0LmhlaWdodCxcclxuICAgICAgICAgICAgICAgIGxlZnQ6IHBsYWNlaG9sZGVyUmVjdC5sZWZ0LFxyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IHBsYWNlaG9sZGVyUmVjdC5yaWdodCxcclxuICAgICAgICAgICAgICAgIHRvcDogcGxhY2Vob2xkZXJSZWN0LnRvcCxcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBwbGFjZWhvbGRlclJlY3Qud2lkdGhcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG92ZXJmbG93UGFyZW50ID0gRG9tLmdldE92ZXJmbG93QW5jZXN0b3IoZWxlbWVudCk7XHJcbiAgICAgICAgICAgIGlmIChvdmVyZmxvd1BhcmVudCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3dQYXJlbnRSZWN0ID0gb3ZlcmZsb3dQYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgICAgICAgICBleHRlbnNpb25SZWN0Lm92ZXJmbG93UGFyZW50ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbEhlaWdodDogb3ZlcmZsb3dQYXJlbnQuc2Nyb2xsSGVpZ2h0LFxyXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoOiBvdmVyZmxvd1BhcmVudC5zY3JvbGxXaWR0aCxcclxuICAgICAgICAgICAgICAgICAgICBjbGllbnRIZWlnaHQ6IG92ZXJmbG93UGFyZW50LmNsaWVudEhlaWdodCxcclxuICAgICAgICAgICAgICAgICAgICBjbGllbnRXaWR0aDogb3ZlcmZsb3dQYXJlbnQuY2xpZW50V2lkdGgsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBvdmVyZmxvd1BhcmVudFJlY3QudG9wLFxyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBvdmVyZmxvd1BhcmVudFJlY3QucmlnaHQsXHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBvdmVyZmxvd1BhcmVudFJlY3QuYm90dG9tLFxyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IG92ZXJmbG93UGFyZW50UmVjdC5sZWZ0XHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0VsZW1lbnQgPSBvdmVyZmxvd1BhcmVudDtcclxuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuc2Nyb2xsRXZlbnRIYW5kbGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmluc3RhbmNlLm1vdmUoZXh0ZW5zaW9uUmVjdCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBwcm9jZXNzRXZlbnRPdXRwdXQob3V0cHV0RGF0YTogU25hcEluT3V0cHV0KSB7XHJcbiAgICAgICAgaWYgKG91dHB1dERhdGEpIHtcclxuICAgICAgICAgICAgaWYgKG91dHB1dERhdGEuZGVsdGFZKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJmbG93RWxlbWVudC5zY3JvbGxUb3AgKz0gb3V0cHV0RGF0YS5kZWx0YVk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3V0cHV0RGF0YS5mb2N1c2VkRWxlbWVudFJlY3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRm9jdXNFdmVudChvdXRwdXREYXRhLmZvY3VzZWRFbGVtZW50UmVjdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVGb2N1c0V2ZW50KGZvY3VzZWRSZWN0OiBET01SZWN0KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IDxIVE1MRWxlbWVudD50aGlzLnBsYWNlaG9sZGVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgcGxhY2Vob2xkZXJSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBjb25zdCBvdmVyZmxvd1BhcmVudFJlY3QgPSB0aGlzLm92ZXJmbG93RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgLy8gZ2V0IHRoZSBmb2N1c2VkIGVsZW1lbnRzIGxvY2F0aW9uIHJlbGF0aXZlIHRvIHRoZSBwbGFjZWhvbGRlcidzIGZyYW1lXHJcbiAgICAgICAgY29uc3QgdG9wID0gcGxhY2Vob2xkZXJSZWN0LnRvcCArIGZvY3VzZWRSZWN0LnRvcDtcclxuICAgICAgICBjb25zdCBib3R0b20gPSBwbGFjZWhvbGRlclJlY3QudG9wICsgZm9jdXNlZFJlY3QuYm90dG9tO1xyXG4gICAgICAgIGNvbnN0IGxlZnQgPSBwbGFjZWhvbGRlclJlY3QubGVmdCArIGZvY3VzZWRSZWN0LmxlZnQ7XHJcbiAgICAgICAgY29uc3QgcmlnaHQgPSBwbGFjZWhvbGRlclJlY3QubGVmdCArIGZvY3VzZWRSZWN0LnJpZ2h0O1xyXG5cclxuICAgICAgICAvLyBUT0RPOiBlZGdlIGNhc2VzIGZvciB0aGVzZSBmb3IgZXhhbXBsZSwgZm9jdXNSZWN0IGlzIGJpZ2dlciB0aGFuIG92ZXJmbG93UGFyZW50XHJcbiAgICAgICAgaWYgKHRvcCA8IG92ZXJmbG93UGFyZW50UmVjdC50b3ApIHtcclxuICAgICAgICAgICAgLy8gYWJvdmUgdmlld3BvcnQsIG1vdmUgdG8gYmUgdW5kZXIgdmlldyBwb3J0XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhWSA9IHRvcCAtIG92ZXJmbG93UGFyZW50UmVjdC50b3A7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnNjcm9sbFRvcCArPSBkZWx0YVk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoYm90dG9tID4gb3ZlcmZsb3dQYXJlbnRSZWN0LmJvdHRvbSkge1xyXG4gICAgICAgICAgICAvLyBiZWxvdyB2aWV3cG9ydFxyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVkgPSBib3R0b20gLSBvdmVyZmxvd1BhcmVudFJlY3QuYm90dG9tO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJmbG93RWxlbWVudC5zY3JvbGxUb3AgKz0gZGVsdGFZO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGxlZnQgPCBvdmVyZmxvd1BhcmVudFJlY3QubGVmdCkge1xyXG4gICAgICAgICAgICBjb25zdCBkZWx0YVggPSBsZWZ0IC0gb3ZlcmZsb3dQYXJlbnRSZWN0LmxlZnQ7XHJcbiAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dFbGVtZW50LnNjcm9sbExlZnQgKz0gZGVsdGFYO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHJpZ2h0ID4gb3ZlcmZsb3dQYXJlbnRSZWN0LnJpZ2h0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlbHRhWCA9IHJpZ2h0IC0gb3ZlcmZsb3dQYXJlbnRSZWN0LnJpZ2h0O1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJmbG93RWxlbWVudC5zY3JvbGxMZWZ0ICs9IGRlbHRhWDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiAjcGxhY2Vob2xkZXIgY2xhc3M9XCJzbWUtcG9zaXRpb24tc3RyZXRjaC12IHNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIj5cclxuICA8c21lLWxvYWRpbmctd2hlZWwgKm5nSWY9XCJsb2FkaW5nXCI+PC9zbWUtbG9hZGluZy13aGVlbD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLXN0ZXAtc25hcC1pbi1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy93aXphcmQvbW9kZWxzL3dpemFyZC1zdGVwLXNuYXAtaW4tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTbmFwSW5PdXRwdXQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RhdGEvZXh0ZW5zaW9uLWJyb2tlci9zbmFwLWluLWxpc3RlbmVyJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgbW9kZWwgcmVwcmVzZW50YXRpb24gc25hcC1pbiBvdXRwdXQgdGhhdCBpcyBzcGVjaWZpYyB0byBhIHdpemFyZCBzdGVwLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBXaXphcmRTdGVwU25hcEluT3V0cHV0IGV4dGVuZHMgU25hcEluT3V0cHV0IHtcclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciBvciBub3QgdGhlIHN0ZXAgaXMgdmFsaWQsIGVuYWJsaW5nIHRoZSBuZXh0IGJ1dHRvbi5cclxuICAgICAqL1xyXG4gICAgaXNWYWxpZDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGVwIGlzIGN1cnJlbnRseSBydW5uaW5nIGFuIGltcG9ydGFudCBwcm9jZXNzLlxyXG4gICAgICovXHJcbiAgICBpc0J1c3k6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAgQ3VzdG9tIG1lc3NhZ2Ugd2hlbiBpdCdzIGJ1c3kuXHJcbiAgICAgKi9cclxuICAgIGJ1c3lNZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLXN0ZXAtc25hcC1pbi1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy93aXphcmQvbW9kZWxzL3dpemFyZC1zdGVwLXNuYXAtaW4tb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTbmFwSW5PdXRwdXQgfSBmcm9tICcuLi8uLi8uLi9kYXRhL2V4dGVuc2lvbi1icm9rZXIvc25hcC1pbi1saXN0ZW5lcic7XHJcblxyXG4vKipcclxuICogVGhlIG1vZGVsIHJlcHJlc2VudGF0aW9uIHNuYXAtaW4gb3V0cHV0IHRoYXQgaXMgc3BlY2lmaWMgdG8gYSB3aXphcmQgc3RlcC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2l6YXJkU3RlcFNuYXBJbk91dHB1dCBleHRlbmRzIFNuYXBJbk91dHB1dCB7XHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRoZSBzdGVwIGlzIHZhbGlkLCBlbmFibGluZyB0aGUgbmV4dCBidXR0b24uXHJcbiAgICAgKi9cclxuICAgIGlzVmFsaWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgc3RlcCBpcyBjdXJyZW50bHkgcnVubmluZyBhbiBpbXBvcnRhbnQgcHJvY2Vzcy5cclxuICAgICAqL1xyXG4gICAgaXNCdXN5OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogIEN1c3RvbSBtZXNzYWdlIHdoZW4gaXQncyBidXN5LlxyXG4gICAgICovXHJcbiAgICBidXN5TWVzc2FnZT86IHN0cmluZztcclxufVxyXG4iXX0=
@@ -178,7 +178,7 @@ export class WizardNavigationButtonComponent extends CoreBaseComponent {
178
178
  }
179
179
  }
180
180
  /** @nocollapse */ WizardNavigationButtonComponent.ɵfac = function WizardNavigationButtonComponent_Factory(t) { return new (t || WizardNavigationButtonComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
181
- /** @nocollapse */ WizardNavigationButtonComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: WizardNavigationButtonComponent, selectors: [["sme-wizard-navigation-button"]], inputs: { showIcons: "showIcons", leftIcon: "leftIcon", rightIcon: "rightIcon", buttonAutoWidth: "buttonAutoWidth", buttons: "buttons" }, outputs: { startButtonClicked: "startButtonClicked", endButtonClicked: "endButtonClicked" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 16, consts: [[1, "sme-arrange-stack-h", "sme-position-stretch-h"], [1, "sme-padding-right-xs"], ["type", "button", "aria-live", "polite", "tabIndex", "0", 1, "sme-arrange-stack-h", 3, "disabled", "click"], ["class", "sme-icon", 3, "class", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-position-flex-grow-start", "sme-arrange-ellipsis", "sme-action-button-text-span"], [1, "sme-icon"]], template: function WizardNavigationButtonComponent_Template(rf, ctx) { if (rf & 1) {
181
+ /** @nocollapse */ WizardNavigationButtonComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: WizardNavigationButtonComponent, selectors: [["sme-wizard-navigation-button"]], inputs: { showIcons: "showIcons", leftIcon: "leftIcon", rightIcon: "rightIcon", buttonAutoWidth: "buttonAutoWidth", buttons: "buttons" }, outputs: { startButtonClicked: "startButtonClicked", endButtonClicked: "endButtonClicked" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 10, vars: 16, consts: [[1, "sme-arrange-stack-h", "sme-position-stretch-h"], [1, "sme-padding-right-xs"], ["type", "button", "aria-live", "polite", "tabindex", "0", 1, "sme-arrange-stack-h", 3, "disabled", "click"], ["class", "sme-icon", 3, "class", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-position-flex-grow-start", "sme-arrange-ellipsis", "sme-action-button-text-span"], [1, "sme-icon"]], template: function WizardNavigationButtonComponent_Template(rf, ctx) { if (rf & 1) {
182
182
  i0.ɵɵelementStart(0, "div", 0)(1, "span", 1)(2, "button", 2);
183
183
  i0.ɵɵlistener("click", function WizardNavigationButtonComponent_Template_button_click_2_listener() { return ctx.onStartButtonClick(); });
184
184
  i0.ɵɵtemplate(3, WizardNavigationButtonComponent_span_3_Template, 1, 2, "span", 3);
@@ -213,7 +213,7 @@ export class WizardNavigationButtonComponent extends CoreBaseComponent {
213
213
  } }, dependencies: [i1.NgIf], encapsulation: 2 });
214
214
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WizardNavigationButtonComponent, [{
215
215
  type: Component,
216
- args: [{ selector: 'sme-wizard-navigation-button', template: "<div class=\"sme-arrange-stack-h sme-position-stretch-h\" [class.sme-layout-hidden]=\"!render\">\r\n <span class=\"sme-padding-right-xs\">\r\n <button type=\"button\" aria-live=\"polite\" class=\"sme-arrange-stack-h\" tabIndex=\"0\"\r\n [class]=\"buttons[currentStartButtonIndex]?.class\"\r\n [class.sme-button-auto-width]=\"buttonAutoWidth\"\r\n [disabled]=\"checkStartDisabled(currentStartButtonIndex)\"\r\n (click)=\"onStartButtonClick()\">\r\n <span *ngIf=\"showIcons\" class=\"sme-icon\" [class]=\"leftIcon\"></span>\r\n <span class=\"sme-position-flex-auto sme-position-flex-grow-start sme-arrange-ellipsis sme-action-button-text-span\">\r\n {{ buttons[currentStartButtonIndex] ? buttons[currentStartButtonIndex].label : strings.MsftSmeShell.Angular.Wizard.Lite.Actions.previous }}</span>\r\n </button>\r\n </span>\r\n <button type=\"button\" aria-live=\"polite\" class=\"sme-arrange-stack-h\" tabIndex=\"0\"\r\n [class]=\"buttons[currentStartButtonIndex]?.class\"\r\n [class.sme-button-auto-width]=\"buttonAutoWidth\"\r\n [disabled]=\"checkEndDisabled(currentStartButtonIndex)\"\r\n (click)=\"onEndButtonClick()\">\r\n <span class=\"sme-position-flex-auto sme-position-flex-grow-start sme-arrange-ellipsis sme-action-button-text-span\">\r\n {{ buttons[currentStartButtonIndex + 2] ? buttons[currentStartButtonIndex + 2].label : strings.MsftSmeShell.Angular.Wizard.Lite.Actions.next }}</span>\r\n <span *ngIf=\"showIcons\" class=\"sme-icon\" [class]=\"rightIcon\"></span>\r\n </button>\r\n</div>\r\n" }]
216
+ args: [{ selector: 'sme-wizard-navigation-button', template: "<div class=\"sme-arrange-stack-h sme-position-stretch-h\" [class.sme-layout-hidden]=\"!render\">\r\n <span class=\"sme-padding-right-xs\">\r\n <button type=\"button\" aria-live=\"polite\" class=\"sme-arrange-stack-h\" tabindex=\"0\"\r\n [class]=\"buttons[currentStartButtonIndex]?.class\"\r\n [class.sme-button-auto-width]=\"buttonAutoWidth\"\r\n [disabled]=\"checkStartDisabled(currentStartButtonIndex)\"\r\n (click)=\"onStartButtonClick()\">\r\n <span *ngIf=\"showIcons\" class=\"sme-icon\" [class]=\"leftIcon\"></span>\r\n <span class=\"sme-position-flex-auto sme-position-flex-grow-start sme-arrange-ellipsis sme-action-button-text-span\">\r\n {{ buttons[currentStartButtonIndex] ? buttons[currentStartButtonIndex].label : strings.MsftSmeShell.Angular.Wizard.Lite.Actions.previous }}</span>\r\n </button>\r\n </span>\r\n <button type=\"button\" aria-live=\"polite\" class=\"sme-arrange-stack-h\" tabindex=\"0\"\r\n [class]=\"buttons[currentStartButtonIndex]?.class\"\r\n [class.sme-button-auto-width]=\"buttonAutoWidth\"\r\n [disabled]=\"checkEndDisabled(currentStartButtonIndex)\"\r\n (click)=\"onEndButtonClick()\">\r\n <span class=\"sme-position-flex-auto sme-position-flex-grow-start sme-arrange-ellipsis sme-action-button-text-span\">\r\n {{ buttons[currentStartButtonIndex + 2] ? buttons[currentStartButtonIndex + 2].label : strings.MsftSmeShell.Angular.Wizard.Lite.Actions.next }}</span>\r\n <span *ngIf=\"showIcons\" class=\"sme-icon\" [class]=\"rightIcon\"></span>\r\n </button>\r\n</div>\r\n" }]
217
217
  }], function () { return [{ type: i0.Injector }]; }, { showIcons: [{
218
218
  type: Input
219
219
  }], leftIcon: [{
@@ -229,4 +229,4 @@ export class WizardNavigationButtonComponent extends CoreBaseComponent {
229
229
  }], endButtonClicked: [{
230
230
  type: Output
231
231
  }] }); })();
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLW5hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3dpemFyZC1saXRlL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi93aXphcmQtbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvd2l6YXJkLWxpdGUvd2l6YXJkLW5hdmlnYXRpb24tYnV0dG9uL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0lDSTFELDBCQUFtRTs7O0lBQTFCLDhCQUFrQjs7O0lBWTdELDBCQUFvRTs7O0lBQTNCLCtCQUFtQjs7QURLaEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGlCQUFpQjtJQXdHbEUsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFwR3BCOztXQUVHO1FBQ0ksb0JBQWUsR0FBaUMsRUFBRSxDQUFDO1FBRW5ELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFLZixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUdsQyxjQUFTLEdBQUcsdUJBQXVCLENBQUM7UUFHcEMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFnRGIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFeEM7O1dBRUc7UUFFSSx1QkFBa0IsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUV6RTs7V0FFRztRQUVJLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBdUJuRSxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xFLENBQUM7SUEzR0QsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8saUNBQWlDLENBQUM7SUFDN0MsQ0FBQztJQXVCRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNXLE9BQU8sQ0FBQyxLQUFtQztRQUNsRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1NBQzdCO2FBQU07WUFDSCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsK0JBQStCLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsdUJBQXVCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLCtCQUErQixDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsdUJBQXVCLENBQUMsS0FBYTtRQUM1QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUNSLGtCQUFrQixFQUFFLGlDQUFpQztnQkFDckQsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixPQUFPLEVBQUUsaUNBQWlDO2dCQUMxQyxNQUFNLEVBQUUsK0NBQStDO2FBQzFELENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLCtCQUErQixHQUFHLEtBQUssQ0FBQztJQUNqRCxDQUFDO0lBZ0JEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ25DLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLEtBQWE7UUFDakMsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFRRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1IsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUV0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSx1QkFBdUIsQ0FBQyxLQUFhO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBELElBQUksb0JBQW9CLEtBQUssQ0FBQyxDQUFDLElBQUksb0JBQW9CLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN2RSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsK0JBQStCLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUNyQixJQUFJLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDdkQsSUFBSSxDQUFDLHVCQUF1QixJQUFJLENBQUMsQ0FBQztTQUNyQztRQUVELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxnQkFBZ0I7UUFDbkIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLENBQUM7U0FDckM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLDBCQUEwQjtRQUM3QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLDhCQUE4QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7O09BR0c7SUFDSSx3QkFBd0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGNBQWMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksSUFBSSxDQUFDLHVCQUF1QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xILE9BQU87U0FDVjtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDdEMsQ0FBQzs7aUlBeE1RLCtCQUErQjtpSEFBL0IsK0JBQStCO1FDeEI1Qyw4QkFBNEYsY0FBQSxnQkFBQTtRQU10Riw0R0FBUyx3QkFBb0IsSUFBQztRQUM5QixrRkFBbUU7UUFDbkUsK0JBQW1IO1FBQ2pILFlBQTJJO1FBQUEsaUJBQU8sRUFBQSxFQUFBO1FBR3hKLGlDQUkrQjtRQUE3Qiw0R0FBUyxzQkFBa0IsSUFBQztRQUM1QiwrQkFBbUg7UUFDakgsWUFBK0k7UUFBQSxpQkFBTztRQUN4SixrRkFBb0U7UUFDdEUsaUJBQVMsRUFBQTs7UUFwQjZDLGdEQUFtQztRQUdyRixlQUFpRDtRQUFqRCx1SEFBaUQ7UUFDakQsNERBQStDO1FBQy9DLDhFQUF3RDtRQUVqRCxlQUFlO1FBQWYsb0NBQWU7UUFFcEIsZUFBMkk7UUFBM0kseUxBQTJJO1FBSS9JLGVBQWlEO1FBQWpELHVIQUFpRDtRQUNqRCw0REFBK0M7UUFDL0MsNEVBQXNEO1FBR3BELGVBQStJO1FBQS9JLDZMQUErSTtRQUMxSSxlQUFlO1FBQWYsb0NBQWU7O3VGREtiLCtCQUErQjtjQUozQyxTQUFTOzJCQUNJLDhCQUE4QjsyREFrQmpDLFNBQVM7a0JBRGYsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLGVBQWU7a0JBRHJCLEtBQUs7WUFjSyxPQUFPO2tCQURqQixLQUFLO1lBMENDLGtCQUFrQjtrQkFEeEIsTUFBTTtZQU9BLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGlhZ25vc3RpY3MvbG9nLWxldmVsJztcclxuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGlhZ25vc3RpY3MvbG9nZ2luZyc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2l6YXJkTmF2aWdhdGlvbkJ1dHRvbkRhdGEge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBidXR0b25cclxuICAgICAqL1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzcGFjZSBzZXBhcmF0ZWQgc3RyaW5ncyBmb3IgY2xhc3Nlcy5cclxuICAgICAqIEV4YW1wbGU6ICdzbWUtY2xhc3MtYSBzbWUtY2xhc3MtYicuXHJcbiAgICAgKi9cclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgaWNvblN0YXJ0Pzogc3RyaW5nO1xyXG4gICAgaWNvbkVuZD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS13aXphcmQtbmF2aWdhdGlvbi1idXR0b24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpemFyZE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCB7XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdXaXphcmROYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpbnRlcm5hbCBidXR0b25zIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYnV0dG9uc0ludGVybmFsOiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdID0gW107XHJcblxyXG4gICAgcHVibGljIHJlbmRlciA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0ljb25zID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxlZnRJY29uID0gJ3NtZS1pY29uLWNoZXZyb25MZWZ0JztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJpZ2h0SWNvbiA9ICdzbWUtaWNvbi1jaGV2cm9uUmlnaHQnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9uQXV0b1dpZHRoID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHRlciBidXR0b25zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYnV0dG9ucygpOiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b25zSW50ZXJuYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXR0ZXIgYnV0dG9uc1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBidXR0b25zKGlucHV0OiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdKSB7XHJcbiAgICAgICAgaWYgKCFpbnB1dCB8fCBpbnB1dC5sZW5ndGggPCAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5idXR0b25zSW50ZXJuYWwgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnNJbnRlcm5hbCA9IGlucHV0O1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4SW50ZXJuYWwgPSAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVuZGVyID0gdGhpcy5idXR0b25zICYmIHRoaXMuYnV0dG9ucy5sZW5ndGggPj0gMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHRlciBjdXJyZW50U3RhcnRCdXR0b25JbmRleFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGFydEJ1dHRvbkluZGV4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHRlciBjdXJyZW50U3RhcnRCdXR0b25JbmRleFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0IGN1cnJlbnRTdGFydEJ1dHRvbkluZGV4KGlucHV0OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICBMb2dnaW5nLmxvZyh7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlR3JvdXBIZWFkZXI6ICdXaXphcmROYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50JyxcclxuICAgICAgICAgICAgICAgIGxldmVsOiBMb2dMZXZlbC5FcnJvcixcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdub24gbnVtYmVyIGlucHV0IHdhcyBwYXNzZWQgaW4uJyxcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ0Jhbm5lckNvbXBvbmVudC5zZXQuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgoKSdcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4SW50ZXJuYWwgPSBpbnB1dDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTdGFydEluZGV4ID0gLTI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBlbWl0cyB0aGUgc3RhcnQgYnV0dG9uIGNsaWNrZWQgZXZlbnQuXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHN0YXJ0QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgZW1pdHMgdGhlIGVuZCBidXR0b24gY2xpY2tlZCBldmVudC5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZW5kQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgY2hlY2tzIHRoZSBlbmFibGUvZGlzYWJsZSBzdGF0ZSBmb3IgdGhlIHN0YXJ0IGJ1dHRvblxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBjdXJyZW50IGluZGV4IGZvciB3aXphcmQgc3RhcnQgYnV0dG9uXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGZvciBlbmFibGUgYW5kIGZhbHNlIGZvciBkaXNhYmxlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGVja1N0YXJ0RGlzYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBjaGVja3MgdGhlIGVuYWJsZS9kaXNhYmxlIHN0YXRlIGZvciB0aGUgZW5kIGJ1dHRvblxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBjdXJyZW50IGluZGV4IGZvciB3aXphcmQgZW5kIGJ1dHRvblxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBmb3IgZW5hYmxlIGFuZCBmYWxzZSBmb3IgZGlzYWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hlY2tFbmREaXNhYmxlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IHRoaXMuYnV0dG9ucy5sZW5ndGggLSAyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50U3RhcnRCdXR0b25JbmRleEludGVybmFsID0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IHJlc2V0cyB0aGUgY3VycmVudCBzdGFydCBidXR0b24gaW5kZXggdG8gLTIgaWYgbm8gYnV0dG9uIG9iamVjdHMsXHJcbiAgICAgKiBPdGhlcndpc2UgaXQgc2V0cyB0aGUgYnV0dG9uIGluZGV4IHRvIDAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXNldCgpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYnV0dG9ucy5sZW5ndGggPj0gMikge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXIgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgdXBkYXRlcyB0aGUgY29tcG9uZW50IGJ5IGxhYmVsIG5hbWUsIHRoaXMgaXMgdGllZCB0byBwaXZvdCB0YWIgY29tcG9uZW50IGNsaWNraW5nIGV2ZW50cy5cclxuICAgICAqIEBwYXJhbSBsYWJlbCB0aGUgbGFiZWwgbmFtZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVN0YXJ0SW5kZXhCeUxhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBidXR0b25zID0gdGhpcy5idXR0b25zLm1hcCgoYikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYi5sYWJlbDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkQnV0dG9uSW5kZXggPSBidXR0b25zLmluZGV4T2YobGFiZWwpO1xyXG5cclxuICAgICAgICBpZiAoYWN0aXZhdGVkQnV0dG9uSW5kZXggPT09IC0xIHx8IGFjdGl2YXRlZEJ1dHRvbkluZGV4ID49IGJ1dHRvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbCA9IGFjdGl2YXRlZEJ1dHRvbkluZGV4IC0gMTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGhhbmRsZXMgdGhlIHN0YXJ0IGluZGV4IGJ1dHRvbiBjbGlja1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdGFydEJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID4gdGhpcy5kZWZhdWx0U3RhcnRJbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4IC09IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN0YXJ0QnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBoYW5kbGVzIHRoZSBlbmQgaW5kZXggYnV0dG9uIGNsaWNrXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkVuZEJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4IDw9IHRoaXMuYnV0dG9ucy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKz0gMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZW5kQnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBnZXRzIHRoZSBjdXJyZW50IHN0YXJ0IGluZGV4IGJ1dHRvbiBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50U3RhcnRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1dHRvbkxhYmVsKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgZ2V0cyB0aGUgY3VycmVudCBhY3RpdmF0ZWQgYnV0dG9uIGxhYmVsLlxyXG4gICAgICogQHJldHVybnMgdGhlIGxhYmVsIHN0cmluZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEN1cnJlbnRBY3RpdmF0ZWRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1dHRvbkxhYmVsKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGdldHMgdGhlIGN1cnJlbnQgZW5kIGluZGV4IGJ1dHRvbiBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50RW5kQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXR0b25MYWJlbCh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ICsgMik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBnZXRzIHRoZSBidXR0b24gbGFiZWwuXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggdGhlIGluZGV4IGZvciBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0QnV0dG9uTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggPD0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleCB8fCB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID4gdGhpcy5idXR0b25zLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uc1tpbmRleF0/LmxhYmVsO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIiBbY2xhc3Muc21lLWxheW91dC1oaWRkZW5dPVwiIXJlbmRlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwic21lLXBhZGRpbmctcmlnaHQteHNcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiIHRhYkluZGV4PVwiMFwiXHJcbiAgICAgIFtjbGFzc109XCJidXR0b25zW2N1cnJlbnRTdGFydEJ1dHRvbkluZGV4XT8uY2xhc3NcIlxyXG4gICAgICBbY2xhc3Muc21lLWJ1dHRvbi1hdXRvLXdpZHRoXT1cImJ1dHRvbkF1dG9XaWR0aFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJjaGVja1N0YXJ0RGlzYWJsZWQoY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgpXCJcclxuICAgICAgKGNsaWNrKT1cIm9uU3RhcnRCdXR0b25DbGljaygpXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0ljb25zXCIgY2xhc3M9XCJzbWUtaWNvblwiIFtjbGFzc109XCJsZWZ0SWNvblwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1wb3NpdGlvbi1mbGV4LWdyb3ctc3RhcnQgc21lLWFycmFuZ2UtZWxsaXBzaXMgc21lLWFjdGlvbi1idXR0b24tdGV4dC1zcGFuXCI+XHJcbiAgICAgICAge3sgYnV0dG9uc1tjdXJyZW50U3RhcnRCdXR0b25JbmRleF0gPyBidXR0b25zW2N1cnJlbnRTdGFydEJ1dHRvbkluZGV4XS5sYWJlbCA6IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuV2l6YXJkLkxpdGUuQWN0aW9ucy5wcmV2aW91cyB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvc3Bhbj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cInNtZS1hcnJhbmdlLXN0YWNrLWhcIiB0YWJJbmRleD1cIjBcIlxyXG4gICAgW2NsYXNzXT1cImJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhdPy5jbGFzc1wiXHJcbiAgICBbY2xhc3Muc21lLWJ1dHRvbi1hdXRvLXdpZHRoXT1cImJ1dHRvbkF1dG9XaWR0aFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiY2hlY2tFbmREaXNhYmxlZChjdXJyZW50U3RhcnRCdXR0b25JbmRleClcIlxyXG4gICAgKGNsaWNrKT1cIm9uRW5kQnV0dG9uQ2xpY2soKVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1wb3NpdGlvbi1mbGV4LWdyb3ctc3RhcnQgc21lLWFycmFuZ2UtZWxsaXBzaXMgc21lLWFjdGlvbi1idXR0b24tdGV4dC1zcGFuXCI+XHJcbiAgICAgIHt7IGJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAyXSA/IGJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAyXS5sYWJlbCA6IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuV2l6YXJkLkxpdGUuQWN0aW9ucy5uZXh0IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzaG93SWNvbnNcIiBjbGFzcz1cInNtZS1pY29uXCIgW2NsYXNzXT1cInJpZ2h0SWNvblwiPjwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLW5hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3dpemFyZC1saXRlL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi93aXphcmQtbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvd2l6YXJkLWxpdGUvd2l6YXJkLW5hdmlnYXRpb24tYnV0dG9uL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDMUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0lDSTFELDBCQUFtRTs7O0lBQTFCLDhCQUFrQjs7O0lBWTdELDBCQUFvRTs7O0lBQTNCLCtCQUFtQjs7QURLaEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGlCQUFpQjtJQXdHbEUsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFwR3BCOztXQUVHO1FBQ0ksb0JBQWUsR0FBaUMsRUFBRSxDQUFDO1FBRW5ELFdBQU0sR0FBRyxLQUFLLENBQUM7UUFLZixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR2pCLGFBQVEsR0FBRyxzQkFBc0IsQ0FBQztRQUdsQyxjQUFTLEdBQUcsdUJBQXVCLENBQUM7UUFHcEMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFnRGIs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Q0FBQzs7aUlBeE1RLCtCQUErQjtpSEFBL0IsK0JBQStCO1FDeEI1Qyw4QkFBNEYsY0FBQSxnQkFBQTtRQU10Riw0R0FBUyx3QkFBb0IsSUFBQztRQUM5QixrRkFBbUU7UUFDbkUsK0JBQW1IO1FBQ2pILFlBQTJJO1FBQUEsaUJBQU8sRUFBQSxFQUFBO1FBR3hKLGlDQUkrQjtRQUE3Qiw0R0FBUyxzQkFBa0IsSUFBQztRQUM1QiwrQkFBbUg7UUFDakgsWUFBK0k7UUFBQSxpQkFBTztRQUN4SixrRkFBb0U7UUFDdEUsaUJBQVMsRUFBQTs7UUFwQjZDLGdEQUFtQztRQUdyRixlQUFpRDtRQUFqRCx1SEFBaUQ7UUFDakQsNERBQStDO1FBQy9DLDhFQUF3RDtRQUVqRCxlQUFlO1FBQWYsb0NBQWU7UUFFcEIsZUFBMkk7UUFBM0kseUxBQTJJO1FBSS9JLGVBQWlEO1FBQWpELHVIQUFpRDtRQUNqRCw0REFBK0M7UUFDL0MsNEVBQXNEO1FBR3BELGVBQStJO1FBQS9JLDZMQUErSTtRQUMxSSxlQUFlO1FBQWYsb0NBQWU7O3VGREtiLCtCQUErQjtjQUozQyxTQUFTOzJCQUNJLDhCQUE4QjsyREFrQmpDLFNBQVM7a0JBRGYsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLGVBQWU7a0JBRHJCLEtBQUs7WUFjSyxPQUFPO2tCQURqQixLQUFLO1lBMENDLGtCQUFrQjtrQkFEeEIsTUFBTTtZQU9BLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2dMZXZlbCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGlhZ25vc3RpY3MvbG9nLWxldmVsJztcclxuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGlhZ25vc3RpY3MvbG9nZ2luZyc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgV2l6YXJkTmF2aWdhdGlvbkJ1dHRvbkRhdGEge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbGFiZWwgZm9yIHRoZSBidXR0b25cclxuICAgICAqL1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzcGFjZSBzZXBhcmF0ZWQgc3RyaW5ncyBmb3IgY2xhc3Nlcy5cclxuICAgICAqIEV4YW1wbGU6ICdzbWUtY2xhc3MtYSBzbWUtY2xhc3MtYicuXHJcbiAgICAgKi9cclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgaWNvblN0YXJ0Pzogc3RyaW5nO1xyXG4gICAgaWNvbkVuZD86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS13aXphcmQtbmF2aWdhdGlvbi1idXR0b24nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3dpemFyZC1uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpemFyZE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCB7XHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdXaXphcmROYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBpbnRlcm5hbCBidXR0b25zIG9iamVjdFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYnV0dG9uc0ludGVybmFsOiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdID0gW107XHJcblxyXG4gICAgcHVibGljIHJlbmRlciA9IGZhbHNlO1xyXG5cclxuICAgIHByaXZhdGUgY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbDogbnVtYmVyO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0ljb25zID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxlZnRJY29uID0gJ3NtZS1pY29uLWNoZXZyb25MZWZ0JztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJpZ2h0SWNvbiA9ICdzbWUtaWNvbi1jaGV2cm9uUmlnaHQnO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYnV0dG9uQXV0b1dpZHRoID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHRlciBidXR0b25zXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXQgYnV0dG9ucygpOiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5idXR0b25zSW50ZXJuYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXR0ZXIgYnV0dG9uc1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBidXR0b25zKGlucHV0OiBXaXphcmROYXZpZ2F0aW9uQnV0dG9uRGF0YVtdKSB7XHJcbiAgICAgICAgaWYgKCFpbnB1dCB8fCBpbnB1dC5sZW5ndGggPCAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgICAgICAgICAgdGhpcy5idXR0b25zSW50ZXJuYWwgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnNJbnRlcm5hbCA9IGlucHV0O1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4SW50ZXJuYWwgPSAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucmVuZGVyID0gdGhpcy5idXR0b25zICYmIHRoaXMuYnV0dG9ucy5sZW5ndGggPj0gMjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHRlciBjdXJyZW50U3RhcnRCdXR0b25JbmRleFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnRTdGFydEJ1dHRvbkluZGV4KCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHRlciBjdXJyZW50U3RhcnRCdXR0b25JbmRleFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0IGN1cnJlbnRTdGFydEJ1dHRvbkluZGV4KGlucHV0OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICBMb2dnaW5nLmxvZyh7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlR3JvdXBIZWFkZXI6ICdXaXphcmROYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50JyxcclxuICAgICAgICAgICAgICAgIGxldmVsOiBMb2dMZXZlbC5FcnJvcixcclxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdub24gbnVtYmVyIGlucHV0IHdhcyBwYXNzZWQgaW4uJyxcclxuICAgICAgICAgICAgICAgIHNvdXJjZTogJ0Jhbm5lckNvbXBvbmVudC5zZXQuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgoKSdcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4SW50ZXJuYWwgPSBpbnB1dDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRTdGFydEluZGV4ID0gLTI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBlbWl0cyB0aGUgc3RhcnQgYnV0dG9uIGNsaWNrZWQgZXZlbnQuXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHN0YXJ0QnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgZW1pdHMgdGhlIGVuZCBidXR0b24gY2xpY2tlZCBldmVudC5cclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgZW5kQnV0dG9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgY2hlY2tzIHRoZSBlbmFibGUvZGlzYWJsZSBzdGF0ZSBmb3IgdGhlIHN0YXJ0IGJ1dHRvblxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBjdXJyZW50IGluZGV4IGZvciB3aXphcmQgc3RhcnQgYnV0dG9uXHJcbiAgICAgKiBAcmV0dXJucyB0cnVlIGZvciBlbmFibGUgYW5kIGZhbHNlIGZvciBkaXNhYmxlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGVja1N0YXJ0RGlzYWJsZWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBjaGVja3MgdGhlIGVuYWJsZS9kaXNhYmxlIHN0YXRlIGZvciB0aGUgZW5kIGJ1dHRvblxyXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBjdXJyZW50IGluZGV4IGZvciB3aXphcmQgZW5kIGJ1dHRvblxyXG4gICAgICogQHJldHVybnMgdHJ1ZSBmb3IgZW5hYmxlIGFuZCBmYWxzZSBmb3IgZGlzYWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hlY2tFbmREaXNhYmxlZChpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IHRoaXMuYnV0dG9ucy5sZW5ndGggLSAyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuXHJcbiAgICAgICAgdGhpcy5jdXJyZW50U3RhcnRCdXR0b25JbmRleEludGVybmFsID0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IHJlc2V0cyB0aGUgY3VycmVudCBzdGFydCBidXR0b24gaW5kZXggdG8gLTIgaWYgbm8gYnV0dG9uIG9iamVjdHMsXHJcbiAgICAgKiBPdGhlcndpc2UgaXQgc2V0cyB0aGUgYnV0dG9uIGluZGV4IHRvIDAuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXNldCgpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYnV0dG9ucy5sZW5ndGggPj0gMikge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID0gMDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXIgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgdXBkYXRlcyB0aGUgY29tcG9uZW50IGJ5IGxhYmVsIG5hbWUsIHRoaXMgaXMgdGllZCB0byBwaXZvdCB0YWIgY29tcG9uZW50IGNsaWNraW5nIGV2ZW50cy5cclxuICAgICAqIEBwYXJhbSBsYWJlbCB0aGUgbGFiZWwgbmFtZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVN0YXJ0SW5kZXhCeUxhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBidXR0b25zID0gdGhpcy5idXR0b25zLm1hcCgoYikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gYi5sYWJlbDtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgYWN0aXZhdGVkQnV0dG9uSW5kZXggPSBidXR0b25zLmluZGV4T2YobGFiZWwpO1xyXG5cclxuICAgICAgICBpZiAoYWN0aXZhdGVkQnV0dG9uSW5kZXggPT09IC0xIHx8IGFjdGl2YXRlZEJ1dHRvbkluZGV4ID49IGJ1dHRvbnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhJbnRlcm5hbCA9IGFjdGl2YXRlZEJ1dHRvbkluZGV4IC0gMTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGhhbmRsZXMgdGhlIHN0YXJ0IGluZGV4IGJ1dHRvbiBjbGlja1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdGFydEJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID4gdGhpcy5kZWZhdWx0U3RhcnRJbmRleCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4IC09IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnN0YXJ0QnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBoYW5kbGVzIHRoZSBlbmQgaW5kZXggYnV0dG9uIGNsaWNrXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkVuZEJ1dHRvbkNsaWNrKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4IDw9IHRoaXMuYnV0dG9ucy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKz0gMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZW5kQnV0dG9uQ2xpY2tlZC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBnZXRzIHRoZSBjdXJyZW50IHN0YXJ0IGluZGV4IGJ1dHRvbiBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50U3RhcnRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1dHRvbkxhYmVsKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXQgZ2V0cyB0aGUgY3VycmVudCBhY3RpdmF0ZWQgYnV0dG9uIGxhYmVsLlxyXG4gICAgICogQHJldHVybnMgdGhlIGxhYmVsIHN0cmluZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEN1cnJlbnRBY3RpdmF0ZWRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEJ1dHRvbkxhYmVsKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAxKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEl0IGdldHMgdGhlIGN1cnJlbnQgZW5kIGluZGV4IGJ1dHRvbiBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRDdXJyZW50RW5kQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRCdXR0b25MYWJlbCh0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ICsgMik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJdCBnZXRzIHRoZSBidXR0b24gbGFiZWwuXHJcbiAgICAgKiBAcGFyYW0gaW5kZXggdGhlIGluZGV4IGZvciBsYWJlbC5cclxuICAgICAqIEByZXR1cm5zIHRoZSBsYWJlbCBzdHJpbmcuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0QnV0dG9uTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggPD0gdGhpcy5kZWZhdWx0U3RhcnRJbmRleCB8fCB0aGlzLmN1cnJlbnRTdGFydEJ1dHRvbkluZGV4ID4gdGhpcy5idXR0b25zLmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uc1tpbmRleF0/LmxhYmVsO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1wb3NpdGlvbi1zdHJldGNoLWhcIiBbY2xhc3Muc21lLWxheW91dC1oaWRkZW5dPVwiIXJlbmRlclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwic21lLXBhZGRpbmctcmlnaHQteHNcIj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiIGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2staFwiIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgIFtjbGFzc109XCJidXR0b25zW2N1cnJlbnRTdGFydEJ1dHRvbkluZGV4XT8uY2xhc3NcIlxyXG4gICAgICBbY2xhc3Muc21lLWJ1dHRvbi1hdXRvLXdpZHRoXT1cImJ1dHRvbkF1dG9XaWR0aFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJjaGVja1N0YXJ0RGlzYWJsZWQoY3VycmVudFN0YXJ0QnV0dG9uSW5kZXgpXCJcclxuICAgICAgKGNsaWNrKT1cIm9uU3RhcnRCdXR0b25DbGljaygpXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwic2hvd0ljb25zXCIgY2xhc3M9XCJzbWUtaWNvblwiIFtjbGFzc109XCJsZWZ0SWNvblwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1wb3NpdGlvbi1mbGV4LWdyb3ctc3RhcnQgc21lLWFycmFuZ2UtZWxsaXBzaXMgc21lLWFjdGlvbi1idXR0b24tdGV4dC1zcGFuXCI+XHJcbiAgICAgICAge3sgYnV0dG9uc1tjdXJyZW50U3RhcnRCdXR0b25JbmRleF0gPyBidXR0b25zW2N1cnJlbnRTdGFydEJ1dHRvbkluZGV4XS5sYWJlbCA6IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuV2l6YXJkLkxpdGUuQWN0aW9ucy5wcmV2aW91cyB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvc3Bhbj5cclxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cInNtZS1hcnJhbmdlLXN0YWNrLWhcIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgW2NsYXNzXT1cImJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXhdPy5jbGFzc1wiXHJcbiAgICBbY2xhc3Muc21lLWJ1dHRvbi1hdXRvLXdpZHRoXT1cImJ1dHRvbkF1dG9XaWR0aFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiY2hlY2tFbmREaXNhYmxlZChjdXJyZW50U3RhcnRCdXR0b25JbmRleClcIlxyXG4gICAgKGNsaWNrKT1cIm9uRW5kQnV0dG9uQ2xpY2soKVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1wb3NpdGlvbi1mbGV4LWdyb3ctc3RhcnQgc21lLWFycmFuZ2UtZWxsaXBzaXMgc21lLWFjdGlvbi1idXR0b24tdGV4dC1zcGFuXCI+XHJcbiAgICAgIHt7IGJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAyXSA/IGJ1dHRvbnNbY3VycmVudFN0YXJ0QnV0dG9uSW5kZXggKyAyXS5sYWJlbCA6IHN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuV2l6YXJkLkxpdGUuQWN0aW9ucy5uZXh0IH19PC9zcGFuPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJzaG93SWNvbnNcIiBjbGFzcz1cInNtZS1pY29uXCIgW2NsYXNzXT1cInJpZ2h0SWNvblwiPjwvc3Bhbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { Directive, ElementRef } from '@angular/core';
2
+ import { ExtensionBroker } from '@microsoft/windows-admin-center-sdk/core/data/extension-broker/extension-broker';
3
+ import { ExtensionClientListener } from '@microsoft/windows-admin-center-sdk/core/data/extension-broker/extension-listener';
4
+ import { Dom } from '@microsoft/windows-admin-center-sdk/core/dom/dom';
5
+ import { Rpc } from '@microsoft/windows-admin-center-sdk/core/rpc/rpc';
6
+ import { of } from 'rxjs';
7
+ import { map } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@microsoft/windows-admin-center-sdk/core/rpc/rpc";
10
+ import * as i2 from "@microsoft/windows-admin-center-sdk/core/data/extension-broker/extension-broker";
11
+ /**
12
+ * Base class for snap in specific extension listeners
13
+ */
14
+ export class SnapInListener extends ExtensionClientListener {
15
+ /**
16
+ * Initializes a new instance of the SnapInListener class
17
+ * @param rpc The rpc context
18
+ */
19
+ constructor(rpc, extensionBroker, hostElement) {
20
+ super(rpc);
21
+ this.extensionBroker = extensionBroker;
22
+ this.hostElement = hostElement;
23
+ }
24
+ ngAfterViewInit() {
25
+ if (this.hostElement) {
26
+ document.body.setAttribute('sme-snap-in', '');
27
+ document.addEventListener('wheel', event => {
28
+ // do not listen to wheel if it is for internal scroll
29
+ // default behavior may try to scroll parent first THEN internal scroll,
30
+ // see if we can update this to match that behavior
31
+ if (!Dom.getOverflowAncestor(this.hostElement.nativeElement)) {
32
+ this.emitOutput({ deltaY: event.deltaY });
33
+ }
34
+ });
35
+ this.hostElement.nativeElement.addEventListener('focusin', (event) => {
36
+ // check if we actually need to do these
37
+ event.preventDefault();
38
+ event.stopPropagation();
39
+ // send info about the current active element
40
+ if (document.activeElement) {
41
+ const focusedElementRect = document.activeElement.getBoundingClientRect();
42
+ this.emitOutput({ focusedElementRect });
43
+ }
44
+ });
45
+ }
46
+ }
47
+ /**
48
+ * Occurs when any method is called on this worker from another extension
49
+ */
50
+ onCall(method, version, ...args) {
51
+ if (method === 'input' && args && args.length > 0 && args[0].length > 0) {
52
+ this.onInputReceived(args[0][0]);
53
+ return of(null);
54
+ }
55
+ return super.throwMethodNotFound(method, version);
56
+ }
57
+ /**
58
+ * Occurs when an input is received on this snap-in
59
+ * @param input the input object.
60
+ */
61
+ onInputReceived(input) {
62
+ this.input = input;
63
+ }
64
+ /**
65
+ * Emits an output to the consumer of this snap-in.
66
+ * @param output the output object.
67
+ */
68
+ emitOutput(output) {
69
+ // TODO: should there be a separate output type for page events?
70
+ // abstract output from consumer by mapping to null.
71
+ return this.extensionBroker.emitResult(this.instanceId, 'output', output)
72
+ .pipe(map(() => null));
73
+ }
74
+ }
75
+ /** @nocollapse */ SnapInListener.ɵfac = function SnapInListener_Factory(t) { return new (t || SnapInListener)(i0.ɵɵdirectiveInject(i1.Rpc), i0.ɵɵdirectiveInject(i2.ExtensionBroker), i0.ɵɵdirectiveInject(i0.ElementRef)); };
76
+ /** @nocollapse */ SnapInListener.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: SnapInListener, features: [i0.ɵɵInheritDefinitionFeature] });
77
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SnapInListener, [{
78
+ type: Directive
79
+ }], function () { return [{ type: i1.Rpc }, { type: i2.ExtensionBroker }, { type: i0.ElementRef }]; }, null); })();
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcC1pbi1saXN0ZW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2RhdGEvZXh0ZW5zaW9uLWJyb2tlci9zbmFwLWluLWxpc3RlbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUZBQWlGLENBQUM7QUFDbEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7QUFDNUgsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWtCckM7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGNBQ2xCLFNBQVEsdUJBQXVCO0lBSS9COzs7T0FHRztJQUNILFlBQVksR0FBUSxFQUFTLGVBQWdDLEVBQVMsV0FBd0I7UUFDMUYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRGMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFOUYsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM5QyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUN2QyxzREFBc0Q7Z0JBQ3RELHdFQUF3RTtnQkFDeEUsbURBQW1EO2dCQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQzFELElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7aUJBQzdDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQzdFLHdDQUF3QztnQkFDeEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBRXhCLDZDQUE2QztnQkFDN0MsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFO29CQUN4QixNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDMUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztpQkFDM0M7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFlLEVBQUUsR0FBRyxJQUFXO1FBQzVELElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sZUFBZSxDQUFDLEtBQWE7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFVBQVUsQ0FBQyxNQUE4QjtRQUMvQyxnRUFBZ0U7UUFDaEUsb0RBQW9EO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDO2FBQ3BFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDOzsrRkFwRWlCLGNBQWM7Z0dBQWQsY0FBYzt1RkFBZCxjQUFjO2NBRG5DLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXh0ZW5zaW9uQnJva2VyIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL2V4dGVuc2lvbi1icm9rZXIvZXh0ZW5zaW9uLWJyb2tlcic7XHJcbmltcG9ydCB7IEV4dGVuc2lvbkNsaWVudExpc3RlbmVyIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL2V4dGVuc2lvbi1icm9rZXIvZXh0ZW5zaW9uLWxpc3RlbmVyJztcclxuaW1wb3J0IHsgRG9tIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kb20vZG9tJztcclxuaW1wb3J0IHsgUnBjIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvcnBjJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLyoqXHJcbiAqIEV4dGVuZCB0aGlzIGludGVyZmFjZSB0byBkZWZpbmUgaW5wdXQgc3RydWN0dXJlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFNuYXBJbklucHV0IHtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4dGVuZCB0aGlzIGludGVyZmFjZSB0byBkZWZpbmUgb3V0cHV0IHN0cnVjdHVyZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTbmFwSW5PdXRwdXQge1xyXG4gICAgZGVsdGFZPzogbnVtYmVyO1xyXG4gICAgZm9jdXNlZEVsZW1lbnRSZWN0PzogRE9NUmVjdDtcclxuICAgIC8vIGFuIG91dHB1dCB2YXJpYWJsZSB0aGF0IHRoZSBzbmFwIGluIGltcGxlbWVudGF0aW9uIGNhbiB1c2UgZm9yIGVtaXR0aW5nIGFuIG91dHB1dCB2YWx1ZSBub3QgcmVsYXRlZCB0byB0aGUgc25hcCBpbiBsaXN0ZW5lclxyXG4gICAgc25hcEluT3V0cHV0PzogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQmFzZSBjbGFzcyBmb3Igc25hcCBpbiBzcGVjaWZpYyBleHRlbnNpb24gbGlzdGVuZXJzXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNuYXBJbkxpc3RlbmVyPFRJbnB1dCBleHRlbmRzIFNuYXBJbklucHV0LCBUT3V0cHV0IGV4dGVuZHMgU25hcEluT3V0cHV0PlxyXG4gICAgZXh0ZW5kcyBFeHRlbnNpb25DbGllbnRMaXN0ZW5lciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAgIHB1YmxpYyBpbnB1dDogVElucHV0O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFNuYXBJbkxpc3RlbmVyIGNsYXNzXHJcbiAgICAgKiBAcGFyYW0gcnBjIFRoZSBycGMgY29udGV4dFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihycGM6IFJwYywgcHVibGljIGV4dGVuc2lvbkJyb2tlcjogRXh0ZW5zaW9uQnJva2VyLCBwdWJsaWMgaG9zdEVsZW1lbnQ/OiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIocnBjKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmhvc3RFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCdzbWUtc25hcC1pbicsICcnKTtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBldmVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBkbyBub3QgbGlzdGVuIHRvIHdoZWVsIGlmIGl0IGlzIGZvciBpbnRlcm5hbCBzY3JvbGxcclxuICAgICAgICAgICAgICAgIC8vIGRlZmF1bHQgYmVoYXZpb3IgbWF5IHRyeSB0byBzY3JvbGwgcGFyZW50IGZpcnN0IFRIRU4gaW50ZXJuYWwgc2Nyb2xsLFxyXG4gICAgICAgICAgICAgICAgLy8gc2VlIGlmIHdlIGNhbiB1cGRhdGUgdGhpcyB0byBtYXRjaCB0aGF0IGJlaGF2aW9yXHJcbiAgICAgICAgICAgICAgICBpZiAoIURvbS5nZXRPdmVyZmxvd0FuY2VzdG9yKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXRPdXRwdXQoeyBkZWx0YVk6IGV2ZW50LmRlbHRhWSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIChldmVudDogRm9jdXNFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgd2UgYWN0dWFsbHkgbmVlZCB0byBkbyB0aGVzZVxyXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHNlbmQgaW5mbyBhYm91dCB0aGUgY3VycmVudCBhY3RpdmUgZWxlbWVudFxyXG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb2N1c2VkRWxlbWVudFJlY3QgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdE91dHB1dCh7IGZvY3VzZWRFbGVtZW50UmVjdCB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2NjdXJzIHdoZW4gYW55IG1ldGhvZCBpcyBjYWxsZWQgb24gdGhpcyB3b3JrZXIgZnJvbSBhbm90aGVyIGV4dGVuc2lvblxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgb25DYWxsKG1ldGhvZDogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnkgfCB2b2lkPiB7XHJcbiAgICAgICAgaWYgKG1ldGhvZCA9PT0gJ2lucHV0JyAmJiBhcmdzICYmIGFyZ3MubGVuZ3RoID4gMCAmJiBhcmdzWzBdLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vbklucHV0UmVjZWl2ZWQoYXJnc1swXVswXSk7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzdXBlci50aHJvd01ldGhvZE5vdEZvdW5kKG1ldGhvZCwgdmVyc2lvbik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPY2N1cnMgd2hlbiBhbiBpbnB1dCBpcyByZWNlaXZlZCBvbiB0aGlzIHNuYXAtaW5cclxuICAgICAqIEBwYXJhbSBpbnB1dCB0aGUgaW5wdXQgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgb25JbnB1dFJlY2VpdmVkKGlucHV0OiBUSW5wdXQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbWl0cyBhbiBvdXRwdXQgdG8gdGhlIGNvbnN1bWVyIG9mIHRoaXMgc25hcC1pbi5cclxuICAgICAqIEBwYXJhbSBvdXRwdXQgdGhlIG91dHB1dCBvYmplY3QuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBlbWl0T3V0cHV0KG91dHB1dDogVE91dHB1dCB8IFNuYXBJbk91dHB1dCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIC8vIFRPRE86IHNob3VsZCB0aGVyZSBiZSBhIHNlcGFyYXRlIG91dHB1dCB0eXBlIGZvciBwYWdlIGV2ZW50cz9cclxuICAgICAgICAvLyBhYnN0cmFjdCBvdXRwdXQgZnJvbSBjb25zdW1lciBieSBtYXBwaW5nIHRvIG51bGwuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZXh0ZW5zaW9uQnJva2VyLmVtaXRSZXN1bHQodGhpcy5pbnN0YW5jZUlkLCAnb3V0cHV0Jywgb3V0cHV0KVxyXG4gICAgICAgICAgICAucGlwZShtYXAoKCkgPT4gbnVsbCkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==