@ni/nimble-angular 25.3.3 → 26.0.1

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 (625) hide show
  1. package/README.md +1 -1
  2. package/directives/radio/nimble-radio.module.d.ts +1 -2
  3. package/esm2022/card/nimble-card.directive.mjs +3 -3
  4. package/esm2022/card/nimble-card.module.mjs +4 -4
  5. package/esm2022/directives/anchor/nimble-anchor-router-link-with-href.directive.mjs +3 -3
  6. package/esm2022/directives/anchor/nimble-anchor-router-link.directive.mjs +4 -4
  7. package/esm2022/directives/anchor/nimble-anchor.directive.mjs +5 -5
  8. package/esm2022/directives/anchor/nimble-anchor.module.mjs +4 -4
  9. package/esm2022/directives/anchor-base/disableable-router-link-with-href.directive.mjs +6 -6
  10. package/esm2022/directives/anchor-base/nimble-anchor-base.directive.mjs +5 -5
  11. package/esm2022/directives/anchor-button/nimble-anchor-button-router-link-with-href.directive.mjs +3 -3
  12. package/esm2022/directives/anchor-button/nimble-anchor-button-router-link.directive.mjs +4 -4
  13. package/esm2022/directives/anchor-button/nimble-anchor-button.directive.mjs +5 -5
  14. package/esm2022/directives/anchor-button/nimble-anchor-button.module.mjs +4 -4
  15. package/esm2022/directives/anchor-menu-item/nimble-anchor-menu-item-router-link-with-href.directive.mjs +3 -3
  16. package/esm2022/directives/anchor-menu-item/nimble-anchor-menu-item-router-link.directive.mjs +4 -4
  17. package/esm2022/directives/anchor-menu-item/nimble-anchor-menu-item.directive.mjs +5 -5
  18. package/esm2022/directives/anchor-menu-item/nimble-anchor-menu-item.module.mjs +4 -4
  19. package/esm2022/directives/anchor-tab/nimble-anchor-tab-router-link-with-href.directive.mjs +3 -3
  20. package/esm2022/directives/anchor-tab/nimble-anchor-tab-router-link.directive.mjs +4 -4
  21. package/esm2022/directives/anchor-tab/nimble-anchor-tab.directive.mjs +5 -5
  22. package/esm2022/directives/anchor-tab/nimble-anchor-tab.module.mjs +4 -4
  23. package/esm2022/directives/anchor-tabs/nimble-anchor-tabs.directive.mjs +5 -5
  24. package/esm2022/directives/anchor-tabs/nimble-anchor-tabs.module.mjs +4 -4
  25. package/esm2022/directives/anchor-tree-item/nimble-anchor-tree-item-router-link-with-href.directive.mjs +3 -3
  26. package/esm2022/directives/anchor-tree-item/nimble-anchor-tree-item-router-link.directive.mjs +4 -4
  27. package/esm2022/directives/anchor-tree-item/nimble-anchor-tree-item.directive.mjs +5 -5
  28. package/esm2022/directives/anchor-tree-item/nimble-anchor-tree-item.module.mjs +4 -4
  29. package/esm2022/directives/banner/nimble-banner.directive.mjs +5 -5
  30. package/esm2022/directives/banner/nimble-banner.module.mjs +4 -4
  31. package/esm2022/directives/breadcrumb/nimble-breadcrumb.directive.mjs +5 -5
  32. package/esm2022/directives/breadcrumb/nimble-breadcrumb.module.mjs +4 -4
  33. package/esm2022/directives/breadcrumb-item/nimble-breadcrumb-item-router-link-with-href.directive.mjs +6 -6
  34. package/esm2022/directives/breadcrumb-item/nimble-breadcrumb-item-router-link.directive.mjs +4 -4
  35. package/esm2022/directives/breadcrumb-item/nimble-breadcrumb-item.directive.mjs +4 -4
  36. package/esm2022/directives/breadcrumb-item/nimble-breadcrumb-item.module.mjs +4 -4
  37. package/esm2022/directives/button/nimble-button.directive.mjs +5 -5
  38. package/esm2022/directives/button/nimble-button.module.mjs +4 -4
  39. package/esm2022/directives/card-button/nimble-card-button.directive.mjs +5 -5
  40. package/esm2022/directives/card-button/nimble-card-button.module.mjs +4 -4
  41. package/esm2022/directives/checkbox/nimble-checkbox-control-value-accessor.directive.mjs +3 -3
  42. package/esm2022/directives/checkbox/nimble-checkbox.directive.mjs +5 -5
  43. package/esm2022/directives/checkbox/nimble-checkbox.module.mjs +4 -4
  44. package/esm2022/directives/combobox/nimble-combobox-control-value-accessor.directive.mjs +5 -5
  45. package/esm2022/directives/combobox/nimble-combobox.directive.mjs +5 -5
  46. package/esm2022/directives/combobox/nimble-combobox.module.mjs +4 -4
  47. package/esm2022/directives/dialog/nimble-dialog.directive.mjs +5 -5
  48. package/esm2022/directives/dialog/nimble-dialog.module.mjs +4 -4
  49. package/esm2022/directives/drawer/nimble-drawer.directive.mjs +5 -5
  50. package/esm2022/directives/drawer/nimble-drawer.module.mjs +4 -4
  51. package/esm2022/directives/icon-base/nimble-icon-base.directive.mjs +5 -5
  52. package/esm2022/directives/icons/add/nimble-icon-add.directive.mjs +3 -3
  53. package/esm2022/directives/icons/add/nimble-icon-add.module.mjs +4 -4
  54. package/esm2022/directives/icons/arrow-down/nimble-icon-arrow-down.directive.mjs +3 -3
  55. package/esm2022/directives/icons/arrow-down/nimble-icon-arrow-down.module.mjs +4 -4
  56. package/esm2022/directives/icons/arrow-down-left-and-arrow-up-right/nimble-icon-arrow-down-left-and-arrow-up-right.directive.mjs +3 -3
  57. package/esm2022/directives/icons/arrow-down-left-and-arrow-up-right/nimble-icon-arrow-down-left-and-arrow-up-right.module.mjs +4 -4
  58. package/esm2022/directives/icons/arrow-down-right-and-arrow-up-left/nimble-icon-arrow-down-right-and-arrow-up-left.directive.mjs +3 -3
  59. package/esm2022/directives/icons/arrow-down-right-and-arrow-up-left/nimble-icon-arrow-down-right-and-arrow-up-left.module.mjs +4 -4
  60. package/esm2022/directives/icons/arrow-expander-down/nimble-icon-arrow-expander-down.directive.mjs +3 -3
  61. package/esm2022/directives/icons/arrow-expander-down/nimble-icon-arrow-expander-down.module.mjs +4 -4
  62. package/esm2022/directives/icons/arrow-expander-left/nimble-icon-arrow-expander-left.directive.mjs +3 -3
  63. package/esm2022/directives/icons/arrow-expander-left/nimble-icon-arrow-expander-left.module.mjs +4 -4
  64. package/esm2022/directives/icons/arrow-expander-right/nimble-icon-arrow-expander-right.directive.mjs +3 -3
  65. package/esm2022/directives/icons/arrow-expander-right/nimble-icon-arrow-expander-right.module.mjs +4 -4
  66. package/esm2022/directives/icons/arrow-expander-up/nimble-icon-arrow-expander-up.directive.mjs +3 -3
  67. package/esm2022/directives/icons/arrow-expander-up/nimble-icon-arrow-expander-up.module.mjs +4 -4
  68. package/esm2022/directives/icons/arrow-in-circle/nimble-icon-arrow-in-circle.directive.mjs +3 -3
  69. package/esm2022/directives/icons/arrow-in-circle/nimble-icon-arrow-in-circle.module.mjs +4 -4
  70. package/esm2022/directives/icons/arrow-left-from-line/nimble-icon-arrow-left-from-line.directive.mjs +3 -3
  71. package/esm2022/directives/icons/arrow-left-from-line/nimble-icon-arrow-left-from-line.module.mjs +4 -4
  72. package/esm2022/directives/icons/arrow-out-circle/nimble-icon-arrow-out-circle.directive.mjs +3 -3
  73. package/esm2022/directives/icons/arrow-out-circle/nimble-icon-arrow-out-circle.module.mjs +4 -4
  74. package/esm2022/directives/icons/arrow-partial-rotate-left/nimble-icon-arrow-partial-rotate-left.directive.mjs +3 -3
  75. package/esm2022/directives/icons/arrow-partial-rotate-left/nimble-icon-arrow-partial-rotate-left.module.mjs +4 -4
  76. package/esm2022/directives/icons/arrow-right-thin/nimble-icon-arrow-right-thin.directive.mjs +3 -3
  77. package/esm2022/directives/icons/arrow-right-thin/nimble-icon-arrow-right-thin.module.mjs +4 -4
  78. package/esm2022/directives/icons/arrow-right-to-line/nimble-icon-arrow-right-to-line.directive.mjs +3 -3
  79. package/esm2022/directives/icons/arrow-right-to-line/nimble-icon-arrow-right-to-line.module.mjs +4 -4
  80. package/esm2022/directives/icons/arrow-rotate-right/nimble-icon-arrow-rotate-right.directive.mjs +3 -3
  81. package/esm2022/directives/icons/arrow-rotate-right/nimble-icon-arrow-rotate-right.module.mjs +4 -4
  82. package/esm2022/directives/icons/arrow-u-left/nimble-icon-arrow-u-left.directive.mjs +3 -3
  83. package/esm2022/directives/icons/arrow-u-left/nimble-icon-arrow-u-left.module.mjs +4 -4
  84. package/esm2022/directives/icons/arrow-u-right/nimble-icon-arrow-u-right.directive.mjs +3 -3
  85. package/esm2022/directives/icons/arrow-u-right/nimble-icon-arrow-u-right.module.mjs +4 -4
  86. package/esm2022/directives/icons/arrow-u-up/nimble-icon-arrow-u-up.directive.mjs +3 -3
  87. package/esm2022/directives/icons/arrow-u-up/nimble-icon-arrow-u-up.module.mjs +4 -4
  88. package/esm2022/directives/icons/arrow-up/nimble-icon-arrow-up.directive.mjs +3 -3
  89. package/esm2022/directives/icons/arrow-up/nimble-icon-arrow-up.module.mjs +4 -4
  90. package/esm2022/directives/icons/arrow-up-left-and-arrow-down-right/nimble-icon-arrow-up-left-and-arrow-down-right.directive.mjs +3 -3
  91. package/esm2022/directives/icons/arrow-up-left-and-arrow-down-right/nimble-icon-arrow-up-left-and-arrow-down-right.module.mjs +4 -4
  92. package/esm2022/directives/icons/arrow-up-right-and-arrow-down-left/nimble-icon-arrow-up-right-and-arrow-down-left.directive.mjs +3 -3
  93. package/esm2022/directives/icons/arrow-up-right-and-arrow-down-left/nimble-icon-arrow-up-right-and-arrow-down-left.module.mjs +4 -4
  94. package/esm2022/directives/icons/arrow-up-right-from-square/nimble-icon-arrow-up-right-from-square.directive.mjs +3 -3
  95. package/esm2022/directives/icons/arrow-up-right-from-square/nimble-icon-arrow-up-right-from-square.module.mjs +4 -4
  96. package/esm2022/directives/icons/arrows-maximize/nimble-icon-arrows-maximize.directive.mjs +3 -3
  97. package/esm2022/directives/icons/arrows-maximize/nimble-icon-arrows-maximize.module.mjs +4 -4
  98. package/esm2022/directives/icons/arrows-repeat/nimble-icon-arrows-repeat.directive.mjs +3 -3
  99. package/esm2022/directives/icons/arrows-repeat/nimble-icon-arrows-repeat.module.mjs +4 -4
  100. package/esm2022/directives/icons/at/nimble-icon-at.directive.mjs +3 -3
  101. package/esm2022/directives/icons/at/nimble-icon-at.module.mjs +4 -4
  102. package/esm2022/directives/icons/bars/nimble-icon-bars.directive.mjs +3 -3
  103. package/esm2022/directives/icons/bars/nimble-icon-bars.module.mjs +4 -4
  104. package/esm2022/directives/icons/bell/nimble-icon-bell.directive.mjs +3 -3
  105. package/esm2022/directives/icons/bell/nimble-icon-bell.module.mjs +4 -4
  106. package/esm2022/directives/icons/bell-and-comment/nimble-icon-bell-and-comment.directive.mjs +3 -3
  107. package/esm2022/directives/icons/bell-and-comment/nimble-icon-bell-and-comment.module.mjs +4 -4
  108. package/esm2022/directives/icons/bell-circle/nimble-icon-bell-circle.directive.mjs +3 -3
  109. package/esm2022/directives/icons/bell-circle/nimble-icon-bell-circle.module.mjs +4 -4
  110. package/esm2022/directives/icons/bell-solid-circle/nimble-icon-bell-solid-circle.directive.mjs +3 -3
  111. package/esm2022/directives/icons/bell-solid-circle/nimble-icon-bell-solid-circle.module.mjs +4 -4
  112. package/esm2022/directives/icons/block-with-ribbon/nimble-icon-block-with-ribbon.directive.mjs +3 -3
  113. package/esm2022/directives/icons/block-with-ribbon/nimble-icon-block-with-ribbon.module.mjs +4 -4
  114. package/esm2022/directives/icons/bold-b/nimble-icon-bold-b.directive.mjs +3 -3
  115. package/esm2022/directives/icons/bold-b/nimble-icon-bold-b.module.mjs +4 -4
  116. package/esm2022/directives/icons/book-magnifying-glass/nimble-icon-book-magnifying-glass.directive.mjs +3 -3
  117. package/esm2022/directives/icons/book-magnifying-glass/nimble-icon-book-magnifying-glass.module.mjs +4 -4
  118. package/esm2022/directives/icons/calendar-check-lines/nimble-icon-calendar-check-lines.directive.mjs +3 -3
  119. package/esm2022/directives/icons/calendar-check-lines/nimble-icon-calendar-check-lines.module.mjs +4 -4
  120. package/esm2022/directives/icons/calendar-clock/nimble-icon-calendar-clock.directive.mjs +3 -3
  121. package/esm2022/directives/icons/calendar-clock/nimble-icon-calendar-clock.module.mjs +4 -4
  122. package/esm2022/directives/icons/calendar-day/nimble-icon-calendar-day.directive.mjs +3 -3
  123. package/esm2022/directives/icons/calendar-day/nimble-icon-calendar-day.module.mjs +4 -4
  124. package/esm2022/directives/icons/calendar-day-outline/nimble-icon-calendar-day-outline.directive.mjs +3 -3
  125. package/esm2022/directives/icons/calendar-day-outline/nimble-icon-calendar-day-outline.module.mjs +4 -4
  126. package/esm2022/directives/icons/calendar-days/nimble-icon-calendar-days.directive.mjs +3 -3
  127. package/esm2022/directives/icons/calendar-days/nimble-icon-calendar-days.module.mjs +4 -4
  128. package/esm2022/directives/icons/calendar-lines/nimble-icon-calendar-lines.directive.mjs +3 -3
  129. package/esm2022/directives/icons/calendar-lines/nimble-icon-calendar-lines.module.mjs +4 -4
  130. package/esm2022/directives/icons/calendar-rectangle/nimble-icon-calendar-rectangle.directive.mjs +3 -3
  131. package/esm2022/directives/icons/calendar-rectangle/nimble-icon-calendar-rectangle.module.mjs +4 -4
  132. package/esm2022/directives/icons/calendar-week/nimble-icon-calendar-week.directive.mjs +3 -3
  133. package/esm2022/directives/icons/calendar-week/nimble-icon-calendar-week.module.mjs +4 -4
  134. package/esm2022/directives/icons/chart-diagram/nimble-icon-chart-diagram.directive.mjs +3 -3
  135. package/esm2022/directives/icons/chart-diagram/nimble-icon-chart-diagram.module.mjs +4 -4
  136. package/esm2022/directives/icons/chart-diagram-child-focus/nimble-icon-chart-diagram-child-focus.directive.mjs +3 -3
  137. package/esm2022/directives/icons/chart-diagram-child-focus/nimble-icon-chart-diagram-child-focus.module.mjs +4 -4
  138. package/esm2022/directives/icons/chart-diagram-parent-focus/nimble-icon-chart-diagram-parent-focus.directive.mjs +3 -3
  139. package/esm2022/directives/icons/chart-diagram-parent-focus/nimble-icon-chart-diagram-parent-focus.module.mjs +4 -4
  140. package/esm2022/directives/icons/chart-diagram-parent-focus-two-child/nimble-icon-chart-diagram-parent-focus-two-child.directive.mjs +3 -3
  141. package/esm2022/directives/icons/chart-diagram-parent-focus-two-child/nimble-icon-chart-diagram-parent-focus-two-child.module.mjs +4 -4
  142. package/esm2022/directives/icons/check/nimble-icon-check.directive.mjs +3 -3
  143. package/esm2022/directives/icons/check/nimble-icon-check.module.mjs +4 -4
  144. package/esm2022/directives/icons/check-dot/nimble-icon-check-dot.directive.mjs +3 -3
  145. package/esm2022/directives/icons/check-dot/nimble-icon-check-dot.module.mjs +4 -4
  146. package/esm2022/directives/icons/check-large/nimble-icon-check-large.directive.mjs +3 -3
  147. package/esm2022/directives/icons/check-large/nimble-icon-check-large.module.mjs +4 -4
  148. package/esm2022/directives/icons/circle/nimble-icon-circle.directive.mjs +3 -3
  149. package/esm2022/directives/icons/circle/nimble-icon-circle.module.mjs +4 -4
  150. package/esm2022/directives/icons/circle-broken/nimble-icon-circle-broken.directive.mjs +3 -3
  151. package/esm2022/directives/icons/circle-broken/nimble-icon-circle-broken.module.mjs +4 -4
  152. package/esm2022/directives/icons/circle-check/nimble-icon-circle-check.directive.mjs +3 -3
  153. package/esm2022/directives/icons/circle-check/nimble-icon-circle-check.module.mjs +4 -4
  154. package/esm2022/directives/icons/circle-filled/nimble-icon-circle-filled.directive.mjs +3 -3
  155. package/esm2022/directives/icons/circle-filled/nimble-icon-circle-filled.module.mjs +4 -4
  156. package/esm2022/directives/icons/circle-partial-broken/nimble-icon-circle-partial-broken.directive.mjs +3 -3
  157. package/esm2022/directives/icons/circle-partial-broken/nimble-icon-circle-partial-broken.module.mjs +4 -4
  158. package/esm2022/directives/icons/circle-slash/nimble-icon-circle-slash.directive.mjs +3 -3
  159. package/esm2022/directives/icons/circle-slash/nimble-icon-circle-slash.module.mjs +4 -4
  160. package/esm2022/directives/icons/circle-x/nimble-icon-circle-x.directive.mjs +3 -3
  161. package/esm2022/directives/icons/circle-x/nimble-icon-circle-x.module.mjs +4 -4
  162. package/esm2022/directives/icons/clipboard/nimble-icon-clipboard.directive.mjs +3 -3
  163. package/esm2022/directives/icons/clipboard/nimble-icon-clipboard.module.mjs +4 -4
  164. package/esm2022/directives/icons/clock/nimble-icon-clock.directive.mjs +3 -3
  165. package/esm2022/directives/icons/clock/nimble-icon-clock.module.mjs +4 -4
  166. package/esm2022/directives/icons/clock-cog/nimble-icon-clock-cog.directive.mjs +3 -3
  167. package/esm2022/directives/icons/clock-cog/nimble-icon-clock-cog.module.mjs +4 -4
  168. package/esm2022/directives/icons/clock-exclamation/nimble-icon-clock-exclamation.directive.mjs +3 -3
  169. package/esm2022/directives/icons/clock-exclamation/nimble-icon-clock-exclamation.module.mjs +4 -4
  170. package/esm2022/directives/icons/clock-triangle/nimble-icon-clock-triangle.directive.mjs +3 -3
  171. package/esm2022/directives/icons/clock-triangle/nimble-icon-clock-triangle.module.mjs +4 -4
  172. package/esm2022/directives/icons/clone/nimble-icon-clone.directive.mjs +3 -3
  173. package/esm2022/directives/icons/clone/nimble-icon-clone.module.mjs +4 -4
  174. package/esm2022/directives/icons/cloud/nimble-icon-cloud.directive.mjs +3 -3
  175. package/esm2022/directives/icons/cloud/nimble-icon-cloud.module.mjs +4 -4
  176. package/esm2022/directives/icons/cloud-upload/nimble-icon-cloud-upload.directive.mjs +3 -3
  177. package/esm2022/directives/icons/cloud-upload/nimble-icon-cloud-upload.module.mjs +4 -4
  178. package/esm2022/directives/icons/cloud-with-arrow/nimble-icon-cloud-with-arrow.directive.mjs +3 -3
  179. package/esm2022/directives/icons/cloud-with-arrow/nimble-icon-cloud-with-arrow.module.mjs +4 -4
  180. package/esm2022/directives/icons/cog/nimble-icon-cog.directive.mjs +3 -3
  181. package/esm2022/directives/icons/cog/nimble-icon-cog.module.mjs +4 -4
  182. package/esm2022/directives/icons/cog-database/nimble-icon-cog-database.directive.mjs +3 -3
  183. package/esm2022/directives/icons/cog-database/nimble-icon-cog-database.module.mjs +4 -4
  184. package/esm2022/directives/icons/cog-database-inset/nimble-icon-cog-database-inset.directive.mjs +3 -3
  185. package/esm2022/directives/icons/cog-database-inset/nimble-icon-cog-database-inset.module.mjs +4 -4
  186. package/esm2022/directives/icons/cog-small-cog/nimble-icon-cog-small-cog.directive.mjs +3 -3
  187. package/esm2022/directives/icons/cog-small-cog/nimble-icon-cog-small-cog.module.mjs +4 -4
  188. package/esm2022/directives/icons/cog-zoomed/nimble-icon-cog-zoomed.directive.mjs +3 -3
  189. package/esm2022/directives/icons/cog-zoomed/nimble-icon-cog-zoomed.module.mjs +4 -4
  190. package/esm2022/directives/icons/comment/nimble-icon-comment.directive.mjs +3 -3
  191. package/esm2022/directives/icons/comment/nimble-icon-comment.module.mjs +4 -4
  192. package/esm2022/directives/icons/computer-and-monitor/nimble-icon-computer-and-monitor.directive.mjs +3 -3
  193. package/esm2022/directives/icons/computer-and-monitor/nimble-icon-computer-and-monitor.module.mjs +4 -4
  194. package/esm2022/directives/icons/copy/nimble-icon-copy.directive.mjs +3 -3
  195. package/esm2022/directives/icons/copy/nimble-icon-copy.module.mjs +4 -4
  196. package/esm2022/directives/icons/copy-text/nimble-icon-copy-text.directive.mjs +3 -3
  197. package/esm2022/directives/icons/copy-text/nimble-icon-copy-text.module.mjs +4 -4
  198. package/esm2022/directives/icons/dashboard-builder/nimble-icon-dashboard-builder.directive.mjs +3 -3
  199. package/esm2022/directives/icons/dashboard-builder/nimble-icon-dashboard-builder.module.mjs +4 -4
  200. package/esm2022/directives/icons/dashboard-builder-legend/nimble-icon-dashboard-builder-legend.directive.mjs +3 -3
  201. package/esm2022/directives/icons/dashboard-builder-legend/nimble-icon-dashboard-builder-legend.module.mjs +4 -4
  202. package/esm2022/directives/icons/dashboard-builder-templates/nimble-icon-dashboard-builder-templates.directive.mjs +3 -3
  203. package/esm2022/directives/icons/dashboard-builder-templates/nimble-icon-dashboard-builder-templates.module.mjs +4 -4
  204. package/esm2022/directives/icons/dashboard-builder-tile/nimble-icon-dashboard-builder-tile.directive.mjs +3 -3
  205. package/esm2022/directives/icons/dashboard-builder-tile/nimble-icon-dashboard-builder-tile.module.mjs +4 -4
  206. package/esm2022/directives/icons/database/nimble-icon-database.directive.mjs +3 -3
  207. package/esm2022/directives/icons/database/nimble-icon-database.module.mjs +4 -4
  208. package/esm2022/directives/icons/database-check/nimble-icon-database-check.directive.mjs +3 -3
  209. package/esm2022/directives/icons/database-check/nimble-icon-database-check.module.mjs +4 -4
  210. package/esm2022/directives/icons/debug/nimble-icon-debug.directive.mjs +3 -3
  211. package/esm2022/directives/icons/debug/nimble-icon-debug.module.mjs +4 -4
  212. package/esm2022/directives/icons/desktop/nimble-icon-desktop.directive.mjs +3 -3
  213. package/esm2022/directives/icons/desktop/nimble-icon-desktop.module.mjs +4 -4
  214. package/esm2022/directives/icons/donut-chart/nimble-icon-donut-chart.directive.mjs +3 -3
  215. package/esm2022/directives/icons/donut-chart/nimble-icon-donut-chart.module.mjs +4 -4
  216. package/esm2022/directives/icons/dot-solid-dot-stroke/nimble-icon-dot-solid-dot-stroke.directive.mjs +3 -3
  217. package/esm2022/directives/icons/dot-solid-dot-stroke/nimble-icon-dot-solid-dot-stroke.module.mjs +4 -4
  218. package/esm2022/directives/icons/dot-solid-dot-stroke-measurement/nimble-icon-dot-solid-dot-stroke-measurement.directive.mjs +3 -3
  219. package/esm2022/directives/icons/dot-solid-dot-stroke-measurement/nimble-icon-dot-solid-dot-stroke-measurement.module.mjs +4 -4
  220. package/esm2022/directives/icons/down-right-from-square/nimble-icon-down-right-from-square.directive.mjs +3 -3
  221. package/esm2022/directives/icons/down-right-from-square/nimble-icon-down-right-from-square.module.mjs +4 -4
  222. package/esm2022/directives/icons/download/nimble-icon-download.directive.mjs +3 -3
  223. package/esm2022/directives/icons/download/nimble-icon-download.module.mjs +4 -4
  224. package/esm2022/directives/icons/electronic-chip-zoomed/nimble-icon-electronic-chip-zoomed.directive.mjs +3 -3
  225. package/esm2022/directives/icons/electronic-chip-zoomed/nimble-icon-electronic-chip-zoomed.module.mjs +4 -4
  226. package/esm2022/directives/icons/exclamation-mark/nimble-icon-exclamation-mark.directive.mjs +3 -3
  227. package/esm2022/directives/icons/exclamation-mark/nimble-icon-exclamation-mark.module.mjs +4 -4
  228. package/esm2022/directives/icons/eye/nimble-icon-eye.directive.mjs +3 -3
  229. package/esm2022/directives/icons/eye/nimble-icon-eye.module.mjs +4 -4
  230. package/esm2022/directives/icons/eye-dash/nimble-icon-eye-dash.directive.mjs +3 -3
  231. package/esm2022/directives/icons/eye-dash/nimble-icon-eye-dash.module.mjs +4 -4
  232. package/esm2022/directives/icons/fancy-a/nimble-icon-fancy-a.directive.mjs +3 -3
  233. package/esm2022/directives/icons/fancy-a/nimble-icon-fancy-a.module.mjs +4 -4
  234. package/esm2022/directives/icons/file/nimble-icon-file.directive.mjs +3 -3
  235. package/esm2022/directives/icons/file/nimble-icon-file.module.mjs +4 -4
  236. package/esm2022/directives/icons/file-arrow-curved-right/nimble-icon-file-arrow-curved-right.directive.mjs +3 -3
  237. package/esm2022/directives/icons/file-arrow-curved-right/nimble-icon-file-arrow-curved-right.module.mjs +4 -4
  238. package/esm2022/directives/icons/file-drawer/nimble-icon-file-drawer.directive.mjs +3 -3
  239. package/esm2022/directives/icons/file-drawer/nimble-icon-file-drawer.module.mjs +4 -4
  240. package/esm2022/directives/icons/file-search/nimble-icon-file-search.directive.mjs +3 -3
  241. package/esm2022/directives/icons/file-search/nimble-icon-file-search.module.mjs +4 -4
  242. package/esm2022/directives/icons/filter/nimble-icon-filter.directive.mjs +3 -3
  243. package/esm2022/directives/icons/filter/nimble-icon-filter.module.mjs +4 -4
  244. package/esm2022/directives/icons/floppy-disk/nimble-icon-floppy-disk.directive.mjs +3 -3
  245. package/esm2022/directives/icons/floppy-disk/nimble-icon-floppy-disk.module.mjs +4 -4
  246. package/esm2022/directives/icons/floppy-disk-checkmark/nimble-icon-floppy-disk-checkmark.directive.mjs +3 -3
  247. package/esm2022/directives/icons/floppy-disk-checkmark/nimble-icon-floppy-disk-checkmark.module.mjs +4 -4
  248. package/esm2022/directives/icons/floppy-disk-pen/nimble-icon-floppy-disk-pen.directive.mjs +3 -3
  249. package/esm2022/directives/icons/floppy-disk-pen/nimble-icon-floppy-disk-pen.module.mjs +4 -4
  250. package/esm2022/directives/icons/floppy-disk-star-arrow-right/nimble-icon-floppy-disk-star-arrow-right.directive.mjs +3 -3
  251. package/esm2022/directives/icons/floppy-disk-star-arrow-right/nimble-icon-floppy-disk-star-arrow-right.module.mjs +4 -4
  252. package/esm2022/directives/icons/floppy-disk-three-dots/nimble-icon-floppy-disk-three-dots.directive.mjs +3 -3
  253. package/esm2022/directives/icons/floppy-disk-three-dots/nimble-icon-floppy-disk-three-dots.module.mjs +4 -4
  254. package/esm2022/directives/icons/folder/nimble-icon-folder.directive.mjs +3 -3
  255. package/esm2022/directives/icons/folder/nimble-icon-folder.module.mjs +4 -4
  256. package/esm2022/directives/icons/folder-open/nimble-icon-folder-open.directive.mjs +3 -3
  257. package/esm2022/directives/icons/folder-open/nimble-icon-folder-open.module.mjs +4 -4
  258. package/esm2022/directives/icons/forward-slash/nimble-icon-forward-slash.directive.mjs +3 -3
  259. package/esm2022/directives/icons/forward-slash/nimble-icon-forward-slash.module.mjs +4 -4
  260. package/esm2022/directives/icons/four-dots-square/nimble-icon-four-dots-square.directive.mjs +3 -3
  261. package/esm2022/directives/icons/four-dots-square/nimble-icon-four-dots-square.module.mjs +4 -4
  262. package/esm2022/directives/icons/function/nimble-icon-function.directive.mjs +3 -3
  263. package/esm2022/directives/icons/function/nimble-icon-function.module.mjs +4 -4
  264. package/esm2022/directives/icons/gauge-simple/nimble-icon-gauge-simple.directive.mjs +3 -3
  265. package/esm2022/directives/icons/gauge-simple/nimble-icon-gauge-simple.module.mjs +4 -4
  266. package/esm2022/directives/icons/grid-three-by-three/nimble-icon-grid-three-by-three.directive.mjs +3 -3
  267. package/esm2022/directives/icons/grid-three-by-three/nimble-icon-grid-three-by-three.module.mjs +4 -4
  268. package/esm2022/directives/icons/grid-two-by-two/nimble-icon-grid-two-by-two.directive.mjs +3 -3
  269. package/esm2022/directives/icons/grid-two-by-two/nimble-icon-grid-two-by-two.module.mjs +4 -4
  270. package/esm2022/directives/icons/hammer/nimble-icon-hammer.directive.mjs +3 -3
  271. package/esm2022/directives/icons/hammer/nimble-icon-hammer.module.mjs +4 -4
  272. package/esm2022/directives/icons/hashtag/nimble-icon-hashtag.directive.mjs +3 -3
  273. package/esm2022/directives/icons/hashtag/nimble-icon-hashtag.module.mjs +4 -4
  274. package/esm2022/directives/icons/home/nimble-icon-home.directive.mjs +3 -3
  275. package/esm2022/directives/icons/home/nimble-icon-home.module.mjs +4 -4
  276. package/esm2022/directives/icons/horizontal-triangle-outline/nimble-icon-horizontal-triangle-outline.directive.mjs +3 -3
  277. package/esm2022/directives/icons/horizontal-triangle-outline/nimble-icon-horizontal-triangle-outline.module.mjs +4 -4
  278. package/esm2022/directives/icons/hourglass/nimble-icon-hourglass.directive.mjs +3 -3
  279. package/esm2022/directives/icons/hourglass/nimble-icon-hourglass.module.mjs +4 -4
  280. package/esm2022/directives/icons/indent/nimble-icon-indent.directive.mjs +3 -3
  281. package/esm2022/directives/icons/indent/nimble-icon-indent.module.mjs +4 -4
  282. package/esm2022/directives/icons/indeterminant-checkbox/nimble-icon-indeterminant-checkbox.directive.mjs +3 -3
  283. package/esm2022/directives/icons/indeterminant-checkbox/nimble-icon-indeterminant-checkbox.module.mjs +4 -4
  284. package/esm2022/directives/icons/info/nimble-icon-info.directive.mjs +3 -3
  285. package/esm2022/directives/icons/info/nimble-icon-info.module.mjs +4 -4
  286. package/esm2022/directives/icons/info-circle/nimble-icon-info-circle.directive.mjs +3 -3
  287. package/esm2022/directives/icons/info-circle/nimble-icon-info-circle.module.mjs +4 -4
  288. package/esm2022/directives/icons/inward-squares-three/nimble-icon-inward-squares-three.directive.mjs +3 -3
  289. package/esm2022/directives/icons/inward-squares-three/nimble-icon-inward-squares-three.module.mjs +4 -4
  290. package/esm2022/directives/icons/italic-i/nimble-icon-italic-i.directive.mjs +3 -3
  291. package/esm2022/directives/icons/italic-i/nimble-icon-italic-i.module.mjs +4 -4
  292. package/esm2022/directives/icons/key/nimble-icon-key.directive.mjs +3 -3
  293. package/esm2022/directives/icons/key/nimble-icon-key.module.mjs +4 -4
  294. package/esm2022/directives/icons/laptop/nimble-icon-laptop.directive.mjs +3 -3
  295. package/esm2022/directives/icons/laptop/nimble-icon-laptop.module.mjs +4 -4
  296. package/esm2022/directives/icons/layer-group/nimble-icon-layer-group.directive.mjs +3 -3
  297. package/esm2022/directives/icons/layer-group/nimble-icon-layer-group.module.mjs +4 -4
  298. package/esm2022/directives/icons/lightning-bolt/nimble-icon-lightning-bolt.directive.mjs +3 -3
  299. package/esm2022/directives/icons/lightning-bolt/nimble-icon-lightning-bolt.module.mjs +4 -4
  300. package/esm2022/directives/icons/link/nimble-icon-link.directive.mjs +3 -3
  301. package/esm2022/directives/icons/link/nimble-icon-link.module.mjs +4 -4
  302. package/esm2022/directives/icons/link-cancel/nimble-icon-link-cancel.directive.mjs +3 -3
  303. package/esm2022/directives/icons/link-cancel/nimble-icon-link-cancel.module.mjs +4 -4
  304. package/esm2022/directives/icons/list/nimble-icon-list.directive.mjs +3 -3
  305. package/esm2022/directives/icons/list/nimble-icon-list.module.mjs +4 -4
  306. package/esm2022/directives/icons/list-tree/nimble-icon-list-tree.directive.mjs +3 -3
  307. package/esm2022/directives/icons/list-tree/nimble-icon-list-tree.module.mjs +4 -4
  308. package/esm2022/directives/icons/list-tree-database/nimble-icon-list-tree-database.directive.mjs +3 -3
  309. package/esm2022/directives/icons/list-tree-database/nimble-icon-list-tree-database.module.mjs +4 -4
  310. package/esm2022/directives/icons/lock/nimble-icon-lock.directive.mjs +3 -3
  311. package/esm2022/directives/icons/lock/nimble-icon-lock.module.mjs +4 -4
  312. package/esm2022/directives/icons/magnifying-glass/nimble-icon-magnifying-glass.directive.mjs +3 -3
  313. package/esm2022/directives/icons/magnifying-glass/nimble-icon-magnifying-glass.module.mjs +4 -4
  314. package/esm2022/directives/icons/markdown/nimble-icon-markdown.directive.mjs +3 -3
  315. package/esm2022/directives/icons/markdown/nimble-icon-markdown.module.mjs +4 -4
  316. package/esm2022/directives/icons/minus/nimble-icon-minus.directive.mjs +3 -3
  317. package/esm2022/directives/icons/minus/nimble-icon-minus.module.mjs +4 -4
  318. package/esm2022/directives/icons/minus-wide/nimble-icon-minus-wide.directive.mjs +3 -3
  319. package/esm2022/directives/icons/minus-wide/nimble-icon-minus-wide.module.mjs +4 -4
  320. package/esm2022/directives/icons/mobile/nimble-icon-mobile.directive.mjs +3 -3
  321. package/esm2022/directives/icons/mobile/nimble-icon-mobile.module.mjs +4 -4
  322. package/esm2022/directives/icons/ni/nimble-icon-ni.directive.mjs +3 -3
  323. package/esm2022/directives/icons/ni/nimble-icon-ni.module.mjs +4 -4
  324. package/esm2022/directives/icons/notebook/nimble-icon-notebook.directive.mjs +3 -3
  325. package/esm2022/directives/icons/notebook/nimble-icon-notebook.module.mjs +4 -4
  326. package/esm2022/directives/icons/number-list/nimble-icon-number-list.directive.mjs +3 -3
  327. package/esm2022/directives/icons/number-list/nimble-icon-number-list.module.mjs +4 -4
  328. package/esm2022/directives/icons/outdent/nimble-icon-outdent.directive.mjs +3 -3
  329. package/esm2022/directives/icons/outdent/nimble-icon-outdent.module.mjs +4 -4
  330. package/esm2022/directives/icons/outward-squares-three/nimble-icon-outward-squares-three.directive.mjs +3 -3
  331. package/esm2022/directives/icons/outward-squares-three/nimble-icon-outward-squares-three.module.mjs +4 -4
  332. package/esm2022/directives/icons/paste/nimble-icon-paste.directive.mjs +3 -3
  333. package/esm2022/directives/icons/paste/nimble-icon-paste.module.mjs +4 -4
  334. package/esm2022/directives/icons/pause/nimble-icon-pause.directive.mjs +3 -3
  335. package/esm2022/directives/icons/pause/nimble-icon-pause.module.mjs +4 -4
  336. package/esm2022/directives/icons/pencil/nimble-icon-pencil.directive.mjs +3 -3
  337. package/esm2022/directives/icons/pencil/nimble-icon-pencil.module.mjs +4 -4
  338. package/esm2022/directives/icons/play/nimble-icon-play.directive.mjs +3 -3
  339. package/esm2022/directives/icons/play/nimble-icon-play.module.mjs +4 -4
  340. package/esm2022/directives/icons/pot-with-lid/nimble-icon-pot-with-lid.directive.mjs +3 -3
  341. package/esm2022/directives/icons/pot-with-lid/nimble-icon-pot-with-lid.module.mjs +4 -4
  342. package/esm2022/directives/icons/question/nimble-icon-question.directive.mjs +3 -3
  343. package/esm2022/directives/icons/question/nimble-icon-question.module.mjs +4 -4
  344. package/esm2022/directives/icons/rectangle-check-lines/nimble-icon-rectangle-check-lines.directive.mjs +3 -3
  345. package/esm2022/directives/icons/rectangle-check-lines/nimble-icon-rectangle-check-lines.module.mjs +4 -4
  346. package/esm2022/directives/icons/running-arrow/nimble-icon-running-arrow.directive.mjs +3 -3
  347. package/esm2022/directives/icons/running-arrow/nimble-icon-running-arrow.module.mjs +4 -4
  348. package/esm2022/directives/icons/screen-check-lines/nimble-icon-screen-check-lines.directive.mjs +3 -3
  349. package/esm2022/directives/icons/screen-check-lines/nimble-icon-screen-check-lines.module.mjs +4 -4
  350. package/esm2022/directives/icons/screen-check-lines-calendar/nimble-icon-screen-check-lines-calendar.directive.mjs +3 -3
  351. package/esm2022/directives/icons/screen-check-lines-calendar/nimble-icon-screen-check-lines-calendar.module.mjs +4 -4
  352. package/esm2022/directives/icons/server/nimble-icon-server.directive.mjs +3 -3
  353. package/esm2022/directives/icons/server/nimble-icon-server.module.mjs +4 -4
  354. package/esm2022/directives/icons/share-nodes/nimble-icon-share-nodes.directive.mjs +3 -3
  355. package/esm2022/directives/icons/share-nodes/nimble-icon-share-nodes.module.mjs +4 -4
  356. package/esm2022/directives/icons/shield-check/nimble-icon-shield-check.directive.mjs +3 -3
  357. package/esm2022/directives/icons/shield-check/nimble-icon-shield-check.module.mjs +4 -4
  358. package/esm2022/directives/icons/shield-xmark/nimble-icon-shield-xmark.directive.mjs +3 -3
  359. package/esm2022/directives/icons/shield-xmark/nimble-icon-shield-xmark.module.mjs +4 -4
  360. package/esm2022/directives/icons/signal-bars/nimble-icon-signal-bars.directive.mjs +3 -3
  361. package/esm2022/directives/icons/signal-bars/nimble-icon-signal-bars.module.mjs +4 -4
  362. package/esm2022/directives/icons/sine-graph/nimble-icon-sine-graph.directive.mjs +3 -3
  363. package/esm2022/directives/icons/sine-graph/nimble-icon-sine-graph.module.mjs +4 -4
  364. package/esm2022/directives/icons/skip-arrow/nimble-icon-skip-arrow.directive.mjs +3 -3
  365. package/esm2022/directives/icons/skip-arrow/nimble-icon-skip-arrow.module.mjs +4 -4
  366. package/esm2022/directives/icons/sparkle-swirls/nimble-icon-sparkle-swirls.directive.mjs +3 -3
  367. package/esm2022/directives/icons/sparkle-swirls/nimble-icon-sparkle-swirls.module.mjs +4 -4
  368. package/esm2022/directives/icons/sparkles/nimble-icon-sparkles.directive.mjs +3 -3
  369. package/esm2022/directives/icons/sparkles/nimble-icon-sparkles.module.mjs +4 -4
  370. package/esm2022/directives/icons/spinner/nimble-icon-spinner.directive.mjs +3 -3
  371. package/esm2022/directives/icons/spinner/nimble-icon-spinner.module.mjs +4 -4
  372. package/esm2022/directives/icons/square-check/nimble-icon-square-check.directive.mjs +3 -3
  373. package/esm2022/directives/icons/square-check/nimble-icon-square-check.module.mjs +4 -4
  374. package/esm2022/directives/icons/square-t/nimble-icon-square-t.directive.mjs +3 -3
  375. package/esm2022/directives/icons/square-t/nimble-icon-square-t.module.mjs +4 -4
  376. package/esm2022/directives/icons/square-x/nimble-icon-square-x.directive.mjs +3 -3
  377. package/esm2022/directives/icons/square-x/nimble-icon-square-x.module.mjs +4 -4
  378. package/esm2022/directives/icons/stop-square/nimble-icon-stop-square.directive.mjs +3 -3
  379. package/esm2022/directives/icons/stop-square/nimble-icon-stop-square.module.mjs +4 -4
  380. package/esm2022/directives/icons/systemlink/nimble-icon-systemlink.directive.mjs +3 -3
  381. package/esm2022/directives/icons/systemlink/nimble-icon-systemlink.module.mjs +4 -4
  382. package/esm2022/directives/icons/t/nimble-icon-t.directive.mjs +3 -3
  383. package/esm2022/directives/icons/t/nimble-icon-t.module.mjs +4 -4
  384. package/esm2022/directives/icons/tablet/nimble-icon-tablet.directive.mjs +3 -3
  385. package/esm2022/directives/icons/tablet/nimble-icon-tablet.module.mjs +4 -4
  386. package/esm2022/directives/icons/tag/nimble-icon-tag.directive.mjs +3 -3
  387. package/esm2022/directives/icons/tag/nimble-icon-tag.module.mjs +4 -4
  388. package/esm2022/directives/icons/tags/nimble-icon-tags.directive.mjs +3 -3
  389. package/esm2022/directives/icons/tags/nimble-icon-tags.module.mjs +4 -4
  390. package/esm2022/directives/icons/target-crosshairs/nimble-icon-target-crosshairs.directive.mjs +3 -3
  391. package/esm2022/directives/icons/target-crosshairs/nimble-icon-target-crosshairs.module.mjs +4 -4
  392. package/esm2022/directives/icons/target-crosshairs-progress/nimble-icon-target-crosshairs-progress.directive.mjs +3 -3
  393. package/esm2022/directives/icons/target-crosshairs-progress/nimble-icon-target-crosshairs-progress.module.mjs +4 -4
  394. package/esm2022/directives/icons/three-circles-ascending-container/nimble-icon-three-circles-ascending-container.directive.mjs +3 -3
  395. package/esm2022/directives/icons/three-circles-ascending-container/nimble-icon-three-circles-ascending-container.module.mjs +4 -4
  396. package/esm2022/directives/icons/three-dots-line/nimble-icon-three-dots-line.directive.mjs +3 -3
  397. package/esm2022/directives/icons/three-dots-line/nimble-icon-three-dots-line.module.mjs +4 -4
  398. package/esm2022/directives/icons/three-vertical-lines/nimble-icon-three-vertical-lines.directive.mjs +3 -3
  399. package/esm2022/directives/icons/three-vertical-lines/nimble-icon-three-vertical-lines.module.mjs +4 -4
  400. package/esm2022/directives/icons/thumbtack/nimble-icon-thumbtack.directive.mjs +3 -3
  401. package/esm2022/directives/icons/thumbtack/nimble-icon-thumbtack.module.mjs +4 -4
  402. package/esm2022/directives/icons/tile-size/nimble-icon-tile-size.directive.mjs +3 -3
  403. package/esm2022/directives/icons/tile-size/nimble-icon-tile-size.module.mjs +4 -4
  404. package/esm2022/directives/icons/times/nimble-icon-times.directive.mjs +3 -3
  405. package/esm2022/directives/icons/times/nimble-icon-times.module.mjs +4 -4
  406. package/esm2022/directives/icons/trash/nimble-icon-trash.directive.mjs +3 -3
  407. package/esm2022/directives/icons/trash/nimble-icon-trash.module.mjs +4 -4
  408. package/esm2022/directives/icons/triangle/nimble-icon-triangle.directive.mjs +3 -3
  409. package/esm2022/directives/icons/triangle/nimble-icon-triangle.module.mjs +4 -4
  410. package/esm2022/directives/icons/triangle-filled/nimble-icon-triangle-filled.directive.mjs +3 -3
  411. package/esm2022/directives/icons/triangle-filled/nimble-icon-triangle-filled.module.mjs +4 -4
  412. package/esm2022/directives/icons/triangle-two-lines-horizontal/nimble-icon-triangle-two-lines-horizontal.directive.mjs +3 -3
  413. package/esm2022/directives/icons/triangle-two-lines-horizontal/nimble-icon-triangle-two-lines-horizontal.module.mjs +4 -4
  414. package/esm2022/directives/icons/true-false-rectangle/nimble-icon-true-false-rectangle.directive.mjs +3 -3
  415. package/esm2022/directives/icons/true-false-rectangle/nimble-icon-true-false-rectangle.module.mjs +4 -4
  416. package/esm2022/directives/icons/two-squares-in-brackets/nimble-icon-two-squares-in-brackets.directive.mjs +3 -3
  417. package/esm2022/directives/icons/two-squares-in-brackets/nimble-icon-two-squares-in-brackets.module.mjs +4 -4
  418. package/esm2022/directives/icons/two-triangles-between-lines/nimble-icon-two-triangles-between-lines.directive.mjs +3 -3
  419. package/esm2022/directives/icons/two-triangles-between-lines/nimble-icon-two-triangles-between-lines.module.mjs +4 -4
  420. package/esm2022/directives/icons/unlink/nimble-icon-unlink.directive.mjs +3 -3
  421. package/esm2022/directives/icons/unlink/nimble-icon-unlink.module.mjs +4 -4
  422. package/esm2022/directives/icons/unlock/nimble-icon-unlock.directive.mjs +3 -3
  423. package/esm2022/directives/icons/unlock/nimble-icon-unlock.module.mjs +4 -4
  424. package/esm2022/directives/icons/up-right-from-square/nimble-icon-up-right-from-square.directive.mjs +3 -3
  425. package/esm2022/directives/icons/up-right-from-square/nimble-icon-up-right-from-square.module.mjs +4 -4
  426. package/esm2022/directives/icons/upload/nimble-icon-upload.directive.mjs +3 -3
  427. package/esm2022/directives/icons/upload/nimble-icon-upload.module.mjs +4 -4
  428. package/esm2022/directives/icons/user/nimble-icon-user.directive.mjs +3 -3
  429. package/esm2022/directives/icons/user/nimble-icon-user.module.mjs +4 -4
  430. package/esm2022/directives/icons/watch/nimble-icon-watch.directive.mjs +3 -3
  431. package/esm2022/directives/icons/watch/nimble-icon-watch.module.mjs +4 -4
  432. package/esm2022/directives/icons/waveform/nimble-icon-waveform.directive.mjs +3 -3
  433. package/esm2022/directives/icons/waveform/nimble-icon-waveform.module.mjs +4 -4
  434. package/esm2022/directives/icons/webvi-custom/nimble-icon-webvi-custom.directive.mjs +3 -3
  435. package/esm2022/directives/icons/webvi-custom/nimble-icon-webvi-custom.module.mjs +4 -4
  436. package/esm2022/directives/icons/webvi-host/nimble-icon-webvi-host.directive.mjs +3 -3
  437. package/esm2022/directives/icons/webvi-host/nimble-icon-webvi-host.module.mjs +4 -4
  438. package/esm2022/directives/icons/window-code/nimble-icon-window-code.directive.mjs +3 -3
  439. package/esm2022/directives/icons/window-code/nimble-icon-window-code.module.mjs +4 -4
  440. package/esm2022/directives/icons/window-text/nimble-icon-window-text.directive.mjs +3 -3
  441. package/esm2022/directives/icons/window-text/nimble-icon-window-text.module.mjs +4 -4
  442. package/esm2022/directives/icons/wrench-hammer/nimble-icon-wrench-hammer.directive.mjs +3 -3
  443. package/esm2022/directives/icons/wrench-hammer/nimble-icon-wrench-hammer.module.mjs +4 -4
  444. package/esm2022/directives/icons/xmark/nimble-icon-xmark.directive.mjs +3 -3
  445. package/esm2022/directives/icons/xmark/nimble-icon-xmark.module.mjs +4 -4
  446. package/esm2022/directives/icons/xmark-check/nimble-icon-xmark-check.directive.mjs +3 -3
  447. package/esm2022/directives/icons/xmark-check/nimble-icon-xmark-check.module.mjs +4 -4
  448. package/esm2022/directives/list-option/nimble-combobox-list-option.directive.mjs +6 -6
  449. package/esm2022/directives/list-option/nimble-list-option.directive.mjs +5 -5
  450. package/esm2022/directives/list-option/nimble-list-option.module.mjs +4 -4
  451. package/esm2022/directives/list-option/nimble-select-list-option.directive.mjs +5 -5
  452. package/esm2022/directives/list-option-group/nimble-list-option-group.directive.mjs +5 -5
  453. package/esm2022/directives/list-option-group/nimble-list-option-group.module.mjs +4 -4
  454. package/esm2022/directives/menu/nimble-menu.directive.mjs +3 -3
  455. package/esm2022/directives/menu/nimble-menu.module.mjs +4 -4
  456. package/esm2022/directives/menu-button/nimble-menu-button.directive.mjs +5 -5
  457. package/esm2022/directives/menu-button/nimble-menu-button.module.mjs +4 -4
  458. package/esm2022/directives/menu-item/nimble-menu-item.directive.mjs +5 -5
  459. package/esm2022/directives/menu-item/nimble-menu-item.module.mjs +4 -4
  460. package/esm2022/directives/number-field/nimble-number-field-control-value-accessor.directive.mjs +3 -3
  461. package/esm2022/directives/number-field/nimble-number-field.directive.mjs +5 -5
  462. package/esm2022/directives/number-field/nimble-number-field.module.mjs +4 -4
  463. package/esm2022/directives/radio/nimble-radio-control-value-accessor.directive.mjs +5 -5
  464. package/esm2022/directives/radio/nimble-radio.directive.mjs +5 -5
  465. package/esm2022/directives/radio/nimble-radio.module.mjs +6 -7
  466. package/esm2022/directives/radio-group/nimble-radio-group.directive.mjs +5 -5
  467. package/esm2022/directives/radio-group/nimble-radio-group.module.mjs +4 -4
  468. package/esm2022/directives/select/nimble-select-control-value-accessor.directive.mjs +3 -3
  469. package/esm2022/directives/select/nimble-select.directive.mjs +5 -5
  470. package/esm2022/directives/select/nimble-select.module.mjs +4 -4
  471. package/esm2022/directives/spinner/nimble-spinner.directive.mjs +5 -5
  472. package/esm2022/directives/spinner/nimble-spinner.module.mjs +4 -4
  473. package/esm2022/directives/switch/nimble-switch-control-value-accessor.directive.mjs +3 -3
  474. package/esm2022/directives/switch/nimble-switch.directive.mjs +5 -5
  475. package/esm2022/directives/switch/nimble-switch.module.mjs +4 -4
  476. package/esm2022/directives/tab/nimble-tab.directive.mjs +5 -5
  477. package/esm2022/directives/tab/nimble-tab.module.mjs +4 -4
  478. package/esm2022/directives/tab-panel/nimble-tab-panel.directive.mjs +3 -3
  479. package/esm2022/directives/tab-panel/nimble-tab-panel.module.mjs +4 -4
  480. package/esm2022/directives/tabs/nimble-tabs.directive.mjs +5 -5
  481. package/esm2022/directives/tabs/nimble-tabs.module.mjs +4 -4
  482. package/esm2022/directives/tabs-toolbar/nimble-tabs-toolbar.directive.mjs +3 -3
  483. package/esm2022/directives/tabs-toolbar/nimble-tabs-toolbar.module.mjs +4 -4
  484. package/esm2022/directives/text-area/nimble-text-area-control-value-accessor.directive.mjs +3 -3
  485. package/esm2022/directives/text-area/nimble-text-area.directive.mjs +5 -5
  486. package/esm2022/directives/text-area/nimble-text-area.module.mjs +4 -4
  487. package/esm2022/directives/text-field/nimble-text-field-control-value-accessor.directive.mjs +3 -3
  488. package/esm2022/directives/text-field/nimble-text-field.directive.mjs +5 -5
  489. package/esm2022/directives/text-field/nimble-text-field.module.mjs +4 -4
  490. package/esm2022/directives/theme-provider/nimble-theme-provider.directive.mjs +5 -5
  491. package/esm2022/directives/theme-provider/nimble-theme-provider.module.mjs +4 -4
  492. package/esm2022/directives/toggle-button/nimble-toggle-button-control-value-accessor.directive.mjs +3 -3
  493. package/esm2022/directives/toggle-button/nimble-toggle-button.directive.mjs +5 -5
  494. package/esm2022/directives/toggle-button/nimble-toggle-button.module.mjs +4 -4
  495. package/esm2022/directives/toolbar/nimble-toolbar.directive.mjs +3 -3
  496. package/esm2022/directives/toolbar/nimble-toolbar.module.mjs +4 -4
  497. package/esm2022/directives/tooltip/nimble-tooltip.directive.mjs +5 -5
  498. package/esm2022/directives/tooltip/nimble-tooltip.module.mjs +4 -4
  499. package/esm2022/directives/tree-item/nimble-tree-item.directive.mjs +5 -5
  500. package/esm2022/directives/tree-item/nimble-tree-item.module.mjs +4 -4
  501. package/esm2022/directives/tree-view/nimble-tree-view.directive.mjs +5 -5
  502. package/esm2022/directives/tree-view/nimble-tree-view.module.mjs +4 -4
  503. package/esm2022/internal-utilities/template-value-helpers.mjs +1 -1
  504. package/esm2022/label-provider/core/nimble-label-provider-core-with-defaults.directive.mjs +4 -4
  505. package/esm2022/label-provider/core/nimble-label-provider-core.directive.mjs +5 -5
  506. package/esm2022/label-provider/core/nimble-label-provider-core.module.mjs +4 -4
  507. package/esm2022/label-provider/rich-text/nimble-label-provider-rich-text-with-defaults.directive.mjs +4 -4
  508. package/esm2022/label-provider/rich-text/nimble-label-provider-rich-text.directive.mjs +5 -5
  509. package/esm2022/label-provider/rich-text/nimble-label-provider-rich-text.module.mjs +4 -4
  510. package/esm2022/label-provider/table/nimble-label-provider-table-with-defaults.directive.mjs +4 -4
  511. package/esm2022/label-provider/table/nimble-label-provider-table.directive.mjs +5 -5
  512. package/esm2022/label-provider/table/nimble-label-provider-table.module.mjs +4 -4
  513. package/esm2022/mapping/base/nimble-mapping-base.directive.mjs +5 -5
  514. package/esm2022/mapping/empty/nimble-mapping-empty.directive.mjs +5 -5
  515. package/esm2022/mapping/empty/nimble-mapping-empty.module.mjs +4 -4
  516. package/esm2022/mapping/icon/nimble-mapping-icon.directive.mjs +5 -5
  517. package/esm2022/mapping/icon/nimble-mapping-icon.module.mjs +4 -4
  518. package/esm2022/mapping/spinner/nimble-mapping-spinner.directive.mjs +5 -5
  519. package/esm2022/mapping/spinner/nimble-mapping-spinner.module.mjs +4 -4
  520. package/esm2022/mapping/text/nimble-mapping-text.directive.mjs +5 -5
  521. package/esm2022/mapping/text/nimble-mapping-text.module.mjs +4 -4
  522. package/esm2022/mapping/user/nimble-mapping-user.directive.mjs +5 -5
  523. package/esm2022/mapping/user/nimble-mapping-user.module.mjs +4 -4
  524. package/esm2022/pipes/duration.pipe.mjs +5 -5
  525. package/esm2022/pipes/number-text.pipe.mjs +6 -6
  526. package/esm2022/rich-text/editor/nimble-rich-text-editor.directive.mjs +5 -5
  527. package/esm2022/rich-text/editor/nimble-rich-text-editor.module.mjs +4 -4
  528. package/esm2022/rich-text/viewer/nimble-rich-text-viewer.directive.mjs +5 -5
  529. package/esm2022/rich-text/viewer/nimble-rich-text-viewer.module.mjs +4 -4
  530. package/esm2022/rich-text-mention/nimble-rich-text-mention-base.directive.mjs +5 -5
  531. package/esm2022/rich-text-mention/users/nimble-rich-text-mention-users.directive.mjs +3 -3
  532. package/esm2022/rich-text-mention/users/nimble-rich-text-mention-users.module.mjs +4 -4
  533. package/esm2022/table/nimble-table.directive.mjs +5 -5
  534. package/esm2022/table/nimble-table.module.mjs +4 -4
  535. package/esm2022/table-column/anchor/nimble-table-column-anchor-navigation-guard.directive.mjs +4 -4
  536. package/esm2022/table-column/anchor/nimble-table-column-anchor.directive.mjs +5 -5
  537. package/esm2022/table-column/anchor/nimble-table-column-anchor.module.mjs +4 -4
  538. package/esm2022/table-column/date-text/nimble-table-column-date-text.directive.mjs +5 -5
  539. package/esm2022/table-column/date-text/nimble-table-column-date-text.module.mjs +4 -4
  540. package/esm2022/table-column/duration-text/nimble-table-column-duration-text.directive.mjs +5 -5
  541. package/esm2022/table-column/duration-text/nimble-table-column-duration-text.module.mjs +4 -4
  542. package/esm2022/table-column/mapping/nimble-table-column-mapping.directive.mjs +5 -5
  543. package/esm2022/table-column/mapping/nimble-table-column-mapping.module.mjs +4 -4
  544. package/esm2022/table-column/menu-button/nimble-table-column-menu-button.directive.mjs +5 -5
  545. package/esm2022/table-column/menu-button/nimble-table-column-menu-button.module.mjs +4 -4
  546. package/esm2022/table-column/nimble-table-column-base.directive.mjs +5 -5
  547. package/esm2022/table-column/number-text/nimble-table-column-number-text.directive.mjs +5 -5
  548. package/esm2022/table-column/number-text/nimble-table-column-number-text.module.mjs +4 -4
  549. package/esm2022/table-column/text/nimble-table-column-text.directive.mjs +5 -5
  550. package/esm2022/table-column/text/nimble-table-column-text.module.mjs +4 -4
  551. package/esm2022/thirdparty/directives/checkbox_value_accessor.mjs +5 -5
  552. package/esm2022/thirdparty/directives/control_value_accessor.mjs +9 -9
  553. package/esm2022/thirdparty/directives/default_value_accessor.mjs +11 -9
  554. package/esm2022/thirdparty/directives/number_value_accessor.mjs +5 -5
  555. package/esm2022/thirdparty/directives/radio_control_value_accessor.mjs +11 -25
  556. package/esm2022/thirdparty/directives/router_link.mjs +45 -29
  557. package/esm2022/thirdparty/directives/select_control_value_accessor.mjs +10 -10
  558. package/esm2022/unit/byte/nimble-unit-byte.directive.mjs +5 -5
  559. package/esm2022/unit/byte/nimble-unit-byte.module.mjs +4 -4
  560. package/esm2022/unit/celsius/nimble-unit-celsius.directive.mjs +3 -3
  561. package/esm2022/unit/celsius/nimble-unit-celsius.module.mjs +4 -4
  562. package/esm2022/unit/fahrenheit/nimble-unit-fahrenheit.directive.mjs +3 -3
  563. package/esm2022/unit/fahrenheit/nimble-unit-fahrenheit.module.mjs +4 -4
  564. package/esm2022/unit/volt/nimble-unit-volt.directive.mjs +3 -3
  565. package/esm2022/unit/volt/nimble-unit-volt.module.mjs +4 -4
  566. package/fesm2022/ni-nimble-angular-card.mjs +7 -7
  567. package/fesm2022/ni-nimble-angular-internal-utilities.mjs.map +1 -1
  568. package/fesm2022/ni-nimble-angular-label-provider-core.mjs +12 -12
  569. package/fesm2022/ni-nimble-angular-label-provider-core.mjs.map +1 -1
  570. package/fesm2022/ni-nimble-angular-label-provider-rich-text.mjs +12 -12
  571. package/fesm2022/ni-nimble-angular-label-provider-rich-text.mjs.map +1 -1
  572. package/fesm2022/ni-nimble-angular-label-provider-table.mjs +12 -12
  573. package/fesm2022/ni-nimble-angular-label-provider-table.mjs.map +1 -1
  574. package/fesm2022/ni-nimble-angular-mapping-base.mjs +4 -4
  575. package/fesm2022/ni-nimble-angular-mapping-base.mjs.map +1 -1
  576. package/fesm2022/ni-nimble-angular-mapping-empty.mjs +8 -8
  577. package/fesm2022/ni-nimble-angular-mapping-empty.mjs.map +1 -1
  578. package/fesm2022/ni-nimble-angular-mapping-icon.mjs +8 -8
  579. package/fesm2022/ni-nimble-angular-mapping-icon.mjs.map +1 -1
  580. package/fesm2022/ni-nimble-angular-mapping-spinner.mjs +8 -8
  581. package/fesm2022/ni-nimble-angular-mapping-spinner.mjs.map +1 -1
  582. package/fesm2022/ni-nimble-angular-mapping-text.mjs +8 -8
  583. package/fesm2022/ni-nimble-angular-mapping-text.mjs.map +1 -1
  584. package/fesm2022/ni-nimble-angular-mapping-user.mjs +8 -8
  585. package/fesm2022/ni-nimble-angular-mapping-user.mjs.map +1 -1
  586. package/fesm2022/ni-nimble-angular-pipes.mjs +10 -10
  587. package/fesm2022/ni-nimble-angular-pipes.mjs.map +1 -1
  588. package/fesm2022/ni-nimble-angular-rich-text-editor.mjs +8 -8
  589. package/fesm2022/ni-nimble-angular-rich-text-editor.mjs.map +1 -1
  590. package/fesm2022/ni-nimble-angular-rich-text-mention-users.mjs +7 -7
  591. package/fesm2022/ni-nimble-angular-rich-text-mention.mjs +4 -4
  592. package/fesm2022/ni-nimble-angular-rich-text-mention.mjs.map +1 -1
  593. package/fesm2022/ni-nimble-angular-rich-text-viewer.mjs +8 -8
  594. package/fesm2022/ni-nimble-angular-rich-text-viewer.mjs.map +1 -1
  595. package/fesm2022/ni-nimble-angular-table-column-anchor.mjs +11 -11
  596. package/fesm2022/ni-nimble-angular-table-column-anchor.mjs.map +1 -1
  597. package/fesm2022/ni-nimble-angular-table-column-date-text.mjs +8 -8
  598. package/fesm2022/ni-nimble-angular-table-column-date-text.mjs.map +1 -1
  599. package/fesm2022/ni-nimble-angular-table-column-duration-text.mjs +8 -8
  600. package/fesm2022/ni-nimble-angular-table-column-duration-text.mjs.map +1 -1
  601. package/fesm2022/ni-nimble-angular-table-column-mapping.mjs +8 -8
  602. package/fesm2022/ni-nimble-angular-table-column-mapping.mjs.map +1 -1
  603. package/fesm2022/ni-nimble-angular-table-column-menu-button.mjs +8 -8
  604. package/fesm2022/ni-nimble-angular-table-column-menu-button.mjs.map +1 -1
  605. package/fesm2022/ni-nimble-angular-table-column-number-text.mjs +8 -8
  606. package/fesm2022/ni-nimble-angular-table-column-number-text.mjs.map +1 -1
  607. package/fesm2022/ni-nimble-angular-table-column-text.mjs +8 -8
  608. package/fesm2022/ni-nimble-angular-table-column-text.mjs.map +1 -1
  609. package/fesm2022/ni-nimble-angular-table-column.mjs +4 -4
  610. package/fesm2022/ni-nimble-angular-table-column.mjs.map +1 -1
  611. package/fesm2022/ni-nimble-angular-table.mjs +8 -8
  612. package/fesm2022/ni-nimble-angular-table.mjs.map +1 -1
  613. package/fesm2022/ni-nimble-angular-unit-byte.mjs +8 -8
  614. package/fesm2022/ni-nimble-angular-unit-byte.mjs.map +1 -1
  615. package/fesm2022/ni-nimble-angular-unit-celsius.mjs +7 -7
  616. package/fesm2022/ni-nimble-angular-unit-fahrenheit.mjs +7 -7
  617. package/fesm2022/ni-nimble-angular-unit-volt.mjs +7 -7
  618. package/fesm2022/ni-nimble-angular.mjs +1869 -1866
  619. package/fesm2022/ni-nimble-angular.mjs.map +1 -1
  620. package/package.json +7 -7
  621. package/thirdparty/directives/control_value_accessor.d.ts +1 -1
  622. package/thirdparty/directives/default_value_accessor.d.ts +0 -15
  623. package/thirdparty/directives/radio_control_value_accessor.d.ts +1 -12
  624. package/thirdparty/directives/router_link.d.ts +9 -2
  625. package/thirdparty/directives/select_control_value_accessor.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * [Nimble]
