carbon-components-angular 6.0.0-rc.6 → 6.0.0-rc.8

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 (455) hide show
  1. package/accordion/accordion-item.component.d.ts +1 -1
  2. package/accordion/accordion.component.d.ts +1 -1
  3. package/accordion/accordion.module.d.ts +1 -1
  4. package/accordion/index.d.ts +1 -1
  5. package/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  6. package/breadcrumb/breadcrumb-item.interface.d.ts +1 -1
  7. package/breadcrumb/breadcrumb.component.d.ts +1 -1
  8. package/breadcrumb/breadcrumb.module.d.ts +1 -1
  9. package/breadcrumb/index.d.ts +1 -1
  10. package/button/base-icon-button.component.d.ts +1 -1
  11. package/button/button-set.component.d.ts +1 -1
  12. package/button/button.directive.d.ts +1 -1
  13. package/button/button.module.d.ts +1 -1
  14. package/button/button.types.d.ts +1 -1
  15. package/button/icon-button.component.d.ts +1 -1
  16. package/button/index.d.ts +1 -1
  17. package/checkbox/checkbox.component.d.ts +1 -1
  18. package/checkbox/checkbox.module.d.ts +1 -1
  19. package/checkbox/checkbox.types.d.ts +1 -1
  20. package/checkbox/index.d.ts +1 -1
  21. package/code-snippet/code-snippet.component.d.ts +1 -1
  22. package/code-snippet/code-snippet.module.d.ts +1 -1
  23. package/code-snippet/index.d.ts +1 -1
  24. package/combobox/combobox.component.d.ts +1 -1
  25. package/combobox/combobox.module.d.ts +1 -1
  26. package/combobox/index.d.ts +1 -1
  27. package/common/index.d.ts +1 -1
  28. package/common/tab.service.d.ts +1 -1
  29. package/common/utils.d.ts +1 -1
  30. package/contained-list/contained-list-item.component.d.ts +1 -1
  31. package/contained-list/contained-list.component.d.ts +1 -1
  32. package/contained-list/contained-list.enums.d.ts +1 -1
  33. package/contained-list/contained-list.module.d.ts +1 -1
  34. package/contained-list/index.d.ts +1 -1
  35. package/content-switcher/content-switcher-option.directive.d.ts +1 -1
  36. package/content-switcher/content-switcher.component.d.ts +1 -1
  37. package/content-switcher/content-switcher.module.d.ts +1 -1
  38. package/content-switcher/index.d.ts +1 -1
  39. package/context-menu/context-menu-divider.component.d.ts +1 -1
  40. package/context-menu/context-menu-group.component.d.ts +1 -1
  41. package/context-menu/context-menu-item.component.d.ts +1 -1
  42. package/context-menu/context-menu-selection.service.d.ts +1 -1
  43. package/context-menu/context-menu.component.d.ts +1 -1
  44. package/context-menu/context-menu.module.d.ts +1 -1
  45. package/context-menu/index.d.ts +1 -1
  46. package/datepicker/carbon-flatpickr-month-select.d.ts +1 -1
  47. package/datepicker/datepicker.component.d.ts +1 -1
  48. package/datepicker/datepicker.module.d.ts +1 -1
  49. package/datepicker/index.d.ts +1 -1
  50. package/datepicker-input/datepicker-input.component.d.ts +1 -1
  51. package/datepicker-input/datepicker-input.module.d.ts +1 -1
  52. package/datepicker-input/index.d.ts +1 -1
  53. package/dialog/dialog-config.interface.d.ts +1 -1
  54. package/dialog/dialog.component.d.ts +1 -1
  55. package/dialog/dialog.directive.d.ts +1 -1
  56. package/dialog/dialog.module.d.ts +1 -1
  57. package/dialog/dialog.service.d.ts +1 -1
  58. package/dialog/index.d.ts +1 -1
  59. package/dialog/overflow-menu/overflow-menu-custom-pane.component.d.ts +1 -1
  60. package/dialog/overflow-menu/overflow-menu-option.component.d.ts +1 -1
  61. package/dialog/overflow-menu/overflow-menu-pane.component.d.ts +1 -1
  62. package/dialog/overflow-menu/overflow-menu.component.d.ts +1 -1
  63. package/dialog/overflow-menu/overflow-menu.directive.d.ts +1 -1
  64. package/docs/documentation/classes/NumberChange.html +9 -7
  65. package/docs/documentation/components/Accordion.html +19 -13
  66. package/docs/documentation/components/AccordionItem.html +24 -18
  67. package/docs/documentation/components/BaseIconButton.html +48 -10
  68. package/docs/documentation/components/Breadcrumb.html +36 -30
  69. package/docs/documentation/components/BreadcrumbItemComponent.html +37 -23
  70. package/docs/documentation/components/ButtonSet.html +9 -4
  71. package/docs/documentation/components/CodeSnippet.html +19 -17
  72. package/docs/documentation/components/HeaderAction.html +8 -8
  73. package/docs/documentation/components/IconButton.html +42 -36
  74. package/docs/documentation/components/Loading.html +17 -7
  75. package/docs/documentation/components/NumberComponent.html +87 -81
  76. package/docs/documentation/components/OverflowMenu.html +8 -8
  77. package/docs/documentation/components/PasswordInputLabelComponent.html +8 -8
  78. package/docs/documentation/components/ProgressIndicator.html +29 -23
  79. package/docs/documentation/components/Search.html +103 -76
  80. package/docs/documentation/components/TableToolbarSearch.html +48 -48
  81. package/docs/documentation/js/search/search_index.js +2 -2
  82. package/docs/documentation/modules/TagModule/dependencies.svg +37 -37
  83. package/docs/documentation/modules/TagModule.html +37 -37
  84. package/docs/documentation/modules/ThemeModule/dependencies.svg +4 -4
  85. package/docs/documentation/modules/ThemeModule.html +4 -4
  86. package/docs/documentation/modules/TilesModule/dependencies.svg +4 -4
  87. package/docs/documentation/modules/TilesModule.html +4 -4
  88. package/docs/documentation/modules/TimePickerModule/dependencies.svg +38 -34
  89. package/docs/documentation/modules/TimePickerModule.html +38 -34
  90. package/docs/documentation/modules/TimePickerSelectModule/dependencies.svg +21 -21
  91. package/docs/documentation/modules/TimePickerSelectModule.html +21 -21
  92. package/docs/documentation/modules/ToggleModule/dependencies.svg +20 -20
  93. package/docs/documentation/modules/ToggleModule.html +20 -20
  94. package/docs/documentation/modules/ToggletipModule/dependencies.svg +39 -39
  95. package/docs/documentation/modules/ToggletipModule.html +39 -39
  96. package/docs/documentation/modules/TooltipModule/dependencies.svg +28 -28
  97. package/docs/documentation/modules/TooltipModule.html +28 -28
  98. package/docs/documentation/modules/TreeviewModule/dependencies.svg +37 -37
  99. package/docs/documentation/modules/TreeviewModule.html +37 -37
  100. package/docs/documentation/modules/UIShellModule/dependencies.svg +4 -4
  101. package/docs/documentation/modules/UIShellModule.html +4 -4
  102. package/docs/documentation.json +503 -476
  103. package/docs/storybook/1490.191a0115.iframe.bundle.js +1 -0
  104. package/docs/storybook/4046.4e1c20ed.iframe.bundle.js +1 -0
  105. package/docs/storybook/{accordion-accordion-stories.2979c72a.iframe.bundle.js → accordion-accordion-stories.b276db8e.iframe.bundle.js} +1 -1
  106. package/docs/storybook/breadcrumb-breadcrumb-stories.4399f581.iframe.bundle.js +1 -0
  107. package/docs/storybook/button-button-set-stories.11bdafeb.iframe.bundle.js +1 -0
  108. package/docs/storybook/button-button-stories.bccfb06e.iframe.bundle.js +1 -0
  109. package/docs/storybook/button-icon-button-stories.3e476706.iframe.bundle.js +1 -0
  110. package/docs/storybook/code-snippet-code-snippet-stories.f1d14060.iframe.bundle.js +1 -0
  111. package/docs/storybook/contained-list-contained-list-stories.5b14df73.iframe.bundle.js +1 -0
  112. package/docs/storybook/file-uploader-file-uploader-stories.c12a5d13.iframe.bundle.js +1 -0
  113. package/docs/storybook/iframe.html +2 -2
  114. package/docs/storybook/index-stories.d50449dd.iframe.bundle.js +1 -0
  115. package/docs/storybook/input-input-stories.3dcb3ab9.iframe.bundle.js +1 -0
  116. package/docs/storybook/input-password-stories.b547ffdc.iframe.bundle.js +1 -0
  117. package/docs/storybook/input-textarea-stories.240c19ce.iframe.bundle.js +1 -0
  118. package/docs/storybook/loading-loading-stories.dcbc0981.iframe.bundle.js +1 -0
  119. package/docs/storybook/main.2d9c1c80.iframe.bundle.js +1 -0
  120. package/docs/storybook/{number-input-number-stories.b774f231.iframe.bundle.js → number-input-number-stories.3891895c.iframe.bundle.js} +1 -1
  121. package/docs/storybook/patterns-dialogs-modal-with-table-stories.8d1f4031.iframe.bundle.js +1 -0
  122. package/docs/storybook/patterns-forms-multi-step-form-stories.a9bf3d92.iframe.bundle.js +1 -0
  123. package/docs/storybook/patterns-loading-large-loading-stories.4aaa0140.iframe.bundle.js +1 -0
  124. package/docs/storybook/{progress-indicator-progress-indicator-stories.49f55305.iframe.bundle.js → progress-indicator-progress-indicator-stories.6552f219.iframe.bundle.js} +1 -1
  125. package/docs/storybook/project.json +1 -1
  126. package/docs/storybook/{runtime~main.ec2949a5.iframe.bundle.js → runtime~main.e5d4f015.iframe.bundle.js} +1 -1
  127. package/docs/storybook/{search-search-stories.510359a5.iframe.bundle.js → search-search-stories.b3b22d4b.iframe.bundle.js} +1 -1
  128. package/docs/storybook/tiles-expandable-tile-stories.33f75caa.iframe.bundle.js +1 -0
  129. package/docs/storybook/toggletip-toggletip-stories.d2517f7f.iframe.bundle.js +1 -0
  130. package/docs/storybook/ui-shell-ui-shell-stories.a8d71be9.iframe.bundle.js +1 -0
  131. package/dropdown/abstract-dropdown-view.class.d.ts +1 -1
  132. package/dropdown/dropdown.component.d.ts +1 -1
  133. package/dropdown/dropdown.module.d.ts +1 -1
  134. package/dropdown/dropdown.service.d.ts +1 -1
  135. package/dropdown/dropdowntools.d.ts +1 -1
  136. package/dropdown/index.d.ts +1 -1
  137. package/dropdown/list/dropdown-list.component.d.ts +1 -1
  138. package/dropdown/list/scroll-custom-event.interface.d.ts +1 -1
  139. package/dropdown/list-item.interface.d.ts +1 -1
  140. package/dropdown/scrollable-list.directive.d.ts +1 -1
  141. package/esm2022/accordion/accordion-item.component.mjs +4 -4
  142. package/esm2022/accordion/accordion.component.mjs +5 -4
  143. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +15 -6
  144. package/esm2022/breadcrumb/breadcrumb.component.mjs +5 -4
  145. package/esm2022/button/base-icon-button.component.mjs +5 -4
  146. package/esm2022/button/button-set.component.mjs +5 -4
  147. package/esm2022/button/icon-button.component.mjs +5 -4
  148. package/esm2022/code-snippet/code-snippet.component.mjs +7 -10
  149. package/esm2022/loading/loading.component.mjs +5 -4
  150. package/esm2022/number-input/number.component.mjs +5 -4
  151. package/esm2022/progress-indicator/progress-indicator.component.mjs +5 -4
  152. package/esm2022/search/search.component.mjs +10 -7
  153. package/experimental/experimental.module.d.ts +1 -1
  154. package/experimental/experimental.service.d.ts +1 -1
  155. package/experimental/index.d.ts +1 -1
  156. package/fesm2022/carbon-components-angular-accordion.mjs +6 -5
  157. package/fesm2022/carbon-components-angular-accordion.mjs.map +1 -1
  158. package/fesm2022/carbon-components-angular-breadcrumb.mjs +17 -7
  159. package/fesm2022/carbon-components-angular-breadcrumb.mjs.map +1 -1
  160. package/fesm2022/carbon-components-angular-button.mjs +10 -7
  161. package/fesm2022/carbon-components-angular-button.mjs.map +1 -1
  162. package/fesm2022/carbon-components-angular-code-snippet.mjs +6 -9
  163. package/fesm2022/carbon-components-angular-code-snippet.mjs.map +1 -1
  164. package/fesm2022/carbon-components-angular-loading.mjs +4 -3
  165. package/fesm2022/carbon-components-angular-loading.mjs.map +1 -1
  166. package/fesm2022/carbon-components-angular-number-input.mjs +4 -3
  167. package/fesm2022/carbon-components-angular-number-input.mjs.map +1 -1
  168. package/fesm2022/carbon-components-angular-progress-indicator.mjs +4 -3
  169. package/fesm2022/carbon-components-angular-progress-indicator.mjs.map +1 -1
  170. package/fesm2022/carbon-components-angular-search.mjs +9 -6
  171. package/fesm2022/carbon-components-angular-search.mjs.map +1 -1
  172. package/file-uploader/file-item.interface.d.ts +1 -1
  173. package/file-uploader/file-uploader.component.d.ts +1 -1
  174. package/file-uploader/file-uploader.module.d.ts +1 -1
  175. package/file-uploader/file.component.d.ts +1 -1
  176. package/file-uploader/index.d.ts +1 -1
  177. package/forms/forms.module.d.ts +1 -1
  178. package/forms/index.d.ts +1 -1
  179. package/grid/column.directive.d.ts +1 -1
  180. package/grid/grid.directive.d.ts +1 -1
  181. package/grid/grid.module.d.ts +1 -1
  182. package/grid/grid.service.d.ts +1 -1
  183. package/grid/index.d.ts +1 -1
  184. package/grid/row.directive.d.ts +1 -1
  185. package/i18n/en.d.ts +1 -1
  186. package/i18n/i18n.module.d.ts +1 -1
  187. package/i18n/i18n.service.d.ts +1 -1
  188. package/i18n/index.d.ts +1 -1
  189. package/i18n/replace.pipe.d.ts +1 -1
  190. package/icon/icon.directive.d.ts +1 -1
  191. package/icon/icon.module.d.ts +1 -1
  192. package/icon/icon.service.d.ts +1 -1
  193. package/icon/index.d.ts +1 -1
  194. package/icon/public_api.d.ts +1 -1
  195. package/index.d.ts +1 -1
  196. package/inline-loading/index.d.ts +1 -1
  197. package/inline-loading/inline-loading.component.d.ts +1 -1
  198. package/inline-loading/inline-loading.module.d.ts +1 -1
  199. package/input/index.d.ts +1 -1
  200. package/input/input.directive.d.ts +1 -1
  201. package/input/input.module.d.ts +1 -1
  202. package/input/label.component.d.ts +1 -1
  203. package/input/password-input-label.component.d.ts +1 -1
  204. package/input/password.directive.d.ts +1 -1
  205. package/input/text-area.directive.d.ts +1 -1
  206. package/input/text-input-label.component.d.ts +1 -1
  207. package/input/textarea-label.component.d.ts +1 -1
  208. package/layer/index.d.ts +1 -1
  209. package/layer/layer.directive.d.ts +1 -1
  210. package/layer/layer.module.d.ts +1 -1
  211. package/layout/index.d.ts +1 -1
  212. package/layout/layout.module.d.ts +1 -1
  213. package/layout/stack.directive.d.ts +1 -1
  214. package/link/index.d.ts +1 -1
  215. package/link/link-icon.directive.d.ts +1 -1
  216. package/link/link.directive.d.ts +1 -1
  217. package/link/link.module.d.ts +1 -1
  218. package/list/index.d.ts +1 -1
  219. package/list/list-item.directive.d.ts +1 -1
  220. package/list/list.directive.d.ts +1 -1
  221. package/list/list.module.d.ts +1 -1
  222. package/loading/index.d.ts +1 -1
  223. package/loading/loading.component.d.ts +1 -1
  224. package/loading/loading.module.d.ts +1 -1
  225. package/modal/alert-modal.component.d.ts +1 -1
  226. package/modal/alert-modal.interface.d.ts +1 -1
  227. package/modal/base-modal.class.d.ts +1 -1
  228. package/modal/base-modal.service.d.ts +1 -1
  229. package/modal/index.d.ts +1 -1
  230. package/modal/modal-content-text.directive.d.ts +1 -1
  231. package/modal/modal-content.directive.d.ts +1 -1
  232. package/modal/modal-footer.component.d.ts +1 -1
  233. package/modal/modal-header-heading.directive.d.ts +1 -1
  234. package/modal/modal-header-label.directive.d.ts +1 -1
  235. package/modal/modal-header.component.d.ts +1 -1
  236. package/modal/modal.component.d.ts +1 -1
  237. package/modal/modal.module.d.ts +1 -1
  238. package/modal/modal.service.d.ts +1 -1
  239. package/modal/overlay.component.d.ts +1 -1
  240. package/notification/actionable-button.directive.d.ts +1 -1
  241. package/notification/actionable-notification.component.d.ts +1 -1
  242. package/notification/actionable-subtitle.directive.d.ts +1 -1
  243. package/notification/actionable-title.directive.d.ts +1 -1
  244. package/notification/base-notification.component.d.ts +1 -1
  245. package/notification/index.d.ts +1 -1
  246. package/notification/notification-content.interface.d.ts +1 -1
  247. package/notification/notification-display.service.d.ts +1 -1
  248. package/notification/notification-subtitle.directive.d.ts +1 -1
  249. package/notification/notification-title.directive.d.ts +1 -1
  250. package/notification/notification.component.d.ts +1 -1
  251. package/notification/notification.module.d.ts +1 -1
  252. package/notification/notification.service.d.ts +1 -1
  253. package/notification/toast-caption.directive.d.ts +1 -1
  254. package/notification/toast-subtitle.directive.d.ts +1 -1
  255. package/notification/toast-title.directive.d.ts +1 -1
  256. package/notification/toast.component.d.ts +1 -1
  257. package/number-input/index.d.ts +1 -1
  258. package/number-input/number.component.d.ts +1 -1
  259. package/number-input/number.module.d.ts +1 -1
  260. package/package.json +7 -7
  261. package/pagination/index.d.ts +1 -1
  262. package/pagination/pagination-model.class.d.ts +1 -1
  263. package/pagination/pagination-nav/pagination-item.component.d.ts +1 -1
  264. package/pagination/pagination-nav/pagination-nav.component.d.ts +1 -1
  265. package/pagination/pagination-nav/pagination-overflow.component.d.ts +1 -1
  266. package/pagination/pagination.component.d.ts +1 -1
  267. package/pagination/pagination.module.d.ts +1 -1
  268. package/placeholder/index.d.ts +1 -1
  269. package/placeholder/placeholder.component.d.ts +1 -1
  270. package/placeholder/placeholder.module.d.ts +1 -1
  271. package/placeholder/placeholder.service.d.ts +1 -1
  272. package/popover/index.d.ts +1 -1
  273. package/popover/popover-content.component.d.ts +1 -1
  274. package/popover/popover.directive.d.ts +1 -1
  275. package/popover/popover.module.d.ts +1 -1
  276. package/progress-bar/index.d.ts +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +1 -1
  278. package/progress-bar/progress-bar.module.d.ts +1 -1
  279. package/progress-indicator/index.d.ts +1 -1
  280. package/progress-indicator/progress-indicator-step.interface.d.ts +1 -1
  281. package/progress-indicator/progress-indicator.component.d.ts +1 -1
  282. package/progress-indicator/progress-indicator.module.d.ts +1 -1
  283. package/radio/index.d.ts +1 -1
  284. package/radio/radio-change.class.d.ts +1 -1
  285. package/radio/radio-group.component.d.ts +1 -1
  286. package/radio/radio.component.d.ts +1 -1
  287. package/radio/radio.module.d.ts +1 -1
  288. package/search/index.d.ts +1 -1
  289. package/search/search.component.d.ts +4 -3
  290. package/search/search.module.d.ts +1 -1
  291. package/select/index.d.ts +1 -1
  292. package/select/optgroup.directive.d.ts +1 -1
  293. package/select/option.directive.d.ts +1 -1
  294. package/select/select.component.d.ts +1 -1
  295. package/select/select.module.d.ts +1 -1
  296. package/skeleton/index.d.ts +1 -1
  297. package/skeleton/skeleton-placeholder.component.d.ts +1 -1
  298. package/skeleton/skeleton-text.component.d.ts +1 -1
  299. package/skeleton/skeleton.module.d.ts +1 -1
  300. package/slider/index.d.ts +1 -1
  301. package/slider/slider.component.d.ts +1 -1
  302. package/slider/slider.module.d.ts +1 -1
  303. package/structured-list/index.d.ts +1 -1
  304. package/structured-list/list-column.component.d.ts +1 -1
  305. package/structured-list/list-header.component.d.ts +1 -1
  306. package/structured-list/list-row.component.d.ts +1 -1
  307. package/structured-list/structured-list.component.d.ts +1 -1
  308. package/structured-list/structured-list.module.d.ts +1 -1
  309. package/table/body/table-body.component.d.ts +1 -1
  310. package/table/body/table-expanded-row.component.d.ts +1 -1
  311. package/table/body/table-row.component.d.ts +1 -1
  312. package/table/cell/table-checkbox.component.d.ts +1 -1
  313. package/table/cell/table-data.component.d.ts +1 -1
  314. package/table/cell/table-expand-button.component.d.ts +1 -1
  315. package/table/cell/table-radio.component.d.ts +1 -1
  316. package/table/data-grid-interaction-model.class.d.ts +1 -1
  317. package/table/expanded-row-hover.directive.d.ts +1 -1
  318. package/table/head/table-head-cell-label.directive.d.ts +1 -1
  319. package/table/head/table-head-cell.component.d.ts +1 -1
  320. package/table/head/table-head-checkbox.component.d.ts +1 -1
  321. package/table/head/table-head-expand.component.d.ts +1 -1
  322. package/table/head/table-head.component.d.ts +1 -1
  323. package/table/header/table-header-description.directive.d.ts +1 -1
  324. package/table/header/table-header-title.directive.d.ts +1 -1
  325. package/table/header/table-header.component.d.ts +1 -1
  326. package/table/index.d.ts +1 -1
  327. package/table/table-adapter.class.d.ts +1 -1
  328. package/table/table-container.component.d.ts +1 -1
  329. package/table/table-header-item.class.d.ts +1 -1
  330. package/table/table-item.class.d.ts +1 -1
  331. package/table/table-model.class.d.ts +1 -1
  332. package/table/table-row.class.d.ts +1 -1
  333. package/table/table.component.d.ts +1 -1
  334. package/table/table.directive.d.ts +1 -1
  335. package/table/table.module.d.ts +1 -1
  336. package/table/table.types.d.ts +1 -1
  337. package/table/toolbar/table-toolbar-actions.component.d.ts +1 -1
  338. package/table/toolbar/table-toolbar-content.component.d.ts +1 -1
  339. package/table/toolbar/table-toolbar-search.component.d.ts +1 -1
  340. package/table/toolbar/table-toolbar.component.d.ts +1 -1
  341. package/tabs/base-tab-header.component.d.ts +1 -1
  342. package/tabs/index.d.ts +1 -1
  343. package/tabs/tab-header-group.component.d.ts +1 -1
  344. package/tabs/tab-header.directive.d.ts +1 -1
  345. package/tabs/tab-headers.component.d.ts +1 -1
  346. package/tabs/tab-skeleton.component.d.ts +1 -1
  347. package/tabs/tab.component.d.ts +1 -1
  348. package/tabs/tabs.component.d.ts +1 -1
  349. package/tabs/tabs.module.d.ts +1 -1
  350. package/tag/index.d.ts +1 -1
  351. package/tag/tag-filter.component.d.ts +1 -1
  352. package/tag/tag-icon.directive.d.ts +1 -1
  353. package/tag/tag-operational.component.d.ts +1 -1
  354. package/tag/tag-selectable.component.d.ts +1 -1
  355. package/tag/tag.component.d.ts +1 -1
  356. package/tag/tag.module.d.ts +1 -1
  357. package/theme/index.d.ts +1 -1
  358. package/theme/theme.directive.d.ts +1 -1
  359. package/theme/theme.module.d.ts +1 -1
  360. package/tiles/clickable-tile-icon.directive.d.ts +1 -1
  361. package/tiles/clickable-tile.component.d.ts +1 -1
  362. package/tiles/expandable-tile-above.directive.d.ts +1 -1
  363. package/tiles/expandable-tile-below.directive.d.ts +1 -1
  364. package/tiles/expandable-tile.component.d.ts +1 -1
  365. package/tiles/index.d.ts +1 -1
  366. package/tiles/selection-tile.component.d.ts +1 -1
  367. package/tiles/tile-group.component.d.ts +1 -1
  368. package/tiles/tile-selection.interface.d.ts +1 -1
  369. package/tiles/tile.component.d.ts +1 -1
  370. package/tiles/tiles.module.d.ts +1 -1
  371. package/timepicker/index.d.ts +1 -1
  372. package/timepicker/timepicker.component.d.ts +1 -1
  373. package/timepicker/timepicker.module.d.ts +1 -1
  374. package/timepicker-select/index.d.ts +1 -1
  375. package/timepicker-select/timepicker-select.component.d.ts +1 -1
  376. package/timepicker-select/timepicker-select.module.d.ts +1 -1
  377. package/toggle/index.d.ts +1 -1
  378. package/toggle/toggle.component.d.ts +1 -1
  379. package/toggle/toggle.module.d.ts +1 -1
  380. package/toggletip/index.d.ts +1 -1
  381. package/toggletip/toggletip-action.directive.d.ts +1 -1
  382. package/toggletip/toggletip-button.directive.d.ts +1 -1
  383. package/toggletip/toggletip-content.directive.d.ts +1 -1
  384. package/toggletip/toggletip-label.directive.d.ts +1 -1
  385. package/toggletip/toggletip.component.d.ts +1 -1
  386. package/toggletip/toggletip.module.d.ts +1 -1
  387. package/tooltip/definition-tooptip.component.d.ts +1 -1
  388. package/tooltip/index.d.ts +1 -1
  389. package/tooltip/tooltip.component.d.ts +1 -1
  390. package/tooltip/tooltip.interface.d.ts +1 -1
  391. package/tooltip/tooltip.module.d.ts +1 -1
  392. package/treeview/index.d.ts +1 -1
  393. package/treeview/tree-node.component.d.ts +1 -1
  394. package/treeview/tree-node.types.d.ts +1 -1
  395. package/treeview/treeview.component.d.ts +1 -1
  396. package/treeview/treeview.module.d.ts +1 -1
  397. package/treeview/treeview.service.d.ts +1 -1
  398. package/ui-shell/header/hamburger.component.d.ts +1 -1
  399. package/ui-shell/header/header-action.component.d.ts +1 -1
  400. package/ui-shell/header/header-global.component.d.ts +1 -1
  401. package/ui-shell/header/header-item.component.d.ts +1 -1
  402. package/ui-shell/header/header-menu.component.d.ts +1 -1
  403. package/ui-shell/header/header-navigation-items.interface.d.ts +1 -1
  404. package/ui-shell/header/header-navigation.component.d.ts +1 -1
  405. package/ui-shell/header/header.component.d.ts +1 -1
  406. package/ui-shell/header/header.module.d.ts +1 -1
  407. package/ui-shell/index.d.ts +1 -1
  408. package/ui-shell/panel/panel.component.d.ts +1 -1
  409. package/ui-shell/panel/panel.module.d.ts +1 -1
  410. package/ui-shell/panel/switcher-list-item.component.d.ts +1 -1
  411. package/ui-shell/panel/switcher-list.component.d.ts +1 -1
  412. package/ui-shell/sidenav/routerlink-extended.directive.d.ts +1 -1
  413. package/ui-shell/sidenav/sidenav-item.component.d.ts +1 -1
  414. package/ui-shell/sidenav/sidenav-item.interface.d.ts +1 -1
  415. package/ui-shell/sidenav/sidenav-menu.component.d.ts +1 -1
  416. package/ui-shell/sidenav/sidenav.component.d.ts +1 -1
  417. package/ui-shell/sidenav/sidenav.module.d.ts +1 -1
  418. package/ui-shell/ui-shell.module.d.ts +1 -1
  419. package/utils/a11y.d.ts +1 -1
  420. package/utils/animation-frame.service.d.ts +1 -1
  421. package/utils/document.service.d.ts +1 -1
  422. package/utils/element.service.d.ts +1 -1
  423. package/utils/element.types.d.ts +1 -1
  424. package/utils/event-observable.d.ts +1 -1
  425. package/utils/event.service.d.ts +1 -1
  426. package/utils/index.d.ts +1 -1
  427. package/utils/object.d.ts +1 -1
  428. package/utils/position.d.ts +1 -1
  429. package/utils/public_api.d.ts +1 -1
  430. package/utils/scroll.d.ts +1 -1
  431. package/utils/types.d.ts +1 -1
  432. package/utils/utils.d.ts +1 -1
  433. package/utils/utils.module.d.ts +1 -1
  434. package/utils/window-tools.d.ts +1 -1
  435. package/docs/storybook/1490.b48978d9.iframe.bundle.js +0 -1
  436. package/docs/storybook/4046.56c1a81d.iframe.bundle.js +0 -1
  437. package/docs/storybook/breadcrumb-breadcrumb-stories.74ad1122.iframe.bundle.js +0 -1
  438. package/docs/storybook/button-button-set-stories.e8696116.iframe.bundle.js +0 -1
  439. package/docs/storybook/button-button-stories.bf9949fa.iframe.bundle.js +0 -1
  440. package/docs/storybook/button-icon-button-stories.30745878.iframe.bundle.js +0 -1
  441. package/docs/storybook/code-snippet-code-snippet-stories.383aca46.iframe.bundle.js +0 -1
  442. package/docs/storybook/contained-list-contained-list-stories.fe5fb55d.iframe.bundle.js +0 -1
  443. package/docs/storybook/file-uploader-file-uploader-stories.45124847.iframe.bundle.js +0 -1
  444. package/docs/storybook/index-stories.50d5d6ad.iframe.bundle.js +0 -1
  445. package/docs/storybook/input-input-stories.389f7ce5.iframe.bundle.js +0 -1
  446. package/docs/storybook/input-password-stories.f8812630.iframe.bundle.js +0 -1
  447. package/docs/storybook/input-textarea-stories.cc975621.iframe.bundle.js +0 -1
  448. package/docs/storybook/loading-loading-stories.e5ce53a9.iframe.bundle.js +0 -1
  449. package/docs/storybook/main.07778da0.iframe.bundle.js +0 -1
  450. package/docs/storybook/patterns-dialogs-modal-with-table-stories.c77ae337.iframe.bundle.js +0 -1
  451. package/docs/storybook/patterns-forms-multi-step-form-stories.f7a06f1c.iframe.bundle.js +0 -1
  452. package/docs/storybook/patterns-loading-large-loading-stories.0ffe3bf0.iframe.bundle.js +0 -1
  453. package/docs/storybook/tiles-expandable-tile-stories.a62c03dc.iframe.bundle.js +0 -1
  454. package/docs/storybook/toggletip-toggletip-stories.37645232.iframe.bundle.js +0 -1
  455. package/docs/storybook/ui-shell-ui-shell-stories.f8160603.iframe.bundle.js +0 -1
@@ -1,4 +1,4 @@
1
- import { Component, Input } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Base button with common input properties for configuring icon button.
@@ -43,12 +43,13 @@ export class BaseIconButton {
43
43
  this.leaveDelayMs = 300;
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BaseIconButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BaseIconButton, selector: "ng-component", inputs: { caret: "caret", dropShadow: "dropShadow", highContrast: "highContrast", isOpen: "isOpen", align: "align", autoAlign: "autoAlign", enterDelayMs: "enterDelayMs", leaveDelayMs: "leaveDelayMs" }, ngImport: i0, template: "", isInline: true }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BaseIconButton, selector: "ng-component", inputs: { caret: "caret", dropShadow: "dropShadow", highContrast: "highContrast", isOpen: "isOpen", align: "align", autoAlign: "autoAlign", enterDelayMs: "enterDelayMs", leaveDelayMs: "leaveDelayMs" }, ngImport: i0, template: "", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
47
  }
48
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BaseIconButton, decorators: [{
49
49
  type: Component,
50
50
  args: [{
51
- template: ""
51
+ template: "",
52
+ changeDetection: ChangeDetectionStrategy.OnPush
52
53
  }]
53
54
  }], propDecorators: { caret: [{
54
55
  type: Input
@@ -67,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
67
68
  }], leaveDelayMs: [{
68
69
  type: Input
69
70
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pY29uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnV0dG9uL2Jhc2UtaWNvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVqRDs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBSDNCO1FBSUM7O1dBRUc7UUFDTSxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCOztXQUVHO1FBQ00sZUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCOztXQUVHO1FBQ00sV0FBTSxHQUFHLEtBQUssQ0FBQztRQUN4Qjs7V0FFRztRQUNNLFVBQUssR0FHNEIsUUFBUSxDQUFDO1FBQ25EOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0I7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUM1Qjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsR0FBRyxDQUFDO0tBQzVCOytHQXJDWSxjQUFjO21HQUFkLGNBQWMsOFBBRmhCLEVBQUU7OzRGQUVBLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLEVBQUU7aUJBQ1o7OEJBS1MsS0FBSztzQkFBYixLQUFLO2dCQUlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxNQUFNO3NCQUFkLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogQmFzZSBidXR0b24gd2l0aCBjb21tb24gaW5wdXQgcHJvcGVydGllcyBmb3IgY29uZmlndXJpbmcgaWNvbiBidXR0b24uXG4gKiBFeHRlbmQgY2xhc3MgdG8gaW5oZXJpdCBASW5wdXQgbWV0YSBkYXRhXG4gKlxuICogVXNlZCBieSBwYWdpbmF0aW9uIG5hdiBpY29uIGJ1dHRvbiwgY29kZSBzbmlwcGV0LCBldGMuXG4gKi9cbkBDb21wb25lbnQoe1xuXHR0ZW1wbGF0ZTogXCJcIlxufSlcbmV4cG9ydCBjbGFzcyBCYXNlSWNvbkJ1dHRvbiB7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYGZhbHNlYCB0byBoaWRlIGNhcmV0XG5cdCAqL1xuXHRASW5wdXQoKSBjYXJldCA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYGZhbHNlYCB0byBoaWRlIHNoYWRvd1xuXHQgKi9cblx0QElucHV0KCkgZHJvcFNoYWRvdyA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBoaWdoIGNvbnRyYXN0XG5cdCAqL1xuXHRASW5wdXQoKSBoaWdoQ29udHJhc3QgPSB0cnVlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byBoYXZlIHRoZSBwb3BvdmVyIG9wZW4gYnkgZGVmYXVsdFxuXHQgKi9cblx0QElucHV0KCkgaXNPcGVuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXQgcG9wb3ZlciBhbGlnbm1lbnRcblx0ICovXG5cdEBJbnB1dCgpIGFsaWduOiBcInRvcFwiIHwgXCJ0b3AtbGVmdFwiIHwgXCJ0b3AtcmlnaHRcIiB8XG5cdFx0XCJib3R0b21cIiB8IFwiYm90dG9tLWxlZnRcIiB8IFwiYm90dG9tLXJpZ2h0XCIgfFxuXHRcdFwibGVmdFwiIHwgXCJsZWZ0LWJvdHRvbVwiIHwgXCJsZWZ0LXRvcFwiIHxcblx0XHRcInJpZ2h0XCIgfCBcInJpZ2h0LWJvdHRvbVwiIHwgXCJyaWdodC10b3BcIiA9IFwiYm90dG9tXCI7XG5cdC8qKlxuXHQgKiAqKkV4cGVyaW1lbnRhbCoqOiBVc2UgZmxvYXRpbmctdWkgdG8gcG9zaXRpb24gdGhlIHRvb2x0aXBcblx0ICogVGhpcyBpcyBub3QgdG9nZ2xlYWJsZSAtIHNob3VsZCBiZSBhc3NpZ25lZCBvbmNlXG5cdCAqL1xuXHRASW5wdXQoKSBhdXRvQWxpZ24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCBkZWxheSBiZWZvcmUgdG9vbHRpcCBpcyBzaG93blxuXHQgKi9cblx0QElucHV0KCkgZW50ZXJEZWxheU1zID0gMTAwO1xuXHQvKipcblx0ICogU2V0IGRlbGF5IHdoZW4gdG9vbHRpcCBkaXNhcHBlYXJzXG5cdCAqL1xuXHRASW5wdXQoKSBsZWF2ZURlbGF5TXMgPSAzMDA7XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pY29uLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnV0dG9uL2Jhc2UtaWNvbi1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUxRTs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxjQUFjO0lBSjNCO1FBS0M7O1dBRUc7UUFDTSxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCOztXQUVHO1FBQ00sZUFBVSxHQUFHLElBQUksQ0FBQztRQUMzQjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCOztXQUVHO1FBQ00sV0FBTSxHQUFHLEtBQUssQ0FBQztRQUN4Qjs7V0FFRztRQUNNLFVBQUssR0FHNEIsUUFBUSxDQUFDO1FBQ25EOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0I7O1dBRUc7UUFDTSxpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUM1Qjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsR0FBRyxDQUFDO0tBQzVCOytHQXJDWSxjQUFjO21HQUFkLGNBQWMsOFBBSGhCLEVBQUU7OzRGQUdBLGNBQWM7a0JBSjFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DOzhCQUtTLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxVQUFVO3NCQUFsQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsTUFBTTtzQkFBZCxLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBCYXNlIGJ1dHRvbiB3aXRoIGNvbW1vbiBpbnB1dCBwcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyBpY29uIGJ1dHRvbi5cbiAqIEV4dGVuZCBjbGFzcyB0byBpbmhlcml0IEBJbnB1dCBtZXRhIGRhdGFcbiAqXG4gKiBVc2VkIGJ5IHBhZ2luYXRpb24gbmF2IGljb24gYnV0dG9uLCBjb2RlIHNuaXBwZXQsIGV0Yy5cbiAqL1xuQENvbXBvbmVudCh7XG5cdHRlbXBsYXRlOiBcIlwiLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBCYXNlSWNvbkJ1dHRvbiB7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYGZhbHNlYCB0byBoaWRlIGNhcmV0XG5cdCAqL1xuXHRASW5wdXQoKSBjYXJldCA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYGZhbHNlYCB0byBoaWRlIHNoYWRvd1xuXHQgKi9cblx0QElucHV0KCkgZHJvcFNoYWRvdyA9IHRydWU7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBoaWdoIGNvbnRyYXN0XG5cdCAqL1xuXHRASW5wdXQoKSBoaWdoQ29udHJhc3QgPSB0cnVlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byBoYXZlIHRoZSBwb3BvdmVyIG9wZW4gYnkgZGVmYXVsdFxuXHQgKi9cblx0QElucHV0KCkgaXNPcGVuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXQgcG9wb3ZlciBhbGlnbm1lbnRcblx0ICovXG5cdEBJbnB1dCgpIGFsaWduOiBcInRvcFwiIHwgXCJ0b3AtbGVmdFwiIHwgXCJ0b3AtcmlnaHRcIiB8XG5cdFx0XCJib3R0b21cIiB8IFwiYm90dG9tLWxlZnRcIiB8IFwiYm90dG9tLXJpZ2h0XCIgfFxuXHRcdFwibGVmdFwiIHwgXCJsZWZ0LWJvdHRvbVwiIHwgXCJsZWZ0LXRvcFwiIHxcblx0XHRcInJpZ2h0XCIgfCBcInJpZ2h0LWJvdHRvbVwiIHwgXCJyaWdodC10b3BcIiA9IFwiYm90dG9tXCI7XG5cdC8qKlxuXHQgKiAqKkV4cGVyaW1lbnRhbCoqOiBVc2UgZmxvYXRpbmctdWkgdG8gcG9zaXRpb24gdGhlIHRvb2x0aXBcblx0ICogVGhpcyBpcyBub3QgdG9nZ2xlYWJsZSAtIHNob3VsZCBiZSBhc3NpZ25lZCBvbmNlXG5cdCAqL1xuXHRASW5wdXQoKSBhdXRvQWxpZ24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCBkZWxheSBiZWZvcmUgdG9vbHRpcCBpcyBzaG93blxuXHQgKi9cblx0QElucHV0KCkgZW50ZXJEZWxheU1zID0gMTAwO1xuXHQvKipcblx0ICogU2V0IGRlbGF5IHdoZW4gdG9vbHRpcCBkaXNhcHBlYXJzXG5cdCAqL1xuXHRASW5wdXQoKSBsZWF2ZURlbGF5TXMgPSAzMDA7XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, HostBinding } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, HostBinding } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Get started with importing the module:
@@ -14,16 +14,17 @@ export class ButtonSet {
14
14
  this.buttonSetClass = true;
15
15
  }
16
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ButtonSet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ButtonSet, selector: "cds-button-set, ibm-button-set", host: { properties: { "class.cds--btn-set": "this.buttonSetClass" } }, ngImport: i0, template: "<ng-content />", isInline: true }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: ButtonSet, selector: "cds-button-set, ibm-button-set", host: { properties: { "class.cds--btn-set": "this.buttonSetClass" } }, ngImport: i0, template: "<ng-content />", isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
18
  }
19
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ButtonSet, decorators: [{
20
20
  type: Component,
21
21
  args: [{
22
22
  selector: "cds-button-set, ibm-button-set",
23
- template: "<ng-content />"
23
+ template: "<ng-content />",
24
+ changeDetection: ChangeDetectionStrategy.OnPush
24
25
  }]
25
26
  }], propDecorators: { buttonSetClass: [{
26
27
  type: HostBinding,
27
28
  args: ["class.cds--btn-set"]
28
29
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnV0dG9uL2J1dHRvbi1zZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUV2RDs7Ozs7Ozs7R0FRRztBQUtILE1BQU0sT0FBTyxTQUFTO0lBSnRCO1FBS29DLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0tBQ3pEOytHQUZZLFNBQVM7bUdBQVQsU0FBUyw2SUFGWCxnQkFBZ0I7OzRGQUVkLFNBQVM7a0JBSnJCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFLGdCQUFnQjtpQkFDMUI7OEJBRW1DLGNBQWM7c0JBQWhELFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtYnV0dG9uLWJ1dHRvbi1zZXQtLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLWJ1dHRvbi1zZXQsIGlibS1idXR0b24tc2V0XCIsXG5cdHRlbXBsYXRlOiBcIjxuZy1jb250ZW50IC8+XCJcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uU2V0IHtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1idG4tc2V0XCIpIGJ1dHRvblNldENsYXNzID0gdHJ1ZTtcbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXNldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnV0dG9uL2J1dHRvbi1zZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVoRjs7Ozs7Ozs7R0FRRztBQU1ILE1BQU0sT0FBTyxTQUFTO0lBTHRCO1FBTW9DLG1CQUFjLEdBQUcsSUFBSSxDQUFDO0tBQ3pEOytHQUZZLFNBQVM7bUdBQVQsU0FBUyw2SUFIWCxnQkFBZ0I7OzRGQUdkLFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdDQUFnQztvQkFDMUMsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DOzhCQUVtQyxjQUFjO3NCQUFoRCxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1idXR0b24tYnV0dG9uLXNldC0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtYnV0dG9uLXNldCwgaWJtLWJ1dHRvbi1zZXRcIixcblx0dGVtcGxhdGU6IFwiPG5nLWNvbnRlbnQgLz5cIixcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uU2V0IHtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1idG4tc2V0XCIpIGJ1dHRvblNldENsYXNzID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from "@angular/core";
2
2
  import { BaseIconButton } from "./base-icon-button.component";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -139,7 +139,7 @@ export class IconButton extends BaseIconButton {
139
139
  <ng-content />
140
140
  </button>
141
141
  </cds-tooltip>
142
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }] }); }
142
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.Tooltip, selector: "cds-tooltip, ibm-tooltip", inputs: ["id", "enterDelayMs", "leaveDelayMs", "disabled", "description", "templateContext"] }, { kind: "directive", type: i3.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
143
  }
144
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: IconButton, decorators: [{
145
145
  type: Component,
@@ -175,7 +175,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
175
175
  <ng-content />
176
176
  </button>
177
177
  </cds-tooltip>
178
- `
178
+ `,
179
+ changeDetection: ChangeDetectionStrategy.OnPush
179
180
  }]