3
- * Copied from https://github.com/angular/angular/blob/16.2.12/packages/forms/src/directives/radio_control_value_accessor.ts
3
+ * Copied from https://github.com/angular/angular/blob/17.3.11/packages/forms/src/directives/radio_control_value_accessor.ts
4
4
  * with the following modifications:
5
5
  * - Changed throwNameError() to throw Error instead of RuntimeError. This makes the file compile with Angular version 12.
6
6
  * - Removed now-unused import for RuntimeErrorCode and RuntimeError
@@ -15,7 +15,7 @@
15
15
  * Use of this source code is governed by an MIT-style license that can be
16
16
  * found in the LICENSE file at https://angular.io/license
17
17
  */
18
- import { Directive, Injectable, Input, NgModule } from '@angular/core';
18
+ import { Directive, Injectable, Input } from '@angular/core';
19
19
  import { BuiltInControlValueAccessor } from './control_value_accessor';
20
20
  import { NgControl } from '@angular/forms';
21
21
  import * as i0 from "@angular/core";
@@ -35,20 +35,6 @@ function throwNameError() {
35
35
  must match. Ex: <input type="radio" formControlName="food" name="food">
36
36
  `);
37
37
  }
38
- /**
39
- * Internal-only NgModule that works as a host for the `RadioControlRegistry` tree-shakable
40
- * provider. Note: the `InternalFormsSharedModule` can not be used here directly, since it's
41
- * declared *after* the `RadioControlRegistry` class and the `providedIn` doesn't support
42
- * `forwardRef` logic.
43
- */
44
- export class RadioControlRegistryModule {
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
46
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistryModule }); }
47
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistryModule }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistryModule, decorators: [{
50
- type: NgModule
51
- }] });
52
38
  /**
53
39
  * @description
54
40
  * Class used by Angular to track radio buttons. For internal use only.
@@ -94,12 +80,12 @@ export class RadioControlRegistry {
94
80
  return controlPair[0]._parent === accessor._control._parent &&
95
81
  controlPair[1].name === accessor.name;
96
82
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistry, providedIn: RadioControlRegistryModule }); }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
84
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' }); }
99
85
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlRegistry, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioControlRegistry, decorators: [{
101
87
  type: Injectable,
102
- args: [{ providedIn: RadioControlRegistryModule }]
88
+ args: [{ providedIn: 'root' }]
103
89
  }] });
104
90
  /**
105
91
  * @description
@@ -219,16 +205,16 @@ export class RadioControlValueAccessor extends BuiltInControlValueAccessor {
219
205
  if (!this.name && this.formControlName)
220
206
  this.name = this.formControlName;
221
207
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
223
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RadioControlValueAccessor, inputs: { name: "name", formControlName: "formControlName", value: "value" }, usesInheritance: true, ngImport: i0 }); }
208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
209
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: RadioControlValueAccessor, inputs: { name: "name", formControlName: "formControlName", value: "value" }, usesInheritance: true, ngImport: i0 }); }
224
210
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
226
212
  type: Directive
227
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: RadioControlRegistry }, { type: i0.Injector }]; }, propDecorators: { name: [{
213
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: RadioControlRegistry }, { type: i0.Injector }], propDecorators: { name: [{
228
214
  type: Input
229
215
  }], formControlName: [{
230
216
  type: Input
231
217
  }], value: [{
232
218
  type: Input
233
219
  }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9fY29udHJvbF92YWx1ZV9hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL25pbWJsZS1hbmd1bGFyL3NyYy90aGlyZHBhcnR5L2RpcmVjdGl2ZXMvcmFkaW9fY29udHJvbF92YWx1ZV9hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFFSDs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFjLFVBQVUsRUFBWSxLQUFLLEVBQUUsUUFBUSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUV6SCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLFNBQVMsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFdkY7Ozs7OztFQU1FO0FBRUYsU0FBUyxjQUFjO0lBQ3JCOztNQUVFO0lBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQzs7O0tBR2IsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7OztHQUtHO0FBRUgsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO2dIQUExQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUTs7QUFJVDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRVUsZUFBVSxHQUFVLEVBQUUsQ0FBQztLQTJDaEM7SUF6Q0M7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLE9BQWtCLEVBQUUsUUFBbUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFFBQW1DO1FBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxD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QUNmLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxhQUFhO0lBQ0osZ0JBQWdCLENBQUMsVUFBbUI7UUFDM0M7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBaUJHO1FBQ0gsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksVUFBVTtZQUN4QyxJQUFJLENBQUMsb0JBQW9CLEtBQUssMkJBQTJCLEVBQUU7WUFDN0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxlQUFlO1lBQ3ZFLHNEQUFzRDtZQUN0RCxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsRUFBRTtZQUNuRCxjQUFjLEVBQUUsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzNFLENBQUM7K0dBbElVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxTQUFTO2dMQTZCQyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtOaW1ibGVdXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTYuMi4xMi9wYWNrYWdlcy9mb3Jtcy9zcmMvZGlyZWN0aXZlcy9yYWRpb19jb250cm9sX3ZhbHVlX2FjY2Vzc29yLnRzXG4gKiB3aXRoIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uczpcbiAqIC0gQ2hhbmdlZCB0aHJvd05hbWVFcnJvcigpIHRvIHRocm93IEVycm9yIGluc3RlYWQgb2YgUnVudGltZUVycm9yLiBUaGlzIG1ha2VzIHRoZSBmaWxlIGNvbXBpbGUgd2l0aCBBbmd1bGFyIHZlcnNpb24gMTIuXG4gKiAtIFJlbW92ZWQgbm93LXVudXNlZCBpbXBvcnQgZm9yIFJ1bnRpbWVFcnJvckNvZGUgYW5kIFJ1bnRpbWVFcnJvclxuICogLSBVcGRhdGVkIGltcG9ydCBvZiBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBhbmQgTkdfVkFMVUVfQUNDRVNTT1IgdG8gcHVsbCBmcm9tIHBhY2thZ2UgZXhwb3J0XG4gKiAtIFJlbW92ZSBhbGwgY29uZmlndXJhdGlvbiBmcm9tIFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IncyBgQERpcmVjdGl2ZWAgZGVjb3JhdG9yXG4gKiAtIFJlbW92ZSB1c2Ugb2YgaW50ZXJuYWwgQ0FMTF9TRVRfRElTQUJMRURfU1RBVEUgaW5qZWN0aW9uIHRva2VuLCBhbmQgaW5saW5lIGRlZmF1bHQgdmFsdWVcbiAqL1xuXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBJbnB1dCwgTmdNb2R1bGUsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0J1aWx0SW5Db250cm9sVmFsdWVBY2Nlc3Nvcn0gZnJvbSAnLi9jb250cm9sX3ZhbHVlX2FjY2Vzc29yJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgU2V0RGlzYWJsZWRTdGF0ZU9wdGlvbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiBbTmltYmxlXSBEbyBub3QgcmVnaXN0ZXIgYXMgYSB2YWx1ZSBhY2Nlc3NvciBwcm92aWRlclxuY29uc3QgUkFESU9fVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9Db250cm9sVmFsdWVBY2Nlc3NvciksXG4gIG11bHRpOiB0cnVlXG59O1xuKi9cblxuZnVuY3Rpb24gdGhyb3dOYW1lRXJyb3IoKSB7XG4gIC8qIFtOaW1ibGVdIFJ1bnRpbWVFcnJvckNvZGUgaXMgbm90IGV4cG9ydGVkIGZyb20gQGFuZ3VsYXIvZm9ybXMgaW4gdmVyc2lvbiAxMjsgZmFsbGluZyBiYWNrIHRvIHZlcnNpb24gMTIgYmVoYXZpb3JcbiAgdGhyb3cgbmV3IFJ1bnRpbWVFcnJvcihSdW50aW1lRXJyb3JDb2RlLk5BTUVfQU5EX0ZPUk1fQ09OVFJPTF9OQU1FX01VU1RfTUFUQ0gsIGBcbiAgKi9cbiAgdGhyb3cgbmV3IEVycm9yKGBcbiAgICAgIElmIHlvdSBkZWZpbmUgYm90aCBhIG5hbWUgYW5kIGEgZm9ybUNvbnRyb2xOYW1lIGF0dHJpYnV0ZSBvbiB5b3VyIHJhZGlvIGJ1dHRvbiwgdGhlaXIgdmFsdWVzXG4gICAgICBtdXN0IG1hdGNoLiBFeDogPGlucHV0IHR5cGU9XCJyYWRpb1wiIGZvcm1Db250cm9sTmFtZT1cImZvb2RcIiBuYW1lPVwiZm9vZFwiPlxuICAgIGApO1xufVxuXG4vKipcbiAqIEludGVybmFsLW9ubHkgTmdNb2R1bGUgdGhhdCB3b3JrcyBhcyBhIGhvc3QgZm9yIHRoZSBgUmFkaW9Db250cm9sUmVnaXN0cnlgIHRyZWUtc2hha2FibGVcbiAqIHByb3ZpZGVyLiBOb3RlOiB0aGUgYEludGVybmFsRm9ybXNTaGFyZWRNb2R1bGVgIGNhbiBub3QgYmUgdXNlZCBoZXJlIGRpcmVjdGx5LCBzaW5jZSBpdCdzXG4gKiBkZWNsYXJlZCAqYWZ0ZXIqIHRoZSBgUmFkaW9Db250cm9sUmVnaXN0cnlgIGNsYXNzIGFuZCB0aGUgYHByb3ZpZGVkSW5gIGRvZXNuJ3Qgc3VwcG9ydFxuICogYGZvcndhcmRSZWZgIGxvZ2ljLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29udHJvbFJlZ2lzdHJ5TW9kdWxlIHtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENsYXNzIHVzZWQgYnkgQW5ndWxhciB0byB0cmFjayByYWRpbyBidXR0b25zLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiBSYWRpb0NvbnRyb2xSZWdpc3RyeU1vZHVsZX0pXG5leHBvcnQgY2xhc3MgUmFkaW9Db250cm9sUmVnaXN0cnkge1xuICBwcml2YXRlIF9hY2Nlc3NvcnM6IGFueVtdID0gW107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBZGRzIGEgY29udHJvbCB0byB0aGUgaW50ZXJuYWwgcmVnaXN0cnkuIEZvciBpbnRlcm5hbCB1c2Ugb25seS5cbiAgICovXG4gIGFkZChjb250cm9sOiBOZ0NvbnRyb2wsIGFjY2Vzc29yOiBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSB7XG4gICAgdGhpcy5fYWNjZXNzb3JzLnB1c2goW2NvbnRyb2wsIGFjY2Vzc29yXSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFJlbW92ZXMgYSBjb250cm9sIGZyb20gdGhlIGludGVybmFsIHJlZ2lzdHJ5LiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gICAqL1xuICByZW1vdmUoYWNjZXNzb3I6IFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IpIHtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5fYWNjZXNzb3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICBpZiAodGhpcy5fYWNjZXNzb3JzW2ldWzFdID09PSBhY2Nlc3Nvcikge1xuICAgICAgICB0aGlzLl9hY2Nlc3NvcnMuc3BsaWNlKGksIDEpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZWxlY3RzIGEgcmFkaW8gYnV0dG9uLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gICAqL1xuICBzZWxlY3QoYWNjZXNzb3I6IFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IpIHtcbiAgICB0aGlzLl9hY2Nlc3NvcnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgaWYgKHRoaXMuX2lzU2FtZUdyb3VwKGMsIGFjY2Vzc29yKSAmJiBjWzFdICE9PSBhY2Nlc3Nvcikge1xuICAgICAgICBjWzFdLmZpcmVVbmNoZWNrKGFjY2Vzc29yLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzU2FtZUdyb3VwKFxuICAgICAgY29udHJvbFBhaXI6IFtOZ0NvbnRyb2wsIFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3JdLFxuICAgICAgYWNjZXNzb3I6IFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IpOiBib29sZWFuIHtcbiAgICBpZiAoIWNvbnRyb2xQYWlyWzBdLmNvbnRyb2wpIHJldHVybiBmYWxzZTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBbTmltYmxlXSBVc2Ugb2YgaW50ZXJuYWwgTmdDb250cm9sIG1lbWJlciBfcGFyZW50XG4gICAgcmV0dXJuIGNvbnRyb2xQYWlyWzBdLl9wYXJlbnQgPT09IGFjY2Vzc29yLl9jb250cm9sLl9wYXJlbnQgJiZcbiAgICAgICAgY29udHJvbFBhaXJbMV0ubmFtZSA9PT0gYWNjZXNzb3IubmFtZTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHdyaXRpbmcgcmFkaW8gY29udHJvbCB2YWx1ZXMgYW5kIGxpc3RlbmluZyB0byByYWRpbyBjb250cm9sXG4gKiBjaGFuZ2VzLiBUaGUgdmFsdWUgYWNjZXNzb3IgaXMgdXNlZCBieSB0aGUgYEZvcm1Db250cm9sRGlyZWN0aXZlYCwgYEZvcm1Db250cm9sTmFtZWAsIGFuZFxuICogYE5nTW9kZWxgIGRpcmVjdGl2ZXMuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiAjIyMgVXNpbmcgcmFkaW8gYnV0dG9ucyB3aXRoIHJlYWN0aXZlIGZvcm0gZGlyZWN0aXZlc1xuICpcbiAqIFRoZSBmb2xsb3cgZXhhbXBsZSBzaG93cyBob3cgdG8gdXNlIHJhZGlvIGJ1dHRvbnMgaW4gYSByZWFjdGl2ZSBmb3JtLiBXaGVuIHVzaW5nIHJhZGlvIGJ1dHRvbnMgaW5cbiAqIGEgcmVhY3RpdmUgZm9ybSwgcmFkaW8gYnV0dG9ucyBpbiB0aGUgc2FtZSBncm91cCBzaG91bGQgaGF2ZSB0aGUgc2FtZSBgZm9ybUNvbnRyb2xOYW1lYC5cbiAqIFByb3ZpZGluZyBhIGBuYW1lYCBhdHRyaWJ1dGUgaXMgb3B0aW9uYWwuXG4gKlxuICoge0BleGFtcGxlIGZvcm1zL3RzL3JlYWN0aXZlUmFkaW9CdXR0b25zL3JlYWN0aXZlX3JhZGlvX2J1dHRvbl9leGFtcGxlLnRzIHJlZ2lvbj0nUmVhY3RpdmUnfVxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLyogW05pbWJsZV0gUmVtb3ZlIGFsbCBjb25maWd1cmF0aW9uIGZyb20gQERpcmVjdGl2ZSBkZWNvcmF0b3JcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAgICdpbnB1dFt0eXBlPXJhZGlvXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9cmFkaW9dW2Zvcm1Db250cm9sXSxpbnB1dFt0eXBlPXJhZGlvXVtuZ01vZGVsXScsXG4gIGhvc3Q6IHsnKGNoYW5nZSknOiAnb25DaGFuZ2UoKScsICcoYmx1ciknOiAnb25Ub3VjaGVkKCknfSxcbiAgcHJvdmlkZXJzOiBbUkFESU9fVkFMVUVfQUNDRVNTT1JdXG59KVxuKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBCdWlsdEluQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIF9zdGF0ZSE6IGJvb2xlYW47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIF9jb250cm9sITogTmdDb250cm9sO1xuICAvKiogQGludGVybmFsICovXG4gIC8vIFRPRE8oaXNzdWUvMjQ1NzEpOiByZW1vdmUgJyEnLlxuICBfZm4hOiBGdW5jdGlvbjtcblxuICBwcml2YXRlIHNldERpc2FibGVkU3RhdGVGaXJlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVnaXN0ZXJlZCBjYWxsYmFjayBmdW5jdGlvbiBjYWxsZWQgd2hlbiBhIGNoYW5nZSBldmVudCBvY2N1cnMgb24gdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIE5vdGU6IHdlIGRlY2xhcmUgYG9uQ2hhbmdlYCBoZXJlIChhbHNvIHVzZWQgYXMgaG9zdCBsaXN0ZW5lcikgYXMgYSBmdW5jdGlvbiB3aXRoIG5vIGFyZ3VtZW50c1xuICAgKiB0byBvdmVycmlkZSB0aGUgYG9uQ2hhbmdlYCBmdW5jdGlvbiAod2hpY2ggZXhwZWN0cyAxIGFyZ3VtZW50KSBpbiB0aGUgcGFyZW50XG4gICAqIGBCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JgIGNsYXNzLlxuICAgKiBAbm9kb2NcbiAgICovXG4gIG92ZXJyaWRlIG9uQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUcmFja3MgdGhlIG5hbWUgb2YgdGhlIHJhZGlvIGlucHV0IGVsZW1lbnQuXG4gICAqL1xuICAvLyBUT0RPKGlzc3VlLzI0NTcxKTogcmVtb3ZlICchJy5cbiAgQElucHV0KCkgbmFtZSE6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRyYWNrcyB0aGUgbmFtZSBvZiB0aGUgYEZvcm1Db250cm9sYCBib3VuZCB0byB0aGUgZGlyZWN0aXZlLiBUaGUgbmFtZSBjb3JyZXNwb25kc1xuICAgKiB0byBhIGtleSBpbiB0aGUgcGFyZW50IGBGb3JtR3JvdXBgIG9yIGBGb3JtQXJyYXlgLlxuICAgKi9cbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRyYWNrcyB0aGUgdmFsdWUgb2YgdGhlIHJhZGlvIGlucHV0IGVsZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG5cbiAgLy8gW05pbWJsZV06IENhbid0IG92ZXJyaWRlIGRlZmF1bHQgYmVoYXZpb3IgYnkgaW5qZWN0aW9uIHRva2VuLCBiZWNhdXNlIGl0IGlzIG5vdCBleHBvcnRlZC4gSW5saW5pbmcgdmFsdWUgb2Ygc2V0RGlzYWJsZWRTdGF0ZURlZmF1bHQuXG4gIHByaXZhdGUgY2FsbFNldERpc2FibGVkU3RhdGU6IFNldERpc2FibGVkU3RhdGVPcHRpb24gPSAnYWx3YXlzJztcbiAgICAgIC8vaW5qZWN0KENBTExfU0VUX0RJU0FCTEVEX1NUQVRFLCB7b3B0aW9uYWw6IHRydWV9KSA/PyBzZXREaXNhYmxlZFN0YXRlRGVmYXVsdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX3JlZ2lzdHJ5OiBSYWRpb0NvbnRyb2xSZWdpc3RyeSxcbiAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbCA9IHRoaXMuX2luamVjdG9yLmdldChOZ0NvbnRyb2wpO1xuICAgIHRoaXMuX2NoZWNrTmFtZSgpO1xuICAgIHRoaXMuX3JlZ2lzdHJ5LmFkZCh0aGlzLl9jb250cm9sLCB0aGlzKTtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cnkucmVtb3ZlKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFwiY2hlY2tlZFwiIHByb3BlcnR5IHZhbHVlIG9uIHRoZSByYWRpbyBpbnB1dCBlbGVtZW50LlxuICAgKiBAbm9kb2NcbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gdmFsdWUgPT09IHRoaXMudmFsdWU7XG4gICAgdGhpcy5zZXRQcm9wZXJ0eSgnY2hlY2tlZCcsIHRoaXMuX3N0YXRlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBmdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgY29udHJvbCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAbm9kb2NcbiAgICovXG4gIG92ZXJyaWRlIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5fZm4gPSBmbjtcbiAgICB0aGlzLm9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgZm4odGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLl9yZWdpc3RyeS5zZWxlY3QodGhpcyk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogYHNldERpc2FibGVkU3RhdGVgIGlzIHN1cHBvc2VkIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgYSBjb250cm9sIGNoYW5nZXMsXG4gICAgICogaW5jbHVkaW5nIHVwb24gY29udHJvbCBjcmVhdGlvbi4gSG93ZXZlciwgYSBsb25nc3RhbmRpbmcgYnVnIGNhdXNlZCB0aGUgbWV0aG9kIHRvIG5vdCBmaXJlXG4gICAgICogd2hlbiBhbiAqZW5hYmxlZCogY29udHJvbCB3YXMgYXR0YWNoZWQuIFRoaXMgYnVnIHdhcyBmaXhlZCBpbiB2MTUgaW4gIzQ3NTc2LlxuICAgICAqXG4gICAgICogVGhpcyBoYWQgYSBzaWRlIGVmZmVjdDogcHJldmlvdXNseSwgaXQgd2FzIHBvc3NpYmxlIHRvIGluc3RhbnRpYXRlIGEgcmVhY3RpdmUgZm9ybSBjb250cm9sXG4gICAgICogd2l0aCBgW2F0dHIuZGlzYWJsZWRdPXRydWVgLCBldmVuIHRob3VnaCB0aGUgY29ycmVzcG9uZGluZyBjb250cm9sIHdhcyBlbmFibGVkIGluIHRoZVxuICAgICAqIG1vZGVsLiBUaGlzIHJlc3VsdGVkIGluIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgbW9kZWwgYW5kIHRoZSBET00uIE5vdywgYmVjYXVzZVxuICAgICAqIGBzZXREaXNhYmxlZFN0YXRlYCBpcyBhbHdheXMgY2FsbGVkLCB0aGUgdmFsdWUgaW4gdGhlIERPTSB3aWxsIGJlIGltbWVkaWF0ZWx5IG92ZXJ3cml0dGVuXG4gICAgICogd2l0aCB0aGUgXCJjb3JyZWN0XCIgZW5hYmxlZCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEhvd2V2ZXIsIHRoZSBmaXggYWxzbyBjcmVhdGVkIGFuIGV4Y2VwdGlvbmFsIGNhc2U6IHJhZGlvIGJ1dHRvbnMuIEJlY2F1c2UgUmVhY3RpdmUgRm9ybXNcbiAgICAgKiBtb2RlbHMgdGhlIGVudGlyZSBncm91cCBvZiByYWRpbyBidXR0b25zIGFzIGEgc2luZ2xlIGBGb3JtQ29udHJvbGAsIHRoZXJlIGlzIG5vIHdheSB0b1xuICAgICAqIGNvbnRyb2wgdGhlIGRpc2FibGVkIHN0YXRlIGZvciBpbmRpdmlkdWFsIHJhZGlvcywgc28gdGhleSBjYW4gbm8gbG9uZ2VyIGJlIGNvbmZpZ3VyZWQgYXNcbiAgICAgKiBkaXNhYmxlZC4gVGh1cywgd2Uga2VlcCB0aGUgb2xkIGJlaGF2aW9yIGZvciByYWRpbyBidXR0b25zLCBzbyB0aGF0IGBbYXR0ci5kaXNhYmxlZF1gXG4gICAgICogY29udGludWVzIHRvIHdvcmsuIFNwZWNpZmljYWxseSwgd2UgZHJvcCB0aGUgZmlyc3QgY2FsbCB0byBgc2V0RGlzYWJsZWRTdGF0ZWAgaWYgYGRpc2FibGVkYFxuICAgICAqIGlzIGBmYWxzZWAsIGFuZCB3ZSBhcmUgbm90IGluIGxlZ2FjeSBtb2RlLlxuICAgICAqL1xuICAgIGlmICh0aGlzLnNldERpc2FibGVkU3RhdGVGaXJlZCB8fCBpc0Rpc2FibGVkIHx8XG4gICAgICAgIHRoaXMuY2FsbFNldERpc2FibGVkU3RhdGUgPT09ICd3aGVuRGlzYWJsZWRGb3JMZWdhY3lDb2RlJykge1xuICAgICAgdGhpcy5zZXRQcm9wZXJ0eSgnZGlzYWJsZWQnLCBpc0Rpc2FibGVkKTtcbiAgICB9XG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlRmlyZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFwidmFsdWVcIiBvbiB0aGUgcmFkaW8gaW5wdXQgZWxlbWVudCBhbmQgdW5jaGVja3MgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZVxuICAgKi9cbiAgZmlyZVVuY2hlY2sodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja05hbWUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFtZSAmJiB0aGlzLmZvcm1Db250cm9sTmFtZSAmJiB0aGlzLm5hbWUgIT09IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IFtOaW1ibGVdIG5nRGV2TW9kZSBpcyBub3QgZGVmaW5lZFxuICAgICAgICAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgdGhyb3dOYW1lRXJyb3IoKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLm5hbWUgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWUpIHRoaXMubmFtZSA9IHRoaXMuZm9ybUNvbnRyb2xOYW1lO1xuICB9XG59Il19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9fY29udHJvbF92YWx1ZV9hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL25pbWJsZS1hbmd1bGFyL3NyYy90aGlyZHBhcnR5L2RpcmVjdGl2ZXMvcmFkaW9fY29udHJvbF92YWx1ZV9hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFFSDs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFrQyxVQUFVLEVBQVksS0FBSyxFQUF3RSxNQUFNLGVBQWUsQ0FBQztBQUU1SyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEVBQXVCLFNBQVMsRUFBeUIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFdkY7Ozs7OztFQU1FO0FBRUYsU0FBUyxjQUFjO0lBQ3JCOztNQUVFO0lBQ0YsTUFBTSxJQUFJLEtBQUssQ0FBQzs7O0tBR2IsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEOzs7R0FHRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFVSxlQUFVLEdBQVUsRUFBRSxDQUFDO0tBMkNoQztJQXpDQzs7O09BR0c7SUFDSCxHQUFHLENBQUMsT0FBa0IsRUFBRSxRQUFtQztRQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsUUFBbUM7UUFDeEMsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsSUFB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LGdCQUFnQixDQUFDLFVBQW1CO1FBQzNDOzs7Ozs7Ozs7Ozs7Ozs7OztXQWlCRztRQUNILElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLFVBQVU7WUFDeEMsSUFBSSxDQUFDLG9CQUFvQixLQUFLLDJCQUEyQixFQUFFLENBQUM7WUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGVBQWU7WUFDdkUsc0RBQXNEO1lBQ3RELENBQUMsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDcEQsY0FBYyxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzNFLENBQUM7K0dBbElVLHlCQUF5QjttR0FBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxTQUFTOzhKQTZCQyxJQUFJO3NCQUFaLEtBQUs7Z0JBUUcsZUFBZTtzQkFBdkIsS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtOaW1ibGVdXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTcuMy4xMS9wYWNrYWdlcy9mb3Jtcy9zcmMvZGlyZWN0aXZlcy9yYWRpb19jb250cm9sX3ZhbHVlX2FjY2Vzc29yLnRzXG4gKiB3aXRoIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uczpcbiAqIC0gQ2hhbmdlZCB0aHJvd05hbWVFcnJvcigpIHRvIHRocm93IEVycm9yIGluc3RlYWQgb2YgUnVudGltZUVycm9yLiBUaGlzIG1ha2VzIHRoZSBmaWxlIGNvbXBpbGUgd2l0aCBBbmd1bGFyIHZlcnNpb24gMTIuXG4gKiAtIFJlbW92ZWQgbm93LXVudXNlZCBpbXBvcnQgZm9yIFJ1bnRpbWVFcnJvckNvZGUgYW5kIFJ1bnRpbWVFcnJvclxuICogLSBVcGRhdGVkIGltcG9ydCBvZiBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBhbmQgTkdfVkFMVUVfQUNDRVNTT1IgdG8gcHVsbCBmcm9tIHBhY2thZ2UgZXhwb3J0XG4gKiAtIFJlbW92ZSBhbGwgY29uZmlndXJhdGlvbiBmcm9tIFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IncyBgQERpcmVjdGl2ZWAgZGVjb3JhdG9yXG4gKiAtIFJlbW92ZSB1c2Ugb2YgaW50ZXJuYWwgQ0FMTF9TRVRfRElTQUJMRURfU1RBVEUgaW5qZWN0aW9uIHRva2VuLCBhbmQgaW5saW5lIGRlZmF1bHQgdmFsdWVcbiAqL1xuXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUHJvdmlkZXIsIFJlbmRlcmVyMiwgybVSdW50aW1lRXJyb3IgYXMgUnVudGltZUVycm9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtCdWlsdEluQ29udHJvbFZhbHVlQWNjZXNzb3J9IGZyb20gJy4vY29udHJvbF92YWx1ZV9hY2Nlc3Nvcic7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFNldERpc2FibGVkU3RhdGVPcHRpb259IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyogW05pbWJsZV0gRG8gbm90IHJlZ2lzdGVyIGFzIGEgdmFsdWUgYWNjZXNzb3IgcHJvdmlkZXJcbmNvbnN0IFJBRElPX1ZBTFVFX0FDQ0VTU09SOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IpLFxuICBtdWx0aTogdHJ1ZVxufTtcbiovXG5cbmZ1bmN0aW9uIHRocm93TmFtZUVycm9yKCkge1xuICAvKiBbTmltYmxlXSBSdW50aW1lRXJyb3JDb2RlIGlzIG5vdCBleHBvcnRlZCBmcm9tIEBhbmd1bGFyL2Zvcm1zIGluIHZlcnNpb24gMTI7IGZhbGxpbmcgYmFjayB0byB2ZXJzaW9uIDEyIGJlaGF2aW9yXG4gIHRocm93IG5ldyBSdW50aW1lRXJyb3IoUnVudGltZUVycm9yQ29kZS5OQU1FX0FORF9GT1JNX0NPTlRST0xfTkFNRV9NVVNUX01BVENILCBgXG4gICovXG4gIHRocm93IG5ldyBFcnJvcihgXG4gICAgICBJZiB5b3UgZGVmaW5lIGJvdGggYSBuYW1lIGFuZCBhIGZvcm1Db250cm9sTmFtZSBhdHRyaWJ1dGUgb24geW91ciByYWRpbyBidXR0b24sIHRoZWlyIHZhbHVlc1xuICAgICAgbXVzdCBtYXRjaC4gRXg6IDxpbnB1dCB0eXBlPVwicmFkaW9cIiBmb3JtQ29udHJvbE5hbWU9XCJmb29kXCIgbmFtZT1cImZvb2RcIj5cbiAgICBgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIENsYXNzIHVzZWQgYnkgQW5ndWxhciB0byB0cmFjayByYWRpbyBidXR0b25zLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFJhZGlvQ29udHJvbFJlZ2lzdHJ5IHtcbiAgcHJpdmF0ZSBfYWNjZXNzb3JzOiBhbnlbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQWRkcyBhIGNvbnRyb2wgdG8gdGhlIGludGVybmFsIHJlZ2lzdHJ5LiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gICAqL1xuICBhZGQoY29udHJvbDogTmdDb250cm9sLCBhY2Nlc3NvcjogUmFkaW9Db250cm9sVmFsdWVBY2Nlc3Nvcikge1xuICAgIHRoaXMuX2FjY2Vzc29ycy5wdXNoKFtjb250cm9sLCBhY2Nlc3Nvcl0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBSZW1vdmVzIGEgY29udHJvbCBmcm9tIHRoZSBpbnRlcm5hbCByZWdpc3RyeS4gRm9yIGludGVybmFsIHVzZSBvbmx5LlxuICAgKi9cbiAgcmVtb3ZlKGFjY2Vzc29yOiBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMuX2FjY2Vzc29ycy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgaWYgKHRoaXMuX2FjY2Vzc29yc1tpXVsxXSA9PT0gYWNjZXNzb3IpIHtcbiAgICAgICAgdGhpcy5fYWNjZXNzb3JzLnNwbGljZShpLCAxKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2VsZWN0cyBhIHJhZGlvIGJ1dHRvbi4gRm9yIGludGVybmFsIHVzZSBvbmx5LlxuICAgKi9cbiAgc2VsZWN0KGFjY2Vzc29yOiBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSB7XG4gICAgdGhpcy5fYWNjZXNzb3JzLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGlmICh0aGlzLl9pc1NhbWVHcm91cChjLCBhY2Nlc3NvcikgJiYgY1sxXSAhPT0gYWNjZXNzb3IpIHtcbiAgICAgICAgY1sxXS5maXJlVW5jaGVjayhhY2Nlc3Nvci52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1NhbWVHcm91cChcbiAgICAgIGNvbnRyb2xQYWlyOiBbTmdDb250cm9sLCBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yXSxcbiAgICAgIGFjY2Vzc29yOiBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yKTogYm9vbGVhbiB7XG4gICAgaWYgKCFjb250cm9sUGFpclswXS5jb250cm9sKSByZXR1cm4gZmFsc2U7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogW05pbWJsZV0gVXNlIG9mIGludGVybmFsIE5nQ29udHJvbCBtZW1iZXIgX3BhcmVudFxuICAgIHJldHVybiBjb250cm9sUGFpclswXS5fcGFyZW50ID09PSBhY2Nlc3Nvci5fY29udHJvbC5fcGFyZW50ICYmXG4gICAgICAgIGNvbnRyb2xQYWlyWzFdLm5hbWUgPT09IGFjY2Vzc29yLm5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIFRoZSBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIGZvciB3cml0aW5nIHJhZGlvIGNvbnRyb2wgdmFsdWVzIGFuZCBsaXN0ZW5pbmcgdG8gcmFkaW8gY29udHJvbFxuICogY2hhbmdlcy4gVGhlIHZhbHVlIGFjY2Vzc29yIGlzIHVzZWQgYnkgdGhlIGBGb3JtQ29udHJvbERpcmVjdGl2ZWAsIGBGb3JtQ29udHJvbE5hbWVgLCBhbmRcbiAqIGBOZ01vZGVsYCBkaXJlY3RpdmVzLlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKlxuICogIyMjIFVzaW5nIHJhZGlvIGJ1dHRvbnMgd2l0aCByZWFjdGl2ZSBmb3JtIGRpcmVjdGl2ZXNcbiAqXG4gKiBUaGUgZm9sbG93IGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSByYWRpbyBidXR0b25zIGluIGEgcmVhY3RpdmUgZm9ybS4gV2hlbiB1c2luZyByYWRpbyBidXR0b25zIGluXG4gKiBhIHJlYWN0aXZlIGZvcm0sIHJhZGlvIGJ1dHRvbnMgaW4gdGhlIHNhbWUgZ3JvdXAgc2hvdWxkIGhhdmUgdGhlIHNhbWUgYGZvcm1Db250cm9sTmFtZWAuXG4gKiBQcm92aWRpbmcgYSBgbmFtZWAgYXR0cmlidXRlIGlzIG9wdGlvbmFsLlxuICpcbiAqIHtAZXhhbXBsZSBmb3Jtcy90cy9yZWFjdGl2ZVJhZGlvQnV0dG9ucy9yZWFjdGl2ZV9yYWRpb19idXR0b25fZXhhbXBsZS50cyByZWdpb249J1JlYWN0aXZlJ31cbiAqXG4gKiBAbmdNb2R1bGUgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICogQG5nTW9kdWxlIEZvcm1zTW9kdWxlXG4gKiBAcHVibGljQXBpXG4gKi9cbi8qIFtOaW1ibGVdIFJlbW92ZSBhbGwgY29uZmlndXJhdGlvbiBmcm9tIEBEaXJlY3RpdmUgZGVjb3JhdG9yXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6XG4gICAgICAnaW5wdXRbdHlwZT1yYWRpb11bZm9ybUNvbnRyb2xOYW1lXSxpbnB1dFt0eXBlPXJhZGlvXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1yYWRpb11bbmdNb2RlbF0nLFxuICBob3N0OiB7JyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCknLCAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJ30sXG4gIHByb3ZpZGVyczogW1JBRElPX1ZBTFVFX0FDQ0VTU09SXVxufSlcbiovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBSYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yIGV4dGVuZHMgQnVpbHRJbkNvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBPbkluaXQge1xuICAvKiogQGludGVybmFsICovXG4gIC8vIFRPRE8oaXNzdWUvMjQ1NzEpOiByZW1vdmUgJyEnLlxuICBfc3RhdGUhOiBib29sZWFuO1xuICAvKiogQGludGVybmFsICovXG4gIC8vIFRPRE8oaXNzdWUvMjQ1NzEpOiByZW1vdmUgJyEnLlxuICBfY29udHJvbCE6IE5nQ29udHJvbDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICAvLyBUT0RPKGlzc3VlLzI0NTcxKTogcmVtb3ZlICchJy5cbiAgX2ZuITogRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBzZXREaXNhYmxlZFN0YXRlRmlyZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHJlZ2lzdGVyZWQgY2FsbGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gYSBjaGFuZ2UgZXZlbnQgb2NjdXJzIG9uIHRoZSBpbnB1dCBlbGVtZW50LlxuICAgKiBOb3RlOiB3ZSBkZWNsYXJlIGBvbkNoYW5nZWAgaGVyZSAoYWxzbyB1c2VkIGFzIGhvc3QgbGlzdGVuZXIpIGFzIGEgZnVuY3Rpb24gd2l0aCBubyBhcmd1bWVudHNcbiAgICogdG8gb3ZlcnJpZGUgdGhlIGBvbkNoYW5nZWAgZnVuY3Rpb24gKHdoaWNoIGV4cGVjdHMgMSBhcmd1bWVudCkgaW4gdGhlIHBhcmVudFxuICAgKiBgQmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yYCBjbGFzcy5cbiAgICogQG5vZG9jXG4gICAqL1xuICBvdmVycmlkZSBvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVHJhY2tzIHRoZSBuYW1lIG9mIHRoZSByYWRpbyBpbnB1dCBlbGVtZW50LlxuICAgKi9cbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIEBJbnB1dCgpIG5hbWUhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUcmFja3MgdGhlIG5hbWUgb2YgdGhlIGBGb3JtQ29udHJvbGAgYm91bmQgdG8gdGhlIGRpcmVjdGl2ZS4gVGhlIG5hbWUgY29ycmVzcG9uZHNcbiAgICogdG8gYSBrZXkgaW4gdGhlIHBhcmVudCBgRm9ybUdyb3VwYCBvciBgRm9ybUFycmF5YC5cbiAgICovXG4gIC8vIFRPRE8oaXNzdWUvMjQ1NzEpOiByZW1vdmUgJyEnLlxuICBASW5wdXQoKSBmb3JtQ29udHJvbE5hbWUhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUcmFja3MgdGhlIHZhbHVlIG9mIHRoZSByYWRpbyBpbnB1dCBlbGVtZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZTogYW55O1xuXG4gIC8vIFtOaW1ibGVdOiBDYW4ndCBvdmVycmlkZSBkZWZhdWx0IGJlaGF2aW9yIGJ5IGluamVjdGlvbiB0b2tlbiwgYmVjYXVzZSBpdCBpcyBub3QgZXhwb3J0ZWQuIElubGluaW5nIHZhbHVlIG9mIHNldERpc2FibGVkU3RhdGVEZWZhdWx0LlxuICBwcml2YXRlIGNhbGxTZXREaXNhYmxlZFN0YXRlOiBTZXREaXNhYmxlZFN0YXRlT3B0aW9uID0gJ2Fsd2F5cyc7XG4gICAgICAvL2luamVjdChDQUxMX1NFVF9ESVNBQkxFRF9TVEFURSwge29wdGlvbmFsOiB0cnVlfSkgPz8gc2V0RGlzYWJsZWRTdGF0ZURlZmF1bHQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICByZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZWdpc3RyeTogUmFkaW9Db250cm9sUmVnaXN0cnksXG4gICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihyZW5kZXJlciwgZWxlbWVudFJlZik7XG4gIH1cblxuICAvKiogQG5vZG9jICovXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRyb2wgPSB0aGlzLl9pbmplY3Rvci5nZXQoTmdDb250cm9sKTtcbiAgICB0aGlzLl9jaGVja05hbWUoKTtcbiAgICB0aGlzLl9yZWdpc3RyeS5hZGQodGhpcy5fY29udHJvbCwgdGhpcyk7XG4gIH1cblxuICAvKiogQG5vZG9jICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJ5LnJlbW92ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBcImNoZWNrZWRcIiBwcm9wZXJ0eSB2YWx1ZSBvbiB0aGUgcmFkaW8gaW5wdXQgZWxlbWVudC5cbiAgICogQG5vZG9jXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9IHZhbHVlID09PSB0aGlzLnZhbHVlO1xuICAgIHRoaXMuc2V0UHJvcGVydHkoJ2NoZWNrZWQnLCB0aGlzLl9zdGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgdmFsdWUgY2hhbmdlcy5cbiAgICogQG5vZG9jXG4gICAqL1xuICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB7fSk6IHZvaWQge1xuICAgIHRoaXMuX2ZuID0gZm47XG4gICAgdGhpcy5vbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIGZuKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5fcmVnaXN0cnkuc2VsZWN0KHRoaXMpO1xuICAgIH07XG4gIH1cblxuICAvKiogQG5vZG9jICovXG4gIG92ZXJyaWRlIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIGBzZXREaXNhYmxlZFN0YXRlYCBpcyBzdXBwb3NlZCB0byBiZSBjYWxsZWQgd2hlbmV2ZXIgdGhlIGRpc2FibGVkIHN0YXRlIG9mIGEgY29udHJvbCBjaGFuZ2VzLFxuICAgICAqIGluY2x1ZGluZyB1cG9uIGNvbnRyb2wgY3JlYXRpb24uIEhvd2V2ZXIsIGEgbG9uZ3N0YW5kaW5nIGJ1ZyBjYXVzZWQgdGhlIG1ldGhvZCB0byBub3QgZmlyZVxuICAgICAqIHdoZW4gYW4gKmVuYWJsZWQqIGNvbnRyb2wgd2FzIGF0dGFjaGVkLiBUaGlzIGJ1ZyB3YXMgZml4ZWQgaW4gdjE1IGluICM0NzU3Ni5cbiAgICAgKlxuICAgICAqIFRoaXMgaGFkIGEgc2lkZSBlZmZlY3Q6IHByZXZpb3VzbHksIGl0IHdhcyBwb3NzaWJsZSB0byBpbnN0YW50aWF0ZSBhIHJlYWN0aXZlIGZvcm0gY29udHJvbFxuICAgICAqIHdpdGggYFthdHRyLmRpc2FibGVkXT10cnVlYCwgZXZlbiB0aG91Z2ggdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbCB3YXMgZW5hYmxlZCBpbiB0aGVcbiAgICAgKiBtb2RlbC4gVGhpcyByZXN1bHRlZCBpbiBhIG1pc21hdGNoIGJldHdlZW4gdGhlIG1vZGVsIGFuZCB0aGUgRE9NLiBOb3csIGJlY2F1c2VcbiAgICAgKiBgc2V0RGlzYWJsZWRTdGF0ZWAgaXMgYWx3YXlzIGNhbGxlZCwgdGhlIHZhbHVlIGluIHRoZSBET00gd2lsbCBiZSBpbW1lZGlhdGVseSBvdmVyd3JpdHRlblxuICAgICAqIHdpdGggdGhlIFwiY29ycmVjdFwiIGVuYWJsZWQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBIb3dldmVyLCB0aGUgZml4IGFsc28gY3JlYXRlZCBhbiBleGNlcHRpb25hbCBjYXNlOiByYWRpbyBidXR0b25zLiBCZWNhdXNlIFJlYWN0aXZlIEZvcm1zXG4gICAgICogbW9kZWxzIHRoZSBlbnRpcmUgZ3JvdXAgb2YgcmFkaW8gYnV0dG9ucyBhcyBhIHNpbmdsZSBgRm9ybUNvbnRyb2xgLCB0aGVyZSBpcyBubyB3YXkgdG9cbiAgICAgKiBjb250cm9sIHRoZSBkaXNhYmxlZCBzdGF0ZSBmb3IgaW5kaXZpZHVhbCByYWRpb3MsIHNvIHRoZXkgY2FuIG5vIGxvbmdlciBiZSBjb25maWd1cmVkIGFzXG4gICAgICogZGlzYWJsZWQuIFRodXMsIHdlIGtlZXAgdGhlIG9sZCBiZWhhdmlvciBmb3IgcmFkaW8gYnV0dG9ucywgc28gdGhhdCBgW2F0dHIuZGlzYWJsZWRdYFxuICAgICAqIGNvbnRpbnVlcyB0byB3b3JrLiBTcGVjaWZpY2FsbHksIHdlIGRyb3AgdGhlIGZpcnN0IGNhbGwgdG8gYHNldERpc2FibGVkU3RhdGVgIGlmIGBkaXNhYmxlZGBcbiAgICAgKiBpcyBgZmFsc2VgLCBhbmQgd2UgYXJlIG5vdCBpbiBsZWdhY3kgbW9kZS5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5zZXREaXNhYmxlZFN0YXRlRmlyZWQgfHwgaXNEaXNhYmxlZCB8fFxuICAgICAgICB0aGlzLmNhbGxTZXREaXNhYmxlZFN0YXRlID09PSAnd2hlbkRpc2FibGVkRm9yTGVnYWN5Q29kZScpIHtcbiAgICAgIHRoaXMuc2V0UHJvcGVydHkoJ2Rpc2FibGVkJywgaXNEaXNhYmxlZCk7XG4gICAgfVxuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZUZpcmVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBcInZhbHVlXCIgb24gdGhlIHJhZGlvIGlucHV0IGVsZW1lbnQgYW5kIHVuY2hlY2tzIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVcbiAgICovXG4gIGZpcmVVbmNoZWNrKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tOYW1lKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWUgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWUgJiYgdGhpcy5uYW1lICE9PSB0aGlzLmZvcm1Db250cm9sTmFtZSAmJlxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBbTmltYmxlXSBuZ0Rldk1vZGUgaXMgbm90IGRlZmluZWRcbiAgICAgICAgKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgIHRocm93TmFtZUVycm9yKCk7XG4gICAgfVxuICAgIGlmICghdGhpcy5uYW1lICYmIHRoaXMuZm9ybUNvbnRyb2xOYW1lKSB0aGlzLm5hbWUgPSB0aGlzLmZvcm1Db250cm9sTmFtZTtcbiAgfVxufSJdfQ==
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * [Nimble]
3
- * Copied from https://github.com/angular/angular/blob/16.2.12/packages/router/src/directives/router_link.ts
3
+ * Copied from https://github.com/angular/angular/blob/17.3.11/packages/router/src/directives/router_link.ts
4
4
  * with the following modifications:
5
5
  * - Hardcode `isAnchorElement` to `true` so that the directive will correctly set the `href` on elements within nimble that represent anchors
6
6
  * - Make `href` a `@HostBindinding` to avoid using Angular's private sanitization APIs because `href` bindings automatically are sanitized by
@@ -16,7 +16,7 @@
16
16
  * found in the LICENSE file at https://angular.io/license
17
17
  */
18
18
  import { LocationStrategy } from '@angular/common';
19
- import { Attribute, booleanAttribute, Directive, HostBinding, HostListener, Inject, Input } from '@angular/core';
19
+ import { Attribute, booleanAttribute, Directive, HostBinding, HostListener, Inject, Input, } from '@angular/core';
20
20
  import { Subject } from 'rxjs';
21
21
  import { NavigationEnd } from '@angular/router';
22
22
  import * as i0 from "@angular/core";
@@ -140,7 +140,7 @@ export class RouterLink {
140
140
  * when a host element is `<a>`. For other tags, the value is `null`.
141
141
  */
142
142
  // [Nimble] Make `href` a `@HostBinding`
143
- // href: string|null = null;
143
+ // href: string | null = null;
144
144
  this.href = null;
145
145
  this.commands = null;
146
146
  /** @internal */
@@ -219,7 +219,8 @@ export class RouterLink {
219
219
  }
220
220
  /** @nodoc */
221
221
  onClick(button, ctrlKey, shiftKey, altKey, metaKey) {
222
- if (this.urlTree === null) {
222
+ const urlTree = this.urlTree;
223
+ if (urlTree === null) {
223
224
  return true;
224
225
  }
225
226
  if (this.isAnchorElement) {
@@ -234,8 +235,9 @@ export class RouterLink {
234
235
  skipLocationChange: this.skipLocationChange,
235
236
  replaceUrl: this.replaceUrl,
236
237
  state: this.state,
238
+ info: this.info,
237
239
  };
238
- this.router.navigateByUrl(this.urlTree, extras);
240
+ this.router.navigateByUrl(urlTree, extras);
239
241
  // Return `false` for `<a>` elements to prevent default action
240
242
  // and cancel the native behavior, since the navigation is handled
241
243
  // by the Router.
@@ -246,26 +248,33 @@ export class RouterLink {
246
248
  this.subscription?.unsubscribe();
247
249
  }
248
250
  updateHref() {
249
- this.href = this.urlTree !== null && this.locationStrategy ?
250
- this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)) :
251
- null;
251
+ const urlTree = this.urlTree;
252
+ this.href =
253
+ urlTree !== null && this.locationStrategy
254
+ ? this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(urlTree))
255
+ : null;
252
256
  /**
253
257
  * [Nimble] Remove sanitization code and applying the `href` attribute in favor of changing `href`
254
258
  * to be a `@HostBinding`. This avoids the need of calling into private Angular sanitization code.
255
259
  */
256
- // const sanitizedValue = this.href === null ?
257
- // null :
258
- // // This class represents a directive that can be added to both `<a>` elements,
259
- // // as well as other elements. As a result, we can't define security context at
260
- // // compile time. So the security context is deferred to runtime.
261
- // // The `ɵɵsanitizeUrlOrResourceUrl` selects the necessary sanitizer function
262
- // // based on the tag and property names. The logic mimics the one from
263
- // // `packages/compiler/src/schema/dom_security_schema.ts`, which is used at compile time.
264
- // //
265
- // // Note: we should investigate whether we can switch to using `@HostBinding('attr.href')`
266
- // // instead of applying a value via a renderer, after a final merge of the
267
- // // `RouterLinkWithHref` directive.
268
- // ɵɵsanitizeUrlOrResourceUrl(this.href, this.el.nativeElement.tagName.toLowerCase(), 'href');
260
+ // const sanitizedValue =
261
+ // this.href === null
262
+ // ? null
263
+ // : // This class represents a directive that can be added to both `<a>` elements,
264
+ // // as well as other elements. As a result, we can't define security context at
265
+ // // compile time. So the security context is deferred to runtime.
266
+ // // The `ɵɵsanitizeUrlOrResourceUrl` selects the necessary sanitizer function
267
+ // // based on the tag and property names. The logic mimics the one from
268
+ // // `packages/compiler/src/schema/dom_security_schema.ts`, which is used at compile time.
269
+ // //
270
+ // // Note: we should investigate whether we can switch to using `@HostBinding('attr.href')`
271
+ // // instead of applying a value via a renderer, after a final merge of the
272
+ // // `RouterLinkWithHref` directive.
273
+ // ɵɵsanitizeUrlOrResourceUrl(
274
+ // this.href,
275
+ // this.el.nativeElement.tagName.toLowerCase(),
276
+ // 'href',
277
+ // );
269
278
  // this.applyAttributeValue('href', sanitizedValue);
270
279
  }
271
280
  applyAttributeValue(attrName, attrValue) {
@@ -292,18 +301,18 @@ export class RouterLink {
292
301
  preserveFragment: this.preserveFragment,
293
302
  });
294
303
  }
295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLink, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive }); }
296
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: RouterLink, inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.href": "this.href", "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouterLink, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: 'tabindex', attribute: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: LocationStrategy }], target: i0.ɵɵFactoryTarget.Directive }); }
305
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.3.12", type: RouterLink, inputs: { target: "target", queryParams: "queryParams", fragment: "fragment", queryParamsHandling: "queryParamsHandling", state: "state", info: "info", relativeTo: "relativeTo", preserveFragment: ["preserveFragment", "preserveFragment", booleanAttribute], skipLocationChange: ["skipLocationChange", "skipLocationChange", booleanAttribute], replaceUrl: ["replaceUrl", "replaceUrl", booleanAttribute], routerLink: "routerLink" }, host: { listeners: { "click": "onClick($event.button,$event.ctrlKey,$event.shiftKey,$event.altKey,$event.metaKey)" }, properties: { "attr.href": "this.href", "attr.target": "this.target" } }, usesOnChanges: true, ngImport: i0 }); }
297
306
  }
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RouterLink, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RouterLink, decorators: [{
299
308
  type: Directive
300
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: undefined, decorators: [{
309
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: undefined, decorators: [{
301
310
  type: Attribute,
302
311
  args: ['tabindex']
303
312
  }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.LocationStrategy, decorators: [{
304
313
  type: Inject,
305
314
  args: [LocationStrategy]
306
- }] }]; }, propDecorators: { href: [{
315
+ }] }], propDecorators: { href: [{
307
316
  type: HostBinding,
308
317
  args: ['attr.href']
309
318
  }], target: [{
@@ -319,6 +328,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
319
328
  type: Input
320
329
  }], state: [{
321
330
  type: Input
331
+ }], info: [{
332
+ type: Input
322
333
  }], relativeTo: [{
323
334
  type: Input
324
335
  }], preserveFragment: [{
@@ -334,7 +345,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
334
345
  type: Input
335
346
  }], onClick: [{
336
347
  type: HostListener,
337
- args: ['click',
338
- ['$event.button', '$event.ctrlKey', '$event.shiftKey', '$event.altKey', '$event.metaKey']]
348
+ args: ['click', [
349
+ '$event.button',
350
+ '$event.ctrlKey',
351
+ '$event.shiftKey',
352
+ '$event.altKey',
353
+ '$event.metaKey',
354
+ ]]
339
355
  }] } });
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX2xpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci9zcmMvdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL3JvdXRlcl9saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUdIOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBNkUsTUFBTSxlQUFlLENBQUM7QUFDdk0sT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQThELGFBQWEsRUFBVyxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR3JIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR0c7QUFDSDs7Ozs7RUFLRTtBQUVGLE1BQU0sT0FBTyxVQUFVO0lBZ0VyQixZQUNZLE1BQWMsRUFBVSxLQUFxQixFQUNiLGlCQUF3QyxFQUMvRCxRQUFtQixFQUFtQixFQUFjO0lBQ3JFLGlDQUFpQztJQUNDLGdCQUFtQztRQUo3RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDYixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXVCO1FBQy9ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUVuQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBcEV6RTs7O1dBR0c7UUFDSCx3Q0FBd0M7UUFDeEMsNEJBQTRCO1FBQ0YsU0FBSSxHQUFnQixJQUFJLENBQUM7UUErQzNDLGFB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O3NCQUEvQyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQStCaEMsVUFBVTtzQkFEYixLQUFLO2dCQWVOLE9BQU87c0JBSE4sWUFBWTt1QkFDVCxPQUFPO29CQUNQLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogW05pbWJsZV1cbiAqIENvcGllZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi8xNi4yLjEyL3BhY2thZ2VzL3JvdXRlci9zcmMvZGlyZWN0aXZlcy9yb3V0ZXJfbGluay50c1xuICogd2l0aCB0aGUgZm9sbG93aW5nIG1vZGlmaWNhdGlvbnM6XG4gKiAtIEhhcmRjb2RlIGBpc0FuY2hvckVsZW1lbnRgIHRvIGB0cnVlYCBzbyB0aGF0IHRoZSBkaXJlY3RpdmUgd2lsbCBjb3JyZWN0bHkgc2V0IHRoZSBgaHJlZmAgb24gZWxlbWVudHMgd2l0aGluIG5pbWJsZSB0aGF0IHJlcHJlc2VudCBhbmNob3JzXG4gKiAtIE1ha2UgYGhyZWZgIGEgYEBIb3N0QmluZGluZGluZ2AgdG8gYXZvaWQgdXNpbmcgQW5ndWxhcidzIHByaXZhdGUgc2FuaXRpemF0aW9uIEFQSXMgYmVjYXVzZSBgaHJlZmAgYmluZGluZ3MgYXV0b21hdGljYWxseSBhcmUgc2FuaXRpemVkIGJ5XG4gKiAgIEFuZ3VsYXIgKHNlZSBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvc2VjdXJpdHkjc2FuaXRpemF0aW9uLWFuZC1zZWN1cml0eS1jb250ZXh0cykuIEltcGxlbWVudGF0aW9ucyBsZXZlcmFnaW5nIFJvdXRlckxpbmsgc2hvdWxkIGhhdmUgYSB0ZXN0XG4gKiAgIGVuc3VyaW5nIHNhbml0aXphdGlvbiBpcyBjYWxsZWQuXG4gKiAtIENvbW1lbnQgb3V0IHVuZWNjZXNzYXJ5IGV4cG9ydCBvZiB0aGUgZGVwcmVjYXRlZCBgUm91dGVyTGlua1dpdGhIcmVmYFxuICovXG5cblxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TG9jYXRpb25TdHJhdGVneX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7QXR0cmlidXRlLCBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMsIMm1ybVzYW5pdGl6ZVVybE9yUmVzb3VyY2VVcmx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBFdmVudCwgUGFyYW1zLCBRdWVyeVBhcmFtc0hhbmRsaW5nLCBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBOYXZpZ2F0aW9uRW5kLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIFdoZW4gYXBwbGllZCB0byBhbiBlbGVtZW50IGluIGEgdGVtcGxhdGUsIG1ha2VzIHRoYXQgZWxlbWVudCBhIGxpbmtcbiAqIHRoYXQgaW5pdGlhdGVzIG5hdmlnYXRpb24gdG8gYSByb3V0ZS4gTmF2aWdhdGlvbiBvcGVucyBvbmUgb3IgbW9yZSByb3V0ZWQgY29tcG9uZW50c1xuICogaW4gb25lIG9yIG1vcmUgYDxyb3V0ZXItb3V0bGV0PmAgbG9jYXRpb25zIG9uIHRoZSBwYWdlLlxuICpcbiAqIEdpdmVuIGEgcm91dGUgY29uZmlndXJhdGlvbiBgW3sgcGF0aDogJ3VzZXIvOm5hbWUnLCBjb21wb25lbnQ6IFVzZXJDbXAgfV1gLFxuICogdGhlIGZvbGxvd2luZyBjcmVhdGVzIGEgc3RhdGljIGxpbmsgdG8gdGhlIHJvdXRlOlxuICogYDxhIHJvdXRlckxpbms9XCIvdXNlci9ib2JcIj5saW5rIHRvIHVzZXIgY29tcG9uZW50PC9hPmBcbiAqXG4gKiBZb3UgY2FuIHVzZSBkeW5hbWljIHZhbHVlcyB0byBnZW5lcmF0ZSB0aGUgbGluay5cbiAqIEZvciBhIGR5bmFtaWMgbGluaywgcGFzcyBhbiBhcnJheSBvZiBwYXRoIHNlZ21lbnRzLFxuICogZm9sbG93ZWQgYnkgdGhlIHBhcmFtcyBmb3IgZWFjaCBzZWdtZW50LlxuICogRm9yIGV4YW1wbGUsIGBbJy90ZWFtJywgdGVhbUlkLCAndXNlcicsIHVzZXJOYW1lLCB7ZGV0YWlsczogdHJ1ZX1dYFxuICogZ2VuZXJhdGVzIGEgbGluayB0byBgL3RlYW0vMTEvdXNlci9ib2I7ZGV0YWlscz10cnVlYC5cbiAqXG4gKiBNdWx0aXBsZSBzdGF0aWMgc2VnbWVudHMgY2FuIGJlIG1lcmdlZCBpbnRvIG9uZSB0ZXJtIGFuZCBjb21iaW5lZCB3aXRoIGR5bmFtaWMgc2VnbWVudHMuXG4gKiBGb3IgZXhhbXBsZSwgYFsnL3RlYW0vMTEvdXNlcicsIHVzZXJOYW1lLCB7ZGV0YWlsczogdHJ1ZX1dYFxuICpcbiAqIFRoZSBpbnB1dCB0aGF0IHlvdSBwcm92aWRlIHRvIHRoZSBsaW5rIGlzIHRyZWF0ZWQgYXMgYSBkZWx0YSB0byB0aGUgY3VycmVudCBVUkwuXG4gKiBGb3IgaW5zdGFuY2UsIHN1cHBvc2UgdGhlIGN1cnJlbnQgVVJMIGlzIGAvdXNlci8oYm94Ly9hdXg6dGVhbSlgLlxuICogVGhlIGxpbmsgYDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3VzZXIvamltJ11cIj5KaW08L2E+YCBjcmVhdGVzIHRoZSBVUkxcbiAqIGAvdXNlci8oamltLy9hdXg6dGVhbSlgLlxuICogU2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqXG4gKiBZb3UgY2FuIHVzZSBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwYXRocyBpbiBhIGxpbmssIHNldCBxdWVyeSBwYXJhbWV0ZXJzLFxuICogY29udHJvbCBob3cgcGFyYW1ldGVycyBhcmUgaGFuZGxlZCwgYW5kIGtlZXAgYSBoaXN0b3J5IG9mIG5hdmlnYXRpb24gc3RhdGVzLlxuICpcbiAqICMjIyBSZWxhdGl2ZSBsaW5rIHBhdGhzXG4gKlxuICogVGhlIGZpcnN0IHNlZ21lbnQgbmFtZSBjYW4gYmUgcHJlcGVuZGVkIHdpdGggYC9gLCBgLi9gLCBvciBgLi4vYC5cbiAqICogSWYgdGhlIGZpcnN0IHNlZ21lbnQgYmVnaW5zIHdpdGggYC9gLCB0aGUgcm91dGVyIGxvb2tzIHVwIHRoZSByb3V0ZSBmcm9tIHRoZSByb290IG9mIHRoZVxuICogICBhcHAuXG4gKiAqIElmIHRoZSBmaXJzdCBzZWdtZW50IGJlZ2lucyB3aXRoIGAuL2AsIG9yIGRvZXNuJ3QgYmVnaW4gd2l0aCBhIHNsYXNoLCB0aGUgcm91dGVyXG4gKiAgIGxvb2tzIGluIHRoZSBjaGlsZHJlbiBvZiB0aGUgY3VycmVudCBhY3RpdmF0ZWQgcm91dGUuXG4gKiAqIElmIHRoZSBmaXJzdCBzZWdtZW50IGJlZ2lucyB3aXRoIGAuLi9gLCB0aGUgcm91dGVyIGdvZXMgdXAgb25lIGxldmVsIGluIHRoZSByb3V0ZSB0cmVlLlxuICpcbiAqICMjIyBTZXR0aW5nIGFuZCBoYW5kbGluZyBxdWVyeSBwYXJhbXMgYW5kIGZyYWdtZW50c1xuICpcbiAqIFRoZSBmb2xsb3dpbmcgbGluayBhZGRzIGEgcXVlcnkgcGFyYW1ldGVyIGFuZCBhIGZyYWdtZW50IHRvIHRoZSBnZW5lcmF0ZWQgVVJMOlxuICpcbiAqIGBgYFxuICogPGEgW3JvdXRlckxpbmtdPVwiWycvdXNlci9ib2InXVwiIFtxdWVyeVBhcmFtc109XCJ7ZGVidWc6IHRydWV9XCIgZnJhZ21lbnQ9XCJlZHVjYXRpb25cIj5cbiAqICAgbGluayB0byB1c2VyIGNvbXBvbmVudFxuICogPC9hPlxuICogYGBgXG4gKiBCeSBkZWZhdWx0LCB0aGUgZGlyZWN0aXZlIGNvbnN0cnVjdHMgdGhlIG5ldyBVUkwgdXNpbmcgdGhlIGdpdmVuIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKiBUaGUgZXhhbXBsZSBnZW5lcmF0ZXMgdGhlIGxpbms6IGAvdXNlci9ib2I/ZGVidWc9dHJ1ZSNlZHVjYXRpb25gLlxuICpcbiAqIFlvdSBjYW4gaW5zdHJ1Y3QgdGhlIGRpcmVjdGl2ZSB0byBoYW5kbGUgcXVlcnkgcGFyYW1ldGVycyBkaWZmZXJlbnRseVxuICogYnkgc3BlY2lmeWluZyB0aGUgYHF1ZXJ5UGFyYW1zSGFuZGxpbmdgIG9wdGlvbiBpbiB0aGUgbGluay5cbiAqIEFsbG93ZWQgdmFsdWVzIGFyZTpcbiAqXG4gKiAgLSBgJ21lcmdlJ2A6IE1lcmdlIHRoZSBnaXZlbiBgcXVlcnlQYXJhbXNgIGludG8gdGhlIGN1cnJlbnQgcXVlcnkgcGFyYW1zLlxuICogIC0gYCdwcmVzZXJ2ZSdgOiBQcmVzZXJ2ZSB0aGUgY3VycmVudCBxdWVyeSBwYXJhbXMuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgXG4gKiA8YSBbcm91dGVyTGlua109XCJbJy91c2VyL2JvYiddXCIgW3F1ZXJ5UGFyYW1zXT1cIntkZWJ1ZzogdHJ1ZX1cIiBxdWVyeVBhcmFtc0hhbmRsaW5nPVwibWVyZ2VcIj5cbiAqICAgbGluayB0byB1c2VyIGNvbXBvbmVudFxuICogPC9hPlxuICogYGBgXG4gKlxuICogU2VlIHtAbGluayBVcmxDcmVhdGlvbk9wdGlvbnMjcXVlcnlQYXJhbXNIYW5kbGluZ30uXG4gKlxuICogIyMjIFByZXNlcnZpbmcgbmF2aWdhdGlvbiBoaXN0b3J5XG4gKlxuICogWW91IGNhbiBwcm92aWRlIGEgYHN0YXRlYCB2YWx1ZSB0byBiZSBwZXJzaXN0ZWQgdG8gdGhlIGJyb3dzZXInc1xuICogW2BIaXN0b3J5LnN0YXRlYCBwcm9wZXJ0eV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hpc3RvcnkjUHJvcGVydGllcykuXG4gKiBGb3IgZXhhbXBsZTpcbiAqXG4gKiBgYGBcbiAqIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3VzZXIvYm9iJ11cIiBbc3RhdGVdPVwie3RyYWNpbmdJZDogMTIzfVwiPlxuICogICBsaW5rIHRvIHVzZXIgY29tcG9uZW50XG4gKiA8L2E+XG4gKiBgYGBcbiAqXG4gKiBVc2Uge0BsaW5rIFJvdXRlciNnZXRDdXJyZW50TmF2aWdhdGlvbn0gdG8gcmV0cmlldmUgYSBzYXZlZFxuICogbmF2aWdhdGlvbi1zdGF0ZSB2YWx1ZS4gRm9yIGV4YW1wbGUsIHRvIGNhcHR1cmUgdGhlIGB0cmFjaW5nSWRgIGR1cmluZyB0aGUgYE5hdmlnYXRpb25TdGFydGBcbiAqIGV2ZW50OlxuICpcbiAqIGBgYFxuICogLy8gR2V0IE5hdmlnYXRpb25TdGFydCBldmVudHNcbiAqIHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSkuc3Vic2NyaWJlKGUgPT4ge1xuICogICBjb25zdCBuYXZpZ2F0aW9uID0gcm91dGVyLmdldEN1cnJlbnROYXZpZ2F0aW9uKCk7XG4gKiAgIHRyYWNpbmdTZXJ2aWNlLnRyYWNlKHtpZDogbmF2aWdhdGlvbi5leHRyYXMuc3RhdGUudHJhY2luZ0lkfSk7XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBuZ01vZHVsZSBSb3V0ZXJNb2R1bGVcbiAqXG4gKiBAcHVibGljQXBpXG4gKi9cbi8qIFtOaW1ibGVdIFJlbW92ZSBhbGwgY29uZmlndXJhdGlvbiBmcm9tIEBEaXJlY3RpdmUgZGVjb3JhdG9yXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcm91dGVyTGlua10nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbiovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBSb3V0ZXJMaW5rIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogUmVwcmVzZW50cyBhbiBgaHJlZmAgYXR0cmlidXRlIHZhbHVlIGFwcGxpZWQgdG8gYSBob3N0IGVsZW1lbnQsXG4gICAqIHdoZW4gYSBob3N0IGVsZW1lbnQgaXMgYDxhPmAuIEZvciBvdGhlciB0YWdzLCB0aGUgdmFsdWUgaXMgYG51bGxgLlxuICAgKi9cbiAgLy8gW05pbWJsZV0gTWFrZSBgaHJlZmAgYSBgQEhvc3RCaW5kaW5nYFxuICAvLyBocmVmOiBzdHJpbmd8bnVsbCA9IG51bGw7XG4gIEBIb3N0QmluZGluZygnYXR0ci5ocmVmJykgaHJlZjogc3RyaW5nfG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBgdGFyZ2V0YCBhdHRyaWJ1dGUgb24gYSBob3N0IGVsZW1lbnQuXG4gICAqIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gdGhlIGhvc3QgZWxlbWVudCBpcyBhbiBgPGE+YCB0YWcuXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFyZ2V0JykgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgVXJsQ3JlYXRpb25PcHRpb25zI3F1ZXJ5UGFyYW1zfVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zPzogUGFyYW1zfG51bGw7XG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgVXJsQ3JlYXRpb25PcHRpb25zI2ZyYWdtZW50fVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIGZyYWdtZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0gYXMgcGFydCBvZiB0aGVcbiAgICogYFVybENyZWF0aW9uT3B0aW9uc2AuXG4gICAqIEBzZWUge0BsaW5rIFVybENyZWF0aW9uT3B0aW9ucyNxdWVyeVBhcmFtc0hhbmRsaW5nfVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nfG51bGw7XG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9uc2AuXG4gICAqIEBzZWUge0BsaW5rIE5hdmlnYXRpb25CZWhhdmlvck9wdGlvbnMjc3RhdGV9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfVxuICAgKi9cbiAgQElucHV0KCkgc3RhdGU/OiB7W2s6IHN0cmluZ106IGFueX07XG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogU3BlY2lmeSBhIHZhbHVlIGhlcmUgd2hlbiB5b3UgZG8gbm90IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHZhbHVlXG4gICAqIGZvciBgcm91dGVyTGlua2AsIHdoaWNoIGlzIHRoZSBjdXJyZW50IGFjdGl2YXRlZCByb3V0ZS5cbiAgICogTm90ZSB0aGF0IGEgdmFsdWUgb2YgYHVuZGVmaW5lZGAgaGVyZSB3aWxsIHVzZSB0aGUgYHJvdXRlckxpbmtgIGRlZmF1bHQuXG4gICAqIEBzZWUge0BsaW5rIFVybENyZWF0aW9uT3B0aW9ucyNyZWxhdGl2ZVRvfVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIHJlbGF0aXZlVG8/OiBBY3RpdmF0ZWRSb3V0ZXxudWxsO1xuXG4gIHByaXZhdGUgY29tbWFuZHM6IGFueVtdfG51bGwgPSBudWxsO1xuXG4gIC8qKiBXaGV0aGVyIGEgaG9zdCBlbGVtZW50IGlzIGFuIGA8YT5gIHRhZy4gKi9cbiAgcHJpdmF0ZSBpc0FuY2hvckVsZW1lbnQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBvbkNoYW5nZXMgPSBuZXcgU3ViamVjdDxSb3V0ZXJMaW5rPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgcmVhZG9ubHkgdGFiSW5kZXhBdHRyaWJ1dGU6IHN0cmluZ3xudWxsfHVuZGVmaW5lZCxcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSByZWFkb25seSBlbDogRWxlbWVudFJlZixcbiAgICAgIC8vIFtOaW1ibGVdIE5lZWQgSW5qZWN0IGRlY29yYXRvclxuICAgICAgQEluamVjdChMb2NhdGlvblN0cmF0ZWd5KSBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k/OiBMb2NhdGlvblN0cmF0ZWd5KSB7XG5cbiAgICAvLyBbTmltYmxlXSBIYXJkLWNvZGluZyBgaXNBbmNob3JFbGVtZW50YCB0byBgdHJ1ZWBcbiAgICAvLyBjb25zdCB0YWdOYW1lID0gZWwubmF0aXZlRWxlbWVudC50YWdOYW1lPy50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIHRoaXMuaXNBbmNob3JFbGVtZW50ID0gdGFnTmFtZSA9PT0gJ2EnIHx8IHRhZ05hbWUgPT09ICdhcmVhJztcbiAgICB0aGlzLmlzQW5jaG9yRWxlbWVudCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKHM6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlSHJlZigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRUYWJJbmRleElmTm90T25OYXRpdmVFbCgnMCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgVXJsQ3JlYXRpb25PcHRpb25zI3ByZXNlcnZlRnJhZ21lbnR9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBwcmVzZXJ2ZUZyYWdtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3NlZCB0byB7QGxpbmsgUm91dGVyI25hdmlnYXRlQnlVcmx9IGFzIHBhcnQgb2YgdGhlXG4gICAqIGBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucyNza2lwTG9jYXRpb25DaGFuZ2V9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBza2lwTG9jYXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjbmF2aWdhdGVCeVVybH0gYXMgcGFydCBvZiB0aGVcbiAgICogYE5hdmlnYXRpb25CZWhhdmlvck9wdGlvbnNgLlxuICAgKiBAc2VlIHtAbGluayBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zI3JlcGxhY2VVcmx9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXBsYWNlVXJsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSB0YWIgaW5kZXggaWYgdGhlcmUgd2FzIG5vdCBhIHRhYmluZGV4IGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudCBkdXJpbmdcbiAgICogaW5zdGFudGlhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0VGFiSW5kZXhJZk5vdE9uTmF0aXZlRWwobmV3VGFiSW5kZXg6IHN0cmluZ3xudWxsKSB7XG4gICAgaWYgKHRoaXMudGFiSW5kZXhBdHRyaWJ1dGUgIT0gbnVsbCAvKiBib3RoIGBudWxsYCBhbmQgYHVuZGVmaW5lZGAgKi8gfHwgdGhpcy5pc0FuY2hvckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hcHBseUF0dHJpYnV0ZVZhbHVlKCd0YWJpbmRleCcsIG5ld1RhYkluZGV4KTtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmlzQW5jaG9yRWxlbWVudCkge1xuICAgICAgdGhpcy51cGRhdGVIcmVmKCk7XG4gICAgfVxuICAgIC8vIFRoaXMgaXMgc3Vic2NyaWJlZCB0byBieSBgUm91dGVyTGlua0FjdGl2ZWAgc28gdGhhdCBpdCBrbm93cyB0byB1cGRhdGUgd2hlbiB0aGVyZSBhcmUgY2hhbmdlc1xuICAgIC8vIHRvIHRoZSBSb3V0ZXJMaW5rcyBpdCdzIHRyYWNraW5nLlxuICAgIHRoaXMub25DaGFuZ2VzLm5leHQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWFuZHMgdG8gcGFzcyB0byB7QGxpbmsgUm91dGVyI2NyZWF0ZVVybFRyZWV9LlxuICAgKiAgIC0gKiphcnJheSoqOiBjb21tYW5kcyB0byBwYXNzIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0uXG4gICAqICAgLSAqKnN0cmluZyoqOiBzaG9ydGhhbmQgZm9yIGFycmF5IG9mIGNvbW1hbmRzIHdpdGgganVzdCB0aGUgc3RyaW5nLCBpLmUuIGBbJy9yb3V0ZSddYFxuICAgKiAgIC0gKipudWxsfHVuZGVmaW5lZCoqOiBlZmZlY3RpdmVseSBkaXNhYmxlcyB0aGUgYHJvdXRlckxpbmtgXG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHJvdXRlckxpbmsoY29tbWFuZHM6IGFueVtdfHN0cmluZ3xudWxsfHVuZGVmaW5lZCkge1xuICAgIGlmIChjb21tYW5kcyAhPSBudWxsKSB7XG4gICAgICB0aGlzLmNvbW1hbmRzID0gQXJyYXkuaXNBcnJheShjb21tYW5kcykgPyBjb21tYW5kcyA6IFtjb21tYW5kc107XG4gICAgICB0aGlzLnNldFRhYkluZGV4SWZOb3RPbk5hdGl2ZUVsKCcwJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29tbWFuZHMgPSBudWxsO1xuICAgICAgdGhpcy5zZXRUYWJJbmRleElmTm90T25OYXRpdmVFbChudWxsKTtcbiAgICB9XG4gIH1cblxuICAvKiogQG5vZG9jICovXG4gIEBIb3N0TGlzdGVuZXIoXG4gICAgICAnY2xpY2snLFxuICAgICAgWyckZXZlbnQuYnV0dG9uJywgJyRldmVudC5jdHJsS2V5JywgJyRldmVudC5zaGlmdEtleScsICckZXZlbnQuYWx0S2V5JywgJyRldmVudC5tZXRhS2V5J10pXG4gIG9uQ2xpY2soYnV0dG9uOiBudW1iZXIsIGN0cmxLZXk6IGJvb2xlYW4sIHNoaWZ0S2V5OiBib29sZWFuLCBhbHRLZXk6IGJvb2xlYW4sIG1ldGFLZXk6IGJvb2xlYW4pOlxuICAgICAgYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMudXJsVHJlZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNBbmNob3JFbGVtZW50KSB7XG4gICAgICBpZiAoYnV0dG9uICE9PSAwIHx8IGN0cmxLZXkgfHwgc2hpZnRLZXkgfHwgYWx0S2V5IHx8IG1ldGFLZXkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy50YXJnZXQgPT09ICdzdHJpbmcnICYmIHRoaXMudGFyZ2V0ICE9ICdfc2VsZicpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXh0cmFzID0ge1xuICAgICAgc2tpcExvY2F0aW9uQ2hhbmdlOiB0aGlzLnNraXBMb2NhdGlvbkNoYW5nZSxcbiAgICAgIHJlcGxhY2VVcmw6IHRoaXMucmVwbGFjZVVybCxcbiAgICAgIHN0YXRlOiB0aGlzLnN0YXRlLFxuICAgIH07XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnVybFRyZWUsIGV4dHJhcyk7XG5cbiAgICAvLyBSZXR1cm4gYGZhbHNlYCBmb3IgYDxhPmAgZWxlbWVudHMgdG8gcHJldmVudCBkZWZhdWx0IGFjdGlvblxuICAgIC8vIGFuZCBjYW5jZWwgdGhlIG5hdGl2ZSBiZWhhdmlvciwgc2luY2UgdGhlIG5hdmlnYXRpb24gaXMgaGFuZGxlZFxuICAgIC8vIGJ5IHRoZSBSb3V0ZXIuXG4gICAgcmV0dXJuICF0aGlzLmlzQW5jaG9yRWxlbWVudDtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgbmdPbkRlc3Ryb3koKTogYW55IHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSHJlZigpOiB2b2lkIHtcbiAgICB0aGlzLmhyZWYgPSB0aGlzLnVybFRyZWUgIT09IG51bGwgJiYgdGhpcy5sb2NhdGlvblN0cmF0ZWd5ID9cbiAgICAgICAgdGhpcy5sb2NhdGlvblN0cmF0ZWd5Py5wcmVwYXJlRXh0ZXJuYWxVcmwodGhpcy5yb3V0ZXIuc2VyaWFsaXplVXJsKHRoaXMudXJsVHJlZSkpIDpcbiAgICAgICAgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFtOaW1ibGVdIFJlbW92ZSBzYW5pdGl6YXRpb24gY29kZSBhbmQgYXBwbHlpbmcgdGhlIGBocmVmYCBhdHRyaWJ1dGUgaW4gZmF2b3Igb2YgY2hhbmdpbmcgYGhyZWZgXG4gICAgICogdG8gYmUgYSBgQEhvc3RCaW5kaW5nYC4gVGhpcyBhdm9pZHMgdGhlIG5lZWQgb2YgY2FsbGluZyBpbnRvIHByaXZhdGUgQW5ndWxhciBzYW5pdGl6YXRpb24gY29kZS5cbiAgICAgKi9cbiAgICAvLyBjb25zdCBzYW5pdGl6ZWRWYWx1ZSA9IHRoaXMuaHJlZiA9PT0gbnVsbCA/XG4gICAgLy8gICAgIG51bGwgOlxuICAgIC8vICAgICAvLyBUaGlzIGNsYXNzIHJlcHJlc2VudHMgYSBkaXJlY3RpdmUgdGhhdCBjYW4gYmUgYWRkZWQgdG8gYm90aCBgPGE+YCBlbGVtZW50cyxcbiAgICAvLyAgICAgLy8gYXMgd2VsbCBhcyBvdGhlciBlbGVtZW50cy4gQXMgYSByZXN1bHQsIHdlIGNhbid0IGRlZmluZSBzZWN1cml0eSBjb250ZXh0IGF0XG4gICAgLy8gICAgIC8vIGNvbXBpbGUgdGltZS4gU28gdGhlIHNlY3VyaXR5IGNvbnRleHQgaXMgZGVmZXJyZWQgdG8gcnVudGltZS5cbiAgICAvLyAgICAgLy8gVGhlIGDJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsYCBzZWxlY3RzIHRoZSBuZWNlc3Nhcnkgc2FuaXRpemVyIGZ1bmN0aW9uXG4gICAgLy8gICAgIC8vIGJhc2VkIG9uIHRoZSB0YWcgYW5kIHByb3BlcnR5IG5hbWVzLiBUaGUgbG9naWMgbWltaWNzIHRoZSBvbmUgZnJvbVxuICAgIC8vICAgICAvLyBgcGFja2FnZXMvY29tcGlsZXIvc3JjL3NjaGVtYS9kb21fc2VjdXJpdHlfc2NoZW1hLnRzYCwgd2hpY2ggaXMgdXNlZCBhdCBjb21waWxlIHRpbWUuXG4gICAgLy8gICAgIC8vXG4gICAgLy8gICAgIC8vIE5vdGU6IHdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB3aGV0aGVyIHdlIGNhbiBzd2l0Y2ggdG8gdXNpbmcgYEBIb3N0QmluZGluZygnYXR0ci5ocmVmJylgXG4gICAgLy8gICAgIC8vIGluc3RlYWQgb2YgYXBwbHlpbmcgYSB2YWx1ZSB2aWEgYSByZW5kZXJlciwgYWZ0ZXIgYSBmaW5hbCBtZXJnZSBvZiB0aGVcbiAgICAvLyAgICAgLy8gYFJvdXRlckxpbmtXaXRoSHJlZmAgZGlyZWN0aXZlLlxuICAgIC8vICAgICDJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsKHRoaXMuaHJlZiwgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSwgJ2hyZWYnKTtcbiAgICAvLyB0aGlzLmFwcGx5QXR0cmlidXRlVmFsdWUoJ2hyZWYnLCBzYW5pdGl6ZWRWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QXR0cmlidXRlVmFsdWUoYXR0ck5hbWU6IHN0cmluZywgYXR0clZhbHVlOiBzdHJpbmd8bnVsbCkge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChhdHRyVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShuYXRpdmVFbGVtZW50LCBhdHRyTmFtZSwgYXR0clZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKG5hdGl2ZUVsZW1lbnQsIGF0dHJOYW1lKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdXJsVHJlZSgpOiBVcmxUcmVlfG51bGwge1xuICAgIGlmICh0aGlzLmNvbW1hbmRzID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUodGhpcy5jb21tYW5kcywge1xuICAgICAgLy8gSWYgdGhlIGByZWxhdGl2ZVRvYCBpbnB1dCBpcyBub3QgZGVmaW5lZCwgd2Ugd2FudCB0byB1c2UgYHRoaXMucm91dGVgIGJ5IGRlZmF1bHQuXG4gICAgICAvLyBPdGhlcndpc2UsIHdlIHNob3VsZCB1c2UgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSB1c2VyIGluIHRoZSBpbnB1dC5cbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucmVsYXRpdmVUbyAhPT0gdW5kZWZpbmVkID8gdGhpcy5yZWxhdGl2ZVRvIDogdGhpcy5yb3V0ZSxcbiAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLnF1ZXJ5UGFyYW1zLFxuICAgICAgZnJhZ21lbnQ6IHRoaXMuZnJhZ21lbnQsXG4gICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiB0aGlzLnF1ZXJ5UGFyYW1zSGFuZGxpbmcsXG4gICAgICBwcmVzZXJ2ZUZyYWdtZW50OiB0aGlzLnByZXNlcnZlRnJhZ21lbnQsXG4gICAgfSk7XG4gIH1cbn1cblxuLy8gW05pbWJsZV0gUmVtb3ZlIGV4dHJhIGV4cG9ydCBmb3IgZGVwcmVjYXRlZCBBbmd1bGFyIEFQSVxuLy8gLyoqXG4vLyAgKiBAZGVzY3JpcHRpb25cbi8vICAqIEFuIGFsaWFzIGZvciB0aGUgYFJvdXRlckxpbmtgIGRpcmVjdGl2ZS5cbi8vICAqIERlcHJlY2F0ZWQgc2luY2UgdjE1LCB1c2UgYFJvdXRlckxpbmtgIGRpcmVjdGl2ZSBpbnN0ZWFkLlxuLy8gICpcbi8vICAqIEBkZXByZWNhdGVkIHVzZSBgUm91dGVyTGlua2AgZGlyZWN0aXZlIGluc3RlYWQuXG4vLyAgKiBAcHVibGljQXBpXG4vLyAgKi9cbi8vIGV4cG9ydCB7Um91dGVyTGluayBhcyBSb3V0ZXJMaW5rV2l0aEhyZWZ9O1xuIl19
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyX2xpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci9zcmMvdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL3JvdXRlcl9saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7R0FTRztBQUdIOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQThELGFBQWEsRUFBVyxNQUFNLGlCQUFpQixDQUFDOzs7O0FBR3JIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnR0c7QUFDSDs7Ozs7RUFLRTtBQUVGLE1BQU0sT0FBTyxVQUFVO0lBdUVyQixZQUNVLE1BQWMsRUFDZCxLQUFxQixFQUNXLGlCQUE0QyxFQUNuRSxRQUFtQixFQUNuQixFQUFjO0lBQy9CLGlDQUFpQztJQUNDLGdCQUFtQztRQU43RCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDVyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTJCO1FBQ25FLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUVHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUE3RXZFOzs7V0FHRztRQUNILHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDSixTQUFJLEdBQWdCLElBQUksQ0FBQztRQXNEM0MsYUFB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QUExQyxXQUFXO3VCQUFDLGFBQWE7O3NCQUFHLEtBQUs7Z0JBUXpCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBT0csS0FBSztzQkFBYixLQUFLO2dCQU9HLElBQUk7c0JBQVosS0FBSztnQkFVRyxVQUFVO3NCQUFsQixLQUFLO2dCQTJDZ0MsZ0JBQWdCO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQVFFLGtCQUFrQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFRRSxVQUFVO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQStCaEMsVUFBVTtzQkFEYixLQUFLO2dCQW1CTixPQUFPO3NCQVBOLFlBQVk7dUJBQUMsT0FBTyxFQUFFO3dCQUNyQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtOaW1ibGVdXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTcuMy4xMS9wYWNrYWdlcy9yb3V0ZXIvc3JjL2RpcmVjdGl2ZXMvcm91dGVyX2xpbmsudHNcbiAqIHdpdGggdGhlIGZvbGxvd2luZyBtb2RpZmljYXRpb25zOlxuICogLSBIYXJkY29kZSBgaXNBbmNob3JFbGVtZW50YCB0byBgdHJ1ZWAgc28gdGhhdCB0aGUgZGlyZWN0aXZlIHdpbGwgY29ycmVjdGx5IHNldCB0aGUgYGhyZWZgIG9uIGVsZW1lbnRzIHdpdGhpbiBuaW1ibGUgdGhhdCByZXByZXNlbnQgYW5jaG9yc1xuICogLSBNYWtlIGBocmVmYCBhIGBASG9zdEJpbmRpbmRpbmdgIHRvIGF2b2lkIHVzaW5nIEFuZ3VsYXIncyBwcml2YXRlIHNhbml0aXphdGlvbiBBUElzIGJlY2F1c2UgYGhyZWZgIGJpbmRpbmdzIGF1dG9tYXRpY2FsbHkgYXJlIHNhbml0aXplZCBieVxuICogICBBbmd1bGFyIChzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3NlY3VyaXR5I3Nhbml0aXphdGlvbi1hbmQtc2VjdXJpdHktY29udGV4dHMpLiBJbXBsZW1lbnRhdGlvbnMgbGV2ZXJhZ2luZyBSb3V0ZXJMaW5rIHNob3VsZCBoYXZlIGEgdGVzdFxuICogICBlbnN1cmluZyBzYW5pdGl6YXRpb24gaXMgY2FsbGVkLlxuICogLSBDb21tZW50IG91dCB1bmVjY2Vzc2FyeSBleHBvcnQgb2YgdGhlIGRlcHJlY2F0ZWQgYFJvdXRlckxpbmtXaXRoSHJlZmBcbiAqL1xuXG5cbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0xvY2F0aW9uU3RyYXRlZ3l9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgybXJtXNhbml0aXplVXJsT3JSZXNvdXJjZVVybCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEV2ZW50LCBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIE5hdmlnYXRpb25FbmQsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogV2hlbiBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgaW4gYSB0ZW1wbGF0ZSwgbWFrZXMgdGhhdCBlbGVtZW50IGEgbGlua1xuICogdGhhdCBpbml0aWF0ZXMgbmF2aWdhdGlvbiB0byBhIHJvdXRlLiBOYXZpZ2F0aW9uIG9wZW5zIG9uZSBvciBtb3JlIHJvdXRlZCBjb21wb25lbnRzXG4gKiBpbiBvbmUgb3IgbW9yZSBgPHJvdXRlci1vdXRsZXQ+YCBsb2NhdGlvbnMgb24gdGhlIHBhZ2UuXG4gKlxuICogR2l2ZW4gYSByb3V0ZSBjb25maWd1cmF0aW9uIGBbeyBwYXRoOiAndXNlci86bmFtZScsIGNvbXBvbmVudDogVXNlckNtcCB9XWAsXG4gKiB0aGUgZm9sbG93aW5nIGNyZWF0ZXMgYSBzdGF0aWMgbGluayB0byB0aGUgcm91dGU6XG4gKiBgPGEgcm91dGVyTGluaz1cIi91c2VyL2JvYlwiPmxpbmsgdG8gdXNlciBjb21wb25lbnQ8L2E+YFxuICpcbiAqIFlvdSBjYW4gdXNlIGR5bmFtaWMgdmFsdWVzIHRvIGdlbmVyYXRlIHRoZSBsaW5rLlxuICogRm9yIGEgZHluYW1pYyBsaW5rLCBwYXNzIGFuIGFycmF5IG9mIHBhdGggc2VnbWVudHMsXG4gKiBmb2xsb3dlZCBieSB0aGUgcGFyYW1zIGZvciBlYWNoIHNlZ21lbnQuXG4gKiBGb3IgZXhhbXBsZSwgYFsnL3RlYW0nLCB0ZWFtSWQsICd1c2VyJywgdXNlck5hbWUsIHtkZXRhaWxzOiB0cnVlfV1gXG4gKiBnZW5lcmF0ZXMgYSBsaW5rIHRvIGAvdGVhbS8xMS91c2VyL2JvYjtkZXRhaWxzPXRydWVgLlxuICpcbiAqIE11bHRpcGxlIHN0YXRpYyBzZWdtZW50cyBjYW4gYmUgbWVyZ2VkIGludG8gb25lIHRlcm0gYW5kIGNvbWJpbmVkIHdpdGggZHluYW1pYyBzZWdtZW50cy5cbiAqIEZvciBleGFtcGxlLCBgWycvdGVhbS8xMS91c2VyJywgdXNlck5hbWUsIHtkZXRhaWxzOiB0cnVlfV1gXG4gKlxuICogVGhlIGlucHV0IHRoYXQgeW91IHByb3ZpZGUgdG8gdGhlIGxpbmsgaXMgdHJlYXRlZCBhcyBhIGRlbHRhIHRvIHRoZSBjdXJyZW50IFVSTC5cbiAqIEZvciBpbnN0YW5jZSwgc3VwcG9zZSB0aGUgY3VycmVudCBVUkwgaXMgYC91c2VyLyhib3gvL2F1eDp0ZWFtKWAuXG4gKiBUaGUgbGluayBgPGEgW3JvdXRlckxpbmtdPVwiWycvdXNlci9qaW0nXVwiPkppbTwvYT5gIGNyZWF0ZXMgdGhlIFVSTFxuICogYC91c2VyLyhqaW0vL2F1eDp0ZWFtKWAuXG4gKiBTZWUge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFlvdSBjYW4gdXNlIGFic29sdXRlIG9yIHJlbGF0aXZlIHBhdGhzIGluIGEgbGluaywgc2V0IHF1ZXJ5IHBhcmFtZXRlcnMsXG4gKiBjb250cm9sIGhvdyBwYXJhbWV0ZXJzIGFyZSBoYW5kbGVkLCBhbmQga2VlcCBhIGhpc3Rvcnkgb2YgbmF2aWdhdGlvbiBzdGF0ZXMuXG4gKlxuICogIyMjIFJlbGF0aXZlIGxpbmsgcGF0aHNcbiAqXG4gKiBUaGUgZmlyc3Qgc2VnbWVudCBuYW1lIGNhbiBiZSBwcmVwZW5kZWQgd2l0aCBgL2AsIGAuL2AsIG9yIGAuLi9gLlxuICogKiBJZiB0aGUgZmlyc3Qgc2VnbWVudCBiZWdpbnMgd2l0aCBgL2AsIHRoZSByb3V0ZXIgbG9va3MgdXAgdGhlIHJvdXRlIGZyb20gdGhlIHJvb3Qgb2YgdGhlXG4gKiAgIGFwcC5cbiAqICogSWYgdGhlIGZpcnN0IHNlZ21lbnQgYmVnaW5zIHdpdGggYC4vYCwgb3IgZG9lc24ndCBiZWdpbiB3aXRoIGEgc2xhc2gsIHRoZSByb3V0ZXJcbiAqICAgbG9va3MgaW4gdGhlIGNoaWxkcmVuIG9mIHRoZSBjdXJyZW50IGFjdGl2YXRlZCByb3V0ZS5cbiAqICogSWYgdGhlIGZpcnN0IHNlZ21lbnQgYmVnaW5zIHdpdGggYC4uL2AsIHRoZSByb3V0ZXIgZ29lcyB1cCBvbmUgbGV2ZWwgaW4gdGhlIHJvdXRlIHRyZWUuXG4gKlxuICogIyMjIFNldHRpbmcgYW5kIGhhbmRsaW5nIHF1ZXJ5IHBhcmFtcyBhbmQgZnJhZ21lbnRzXG4gKlxuICogVGhlIGZvbGxvd2luZyBsaW5rIGFkZHMgYSBxdWVyeSBwYXJhbWV0ZXIgYW5kIGEgZnJhZ21lbnQgdG8gdGhlIGdlbmVyYXRlZCBVUkw6XG4gKlxuICogYGBgXG4gKiA8YSBbcm91dGVyTGlua109XCJbJy91c2VyL2JvYiddXCIgW3F1ZXJ5UGFyYW1zXT1cIntkZWJ1ZzogdHJ1ZX1cIiBmcmFnbWVudD1cImVkdWNhdGlvblwiPlxuICogICBsaW5rIHRvIHVzZXIgY29tcG9uZW50XG4gKiA8L2E+XG4gKiBgYGBcbiAqIEJ5IGRlZmF1bHQsIHRoZSBkaXJlY3RpdmUgY29uc3RydWN0cyB0aGUgbmV3IFVSTCB1c2luZyB0aGUgZ2l2ZW4gcXVlcnkgcGFyYW1ldGVycy5cbiAqIFRoZSBleGFtcGxlIGdlbmVyYXRlcyB0aGUgbGluazogYC91c2VyL2JvYj9kZWJ1Zz10cnVlI2VkdWNhdGlvbmAuXG4gKlxuICogWW91IGNhbiBpbnN0cnVjdCB0aGUgZGlyZWN0aXZlIHRvIGhhbmRsZSBxdWVyeSBwYXJhbWV0ZXJzIGRpZmZlcmVudGx5XG4gKiBieSBzcGVjaWZ5aW5nIHRoZSBgcXVlcnlQYXJhbXNIYW5kbGluZ2Agb3B0aW9uIGluIHRoZSBsaW5rLlxuICogQWxsb3dlZCB2YWx1ZXMgYXJlOlxuICpcbiAqICAtIGAnbWVyZ2UnYDogTWVyZ2UgdGhlIGdpdmVuIGBxdWVyeVBhcmFtc2AgaW50byB0aGUgY3VycmVudCBxdWVyeSBwYXJhbXMuXG4gKiAgLSBgJ3ByZXNlcnZlJ2A6IFByZXNlcnZlIHRoZSBjdXJyZW50IHF1ZXJ5IHBhcmFtcy5cbiAqXG4gKiBGb3IgZXhhbXBsZTpcbiAqXG4gKiBgYGBcbiAqIDxhIFtyb3V0ZXJMaW5rXT1cIlsnL3VzZXIvYm9iJ11cIiBbcXVlcnlQYXJhbXNdPVwie2RlYnVnOiB0cnVlfVwiIHF1ZXJ5UGFyYW1zSGFuZGxpbmc9XCJtZXJnZVwiPlxuICogICBsaW5rIHRvIHVzZXIgY29tcG9uZW50XG4gKiA8L2E+XG4gKiBgYGBcbiAqXG4gKiBTZWUge0BsaW5rIFVybENyZWF0aW9uT3B0aW9ucyNxdWVyeVBhcmFtc0hhbmRsaW5nfS5cbiAqXG4gKiAjIyMgUHJlc2VydmluZyBuYXZpZ2F0aW9uIGhpc3RvcnlcbiAqXG4gKiBZb3UgY2FuIHByb3ZpZGUgYSBgc3RhdGVgIHZhbHVlIHRvIGJlIHBlcnNpc3RlZCB0byB0aGUgYnJvd3NlcidzXG4gKiBbYEhpc3Rvcnkuc3RhdGVgIHByb3BlcnR5XShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSGlzdG9yeSNQcm9wZXJ0aWVzKS5cbiAqIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYFxuICogPGEgW3JvdXRlckxpbmtdPVwiWycvdXNlci9ib2InXVwiIFtzdGF0ZV09XCJ7dHJhY2luZ0lkOiAxMjN9XCI+XG4gKiAgIGxpbmsgdG8gdXNlciBjb21wb25lbnRcbiAqIDwvYT5cbiAqIGBgYFxuICpcbiAqIFVzZSB7QGxpbmsgUm91dGVyI2dldEN1cnJlbnROYXZpZ2F0aW9ufSB0byByZXRyaWV2ZSBhIHNhdmVkXG4gKiBuYXZpZ2F0aW9uLXN0YXRlIHZhbHVlLiBGb3IgZXhhbXBsZSwgdG8gY2FwdHVyZSB0aGUgYHRyYWNpbmdJZGAgZHVyaW5nIHRoZSBgTmF2aWdhdGlvblN0YXJ0YFxuICogZXZlbnQ6XG4gKlxuICogYGBgXG4gKiAvLyBHZXQgTmF2aWdhdGlvblN0YXJ0IGV2ZW50c1xuICogcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKS5zdWJzY3JpYmUoZSA9PiB7XG4gKiAgIGNvbnN0IG5hdmlnYXRpb24gPSByb3V0ZXIuZ2V0Q3VycmVudE5hdmlnYXRpb24oKTtcbiAqICAgdHJhY2luZ1NlcnZpY2UudHJhY2Uoe2lkOiBuYXZpZ2F0aW9uLmV4dHJhcy5zdGF0ZS50cmFjaW5nSWR9KTtcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQG5nTW9kdWxlIFJvdXRlck1vZHVsZVxuICpcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLyogW05pbWJsZV0gUmVtb3ZlIGFsbCBjb25maWd1cmF0aW9uIGZyb20gQERpcmVjdGl2ZSBkZWNvcmF0b3JcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tyb3V0ZXJMaW5rXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFJvdXRlckxpbmsgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIGFuIGBocmVmYCBhdHRyaWJ1dGUgdmFsdWUgYXBwbGllZCB0byBhIGhvc3QgZWxlbWVudCxcbiAgICogd2hlbiBhIGhvc3QgZWxlbWVudCBpcyBgPGE+YC4gRm9yIG90aGVyIHRhZ3MsIHRoZSB2YWx1ZSBpcyBgbnVsbGAuXG4gICAqL1xuICAvLyBbTmltYmxlXSBNYWtlIGBocmVmYCBhIGBASG9zdEJpbmRpbmdgXG4gIC8vIGhyZWY6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaHJlZicpIGhyZWY6IHN0cmluZ3xudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgYHRhcmdldGAgYXR0cmlidXRlIG9uIGEgaG9zdCBlbGVtZW50LlxuICAgKiBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaXMgYW4gYDxhPmAgdGFnLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhcmdldCcpIEBJbnB1dCgpIHRhcmdldD86IHN0cmluZztcblxuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0gYXMgcGFydCBvZiB0aGVcbiAgICogYFVybENyZWF0aW9uT3B0aW9uc2AuXG4gICAqIEBzZWUge0BsaW5rIFVybENyZWF0aW9uT3B0aW9ucyNxdWVyeVBhcmFtc31cbiAgICogQHNlZSB7QGxpbmsgUm91dGVyI2NyZWF0ZVVybFRyZWV9XG4gICAqL1xuICBASW5wdXQoKSBxdWVyeVBhcmFtcz86IFBhcmFtcyB8IG51bGw7XG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgVXJsQ3JlYXRpb25PcHRpb25zI2ZyYWdtZW50fVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIGZyYWdtZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0gYXMgcGFydCBvZiB0aGVcbiAgICogYFVybENyZWF0aW9uT3B0aW9uc2AuXG4gICAqIEBzZWUge0BsaW5rIFVybENyZWF0aW9uT3B0aW9ucyNxdWVyeVBhcmFtc0hhbmRsaW5nfVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX1cbiAgICovXG4gIEBJbnB1dCgpIHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nIHwgbnVsbDtcbiAgLyoqXG4gICAqIFBhc3NlZCB0byB7QGxpbmsgUm91dGVyI25hdmlnYXRlQnlVcmx9IGFzIHBhcnQgb2YgdGhlXG4gICAqIGBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucyNzdGF0ZX1cbiAgICogQHNlZSB7QGxpbmsgUm91dGVyI25hdmlnYXRlQnlVcmx9XG4gICAqL1xuICBASW5wdXQoKSBzdGF0ZT86IHtbazogc3RyaW5nXTogYW55fTtcbiAgLyoqXG4gICAqIFBhc3NlZCB0byB7QGxpbmsgUm91dGVyI25hdmlnYXRlQnlVcmx9IGFzIHBhcnQgb2YgdGhlXG4gICAqIGBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucyNpbmZvfVxuICAgKiBAc2VlIHtAbGluayBSb3V0ZXIjbmF2aWdhdGVCeVVybH1cbiAgICovXG4gIEBJbnB1dCgpIGluZm8/OiB1bmtub3duO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0gYXMgcGFydCBvZiB0aGVcbiAgICogYFVybENyZWF0aW9uT3B0aW9uc2AuXG4gICAqIFNwZWNpZnkgYSB2YWx1ZSBoZXJlIHdoZW4geW91IGRvIG5vdCB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZVxuICAgKiBmb3IgYHJvdXRlckxpbmtgLCB3aGljaCBpcyB0aGUgY3VycmVudCBhY3RpdmF0ZWQgcm91dGUuXG4gICAqIE5vdGUgdGhhdCBhIHZhbHVlIG9mIGB1bmRlZmluZWRgIGhlcmUgd2lsbCB1c2UgdGhlIGByb3V0ZXJMaW5rYCBkZWZhdWx0LlxuICAgKiBAc2VlIHtAbGluayBVcmxDcmVhdGlvbk9wdGlvbnMjcmVsYXRpdmVUb31cbiAgICogQHNlZSB7QGxpbmsgUm91dGVyI2NyZWF0ZVVybFRyZWV9XG4gICAqL1xuICBASW5wdXQoKSByZWxhdGl2ZVRvPzogQWN0aXZhdGVkUm91dGUgfCBudWxsO1xuXG4gIHByaXZhdGUgY29tbWFuZHM6IGFueVtdIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFdoZXRoZXIgYSBob3N0IGVsZW1lbnQgaXMgYW4gYDxhPmAgdGFnLiAqL1xuICBwcml2YXRlIGlzQW5jaG9yRWxlbWVudDogYm9vbGVhbjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAvKiogQGludGVybmFsICovXG4gIG9uQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PFJvdXRlckxpbms+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBAQXR0cmlidXRlKCd0YWJpbmRleCcpIHByaXZhdGUgcmVhZG9ubHkgdGFiSW5kZXhBdHRyaWJ1dGU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgLy8gW05pbWJsZV0gTmVlZCBJbmplY3QgZGVjb3JhdG9yXG4gICAgQEluamVjdChMb2NhdGlvblN0cmF0ZWd5KSBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k/OiBMb2NhdGlvblN0cmF0ZWd5LFxuICApIHtcbiAgICAvLyBbTmltYmxlXSBIYXJkLWNvZGluZyBgaXNBbmNob3JFbGVtZW50YCB0byBgdHJ1ZWBcbiAgICAvLyBjb25zdCB0YWdOYW1lID0gZWwubmF0aXZlRWxlbWVudC50YWdOYW1lPy50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIHRoaXMuaXNBbmNob3JFbGVtZW50ID0gdGFnTmFtZSA9PT0gJ2EnIHx8IHRhZ05hbWUgPT09ICdhcmVhJztcbiAgICB0aGlzLmlzQW5jaG9yRWxlbWVudCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKHM6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChzIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlSHJlZigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRUYWJJbmRleElmTm90T25OYXRpdmVFbCgnMCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXNzZWQgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfSBhcyBwYXJ0IG9mIHRoZVxuICAgKiBgVXJsQ3JlYXRpb25PcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgVXJsQ3JlYXRpb25PcHRpb25zI3ByZXNlcnZlRnJhZ21lbnR9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBwcmVzZXJ2ZUZyYWdtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3NlZCB0byB7QGxpbmsgUm91dGVyI25hdmlnYXRlQnlVcmx9IGFzIHBhcnQgb2YgdGhlXG4gICAqIGBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zYC5cbiAgICogQHNlZSB7QGxpbmsgTmF2aWdhdGlvbkJlaGF2aW9yT3B0aW9ucyNza2lwTG9jYXRpb25DaGFuZ2V9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBza2lwTG9jYXRpb25DaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogUGFzc2VkIHRvIHtAbGluayBSb3V0ZXIjbmF2aWdhdGVCeVVybH0gYXMgcGFydCBvZiB0aGVcbiAgICogYE5hdmlnYXRpb25CZWhhdmlvck9wdGlvbnNgLlxuICAgKiBAc2VlIHtAbGluayBOYXZpZ2F0aW9uQmVoYXZpb3JPcHRpb25zI3JlcGxhY2VVcmx9XG4gICAqIEBzZWUge0BsaW5rIFJvdXRlciNuYXZpZ2F0ZUJ5VXJsfVxuICAgKi9cbiAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXBsYWNlVXJsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSB0YWIgaW5kZXggaWYgdGhlcmUgd2FzIG5vdCBhIHRhYmluZGV4IGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudCBkdXJpbmdcbiAgICogaW5zdGFudGlhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgc2V0VGFiSW5kZXhJZk5vdE9uTmF0aXZlRWwobmV3VGFiSW5kZXg6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAodGhpcy50YWJJbmRleEF0dHJpYnV0ZSAhPSBudWxsIC8qIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYCAqLyB8fCB0aGlzLmlzQW5jaG9yRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFwcGx5QXR0cmlidXRlVmFsdWUoJ3RhYmluZGV4JywgbmV3VGFiSW5kZXgpO1xuICB9XG5cbiAgLyoqIEBub2RvYyAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaXNBbmNob3JFbGVtZW50KSB7XG4gICAgICB0aGlzLnVwZGF0ZUhyZWYoKTtcbiAgICB9XG4gICAgLy8gVGhpcyBpcyBzdWJzY3JpYmVkIHRvIGJ5IGBSb3V0ZXJMaW5rQWN0aXZlYCBzbyB0aGF0IGl0IGtub3dzIHRvIHVwZGF0ZSB3aGVuIHRoZXJlIGFyZSBjaGFuZ2VzXG4gICAgLy8gdG8gdGhlIFJvdXRlckxpbmtzIGl0J3MgdHJhY2tpbmcuXG4gICAgdGhpcy5vbkNoYW5nZXMubmV4dCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21tYW5kcyB0byBwYXNzIHRvIHtAbGluayBSb3V0ZXIjY3JlYXRlVXJsVHJlZX0uXG4gICAqICAgLSAqKmFycmF5Kio6IGNvbW1hbmRzIHRvIHBhc3MgdG8ge0BsaW5rIFJvdXRlciNjcmVhdGVVcmxUcmVlfS5cbiAgICogICAtICoqc3RyaW5nKio6IHNob3J0aGFuZCBmb3IgYXJyYXkgb2YgY29tbWFuZHMgd2l0aCBqdXN0IHRoZSBzdHJpbmcsIGkuZS4gYFsnL3JvdXRlJ11gXG4gICAqICAgLSAqKm51bGx8dW5kZWZpbmVkKio6IGVmZmVjdGl2ZWx5IGRpc2FibGVzIHRoZSBgcm91dGVyTGlua2BcbiAgICogQHNlZSB7QGxpbmsgUm91dGVyI2NyZWF0ZVVybFRyZWV9XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgcm91dGVyTGluayhjb21tYW5kczogYW55W10gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNvbW1hbmRzICE9IG51bGwpIHtcbiAgICAgIHRoaXMuY29tbWFuZHMgPSBBcnJheS5pc0FycmF5KGNvbW1hbmRzKSA/IGNvbW1hbmRzIDogW2NvbW1hbmRzXTtcbiAgICAgIHRoaXMuc2V0VGFiSW5kZXhJZk5vdE9uTmF0aXZlRWwoJzAnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21tYW5kcyA9IG51bGw7XG4gICAgICB0aGlzLnNldFRhYkluZGV4SWZOb3RPbk5hdGl2ZUVsKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbXG4gICAgJyRldmVudC5idXR0b24nLFxuICAgICckZXZlbnQuY3RybEtleScsXG4gICAgJyRldmVudC5zaGlmdEtleScsXG4gICAgJyRldmVudC5hbHRLZXknLFxuICAgICckZXZlbnQubWV0YUtleScsXG4gIF0pXG4gIG9uQ2xpY2soXG4gICAgYnV0dG9uOiBudW1iZXIsXG4gICAgY3RybEtleTogYm9vbGVhbixcbiAgICBzaGlmdEtleTogYm9vbGVhbixcbiAgICBhbHRLZXk6IGJvb2xlYW4sXG4gICAgbWV0YUtleTogYm9vbGVhbixcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdXJsVHJlZSA9IHRoaXMudXJsVHJlZTtcblxuICAgIGlmICh1cmxUcmVlID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0FuY2hvckVsZW1lbnQpIHtcbiAgICAgIGlmIChidXR0b24gIT09IDAgfHwgY3RybEtleSB8fCBzaGlmdEtleSB8fCBhbHRLZXkgfHwgbWV0YUtleSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnRhcmdldCA9PT0gJ3N0cmluZycgJiYgdGhpcy50YXJnZXQgIT0gJ19zZWxmJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBleHRyYXMgPSB7XG4gICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IHRoaXMuc2tpcExvY2F0aW9uQ2hhbmdlLFxuICAgICAgcmVwbGFjZVVybDogdGhpcy5yZXBsYWNlVXJsLFxuICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICBpbmZvOiB0aGlzLmluZm8sXG4gICAgfTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybFRyZWUsIGV4dHJhcyk7XG5cbiAgICAvLyBSZXR1cm4gYGZhbHNlYCBmb3IgYDxhPmAgZWxlbWVudHMgdG8gcHJldmVudCBkZWZhdWx0IGFjdGlvblxuICAgIC8vIGFuZCBjYW5jZWwgdGhlIG5hdGl2ZSBiZWhhdmlvciwgc2luY2UgdGhlIG5hdmlnYXRpb24gaXMgaGFuZGxlZFxuICAgIC8vIGJ5IHRoZSBSb3V0ZXIuXG4gICAgcmV0dXJuICF0aGlzLmlzQW5jaG9yRWxlbWVudDtcbiAgfVxuXG4gIC8qKiBAbm9kb2MgKi9cbiAgbmdPbkRlc3Ryb3koKTogYW55IHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSHJlZigpOiB2b2lkIHtcbiAgICBjb25zdCB1cmxUcmVlID0gdGhpcy51cmxUcmVlO1xuICAgIHRoaXMuaHJlZiA9XG4gICAgICB1cmxUcmVlICE9PSBudWxsICYmIHRoaXMubG9jYXRpb25TdHJhdGVneVxuICAgICAgICA/IHRoaXMubG9jYXRpb25TdHJhdGVneT8ucHJlcGFyZUV4dGVybmFsVXJsKHRoaXMucm91dGVyLnNlcmlhbGl6ZVVybCh1cmxUcmVlKSlcbiAgICAgICAgOiBudWxsO1xuXG4gICAgLyoqXG4gICAgICogW05pbWJsZV0gUmVtb3ZlIHNhbml0aXphdGlvbiBjb2RlIGFuZCBhcHBseWluZyB0aGUgYGhyZWZgIGF0dHJpYnV0ZSBpbiBmYXZvciBvZiBjaGFuZ2luZyBgaHJlZmBcbiAgICAgKiB0byBiZSBhIGBASG9zdEJpbmRpbmdgLiBUaGlzIGF2b2lkcyB0aGUgbmVlZCBvZiBjYWxsaW5nIGludG8gcHJpdmF0ZSBBbmd1bGFyIHNhbml0aXphdGlvbiBjb2RlLlxuICAgICAqL1xuICAgIC8vIGNvbnN0IHNhbml0aXplZFZhbHVlID1cbiAgICAvLyB0aGlzLmhyZWYgPT09IG51bGxcbiAgICAvLyAgICA/IG51bGxcbiAgICAvLyAgICA6IC8vIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIGRpcmVjdGl2ZSB0aGF0IGNhbiBiZSBhZGRlZCB0byBib3RoIGA8YT5gIGVsZW1lbnRzLFxuICAgIC8vICAgICAgLy8gYXMgd2VsbCBhcyBvdGhlciBlbGVtZW50cy4gQXMgYSByZXN1bHQsIHdlIGNhbid0IGRlZmluZSBzZWN1cml0eSBjb250ZXh0IGF0XG4gICAgLy8gICAgICAvLyBjb21waWxlIHRpbWUuIFNvIHRoZSBzZWN1cml0eSBjb250ZXh0IGlzIGRlZmVycmVkIHRvIHJ1bnRpbWUuXG4gICAgLy8gICAgICAvLyBUaGUgYMm1ybVzYW5pdGl6ZVVybE9yUmVzb3VyY2VVcmxgIHNlbGVjdHMgdGhlIG5lY2Vzc2FyeSBzYW5pdGl6ZXIgZnVuY3Rpb25cbiAgICAvLyAgICAgIC8vIGJhc2VkIG9uIHRoZSB0YWcgYW5kIHByb3BlcnR5IG5hbWVzLiBUaGUgbG9naWMgbWltaWNzIHRoZSBvbmUgZnJvbVxuICAgIC8vICAgICAgLy8gYHBhY2thZ2VzL2NvbXBpbGVyL3NyYy9zY2hlbWEvZG9tX3NlY3VyaXR5X3NjaGVtYS50c2AsIHdoaWNoIGlzIHVzZWQgYXQgY29tcGlsZSB0aW1lLlxuICAgIC8vICAgICAgLy9cbiAgICAvLyAgICAgIC8vIE5vdGU6IHdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB3aGV0aGVyIHdlIGNhbiBzd2l0Y2ggdG8gdXNpbmcgYEBIb3N0QmluZGluZygnYXR0ci5ocmVmJylgXG4gICAgLy8gICAgICAvLyBpbnN0ZWFkIG9mIGFwcGx5aW5nIGEgdmFsdWUgdmlhIGEgcmVuZGVyZXIsIGFmdGVyIGEgZmluYWwgbWVyZ2Ugb2YgdGhlXG4gICAgLy8gICAgICAvLyBgUm91dGVyTGlua1dpdGhIcmVmYCBkaXJlY3RpdmUuXG4gICAgLy8gICAgICDJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsKFxuICAgIC8vICAgICAgICB0aGlzLmhyZWYsXG4gICAgLy8gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgLy8gICAgICAgICdocmVmJyxcbiAgICAvLyAgICAgICk7XG4gICAgLy8gdGhpcy5hcHBseUF0dHJpYnV0ZVZhbHVlKCdocmVmJywgc2FuaXRpemVkVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseUF0dHJpYnV0ZVZhbHVlKGF0dHJOYW1lOiBzdHJpbmcsIGF0dHJWYWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChhdHRyVmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJlbmRlcmVyLnNldEF0dHJpYnV0ZShuYXRpdmVFbGVtZW50LCBhdHRyTmFtZSwgYXR0clZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKG5hdGl2ZUVsZW1lbnQsIGF0dHJOYW1lKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdXJsVHJlZSgpOiBVcmxUcmVlIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuY29tbWFuZHMgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZSh0aGlzLmNvbW1hbmRzLCB7XG4gICAgICAvLyBJZiB0aGUgYHJlbGF0aXZlVG9gIGlucHV0IGlzIG5vdCBkZWZpbmVkLCB3ZSB3YW50IHRvIHVzZSBgdGhpcy5yb3V0ZWAgYnkgZGVmYXVsdC5cbiAgICAgIC8vIE90aGVyd2lzZSwgd2Ugc2hvdWxkIHVzZSB0aGUgdmFsdWUgcHJvdmlkZWQgYnkgdGhlIHVzZXIgaW4gdGhlIGlucHV0LlxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yZWxhdGl2ZVRvICE9PSB1bmRlZmluZWQgPyB0aGlzLnJlbGF0aXZlVG8gOiB0aGlzLnJvdXRlLFxuICAgICAgcXVlcnlQYXJhbXM6IHRoaXMucXVlcnlQYXJhbXMsXG4gICAgICBmcmFnbWVudDogdGhpcy5mcmFnbWVudCxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IHRoaXMucXVlcnlQYXJhbXNIYW5kbGluZyxcbiAgICAgIHByZXNlcnZlRnJhZ21lbnQ6IHRoaXMucHJlc2VydmVGcmFnbWVudCxcbiAgICB9KTtcbiAgfVxufVxuXG4vLyBbTmltYmxlXSBSZW1vdmUgZXh0cmEgZXhwb3J0IGZvciBkZXByZWNhdGVkIEFuZ3VsYXIgQVBJXG4vLyAvKipcbi8vICAqIEBkZXNjcmlwdGlvblxuLy8gICogQW4gYWxpYXMgZm9yIHRoZSBgUm91dGVyTGlua2AgZGlyZWN0aXZlLlxuLy8gICogRGVwcmVjYXRlZCBzaW5jZSB2MTUsIHVzZSBgUm91dGVyTGlua2AgZGlyZWN0aXZlIGluc3RlYWQuXG4vLyAgKlxuLy8gICogQGRlcHJlY2F0ZWQgdXNlIGBSb3V0ZXJMaW5rYCBkaXJlY3RpdmUgaW5zdGVhZC5cbi8vICAqIEBwdWJsaWNBcGlcbi8vICAqL1xuLy8gZXhwb3J0IHtSb3V0ZXJMaW5rIGFzIFJvdXRlckxpbmtXaXRoSHJlZn07XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * [Nimble]
3
- * Copied from https://github.com/angular/angular/blob/16.2.12/packages/forms/src/directives/select_control_value_accessor.ts
3
+ * Copied from https://github.com/angular/angular/blob/17.3.11/packages/forms/src/directives/select_control_value_accessor.ts
4
4
  * with the following modifications:
5
5
  * - Update imports
6
6
  * - Remove all configuration from SelectControlValueAccessor's `@Directive` decorator
@@ -161,10 +161,10 @@ export class SelectControlValueAccessor extends BuiltInControlValueAccessor {
161
161
  const id = _extractId(valueString);
162
162
  return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
165
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SelectControlValueAccessor, inputs: { compareWith: "compareWith" }, usesInheritance: true, ngImport: i0 }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
165
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SelectControlValueAccessor, inputs: { compareWith: "compareWith" }, usesInheritance: true, ngImport: i0 }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
168
168
  type: Directive
169
169
  }], propDecorators: { compareWith: [{
170
170
  type: Input
@@ -223,20 +223,20 @@ export class NgSelectOption {
223
223
  this._select.writeValue(this._select.value);
224
224
  }
225
225
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
227
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgSelectOption, inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
226
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
227
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NgSelectOption, inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
228
228
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgSelectOption, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgSelectOption, decorators: [{
230
230
  type: Directive
231
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{
231
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{
232
232
  type: Optional
233
233
  }, {
234
234
  type: Host
235
- }] }]; }, propDecorators: { ngValue: [{
235
+ }] }], propDecorators: { ngValue: [{
236
236
  type: Input,
237
237
  args: ['ngValue']
238
238
  }], value: [{
239
239
  type: Input,
240
240
  args: ['value']
241
241
  }] } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0X2NvbnRyb2xfdmFsdWVfYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci9zcmMvdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL3NlbGVjdF9jb250cm9sX3ZhbHVlX2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0g7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBYyxJQUFJLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBYSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHNUcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRXZFOzs7Ozs7RUFNRTtBQUVGLFNBQVMsaUJBQWlCLENBQUMsRUFBZSxFQUFFLEtBQVU7SUFDcEQsSUFBSSxFQUFFLElBQUksSUFBSTtRQUFFLE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUNsQyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQUUsS0FBSyxHQUFHLFFBQVEsQ0FBQztJQUN6RCxPQUFPLEdBQUcsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLFdBQW1CO0lBQ3JDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1REc7QUFDSDs7Ozs7OztFQU9FO0FBRUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLDJCQUEyQjtJQUQzRTs7UUFNRSxnQkFBZ0I7UUFDaEIsZUFBVSxHQUFxQixJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRXRELGdCQUFnQjtR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S0FBSzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBbTmltYmxlXVxuICogQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iLzE2LjIuMTIvcGFja2FnZXMvZm9ybXMvc3JjL2RpcmVjdGl2ZXMvc2VsZWN0X2NvbnRyb2xfdmFsdWVfYWNjZXNzb3IudHNcbiAqIHdpdGggdGhlIGZvbGxvd2luZyBtb2RpZmljYXRpb25zOlxuICogLSBVcGRhdGUgaW1wb3J0c1xuICogLSBSZW1vdmUgYWxsIGNvbmZpZ3VyYXRpb24gZnJvbSBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvcidzIGBARGlyZWN0aXZlYCBkZWNvcmF0b3JcbiAqIC0gUmVtb3ZlIGFsbCBjb25maWd1cmF0aW9uIGZyb20gTmdTZWxlY3RPcHRpb24ncyBgQERpcmVjdGl2ZWAgZGVjb3JhdG9yXG4gKiAtIFVwZGF0ZSB2YWxpZGF0aW9uIHdpdGhpbiBgY29tcGFyZVdpdGhgIHRvIHVzZSBwdWJsaWMgQVBJc1xuICovXG5cblxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0LCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgUmVuZGVyZXIyLCBpc0Rldk1vZGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnVpbHRJbkNvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9jb250cm9sX3ZhbHVlX2FjY2Vzc29yJztcblxuLyogW05pbWJsZV0gRG8gbm90IHJlZ2lzdGVyIGFzIGEgdmFsdWUgYWNjZXNzb3IgcHJvdmlkZXJcbmNvbnN0IFNFTEVDVF9WQUxVRV9BQ0NFU1NPUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciksXG4gIG11bHRpOiB0cnVlXG59O1xuKi9cblxuZnVuY3Rpb24gX2J1aWxkVmFsdWVTdHJpbmcoaWQ6IHN0cmluZ3xudWxsLCB2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgaWYgKGlkID09IG51bGwpIHJldHVybiBgJHt2YWx1ZX1gO1xuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JykgdmFsdWUgPSAnT2JqZWN0JztcbiAgcmV0dXJuIGAke2lkfTogJHt2YWx1ZX1gLnNsaWNlKDAsIDUwKTtcbn1cblxuZnVuY3Rpb24gX2V4dHJhY3RJZCh2YWx1ZVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlU3RyaW5nLnNwbGl0KCc6JylbMF07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBUaGUgYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCBmb3Igd3JpdGluZyBzZWxlY3QgY29udHJvbCB2YWx1ZXMgYW5kIGxpc3RlbmluZyB0byBzZWxlY3QgY29udHJvbFxuICogY2hhbmdlcy4gVGhlIHZhbHVlIGFjY2Vzc29yIGlzIHVzZWQgYnkgdGhlIGBGb3JtQ29udHJvbERpcmVjdGl2ZWAsIGBGb3JtQ29udHJvbE5hbWVgLCBhbmRcbiAqIGBOZ01vZGVsYCBkaXJlY3RpdmVzLlxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKlxuICogIyMjIFVzaW5nIHNlbGVjdCBjb250cm9scyBpbiBhIHJlYWN0aXZlIGZvcm1cbiAqXG4gKiBUaGUgZm9sbG93aW5nIGV4YW1wbGVzIHNob3cgaG93IHRvIHVzZSBhIHNlbGVjdCBjb250cm9sIGluIGEgcmVhY3RpdmUgZm9ybS5cbiAqXG4gKiB7QGV4YW1wbGUgZm9ybXMvdHMvcmVhY3RpdmVTZWxlY3RDb250cm9sL3JlYWN0aXZlX3NlbGVjdF9jb250cm9sX2V4YW1wbGUudHMgcmVnaW9uPSdDb21wb25lbnQnfVxuICpcbiAqICMjIyBVc2luZyBzZWxlY3QgY29udHJvbHMgaW4gYSB0ZW1wbGF0ZS1kcml2ZW4gZm9ybVxuICpcbiAqIFRvIHVzZSBhIHNlbGVjdCBpbiBhIHRlbXBsYXRlLWRyaXZlbiBmb3JtLCBzaW1wbHkgYWRkIGFuIGBuZ01vZGVsYCBhbmQgYSBgbmFtZWBcbiAqIGF0dHJpYnV0ZSB0byB0aGUgbWFpbiBgPHNlbGVjdD5gIHRhZy5cbiAqXG4gKiB7QGV4YW1wbGUgZm9ybXMvdHMvc2VsZWN0Q29udHJvbC9zZWxlY3RfY29udHJvbF9leGFtcGxlLnRzIHJlZ2lvbj0nQ29tcG9uZW50J31cbiAqXG4gKiAjIyMgQ3VzdG9taXppbmcgb3B0aW9uIHNlbGVjdGlvblxuICpcbiAqIEFuZ3VsYXIgdXNlcyBvYmplY3QgaWRlbnRpdHkgdG8gc2VsZWN0IG9wdGlvbi4gSXQncyBwb3NzaWJsZSBmb3IgdGhlIGlkZW50aXRpZXMgb2YgaXRlbXNcbiAqIHRvIGNoYW5nZSB3aGlsZSB0aGUgZGF0YSBkb2VzIG5vdC4gVGhpcyBjYW4gaGFwcGVuLCBmb3IgZXhhbXBsZSwgaWYgdGhlIGl0ZW1zIGFyZSBwcm9kdWNlZFxuICogZnJvbSBhbiBSUEMgdG8gdGhlIHNlcnZlciwgYW5kIHRoYXQgUlBDIGlzIHJlLXJ1bi4gRXZlbiBpZiB0aGUgZGF0YSBoYXNuJ3QgY2hhbmdlZCwgdGhlXG4gKiBzZWNvbmQgcmVzcG9uc2Ugd2lsbCBwcm9kdWNlIG9iamVjdHMgd2l0aCBkaWZmZXJlbnQgaWRlbnRpdGllcy5cbiAqXG4gKiBUbyBjdXN0b21pemUgdGhlIGRlZmF1bHQgb3B0aW9uIGNvbXBhcmlzb24gYWxnb3JpdGhtLCBgPHNlbGVjdD5gIHN1cHBvcnRzIGBjb21wYXJlV2l0aGAgaW5wdXQuXG4gKiBgY29tcGFyZVdpdGhgIHRha2VzIGEgKipmdW5jdGlvbioqIHdoaWNoIGhhcyB0d28gYXJndW1lbnRzOiBgb3B0aW9uMWAgYW5kIGBvcHRpb24yYC5cbiAqIElmIGBjb21wYXJlV2l0aGAgaXMgZ2l2ZW4sIEFuZ3VsYXIgc2VsZWN0cyBvcHRpb24gYnkgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZnVuY3Rpb24uXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHNlbGVjdGVkQ291bnRyaWVzQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICogYGBgXG4gKlxuICogYGBgXG4gKiA8c2VsZWN0IFtjb21wYXJlV2l0aF09XCJjb21wYXJlRm5cIiAgW2Zvcm1Db250cm9sXT1cInNlbGVjdGVkQ291bnRyaWVzQ29udHJvbFwiPlxuICogICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyaWVzXCIgW25nVmFsdWVdPVwiY291bnRyeVwiPlxuICogICAgICAgICB7e2NvdW50cnkubmFtZX19XG4gKiAgICAgPC9vcHRpb24+XG4gKiA8L3NlbGVjdD5cbiAqXG4gKiBjb21wYXJlRm4oYzE6IENvdW50cnksIGMyOiBDb3VudHJ5KTogYm9vbGVhbiB7XG4gKiAgICAgcmV0dXJuIGMxICYmIGMyID8gYzEuaWQgPT09IGMyLmlkIDogYzEgPT09IGMyO1xuICogfVxuICogYGBgXG4gKlxuICogKipOb3RlOioqIFdlIGxpc3RlbiB0byB0aGUgJ2NoYW5nZScgZXZlbnQgYmVjYXVzZSAnaW5wdXQnIGV2ZW50cyBhcmVuJ3QgZmlyZWRcbiAqIGZvciBzZWxlY3RzIGluIElFLCBzZWU6XG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSFRNTEVsZW1lbnQvaW5wdXRfZXZlbnQjYnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gKlxuICogQG5nTW9kdWxlIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAqIEBuZ01vZHVsZSBGb3Jtc01vZHVsZVxuICogQHB1YmxpY0FwaVxuICovXG4vKiBbTmltYmxlXSBSZW1vdmUgYWxsIGNvbmZpZ3VyYXRpb24gZnJvbSBARGlyZWN0aXZlIGRlY29yYXRvclxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOlxuICAgICAgJ3NlbGVjdDpub3QoW211bHRpcGxlXSlbZm9ybUNvbnRyb2xOYW1lXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sXSxzZWxlY3Q6bm90KFttdWx0aXBsZV0pW25nTW9kZWxdJyxcbiAgaG9zdDogeycoY2hhbmdlKSc6ICdvbkNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKScsICcoYmx1ciknOiAnb25Ub3VjaGVkKCknfSxcbiAgcHJvdmlkZXJzOiBbU0VMRUNUX1ZBTFVFX0FDQ0VTU09SXVxufSlcbiovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciBleHRlbmRzIEJ1aWx0SW5Db250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKiogQG5vZG9jICovXG4gIHZhbHVlOiBhbnk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfb3B0aW9uTWFwOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxuICAvKiogQGludGVybmFsICovXG4gIF9pZENvdW50ZXI6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUcmFja3MgdGhlIG9wdGlvbiBjb21wYXJpc29uIGFsZ29yaXRobSBmb3IgdHJhY2tpbmcgaWRlbnRpdGllcyB3aGVuXG4gICAqIGNoZWNraW5nIGZvciBjaGFuZ2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGNvbXBhcmVXaXRoKGZuOiAobzE6IGFueSwgbzI6IGFueSkgPT4gYm9vbGVhbikge1xuICAgIC8vIFtOaW1ibGVdIFVwZGF0ZSB0byB1c2UgcHVibGljIEFQSXNcbiAgICAvLyBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgLy8gICB0aHJvdyBuZXcgUnVudGltZUVycm9yKFxuICAgIC8vICAgICAgIFJ1bnRpbWVFcnJvckNvZGUuQ09NUEFSRVdJVEhfTk9UX0FfRk4sXG4gICAgLy8gICAgICAgYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWApO1xuICAgIC8vIH1cbiAgICBpZiAodHlwZW9mIGZuICE9PSAnZnVuY3Rpb24nICYmIGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY29tcGFyZVdpdGggbXVzdCBiZSBhIGZ1bmN0aW9uLCBidXQgcmVjZWl2ZWQgJHtKU09OLnN0cmluZ2lmeShmbil9YCk7XG4gICAgfVxuICAgIHRoaXMuX2NvbXBhcmVXaXRoID0gZm47XG4gIH1cblxuICBwcml2YXRlIF9jb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4gPSBPYmplY3QuaXM7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIFwidmFsdWVcIiBwcm9wZXJ0eSBvbiB0aGUgc2VsZWN0IGVsZW1lbnQuXG4gICAqIEBub2RvY1xuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIGNvbnN0IGlkOiBzdHJpbmd8bnVsbCA9IHRoaXMuX2dldE9wdGlvbklkKHZhbHVlKTtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IF9idWlsZFZhbHVlU3RyaW5nKGlkLCB2YWx1ZSk7XG4gICAgdGhpcy5zZXRQcm9wZXJ0eSgndmFsdWUnLCB2YWx1ZVN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbnRyb2wgdmFsdWUgY2hhbmdlcy5cbiAgICogQG5vZG9jXG4gICAqL1xuICBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9ICh2YWx1ZVN0cmluZzogc3RyaW5nKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5fZ2V0T3B0aW9uVmFsdWUodmFsdWVTdHJpbmcpO1xuICAgICAgZm4odGhpcy52YWx1ZSk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3JlZ2lzdGVyT3B0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLl9pZENvdW50ZXIrKykudG9TdHJpbmcoKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2dldE9wdGlvbklkKHZhbHVlOiBhbnkpOiBzdHJpbmd8bnVsbCB7XG4gICAgZm9yIChjb25zdCBpZCBvZiB0aGlzLl9vcHRpb25NYXAua2V5cygpKSB7XG4gICAgICBpZiAodGhpcy5fY29tcGFyZVdpdGgodGhpcy5fb3B0aW9uTWFwLmdldChpZCksIHZhbHVlKSkgcmV0dXJuIGlkO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2dldE9wdGlvblZhbHVlKHZhbHVlU3RyaW5nOiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBfZXh0cmFjdElkKHZhbHVlU3RyaW5nKTtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uTWFwLmhhcyhpZCkgPyB0aGlzLl9vcHRpb25NYXAuZ2V0KGlkKSA6IHZhbHVlU3RyaW5nO1xuICB9XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBNYXJrcyBgPG9wdGlvbj5gIGFzIGR5bmFtaWMsIHNvIEFuZ3VsYXIgY2FuIGJlIG5vdGlmaWVkIHdoZW4gb3B0aW9ucyBjaGFuZ2UuXG4gKlxuICogQHNlZSB7QGxpbmsgU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3J9XG4gKlxuICogQG5nTW9kdWxlIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAqIEBuZ01vZHVsZSBGb3Jtc01vZHVsZVxuICogQHB1YmxpY0FwaVxuICovXG4vKiBbTmltYmxlXSBSZW1vdmUgYWxsIGNvbmZpZ3VyYXRpb24gZnJvbSBARGlyZWN0aXZlIGRlY29yYXRvclxuQERpcmVjdGl2ZSh7c2VsZWN0b3I6ICdvcHRpb24nfSlcbiovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBOZ1NlbGVjdE9wdGlvbiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogSUQgb2YgdGhlIG9wdGlvbiBlbGVtZW50XG4gICAqL1xuICAvLyBUT0RPKGlzc3VlLzI0NTcxKTogcmVtb3ZlICchJy5cbiAgaWQhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmLCBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9zZWxlY3Q6IFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yKSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdCkgdGhpcy5pZCA9IHRoaXMuX3NlbGVjdC5fcmVnaXN0ZXJPcHRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVHJhY2tzIHRoZSB2YWx1ZSBib3VuZCB0byB0aGUgb3B0aW9uIGVsZW1lbnQuIFVubGlrZSB0aGUgdmFsdWUgYmluZGluZyxcbiAgICogbmdWYWx1ZSBzdXBwb3J0cyBiaW5kaW5nIHRvIG9iamVjdHMuXG4gICAqL1xuICBASW5wdXQoJ25nVmFsdWUnKVxuICBzZXQgbmdWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdCA9PSBudWxsKSByZXR1cm47XG4gICAgdGhpcy5fc2VsZWN0Ll9vcHRpb25NYXAuc2V0KHRoaXMuaWQsIHZhbHVlKTtcbiAgICB0aGlzLl9zZXRFbGVtZW50VmFsdWUoX2J1aWxkVmFsdWVTdHJpbmcodGhpcy5pZCwgdmFsdWUpKTtcbiAgICB0aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUcmFja3Mgc2ltcGxlIHN0cmluZyB2YWx1ZXMgYm91bmQgdG8gdGhlIG9wdGlvbiBlbGVtZW50LlxuICAgKiBGb3Igb2JqZWN0cywgdXNlIHRoZSBgbmdWYWx1ZWAgaW5wdXQgYmluZGluZy5cbiAgICovXG4gIEBJbnB1dCgndmFsdWUnKVxuICBzZXQgdmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuX3NlbGVjdCkgdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3NldEVsZW1lbnRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCB2YWx1ZSk7XG4gIH1cblxuICAvKiogQG5vZG9jICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zZWxlY3QpIHtcbiAgICAgIHRoaXMuX3NlbGVjdC5fb3B0aW9uTWFwLmRlbGV0ZSh0aGlzLmlkKTtcbiAgICAgIHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0X2NvbnRyb2xfdmFsdWVfYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci9zcmMvdGhpcmRwYXJ0eS9kaXJlY3RpdmVzL3NlbGVjdF9jb250cm9sX3ZhbHVlX2FjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0g7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBMEIsSUFBSSxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQXNELFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUdqSyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFckU7Ozs7OztFQU1FO0FBRUYsU0FBUyxpQkFBaUIsQ0FBQyxFQUFlLEVBQUUsS0FBVTtJQUNwRCxJQUFJLEVBQUUsSUFBSSxJQUFJO1FBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ2xDLElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQ3pELE9BQU8sR0FBRyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsV0FBbUI7SUFDckMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVERztBQUNIOzs7Ozs7O0VBT0U7QUFFRixNQUFNLE9BQU8sMEJBQTJCLFNBQVEsMkJBQTJCO0lBRDNFOztRQU1FLGdCQUFnQjtRQUNoQixlQUFVLEdBQXFCLElBQUksR0FBRyxFQUFlLENBQUM7UUFFdEQsZ0JBQWdC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QUFLO3VCQUFDLFNBQVM7Z0JBY1osS0FBSztzQkFEUixLQUFLO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFtOaW1ibGVdXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTcuMy4xMS9wYWNrYWdlcy9mb3Jtcy9zcmMvZGlyZWN0aXZlcy9zZWxlY3RfY29udHJvbF92YWx1ZV9hY2Nlc3Nvci50c1xuICogd2l0aCB0aGUgZm9sbG93aW5nIG1vZGlmaWNhdGlvbnM6XG4gKiAtIFVwZGF0ZSBpbXBvcnRzXG4gKiAtIFJlbW92ZSBhbGwgY29uZmlndXJhdGlvbiBmcm9tIFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yJ3MgYEBEaXJlY3RpdmVgIGRlY29yYXRvclxuICogLSBSZW1vdmUgYWxsIGNvbmZpZ3VyYXRpb24gZnJvbSBOZ1NlbGVjdE9wdGlvbidzIGBARGlyZWN0aXZlYCBkZWNvcmF0b3JcbiAqIC0gVXBkYXRlIHZhbGlkYXRpb24gd2l0aGluIGBjb21wYXJlV2l0aGAgdG8gdXNlIHB1YmxpYyBBUElzXG4gKi9cblxuXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBQcm92aWRlciwgUmVuZGVyZXIyLCDJtVJ1bnRpbWVFcnJvciBhcyBSdW50aW1lRXJyb3IsIGlzRGV2TW9kZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHtDb250cm9sVmFsdWVBY2Nlc3Nvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCdWlsdEluQ29udHJvbFZhbHVlQWNjZXNzb3J9IGZyb20gJy4vY29udHJvbF92YWx1ZV9hY2Nlc3Nvcic7XG5cbi8qIFtOaW1ibGVdIERvIG5vdCByZWdpc3RlciBhcyBhIHZhbHVlIGFjY2Vzc29yIHByb3ZpZGVyXG5jb25zdCBTRUxFQ1RfVkFMVUVfQUNDRVNTT1I6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IpLFxuICBtdWx0aTogdHJ1ZVxufTtcbiovXG5cbmZ1bmN0aW9uIF9idWlsZFZhbHVlU3RyaW5nKGlkOiBzdHJpbmd8bnVsbCwgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gIGlmIChpZCA9PSBudWxsKSByZXR1cm4gYCR7dmFsdWV9YDtcbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHZhbHVlID0gJ09iamVjdCc7XG4gIHJldHVybiBgJHtpZH06ICR7dmFsdWV9YC5zbGljZSgwLCA1MCk7XG59XG5cbmZ1bmN0aW9uIF9leHRyYWN0SWQodmFsdWVTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZVN0cmluZy5zcGxpdCgnOicpWzBdO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgZm9yIHdyaXRpbmcgc2VsZWN0IGNvbnRyb2wgdmFsdWVzIGFuZCBsaXN0ZW5pbmcgdG8gc2VsZWN0IGNvbnRyb2xcbiAqIGNoYW5nZXMuIFRoZSB2YWx1ZSBhY2Nlc3NvciBpcyB1c2VkIGJ5IHRoZSBgRm9ybUNvbnRyb2xEaXJlY3RpdmVgLCBgRm9ybUNvbnRyb2xOYW1lYCwgYW5kXG4gKiBgTmdNb2RlbGAgZGlyZWN0aXZlcy5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqICMjIyBVc2luZyBzZWxlY3QgY29udHJvbHMgaW4gYSByZWFjdGl2ZSBmb3JtXG4gKlxuICogVGhlIGZvbGxvd2luZyBleGFtcGxlcyBzaG93IGhvdyB0byB1c2UgYSBzZWxlY3QgY29udHJvbCBpbiBhIHJlYWN0aXZlIGZvcm0uXG4gKlxuICoge0BleGFtcGxlIGZvcm1zL3RzL3JlYWN0aXZlU2VsZWN0Q29udHJvbC9yZWFjdGl2ZV9zZWxlY3RfY29udHJvbF9leGFtcGxlLnRzIHJlZ2lvbj0nQ29tcG9uZW50J31cbiAqXG4gKiAjIyMgVXNpbmcgc2VsZWN0IGNvbnRyb2xzIGluIGEgdGVtcGxhdGUtZHJpdmVuIGZvcm1cbiAqXG4gKiBUbyB1c2UgYSBzZWxlY3QgaW4gYSB0ZW1wbGF0ZS1kcml2ZW4gZm9ybSwgc2ltcGx5IGFkZCBhbiBgbmdNb2RlbGAgYW5kIGEgYG5hbWVgXG4gKiBhdHRyaWJ1dGUgdG8gdGhlIG1haW4gYDxzZWxlY3Q+YCB0YWcuXG4gKlxuICoge0BleGFtcGxlIGZvcm1zL3RzL3NlbGVjdENvbnRyb2wvc2VsZWN0X2NvbnRyb2xfZXhhbXBsZS50cyByZWdpb249J0NvbXBvbmVudCd9XG4gKlxuICogIyMjIEN1c3RvbWl6aW5nIG9wdGlvbiBzZWxlY3Rpb25cbiAqXG4gKiBBbmd1bGFyIHVzZXMgb2JqZWN0IGlkZW50aXR5IHRvIHNlbGVjdCBvcHRpb24uIEl0J3MgcG9zc2libGUgZm9yIHRoZSBpZGVudGl0aWVzIG9mIGl0ZW1zXG4gKiB0byBjaGFuZ2Ugd2hpbGUgdGhlIGRhdGEgZG9lcyBub3QuIFRoaXMgY2FuIGhhcHBlbiwgZm9yIGV4YW1wbGUsIGlmIHRoZSBpdGVtcyBhcmUgcHJvZHVjZWRcbiAqIGZyb20gYW4gUlBDIHRvIHRoZSBzZXJ2ZXIsIGFuZCB0aGF0IFJQQyBpcyByZS1ydW4uIEV2ZW4gaWYgdGhlIGRhdGEgaGFzbid0IGNoYW5nZWQsIHRoZVxuICogc2Vjb25kIHJlc3BvbnNlIHdpbGwgcHJvZHVjZSBvYmplY3RzIHdpdGggZGlmZmVyZW50IGlkZW50aXRpZXMuXG4gKlxuICogVG8gY3VzdG9taXplIHRoZSBkZWZhdWx0IG9wdGlvbiBjb21wYXJpc29uIGFsZ29yaXRobSwgYDxzZWxlY3Q+YCBzdXBwb3J0cyBgY29tcGFyZVdpdGhgIGlucHV0LlxuICogYGNvbXBhcmVXaXRoYCB0YWtlcyBhICoqZnVuY3Rpb24qKiB3aGljaCBoYXMgdHdvIGFyZ3VtZW50czogYG9wdGlvbjFgIGFuZCBgb3B0aW9uMmAuXG4gKiBJZiBgY29tcGFyZVdpdGhgIGlzIGdpdmVuLCBBbmd1bGFyIHNlbGVjdHMgb3B0aW9uIGJ5IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZ1bmN0aW9uLlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCBzZWxlY3RlZENvdW50cmllc0NvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAqIGBgYFxuICpcbiAqIGBgYFxuICogPHNlbGVjdCBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUZuXCIgIFtmb3JtQ29udHJvbF09XCJzZWxlY3RlZENvdW50cmllc0NvbnRyb2xcIj5cbiAqICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cmllc1wiIFtuZ1ZhbHVlXT1cImNvdW50cnlcIj5cbiAqICAgICAgICAge3tjb3VudHJ5Lm5hbWV9fVxuICogICAgIDwvb3B0aW9uPlxuICogPC9zZWxlY3Q+XG4gKlxuICogY29tcGFyZUZuKGMxOiBDb3VudHJ5LCBjMjogQ291bnRyeSk6IGJvb2xlYW4ge1xuICogICAgIHJldHVybiBjMSAmJiBjMiA/IGMxLmlkID09PSBjMi5pZCA6IGMxID09PSBjMjtcbiAqIH1cbiAqIGBgYFxuICpcbiAqICoqTm90ZToqKiBXZSBsaXN0ZW4gdG8gdGhlICdjaGFuZ2UnIGV2ZW50IGJlY2F1c2UgJ2lucHV0JyBldmVudHMgYXJlbid0IGZpcmVkXG4gKiBmb3Igc2VsZWN0cyBpbiBJRSwgc2VlOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0hUTUxFbGVtZW50L2lucHV0X2V2ZW50I2Jyb3dzZXJfY29tcGF0aWJpbGl0eVxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLyogW05pbWJsZV0gUmVtb3ZlIGFsbCBjb25maWd1cmF0aW9uIGZyb20gQERpcmVjdGl2ZSBkZWNvcmF0b3JcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjpcbiAgICAgICdzZWxlY3Q6bm90KFttdWx0aXBsZV0pW2Zvcm1Db250cm9sTmFtZV0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtmb3JtQ29udHJvbF0sc2VsZWN0Om5vdChbbXVsdGlwbGVdKVtuZ01vZGVsXScsXG4gIGhvc3Q6IHsnKGNoYW5nZSknOiAnb25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSknLCAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJ30sXG4gIHByb3ZpZGVyczogW1NFTEVDVF9WQUxVRV9BQ0NFU1NPUl1cbn0pXG4qL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBCdWlsdEluQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50c1xuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqIEBub2RvYyAqL1xuICB2YWx1ZTogYW55O1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX29wdGlvbk1hcDogTWFwPHN0cmluZywgYW55PiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfaWRDb3VudGVyOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVHJhY2tzIHRoZSBvcHRpb24gY29tcGFyaXNvbiBhbGdvcml0aG0gZm9yIHRyYWNraW5nIGlkZW50aXRpZXMgd2hlblxuICAgKiBjaGVja2luZyBmb3IgY2hhbmdlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBjb21wYXJlV2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHtcbiAgICAvLyBbTmltYmxlXSBVcGRhdGUgdG8gdXNlIHB1YmxpYyBBUElzXG4gICAgLy8gaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJyAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgIC8vICAgdGhyb3cgbmV3IFJ1bnRpbWVFcnJvcihcbiAgICAvLyAgICAgICBSdW50aW1lRXJyb3JDb2RlLkNPTVBBUkVXSVRIX05PVF9BX0ZOLFxuICAgIC8vICAgICAgIGBjb21wYXJlV2l0aCBtdXN0IGJlIGEgZnVuY3Rpb24sIGJ1dCByZWNlaXZlZCAke0pTT04uc3RyaW5naWZ5KGZuKX1gKTtcbiAgICAvLyB9XG4gICAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJyAmJiBpc0Rldk1vZGUoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbXBhcmVXaXRoIG11c3QgYmUgYSBmdW5jdGlvbiwgYnV0IHJlY2VpdmVkICR7SlNPTi5zdHJpbmdpZnkoZm4pfWApO1xuICAgIH1cbiAgICB0aGlzLl9jb21wYXJlV2l0aCA9IGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuID0gT2JqZWN0LmlzO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBcInZhbHVlXCIgcHJvcGVydHkgb24gdGhlIHNlbGVjdCBlbGVtZW50LlxuICAgKiBAbm9kb2NcbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICBjb25zdCBpZDogc3RyaW5nfG51bGwgPSB0aGlzLl9nZXRPcHRpb25JZCh2YWx1ZSk7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSBfYnVpbGRWYWx1ZVN0cmluZyhpZCwgdmFsdWUpO1xuICAgIHRoaXMuc2V0UHJvcGVydHkoJ3ZhbHVlJywgdmFsdWVTdHJpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIGNhbGxlZCB3aGVuIHRoZSBjb250cm9sIHZhbHVlIGNoYW5nZXMuXG4gICAqIEBub2RvY1xuICAgKi9cbiAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSAodmFsdWVTdHJpbmc6IHN0cmluZykgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX2dldE9wdGlvblZhbHVlKHZhbHVlU3RyaW5nKTtcbiAgICAgIGZuKHRoaXMudmFsdWUpO1xuICAgIH07XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIF9yZWdpc3Rlck9wdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5faWRDb3VudGVyKyspLnRvU3RyaW5nKCk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIF9nZXRPcHRpb25JZCh2YWx1ZTogYW55KTogc3RyaW5nfG51bGwge1xuICAgIGZvciAoY29uc3QgaWQgb2YgdGhpcy5fb3B0aW9uTWFwLmtleXMoKSkge1xuICAgICAgaWYgKHRoaXMuX2NvbXBhcmVXaXRoKHRoaXMuX29wdGlvbk1hcC5nZXQoaWQpLCB2YWx1ZSkpIHJldHVybiBpZDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIF9nZXRPcHRpb25WYWx1ZSh2YWx1ZVN0cmluZzogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBpZDogc3RyaW5nID0gX2V4dHJhY3RJZCh2YWx1ZVN0cmluZyk7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbk1hcC5oYXMoaWQpID8gdGhpcy5fb3B0aW9uTWFwLmdldChpZCkgOiB2YWx1ZVN0cmluZztcbiAgfVxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTWFya3MgYDxvcHRpb24+YCBhcyBkeW5hbWljLCBzbyBBbmd1bGFyIGNhbiBiZSBub3RpZmllZCB3aGVuIG9wdGlvbnMgY2hhbmdlLlxuICpcbiAqIEBzZWUge0BsaW5rIFNlbGVjdENvbnRyb2xWYWx1ZUFjY2Vzc29yfVxuICpcbiAqIEBuZ01vZHVsZSBSZWFjdGl2ZUZvcm1zTW9kdWxlXG4gKiBAbmdNb2R1bGUgRm9ybXNNb2R1bGVcbiAqIEBwdWJsaWNBcGlcbiAqL1xuLyogW05pbWJsZV0gUmVtb3ZlIGFsbCBjb25maWd1cmF0aW9uIGZyb20gQERpcmVjdGl2ZSBkZWNvcmF0b3JcbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnb3B0aW9uJ30pXG4qL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgTmdTZWxlY3RPcHRpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIElEIG9mIHRoZSBvcHRpb24gZWxlbWVudFxuICAgKi9cbiAgLy8gVE9ETyhpc3N1ZS8yNDU3MSk6IHJlbW92ZSAnIScuXG4gIGlkITogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZiwgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgcHJpdmF0ZSBfc2VsZWN0OiBTZWxlY3RDb250cm9sVmFsdWVBY2Nlc3Nvcikge1xuICAgIGlmICh0aGlzLl9zZWxlY3QpIHRoaXMuaWQgPSB0aGlzLl9zZWxlY3QuX3JlZ2lzdGVyT3B0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFRyYWNrcyB0aGUgdmFsdWUgYm91bmQgdG8gdGhlIG9wdGlvbiBlbGVtZW50LiBVbmxpa2UgdGhlIHZhbHVlIGJpbmRpbmcsXG4gICAqIG5nVmFsdWUgc3VwcG9ydHMgYmluZGluZyB0byBvYmplY3RzLlxuICAgKi9cbiAgQElucHV0KCduZ1ZhbHVlJylcbiAgc2V0IG5nVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLl9zZWxlY3QgPT0gbnVsbCkgcmV0dXJuO1xuICAgIHRoaXMuX3NlbGVjdC5fb3B0aW9uTWFwLnNldCh0aGlzLmlkLCB2YWx1ZSk7XG4gICAgdGhpcy5fc2V0RWxlbWVudFZhbHVlKF9idWlsZFZhbHVlU3RyaW5nKHRoaXMuaWQsIHZhbHVlKSk7XG4gICAgdGhpcy5fc2VsZWN0LndyaXRlVmFsdWUodGhpcy5fc2VsZWN0LnZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVHJhY2tzIHNpbXBsZSBzdHJpbmcgdmFsdWVzIGJvdW5kIHRvIHRoZSBvcHRpb24gZWxlbWVudC5cbiAgICogRm9yIG9iamVjdHMsIHVzZSB0aGUgYG5nVmFsdWVgIGlucHV0IGJpbmRpbmcuXG4gICAqL1xuICBASW5wdXQoJ3ZhbHVlJylcbiAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9zZXRFbGVtZW50VmFsdWUodmFsdWUpO1xuICAgIGlmICh0aGlzLl9zZWxlY3QpIHRoaXMuX3NlbGVjdC53cml0ZVZhbHVlKHRoaXMuX3NlbGVjdC52YWx1ZSk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIF9zZXRFbGVtZW50VmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xuICB9XG5cbiAgLyoqIEBub2RvYyAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc2VsZWN0KSB7XG4gICAgICB0aGlzLl9zZWxlY3QuX29wdGlvbk1hcC5kZWxldGUodGhpcy5pZCk7XG4gICAgICB0aGlzLl9zZWxlY3Qud3JpdGVWYWx1ZSh0aGlzLl9zZWxlY3QudmFsdWUpO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -17,15 +17,15 @@ export class NimbleUnitByteDirective {
17
17
  this.renderer = renderer;
18
18
  this.elementRef = elementRef;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NimbleUnitByteDirective, selector: "nimble-unit-byte", inputs: { binary: "binary" }, ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NimbleUnitByteDirective, selector: "nimble-unit-byte", inputs: { binary: "binary" }, ngImport: i0 }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteDirective, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteDirective, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: 'nimble-unit-byte'
27
27
  }]
28
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { binary: [{
28
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { binary: [{
29
29
  type: Input
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXVuaXQtYnl0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci91bml0L2J5dGUvbmltYmxlLXVuaXQtYnl0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQWdDLE1BQU0sdUNBQXVDLENBQUM7O0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUE4QjtRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsWUFBc0MsUUFBbUIsRUFBcUIsVUFBZ0M7UUFBeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFxQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUFHLENBQUM7K0dBVHpHLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7aUJBQy9CO3lIQU11QixNQUFNO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFVuaXRCeXRlLCB1bml0Qnl0ZVRhZyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS91bml0L2J5dGUnO1xuaW1wb3J0IHsgdG9Cb29sZWFuUHJvcGVydHksIHR5cGUgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvaW50ZXJuYWwtdXRpbGl0aWVzJztcblxuZXhwb3J0IHR5cGUgeyBVbml0Qnl0ZSB9O1xuZXhwb3J0IHsgdW5pdEJ5dGVUYWcgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgYnl0ZSB1bml0IGVsZW1lbnQgdXNlZCBieSB0aGUgbnVtYmVyLXRleHQgY29sdW1uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS11bml0LWJ5dGUnXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVVuaXRCeXRlRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgZ2V0IGJpbmFyeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJpbmFyeTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGJpbmFyeSh2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2JpbmFyeScsIHRvQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxVbml0Qnl0ZT4pIHt9XG59Il19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXVuaXQtYnl0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uaW1ibGUtYW5ndWxhci91bml0L2J5dGUvbmltYmxlLXVuaXQtYnl0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsaUJBQWlCLEVBQWdDLE1BQU0sdUNBQXVDLENBQUM7O0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUV2Qjs7R0FFRztBQUlILE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsSUFBVyxNQUFNO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQW9CLE1BQU0sQ0FBQyxLQUE4QjtRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsWUFBc0MsUUFBbUIsRUFBcUIsVUFBZ0M7UUFBeEUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFxQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUFHLENBQUM7K0dBVHpHLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7aUJBQy9CO3VHQU11QixNQUFNO3NCQUF6QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIFVuaXRCeXRlLCB1bml0Qnl0ZVRhZyB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS91bml0L2J5dGUnO1xuaW1wb3J0IHsgdG9Cb29sZWFuUHJvcGVydHksIHR5cGUgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvaW50ZXJuYWwtdXRpbGl0aWVzJztcblxuZXhwb3J0IHR5cGUgeyBVbml0Qnl0ZSB9O1xuZXhwb3J0IHsgdW5pdEJ5dGVUYWcgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgYnl0ZSB1bml0IGVsZW1lbnQgdXNlZCBieSB0aGUgbnVtYmVyLXRleHQgY29sdW1uLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ25pbWJsZS11bml0LWJ5dGUnXG59KVxuZXhwb3J0IGNsYXNzIE5pbWJsZVVuaXRCeXRlRGlyZWN0aXZlIHtcbiAgICBwdWJsaWMgZ2V0IGJpbmFyeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmJpbmFyeTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGJpbmFyeSh2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2JpbmFyeScsIHRvQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxVbml0Qnl0ZT4pIHt9XG59Il19
@@ -4,11 +4,11 @@ import { NimbleUnitByteDirective } from './nimble-unit-byte.directive';
4
4
  import '@ni/nimble-components/dist/esm/unit/byte';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NimbleUnitByteModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteModule, declarations: [NimbleUnitByteDirective], imports: [CommonModule], exports: [NimbleUnitByteDirective] }); }
9
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteModule, imports: [CommonModule] }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteModule, declarations: [NimbleUnitByteDirective], imports: [CommonModule], exports: [NimbleUnitByteDirective] }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteModule, imports: [CommonModule] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NimbleUnitByteModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NimbleUnitByteModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [NimbleUnitByteDirective],