180
181
  }], ctorParameters: () => [{ type: i0.Renderer2 }], propDecorators: { buttonNgClass: [{
181
182
  type: Input
@@ -209,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
209
210
  }], tooltipClick: [{
210
211
  type: Output
211
212
  }] } });
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQUc5RDs7Ozs7Ozs7R0FRRztBQW1DSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGNBQWM7SUFDN0M7O09BRUc7SUFDSCxJQUFhLGFBQWEsQ0FBQyxHQUErQjtRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELElBQUksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFhLGdCQUFnQixDQUFDLEdBQThCO1FBQzNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLHdCQUF3QjtZQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDL0QsQ0FBQyxDQUFDLENBQUM7WUFDSCxxQkFBcUI7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxD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blx0QWZ0ZXJWaWV3SW5pdCxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdFJlbmRlcmVyMixcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUljb25CdXR0b24gfSBmcm9tIFwiLi9iYXNlLWljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnV0dG9uU2l6ZSwgQnV0dG9uVHlwZSB9IGZyb20gXCIuL2J1dHRvbi50eXBlc1wiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBbU2VlIGRlbW9dKC4uLy4uLz9wYXRoPS9zdG9yeS9jb21wb25lbnRzLWJ1dHRvbi1pY29uLWJ1dHRvbi0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtaWNvbi1idXR0b24sIGlibS1pY29uLWJ1dHRvblwiLFxuXHR0ZW1wbGF0ZTogYFxuXHQ8Y2RzLXRvb2x0aXBcblx0XHRjbGFzcz1cImNkcy0taWNvbi10b29sdGlwXCJcblx0XHRbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25cIlxuXHRcdFtkaXNhYmxlZF09XCJzaG93VG9vbHRpcFdoZW5EaXNhYmxlZCA/IGZhbHNlIDogZGlzYWJsZWRcIlxuXHRcdFtjYXJldF09XCJjYXJldFwiXG5cdFx0W2Ryb3BTaGFkb3ddPVwiZHJvcFNoYWRvd1wiXG5cdFx0W2hpZ2hDb250cmFzdF09XCJoaWdoQ29udHJhc3RcIlxuXHRcdFtpc09wZW5dPVwiaXNPcGVuXCJcblx0XHRbYWxpZ25dPVwiYWxpZ25cIlxuXHRcdFthdXRvQWxpZ25dPVwiYXV0b0FsaWduXCJcblx0XHRbZW50ZXJEZWxheU1zXT1cImVudGVyRGVsYXlNc1wiXG5cdFx0W2xlYXZlRGVsYXlNc109XCJsZWF2ZURlbGF5TXNcIlxuXHRcdChjbGljayk9XCJlbWl0Q2xpY2tFdmVudCgkZXZlbnQsICd0b29sdGlwJylcIj5cblx0XHQ8YnV0dG9uXG5cdFx0XHQjYnV0dG9uXG5cdFx0XHRbaWRdPVwiYnV0dG9uSWRcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFthdHRyLnR5cGVdPVwidHlwZVwiXG5cdFx0XHRbaWNvbk9ubHldPVwidHJ1ZVwiXG5cdFx0XHRbbmdDbGFzc109XCJidXR0b25OZ0NsYXNzXCJcblx0XHRcdFtjZHNCdXR0b25dPVwia2luZFwiXG5cdFx0XHRbc2l6ZV09XCJzaXplXCJcblx0XHRcdFtpc0V4cHJlc3NpdmVdPVwiaXNFeHByZXNzaXZlXCJcblx0XHRcdChjbGljayk9XCJlbWl0Q2xpY2tFdmVudCgkZXZlbnQpXCJcblx0XHRcdChmb2N1cyk9XCJmb2N1cy5lbWl0KCRldmVudClcIlxuXHRcdFx0KGJsdXIpPVwiYmx1ci5lbWl0KCRldmVudClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9idXR0b24+XG5cdDwvY2RzLXRvb2x0aXA+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkJ1dHRvbiBleHRlbmRzIEJhc2VJY29uQnV0dG9uIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cdC8qKlxuXHQgKiBQYXNzIGdsb2JhbCBjYXJib24gY2xhc3NlcyB0byBpY29uIGJ1dHRvblxuXHQgKi9cblx0QElucHV0KCkgc2V0IGJ1dHRvbk5nQ2xhc3Mob2JqOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSkge1xuXHRcdHRoaXMuY2xhc3NMaXN0ID0gT2JqZWN0LmFzc2lnbih7IFwiY2RzLS1idG4tLWRpc2FibGVkXCI6IHRoaXMuZGlzYWJsZWQgfSwgb2JqKTtcblx0fVxuXG5cdGdldCBidXR0b25OZ0NsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmNsYXNzTGlzdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0gb2JqOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1xuXHQgKiBVc2VyIGNhbiBwYXNzIGFkZGl0aW9uYWwgYnV0dG9uIGF0dHJpYnV0ZXMgaWYgY29tcG9uZW50IHByb3BlcnR5IGRvZXMgbm90IGFscmVhZHkgZXhpc3Rcblx0ICogS2V5IGlzIHRoZSBhdHRyaWJ1dGUgbmFtZSAmIHZhbHVlIGlzIHRoZSBhdHRyaWJ1dGUgdmFsdWUgZm9yIHRoZSBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIHNldCBidXR0b25BdHRyaWJ1dGVzKG9iajogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuXHRcdGlmICh0aGlzLmJ1dHRvbikge1xuXHRcdFx0Ly8gUmVtb3ZlIG9sZCBhdHRyaWJ1dGVzXG5cdFx0XHRPYmplY3Qua2V5cyh0aGlzLmF0dHJpYnV0ZUxpc3QpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuYnV0dG9uLm5hdGl2ZUVsZW1lbnQsIGtleSk7XG5cdFx0XHR9KTtcblx0XHRcdC8vIFNldCBuZXcgYXR0cmlidXRlc1xuXHRcdFx0T2JqZWN0LmtleXMob2JqKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50LCBrZXksIG9ialtrZXldKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHQvLyBTZXQgbmV3IGF0dHJpYnV0ZXNcblx0XHR0aGlzLmF0dHJpYnV0ZUxpc3QgPSBvYmo7XG5cdH1cblxuXHRnZXQgYnV0dG9uQXR0cmlidXRlcygpIHtcblx0XHRyZXR1cm4gdGhpcy5idXR0b25BdHRyaWJ1dGVzO1xuXHR9XG5cblx0c3RhdGljIGljb25CdXR0b25Db3VudGVyID0gMDtcblxuXHRAVmlld0NoaWxkKFwiYnV0dG9uXCIpIGJ1dHRvbjogRWxlbWVudFJlZjtcblxuXHQvKipcblx0ICogT3ZlcnJpZGUgaWRcblx0ICovXG5cdEBJbnB1dCgpIGJ1dHRvbklkID0gYGljb24tYnRuLSR7SWNvbkJ1dHRvbi5pY29uQnV0dG9uQ291bnRlcisrfWA7XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBidXR0b24gdHlwZS5cblx0ICovXG5cdEBJbnB1dCgpIGtpbmQ6IEJ1dHRvblR5cGUgPSBcInByaW1hcnlcIjtcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIHNpemUgb2YgdGhlIGJ1dHRvbi5cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IEJ1dHRvblNpemUgPSBcImxnXCI7XG5cdC8qKlxuXHQgKiBTZXQgYnV0dG9uIHR5cGUsIGBidXR0b25gIGJ5IGRlZmF1bHRcblx0ICovXG5cdEBJbnB1dCgpIHR5cGUgPSBcImJ1dHRvblwiO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byBtYWtlIGJ1dHRvbiBleHByZXNzaXZlXG5cdCAqL1xuXHRASW5wdXQoKSBpc0V4cHJlc3NpdmUgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBUaGUgc3RyaW5nIG9yIHRlbXBsYXRlIGNvbnRlbnQgdG8gYmUgZXhwb3NlZCBieSB0aGUgdG9vbHRpcC5cblx0ICovXG5cdEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgc2hvdWxkIGJlIHNob3duIHdoZW4gdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZFxuXHQgKi9cblx0QElucHV0KCkgc2hvd1Rvb2x0aXBXaGVuRGlzYWJsZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ29tbW9uIGJ1dHRvbiBldmVudHNcblx0ICovXG5cdEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cdEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cdEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblx0LyoqXG5cdCAqIEV2ZW50IHRvIGVtaXQgd2hlbiBjbGljayBldmVudCBpcyBmaXJlZCBmcm9tIHRvb2x0aXBcblx0ICovXG5cdEBPdXRwdXQoKSB0b29sdGlwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG5cdHByaXZhdGUgY2xhc3NMaXN0OiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuXHRwcml2YXRlIGF0dHJpYnV0ZUxpc3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdC8vIFNldCBhdHRyaWJ1dGVzIG9uY2UgZWxlbWVudCBpcyBmb3VuZFxuXHRcdHRoaXMuYnV0dG9uQXR0cmlidXRlcyA9IHRoaXMuYXR0cmlidXRlTGlzdDtcblx0fVxuXG5cdC8qKlxuXHQgKiBTdG9wIHByb3BvZ2F0aW9uIG9mIGNsaWNrIGV2ZW50XG5cdCAqIEVsc2UgZG91YmxlIGZpcmVzIChjbGljaykgZXZlbnRcblx0ICovXG5cdGVtaXRDbGlja0V2ZW50KGV2ZW50LCBlbGVtZW50OiBcInRvb2x0aXBcIiB8IFwiYnV0dG9uXCIgPSBcImJ1dHRvblwiKSB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHQvLyBQcmV2ZW50cyAoY2xpY2spIGV2ZW50IGZyb20gYnViYmxpbmcgc2luY2UgaXQgd291bGQgYXBwZWFyIHVzZXIgY2xpY2tlZCB0aGUgYGJ1dHRvbmBcblx0XHRpZiAoZWxlbWVudCA9PT0gXCJ0b29sdGlwXCIpIHtcblx0XHRcdHRoaXMudG9vbHRpcENsaWNrLmVtaXQoZXZlbnQpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHR0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuXHR9XG59XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2J1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFHOUQ7Ozs7Ozs7O0dBUUc7QUFvQ0gsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBQzdDOztPQUVHO0lBQ0gsSUFBYSxhQUFhLENBQUMsR0FBK0I7UUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBYSxnQkFBZ0IsQ0FBQyxHQUE4QjtRQUMzRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQix3QkFBd0I7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7Z0JBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELENBQUMsQ0FBQyxDQUFDO1lBQ0gscUJBQXFCO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7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LFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdFJlbmRlcmVyMixcblx0VGVtcGxhdGVSZWYsXG5cdFZpZXdDaGlsZFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFzZUljb25CdXR0b24gfSBmcm9tIFwiLi9iYXNlLWljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQnV0dG9uU2l6ZSwgQnV0dG9uVHlwZSB9IGZyb20gXCIuL2J1dHRvbi50eXBlc1wiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBbU2VlIGRlbW9dKC4uLy4uLz9wYXRoPS9zdG9yeS9jb21wb25lbnRzLWJ1dHRvbi1pY29uLWJ1dHRvbi0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtaWNvbi1idXR0b24sIGlibS1pY29uLWJ1dHRvblwiLFxuXHR0ZW1wbGF0ZTogYFxuXHQ8Y2RzLXRvb2x0aXBcblx0XHRjbGFzcz1cImNkcy0taWNvbi10b29sdGlwXCJcblx0XHRbZGVzY3JpcHRpb25dPVwiZGVzY3JpcHRpb25cIlxuXHRcdFtkaXNhYmxlZF09XCJzaG93VG9vbHRpcFdoZW5EaXNhYmxlZCA/IGZhbHNlIDogZGlzYWJsZWRcIlxuXHRcdFtjYXJldF09XCJjYXJldFwiXG5cdFx0W2Ryb3BTaGFkb3ddPVwiZHJvcFNoYWRvd1wiXG5cdFx0W2hpZ2hDb250cmFzdF09XCJoaWdoQ29udHJhc3RcIlxuXHRcdFtpc09wZW5dPVwiaXNPcGVuXCJcblx0XHRbYWxpZ25dPVwiYWxpZ25cIlxuXHRcdFthdXRvQWxpZ25dPVwiYXV0b0FsaWduXCJcblx0XHRbZW50ZXJEZWxheU1zXT1cImVudGVyRGVsYXlNc1wiXG5cdFx0W2xlYXZlRGVsYXlNc109XCJsZWF2ZURlbGF5TXNcIlxuXHRcdChjbGljayk9XCJlbWl0Q2xpY2tFdmVudCgkZXZlbnQsICd0b29sdGlwJylcIj5cblx0XHQ8YnV0dG9uXG5cdFx0XHQjYnV0dG9uXG5cdFx0XHRbaWRdPVwiYnV0dG9uSWRcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFthdHRyLnR5cGVdPVwidHlwZVwiXG5cdFx0XHRbaWNvbk9ubHldPVwidHJ1ZVwiXG5cdFx0XHRbbmdDbGFzc109XCJidXR0b25OZ0NsYXNzXCJcblx0XHRcdFtjZHNCdXR0b25dPVwia2luZFwiXG5cdFx0XHRbc2l6ZV09XCJzaXplXCJcblx0XHRcdFtpc0V4cHJlc3NpdmVdPVwiaXNFeHByZXNzaXZlXCJcblx0XHRcdChjbGljayk9XCJlbWl0Q2xpY2tFdmVudCgkZXZlbnQpXCJcblx0XHRcdChmb2N1cyk9XCJmb2N1cy5lbWl0KCRldmVudClcIlxuXHRcdFx0KGJsdXIpPVwiYmx1ci5lbWl0KCRldmVudClcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9idXR0b24+XG5cdDwvY2RzLXRvb2x0aXA+XG5cdGAsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEljb25CdXR0b24gZXh0ZW5kcyBCYXNlSWNvbkJ1dHRvbiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXHQvKipcblx0ICogUGFzcyBnbG9iYWwgY2FyYm9uIGNsYXNzZXMgdG8gaWNvbiBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIHNldCBidXR0b25OZ0NsYXNzKG9iajogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0pIHtcblx0XHR0aGlzLmNsYXNzTGlzdCA9IE9iamVjdC5hc3NpZ24oeyBcImNkcy0tYnRuLS1kaXNhYmxlZFwiOiB0aGlzLmRpc2FibGVkIH0sIG9iaik7XG5cdH1cblxuXHRnZXQgYnV0dG9uTmdDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5jbGFzc0xpc3Q7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIG9iajogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdcblx0ICogVXNlciBjYW4gcGFzcyBhZGRpdGlvbmFsIGJ1dHRvbiBhdHRyaWJ1dGVzIGlmIGNvbXBvbmVudCBwcm9wZXJ0eSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0XG5cdCAqIEtleSBpcyB0aGUgYXR0cmlidXRlIG5hbWUgJiB2YWx1ZSBpcyB0aGUgYXR0cmlidXRlIHZhbHVlIGZvciB0aGUgYnV0dG9uXG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgYnV0dG9uQXR0cmlidXRlcyhvYmo6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcblx0XHRpZiAodGhpcy5idXR0b24pIHtcblx0XHRcdC8vIFJlbW92ZSBvbGQgYXR0cmlidXRlc1xuXHRcdFx0T2JqZWN0LmtleXModGhpcy5hdHRyaWJ1dGVMaXN0KS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0XHR0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmJ1dHRvbi5uYXRpdmVFbGVtZW50LCBrZXkpO1xuXHRcdFx0fSk7XG5cdFx0XHQvLyBTZXQgbmV3IGF0dHJpYnV0ZXNcblx0XHRcdE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5idXR0b24ubmF0aXZlRWxlbWVudCwga2V5LCBvYmpba2V5XSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0Ly8gU2V0IG5ldyBhdHRyaWJ1dGVzXG5cdFx0dGhpcy5hdHRyaWJ1dGVMaXN0ID0gb2JqO1xuXHR9XG5cblx0Z2V0IGJ1dHRvbkF0dHJpYnV0ZXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMuYnV0dG9uQXR0cmlidXRlcztcblx0fVxuXG5cdHN0YXRpYyBpY29uQnV0dG9uQ291bnRlciA9IDA7XG5cblx0QFZpZXdDaGlsZChcImJ1dHRvblwiKSBidXR0b246IEVsZW1lbnRSZWY7XG5cblx0LyoqXG5cdCAqIE92ZXJyaWRlIGlkXG5cdCAqL1xuXHRASW5wdXQoKSBidXR0b25JZCA9IGBpY29uLWJ0bi0ke0ljb25CdXR0b24uaWNvbkJ1dHRvbkNvdW50ZXIrK31gO1xuXHQvKipcblx0ICogU2V0cyB0aGUgYnV0dG9uIHR5cGUuXG5cdCAqL1xuXHRASW5wdXQoKSBraW5kOiBCdXR0b25UeXBlID0gXCJwcmltYXJ5XCI7XG5cdC8qKlxuXHQgKiBTcGVjaWZ5IHRoZSBzaXplIG9mIHRoZSBidXR0b24uXG5cdCAqL1xuXHRASW5wdXQoKSBzaXplOiBCdXR0b25TaXplID0gXCJsZ1wiO1xuXHQvKipcblx0ICogU2V0IGJ1dHRvbiB0eXBlLCBgYnV0dG9uYCBieSBkZWZhdWx0XG5cdCAqL1xuXHRASW5wdXQoKSB0eXBlID0gXCJidXR0b25cIjtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSBidXR0b24gZXhwcmVzc2l2ZVxuXHQgKi9cblx0QElucHV0KCkgaXNFeHByZXNzaXZlID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIGRpc2FibGUgYnV0dG9uXG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogVGhlIHN0cmluZyBvciB0ZW1wbGF0ZSBjb250ZW50IHRvIGJlIGV4cG9zZWQgYnkgdGhlIHRvb2x0aXAuXG5cdCAqL1xuXHRASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSB0b29sdGlwIHNob3VsZCBiZSBzaG93biB3aGVuIHRoZSBidXR0b24gaXMgZGlzYWJsZWRcblx0ICovXG5cdEBJbnB1dCgpIHNob3dUb29sdGlwV2hlbkRpc2FibGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIENvbW1vbiBidXR0b24gZXZlbnRzXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXHRAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXHRAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cdC8qKlxuXHQgKiBFdmVudCB0byBlbWl0IHdoZW4gY2xpY2sgZXZlbnQgaXMgZmlyZWQgZnJvbSB0b29sdGlwXG5cdCAqL1xuXHRAT3V0cHV0KCkgdG9vbHRpcENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuXHRwcml2YXRlIGNsYXNzTGlzdDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcblx0cHJpdmF0ZSBhdHRyaWJ1dGVMaXN0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHQvLyBTZXQgYXR0cmlidXRlcyBvbmNlIGVsZW1lbnQgaXMgZm91bmRcblx0XHR0aGlzLmJ1dHRvbkF0dHJpYnV0ZXMgPSB0aGlzLmF0dHJpYnV0ZUxpc3Q7XG5cdH1cblxuXHQvKipcblx0ICogU3RvcCBwcm9wb2dhdGlvbiBvZiBjbGljayBldmVudFxuXHQgKiBFbHNlIGRvdWJsZSBmaXJlcyAoY2xpY2spIGV2ZW50XG5cdCAqL1xuXHRlbWl0Q2xpY2tFdmVudChldmVudCwgZWxlbWVudDogXCJ0b29sdGlwXCIgfCBcImJ1dHRvblwiID0gXCJidXR0b25cIikge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0Ly8gUHJldmVudHMgKGNsaWNrKSBldmVudCBmcm9tIGJ1YmJsaW5nIHNpbmNlIGl0IHdvdWxkIGFwcGVhciB1c2VyIGNsaWNrZWQgdGhlIGBidXR0b25gXG5cdFx0aWYgKGVsZW1lbnQgPT09IFwidG9vbHRpcFwiKSB7XG5cdFx0XHR0aGlzLnRvb2x0aXBDbGljay5lbWl0KGV2ZW50KTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5jbGljay5lbWl0KGV2ZW50KTtcblx0fVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, HostBinding, ViewChild } from "@angular/core";
1
+ import { Component, Input, HostBinding, ViewChild, ChangeDetectionStrategy } from "@angular/core";
2
2
  import { BaseIconButton } from "carbon-components-angular/button";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "carbon-components-angular/i18n";
@@ -239,9 +239,7 @@ export class CodeSnippet extends BaseIconButton {
239
239
  }
240
240
  }
241
241
  @if (!skeleton) {
242
- <pre #codeContent (scroll)="(display === 'multi' ? handleScroll() : null)">
243
- <code #code><ng-container *ngTemplateOutlet="codeTemplate" /></code>
244
- </pre>
242
+ <pre #codeContent (scroll)="(display === 'multi' ? handleScroll() : null)"><code #code><ng-container *ngTemplateOutlet="codeTemplate" /></code></pre>
245
243
  }
246
244
  </div>
247
245
  @if (hasLeft) {
@@ -308,7 +306,7 @@ export class CodeSnippet extends BaseIconButton {
308
306
  <ng-template #codeTemplate>
309
307
  <ng-content />
310
308
  </ng-template>
311
- `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] }); }
309
+ `, isInline: true, dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.IconButton, selector: "cds-icon-button, ibm-icon-button", inputs: ["buttonNgClass", "buttonAttributes", "buttonId", "kind", "size", "type", "isExpressive", "disabled", "description", "showTooltipWhenDisabled"], outputs: ["click", "focus", "blur", "tooltipClick"] }, { kind: "directive", type: i5.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
312
310
  }
313
311
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CodeSnippet, decorators: [{
314
312
  type: Component,
@@ -348,9 +346,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
348
346
  }
349
347
  }
350
348
  @if (!skeleton) {
351
- <pre #codeContent (scroll)="(display === 'multi' ? handleScroll() : null)">
352
- <code #code><ng-container *ngTemplateOutlet="codeTemplate" /></code>
353
- </pre>
349
+ <pre #codeContent (scroll)="(display === 'multi' ? handleScroll() : null)"><code #code><ng-container *ngTemplateOutlet="codeTemplate" /></code></pre>
354
350
  }
355
351
  </div>
356
352
  @if (hasLeft) {
@@ -417,7 +413,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
417
413
  <ng-template #codeTemplate>
418
414
  <ng-content />
419
415
  </ng-template>
420
- `
416
+ `,
417
+ changeDetection: ChangeDetectionStrategy.OnPush
421
418
  }]
422
419
  }], ctorParameters: () => [{ type: i1.I18n }, { type: i2.EventService }], propDecorators: { snippetClass: [{
423
420
  type: HostBinding,
@@ -483,4 +480,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
483
480
  type: ViewChild,
484
481
  args: ["codeContainer"]
485
482
  }] } });
486
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zbmlwcGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLXNuaXBwZXQvY29kZS1zbmlwcGV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUdULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7OztBQUVsRSxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ3RCLGdDQUFpQixDQUFBO0lBQ2pCLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtBQUNsQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUE0R0gsTUFBTSxPQUFPLFdBQVksU0FBUSxjQUFjO0lBQzlDLElBQXVDLFlBQVk7UUFDbEQsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQStDLGtCQUFrQjtRQUNoRSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBOEMsaUJBQWlCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFpRCxvQkFBb0I7UUFDcEUsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUE4Qyx1QkFBdUI7UUFDcEUsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBNkVEOztPQUVHO0lBQ0gsWUFBc0IsSUFBVSxFQUFZLFlBQTBCO1FBQ3JFLEtB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QkFBd0I7c0JBQWhDLEtBQUs7Z0JBS0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFLRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBSWdELFFBQVE7c0JBQTdELFdBQVc7dUJBQUMsOEJBQThCOztzQkFBRyxLQUFLO2dCQUsxQyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUU4QyxRQUFRO3NCQUEzRCxXQUFXO3VCQUFDLDRCQUE0Qjs7c0JBQUcsS0FBSztnQkFDSixRQUFRO3NCQUFwRCxXQUFXO3VCQUFDLHFCQUFxQjs7c0JBQUcsS0FBSztnQkFHdkIsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQUNTLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDSSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRIb3N0QmluZGluZyxcblx0Vmlld0NoaWxkLFxuXHRBZnRlclZpZXdJbml0LFxuXHRPbkluaXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgSTE4biB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL3V0aWxzXCI7XG5pbXBvcnQgeyBCYXNlSWNvbkJ1dHRvbiB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2J1dHRvblwiO1xuXG5leHBvcnQgZW51bSBTbmlwcGV0VHlwZSB7XG5cdHNpbmdsZSA9IFwic2luZ2xlXCIsXG5cdG11bHRpID0gXCJtdWx0aVwiLFxuXHRpbmxpbmUgPSBcImlubGluZVwiXG59XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBDb2RlU25pcHBldE1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogYGBgaHRtbFxuICogPGNkcy1jb2RlLXNuaXBwZXQ+Q29kZTwvY2RzLWNvZGUtc25pcHBldD5cbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtY29kZS1zbmlwcGV0LS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy1jb2RlLXNuaXBwZXQsIGlibS1jb2RlLXNuaXBwZXRcIixcblx0dGVtcGxhdGU6IGBcblx0XHRAaWYgKGRpc3BsYXkgPT09ICdpbmxpbmUnKSB7XG5cdFx0XHRAaWYgKCFoaWRlQ29weUJ1dHRvbikge1xuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYnV0dG9uVGVtcGxhdGVcIiAvPlxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdDxzcGFuXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLXNuaXBwZXQgY2RzLS1zbmlwcGV0LS1pbmxpbmUgY2RzLS1zbmlwcGV0LS1uby1jb3B5XCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdFx0XHQnY2RzLS1zbmlwcGV0LS1saWdodCc6IHRoZW1lID09PSAnbGlnaHQnXG5cdFx0XHRcdFx0fVwiPlxuXHRcdFx0XHRcdDxjb2RlICNjb2RlPlxuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVUZW1wbGF0ZVwiIC8+XG5cdFx0XHRcdFx0PC9jb2RlPlxuXHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdCNjb2RlQ29udGFpbmVyXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1zbmlwcGV0LWNvbnRhaW5lclwiXG5cdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwidHJhbnNsYXRpb25zLkNPREVfU05JUFBFVF9URVhUXCJcblx0XHRcdFx0W2F0dHIudGFiaW5kZXhdPVwiZGlzcGxheSA9PT0gJ3NpbmdsZScgJiYgIWRpc2FibGVkID8gJzAnIDogbnVsbFwiXG5cdFx0XHRcdFthdHRyLnJvbGVdPVwiZGlzcGxheT09PSdzaW5nbGUnID8gJ3RleHRhcmVhJyA6IG51bGxcIlxuXHRcdFx0XHRbbmdTdHlsZV09XCJzdHlsZXNcIlxuXHRcdFx0XHQoc2Nyb2xsKT1cIihkaXNwbGF5ID09PSAnc2luZ2xlJyA/IGhhbmRsZVNjcm9sbCgpIDogbnVsbClcIj5cblx0XHRcdFx0QGlmIChza2VsZXRvbikge1xuXHRcdFx0XHRcdEBpZiAoZGlzcGxheSA9PT0gJ3NpbmdsZScpIHtcblx0XHRcdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0XHRcdDxzcGFuPjwvc3Bhbj5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0QGlmICghc2tlbGV0b24pIHtcblx0XHRcdFx0XHQ8cHJlICNjb2RlQ29udGVudCAoc2Nyb2xsKT1cIihkaXNwbGF5ID09PSAnbXVsdGknID8gaGFuZGxlU2Nyb2xsKCkgOiBudWxsKVwiPlxuXHRcdFx0XHRcdFx0PGNvZGUgI2NvZGU+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVUZW1wbGF0ZVwiIC8+PC9jb2RlPlxuXHRcdFx0XHRcdDwvcHJlPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdEBpZiAoaGFzTGVmdCkge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY2RzLS1zbmlwcGV0X19vdmVyZmxvdy1pbmRpY2F0b3ItLWxlZnRcIj48L2Rpdj5cblx0XHRcdH1cblx0XHRcdEBpZiAoaGFzUmlnaHQpIHtcblx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tc25pcHBldF9fb3ZlcmZsb3ctaW5kaWNhdG9yLS1yaWdodFwiPjwvZGl2PlxuXHRcdFx0fVxuXHRcdFx0QGlmICghaGlkZUNvcHlCdXR0b24pIHtcblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCIgLz5cblx0XHRcdH1cblx0XHRcdEBpZiAoaXNFeHBhbmRhYmxlKSB7XG5cdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tYnRuIGNkcy0tYnRuLS1naG9zdCBjZHMtLWJ0bi0tc20gY2RzLS1zbmlwcGV0LWJ0bi0tZXhwYW5kXCJcblx0XHRcdFx0XHQoY2xpY2spPVwidG9nZ2xlU25pcHBldEV4cGFuc2lvbigpXCJcblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjZHMtLXNuaXBwZXQtYnRuLS10ZXh0XCI+e3tleHBhbmRlZCA/IHRyYW5zbGF0aW9ucy5TSE9XX0xFU1MgOiB0cmFuc2xhdGlvbnMuU0hPV19NT1JFfX08L3NwYW4+XG5cdFx0XHRcdFx0PHN2ZyBjZHNJY29uPVwiY2hldnJvbi0tZG93blwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1pY29uLWNoZXZyb24tLWRvd25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5TSE9XX01PUkVfSUNPTlwiPjwvc3ZnPlxuXHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdH1cblx0XHR9XG5cblx0XHQ8bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxuXHRcdFx0QGlmICghc2tlbGV0b24pIHtcblx0XHRcdFx0PGNkcy1pY29uLWJ1dHRvblxuXHRcdFx0XHRcdFtkZXNjcmlwdGlvbl09XCJzaG93RmVlZGJhY2sgPyBmZWVkYmFja1RleHQgOiBjb3B5QnV0dG9uRGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFthbGlnbl09XCJhbGlnblwiXG5cdFx0XHRcdFx0W2Ryb3BTaGFkb3ddPVwiZHJvcFNoYWRvd1wiXG5cdFx0XHRcdFx0W2NhcmV0XT1cImNhcmV0XCJcblx0XHRcdFx0XHRbaGlnaENvbnRyYXN0XT1cImhpZ2hDb250cmFzdFwiXG5cdFx0XHRcdFx0W2lzT3Blbl09XCJpc09wZW5cIlxuXHRcdFx0XHRcdFtlbnRlckRlbGF5TXNdPVwiZW50ZXJEZWxheU1zXCJcblx0XHRcdFx0XHRbbGVhdmVEZWxheU1zXT1cImxlYXZlRGVsYXlNc1wiXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0a2luZD1cInByaW1hcnlcIlxuXHRcdFx0XHRcdHNpemU9XCJtZFwiXG5cdFx0XHRcdFx0KGNsaWNrKT1cIm9uQ29weUJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiXG5cdFx0XHRcdFx0W2J1dHRvbk5nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tc25pcHBldC0tbGlnaHQnOiB0aGVtZSA9PT0gJ2xpZ2h0Jyxcblx0XHRcdFx0XHRcdCdjZHMtLXNuaXBwZXQtLWlubGluZSc6IGRpc3BsYXkgPT09ICdpbmxpbmUnLFxuXHRcdFx0XHRcdFx0J2Nkcy0tYnRuLS1pY29uLW9ubHknOiBkaXNwbGF5ICE9PSAnaW5saW5lJyxcblx0XHRcdFx0XHRcdCdjZHMtLWNvcHktYnRuJzogZGlzcGxheSAhPT0gJ2lubGluZScsXG5cdFx0XHRcdFx0XHQnY2RzLS1jb3B5LWJ0bi0tYW5pbWF0aW5nJzogYW5pbWF0aW5nLFxuXHRcdFx0XHRcdFx0J2Nkcy0tY29weS1idG4tLWZhZGUtaW4nOiBzaG93RmVlZGJhY2ssXG5cdFx0XHRcdFx0XHQnY2RzLS1jb3B5LWJ0bi0tZmFkZS1vdXQnOiAhc2hvd0ZlZWRiYWNrICYmIGFuaW1hdGluZyxcblx0XHRcdFx0XHRcdCdjZHMtLXNuaXBwZXQgY2RzLS1jb3B5JzogdHJ1ZVxuXHRcdFx0XHRcdH1cIlxuXHRcdFx0XHRcdFtidXR0b25BdHRyaWJ1dGVzXT1cIntcblx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogdHJhbnNsYXRpb25zLkNPUFlfQ09ERSxcblx0XHRcdFx0XHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHRcdFx0XHRcdCd0YWJpbmRleCc6ICcwJ1xuXHRcdFx0XHRcdH1cIj5cblx0XHRcdFx0XHRAaWYgKGRpc3BsYXkgPT09ICdpbmxpbmUnKSB7XG5cdFx0XHRcdFx0XHQ8Y29kZSAjY29kZT5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVUZW1wbGF0ZVwiIC8+XG5cdFx0XHRcdFx0XHQ8L2NvZGU+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHQ8c3ZnIGNkc0ljb249XCJjb3B5XCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLXNuaXBwZXRfX2ljb25cIj48L3N2Zz5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvY2RzLWljb24tYnV0dG9uPlxuXHRcdFx0fVxuXHRcdDwvbmctdGVtcGxhdGU+XG5cblx0XHQ8bmctdGVtcGxhdGUgI2NvZGVUZW1wbGF0ZT5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBDb2RlU25pcHBldCBleHRlbmRzIEJhc2VJY29uQnV0dG9uIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1zbmlwcGV0XCIpIGdldCBzbmlwcGV0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZGlzcGxheSAhPT0gU25pcHBldFR5cGUuaW5saW5lO1xuXHR9XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldC0tc2luZ2xlXCIpIGdldCBzbmlwcGV0U2luZ2xlQ2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZGlzcGxheSA9PT0gU25pcHBldFR5cGUuc2luZ2xlO1xuXHR9XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldC0tbXVsdGlcIikgZ2V0IHNuaXBwZXRNdWx0aUNsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmRpc3BsYXkgPT09IFNuaXBwZXRUeXBlLm11bHRpO1xuXHR9XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldC0tZGlzYWJsZWRcIikgZ2V0IHNuaXBwZXREaXNhYmxlZENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmRpc3BsYXkgIT09IFwiaW5saW5lXCIgJiYgdGhpcy5kaXNhYmxlZDtcblx0fVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNuaXBwZXQtLWxpZ2h0XCIpIGdldCBzbmlwcGV0SW5saW5lTGlnaHRDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy50aGVtZSA9PT0gXCJsaWdodFwiO1xuXHR9XG5cblx0cmVhZG9ubHkgcm93SGVpZ2h0SW5QaXhlbDogbnVtYmVyID0gMTY7XG5cblx0LyoqXG5cdCAqIEl0IGNhbiBiZSBgXCJzaW5nbGVcImAsIGBcIm11bHRpXCJgIG9yIGBcImlubGluZVwiYFxuXHQgKi9cblx0QElucHV0KCkgZGlzcGxheTogU25pcHBldFR5cGUgPSBTbmlwcGV0VHlwZS5zaW5nbGU7XG5cdEBJbnB1dCgpIHRyYW5zbGF0aW9ucyA9IHRoaXMuaTE4bi5nZXQoKS5DT0RFX1NOSVBQRVQ7XG5cdC8qKlxuXHQgKiBjb3B5IGJ1dHRvbiBkZXNjcmlwdGlvbiB0byBzaG93IG9uIGhvdmVyXG5cdCAqL1xuXHRASW5wdXQoKSBjb3B5QnV0dG9uRGVzY3JpcHRpb246IHN0cmluZztcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gaGlkZSBjb3B5IGJ1dHRvblxuXHQgKi9cblx0QElucHV0KCkgaGlkZUNvcHlCdXR0b24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgdG8gZGlzYWJsZSB0aGUgY29kZSBzbmlwcGV0XG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogU3BlY2lmeSB0aGUgbWF4IG51bWJlciBvZiByb3dzIHRvIHNob3cgd2hlbiBjb2xsYXBzZWRcblx0ICogRGVmYXVsdCBpcyBgMTVgXG5cdCAqL1xuXHRASW5wdXQoKSBtYXhDb2xsYXBzZWROdW1iZXJPZlJvd3MgPSAxNTtcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIG1pbiBudW1iZXIgb2Ygcm93cyB0byBzaG93IHdoZW4gY29sbGFwc2VkXG5cdCAqIERlZmF1bHQgaXMgYDNgXG5cdCAqL1xuXHRASW5wdXQoKSBtaW5Db2xsYXBzZWROdW1iZXJPZlJvd3MgPSAzO1xuXHQvKipcblx0ICogU3BlY2lmeSB0aGUgbWF4IG51bWJlciBvZiByb3dzIHRvIHNob3cgd2hlbiBleHBhbmRlZFxuXHQgKiBEZWZhdWx0IGlzIGAwYCwgaGVuY2UgYWxsIGNvbnRlbnQgd2lsbCBiZSB2aXNpYmxlIHdoZW4gZXhwYW5kZWRcblx0ICovXG5cdEBJbnB1dCgpIG1heEV4cGFuZGVkTnVtYmVyT2ZSb3dzID0gMDtcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIG1pbiBudW1iZXIgb2Ygcm93cyB0byBzaG93IHdoZW4gZXhwYW5kZWRcblx0ICogRGVmYXVsdCBpcyBgMTZgLCBoZW5jZSBoZWlnaHQgb2YgZXhwYW5kZWQgcm93IHdpbGwgYmUgMTYgKiByb3dIZWlnaHRJblBpeGVsICgxNikgPSAgMjU2cHhcblx0ICovXG5cdEBJbnB1dCgpIG1pbkV4cGFuZGVkTnVtYmVyT2ZSb3dzID0gMTY7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIHdyYXAgdGhlIHRleHRcblx0ICovXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldC0td3JhcHRleHRcIikgQElucHV0KCkgd3JhcFRleHQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIEBkZXByZWNhdGVkIHNpbmNlIHY1IC0gVXNlIGBjZHNMYXllcmAgZGlyZWN0aXZlIGluc3RlYWRcblx0ICogU2V0IHRvIGBcImxpZ2h0XCJgIHRvIGFwcGx5IHRoZSBsaWdodCBzdHlsZVxuXHQgKi9cblx0QElucHV0KCkgdGhlbWU6IFwibGlnaHRcIiB8IFwiZGFya1wiID0gXCJkYXJrXCI7XG5cdC8qKlxuXHQgKiBUZXh0IGRpc3BsYXllZCBpbiB0aGUgdG9vbHRpcCB3aGVuIHVzZXIgY2xpY2tzIGJ1dHRvbiB0byBjb3B5IGNvZGUuXG5cdCAqL1xuXHRASW5wdXQoKSBmZWVkYmFja1RleHQgPSB0aGlzLnRyYW5zbGF0aW9ucy5DT1BJRUQ7XG5cdC8qKlxuXHQgKiBUaW1lIGluIG1pbGlzZWNvbmRzIHRvIGtlZXAgdGhlIGZlZWRiYWNrIHRvb2x0aXAgZGlzcGxheWVkLlxuXHQgKiBEZWZhdWx0cyB0byAyIHNlY29uZHNcblx0ICovXG5cdEBJbnB1dCgpIGZlZWRiYWNrVGltZW91dCA9IDIwMDA7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1zbmlwcGV0LS1leHBhbmRcIikgQElucHV0KCkgZXhwYW5kZWQgPSBmYWxzZTtcblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1za2VsZXRvblwiKSBASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuXHRzdHlsZXM6IGFueSA9IHt9O1xuXG5cdEBWaWV3Q2hpbGQoXCJjb2RlXCIpIGNvZGU7XG5cdEBWaWV3Q2hpbGQoXCJjb2RlQ29udGVudFwiKSBjb2RlQ29udGVudDtcblx0QFZpZXdDaGlsZChcImNvZGVDb250YWluZXJcIikgY29kZUNvbnRhaW5lcjtcblxuXHRzaG93RmVlZGJhY2sgPSBmYWxzZTtcblx0YW5pbWF0aW5nID0gZmFsc2U7XG5cdGhhc0V4cGFuZEJ1dHRvbiA9IG51bGw7XG5cdGlzRXhwYW5kYWJsZSA9IGZhbHNlO1xuXHRoYXNSaWdodE92ZXJmbG93ID0gZmFsc2U7XG5cblx0aGFzUmlnaHQgPSBmYWxzZTtcblx0aGFzTGVmdCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIENvZGVTbmlwcGV0LlxuXHQgKi9cblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIGkxOG46IEkxOG4sIHByb3RlY3RlZCBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5kcm9wU2hhZG93ID0gZmFsc2U7XG5cdH1cblxuXHRoYW5kbGVTY3JvbGwoKSB7XG5cdFx0aWYgKHRoaXMuc2tlbGV0b24pIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRsZXQgcmVmO1xuXHRcdHN3aXRjaCAodGhpcy5kaXNwbGF5KSB7XG5cdFx0XHRjYXNlIFwibXVsdGlcIjpcblx0XHRcdFx0cmVmID0gdGhpcy5jb2RlQ29udGVudC5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGNhc2UgXCJzaW5nbGVcIjpcblx0XHRcdFx0cmVmID0gdGhpcy5jb2RlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAocmVmKSB7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHNjcm9sbFdpZHRoLFxuXHRcdFx0XHRjbGllbnRXaWR0aCxcblx0XHRcdFx0c2Nyb2xsTGVmdFxuXHRcdFx0fSA9IHJlZjtcblx0XHRcdGNvbnN0IGhvcml6b250YWxPdmVyZmxvdyA9IHNjcm9sbFdpZHRoID4gY2xpZW50V2lkdGg7XG5cdFx0XHR0aGlzLmhhc0xlZnQgPSBob3Jpem9udGFsT3ZlcmZsb3cgJiYgISFzY3JvbGxMZWZ0O1xuXHRcdFx0dGhpcy5oYXNSaWdodCA9IGhvcml6b250YWxPdmVyZmxvdyAmJiBzY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGggIT09IHNjcm9sbFdpZHRoO1xuXHRcdH1cblx0fVxuXG5cdHRvZ2dsZVNuaXBwZXRFeHBhbnNpb24oKSB7XG5cdFx0dGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXHRcdHRoaXMuY2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0KCk7XG5cdH1cblxuXHRvbkNvcHlCdXR0b25DbGlja2VkKCkge1xuXHRcdGlmICghdGhpcy5kaXNhYmxlZCkge1xuXHRcdFx0d2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmRcblx0XHRcdFx0LndyaXRlVGV4dCh0aGlzLmNvZGUubmF0aXZlRWxlbWVudC5pbm5lclRleHQgfHwgdGhpcy5jb2RlLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuc2hvd0ZlZWRiYWNrID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmFuaW1hdGluZyA9IHRydWU7XG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLnNob3dGZWVkYmFjayA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0dGhpcy5hbmltYXRpbmcgPSBmYWxzZTtcblx0XHRcdFx0XHR9LCB0aGlzLmZlZWRiYWNrVGltZW91dCk7XG5cdFx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuY2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0KCk7XG5cdH1cblxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0dGhpcy5jYW5FeHBhbmQoKTtcblx0XHR0aGlzLmhhbmRsZVNjcm9sbCgpO1xuXHRcdGlmICh3aW5kb3cpIHtcblx0XHRcdHRoaXMuZXZlbnRTZXJ2aWNlLm9uKHdpbmRvdyBhcyBhbnksIFwicmVzaXplXCIsICgpID0+IHtcblx0XHRcdFx0dGhpcy5jYW5FeHBhbmQoKTtcblx0XHRcdFx0dGhpcy5oYW5kbGVTY3JvbGwoKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdGNhbGN1bGF0ZUNvbnRhaW5lckhlaWdodCgpIHtcblx0XHRpZiAodGhpcy5kaXNwbGF5ID09PSBcIm11bHRpXCIgJiYgIXRoaXMuc2tlbGV0b24pIHtcblx0XHRcdHRoaXMuc3R5bGVzID0ge307XG5cdFx0XHRpZiAodGhpcy5leHBhbmRlZCkge1xuXHRcdFx0XHRpZiAodGhpcy5tYXhFeHBhbmRlZE51bWJlck9mUm93cyA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnN0eWxlc1tcIm1heC1oZWlnaHRcIl0gPSBgJHt0aGlzLm1heEV4cGFuZGVkTnVtYmVyT2ZSb3dzICogdGhpcy5yb3dIZWlnaHRJblBpeGVsfXB4YDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5taW5FeHBhbmRlZE51bWJlck9mUm93cyA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnN0eWxlc1tcIm1pbi1oZWlnaHRcIl0gPSBgJHt0aGlzLm1pbkV4cGFuZGVkTnVtYmVyT2ZSb3dzICogdGhpcy5yb3dIZWlnaHRJblBpeGVsfXB4YDtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMubWF4Q29sbGFwc2VkTnVtYmVyT2ZSb3dzID4gMCkge1xuXHRcdFx0XHRcdHRoaXMuc3R5bGVzW1wibWF4LWhlaWdodFwiXSA9IGAke3RoaXMubWF4Q29sbGFwc2VkTnVtYmVyT2ZSb3dzICogdGhpcy5yb3dIZWlnaHRJblBpeGVsfXB4YDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5taW5Db2xsYXBzZWROdW1iZXJPZlJvd3MgPiAwKSB7XG5cdFx0XHRcdFx0dGhpcy5zdHlsZXNbXCJtaW4taGVpZ2h0XCJdID0gYCR7dGhpcy5taW5Db2xsYXBzZWROdW1iZXJPZlJvd3MgKiB0aGlzLnJvd0hlaWdodEluUGl4ZWx9cHhgO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJvdGVjdGVkIGNhbkV4cGFuZCgpIHtcblx0XHRpZiAodGhpcy5kaXNwbGF5ID09PSBcIm11bHRpXCIgJiYgIXRoaXMuc2tlbGV0b24pIHtcblx0XHRcdGNvbnN0IGhlaWdodCA9IHRoaXMuY29kZUNvbnRlbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdHRoaXMubWF4Q29sbGFwc2VkTnVtYmVyT2ZSb3dzID4gMCAmJlxuXHRcdFx0XHQodGhpcy5tYXhFeHBhbmRlZE51bWJlck9mUm93cyA8PSAwIHx8XG5cdFx0XHRcdFx0dGhpcy5tYXhFeHBhbmRlZE51bWJlck9mUm93cyA+IHRoaXMubWF4Q29sbGFwc2VkTnVtYmVyT2ZSb3dzKSAmJlxuXHRcdFx0XHRoZWlnaHQgPiB0aGlzLm1heENvbGxhcHNlZE51bWJlck9mUm93cyAqIHRoaXMucm93SGVpZ2h0SW5QaXhlbFxuXHRcdFx0KSB7XG5cdFx0XHRcdHRoaXMuaXNFeHBhbmRhYmxlID0gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaXNFeHBhbmRhYmxlID0gZmFsc2U7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChcblx0XHRcdFx0dGhpcy5leHBhbmRlZCAmJlxuXHRcdFx0XHR0aGlzLm1pbkV4cGFuZGVkTnVtYmVyT2ZSb3dzID4gMCAmJlxuXHRcdFx0XHRoZWlnaHQgPD0gdGhpcy5taW5FeHBhbmRlZE51bWJlck9mUm93cyAqIHRoaXMucm93SGVpZ2h0SW5QaXhlbFxuXHRcdFx0KSB7XG5cdFx0XHRcdHRoaXMuaXNFeHBhbmRhYmxlID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXX0=
483
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1zbmlwcGV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLXNuaXBwZXQvY29kZS1zbmlwcGV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUdULHVCQUF1QixFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFbEUsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUN0QixnQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBZSxDQUFBO0lBQ2YsZ0NBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQUpXLFdBQVcsS0FBWCxXQUFXLFFBSXRCO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBMkdILE1BQU0sT0FBTyxXQUFZLFNBQVEsY0FBYztJQUM5QyxJQUF1QyxZQUFZO1FBQ2xELE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUErQyxrQkFBa0I7UUFDaEUsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQThDLGlCQUFpQjtRQUM5RCxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBaUQsb0JBQW9CO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBOEMsdUJBQXVCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUM7SUFDL0IsQ0FBQztJQTZFRDs7T0FFRztJQUNILFlBQXNCLElBQVUsRUFBWSxZ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O3NCQUF0QixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFLRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBS0csdUJBQXVCO3NCQUEvQixLQUFLO2dCQUlnRCxRQUFRO3NCQUE3RCxXQUFXO3VCQUFDLDhCQUE4Qjs7c0JBQUcsS0FBSztnQkFLMUMsS0FBSztzQkFBYixLQUFLO2dCQUlHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFFOEMsUUFBUTtzQkFBM0QsV0FBVzt1QkFBQyw0QkFBNEI7O3NCQUFHLEtBQUs7Z0JBQ0osUUFBUTtzQkFBcEQsV0FBVzt1QkFBQyxxQkFBcUI7O3NCQUFHLEtBQUs7Z0JBR3ZCLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTTtnQkFDUyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0ksYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0SG9zdEJpbmRpbmcsXG5cdFZpZXdDaGlsZCxcblx0QWZ0ZXJWaWV3SW5pdCxcblx0T25Jbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneVxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJMThuIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvaTE4blwiO1xuaW1wb3J0IHsgRXZlbnRTZXJ2aWNlIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvdXRpbHNcIjtcbmltcG9ydCB7IEJhc2VJY29uQnV0dG9uIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvYnV0dG9uXCI7XG5cbmV4cG9ydCBlbnVtIFNuaXBwZXRUeXBlIHtcblx0c2luZ2xlID0gXCJzaW5nbGVcIixcblx0bXVsdGkgPSBcIm11bHRpXCIsXG5cdGlubGluZSA9IFwiaW5saW5lXCJcbn1cblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IENvZGVTbmlwcGV0TW9kdWxlIH0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG4gKiBgYGBcbiAqXG4gKiBgYGBodG1sXG4gKiA8Y2RzLWNvZGUtc25pcHBldD5Db2RlPC9jZHMtY29kZS1zbmlwcGV0PlxuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1jb2RlLXNuaXBwZXQtLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLWNvZGUtc25pcHBldCwgaWJtLWNvZGUtc25pcHBldFwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdEBpZiAoZGlzcGxheSA9PT0gJ2lubGluZScpIHtcblx0XHRcdEBpZiAoIWhpZGVDb3B5QnV0dG9uKSB7XG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJidXR0b25UZW1wbGF0ZVwiIC8+XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tc25pcHBldCBjZHMtLXNuaXBwZXQtLWlubGluZSBjZHMtLXNuaXBwZXQtLW5vLWNvcHlcIlxuXHRcdFx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdFx0XHRcdCdjZHMtLXNuaXBwZXQtLWxpZ2h0JzogdGhlbWUgPT09ICdsaWdodCdcblx0XHRcdFx0XHR9XCI+XG5cdFx0XHRcdFx0PGNvZGUgI2NvZGU+XG5cdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29kZVRlbXBsYXRlXCIgLz5cblx0XHRcdFx0XHQ8L2NvZGU+XG5cdFx0XHRcdDwvc3Bhbj5cblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdDxkaXZcblx0XHRcdFx0I2NvZGVDb250YWluZXJcblx0XHRcdFx0Y2xhc3M9XCJjZHMtLXNuaXBwZXQtY29udGFpbmVyXCJcblx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJ0cmFuc2xhdGlvbnMuQ09ERV9TTklQUEVUX1RFWFRcIlxuXHRcdFx0XHRbYXR0ci50YWJpbmRleF09XCJkaXNwbGF5ID09PSAnc2luZ2xlJyAmJiAhZGlzYWJsZWQgPyAnMCcgOiBudWxsXCJcblx0XHRcdFx0W2F0dHIucm9sZV09XCJkaXNwbGF5PT09J3NpbmdsZScgPyAndGV4dGFyZWEnIDogbnVsbFwiXG5cdFx0XHRcdFtuZ1N0eWxlXT1cInN0eWxlc1wiXG5cdFx0XHRcdChzY3JvbGwpPVwiKGRpc3BsYXkgPT09ICdzaW5nbGUnID8gaGFuZGxlU2Nyb2xsKCkgOiBudWxsKVwiPlxuXHRcdFx0XHRAaWYgKHNrZWxldG9uKSB7XG5cdFx0XHRcdFx0QGlmIChkaXNwbGF5ID09PSAnc2luZ2xlJykge1xuXHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgKCFza2VsZXRvbikge1xuXHRcdFx0XHRcdDxwcmUgI2NvZGVDb250ZW50IChzY3JvbGwpPVwiKGRpc3BsYXkgPT09ICdtdWx0aScgPyBoYW5kbGVTY3JvbGwoKSA6IG51bGwpXCI+PGNvZGUgI2NvZGU+PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVUZW1wbGF0ZVwiIC8+PC9jb2RlPjwvcHJlPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdEBpZiAoaGFzTGVmdCkge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY2RzLS1zbmlwcGV0X19vdmVyZmxvdy1pbmRpY2F0b3ItLWxlZnRcIj48L2Rpdj5cblx0XHRcdH1cblx0XHRcdEBpZiAoaGFzUmlnaHQpIHtcblx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tc25pcHBldF9fb3ZlcmZsb3ctaW5kaWNhdG9yLS1yaWdodFwiPjwvZGl2PlxuXHRcdFx0fVxuXHRcdFx0QGlmICghaGlkZUNvcHlCdXR0b24pIHtcblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJ1dHRvblRlbXBsYXRlXCIgLz5cblx0XHRcdH1cblx0XHRcdEBpZiAoaXNFeHBhbmRhYmxlKSB7XG5cdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tYnRuIGNkcy0tYnRuLS1naG9zdCBjZHMtLWJ0bi0tc20gY2RzLS1zbmlwcGV0LWJ0bi0tZXhwYW5kXCJcblx0XHRcdFx0XHQoY2xpY2spPVwidG9nZ2xlU25pcHBldEV4cGFuc2lvbigpXCJcblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCI+XG5cdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJjZHMtLXNuaXBwZXQtYnRuLS10ZXh0XCI+e3tleHBhbmRlZCA/IHRyYW5zbGF0aW9ucy5TSE9XX0xFU1MgOiB0cmFuc2xhdGlvbnMuU0hPV19NT1JFfX08L3NwYW4+XG5cdFx0XHRcdFx0PHN2ZyBjZHNJY29uPVwiY2hldnJvbi0tZG93blwiIHNpemU9XCIxNlwiIGNsYXNzPVwiY2RzLS1pY29uLWNoZXZyb24tLWRvd25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5TSE9XX01PUkVfSUNPTlwiPjwvc3ZnPlxuXHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdH1cblx0XHR9XG5cblx0XHQ8bmctdGVtcGxhdGUgI2J1dHRvblRlbXBsYXRlPlxuXHRcdFx0QGlmICghc2tlbGV0b24pIHtcblx0XHRcdFx0PGNkcy1pY29uLWJ1dHRvblxuXHRcdFx0XHRcdFtkZXNjcmlwdGlvbl09XCJzaG93RmVlZGJhY2sgPyBmZWVkYmFja1RleHQgOiBjb3B5QnV0dG9uRGVzY3JpcHRpb25cIlxuXHRcdFx0XHRcdFthbGlnbl09XCJhbGlnblwiXG5cdFx0XHRcdFx0W2Ryb3BTaGFkb3ddPVwiZHJvcFNoYWRvd1wiXG5cdFx0XHRcdFx0W2NhcmV0XT1cImNhcmV0XCJcblx0XHRcdFx0XHRbaGlnaENvbnRyYXN0XT1cImhpZ2hDb250cmFzdFwiXG5cdFx0XHRcdFx0W2lzT3Blbl09XCJpc09wZW5cIlxuXHRcdFx0XHRcdFtlbnRlckRlbGF5TXNdPVwiZW50ZXJEZWxheU1zXCJcblx0XHRcdFx0XHRbbGVhdmVEZWxheU1zXT1cImxlYXZlRGVsYXlNc1wiXG5cdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0a2luZD1cInByaW1hcnlcIlxuXHRcdFx0XHRcdHNpemU9XCJtZFwiXG5cdFx0XHRcdFx0KGNsaWNrKT1cIm9uQ29weUJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiXG5cdFx0XHRcdFx0W2J1dHRvbk5nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tc25pcHBldC0tbGlnaHQnOiB0aGVtZSA9PT0gJ2xpZ2h0Jyxcblx0XHRcdFx0XHRcdCdjZHMtLXNuaXBwZXQtLWlubGluZSc6IGRpc3BsYXkgPT09ICdpbmxpbmUnLFxuXHRcdFx0XHRcdFx0J2Nkcy0tYnRuLS1pY29uLW9ubHknOiBkaXNwbGF5ICE9PSAnaW5saW5lJyxcblx0XHRcdFx0XHRcdCdjZHMtLWNvcHktYnRuJzogZGlzcGxheSAhPT0gJ2lubGluZScsXG5cdFx0XHRcdFx0XHQnY2RzLS1jb3B5LWJ0bi0tYW5pbWF0aW5nJzogYW5pbWF0aW5nLFxuXHRcdFx0XHRcdFx0J2Nkcy0tY29weS1idG4tLWZhZGUtaW4nOiBzaG93RmVlZGJhY2ssXG5cdFx0XHRcdFx0XHQnY2RzLS1jb3B5LWJ0bi0tZmFkZS1vdXQnOiAhc2hvd0ZlZWRiYWNrICYmIGFuaW1hdGluZyxcblx0XHRcdFx0XHRcdCdjZHMtLXNuaXBwZXQgY2RzLS1jb3B5JzogdHJ1ZVxuXHRcdFx0XHRcdH1cIlxuXHRcdFx0XHRcdFtidXR0b25BdHRyaWJ1dGVzXT1cIntcblx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogdHJhbnNsYXRpb25zLkNPUFlfQ09ERSxcblx0XHRcdFx0XHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHRcdFx0XHRcdCd0YWJpbmRleCc6ICcwJ1xuXHRcdFx0XHRcdH1cIj5cblx0XHRcdFx0XHRAaWYgKGRpc3BsYXkgPT09ICdpbmxpbmUnKSB7XG5cdFx0XHRcdFx0XHQ8Y29kZSAjY29kZT5cblx0XHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvZGVUZW1wbGF0ZVwiIC8+XG5cdFx0XHRcdFx0XHQ8L2NvZGU+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHQ8c3ZnIGNkc0ljb249XCJjb3B5XCIgc2l6ZT1cIjE2XCIgY2xhc3M9XCJjZHMtLXNuaXBwZXRfX2ljb25cIj48L3N2Zz5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvY2RzLWljb24tYnV0dG9uPlxuXHRcdFx0fVxuXHRcdDwvbmctdGVtcGxhdGU+XG5cblx0XHQ8bmctdGVtcGxhdGUgI2NvZGVUZW1wbGF0ZT5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZy10ZW1wbGF0ZT5cblx0YCxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ29kZVNuaXBwZXQgZXh0ZW5kcyBCYXNlSWNvbkJ1dHRvbiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldFwiKSBnZXQgc25pcHBldENsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmRpc3BsYXkgIT09IFNuaXBwZXRUeXBlLmlubGluZTtcblx0fVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNuaXBwZXQtLXNpbmdsZVwiKSBnZXQgc25pcHBldFNpbmdsZUNsYXNzKCkge1xuXHRcdHJldHVybiB0aGlzLmRpc3BsYXkgPT09IFNuaXBwZXRUeXBlLnNpbmdsZTtcblx0fVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNuaXBwZXQtLW11bHRpXCIpIGdldCBzbmlwcGV0TXVsdGlDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5kaXNwbGF5ID09PSBTbmlwcGV0VHlwZS5tdWx0aTtcblx0fVxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNuaXBwZXQtLWRpc2FibGVkXCIpIGdldCBzbmlwcGV0RGlzYWJsZWRDbGFzcygpIHtcblx0XHRyZXR1cm4gdGhpcy5kaXNwbGF5ICE9PSBcImlubGluZVwiICYmIHRoaXMuZGlzYWJsZWQ7XG5cdH1cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1zbmlwcGV0LS1saWdodFwiKSBnZXQgc25pcHBldElubGluZUxpZ2h0Q2xhc3MoKSB7XG5cdFx0cmV0dXJuIHRoaXMudGhlbWUgPT09IFwibGlnaHRcIjtcblx0fVxuXG5cdHJlYWRvbmx5IHJvd0hlaWdodEluUGl4ZWw6IG51bWJlciA9IDE2O1xuXG5cdC8qKlxuXHQgKiBJdCBjYW4gYmUgYFwic2luZ2xlXCJgLCBgXCJtdWx0aVwiYCBvciBgXCJpbmxpbmVcImBcblx0ICovXG5cdEBJbnB1dCgpIGRpc3BsYXk6IFNuaXBwZXRUeXBlID0gU25pcHBldFR5cGUuc2luZ2xlO1xuXHRASW5wdXQoKSB0cmFuc2xhdGlvbnMgPSB0aGlzLmkxOG4uZ2V0KCkuQ09ERV9TTklQUEVUO1xuXHQvKipcblx0ICogY29weSBidXR0b24gZGVzY3JpcHRpb24gdG8gc2hvdyBvbiBob3ZlclxuXHQgKi9cblx0QElucHV0KCkgY29weUJ1dHRvbkRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIGhpZGUgY29weSBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIGhpZGVDb3B5QnV0dG9uID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIGRpc2FibGUgdGhlIGNvZGUgc25pcHBldFxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIG1heCBudW1iZXIgb2Ygcm93cyB0byBzaG93IHdoZW4gY29sbGFwc2VkXG5cdCAqIERlZmF1bHQgaXMgYDE1YFxuXHQgKi9cblx0QElucHV0KCkgbWF4Q29sbGFwc2VkTnVtYmVyT2ZSb3dzID0gMTU7XG5cdC8qKlxuXHQgKiBTcGVjaWZ5IHRoZSBtaW4gbnVtYmVyIG9mIHJvd3MgdG8gc2hvdyB3aGVuIGNvbGxhcHNlZFxuXHQgKiBEZWZhdWx0IGlzIGAzYFxuXHQgKi9cblx0QElucHV0KCkgbWluQ29sbGFwc2VkTnVtYmVyT2ZSb3dzID0gMztcblx0LyoqXG5cdCAqIFNwZWNpZnkgdGhlIG1heCBudW1iZXIgb2Ygcm93cyB0byBzaG93IHdoZW4gZXhwYW5kZWRcblx0ICogRGVmYXVsdCBpcyBgMGAsIGhlbmNlIGFsbCBjb250ZW50IHdpbGwgYmUgdmlzaWJsZSB3aGVuIGV4cGFuZGVkXG5cdCAqL1xuXHRASW5wdXQoKSBtYXhFeHBhbmRlZE51bWJlck9mUm93cyA9IDA7XG5cdC8qKlxuXHQgKiBTcGVjaWZ5IHRoZSBtaW4gbnVtYmVyIG9mIHJvd3MgdG8gc2hvdyB3aGVuIGV4cGFuZGVkXG5cdCAqIERlZmF1bHQgaXMgYDE2YCwgaGVuY2UgaGVpZ2h0IG9mIGV4cGFuZGVkIHJvdyB3aWxsIGJlIDE2ICogcm93SGVpZ2h0SW5QaXhlbCAoMTYpID0gIDI1NnB4XG5cdCAqL1xuXHRASW5wdXQoKSBtaW5FeHBhbmRlZE51bWJlck9mUm93cyA9IDE2O1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byB3cmFwIHRoZSB0ZXh0XG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNuaXBwZXQtLXdyYXB0ZXh0XCIpIEBJbnB1dCgpIHdyYXBUZXh0ID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBAZGVwcmVjYXRlZCBzaW5jZSB2NSAtIFVzZSBgY2RzTGF5ZXJgIGRpcmVjdGl2ZSBpbnN0ZWFkXG5cdCAqIFNldCB0byBgXCJsaWdodFwiYCB0byBhcHBseSB0aGUgbGlnaHQgc3R5bGVcblx0ICovXG5cdEBJbnB1dCgpIHRoZW1lOiBcImxpZ2h0XCIgfCBcImRhcmtcIiA9IFwiZGFya1wiO1xuXHQvKipcblx0ICogVGV4dCBkaXNwbGF5ZWQgaW4gdGhlIHRvb2x0aXAgd2hlbiB1c2VyIGNsaWNrcyBidXR0b24gdG8gY29weSBjb2RlLlxuXHQgKi9cblx0QElucHV0KCkgZmVlZGJhY2tUZXh0ID0gdGhpcy50cmFuc2xhdGlvbnMuQ09QSUVEO1xuXHQvKipcblx0ICogVGltZSBpbiBtaWxpc2Vjb25kcyB0byBrZWVwIHRoZSBmZWVkYmFjayB0b29sdGlwIGRpc3BsYXllZC5cblx0ICogRGVmYXVsdHMgdG8gMiBzZWNvbmRzXG5cdCAqL1xuXHRASW5wdXQoKSBmZWVkYmFja1RpbWVvdXQgPSAyMDAwO1xuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc25pcHBldC0tZXhwYW5kXCIpIEBJbnB1dCgpIGV4cGFuZGVkID0gZmFsc2U7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc2tlbGV0b25cIikgQElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblx0c3R5bGVzOiBhbnkgPSB7fTtcblxuXHRAVmlld0NoaWxkKFwiY29kZVwiKSBjb2RlO1xuXHRAVmlld0NoaWxkKFwiY29kZUNvbnRlbnRcIikgY29kZUNvbnRlbnQ7XG5cdEBWaWV3Q2hpbGQoXCJjb2RlQ29udGFpbmVyXCIpIGNvZGVDb250YWluZXI7XG5cblx0c2hvd0ZlZWRiYWNrID0gZmFsc2U7XG5cdGFuaW1hdGluZyA9IGZhbHNlO1xuXHRoYXNFeHBhbmRCdXR0b24gPSBudWxsO1xuXHRpc0V4cGFuZGFibGUgPSBmYWxzZTtcblx0aGFzUmlnaHRPdmVyZmxvdyA9IGZhbHNlO1xuXG5cdGhhc1JpZ2h0ID0gZmFsc2U7XG5cdGhhc0xlZnQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBDb2RlU25pcHBldC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpMThuOiBJMThuLCBwcm90ZWN0ZWQgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UpIHtcblx0XHRzdXBlcigpO1xuXHRcdHRoaXMuZHJvcFNoYWRvdyA9IGZhbHNlO1xuXHR9XG5cblx0aGFuZGxlU2Nyb2xsKCkge1xuXHRcdGlmICh0aGlzLnNrZWxldG9uKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0bGV0IHJlZjtcblx0XHRzd2l0Y2ggKHRoaXMuZGlzcGxheSkge1xuXHRcdFx0Y2FzZSBcIm11bHRpXCI6XG5cdFx0XHRcdHJlZiA9IHRoaXMuY29kZUNvbnRlbnQubmF0aXZlRWxlbWVudDtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlIFwic2luZ2xlXCI6XG5cdFx0XHRcdHJlZiA9IHRoaXMuY29kZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKHJlZikge1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRzY3JvbGxXaWR0aCxcblx0XHRcdFx0Y2xpZW50V2lkdGgsXG5cdFx0XHRcdHNjcm9sbExlZnRcblx0XHRcdH0gPSByZWY7XG5cdFx0XHRjb25zdCBob3Jpem9udGFsT3ZlcmZsb3cgPSBzY3JvbGxXaWR0aCA+IGNsaWVudFdpZHRoO1xuXHRcdFx0dGhpcy5oYXNMZWZ0ID0gaG9yaXpvbnRhbE92ZXJmbG93ICYmICEhc2Nyb2xsTGVmdDtcblx0XHRcdHRoaXMuaGFzUmlnaHQgPSBob3Jpem9udGFsT3ZlcmZsb3cgJiYgc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoICE9PSBzY3JvbGxXaWR0aDtcblx0XHR9XG5cdH1cblxuXHR0b2dnbGVTbmlwcGV0RXhwYW5zaW9uKCkge1xuXHRcdHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcblx0XHR0aGlzLmNhbGN1bGF0ZUNvbnRhaW5lckhlaWdodCgpO1xuXHR9XG5cblx0b25Db3B5QnV0dG9uQ2xpY2tlZCgpIHtcblx0XHRpZiAoIXRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHdpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkXG5cdFx0XHRcdC53cml0ZVRleHQodGhpcy5jb2RlLm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0IHx8IHRoaXMuY29kZS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50KS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dGZWVkYmFjayA9IHRydWU7XG5cdFx0XHRcdFx0dGhpcy5hbmltYXRpbmcgPSB0cnVlO1xuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5zaG93RmVlZGJhY2sgPSBmYWxzZTtcblx0XHRcdFx0XHRcdHRoaXMuYW5pbWF0aW5nID0gZmFsc2U7XG5cdFx0XHRcdFx0fSwgdGhpcy5mZWVkYmFja1RpbWVvdXQpO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLmNhbGN1bGF0ZUNvbnRhaW5lckhlaWdodCgpO1xuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdHRoaXMuY2FuRXhwYW5kKCk7XG5cdFx0dGhpcy5oYW5kbGVTY3JvbGwoKTtcblx0XHRpZiAod2luZG93KSB7XG5cdFx0XHR0aGlzLmV2ZW50U2VydmljZS5vbih3aW5kb3cgYXMgYW55LCBcInJlc2l6ZVwiLCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2FuRXhwYW5kKCk7XG5cdFx0XHRcdHRoaXMuaGFuZGxlU2Nyb2xsKCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRjYWxjdWxhdGVDb250YWluZXJIZWlnaHQoKSB7XG5cdFx0aWYgKHRoaXMuZGlzcGxheSA9PT0gXCJtdWx0aVwiICYmICF0aGlzLnNrZWxldG9uKSB7XG5cdFx0XHR0aGlzLnN0eWxlcyA9IHt9O1xuXHRcdFx0aWYgKHRoaXMuZXhwYW5kZWQpIHtcblx0XHRcdFx0aWYgKHRoaXMubWF4RXhwYW5kZWROdW1iZXJPZlJvd3MgPiAwKSB7XG5cdFx0XHRcdFx0dGhpcy5zdHlsZXNbXCJtYXgtaGVpZ2h0XCJdID0gYCR7dGhpcy5tYXhFeHBhbmRlZE51bWJlck9mUm93cyAqIHRoaXMucm93SGVpZ2h0SW5QaXhlbH1weGA7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMubWluRXhwYW5kZWROdW1iZXJPZlJvd3MgPiAwKSB7XG5cdFx0XHRcdFx0dGhpcy5zdHlsZXNbXCJtaW4taGVpZ2h0XCJdID0gYCR7dGhpcy5taW5FeHBhbmRlZE51bWJlck9mUm93cyAqIHRoaXMucm93SGVpZ2h0SW5QaXhlbH1weGA7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLm1heENvbGxhcHNlZE51bWJlck9mUm93cyA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnN0eWxlc1tcIm1heC1oZWlnaHRcIl0gPSBgJHt0aGlzLm1heENvbGxhcHNlZE51bWJlck9mUm93cyAqIHRoaXMucm93SGVpZ2h0SW5QaXhlbH1weGA7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMubWluQ29sbGFwc2VkTnVtYmVyT2ZSb3dzID4gMCkge1xuXHRcdFx0XHRcdHRoaXMuc3R5bGVzW1wibWluLWhlaWdodFwiXSA9IGAke3RoaXMubWluQ29sbGFwc2VkTnVtYmVyT2ZSb3dzICogdGhpcy5yb3dIZWlnaHRJblBpeGVsfXB4YDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByb3RlY3RlZCBjYW5FeHBhbmQoKSB7XG5cdFx0aWYgKHRoaXMuZGlzcGxheSA9PT0gXCJtdWx0aVwiICYmICF0aGlzLnNrZWxldG9uKSB7XG5cdFx0XHRjb25zdCBoZWlnaHQgPSB0aGlzLmNvZGVDb250ZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xuXHRcdFx0aWYgKFxuXHRcdFx0XHR0aGlzLm1heENvbGxhcHNlZE51bWJlck9mUm93cyA+IDAgJiZcblx0XHRcdFx0KHRoaXMubWF4RXhwYW5kZWROdW1iZXJPZlJvd3MgPD0gMCB8fFxuXHRcdFx0XHRcdHRoaXMubWF4RXhwYW5kZWROdW1iZXJPZlJvd3MgPiB0aGlzLm1heENvbGxhcHNlZE51bWJlck9mUm93cykgJiZcblx0XHRcdFx0aGVpZ2h0ID4gdGhpcy5tYXhDb2xsYXBzZWROdW1iZXJPZlJvd3MgKiB0aGlzLnJvd0hlaWdodEluUGl4ZWxcblx0XHRcdCkge1xuXHRcdFx0XHR0aGlzLmlzRXhwYW5kYWJsZSA9IHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLmlzRXhwYW5kYWJsZSA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdHRoaXMuZXhwYW5kZWQgJiZcblx0XHRcdFx0dGhpcy5taW5FeHBhbmRlZE51bWJlck9mUm93cyA+IDAgJiZcblx0XHRcdFx0aGVpZ2h0IDw9IHRoaXMubWluRXhwYW5kZWROdW1iZXJPZlJvd3MgKiB0aGlzLnJvd0hlaWdodEluUGl4ZWxcblx0XHRcdCkge1xuXHRcdFx0XHR0aGlzLmlzRXhwYW5kYWJsZSA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, HostBinding } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "carbon-components-angular/i18n";
4
4
  import * as i2 from "@angular/common";
@@ -46,7 +46,7 @@ export class Loading {
46
46
  <circle class="cds--loading__stroke" cx="50%" cy="50%" r="44" />
47
47
  </svg>
48
48
  </div>
49
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
49
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Loading, decorators: [{
52
52
  type: Component,
@@ -65,7 +65,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
65
65
  <circle class="cds--loading__stroke" cx="50%" cy="50%" r="44" />
66
66
  </svg>
67
67
  </div>
68
- `
68
+ `,
69
+ changeDetection: ChangeDetectionStrategy.OnPush
69
70
  }]
70
71
  }], ctorParameters: () => [{ type: i1.I18n }], propDecorators: { title: [{
71
72
  type: Input
@@ -79,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
79
80
  type: HostBinding,
80
81
  args: ["class.cds--loading-overlay"]
81
82
  }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFHOUQ7Ozs7Ozs7O0dBUUc7QUFrQkgsTUFBTSxPQUFPLE9BQU87SUFzQm5CLFlBQXNCLElBQVU7UUFBVixTQUFJLEdBQUosSUFBSSxDQUFNO1FBckJoQzs7O1dBR0c7UUFDTSxVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBRS9DOztXQUVHO1FBQ00sYUFBUSxHQUFHLElBQUksQ0FBQztRQUV6Qjs7V0FFRztRQUNNLFNBQUksR0FBb0IsUUFBUSxDQUFDO1FBRTFDOztXQUVHO1FBQ2lELFlBQU8sR0FBRyxLQUFLLENBQUM7SUFFakMsQ0FBQzsrR0F0QnhCLE9BQU87bUdBQVAsT0FBTyw0TkFmVDs7Ozs7Ozs7Ozs7OztFQWFUOzs0RkFFVyxPQUFPO2tCQWpCbkIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7RUFhVDtpQkFDRDt5RUFNUyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSzhDLE9BQU87c0JBQTFELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IExvYWRpbmdNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtbG9hZGluZy0tYmFzaWMpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtbG9hZGluZywgaWJtLWxvYWRpbmdcIixcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2XG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLWxvYWRpbmctLXNtYWxsJzogc2l6ZSA9PT0gJ3NtJyxcblx0XHRcdFx0J2Nkcy0tbG9hZGluZy0tc3RvcCc6ICFpc0FjdGl2ZSAmJiAhb3ZlcmxheSxcblx0XHRcdFx0J2Nkcy0tbG9hZGluZy1vdmVybGF5LS1zdG9wJzogIWlzQWN0aXZlICYmIG92ZXJsYXlcblx0XHRcdH1cIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLWxvYWRpbmdcIj5cblx0XHRcdDxzdmcgY2xhc3M9XCJjZHMtLWxvYWRpbmdfX3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPlxuXHRcdFx0XHQ8dGl0bGU+e3t0aXRsZX19PC90aXRsZT5cblx0XHRcdFx0PGNpcmNsZSBjbGFzcz1cImNkcy0tbG9hZGluZ19fc3Ryb2tlXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIHI9XCI0NFwiIC8+XG5cdFx0XHQ8L3N2Zz5cblx0XHQ8L2Rpdj5cblx0YFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nIHtcblx0LyoqXG5cdCAqIEFjY2Vzc2libGUgdGl0bGUgZm9yIHRoZSBsb2FkaW5nIGNpcmNsZS5cblx0ICogRGVmYXVsdHMgdG8gdGhlIGBMT0FESU5HLlRJVExFYCB2YWx1ZSBmcm9tIHRoZSBpMThuIHNlcnZpY2UuXG5cdCAqL1xuXHRASW5wdXQoKSB0aXRsZSA9IHRoaXMuaTE4bi5nZXQoKS5MT0FESU5HLlRJVExFO1xuXG5cdC8qKlxuXHQgKiBzZXQgdG8gYGZhbHNlYCB0byBzdG9wIHRoZSBsb2FkaW5nIGFuaW1hdGlvblxuXHQgKi9cblx0QElucHV0KCkgaXNBY3RpdmUgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZ5IHRoZSBzaXplIG9mIHRoZSBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwibm9ybWFsXCIgfCBcInNtXCIgPSBcIm5vcm1hbFwiO1xuXG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIG1ha2UgbG9hZGVyIHdpdGggYW4gb3ZlcmxheS5cblx0ICovXG5cdEBJbnB1dCgpIEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbG9hZGluZy1vdmVybGF5XCIpIG92ZXJsYXkgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaTE4bjogSTE4bikge31cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3ZCOzs7Ozs7OztHQVFHO0FBbUJILE1BQU0sT0FBTyxPQUFPO0lBc0JuQixZQUFzQixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtRQXJCaEM7OztXQUdHO1FBQ00sVUFBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUUvQzs7V0FFRztRQUNNLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFekI7O1dBRUc7UUFDTSxTQUFJLEdBQW9CLFFBQVEsQ0FBQztRQUUxQzs7V0FFRztRQUNpRCxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWpDLENBQUM7K0dBdEJ4QixPQUFPO21HQUFQLE9BQU8sNE5BaEJUOzs7Ozs7Ozs7Ozs7O0VBYVQ7OzRGQUdXLE9BQU87a0JBbEJuQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7OztFQWFUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQzt5RUFNUyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSzhDLE9BQU87c0JBQTFELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0SG9zdEJpbmRpbmcsXG5cdElucHV0XG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJMThuIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvaTE4blwiO1xuXG4vKipcbiAqIEdldCBzdGFydGVkIHdpdGggaW1wb3J0aW5nIHRoZSBtb2R1bGU6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTG9hZGluZ01vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1sb2FkaW5nLS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy1sb2FkaW5nLCBpYm0tbG9hZGluZ1wiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxkaXZcblx0XHRcdFtuZ0NsYXNzXT1cIntcblx0XHRcdFx0J2Nkcy0tbG9hZGluZy0tc21hbGwnOiBzaXplID09PSAnc20nLFxuXHRcdFx0XHQnY2RzLS1sb2FkaW5nLS1zdG9wJzogIWlzQWN0aXZlICYmICFvdmVybGF5LFxuXHRcdFx0XHQnY2RzLS1sb2FkaW5nLW92ZXJsYXktLXN0b3AnOiAhaXNBY3RpdmUgJiYgb3ZlcmxheVxuXHRcdFx0fVwiXG5cdFx0XHRjbGFzcz1cImNkcy0tbG9hZGluZ1wiPlxuXHRcdFx0PHN2ZyBjbGFzcz1cImNkcy0tbG9hZGluZ19fc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+XG5cdFx0XHRcdDx0aXRsZT57e3RpdGxlfX08L3RpdGxlPlxuXHRcdFx0XHQ8Y2lyY2xlIGNsYXNzPVwiY2RzLS1sb2FkaW5nX19zdHJva2VcIiBjeD1cIjUwJVwiIGN5PVwiNTAlXCIgcj1cIjQ0XCIgLz5cblx0XHRcdDwvc3ZnPlxuXHRcdDwvZGl2PlxuXHRgLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nIHtcblx0LyoqXG5cdCAqIEFjY2Vzc2libGUgdGl0bGUgZm9yIHRoZSBsb2FkaW5nIGNpcmNsZS5cblx0ICogRGVmYXVsdHMgdG8gdGhlIGBMT0FESU5HLlRJVExFYCB2YWx1ZSBmcm9tIHRoZSBpMThuIHNlcnZpY2UuXG5cdCAqL1xuXHRASW5wdXQoKSB0aXRsZSA9IHRoaXMuaTE4bi5nZXQoKS5MT0FESU5HLlRJVExFO1xuXG5cdC8qKlxuXHQgKiBzZXQgdG8gYGZhbHNlYCB0byBzdG9wIHRoZSBsb2FkaW5nIGFuaW1hdGlvblxuXHQgKi9cblx0QElucHV0KCkgaXNBY3RpdmUgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZ5IHRoZSBzaXplIG9mIHRoZSBidXR0b25cblx0ICovXG5cdEBJbnB1dCgpIHNpemU6IFwibm9ybWFsXCIgfCBcInNtXCIgPSBcIm5vcm1hbFwiO1xuXG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIG1ha2UgbG9hZGVyIHdpdGggYW4gb3ZlcmxheS5cblx0ICovXG5cdEBJbnB1dCgpIEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbG9hZGluZy1vdmVybGF5XCIpIG92ZXJsYXkgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaTE4bjogSTE4bikge31cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, Input, HostBinding, EventEmitter, Output, TemplateRef, HostListener } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, TemplateRef } from "@angular/core";
2
2
  import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "carbon-components-angular/i18n";
@@ -377,7 +377,7 @@ export class NumberComponent {
377
377
  </div>
378
378
  }
379
379
  </div>
380
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
380
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
381
381
  }
382
382
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NumberComponent, decorators: [{
383
383
  type: Component,
@@ -513,7 +513,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
513
513
  useExisting: NumberComponent,
514
514
  multi: true
515
515
  }
516
- ]
516
+ ],
517
+ changeDetection: ChangeDetectionStrategy.OnPush
517
518
  }]
518
519
  }], ctorParameters: () => [{ type: i1.I18n }], propDecorators: { containerClass: [{
519
520
  type: HostBinding,
@@ -589,4 +590,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
589
590
  args: ["focusout"]
590
591
  }] } });
591
592
  export { NumberComponent as Number };
592
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9udW1iZXItaW5wdXQvbnVtYmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLekU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtDQVN4QjtBQUVEOzs7Ozs7OztHQVFHO0FBdUlILE1BQU0sT0FBTyxlQUFlO0lBQzNCOztPQUVHO2FBQ0ksZ0JBQVcsR0FBRyxDQUFDLEFBQUosQ0FBSztJQXlDdkI7O09BRUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxDQUFNO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BCLENBQUM7SUE4Q0QsSUFDSSxjQUFjLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUNJLGNBQWMsQ0FBQyxLQUFrQztRQUNwRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxLQUFL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VUFBVTtzQkFBbkUsV0FBVzt1QkFBQyx1Q0FBdUM7Z0JBSU8sYUFBYTtzQkFBdkUsV0FBVzt1QkFBQyx3Q0FBd0M7Z0JBMENyRCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsVUFBVTs7QUFrSHpCLE9BQU8sRUFBRSxlQUFlLElBQUksTUFBTSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRIb3N0QmluZGluZyxcblx0RXZlbnRFbWl0dGVyLFxuXHRPdXRwdXQsXG5cdFRlbXBsYXRlUmVmLFxuXHRIb3N0TGlzdGVuZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBJMThuLCBPdmVycmlkYWJsZSB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG4vKipcbiAqIFVzZWQgdG8gZW1pdCBjaGFuZ2VzIHBlcmZvcm1lZCBvbiBudW1iZXIgaW5wdXQgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIE51bWJlckNoYW5nZSB7XG5cdC8qKlxuXHQgKiBDb250YWlucyB0aGUgYE51bWJlcmAgdGhhdCBoYXMgYmVlbiBjaGFuZ2VkLlxuXHQgKi9cblx0c291cmNlOiBOdW1iZXJDb21wb25lbnQ7XG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgb2YgdGhlIGBOdW1iZXJgIGZpZWxkIGVuY29tcGFzc2VkIGluIHRoZSBgTnVtYmVyQ2hhbmdlYCBjbGFzcy5cblx0ICovXG5cdHZhbHVlOiBudW1iZXI7XG59XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBOdW1iZXJNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtbnVtYmVyLS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy1udW1iZXIsIGlibS1udW1iZXJcIixcblx0dGVtcGxhdGU6IGBcblx0XHRAaWYgKHNrZWxldG9uICYmIGxhYmVsKSB7XG5cdFx0XHQ8bGFiZWwgY2xhc3M9XCJjZHMtLWxhYmVsIGNkcy0tc2tlbGV0b25cIj48L2xhYmVsPlxuXHRcdH1cblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLW51bWJlcmlucHV0XG5cdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLW51bWJlclwiXG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLW51bWJlci0tbGlnaHQnOiB0aGVtZSA9PT0gJ2xpZ2h0Jyxcblx0XHRcdFx0J2Nkcy0tbnVtYmVyLS1ub2xhYmVsJzogIWxhYmVsLFxuXHRcdFx0XHQnY2RzLS1udW1iZXItLWhlbHBlcnRleHQnOiBoZWxwZXJUZXh0LFxuXHRcdFx0XHQnY2RzLS1za2VsZXRvbicgOiBza2VsZXRvbixcblx0XHRcdFx0J2Nkcy0tbnVtYmVyLS1zbSc6IHNpemUgPT09ICdzbScsXG5cdFx0XHRcdCdjZHMtLW51bWJlci0tbWQnOiBzaXplID09PSAnbWQnLFxuXHRcdFx0XHQnY2RzLS1udW1iZXItLWxnJzogc2l6ZSA9PT0gJ2xnJ1xuXHRcdFx0fVwiPlxuXHRcdFx0QGlmICghc2tlbGV0b24gJiYgbGFiZWwpIHtcblx0XHRcdFx0PGxhYmVsXG5cdFx0XHRcdFx0W2Zvcl09XCJpZFwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLWxhYmVsXCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJ7J2Nkcy0tbGFiZWwtLWRpc2FibGVkJzogZGlzYWJsZWR9XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGxhYmVsKSkge1xuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiIC8+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHR7e2xhYmVsfX1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHR9XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1udW1iZXJfX2lucHV0LXdyYXBwZXJcIlxuXHRcdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdFx0J2Nkcy0tbnVtYmVyX19pbnB1dC13cmFwcGVyLS13YXJuaW5nJzogd2FyblxuXHRcdFx0XHR9XCI+XG5cdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdHR5cGU9XCJudW1iZXJcIlxuXHRcdFx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRcdFx0W3ZhbHVlXT1cInZhbHVlXCJcblx0XHRcdFx0XHRbYXR0ci5taW5dPVwibWluXCJcblx0XHRcdFx0XHRbYXR0ci5tYXhdPVwibWF4XCJcblx0XHRcdFx0XHRbYXR0ci5zdGVwXT1cInN0ZXBcIlxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRcdFx0W3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcblx0XHRcdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuXHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiaW52YWxpZCA/IGludmFsaWQgOiBudWxsXCJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuXHRcdFx0XHRcdChmb2N1cyk9XCJmbHVpZCA/IGhhbmRsZUZvY3VzKCRldmVudCk6IG51bGxcIlxuXHRcdFx0XHRcdChibHVyKT1cImZsdWlkID8gaGFuZGxlRm9jdXMoJGV2ZW50KTogbnVsbFwiXG5cdFx0XHRcdFx0KGNoYW5nZSk9XCJvbk51bWJlcklucHV0Q2hhbmdlKCRldmVudClcIi8+XG5cdFx0XHRcdEBpZighc2tlbGV0b24pIHtcblx0XHRcdFx0XHRAaWYgKGludmFsaWQpIHtcblx0XHRcdFx0XHRcdDxzdmdcblx0XHRcdFx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1udW1iZXJfX2ludmFsaWRcIj5cblx0XHRcdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHRcdH0gQGVsc2UgaWYod2Fybikge1xuXHRcdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0XHRjZHNJY29uPVwid2FybmluZy0tYWx0LS1maWxsZWRcIlxuXHRcdFx0XHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tbnVtYmVyX19pbnZhbGlkIGNkcy0tbnVtYmVyX19pbnZhbGlkLS13YXJuaW5nXCI+XG5cdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19jb250cm9sc1wiPlxuXHRcdFx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tbnVtYmVyX19jb250cm9sLWJ0biBkb3duLWljb25cIlxuXHRcdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdFx0W2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG5cdFx0XHRcdFx0XHRcdGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG5cdFx0XHRcdFx0XHRcdGFyaWEtYXRvbWljPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0RGVjcmVtZW50TGFiZWwoKSB8IGFzeW5jXCJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uRGVjcmVtZW50KClcIj5cblx0XHRcdFx0XHRcdFx0PHN2ZyBjZHNJY29uPVwic3VidHJhY3RcIiBzaXplPVwiMTZcIj48L3N2Zz5cblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19ydWxlLWRpdmlkZXJcIj48L2Rpdj5cblx0XHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLW51bWJlcl9fY29udHJvbC1idG4gdXAtaWNvblwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0XHRcdFx0XHRbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcblx0XHRcdFx0XHRcdFx0YXJpYS1saXZlPVwicG9saXRlXCJcblx0XHRcdFx0XHRcdFx0YXJpYS1hdG9taWM9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJnZXRJbmNyZW1lbnRMYWJlbCgpIHwgYXN5bmNcIlxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25JbmNyZW1lbnQoKVwiPlxuXHRcdFx0XHRcdFx0XHQ8c3ZnIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19ydWxlLWRpdmlkZXJcIj48L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0fVxuXHRcdFx0PC9kaXY+XG5cdFx0XHRAaWYgKGZsdWlkKSB7XG5cdFx0XHRcdDxociBjbGFzcz1cImNkcy0tbnVtYmVyLWlucHV0X19kaXZpZGVyXCIgLz5cblx0XHRcdH1cblx0XHRcdEBpZiAoaW52YWxpZCkge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY2RzLS1mb3JtLXJlcXVpcmVtZW50XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGludmFsaWRUZXh0KSkge1xuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCIgLz5cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdHt7aW52YWxpZFRleHR9fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9IEBlbHNlIGlmICh3YXJuKSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdFx0XHRAaWYgKGlzVGVtcGxhdGUod2FyblRleHQpKSB7XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIiAvPlxuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0e3t3YXJuVGV4dH19XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdH0gQGVsc2UgaWYoaGVscGVyVGV4dCAmJiAhZmx1aWQpIHtcblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1mb3JtX19oZWxwZXItdGV4dFwiXG5cdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tZm9ybV9faGVscGVyLXRleHQtLWRpc2FibGVkJzogZGlzYWJsZWRcblx0XHRcdFx0XHR9XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGhlbHBlclRleHQpKSB7XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiIC8+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHR7e2hlbHBlclRleHR9fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IE51bWJlckNvbXBvbmVudCxcblx0XHRcdG11bHRpOiB0cnVlXG5cdFx0fVxuXHRdXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFZhcmlhYmxlIHVzZWQgZm9yIGNyZWF0aW5nIHVuaXF1ZSBpZHMgZm9yIG51bWJlciBpbnB1dCBjb21wb25lbnRzLlxuXHQgKi9cblx0c3RhdGljIG51bWJlckNvdW50ID0gMDtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLWZvcm0taXRlbVwiKSBjb250YWluZXJDbGFzcyA9IHRydWU7XG5cblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIHJlYWRvbmx5IHN0YXRlLlxuXHQgKi9cblx0QElucHV0KCkgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1udW1iZXItLXJlYWRvbmx5XCIpIHJlYWRvbmx5ID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBAZGVwcmVjYXRlZCBzaW5jZSB2NSAtIFVzZSBgY2RzTGF5ZXJgIGRpcmVjdGl2ZSBpbnN0ZWFkXG5cdCAqIGBsaWdodGAgb3IgYGRhcmtgIG51bWJlciBpbnB1dCB0aGVtZS5cblx0ICovXG5cdEBJbnB1dCgpIHRoZW1lOiBcImxpZ2h0XCIgfCBcImRhcmtcIiA9IFwiZGFya1wiO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBkaXNhYmxlZCBudW1iZXIgaW5wdXQuXG5cdCAqL1xuXHRASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYSBsb2FkaW5nIG51bWJlciBjb21wb25lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCBmb3IgYW4gaW52YWxpZCBudW1iZXIgY29tcG9uZW50LlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuXHQvKipcblx0ICogVGhlIHVuaXF1ZSBpZCBmb3IgdGhlIG51bWJlciBjb21wb25lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSBpZCA9IGBudW1iZXItJHtOdW1iZXJDb21wb25lbnQubnVtYmVyQ291bnR9YDtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZSBvbiB0aGUgYGlucHV0YCBlbGVtZW50LlxuXHQgKi9cblx0QElucHV0KCkgcGxhY2Vob2xkZXIgPSBcIlwiO1xuXHQvKipcblx0ICogTnVtYmVyIGlucHV0IGZpZWxkIHJlbmRlciBzaXplXG5cdCAqL1xuXHRASW5wdXQoKSBzaXplOiBcInNtXCIgfCBcIm1kXCIgfCBcImxnXCIgPSBcIm1kXCI7XG5cdC8qKlxuXHQgKiBSZWZsZWN0cyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlIG9mIHRoZSBgaW5wdXRgIGVsZW1lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHZhbHVlIGF0dHJpYnV0ZSBvbiB0aGUgYGlucHV0YCBlbGVtZW50LlxuXHQgKi9cblx0QElucHV0KCkgc2V0IHZhbHVlKHY6IGFueSkge1xuXHRcdGlmICh2ID09PSBcIlwiIHx8IHYgPT09IG51bGwpIHtcblx0XHRcdHRoaXMuX3ZhbHVlID0gbnVsbDtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0dGhpcy5fdmFsdWUgPSBOdW1iZXIodik7XG5cdH1cblxuXHRnZXQgdmFsdWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX3ZhbHVlO1xuXHR9XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBtaW4gYXR0cmlidXRlIG9uIHRoZSBgaW5wdXRgIGVsZW1lbnQuXG5cdCAqL1xuXHRASW5wdXQoKSBtaW4gPSBudWxsO1xuXHQvKipcblx0ICogU2V0cyB0aGUgbWF4IGF0dHJpYnV0ZSBvbiB0aGUgYGlucHV0YCBlbGVtZW50LlxuXHQgKi9cblx0QElucHV0KCkgbWF4ID0gbnVsbDtcblx0LyoqXG5cdCAqIFNldHMgdGhlIHRleHQgaW5zaWRlIHRoZSBgbGFiZWxgIHRhZy5cblx0ICovXG5cdEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgb3B0aW9uYWwgaGVscGVyIHRleHQuXG5cdCAqL1xuXHRASW5wdXQoKSBoZWxwZXJUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgaW52YWxpZCB0ZXh0LlxuXHQgKi9cblx0QElucHV0KCkgaW52YWxpZFRleHQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBhbW91bnQgdGhlIG51bWJlciBjb250cm9scyBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBieS5cblx0ICovXG5cdEBJbnB1dCgpIHN0ZXAgPSAxO1xuXHQvKipcblx0ICogSWYgYHN0ZXBgIGlzIGEgZGVjaW1hbCwgd2UgbWF5IHdhbnQgcHJlY2lzaW9uIHRvIGJlIHNldCB0byBnbyBhcm91bmQgZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uLlxuXHQgKi9cblx0QElucHV0KCkgcHJlY2lzaW9uOiBudW1iZXI7XG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIHRvIHNob3cgYSB3YXJuaW5nIChjb250ZW50cyBzZXQgYnkgd2FybmluZ1RleHQpXG5cdCAqL1xuXHRASW5wdXQoKSB3YXJuID0gZmFsc2U7XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB3YXJuaW5nIHRleHRcblx0ICovXG5cdEBJbnB1dCgpIHdhcm5UZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgYXJpYWxhYmVsIGZvciBpbnB1dFxuXHQgKi9cblx0QElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBFbWl0cyBldmVudCBub3RpZnlpbmcgb3RoZXIgY2xhc3NlcyB3aGVuIGEgY2hhbmdlIGluIHN0YXRlIG9jY3VycyBpbiB0aGUgaW5wdXQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJDaGFuZ2U+KCk7XG5cblx0QElucHV0KClcblx0c2V0IGRlY3JlbWVudExhYmVsKHZhbHVlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pIHtcblx0XHR0aGlzLl9kZWNyZW1lbnRMYWJlbC5vdmVycmlkZSh2YWx1ZSk7XG5cdH1cblxuXHRnZXQgZGVjcmVtZW50TGFiZWwoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2RlY3JlbWVudExhYmVsLnZhbHVlO1xuXHR9XG5cblx0QElucHV0KClcblx0c2V0IGluY3JlbWVudExhYmVsKHZhbHVlOiBzdHJpbmcgfCBPYnNlcnZhYmxlPHN0cmluZz4pIHtcblx0XHR0aGlzLl9pbmNyZW1lbnRMYWJlbC5vdmVycmlkZSh2YWx1ZSk7XG5cdH1cblxuXHRnZXQgaW5jcmVtZW50TGFiZWwoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2luY3JlbWVudExhYmVsLnZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEV4cGVyaW1lbnRhbDogZW5hYmxlIGZsdWlkIHN0YXRlXG5cdCAqL1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLW51bWJlci1pbnB1dC0tZmx1aWRcIikgQElucHV0KCkgZmx1aWQgPSBmYWxzZTtcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLW51bWJlci1pbnB1dC0tZmx1aWQtLWludmFsaWRcIikgZ2V0IGZsdWlkSW52YWxpZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5mbHVpZCAmJiB0aGlzLmludmFsaWQ7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLW51bWJlci1pbnB1dC0tZmx1aWQtLWRpc2FibGVkXCIpIGdldCBmbHVpZERpc2FibGVkKCkge1xuXHRcdHJldHVybiB0aGlzLmZsdWlkICYmIHRoaXMuZGlzYWJsZWQ7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLW51bWJlci1pbnB1dC0tZmx1aWQtLWZvY3VzXCIpIGdldCBmbHVpZEZvY3VzKCkge1xuXHRcdHJldHVybiB0aGlzLmZsdWlkICYmIHRoaXMuX2lzRm9jdXNlZDtcblx0fVxuXG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tdGV4dC1pbnB1dC0tZmx1aWRfX3NrZWxldG9uXCIpIGdldCBmbHVpZFNrZWxldG9uKCkge1xuXHRcdHJldHVybiB0aGlzLmZsdWlkICYmIHRoaXMuc2tlbGV0b247XG5cdH1cblxuXHRwcm90ZWN0ZWQgX2lzRm9jdXNlZCA9IGZhbHNlO1xuXG5cdHByb3RlY3RlZCBfdmFsdWUgPSAwO1xuXG5cdHByb3RlY3RlZCBfZGVjcmVtZW50TGFiZWw6IE92ZXJyaWRhYmxlID0gdGhpcy5pMThuLmdldE92ZXJyaWRhYmxlKFwiTlVNQkVSLkRFQ1JFTUVOVFwiKTtcblx0cHJvdGVjdGVkIF9pbmNyZW1lbnRMYWJlbDogT3ZlcnJpZGFibGUgPSB0aGlzLmkxOG4uZ2V0T3ZlcnJpZGFibGUoXCJOVU1CRVIuSU5DUkVNRU5UXCIpO1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGBOdW1iZXJgLlxuXHQgKi9cblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIGkxOG46IEkxOG4pIHtcblx0XHROdW1iZXJDb21wb25lbnQubnVtYmVyQ291bnQrKztcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgaW5wdXQgdmFsdWUuXG5cdCAqL1xuXHRwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG5cdFx0dGhpcy52YWx1ZSA9IHZhbHVlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgYSBtZXRob2QgaW4gb3JkZXIgdG8gcHJvcGFnYXRlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybS5cblx0ICovXG5cdHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoZSBjb250cm9sIGhhcyBiZWVuIHRvdWNoZWQuXG5cdCAqIEBwYXJhbSBmbiBDYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgbnVtYmVyIGlucHV0IGlzIHRvdWNoZWQuXG5cdCAqL1xuXHRwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuXHRcdHRoaXMub25Ub3VjaGVkID0gZm47XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKFwiZm9jdXNvdXRcIilcblx0Zm9jdXNPdXQoKSB7XG5cdFx0dGhpcy5vblRvdWNoZWQoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSB0aHJvdWdoIHRoZSBtb2RlbFxuXHQgKi9cblx0c2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG5cdFx0dGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGVkIHdoZW4gbnVtYmVyIGlucHV0IGlzIGJsdXJyZWQuIE5lZWRlZCB0byBwcm9wZXJseSBpbXBsZW1lbnQgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYC5cblx0ICovXG5cdG9uVG91Y2hlZDogKCkgPT4gYW55ID0gKCkgPT4geyB9O1xuXG5cdC8qKlxuXHQgKiBNZXRob2Qgc2V0IGluIGByZWdpc3Rlck9uQ2hhbmdlYCB0byBwcm9wYWdhdGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtLlxuXHQgKi9cblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xuXG5cdC8qKlxuXHQgKiBBZGRzIGBzdGVwYCB0byB0aGUgY3VycmVudCBgdmFsdWVgLlxuXHQgKi9cblx0b25JbmNyZW1lbnQoKTogdm9pZCB7XG5cdFx0Ly8gaWYgbWF4IGlzIHNldCBhbmQgdmFsdWUgKyBzdGVwIGlzIGdyZWF0ZXIgdGhhbiBtYXgsIHNldCB2YWx1ZSB0byBtYXhcblx0XHQvLyBleGFtcGxlOiBtYXggPSAxMDAsIHN0ZXAgPSAxMCwgdmFsdWUgPSA5NSAsIHZhbHVlICsgc3RlcCA9IDEwNSwgdmFsdWUgd2lsbCBiZSBzZXQgdG8gMTAwIChtYXgpIGluc3RlYWQgb2YgMTA1XG5cdFx0aWYgKHRoaXMubWF4ICE9PSBudWxsICYmIHRoaXMudmFsdWUgKyB0aGlzLnN0ZXAgPiB0aGlzLm1heCkge1xuXHRcdFx0dGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuXHRcdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBpZiBtaW4gaXMgc2V0IGFuZCB2YWx1ZSArIHN0ZXAgaXMgbGVzcyB0aGFuIG1pbiwgc2V0IHZhbHVlIHRvIG1pblxuXHRcdC8vIGV4YW1wbGU6IG1pbiA9IDUsIHN0ZXAgPSAyLCB2YWx1ZSA9IDAsIHZhbHVlICsgc3RlcCA9IDIsIHZhbHVlIHdpbGwgYmUgc2V0IHRvIDUgKG1pbikgaW5zdGVhZCBvZiAyXG5cdFx0aWYgKHRoaXMubWluICE9PSBudWxsICYmIHRoaXMudmFsdWUgKyB0aGlzLnN0ZXAgPCB0aGlzLm1pbikge1xuXHRcdFx0dGhpcy52YWx1ZSA9IHRoaXMubWluO1xuXHRcdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBpZiBtYXggaXMgbm90IHNldCBvciB2YWx1ZSArIHN0ZXAgaXMgbGVzcyB0aGFuIG1heCwgaW5jcmVtZW50IHZhbHVlIGJ5IHN0ZXBcblx0XHRpZiAodGhpcy5tYXggPT09IG51bGwgfHwgdGhpcy52YWx1ZSArIHRoaXMuc3RlcCA8PSB0aGlzLm1heCkge1xuXHRcdFx0dGhpcy52YWx1ZSArPSB0aGlzLnN0ZXA7XG5cdFx0XHR0aGlzLnZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLnZhbHVlLnRvUHJlY2lzaW9uKHRoaXMucHJlY2lzaW9uKSk7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBTdWJ0cmFjdHMgYHN0ZXBgIHRvIHRoZSBjdXJyZW50IGB2YWx1ZWAuXG5cdCAqL1xuXHRvbkRlY3JlbWVudCgpOiB2b2lkIHtcblx0XHQvLyBpZiBtYXggaXMgc2V0IGFuZCB2YWx1ZSAtIHN0ZXAgaXMgZ3JlYXRlciB0aGFuIG1heCwgc2V0IHZhbHVlIHRvIG1heFxuXHRcdC8vIGV4YW1wbGU6IG1heCA9IDE1LCBzdGVwID0gMiwgdmFsdWUgPSAyMCwgdmFsdWUgLSBzdGVwID0gMTgsIHZhbHVlIHdpbGwgYmUgc2V0IHRvIDE1IChtYXgpIGluc3RlYWQgb2YgMThcblx0XHRpZiAodGhpcy5tYXggIT09IG51bGwgJiYgdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCA+IHRoaXMubWF4KSB7XG5cdFx0XHR0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIGlmIG1pbiBpcyBzZXQgYW5kIHZhbHVlIC0gc3RlcCBpcyBsZXNzIHRoYW4gbWluLCBzZXQgdmFsdWUgdG8gbWluXG5cdFx0Ly8gZXhhbXBsZTogbWluID0gNSwgc3RlcCA9IDIsIHZhbHVlID0gNiwgdmFsdWUgLSBzdGVwID0gNCwgdmFsdWUgd2lsbCBiZSBzZXQgdG8gNSAobWluKSBpbnN0ZWFkIG9mIDRcblx0XHRpZiAodGhpcy5taW4gIT09IG51bGwgJiYgdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCA8IHRoaXMubWluKSB7XG5cdFx0XHR0aGlzLnZhbHVlID0gdGhpcy5taW47XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIGlmIG1pbiBpcyBub3Qgc2V0IG9yIHZhbHVlIC0gc3RlcCBpcyBncmVhdGVyIHRoYW4gbWluLCBkZWNyZW1lbnQgdmFsdWUgYnkgc3RlcFxuXHRcdGlmICh0aGlzLm1pbiA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlIC0gdGhpcy5zdGVwID49IHRoaXMubWluKSB7XG5cdFx0XHR0aGlzLnZhbHVlIC09IHRoaXMuc3RlcDtcblx0XHRcdHRoaXMudmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMudmFsdWUudG9QcmVjaXNpb24odGhpcy5wcmVjaXNpb24pKTtcblx0XHRcdHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0RGVjcmVtZW50TGFiZWwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcblx0XHRyZXR1cm4gdGhpcy5fZGVjcmVtZW50TGFiZWwuc3ViamVjdDtcblx0fVxuXG5cdGdldEluY3JlbWVudExhYmVsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cdFx0cmV0dXJuIHRoaXMuX2luY3JlbWVudExhYmVsLnN1YmplY3Q7XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIGNsYXNzIG9mIGBOdW1iZXJDaGFuZ2VgIHRvIGVtaXQgdGhlIGNoYW5nZSBpbiB0aGUgYE51bWJlcmAuXG5cdCAqL1xuXHRlbWl0Q2hhbmdlRXZlbnQoKTogdm9pZCB7XG5cdFx0bGV0IGV2ZW50ID0gbmV3IE51bWJlckNoYW5nZSgpO1xuXHRcdGV2ZW50LnNvdXJjZSA9IHRoaXM7XG5cdFx0ZXZlbnQudmFsdWUgPSB0aGlzLnZhbHVlO1xuXHRcdHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuXHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xuXHR9XG5cblx0b25OdW1iZXJJbnB1dENoYW5nZShldmVudCkge1xuXHRcdHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG5cdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0fVxuXG5cdHB1YmxpYyBpc1RlbXBsYXRlKHZhbHVlKSB7XG5cdFx0cmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG5cdH1cblxuXHRoYW5kbGVGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuXHRcdGlmIChcInR5cGVcIiBpbiBldmVudC50YXJnZXQgJiYgKDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldCkudHlwZSA9PT0gXCJidXR0b25cIikge1xuXHRcdFx0dGhpcy5faXNGb2N1c2VkID0gZmFsc2U7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2lzRm9jdXNlZCA9IGV2ZW50LnR5cGUgPT09IFwiZm9jdXNcIjtcblx0XHR9XG5cdH1cbn1cbmV4cG9ydCB7IE51bWJlckNvbXBvbmVudCBhcyBOdW1iZXIgfTtcbiJdfQ==
593
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9udW1iZXItaW5wdXQvbnVtYmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBS3pFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7Q0FTeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQXdJSCxNQUFNLE9BQU8sZUFBZTtJQUMzQjs7T0FFRzthQUNJLGdCQUFXLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUF5Q3ZCOztPQUVHO0lBQ0gsSUFBYSxLQUFLLENBQUMsQ0FBTTtRQUN4QixJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ25CLE9BQU87UUFDUixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNwQixDQUFDO0lBOENELElBQ0ksY0FBYyxDQUFDLEtBQWtDO1FBQ3BELElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFDSSxjQUFjLENBQUMsS0FBa0M7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxR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QUF5QztnQkFJTyxhQUFhO3NCQUF6RSxXQUFXO3VCQUFDLDBDQUEwQztnQkFJRyxVQUFVO3NCQUFuRSxXQUFXO3VCQUFDLHVDQUF1QztnQkFJTyxhQUFhO3NCQUF2RSxXQUFXO3VCQUFDLHdDQUF3QztnQkEwQ3JELFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxVQUFVOztBQWtIekIsT0FBTyxFQUFFLGVBQWUsSUFBSSxNQUFNLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdEV2ZW50RW1pdHRlcixcblx0SG9zdEJpbmRpbmcsXG5cdEhvc3RMaXN0ZW5lcixcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0VGVtcGxhdGVSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBJMThuLCBPdmVycmlkYWJsZSB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2kxOG5cIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG4vKipcbiAqIFVzZWQgdG8gZW1pdCBjaGFuZ2VzIHBlcmZvcm1lZCBvbiBudW1iZXIgaW5wdXQgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIE51bWJlckNoYW5nZSB7XG5cdC8qKlxuXHQgKiBDb250YWlucyB0aGUgYE51bWJlcmAgdGhhdCBoYXMgYmVlbiBjaGFuZ2VkLlxuXHQgKi9cblx0c291cmNlOiBOdW1iZXJDb21wb25lbnQ7XG5cdC8qKlxuXHQgKiBUaGUgdmFsdWUgb2YgdGhlIGBOdW1iZXJgIGZpZWxkIGVuY29tcGFzc2VkIGluIHRoZSBgTnVtYmVyQ2hhbmdlYCBjbGFzcy5cblx0ICovXG5cdHZhbHVlOiBudW1iZXI7XG59XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBOdW1iZXJNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtbnVtYmVyLS1iYXNpYylcbiAqL1xuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiBcImNkcy1udW1iZXIsIGlibS1udW1iZXJcIixcblx0dGVtcGxhdGU6IGBcblx0XHRAaWYgKHNrZWxldG9uICYmIGxhYmVsKSB7XG5cdFx0XHQ8bGFiZWwgY2xhc3M9XCJjZHMtLWxhYmVsIGNkcy0tc2tlbGV0b25cIj48L2xhYmVsPlxuXHRcdH1cblx0XHQ8ZGl2XG5cdFx0XHRkYXRhLW51bWJlcmlucHV0XG5cdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiKGludmFsaWQgPyB0cnVlIDogbnVsbClcIlxuXHRcdFx0Y2xhc3M9XCJjZHMtLW51bWJlclwiXG5cdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdCdjZHMtLW51bWJlci0tbGlnaHQnOiB0aGVtZSA9PT0gJ2xpZ2h0Jyxcblx0XHRcdFx0J2Nkcy0tbnVtYmVyLS1ub2xhYmVsJzogIWxhYmVsLFxuXHRcdFx0XHQnY2RzLS1udW1iZXItLWhlbHBlcnRleHQnOiBoZWxwZXJUZXh0LFxuXHRcdFx0XHQnY2RzLS1za2VsZXRvbicgOiBza2VsZXRvbixcblx0XHRcdFx0J2Nkcy0tbnVtYmVyLS1zbSc6IHNpemUgPT09ICdzbScsXG5cdFx0XHRcdCdjZHMtLW51bWJlci0tbWQnOiBzaXplID09PSAnbWQnLFxuXHRcdFx0XHQnY2RzLS1udW1iZXItLWxnJzogc2l6ZSA9PT0gJ2xnJ1xuXHRcdFx0fVwiPlxuXHRcdFx0QGlmICghc2tlbGV0b24gJiYgbGFiZWwpIHtcblx0XHRcdFx0PGxhYmVsXG5cdFx0XHRcdFx0W2Zvcl09XCJpZFwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLWxhYmVsXCJcblx0XHRcdFx0XHRbbmdDbGFzc109XCJ7J2Nkcy0tbGFiZWwtLWRpc2FibGVkJzogZGlzYWJsZWR9XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGxhYmVsKSkge1xuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFwiIC8+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHR7e2xhYmVsfX1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvbGFiZWw+XG5cdFx0XHR9XG5cdFx0XHQ8ZGl2XG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1udW1iZXJfX2lucHV0LXdyYXBwZXJcIlxuXHRcdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdFx0J2Nkcy0tbnVtYmVyX19pbnB1dC13cmFwcGVyLS13YXJuaW5nJzogd2FyblxuXHRcdFx0XHR9XCI+XG5cdFx0XHRcdDxpbnB1dFxuXHRcdFx0XHRcdHR5cGU9XCJudW1iZXJcIlxuXHRcdFx0XHRcdFtpZF09XCJpZFwiXG5cdFx0XHRcdFx0W3ZhbHVlXT1cInZhbHVlXCJcblx0XHRcdFx0XHRbYXR0ci5taW5dPVwibWluXCJcblx0XHRcdFx0XHRbYXR0ci5tYXhdPVwibWF4XCJcblx0XHRcdFx0XHRbYXR0ci5zdGVwXT1cInN0ZXBcIlxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRcdFx0W3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcblx0XHRcdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuXHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcblx0XHRcdFx0XHRbYXR0ci5kYXRhLWludmFsaWRdPVwiaW52YWxpZCA/IGludmFsaWQgOiBudWxsXCJcblx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuXHRcdFx0XHRcdChmb2N1cyk9XCJmbHVpZCA/IGhhbmRsZUZvY3VzKCRldmVudCk6IG51bGxcIlxuXHRcdFx0XHRcdChibHVyKT1cImZsdWlkID8gaGFuZGxlRm9jdXMoJGV2ZW50KTogbnVsbFwiXG5cdFx0XHRcdFx0KGNoYW5nZSk9XCJvbk51bWJlcklucHV0Q2hhbmdlKCRldmVudClcIi8+XG5cdFx0XHRcdEBpZighc2tlbGV0b24pIHtcblx0XHRcdFx0XHRAaWYgKGludmFsaWQpIHtcblx0XHRcdFx0XHRcdDxzdmdcblx0XHRcdFx0XHRcdFx0Y2RzSWNvbj1cIndhcm5pbmctLWZpbGxlZFwiXG5cdFx0XHRcdFx0XHRcdHNpemU9XCIxNlwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1udW1iZXJfX2ludmFsaWRcIj5cblx0XHRcdFx0XHRcdDwvc3ZnPlxuXHRcdFx0XHRcdH0gQGVsc2UgaWYod2Fybikge1xuXHRcdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0XHRjZHNJY29uPVwid2FybmluZy0tYWx0LS1maWxsZWRcIlxuXHRcdFx0XHRcdFx0XHRzaXplPVwiMTZcIlxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tbnVtYmVyX19pbnZhbGlkIGNkcy0tbnVtYmVyX19pbnZhbGlkLS13YXJuaW5nXCI+XG5cdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19jb250cm9sc1wiPlxuXHRcdFx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cImNkcy0tbnVtYmVyX19jb250cm9sLWJ0biBkb3duLWljb25cIlxuXHRcdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdFx0W2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG5cdFx0XHRcdFx0XHRcdGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG5cdFx0XHRcdFx0XHRcdGFyaWEtYXRvbWljPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRcdFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0RGVjcmVtZW50TGFiZWwoKSB8IGFzeW5jXCJcblx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uRGVjcmVtZW50KClcIj5cblx0XHRcdFx0XHRcdFx0PHN2ZyBjZHNJY29uPVwic3VidHJhY3RcIiBzaXplPVwiMTZcIj48L3N2Zz5cblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19ydWxlLWRpdmlkZXJcIj48L2Rpdj5cblx0XHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJjZHMtLW51bWJlcl9fY29udHJvbC1idG4gdXAtaWNvblwiXG5cdFx0XHRcdFx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0XHRcdFx0XHRbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcblx0XHRcdFx0XHRcdFx0YXJpYS1saXZlPVwicG9saXRlXCJcblx0XHRcdFx0XHRcdFx0YXJpYS1hdG9taWM9XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0W2F0dHIuYXJpYS1sYWJlbF09XCJnZXRJbmNyZW1lbnRMYWJlbCgpIHwgYXN5bmNcIlxuXHRcdFx0XHRcdFx0XHQoY2xpY2spPVwib25JbmNyZW1lbnQoKVwiPlxuXHRcdFx0XHRcdFx0XHQ8c3ZnIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cblx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNkcy0tbnVtYmVyX19ydWxlLWRpdmlkZXJcIj48L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0fVxuXHRcdFx0PC9kaXY+XG5cdFx0XHRAaWYgKGZsdWlkKSB7XG5cdFx0XHRcdDxociBjbGFzcz1cImNkcy0tbnVtYmVyLWlucHV0X19kaXZpZGVyXCIgLz5cblx0XHRcdH1cblx0XHRcdEBpZiAoaW52YWxpZCkge1xuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY2RzLS1mb3JtLXJlcXVpcmVtZW50XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGludmFsaWRUZXh0KSkge1xuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImludmFsaWRUZXh0XCIgLz5cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdHt7aW52YWxpZFRleHR9fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9IEBlbHNlIGlmICh3YXJuKSB7XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjZHMtLWZvcm0tcmVxdWlyZW1lbnRcIj5cblx0XHRcdFx0XHRAaWYgKGlzVGVtcGxhdGUod2FyblRleHQpKSB7XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwid2FyblRleHRcIiAvPlxuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0e3t3YXJuVGV4dH19XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdH0gQGVsc2UgaWYoaGVscGVyVGV4dCAmJiAhZmx1aWQpIHtcblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1mb3JtX19oZWxwZXItdGV4dFwiXG5cdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tZm9ybV9faGVscGVyLXRleHQtLWRpc2FibGVkJzogZGlzYWJsZWRcblx0XHRcdFx0XHR9XCI+XG5cdFx0XHRcdFx0QGlmIChpc1RlbXBsYXRlKGhlbHBlclRleHQpKSB7XG5cdFx0XHRcdFx0XHQ8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVscGVyVGV4dFwiIC8+XG5cdFx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0XHR7e2hlbHBlclRleHR9fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHR9XG5cdFx0PC9kaXY+XG5cdGAsXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IE51bWJlckNvbXBvbmVudCxcblx0XHRcdG11bHRpOiB0cnVlXG5cdFx0fVxuXHRdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOdW1iZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdC8qKlxuXHQgKiBWYXJpYWJsZSB1c2VkIGZvciBjcmVhdGluZyB1bmlxdWUgaWRzIGZvciBudW1iZXIgaW5wdXQgY29tcG9uZW50cy5cblx0ICovXG5cdHN0YXRpYyBudW1iZXJDb3VudCA9IDA7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1mb3JtLWl0ZW1cIikgY29udGFpbmVyQ2xhc3MgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTZXQgdG8gYHRydWVgIGZvciByZWFkb25seSBzdGF0ZS5cblx0ICovXG5cdEBJbnB1dCgpIEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tbnVtYmVyLS1yZWFkb25seVwiKSByZWFkb25seSA9IGZhbHNlO1xuXHQvKipcblx0ICogQGRlcHJlY2F0ZWQgc2luY2UgdjUgLSBVc2UgYGNkc0xheWVyYCBkaXJlY3RpdmUgaW5zdGVhZFxuXHQgKiBgbGlnaHRgIG9yIGBkYXJrYCBudW1iZXIgaW5wdXQgdGhlbWUuXG5cdCAqL1xuXHRASW5wdXQoKSB0aGVtZTogXCJsaWdodFwiIHwgXCJkYXJrXCIgPSBcImRhcmtcIjtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGEgZGlzYWJsZWQgbnVtYmVyIGlucHV0LlxuXHQgKi9cblx0QElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGEgbG9hZGluZyBudW1iZXIgY29tcG9uZW50LlxuXHQgKi9cblx0QElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblx0LyoqXG5cdCAqIFNldCB0byBgdHJ1ZWAgZm9yIGFuIGludmFsaWQgbnVtYmVyIGNvbXBvbmVudC5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcblx0LyoqXG5cdCAqIFRoZSB1bmlxdWUgaWQgZm9yIHRoZSBudW1iZXIgY29tcG9uZW50LlxuXHQgKi9cblx0QElucHV0KCkgaWQgPSBgbnVtYmVyLSR7TnVtYmVyQ29tcG9uZW50Lm51bWJlckNvdW50fWA7XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgb24gdGhlIGBpbnB1dGAgZWxlbWVudC5cblx0ICovXG5cdEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gXCJcIjtcblx0LyoqXG5cdCAqIE51bWJlciBpbnB1dCBmaWVsZCByZW5kZXIgc2l6ZVxuXHQgKi9cblx0QElucHV0KCkgc2l6ZTogXCJzbVwiIHwgXCJtZFwiIHwgXCJsZ1wiID0gXCJtZFwiO1xuXHQvKipcblx0ICogUmVmbGVjdHMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZSBvZiB0aGUgYGlucHV0YCBlbGVtZW50LlxuXHQgKi9cblx0QElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgb24gdGhlIGBpbnB1dGAgZWxlbWVudC5cblx0ICovXG5cdEBJbnB1dCgpIHNldCB2YWx1ZSh2OiBhbnkpIHtcblx0XHRpZiAodiA9PT0gXCJcIiB8fCB2ID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLl92YWx1ZSA9IG51bGw7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdHRoaXMuX3ZhbHVlID0gTnVtYmVyKHYpO1xuXHR9XG5cblx0Z2V0IHZhbHVlKCkge1xuXHRcdHJldHVybiB0aGlzLl92YWx1ZTtcblx0fVxuXHQvKipcblx0ICogU2V0cyB0aGUgbWluIGF0dHJpYnV0ZSBvbiB0aGUgYGlucHV0YCBlbGVtZW50LlxuXHQgKi9cblx0QElucHV0KCkgbWluID0gbnVsbDtcblx0LyoqXG5cdCAqIFNldHMgdGhlIG1heCBhdHRyaWJ1dGUgb24gdGhlIGBpbnB1dGAgZWxlbWVudC5cblx0ICovXG5cdEBJbnB1dCgpIG1heCA9IG51bGw7XG5cdC8qKlxuXHQgKiBTZXRzIHRoZSB0ZXh0IGluc2lkZSB0aGUgYGxhYmVsYCB0YWcuXG5cdCAqL1xuXHRASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIG9wdGlvbmFsIGhlbHBlciB0ZXh0LlxuXHQgKi9cblx0QElucHV0KCkgaGVscGVyVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIGludmFsaWQgdGV4dC5cblx0ICovXG5cdEBJbnB1dCgpIGludmFsaWRUZXh0OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuXHQvKipcblx0ICogU2V0cyB0aGUgYW1vdW50IHRoZSBudW1iZXIgY29udHJvbHMgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnkuXG5cdCAqL1xuXHRASW5wdXQoKSBzdGVwID0gMTtcblx0LyoqXG5cdCAqIElmIGBzdGVwYCBpcyBhIGRlY2ltYWwsIHdlIG1heSB3YW50IHByZWNpc2lvbiB0byBiZSBzZXQgdG8gZ28gYXJvdW5kIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi5cblx0ICovXG5cdEBJbnB1dCgpIHByZWNpc2lvbjogbnVtYmVyO1xuXHQvKipcblx0ICogU2V0IHRvIGB0cnVlYCB0byBzaG93IGEgd2FybmluZyAoY29udGVudHMgc2V0IGJ5IHdhcm5pbmdUZXh0KVxuXHQgKi9cblx0QElucHV0KCkgd2FybiA9IGZhbHNlO1xuXHQvKipcblx0ICogU2V0cyB0aGUgd2FybmluZyB0ZXh0XG5cdCAqL1xuXHRASW5wdXQoKSB3YXJuVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55Pjtcblx0LyoqXG5cdCAqIFNldHMgdGhlIGFyaWFsYWJlbCBmb3IgaW5wdXRcblx0ICovXG5cdEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXHQvKipcblx0ICogRW1pdHMgZXZlbnQgbm90aWZ5aW5nIG90aGVyIGNsYXNzZXMgd2hlbiBhIGNoYW5nZSBpbiBzdGF0ZSBvY2N1cnMgaW4gdGhlIGlucHV0LlxuXHQgKi9cblx0QE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TnVtYmVyQ2hhbmdlPigpO1xuXG5cdEBJbnB1dCgpXG5cdHNldCBkZWNyZW1lbnRMYWJlbCh2YWx1ZTogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+KSB7XG5cdFx0dGhpcy5fZGVjcmVtZW50TGFiZWwub3ZlcnJpZGUodmFsdWUpO1xuXHR9XG5cblx0Z2V0IGRlY3JlbWVudExhYmVsKCkge1xuXHRcdHJldHVybiB0aGlzLl9kZWNyZW1lbnRMYWJlbC52YWx1ZTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHNldCBpbmNyZW1lbnRMYWJlbCh2YWx1ZTogc3RyaW5nIHwgT2JzZXJ2YWJsZTxzdHJpbmc+KSB7XG5cdFx0dGhpcy5faW5jcmVtZW50TGFiZWwub3ZlcnJpZGUodmFsdWUpO1xuXHR9XG5cblx0Z2V0IGluY3JlbWVudExhYmVsKCkge1xuXHRcdHJldHVybiB0aGlzLl9pbmNyZW1lbnRMYWJlbC52YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFeHBlcmltZW50YWw6IGVuYWJsZSBmbHVpZCBzdGF0ZVxuXHQgKi9cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1udW1iZXItaW5wdXQtLWZsdWlkXCIpIEBJbnB1dCgpIGZsdWlkID0gZmFsc2U7XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1udW1iZXItaW5wdXQtLWZsdWlkLS1pbnZhbGlkXCIpIGdldCBmbHVpZEludmFsaWQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuZmx1aWQgJiYgdGhpcy5pbnZhbGlkO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1udW1iZXItaW5wdXQtLWZsdWlkLS1kaXNhYmxlZFwiKSBnZXQgZmx1aWREaXNhYmxlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5mbHVpZCAmJiB0aGlzLmRpc2FibGVkO1xuXHR9XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1udW1iZXItaW5wdXQtLWZsdWlkLS1mb2N1c1wiKSBnZXQgZmx1aWRGb2N1cygpIHtcblx0XHRyZXR1cm4gdGhpcy5mbHVpZCAmJiB0aGlzLl9pc0ZvY3VzZWQ7XG5cdH1cblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXRleHQtaW5wdXQtLWZsdWlkX19za2VsZXRvblwiKSBnZXQgZmx1aWRTa2VsZXRvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5mbHVpZCAmJiB0aGlzLnNrZWxldG9uO1xuXHR9XG5cblx0cHJvdGVjdGVkIF9pc0ZvY3VzZWQgPSBmYWxzZTtcblxuXHRwcm90ZWN0ZWQgX3ZhbHVlID0gMDtcblxuXHRwcm90ZWN0ZWQgX2RlY3JlbWVudExhYmVsOiBPdmVycmlkYWJsZSA9IHRoaXMuaTE4bi5nZXRPdmVycmlkYWJsZShcIk5VTUJFUi5ERUNSRU1FTlRcIik7XG5cdHByb3RlY3RlZCBfaW5jcmVtZW50TGFiZWw6IE92ZXJyaWRhYmxlID0gdGhpcy5pMThuLmdldE92ZXJyaWRhYmxlKFwiTlVNQkVSLklOQ1JFTUVOVFwiKTtcblxuXHQvKipcblx0ICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBgTnVtYmVyYC5cblx0ICovXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpMThuOiBJMThuKSB7XG5cdFx0TnVtYmVyQ29tcG9uZW50Lm51bWJlckNvdW50Kys7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIGlucHV0IHZhbHVlLlxuXHQgKi9cblx0cHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuXHRcdHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIGEgbWV0aG9kIGluIG9yZGVyIHRvIHByb3BhZ2F0ZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm0uXG5cdCAqL1xuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayB0byBiZSB0cmlnZ2VyZWQgd2hlbiB0aGUgY29udHJvbCBoYXMgYmVlbiB0b3VjaGVkLlxuXHQgKiBAcGFyYW0gZm4gQ2FsbGJhY2sgdG8gYmUgdHJpZ2dlcmVkIHdoZW4gdGhlIG51bWJlciBpbnB1dCBpcyB0b3VjaGVkLlxuXHQgKi9cblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcblx0XHR0aGlzLm9uVG91Y2hlZCA9IGZuO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcihcImZvY3Vzb3V0XCIpXG5cdGZvY3VzT3V0KCkge1xuXHRcdHRoaXMub25Ub3VjaGVkKCk7XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgdGhyb3VnaCB0aGUgbW9kZWxcblx0ICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxlZCB3aGVuIG51bWJlciBpbnB1dCBpcyBibHVycmVkLiBOZWVkZWQgdG8gcHJvcGVybHkgaW1wbGVtZW50IGBDb250cm9sVmFsdWVBY2Nlc3NvcmAuXG5cdCAqL1xuXHRvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHsgfTtcblxuXHQvKipcblx0ICogTWV0aG9kIHNldCBpbiBgcmVnaXN0ZXJPbkNoYW5nZWAgdG8gcHJvcGFnYXRlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybS5cblx0ICovXG5cdHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcblxuXHQvKipcblx0ICogQWRkcyBgc3RlcGAgdG8gdGhlIGN1cnJlbnQgYHZhbHVlYC5cblx0ICovXG5cdG9uSW5jcmVtZW50KCk6IHZvaWQge1xuXHRcdC8vIGlmIG1heCBpcyBzZXQgYW5kIHZhbHVlICsgc3RlcCBpcyBncmVhdGVyIHRoYW4gbWF4LCBzZXQgdmFsdWUgdG8gbWF4XG5cdFx0Ly8gZXhhbXBsZTogbWF4ID0gMTAwLCBzdGVwID0gMTAsIHZhbHVlID0gOTUgLCB2YWx1ZSArIHN0ZXAgPSAxMDUsIHZhbHVlIHdpbGwgYmUgc2V0IHRvIDEwMCAobWF4KSBpbnN0ZWFkIG9mIDEwNVxuXHRcdGlmICh0aGlzLm1heCAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICsgdGhpcy5zdGVwID4gdGhpcy5tYXgpIHtcblx0XHRcdHRoaXMudmFsdWUgPSB0aGlzLm1heDtcblx0XHRcdHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gaWYgbWluIGlzIHNldCBhbmQgdmFsdWUgKyBzdGVwIGlzIGxlc3MgdGhhbiBtaW4sIHNldCB2YWx1ZSB0byBtaW5cblx0XHQvLyBleGFtcGxlOiBtaW4gPSA1LCBzdGVwID0gMiwgdmFsdWUgPSAwLCB2YWx1ZSArIHN0ZXAgPSAyLCB2YWx1ZSB3aWxsIGJlIHNldCB0byA1IChtaW4pIGluc3RlYWQgb2YgMlxuXHRcdGlmICh0aGlzLm1pbiAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDwgdGhpcy5taW4pIHtcblx0XHRcdHRoaXMudmFsdWUgPSB0aGlzLm1pbjtcblx0XHRcdHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gaWYgbWF4IGlzIG5vdCBzZXQgb3IgdmFsdWUgKyBzdGVwIGlzIGxlc3MgdGhhbiBtYXgsIGluY3JlbWVudCB2YWx1ZSBieSBzdGVwXG5cdFx0aWYgKHRoaXMubWF4ID09PSBudWxsIHx8IHRoaXMudmFsdWUgKyB0aGlzLnN0ZXAgPD0gdGhpcy5tYXgpIHtcblx0XHRcdHRoaXMudmFsdWUgKz0gdGhpcy5zdGVwO1xuXHRcdFx0dGhpcy52YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy52YWx1ZS50b1ByZWNpc2lvbih0aGlzLnByZWNpc2lvbikpO1xuXHRcdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU3VidHJhY3RzIGBzdGVwYCB0byB0aGUgY3VycmVudCBgdmFsdWVgLlxuXHQgKi9cblx0b25EZWNyZW1lbnQoKTogdm9pZCB7XG5cdFx0Ly8gaWYgbWF4IGlzIHNldCBhbmQgdmFsdWUgLSBzdGVwIGlzIGdyZWF0ZXIgdGhhbiBtYXgsIHNldCB2YWx1ZSB0byBtYXhcblx0XHQvLyBleGFtcGxlOiBtYXggPSAxNSwgc3RlcCA9IDIsIHZhbHVlID0gMjAsIHZhbHVlIC0gc3RlcCA9IDE4LCB2YWx1ZSB3aWxsIGJlIHNldCB0byAxNSAobWF4KSBpbnN0ZWFkIG9mIDE4XG5cdFx0aWYgKHRoaXMubWF4ICE9PSBudWxsICYmIHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAgPiB0aGlzLm1heCkge1xuXHRcdFx0dGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuXHRcdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBpZiBtaW4gaXMgc2V0IGFuZCB2YWx1ZSAtIHN0ZXAgaXMgbGVzcyB0aGFuIG1pbiwgc2V0IHZhbHVlIHRvIG1pblxuXHRcdC8vIGV4YW1wbGU6IG1pbiA9IDUsIHN0ZXAgPSAyLCB2YWx1ZSA9IDYsIHZhbHVlIC0gc3RlcCA9IDQsIHZhbHVlIHdpbGwgYmUgc2V0IHRvIDUgKG1pbikgaW5zdGVhZCBvZiA0XG5cdFx0aWYgKHRoaXMubWluICE9PSBudWxsICYmIHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAgPCB0aGlzLm1pbikge1xuXHRcdFx0dGhpcy52YWx1ZSA9IHRoaXMubWluO1xuXHRcdFx0dGhpcy5lbWl0Q2hhbmdlRXZlbnQoKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBpZiBtaW4gaXMgbm90IHNldCBvciB2YWx1ZSAtIHN0ZXAgaXMgZ3JlYXRlciB0aGFuIG1pbiwgZGVjcmVtZW50IHZhbHVlIGJ5IHN0ZXBcblx0XHRpZiAodGhpcy5taW4gPT09IG51bGwgfHwgdGhpcy52YWx1ZSAtIHRoaXMuc3RlcCA+PSB0aGlzLm1pbikge1xuXHRcdFx0dGhpcy52YWx1ZSAtPSB0aGlzLnN0ZXA7XG5cdFx0XHR0aGlzLnZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLnZhbHVlLnRvUHJlY2lzaW9uKHRoaXMucHJlY2lzaW9uKSk7XG5cdFx0XHR0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuXHRcdH1cblx0fVxuXG5cdGdldERlY3JlbWVudExhYmVsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG5cdFx0cmV0dXJuIHRoaXMuX2RlY3JlbWVudExhYmVsLnN1YmplY3Q7XG5cdH1cblxuXHRnZXRJbmNyZW1lbnRMYWJlbCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuXHRcdHJldHVybiB0aGlzLl9pbmNyZW1lbnRMYWJlbC5zdWJqZWN0O1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBjbGFzcyBvZiBgTnVtYmVyQ2hhbmdlYCB0byBlbWl0IHRoZSBjaGFuZ2UgaW4gdGhlIGBOdW1iZXJgLlxuXHQgKi9cblx0ZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuXHRcdGxldCBldmVudCA9IG5ldyBOdW1iZXJDaGFuZ2UoKTtcblx0XHRldmVudC5zb3VyY2UgPSB0aGlzO1xuXHRcdGV2ZW50LnZhbHVlID0gdGhpcy52YWx1ZTtcblx0XHR0aGlzLmNoYW5nZS5lbWl0KGV2ZW50KTtcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKTtcblx0fVxuXG5cdG9uTnVtYmVySW5wdXRDaGFuZ2UoZXZlbnQpIHtcblx0XHR0aGlzLnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXHRcdHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG5cdH1cblxuXHRwdWJsaWMgaXNUZW1wbGF0ZSh2YWx1ZSkge1xuXHRcdHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xuXHR9XG5cblx0aGFuZGxlRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcblx0XHRpZiAoXCJ0eXBlXCIgaW4gZXZlbnQudGFyZ2V0ICYmICg8SFRNTElucHV0RWxlbWVudD5ldmVudC50YXJnZXQpLnR5cGUgPT09IFwiYnV0dG9uXCIpIHtcblx0XHRcdHRoaXMuX2lzRm9jdXNlZCA9IGZhbHNlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLl9pc0ZvY3VzZWQgPSBldmVudC50eXBlID09PSBcImZvY3VzXCI7XG5cdFx0fVxuXHR9XG59XG5leHBvcnQgeyBOdW1iZXJDb21wb25lbnQgYXMgTnVtYmVyIH07XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, Input, Output, EventEmitter } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "carbon-components-angular/i18n";
4
4
  import * as i2 from "@angular/common";
@@ -142,7 +142,7 @@ export class ProgressIndicator {
142
142
  </li>
143
143
  }
144
144
  </ul>
145
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] }); }
145
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
146
  }
147
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ProgressIndicator, decorators: [{
148
148
  type: Component,
@@ -202,7 +202,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
202
202
  </li>
203
203
  }
204
204
  </ul>
205
- `
205
+ `,
206
+ changeDetection: ChangeDetectionStrategy.OnPush
206
207
  }]
207
208
  }], ctorParameters: () => [{ type: i1.I18n }], propDecorators: { current: [{
208
209
  type: Input
@@ -219,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
219
220
  }], spacing: [{
220
221
  type: Input
221
222
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sZUFBZSxDQUFDOzs7OztBQUl2Qjs7Ozs7Ozs7R0FRRztBQTJESCxNQUFNLE9BQU8saUJBQWlCO0lBQzdCLElBQWEsT0FBTztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUNELE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBaUI7UUFDckMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQW9CRCxZQUFzQixJQUFVO1FBQVYsU0FBSSxHQUFKLElBQUksQ0FBTTtRQWpCdEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUVsRSxpQkFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7UUFDbEQsZ0JBQVcsR0FBOEIsWUFBWSxDQUFDO1FBQ3RELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUF3QixTQUFTLENBQUM7UUFFbEQsdUNBQXVDO1FBQzlCLGdCQUFXLEdBQUc7WUFDdEIsT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixPQUFPLEVBQUUsU0FBUztZQUNsQixVQUFVLEVBQUUsYUFBYTtTQUN6QixDQUFDO0lBSWtDLENBQUM7SUFFckM7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxLQUFhO1FBQ3BCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxlQUFlLENBQUMsS0FBYTtRQUM1QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxPQUFPLFNBQVMsQ0FBQztRQUNsQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8sVUFBVSxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLFlBQVksQ0FBQztJQUNyQixDQUFDO0lBRU8sMEJBQTBCO1FBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1IsQ0FBQztRQUVELG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4QyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOytHQWxGVyxpQkFBaUI7bUdBQWpCLGlCQUFpQixxUkF4RG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzRFQ7OzRGQUVXLGlCQUFpQjtrQkExRDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdEQUFnRDtvQkFDMUQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzRFQ7aUJBQ0Q7eUVBRWEsT0FBTztzQkFBbkIsS0FBSztnQkFnQkcsS0FBSztzQkFBYixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHRFdmVudEVtaXR0ZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEkxOG4gfSBmcm9tIFwiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci9pMThuXCI7XG5pbXBvcnQgeyBTdGVwIH0gZnJvbSBcIi4vcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0ZXAuaW50ZXJmYWNlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBQcm9ncmVzc0luZGljYXRvck1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1wcm9ncmVzcy1pbmRpY2F0b3ItLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXByb2dyZXNzLWluZGljYXRvciwgaWJtLXByb2dyZXNzLWluZGljYXRvclwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDx1bFxuXHRcdFx0ZGF0YS1wcm9ncmVzc1xuXHRcdFx0ZGF0YS1wcm9ncmVzcy1jdXJyZW50XG5cdFx0XHRjbGFzcz1cImNkcy0tcHJvZ3Jlc3NcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS1za2VsZXRvbic6IHNrZWxldG9uLFxuXHRcdFx0XHQnY2RzLS1wcm9ncmVzcy0tdmVydGljYWwnOiAob3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcpLFxuXHRcdFx0XHQnY2RzLS1wcm9ncmVzcy0tc3BhY2UtZXF1YWwnOiBzcGFjaW5nID09PSAnZXF1YWwnICYmIG9yaWVudGF0aW9uICE9PSAndmVydGljYWwnXG5cdFx0XHR9XCI+XG5cdFx0XHRAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayBzdGVwOyBsZXQgaSA9ICRpbmRleCkge1xuXHRcdFx0XHQ8bGlcblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tcHJvZ3Jlc3Mtc3RlcFwiXG5cdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tcHJvZ3Jlc3Mtc3RlcC0tZGlzYWJsZWQnIDogc3RlcC5kaXNhYmxlZCxcblx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzLXN0ZXAtLWNvbXBsZXRlJyA6IHN0ZXAuY29tcGxldGUsXG5cdFx0XHRcdFx0XHQnY2RzLS1wcm9ncmVzcy1zdGVwLS1pbmNvbXBsZXRlJyA6ICFzdGVwLmNvbXBsZXRlICYmIGkgIT09IGN1cnJlbnQsXG5cdFx0XHRcdFx0XHQnY2RzLS1wcm9ncmVzcy1zdGVwLS1jdXJyZW50JzogaSA9PT0gY3VycmVudFxuXHRcdFx0XHRcdH1cIj5cblx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1zdGVwLWJ1dHRvblwiXG5cdFx0XHRcdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzLXN0ZXAtYnV0dG9uLS11bmNsaWNrYWJsZSc6ICFzdGVwLm9uQ2xpY2sgfHwgY3VycmVudCA9PT0gaVxuXHRcdFx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwic3RlcC5kaXNhYmxlZFwiXG5cdFx0XHRcdFx0XHRbYXR0ci5hcmlhLWRpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFx0W3RhYmluZGV4XT1cIihjdXJyZW50ICE9PSBpICYmIHN0ZXAub25DbGljayAmJiAhc3RlcC5kaXNhYmxlZCkgPyAwIDogLTFcIlxuXHRcdFx0XHRcdFx0W3RpdGxlXT1cInN0ZXAubGFiZWxcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uQ2xpY2soaSlcIj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS1hc3Npc3RpdmUtdGV4dFwiPlxuXHRcdFx0XHRcdFx0XHR7e3RoaXMudHJhbnNsYXRpb25zW2dldEN1cnJlbnRTdGF0ZShpKT8udG9VcHBlckNhc2UoKV19fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0XHRbY2RzSWNvbl09XCJzdGF0dXNJY29uc1tnZXRDdXJyZW50U3RhdGUoaSldXCJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzX193YXJuaW5nJzogc3RlcC5pbnZhbGlkICYmIGkgIT09IGN1cnJlbnRcblx0XHRcdFx0XHRcdFx0fVwiPlxuXHRcdFx0XHRcdFx0XHRAaWYgKHN0ZXAuZGVzY3JpcHRpb24pIHtcblx0XHRcdFx0XHRcdFx0XHQ8dGl0bGU+e3tzdGVwLmRlc2NyaXB0aW9ufX08L3RpdGxlPlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjZHMtLXByb2dyZXNzLXRleHRcIj5cblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJjZHMtLXByb2dyZXNzLWxhYmVsXCI+e3tzdGVwLmxhYmVsfX08L3A+XG5cdFx0XHRcdFx0XHRcdEBpZiAoc3RlcC5zZWNvbmRhcnlMYWJlbCkge1xuXHRcdFx0XHRcdFx0XHRcdDxwIGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1vcHRpb25hbFwiPnt7c3RlcC5zZWNvbmRhcnlMYWJlbH19PC9wPlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1saW5lXCI+PC9zcGFuPlxuXHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHQ8L2xpPlxuXHRcdFx0fVxuXHRcdDwvdWw+XG5cdGBcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NJbmRpY2F0b3Ige1xuXHRASW5wdXQoKSBnZXQgY3VycmVudCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fY3VycmVudDtcblx0fVxuXHRzZXQgY3VycmVudChjdXJyZW50OiBudW1iZXIpIHtcblx0XHR0aGlzLl9jdXJyZW50ID0gY3VycmVudDtcblx0XHR0aGlzLnNldFByb2dyZXNzSW5kaWNhdG9yU3RhdGVzKCk7XG5cdH1cblx0c3RhdGljIHNrZWxldG9uU3RlcHMoc3RlcENvdW50OiBudW1iZXIpIHtcblx0XHRjb25zdCBzdGVwcyA9IFtdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcENvdW50OyBpKyspIHtcblx0XHRcdHN0ZXBzLnB1c2goeyBjb21wbGV0ZTogZmFsc2UgfSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN0ZXBzO1xuXHR9XG5cblx0QElucHV0KCkgc3RlcHM6IEFycmF5PFN0ZXA+O1xuXHRAT3V0cHV0KCkgc3RlcFNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0ZXA6IFN0ZXAsIGluZGV4OiBudW1iZXIgfT4oKTtcblxuXHRASW5wdXQoKSB0cmFuc2xhdGlvbnMgPSB0aGlzLmkxOG4uZ2V0KCkuUFJPR1JFU1NfSU5ESUNBVE9SO1xuXHRASW5wdXQoKSBvcmllbnRhdGlvbjogXCJob3Jpem9udGFsXCIgfCBcInZlcnRpY2FsXCIgPSBcImhvcml6b250YWxcIjtcblx0QElucHV0KCkgc2tlbGV0b24gPSBmYWxzZTtcblx0QElucHV0KCkgc3BhY2luZzogXCJkZWZhdWx0XCIgfCBcImVxdWFsXCIgPSBcImRlZmF1bHRcIjtcblxuXHQvLyBHZXQgaWNvbiBuYW1lcyBiYXNlZCBmb3IgZWFjaCBzdGF0dXNcblx0cmVhZG9ubHkgc3RhdHVzSWNvbnMgPSB7XG5cdFx0Y3VycmVudDogXCJpbmNvbXBsZXRlXCIsXG5cdFx0Y29tcGxldGU6IFwiY2hlY2ttYXJrLS1vdXRsaW5lXCIsXG5cdFx0aW52YWxpZDogXCJ3YXJuaW5nXCIsXG5cdFx0aW5jb21wbGV0ZTogXCJjaXJjbGUtZGFzaFwiXG5cdH07XG5cblx0cHJpdmF0ZSBfY3VycmVudDogbnVtYmVyO1xuXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpMThuOiBJMThuKSB7IH1cblxuXHQvKipcblx0ICogRXhlY3V0ZXMgY2xpY2sgZnVuY3Rpb24gaWYgYG9uQ2xpY2tgIGV4aXN0cyBmb3Igc3RlcFxuXHQgKiBgQ3VycmVudGAgc3RlcCBmdW5jdGlvbnMgd2lsbCBub3QgYmUgZXhlY3V0ZWRcblx0ICogQHBhcmFtIGluZGV4IG51bWJlclxuXHQgKi9cblx0b25DbGljayhpbmRleDogbnVtYmVyKSB7XG5cdFx0aWYgKGluZGV4ICE9PSB0aGlzLmN1cnJlbnQgJiYgdHlwZW9mIHRoaXMuc3RlcHNbaW5kZXhdLm9uQ2xpY2sgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0dGhpcy5zdGVwc1tpbmRleF0ub25DbGljaygpO1xuXHRcdH1cblx0XHR0aGlzLnN0ZXBTZWxlY3RlZC5lbWl0KHsgc3RlcDogdGhpcy5zdGVwc1tpbmRleF0sIGluZGV4IH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgY3VycmVudCBzdGF0ZSBiYXNlZCBvbiB3ZWlnaHQgb2YgdGhlIHN0YXRlXG5cdCAqIFdlaWdodCBvZiBzdGF0ZSBnb2VzIGZyb20gZXJyb3IsIGluY29tcGxldGUsIGN1cnJlbnQsIGFuZCBjb21wbGV0ZVxuXHQgKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGljb24gJiB0cmFuc2xhdGlvbiBzdHJpbmcgdG8gZGlzcGxheVxuXHQgKiBAcGFyYW0gaW5kZXggbnVtYmVyXG5cdCAqIEByZXR1cm5zIHN0cmluZ1xuXHQgKi9cblx0Z2V0Q3VycmVudFN0YXRlKGluZGV4OiBudW1iZXIpIHtcblx0XHRpZiAoaW5kZXggPT09IHRoaXMuY3VycmVudCkge1xuXHRcdFx0cmV0dXJuIFwiY3VycmVudFwiO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5zdGVwc1tpbmRleF0uaW52YWxpZCkge1xuXHRcdFx0cmV0dXJuIFwiaW52YWxpZFwiO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5zdGVwc1tpbmRleF0uY29tcGxldGUpIHtcblx0XHRcdHJldHVybiBcImNvbXBsZXRlXCI7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIFwiaW5jb21wbGV0ZVwiO1xuXHR9XG5cblx0cHJpdmF0ZSBzZXRQcm9ncmVzc0luZGljYXRvclN0YXRlcygpIHtcblx0XHRpZiAodGhpcy5zdGVwcyA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gU2V0IGFsbCBwcmVjZWRpbmcgc3RlcHMgdG8gYGNvbXBsZXRlYCAmIGZvbGxvd2luZyB0byBgaW5jb21wbGV0ZWBcblx0XHR0aGlzLnN0ZXBzLmZvckVhY2goKHN0ZXA6IFN0ZXAsIGluZGV4KSA9PiB7XG5cdFx0XHRpZiAoaW5kZXggPCB0aGlzLmN1cnJlbnQpIHtcblx0XHRcdFx0c3RlcC5jb21wbGV0ZSA9IHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzdGVwLmNvbXBsZXRlID0gZmFsc2U7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFJdkI7Ozs7Ozs7O0dBUUc7QUE0REgsTUFBTSxPQUFPLGlCQUFpQjtJQUM3QixJQUFhLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFlO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQWlCO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFvQkQsWUFBc0IsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07UUFqQnRCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFbEUsaUJBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO1FBQ2xELGdCQUFXLEdBQThCLFlBQVksQ0FBQztRQUN0RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBd0IsU0FBUyxDQUFDO1FBRWxELHVDQUF1QztRQUM5QixnQkFBVyxHQUFHO1lBQ3RCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsVUFBVSxFQUFFLGFBQWE7U0FDekIsQ0FBQztJQUlrQyxDQUFDO0lBRXJDOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsS0FBYTtRQUNwQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsZUFBZSxDQUFDLEtBQWE7UUFDNUIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLE9BQU8sU0FBUyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEMsT0FBTyxTQUFTLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFVBQVUsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDckIsQ0FBQztJQUVPLDBCQUEwQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsT0FBTztRQUNSLENBQUM7UUFFRCxvRUFBb0U7UUFDcEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN0QixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0FsRlcsaUJBQWlCO21HQUFqQixpQkFBaUIscVJBekRuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBc0RUOzs0RkFHVyxpQkFBaUI7a0JBM0Q3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxnREFBZ0Q7b0JBQzFELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBc0RUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQzt5RUFFYSxPQUFPO3NCQUFuQixLQUFLO2dCQWdCRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRFdmVudEVtaXR0ZXIsXG5cdElucHV0LFxuXHRPdXRwdXRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEkxOG4gfSBmcm9tIFwiY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhci9pMThuXCI7XG5pbXBvcnQgeyBTdGVwIH0gZnJvbSBcIi4vcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0ZXAuaW50ZXJmYWNlXCI7XG5cbi8qKlxuICogR2V0IHN0YXJ0ZWQgd2l0aCBpbXBvcnRpbmcgdGhlIG1vZHVsZTpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBQcm9ncmVzc0luZGljYXRvck1vZHVsZSB9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuICogYGBgXG4gKlxuICogW1NlZSBkZW1vXSguLi8uLi8/cGF0aD0vc3RvcnkvY29tcG9uZW50cy1wcm9ncmVzcy1pbmRpY2F0b3ItLWJhc2ljKVxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6IFwiY2RzLXByb2dyZXNzLWluZGljYXRvciwgaWJtLXByb2dyZXNzLWluZGljYXRvclwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDx1bFxuXHRcdFx0ZGF0YS1wcm9ncmVzc1xuXHRcdFx0ZGF0YS1wcm9ncmVzcy1jdXJyZW50XG5cdFx0XHRjbGFzcz1cImNkcy0tcHJvZ3Jlc3NcIlxuXHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHQnY2RzLS1za2VsZXRvbic6IHNrZWxldG9uLFxuXHRcdFx0XHQnY2RzLS1wcm9ncmVzcy0tdmVydGljYWwnOiAob3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcpLFxuXHRcdFx0XHQnY2RzLS1wcm9ncmVzcy0tc3BhY2UtZXF1YWwnOiBzcGFjaW5nID09PSAnZXF1YWwnICYmIG9yaWVudGF0aW9uICE9PSAndmVydGljYWwnXG5cdFx0XHR9XCI+XG5cdFx0XHRAZm9yIChzdGVwIG9mIHN0ZXBzOyB0cmFjayBzdGVwOyBsZXQgaSA9ICRpbmRleCkge1xuXHRcdFx0XHQ8bGlcblx0XHRcdFx0XHRjbGFzcz1cImNkcy0tcHJvZ3Jlc3Mtc3RlcFwiXG5cdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0J2Nkcy0tcHJvZ3Jlc3Mtc3RlcC0tZGlzYWJsZWQnIDogc3RlcC5kaXNhYmxlZCxcblx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzLXN0ZXAtLWNvbXBsZXRlJyA6IHN0ZXAuY29tcGxldGUsXG5cdFx0XHRcdFx0XHQnY2RzLS1wcm9ncmVzcy1zdGVwLS1pbmNvbXBsZXRlJyA6ICFzdGVwLmNvbXBsZXRlICYmIGkgIT09IGN1cnJlbnQsXG5cdFx0XHRcdFx0XHQnY2RzLS1wcm9ncmVzcy1zdGVwLS1jdXJyZW50JzogaSA9PT0gY3VycmVudFxuXHRcdFx0XHRcdH1cIj5cblx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1zdGVwLWJ1dHRvblwiXG5cdFx0XHRcdFx0XHRbbmdDbGFzc109XCJ7XG5cdFx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzLXN0ZXAtYnV0dG9uLS11bmNsaWNrYWJsZSc6ICFzdGVwLm9uQ2xpY2sgfHwgY3VycmVudCA9PT0gaVxuXHRcdFx0XHRcdFx0fVwiXG5cdFx0XHRcdFx0XHRbZGlzYWJsZWRdPVwic3RlcC5kaXNhYmxlZFwiXG5cdFx0XHRcdFx0XHRbYXR0ci5hcmlhLWRpc2FibGVkXT1cInN0ZXAuZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFx0W3RhYmluZGV4XT1cIihjdXJyZW50ICE9PSBpICYmIHN0ZXAub25DbGljayAmJiAhc3RlcC5kaXNhYmxlZCkgPyAwIDogLTFcIlxuXHRcdFx0XHRcdFx0W3RpdGxlXT1cInN0ZXAubGFiZWxcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cIm9uQ2xpY2soaSlcIj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS1hc3Npc3RpdmUtdGV4dFwiPlxuXHRcdFx0XHRcdFx0XHR7e3RoaXMudHJhbnNsYXRpb25zW2dldEN1cnJlbnRTdGF0ZShpKT8udG9VcHBlckNhc2UoKV19fVxuXHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0PHN2Z1xuXHRcdFx0XHRcdFx0XHRbY2RzSWNvbl09XCJzdGF0dXNJY29uc1tnZXRDdXJyZW50U3RhdGUoaSldXCJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cIjE2XCJcblx0XHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwie1xuXHRcdFx0XHRcdFx0XHRcdCdjZHMtLXByb2dyZXNzX193YXJuaW5nJzogc3RlcC5pbnZhbGlkICYmIGkgIT09IGN1cnJlbnRcblx0XHRcdFx0XHRcdFx0fVwiPlxuXHRcdFx0XHRcdFx0XHRAaWYgKHN0ZXAuZGVzY3JpcHRpb24pIHtcblx0XHRcdFx0XHRcdFx0XHQ8dGl0bGU+e3tzdGVwLmRlc2NyaXB0aW9ufX08L3RpdGxlPlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ8L3N2Zz5cblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjZHMtLXByb2dyZXNzLXRleHRcIj5cblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJjZHMtLXByb2dyZXNzLWxhYmVsXCI+e3tzdGVwLmxhYmVsfX08L3A+XG5cdFx0XHRcdFx0XHRcdEBpZiAoc3RlcC5zZWNvbmRhcnlMYWJlbCkge1xuXHRcdFx0XHRcdFx0XHRcdDxwIGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1vcHRpb25hbFwiPnt7c3RlcC5zZWNvbmRhcnlMYWJlbH19PC9wPlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwiY2RzLS1wcm9ncmVzcy1saW5lXCI+PC9zcGFuPlxuXHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHQ8L2xpPlxuXHRcdFx0fVxuXHRcdDwvdWw+XG5cdGAsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByb2dyZXNzSW5kaWNhdG9yIHtcblx0QElucHV0KCkgZ2V0IGN1cnJlbnQoKSB7XG5cdFx0cmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG5cdH1cblx0c2V0IGN1cnJlbnQoY3VycmVudDogbnVtYmVyKSB7XG5cdFx0dGhpcy5fY3VycmVudCA9IGN1cnJlbnQ7XG5cdFx0dGhpcy5zZXRQcm9ncmVzc0luZGljYXRvclN0YXRlcygpO1xuXHR9XG5cdHN0YXRpYyBza2VsZXRvblN0ZXBzKHN0ZXBDb3VudDogbnVtYmVyKSB7XG5cdFx0Y29uc3Qgc3RlcHMgPSBbXTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHN0ZXBDb3VudDsgaSsrKSB7XG5cdFx0XHRzdGVwcy5wdXNoKHsgY29tcGxldGU6IGZhbHNlIH0pO1xuXHRcdH1cblxuXHRcdHJldHVybiBzdGVwcztcblx0fVxuXG5cdEBJbnB1dCgpIHN0ZXBzOiBBcnJheTxTdGVwPjtcblx0QE91dHB1dCgpIHN0ZXBTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzdGVwOiBTdGVwLCBpbmRleDogbnVtYmVyIH0+KCk7XG5cblx0QElucHV0KCkgdHJhbnNsYXRpb25zID0gdGhpcy5pMThuLmdldCgpLlBST0dSRVNTX0lORElDQVRPUjtcblx0QElucHV0KCkgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiIHwgXCJ2ZXJ0aWNhbFwiID0gXCJob3Jpem9udGFsXCI7XG5cdEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG5cdEBJbnB1dCgpIHNwYWNpbmc6IFwiZGVmYXVsdFwiIHwgXCJlcXVhbFwiID0gXCJkZWZhdWx0XCI7XG5cblx0Ly8gR2V0IGljb24gbmFtZXMgYmFzZWQgZm9yIGVhY2ggc3RhdHVzXG5cdHJlYWRvbmx5IHN0YXR1c0ljb25zID0ge1xuXHRcdGN1cnJlbnQ6IFwiaW5jb21wbGV0ZVwiLFxuXHRcdGNvbXBsZXRlOiBcImNoZWNrbWFyay0tb3V0bGluZVwiLFxuXHRcdGludmFsaWQ6IFwid2FybmluZ1wiLFxuXHRcdGluY29tcGxldGU6IFwiY2lyY2xlLWRhc2hcIlxuXHR9O1xuXG5cdHByaXZhdGUgX2N1cnJlbnQ6IG51bWJlcjtcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaTE4bjogSTE4bikgeyB9XG5cblx0LyoqXG5cdCAqIEV4ZWN1dGVzIGNsaWNrIGZ1bmN0aW9uIGlmIGBvbkNsaWNrYCBleGlzdHMgZm9yIHN0ZXBcblx0ICogYEN1cnJlbnRgIHN0ZXAgZnVuY3Rpb25zIHdpbGwgbm90IGJlIGV4ZWN1dGVkXG5cdCAqIEBwYXJhbSBpbmRleCBudW1iZXJcblx0ICovXG5cdG9uQ2xpY2soaW5kZXg6IG51bWJlcikge1xuXHRcdGlmIChpbmRleCAhPT0gdGhpcy5jdXJyZW50ICYmIHR5cGVvZiB0aGlzLnN0ZXBzW2luZGV4XS5vbkNsaWNrID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdHRoaXMuc3RlcHNbaW5kZXhdLm9uQ2xpY2soKTtcblx0XHR9XG5cdFx0dGhpcy5zdGVwU2VsZWN0ZWQuZW1pdCh7IHN0ZXA6IHRoaXMuc3RlcHNbaW5kZXhdLCBpbmRleCB9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGN1cnJlbnQgc3RhdGUgYmFzZWQgb24gd2VpZ2h0IG9mIHRoZSBzdGF0ZVxuXHQgKiBXZWlnaHQgb2Ygc3RhdGUgZ29lcyBmcm9tIGVycm9yLCBpbmNvbXBsZXRlLCBjdXJyZW50LCBhbmQgY29tcGxldGVcblx0ICpcblx0ICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGRldGVybWluZSB3aGljaCBpY29uICYgdHJhbnNsYXRpb24gc3RyaW5nIHRvIGRpc3BsYXlcblx0ICogQHBhcmFtIGluZGV4IG51bWJlclxuXHQgKiBAcmV0dXJucyBzdHJpbmdcblx0ICovXG5cdGdldEN1cnJlbnRTdGF0ZShpbmRleDogbnVtYmVyKSB7XG5cdFx0aWYgKGluZGV4ID09PSB0aGlzLmN1cnJlbnQpIHtcblx0XHRcdHJldHVybiBcImN1cnJlbnRcIjtcblx0XHR9IGVsc2UgaWYgKHRoaXMuc3RlcHNbaW5kZXhdLmludmFsaWQpIHtcblx0XHRcdHJldHVybiBcImludmFsaWRcIjtcblx0XHR9IGVsc2UgaWYgKHRoaXMuc3RlcHNbaW5kZXhdLmNvbXBsZXRlKSB7XG5cdFx0XHRyZXR1cm4gXCJjb21wbGV0ZVwiO1xuXHRcdH1cblxuXHRcdHJldHVybiBcImluY29tcGxldGVcIjtcblx0fVxuXG5cdHByaXZhdGUgc2V0UHJvZ3Jlc3NJbmRpY2F0b3JTdGF0ZXMoKSB7XG5cdFx0aWYgKHRoaXMuc3RlcHMgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIFNldCBhbGwgcHJlY2VkaW5nIHN0ZXBzIHRvIGBjb21wbGV0ZWAgJiBmb2xsb3dpbmcgdG8gYGluY29tcGxldGVgXG5cdFx0dGhpcy5zdGVwcy5mb3JFYWNoKChzdGVwOiBTdGVwLCBpbmRleCkgPT4ge1xuXHRcdFx0aWYgKGluZGV4IDwgdGhpcy5jdXJyZW50KSB7XG5cdFx0XHRcdHN0ZXAuY29tcGxldGUgPSB0cnVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0c3RlcC5jb21wbGV0ZSA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG59XG4iXX0=