@fundamental-ngx/core 0.47.1 → 0.47.2-rc.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 (248) hide show
  1. package/esm2022/action-bar/action-bar.component.mjs +2 -2
  2. package/esm2022/action-sheet/action-sheet.component.mjs +3 -3
  3. package/esm2022/avatar/avatar.component.mjs +3 -3
  4. package/esm2022/avatar-group/avatar-group.component.mjs +3 -3
  5. package/esm2022/bar/bar.component.mjs +2 -2
  6. package/esm2022/breadcrumb/breadcrumb.component.mjs +3 -3
  7. package/esm2022/busy-indicator/busy-indicator.component.mjs +3 -3
  8. package/esm2022/button/button.component.mjs +3 -3
  9. package/esm2022/calendar/calendar.component.mjs +3 -3
  10. package/esm2022/card/card.component.mjs +3 -3
  11. package/esm2022/carousel/carousel.component.mjs +3 -3
  12. package/esm2022/checkbox/checkbox/checkbox.component.mjs +3 -3
  13. package/esm2022/dialog/dialog.component.mjs +3 -3
  14. package/esm2022/dynamic-page/dynamic-page.component.mjs +3 -3
  15. package/esm2022/dynamic-side-content/dynamic-side-content.component.mjs +3 -3
  16. package/esm2022/facets/facet/facet.component.mjs +3 -3
  17. package/esm2022/feed-input/feed-input.component.mjs +2 -2
  18. package/esm2022/feed-list-item/components/list/feed-list.component.mjs +2 -2
  19. package/esm2022/file-uploader/file-uploader.component.mjs +3 -3
  20. package/esm2022/fixed-card-layout/fixed-card-layout.component.mjs +3 -3
  21. package/esm2022/flexible-column-layout/flexible-column-layout.component.mjs +3 -3
  22. package/esm2022/form/fieldset/fieldset.component.mjs +2 -2
  23. package/esm2022/form/form-control/form-control.component.mjs +3 -3
  24. package/esm2022/form/form-group/form-group.component.mjs +2 -2
  25. package/esm2022/form/form-header/form-header.component.mjs +2 -2
  26. package/esm2022/form/form-item/form-item.component.mjs +2 -2
  27. package/esm2022/form/form-label/form-label.component.mjs +3 -3
  28. package/esm2022/form/form-message/form-message.component.mjs +2 -2
  29. package/esm2022/generic-tag/generic-tag.component.mjs +3 -3
  30. package/esm2022/grid-list/components/grid-list/grid-list.component.mjs +2 -2
  31. package/esm2022/icon/icon.component.mjs +2 -2
  32. package/esm2022/illustrated-message/illustrated-message.component.mjs +3 -3
  33. package/esm2022/info-label/info-label.component.mjs +3 -3
  34. package/esm2022/input-group/input-group.component.mjs +3 -3
  35. package/esm2022/layout-grid/layout-grid.component.mjs +3 -3
  36. package/esm2022/layout-panel/layout-panel.component.mjs +2 -2
  37. package/esm2022/link/link.component.mjs +3 -3
  38. package/esm2022/list/list-item/list-item.component.mjs +1 -4
  39. package/esm2022/list/list-navigation-item/list-navigation-item.component.mjs +3 -3
  40. package/esm2022/list/list.component.mjs +2 -2
  41. package/esm2022/menu/menu.component.mjs +2 -2
  42. package/esm2022/message-box/message-box.component.mjs +2 -2
  43. package/esm2022/message-page/message-page.component.mjs +3 -3
  44. package/esm2022/message-strip/message-strip.component.mjs +3 -3
  45. package/esm2022/message-toast/message-toast.component.mjs +3 -3
  46. package/esm2022/micro-process-flow/components/micro-process-flow/micro-process-flow.component.mjs +3 -3
  47. package/esm2022/multi-combobox/multi-combobox.component.mjs +3 -3
  48. package/esm2022/notification/notification/notification.component.mjs +2 -2
  49. package/esm2022/object-attribute/object-attribute.component.mjs +3 -3
  50. package/esm2022/object-identifier/object-identifier.component.mjs +3 -3
  51. package/esm2022/object-marker/object-marker.component.mjs +3 -3
  52. package/esm2022/object-number/object-number.component.mjs +3 -3
  53. package/esm2022/object-status/object-status.component.mjs +3 -3
  54. package/esm2022/pagination/pagination.component.mjs +3 -3
  55. package/esm2022/panel/panel.component.mjs +3 -3
  56. package/esm2022/popover/popover-body/popover-body.component.mjs +3 -3
  57. package/esm2022/product-switch/product-switch-body/product-switch-body.component.mjs +3 -3
  58. package/esm2022/progress-indicator/progress-indicator.component.mjs +3 -3
  59. package/esm2022/quick-view/quick-view/quick-view.component.mjs +2 -2
  60. package/esm2022/radio/radio-button/radio-button.component.mjs +3 -3
  61. package/esm2022/rating-indicator/components/rating-indicator.component.mjs +3 -3
  62. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-item/resizable-card-item.component.mjs +3 -3
  63. package/esm2022/resizable-card-layout/resizable-card-layout/resizable-card-layout.component.mjs +2 -2
  64. package/esm2022/segmented-button/segmented-button.component.mjs +2 -2
  65. package/esm2022/select/select.component.mjs +3 -3
  66. package/esm2022/shellbar/shellbar.component.mjs +3 -3
  67. package/esm2022/side-navigation/side-navigation.component.mjs +3 -3
  68. package/esm2022/skeleton/components/skeleton.component.mjs +3 -3
  69. package/esm2022/slider/slider.component.mjs +3 -3
  70. package/esm2022/split-button/split-button.component.mjs +3 -3
  71. package/esm2022/splitter/splitter.component.mjs +2 -2
  72. package/esm2022/status-indicator/status-indicator.component.mjs +3 -3
  73. package/esm2022/step-input/step-input.component.mjs +3 -3
  74. package/esm2022/switch/switch.component.mjs +3 -3
  75. package/esm2022/table/table-wrapper.component.mjs +2 -2
  76. package/esm2022/table/table.component.mjs +2 -2
  77. package/esm2022/tabs/tab-list.component.mjs +3 -3
  78. package/esm2022/tabs/tab-nav/tab-nav.component.mjs +2 -2
  79. package/esm2022/text/text.component.mjs +3 -3
  80. package/esm2022/tile/tile.component.mjs +3 -3
  81. package/esm2022/time/time.component.mjs +3 -3
  82. package/esm2022/title/title.component.mjs +2 -2
  83. package/esm2022/token/token.component.mjs +3 -3
  84. package/esm2022/token/tokenizer.component.mjs +3 -3
  85. package/esm2022/toolbar/toolbar.component.mjs +3 -3
  86. package/esm2022/tree/tree.component.mjs +3 -3
  87. package/esm2022/upload-collection/upload-collection.component.mjs +3 -3
  88. package/esm2022/vertical-navigation/vertical-navigation-main-navigation.component.mjs +3 -3
  89. package/esm2022/vertical-navigation/vertical-navigation.component.mjs +3 -3
  90. package/esm2022/wizard/wizard.component.mjs +3 -3
  91. package/fesm2022/fundamental-ngx-core-action-bar.mjs +2 -2
  92. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -2
  94. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +2 -2
  96. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  98. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-bar.mjs +2 -2
  100. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  101. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +2 -2
  102. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  103. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +2 -2
  104. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  105. package/fesm2022/fundamental-ngx-core-button.mjs +2 -2
  106. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  107. package/fesm2022/fundamental-ngx-core-calendar.mjs +2 -2
  108. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  109. package/fesm2022/fundamental-ngx-core-card.mjs +2 -2
  110. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  111. package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
  112. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  113. package/fesm2022/fundamental-ngx-core-checkbox.mjs +2 -2
  114. package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
  115. package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
  116. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  117. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +2 -2
  118. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  119. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +2 -2
  120. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
  122. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  124. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
  126. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +2 -2
  128. package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +2 -2
  130. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  131. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  132. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  133. package/fesm2022/fundamental-ngx-core-form.mjs +14 -14
  134. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  135. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +2 -2
  136. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  137. package/fesm2022/fundamental-ngx-core-grid-list.mjs +2 -2
  138. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  139. package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
  140. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  141. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  142. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
  144. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  146. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  147. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +2 -2
  148. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  149. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +2 -2
  150. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  151. package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
  152. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  153. package/fesm2022/fundamental-ngx-core-list.mjs +4 -7
  154. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  155. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  156. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  157. package/fesm2022/fundamental-ngx-core-message-box.mjs +2 -2
  158. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  159. package/fesm2022/fundamental-ngx-core-message-page.mjs +2 -2
  160. package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-message-strip.mjs +2 -2
  162. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-message-toast.mjs +2 -2
  164. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +2 -2
  166. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  167. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +2 -2
  168. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  169. package/fesm2022/fundamental-ngx-core-notification.mjs +2 -2
  170. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  171. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +2 -2
  172. package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
  173. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
  174. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  175. package/fesm2022/fundamental-ngx-core-object-marker.mjs +2 -2
  176. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  177. package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
  178. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  179. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  180. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  181. package/fesm2022/fundamental-ngx-core-pagination.mjs +2 -2
  182. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  183. package/fesm2022/fundamental-ngx-core-panel.mjs +2 -2
  184. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  185. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
  186. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  187. package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
  188. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  189. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +2 -2
  190. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  191. package/fesm2022/fundamental-ngx-core-quick-view.mjs +2 -2
  192. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  193. package/fesm2022/fundamental-ngx-core-radio.mjs +2 -2
  194. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  195. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +2 -2
  196. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  197. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +4 -4
  198. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  199. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +2 -2
  200. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  201. package/fesm2022/fundamental-ngx-core-select.mjs +2 -2
  202. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  203. package/fesm2022/fundamental-ngx-core-shellbar.mjs +2 -2
  204. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  205. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +2 -2
  206. package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
  207. package/fesm2022/fundamental-ngx-core-skeleton.mjs +2 -2
  208. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  209. package/fesm2022/fundamental-ngx-core-slider.mjs +2 -2
  210. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  211. package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
  212. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  213. package/fesm2022/fundamental-ngx-core-splitter.mjs +2 -2
  214. package/fesm2022/fundamental-ngx-core-splitter.mjs.map +1 -1
  215. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +2 -2
  216. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  217. package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
  218. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  219. package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
  220. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  221. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  222. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  223. package/fesm2022/fundamental-ngx-core-tabs.mjs +4 -4
  224. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  225. package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
  226. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  227. package/fesm2022/fundamental-ngx-core-tile.mjs +2 -2
  228. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  229. package/fesm2022/fundamental-ngx-core-time.mjs +2 -2
  230. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  231. package/fesm2022/fundamental-ngx-core-title.mjs +2 -2
  232. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  233. package/fesm2022/fundamental-ngx-core-token.mjs +4 -4
  234. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  235. package/fesm2022/fundamental-ngx-core-toolbar.mjs +2 -2
  236. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  237. package/fesm2022/fundamental-ngx-core-tree.mjs +2 -2
  238. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  239. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
  240. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  241. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +4 -4
  242. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  243. package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
  244. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  245. package/fundamental-ngx-core-v0.47.2-rc.1.tgz +0 -0
  246. package/package.json +5 -5
  247. package/schematics/add-dependencies/index.js +8 -8
  248. package/fundamental-ngx-core-v0.47.1.tgz +0 -0
@@ -248,7 +248,7 @@ export class RatingIndicatorComponent {
248
248
  multi: true
249
249
  },
250
250
  registerFormItemControl(RatingIndicatorComponent)
251
- ], usesOnChanges: true, ngImport: i0, template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: RatingStarLabelPipe, name: "ratingStarLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
251
+ ], usesOnChanges: true, ngImport: i0, template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PopoverTriggerDirective, selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: RatingStarLabelPipe, name: "ratingStarLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
252
252
  }
253
253
  __decorate([
254
254
  applyCssClass,
@@ -265,7 +265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
265
265
  multi: true
266
266
  },
267
267
  registerFormItemControl(RatingIndicatorComponent)
268
- ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe], template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0-rc.7\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"] }]
268
+ ], standalone: true, imports: [NgTemplateOutlet, NgFor, NgIf, PopoverTriggerDirective, PopoverComponent, RatingStarLabelPipe], template: "<!-- role=\"application\" is used in order to let user to change value with left/right arrows in JAWS, since JAWS ovverrides these actions -->\n<div class=\"fd-rating-indicator__container\" role=\"application\" aria-roledescription=\"Rating indicator\">\n <!-- Zero value if we don't have provided value from user, `ratingAverage` or `ratings` -->\n <ng-container *ngTemplateOutlet=\"zeroRate\"></ng-container>\n <!-- Available rate values -->\n <ng-container *ngFor=\"let rate of _rates; index as i; trackBy: trackByFn\">\n <input\n [attr.aria-label]=\"i | ratingStarLabel : _rates.length : allowHalves\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n [id]=\"rate.id\"\n name=\"rating-{{ viewRatingUID }}\"\n [value]=\"rate.value\"\n [checked]=\"viewValue === rate.value\"\n (click)=\"onSelect(rate.value)\"\n />\n <label class=\"fd-rating-indicator__label\" [for]=\"rate.id\" aria-hidden=\"true\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n</div>\n<!-- Popover if displayAllRatings is true and we have ratings object -->\n<span\n [fdPopoverTrigger]=\"allRatingContent\"\n *ngIf=\"displayAllRatings && _ratingItems?.length; else dynamicText\"\n class=\"fd-rating-indicator__dynamic-text\"\n>\n (<span aria-label=\"Total raiting\" fd-link>{{ totalRatings }}</span\n >)\n</span>\n<fd-popover\n #allRatingContent\n [triggers]=\"['mouseenter', 'mouseleave']\"\n [noArrow]=\"false\"\n placement=\"top\"\n additionalBodyClass=\"fd-rating-indicator__popover\"\n>\n <div class=\"fd-rating-indicator__sum-row\" [class]=\"sizeClass\" *ngFor=\"let rating of _ratingItems\">\n <div class=\"fd-rating-indicator__container\">\n <ng-container *ngFor=\"let rate of _rates; trackBy: trackByFn\">\n <span\n [class.fd-rating-indicator__input-checked]=\"rate.value === rating.rate\"\n class=\"fd-rating-indicator__input\"\n ></span>\n <label class=\"fd-rating-indicator__label\">\n <i *ngIf=\"ratedIcon\" class=\"fd-rating-indicator__label-rated\" [class]=\"unratedIcon\"></i>\n <i *ngIf=\"unratedIcon\" class=\"fd-rating-indicator__label-unrated\" [class]=\"ratedIcon\"></i>\n </label>\n </ng-container>\n </div>\n ({{ rating.votes }})\n </div>\n</fd-popover>\n\n<ng-template #dynamicText>\n <span *ngIf=\"totalRatings\" class=\"fd-rating-indicator__dynamic-text\">({{ totalRatings }})</span>\n <span *ngIf=\"!totalRatings\" class=\"fd-rating-indicator__dynamic-text\"\n >({{ viewValue }} {{ dynamicTextIndicator }} {{ indicatorCount }})</span\n >\n</ng-template>\n<ng-template #zeroRate let-halves=\"halves\">\n <input\n aria-label=\"Reset to zero\"\n role=\"button\"\n type=\"radio\"\n class=\"fd-rating-indicator__input fd-rating-indicator__input--zero-rating\"\n (click)=\"onSelect(0)\"\n [disabled]=\"disabled || nonInteractive || displayMode\"\n name=\"rating-{{ viewRatingUID }}{{ halves ? '-halves' : '' }}\"\n [checked]=\"viewValue === 0\"\n />\n <label class=\"fd-rating-indicator__label fd-rating-indicator__label--zero-rating\" aria-hidden=\"true\"></label>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-rating-indicator{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem;-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-rating-indicator:after,.fd-rating-indicator:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--cozy{--fontSize:1.5rem;--spacingBetweenIcons:.1875rem;margin:.8125rem 0}.fd-rating-indicator--compact{margin:.5rem 0}.fd-rating-indicator--compact,.fd-rating-indicator--condensed{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--xs{--fontSize:.75rem;--spacingBetweenIcons:1px}.fd-rating-indicator--sm{--fontSize:1rem;--spacingBetweenIcons:.125rem}.fd-rating-indicator--md{--fontSize:1.375rem;--spacingBetweenIcons:.1875rem}.fd-rating-indicator--lg{--fontSize:2rem;--spacingBetweenIcons:.25rem}.fd-rating-indicator__container{-webkit-box-sizing:border-box;border:0;border-radius:var(--fdRating_Indicator_Border_Radius);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-rating-indicator__container:after,.fd-rating-indicator__container:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__container:focus-within{outline-color:var(--sapContent_FocusColor);outline-offset:var(--fdRating_Indicator_Focus_Outline_Offset, 0);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__container:focus-within .fd-rating-indicator__input,.fd-rating-indicator__container:focus-within .fd-rating-indicator__label{outline:none!important}.fd-rating-indicator__input{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;opacity:.0001;padding:0;position:absolute;top:0;width:var(--fontSize);z-index:-1}.fd-rating-indicator__input:after,.fd-rating-indicator__input:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__input:checked.is-focus,.fd-rating-indicator__input:checked:focus{outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__input:checked.is-focus+.fd-rating-indicator__label,.fd-rating-indicator__input:checked:focus+.fd-rating-indicator__label{outline-color:var(--sapContent_FocusColor);outline-offset:0;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-rating-indicator__label{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;display:flex;float:left;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:var(--fontSize);line-height:var(--sapContent_LineHeight);margin:0;margin-right:var(--spacingBetweenIcons);opacity:1;padding:0}.fd-rating-indicator__label:after,.fd-rating-indicator__label:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator__label:before{color:var(--sapContent_RatedColor);content:\"\\e065\";font-family:SAP-icons;font-size:var(--fontSize)}.fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator__label:hover:before{-webkit-transition:opacity .125s ease-in;opacity:var(--fdRating_Indicator_Selected_Hover_Opacity);transition:opacity .125s ease-in}.fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e0a1\"}.fd-rating-indicator__dynamic-text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 .5rem;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-rating-indicator__dynamic-text:after,.fd-rating-indicator__dynamic-text:before{box-sizing:inherit;font-size:inherit}.fd-rating-indicator--hide-dynamic-text>.fd-rating-indicator__dynamic-text{display:none}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__input:first-child+label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__input:first-child+label{margin-right:0}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label{float:right}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__label:last-child,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__label:last-child{margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator[dir=rtl] .fd-rating-indicator__dynamic-text,[dir=rtl] .fd-rating-indicator .fd-rating-indicator__dynamic-text{margin-left:0;margin-right:.5rem}.fd-rating-indicator.is-disabled,.fd-rating-indicator:disabled,.fd-rating-indicator[aria-disabled=true]{opacity:var(--fdRating_Indicator_Disabled_Control_Opacity);pointer-events:none}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:before{color:var(--fdRating_Indicator_Disabled_Selected_Color);content:\"\\e065\"}.fd-rating-indicator.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Disabled_Unselected_Color);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--display-mode{--fontSize:1rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-right:.125rem}.fd-rating-indicator--display-mode .fd-rating-indicator__label:before{color:var(--fdRating_Indicator_Display_Only_Selected_Color);content:\"\\e065\";font-size:var(--fontSize)}.fd-rating-indicator--display-mode .fd-rating-indicator__label[dir=rtl],[dir=rtl] .fd-rating-indicator--display-mode .fd-rating-indicator__label{margin-left:.125rem;margin-right:0}.fd-rating-indicator--display-mode,.fd-rating-indicator--non-interactive{pointer-events:none}.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label:before{color:var(--sapContent_UnratedColor);content:\"\\e065\";font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator--icon .fd-rating-indicator__label{height:var(--fontSize);width:var(--fontSize)}.fd-rating-indicator--icon .fd-rating-indicator__label:after,.fd-rating-indicator--icon .fd-rating-indicator__label:before{content:none!important}.fd-rating-indicator--icon .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{font-size:var(--fontSize);height:100%;line-height:1}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-rated,.fd-rating-indicator--icon .fd-rating-indicator__label-unrated{display:none}.fd-rating-indicator--icon .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated{display:block}.fd-rating-indicator--half-star .fd-rating-indicator__input{height:var(--fontSize);width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label{margin-right:0;overflow:hidden;width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){flex-direction:row-reverse;margin-right:var(--spacingBetweenIcons)}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl],[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6){margin-left:var(--spacingBetweenIcons);margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6)[dir=rtl]:last-child,[dir=rtl] .fd-rating-indicator--half-star .fd-rating-indicator__label:nth-child(4n+6):last-child{margin-left:0}.fd-rating-indicator--half-star .fd-rating-indicator__label:last-child{margin-right:0}.fd-rating-indicator--half-star .fd-rating-indicator--icon .fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star .fd-rating-indicator .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:nth-child(4n+3):checked+.fd-rating-indicator__label+.fd-rating-indicator__input+.fd-rating-indicator__label:before{font-size:var(--fontSize)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label{width:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio) * .5)}.fd-rating-indicator--half-star.fd-rating-indicator--display-mode .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.fd-rating-indicator--non-interactive .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star.is-disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star:disabled .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before,.fd-rating-indicator--half-star[aria-disabled=true] .fd-rating-indicator__input:checked~.fd-rating-indicator__input+.fd-rating-indicator__label .fd-rating-indicator__label-unrated:before{font-size:calc(var(--fontSize) * var(--fdRating_Indicator_View_Mode_Unselected_Icon_Size_Ratio))}.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__input--zero-rating,.fd-rating-indicator[class*=fd-rating-indicator--] .fd-rating-indicator__label--zero-rating,.fd-rating-indicator__input--zero-rating,.fd-rating-indicator__label--zero-rating{margin:0;opacity:.0001;overflow:hidden;padding:0;width:0}.fd-rating-indicator__popover{padding:.5rem 0!important}.fd-rating-indicator__popover .fd-rating-indicator__sum-row{display:flex;align-items:center;padding:.5rem 1rem;margin:0}.fd-rating-indicator__popover .fd-rating-indicator__sum-row .fd-rating-indicator__container{margin-right:.5rem}\n"] }]
269
269
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { class: [{
270
270
  type: Input
271
271
  }], name: [{
@@ -323,4 +323,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
323
323
  }], ratingChanged: [{
324
324
  type: Output
325
325
  }], buildComponentCssClass: [] } });
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUV0RSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7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TixXQUFXO3NCQURWLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBUU4sT0FBTztzQkFETixLQUFLO2dCQU9OLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixNQUFNO2dCQWtIUCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENzc0NsYXNzQnVpbGRlciwgTnVsbGFibGUsIGFwcGx5Q3NzQ2xhc3MgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGb3JtSXRlbUNvbnRyb2wsIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQge1xuICAgIElORElDQVRPUl9DTEFTU0VTLFxuICAgIElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZLFxuICAgIElORElDQVRPUl9QUkVGSVgsXG4gICAgUmF0aW5nSW5kaWNhdG9yU2l6ZSxcbiAgICBSYXRpbmdJbmRpY2F0b3JTaXplRW51bVxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmF0aW5nU3RhckxhYmVsUGlwZSB9IGZyb20gJy4uL3BpcGVzL3JhdGluZy1zdGFyLWxhYmVsLnBpcGUnO1xuXG5sZXQgcmF0aW5nVUlEID0gMDtcblxuaW50ZXJmYWNlIE51bWJlcktleTxUPiB7XG4gICAgW2tleTogbnVtYmVyXTogVDtcbn1cblxuaW50ZXJmYWNlIFJhdGluZ1ZpZXdJdGVtIHtcbiAgICByYXRlOiBudW1iZXI7XG4gICAgdm90ZXM6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1yYXRpbmctaW5kaWNhdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sKFJhdGluZ0luZGljYXRvckNvbXBvbmVudClcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBOZ0lmLCBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSwgUG9wb3ZlckNvbXBvbmVudCwgUmF0aW5nU3RhckxhYmVsUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ3NzQ2xhc3NCdWlsZGVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUl0ZW1Db250cm9sXG57XG4gICAgLyoqIFVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBTZXRzIFtuYW1lXSBhdHRyaWJ1dGUgb2YgaW5wdXQuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYXJpYS1kaXNhYmxlZCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogU2V0cyB0aGUgaXMtZGlzYWJsZWQgY2xhc3MgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogV2hldGhlciB0aGUgcmF0aW5nIGluZGljYXRvciBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGluIGRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXJhdGluZy1pbmRpY2F0b3ItLWRpc3BsYXktbW9kZScpXG4gICAgZGlzcGxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHJhdGluZyBpbmRpY2F0b3IgaXMgaW4gbm9uLWludGVyYWN0aXZlIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1yYXRpbmctaW5kaWNhdG9yLS1ub24taW50ZXJhY3RpdmUnKVxuICAgIG5vbkludGVyYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcmF0ZXMgdG8gZGlzcGxheVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluZGljYXRvckNhcGFjaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZKTtcbiAgICAgICAgdGhpcy5faW5kaWNhdG9yQ2FwYWNpdHkgPSB2YWwgPCAxID8gSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFkgOiB2YWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSBoYWxmIHZhbHVlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93SGFsdmVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyJ3MgdmFsdWUgbnVtYmVyIG9mIHJhdGluZ3MuIElmIHByb3ZpZGVkLCBPdmVycmlkZXMgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlID0gMDtcblxuICAgIC8qKlxuICAgICAqIFRvdGFsIG51bWJlciBvZiByYXRpbmdzLiBJZiBwcm92aWRlZCwgd2lsbCBkaXNwbGF5IHRleHQgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIHJhdGluZ3MuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0b3RhbFJhdGluZ3M6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFJhdGluZyBhdmVyYWdlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRpbmdBdmVyYWdlOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBPYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUgcmF0aW5nIGFuZCB0aGUgdmFsdWUgaXMgdGhlIHRvdGFsIHN1bSBvZiB0aG9zZSByYXRpbmdzLlxuICAgICAqIE92ZXJyaWRlcyB0b3RhbFJhdGluZ3MgYW5kIHJhdGluZ0F2ZXJhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRpbmdzOiBOdW1iZXJLZXk8bnVtYmVyPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgdGhhdCBzaG93cyB0aGUgc3VtIG9mIGVhY2ggcmF0aW5nLiBSZXF1aXJlcyBbcmF0aW5nc10gb2JqZWN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheUFsbFJhdGluZ3MgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEljb24gY2xhc3MgZm9yIHJhdGVkIGljb24gZnJvbSBmdW5kYW1lbnRhbC1zdHlsZXMgbGliIGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1zdHlsZXMvP3BhdGg9L2RvY3MvY29tcG9uZW50cy1pY29uLS1zaXplc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmF0ZWRJY29uOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSWNvbiBjbGFzcyBmb3IgdW5yYXRlZCBpY29uIGZyb20gZnVuZGFtZW50YWwtc3R5bGVzIGxpYiBodHRwczovL3NhcC5naXRodWIuaW8vZnVuZGFtZW50YWwtc3R5bGVzLz9wYXRoPS9kb2NzL2NvbXBvbmVudHMtaWNvbi0tc2l6ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHVucmF0ZWRJY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlICd4cycsICdzbScsICdtZCcsICdsZycsICdjb3p5JywgJ2NvbXBhY3QnLCAnY29uZGVuc2VkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogUmF0aW5nSW5kaWNhdG9yU2l6ZSA9ICdtZCc7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGRpdmlkZXIgbGFiZWwgYmV0d2VlbiB2aWV3IHZhbHVlIGFuZCBpbmRpY2F0b3IgY291bnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkeW5hbWljVGV4dEluZGljYXRvciA9ICdvZic7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlZCB3aGVuIHRoZSB1c2VyIHNldHMgb3IgY2hhbmdlcyB0aGVpciByYXRpbmcuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmF0aW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaXplQ2xhc3MgPSB0aGlzLl9nZXRTaXplQ2xhc3ModGhpcy5zaXplKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yYXRlczogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JhdGluZ0l0ZW1zOiBSYXRpbmdWaWV3SXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JhdGluZ1VJRCA9IHJhdGluZ1VJRCsrO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5kaWNhdG9yQ2FwYWNpdHkgPSBJTkRJQ0FUT1JfREVGQVVMVF9DQVBBQ0lUWTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZhbHVlID0gMDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hpZGVEeW5hbWljVGV4dCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IHZpZXdSYXRpbmdVSUQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JhdGluZ1VJRDtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgaW5kaWNhdG9yQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGljYXRvckNhcGFjaXR5O1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCB2aWV3VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgICAgICB0aGlzLl9yYXRlcyA9IHRoaXMuX2dldFJhdGVzKCk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB0aGlzLl9nZW5lcmF0ZVJhdGluZ3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgJ2NsYXNzJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAnc2l6ZScgaW4gY2hhbmdlcyB8fFxuICAgICAgICAgICAgJ3JhdGVkSWNvbicgaW4gY2hhbmdlcyB8fFxuICAgICAgICAgICAgJ3VucmF0ZWRJY29uJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAnYWxsb3dIYWx2ZXMnIGluIGNoYW5nZXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdpbmRpY2F0b3JDYXBhY2l0eScgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fcmF0ZXMgPSB0aGlzLl9nZXRSYXRlcygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgnYWxsb3dIYWx2ZXMnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY29udmVydFRvVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuX3JhdGVzID0gdGhpcy5fZ2V0UmF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgncmF0aW5ncycgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVSYXRpbmdzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3BhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9KTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblNlbGVjdCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5yYXRpbmdDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogQ3NzQ2xhc3NCdWlsZGVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICAgICAqIGZ1bmN0aW9uIG11c3QgcmV0dXJuIHNpbmdsZSBzdHJpbmdcbiAgICAgKiBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3Igb3JkZXIgd2hpY2ggY3NzIGNsYXNzZXMgYXJlIGFwcGxpZWRcbiAgICAgKi9cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICB0aGlzLnNpemVDbGFzcyA9IHRoaXMuX2dldFNpemVDbGFzcyh0aGlzLnNpemUpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBJTkRJQ0FUT1JfUFJFRklYLFxuICAgICAgICAgICAgdGhpcy5zaXplQ2xhc3MsXG4gICAgICAgICAgICB0aGlzLmFsbG93SGFsdmVzID8gSU5ESUNBVE9SX0NMQVNTRVMuaGFsdmVzIDogJycsXG4gICAgICAgICAgICAhIXRoaXMucmF0ZWRJY29uICYmICEhdGhpcy51bnJhdGVkSWNvbiA/IElORElDQVRPUl9DTEFTU0VTLmljb24gOiAnJyxcbiAgICAgICAgICAgIHRoaXMuX2hpZGVEeW5hbWljVGV4dCB8fCAhdGhpcy5fdmFsdWUgPyBJTkRJQ0FUT1JfQ0xBU1NFUy5oaWRlRHluYW1pY1RleHQgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogR2VuZXJhdGUgcmF0aW5nIGl0ZW1zIGZvciBwb3BvdmVyIGNvbnRlbnQgaWYgcmF0aW5nIG9iamVjdCB3YXMgZGVmaW5lZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlUmF0aW5ncygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhdGluZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByYXRpbmdzID0gT2JqZWN0LmVudHJpZXModGhpcy5yYXRpbmdzKVxuICAgICAgICAgICAgLmZpbHRlcigoW3JhdGUsIHZvdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgX3JhdGUgPSArcmF0ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzTmFOKF9yYXRlKSAmJiAhaXNOYU4oK3ZvdGUpICYmIF9yYXRlID4gMDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKChbcmF0ZSwgdm90ZXNdKSA9PiAoeyByYXRlOiArcmF0ZSwgdm90ZXMgfSkpO1xuICAgICAgICBpZiAocmF0aW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHRvdGFsVm90ZXMsIHRvdGFsUmF0aW5nIH0gPSByYXRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgICh0b3RhbCwgcmF0aW5nKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRvdGFsVm90ZXM6IHRvdGFsLnRvdGFsVm90ZXMgKyByYXRpbmcudm90ZXMsXG4gICAgICAgICAgICAgICAgdG90YWxSYXRpbmc6IHRvdGFsLnRvdGFsUmF0aW5nICsgcmF0aW5nLnJhdGUgKiByYXRpbmcudm90ZXNcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeyB0b3RhbFZvdGVzOiAwLCB0b3RhbFJhdGluZzogMCB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fcmF0aW5nSXRlbXMgPSByYXRpbmdzO1xuICAgICAgICB0aGlzLnJhdGluZ0F2ZXJhZ2UgPSB0b3RhbFJhdGluZyAvIHRvdGFsVm90ZXM7XG4gICAgICAgIHRoaXMudG90YWxSYXRpbmdzID0gdG90YWxWb3RlcztcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IGNvbnZlcnRlZCB2aWV3VmFsdWUgZm9yIHJlbmRlciBpbiBjb21wb25lbnQgdGVtcGxhdGUgZnJvbSBvcmlnaW5hbCB2YWx1ZSBpZiBpdCBzdGlsbCBleGlzdHMsIG9yIHJhdGluZ0F2ZXJhZ2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29udmVydFRvVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlVmFsdWUodGhpcy52YWx1ZSB8fCB0aGlzLnJhdGluZ0F2ZXJhZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IGNvbnZlcnRlZCB2YWx1ZSBmcm9tIG9yaWdpbmFsIHRvIHZpZXcgdmFsdWUgd2l0aCBkZXBlbmRzIG9uIGhhbHZlc1xuICAgICAqIEZvciBleGFtcGxlLFxuICAgICAqICBvcmlnaW5hbCB2YWx1ZSBpcyBlcXVhbCB0byAyLjM0LCB5b3Ugd2lsbCBnZXQgYW5kIHJlbmRlciAyXG4gICAgICogIG9yaWdpbmFsIHZhbHVlIGlzIGVxdWFsIHRvIDMuNzQsIHlvdSB3aWxsIGdldCBhbmQgcmVuZGVyIDRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9wYXJzZVZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnRlZ2VyID0gTWF0aC5mbG9vcih2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGZyYWN0aW9uYWwgPSB2YWx1ZSAlIDE7XG4gICAgICAgIGxldCB2ID0gaW50ZWdlcjtcblxuICAgICAgICBpZiAodGhpcy5hbGxvd0hhbHZlcyAmJiBmcmFjdGlvbmFsID4gMC4yNSAmJiBmcmFjdGlvbmFsIDw9IDAuNSkge1xuICAgICAgICAgICAgdiA9IGludGVnZXIgKyAwLjU7XG4gICAgICAgIH0gZWxzZSBpZiAoZnJhY3Rpb25hbCA+IDAuNSkge1xuICAgICAgICAgICAgdiA9IGludGVnZXIgKyAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMuaW5kaWNhdG9yQ291bnQsIHYpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IHJhdGluZyBpY29ucyBhcnJheSB3aXRoIHZhbHVlIGFuZCB1bmljIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0UmF0ZXMoKTogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSB7XG4gICAgICAgIGNvbnN0IHdpdGhIYWx2ZXMgPSB0aGlzLmFsbG93SGFsdmVzID8gMiA6IDE7XG4gICAgICAgIHJldHVybiBBcnJheSh0aGlzLmluZGljYXRvckNvdW50ICogd2l0aEhhbHZlcylcbiAgICAgICAgICAgIC5maWxsKGByYXRpbmctJHt0aGlzLl9yYXRpbmdVSUR9YClcbiAgICAgICAgICAgIC5tYXAoKG5hbWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBgJHtuYW1lfS0ke2luZGV4ICsgMX1gLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAoaW5kZXggKyAxKSAvIHdpdGhIYWx2ZXNcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IHJhdGluZyBpY29ucyBhcnJheSB3aXRoIHZhbHVlIGFuZCB1bmljIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0U2l6ZUNsYXNzKHNpemU6IFJhdGluZ0luZGljYXRvclNpemUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7SU5ESUNBVE9SX1BSRUZJWH0tLSR7c2l6ZSBpbiBSYXRpbmdJbmRpY2F0b3JTaXplRW51bSA/IHNpemUgOiAnbWQnfWA7XG4gICAgfVxufVxuIiwiPCEtLSAgcm9sZT1cImFwcGxpY2F0aW9uXCIgaXMgdXNlZCBpbiBvcmRlciB0byBsZXQgdXNlciB0byBjaGFuZ2UgdmFsdWUgd2l0aCBsZWZ0L3JpZ2h0IGFycm93cyBpbiBKQVdTLCBzaW5jZSBKQVdTIG92dmVycmlkZXMgdGhlc2UgYWN0aW9ucyAtLT5cbjxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19jb250YWluZXJcIiByb2xlPVwiYXBwbGljYXRpb25cIiBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cIlJhdGluZyBpbmRpY2F0b3JcIj5cbiAgICA8IS0tIFplcm8gdmFsdWUgaWYgd2UgZG9uJ3QgaGF2ZSBwcm92aWRlZCB2YWx1ZSBmcm9tIHVzZXIsIGByYXRpbmdBdmVyYWdlYCBvciBgcmF0aW5nc2AgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInplcm9SYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBBdmFpbGFibGUgcmF0ZSB2YWx1ZXMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmF0ZSBvZiBfcmF0ZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaSB8IHJhdGluZ1N0YXJMYWJlbCA6IF9yYXRlcy5sZW5ndGggOiBhbGxvd0hhbHZlc1wiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBub25JbnRlcmFjdGl2ZSB8fCBkaXNwbGF5TW9kZVwiXG4gICAgICAgICAgICBbaWRdPVwicmF0ZS5pZFwiXG4gICAgICAgICAgICBuYW1lPVwicmF0aW5nLXt7IHZpZXdSYXRpbmdVSUQgfX1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInJhdGUudmFsdWVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwidmlld1ZhbHVlID09PSByYXRlLnZhbHVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdChyYXRlLnZhbHVlKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsXCIgW2Zvcl09XCJyYXRlLmlkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8aSAqbmdJZj1cInJhdGVkSWNvblwiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtcmF0ZWRcIiBbY2xhc3NdPVwidW5yYXRlZEljb25cIj48L2k+XG4gICAgICAgICAgICA8aSAqbmdJZj1cInVucmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC11bnJhdGVkXCIgW2NsYXNzXT1cInJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPCEtLSBQb3BvdmVyIGlmIGRpc3BsYXlBbGxSYXRpbmdzIGlzIHRydWUgYW5kIHdlIGhhdmUgcmF0aW5ncyBvYmplY3QgLS0+XG48c3BhblxuICAgIFtmZFBvcG92ZXJUcmlnZ2VyXT1cImFsbFJhdGluZ0NvbnRlbnRcIlxuICAgICpuZ0lmPVwiZGlzcGxheUFsbFJhdGluZ3MgJiYgX3JhdGluZ0l0ZW1zPy5sZW5ndGg7IGVsc2UgZHluYW1pY1RleHRcIlxuICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fZHluYW1pYy10ZXh0XCJcbj5cbiAgICAoPHNwYW4gYXJpYS1sYWJlbD1cIlRvdGFsIHJhaXRpbmdcIiBmZC1saW5rPnt7IHRvdGFsUmF0aW5ncyB9fTwvc3BhblxuICAgID4pXG48L3NwYW4+XG48ZmQtcG9wb3ZlclxuICAgICNhbGxSYXRpbmdDb250ZW50XG4gICAgW3RyaWdnZXJzXT1cIlsnbW91c2VlbnRlcicsICdtb3VzZWxlYXZlJ11cIlxuICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19wb3BvdmVyXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fc3VtLXJvd1wiIFtjbGFzc109XCJzaXplQ2xhc3NcIiAqbmdGb3I9XCJsZXQgcmF0aW5nIG9mIF9yYXRpbmdJdGVtc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRlIG9mIF9yYXRlczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0LWNoZWNrZWRdPVwicmF0ZS52YWx1ZSA9PT0gcmF0aW5nLnJhdGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0XCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC1yYXRlZFwiIFtjbGFzc109XCJ1bnJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJ1bnJhdGVkSWNvblwiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtdW5yYXRlZFwiIFtjbGFzc109XCJyYXRlZEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgKHt7IHJhdGluZy52b3RlcyB9fSlcbiAgICA8L2Rpdj5cbjwvZmQtcG9wb3Zlcj5cblxuPG5nLXRlbXBsYXRlICNkeW5hbWljVGV4dD5cbiAgICA8c3BhbiAqbmdJZj1cInRvdGFsUmF0aW5nc1wiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fZHluYW1pYy10ZXh0XCI+KHt7IHRvdGFsUmF0aW5ncyB9fSk8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCIhdG90YWxSYXRpbmdzXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIlxuICAgICAgICA+KHt7IHZpZXdWYWx1ZSB9fSB7eyBkeW5hbWljVGV4dEluZGljYXRvciB9fSB7eyBpbmRpY2F0b3JDb3VudCB9fSk8L3NwYW5cbiAgICA+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN6ZXJvUmF0ZSBsZXQtaGFsdmVzPVwiaGFsdmVzXCI+XG4gICAgPGlucHV0XG4gICAgICAgIGFyaWEtbGFiZWw9XCJSZXNldCB0byB6ZXJvXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQgZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQtLXplcm8tcmF0aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KDApXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG5vbkludGVyYWN0aXZlIHx8IGRpc3BsYXlNb2RlXCJcbiAgICAgICAgbmFtZT1cInJhdGluZy17eyB2aWV3UmF0aW5nVUlEIH19e3sgaGFsdmVzID8gJy1oYWx2ZXMnIDogJycgfX1cIlxuICAgICAgICBbY2hlY2tlZF09XCJ2aWV3VmFsdWUgPT09IDBcIlxuICAgIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwgZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtLXplcm8tcmF0aW5nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9yYXRpbmctaW5kaWNhdG9yL2NvbXBvbmVudHMvcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEVBQ2pCLFVBQVUsRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQTZCLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RGLE9BQU8sRUFBbUIsdUJBQXVCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFFaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUV0RSxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7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TixXQUFXO3NCQURWLEtBQUs7Z0JBT04sS0FBSztzQkFESixLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixhQUFhO3NCQURaLEtBQUs7Z0JBUU4sT0FBTztzQkFETixLQUFLO2dCQU9OLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixNQUFNO2dCQWtIUCxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENzc0NsYXNzQnVpbGRlciwgTnVsbGFibGUsIGFwcGx5Q3NzQ2xhc3MgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGb3JtSXRlbUNvbnRyb2wsIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2Zvcm0nO1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQge1xuICAgIElORElDQVRPUl9DTEFTU0VTLFxuICAgIElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZLFxuICAgIElORElDQVRPUl9QUkVGSVgsXG4gICAgUmF0aW5nSW5kaWNhdG9yU2l6ZSxcbiAgICBSYXRpbmdJbmRpY2F0b3JTaXplRW51bVxufSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUmF0aW5nU3RhckxhYmVsUGlwZSB9IGZyb20gJy4uL3BpcGVzL3JhdGluZy1zdGFyLWxhYmVsLnBpcGUnO1xuXG5sZXQgcmF0aW5nVUlEID0gMDtcblxuaW50ZXJmYWNlIE51bWJlcktleTxUPiB7XG4gICAgW2tleTogbnVtYmVyXTogVDtcbn1cblxuaW50ZXJmYWNlIFJhdGluZ1ZpZXdJdGVtIHtcbiAgICByYXRlOiBudW1iZXI7XG4gICAgdm90ZXM6IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1yYXRpbmctaW5kaWNhdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmF0aW5nLWluZGljYXRvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sKFJhdGluZ0luZGljYXRvckNvbXBvbmVudClcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBOZ0lmLCBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSwgUG9wb3ZlckNvbXBvbmVudCwgUmF0aW5nU3RhckxhYmVsUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgUmF0aW5nSW5kaWNhdG9yQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ3NzQ2xhc3NCdWlsZGVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUl0ZW1Db250cm9sXG57XG4gICAgLyoqIFVzZXIncyBjdXN0b20gY2xhc3NlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgY2xhc3M6IHN0cmluZztcblxuICAgIC8qKiBTZXRzIFtuYW1lXSBhdHRyaWJ1dGUgb2YgaW5wdXQuICovXG4gICAgQElucHV0KClcbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSB0byB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBhcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIHRvIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgYXJpYS1kaXNhYmxlZCBhdHRyaWJ1dGUgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogU2V0cyB0aGUgaXMtZGlzYWJsZWQgY2xhc3MgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogV2hldGhlciB0aGUgcmF0aW5nIGluZGljYXRvciBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1kaXNhYmxlZCcpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByYXRpbmcgaW5kaWNhdG9yIGlzIGluIGRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLXJhdGluZy1pbmRpY2F0b3ItLWRpc3BsYXktbW9kZScpXG4gICAgZGlzcGxheU1vZGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHJhdGluZyBpbmRpY2F0b3IgaXMgaW4gbm9uLWludGVyYWN0aXZlIHN0YXRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1yYXRpbmctaW5kaWNhdG9yLS1ub24taW50ZXJhY3RpdmUnKVxuICAgIG5vbkludGVyYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcmF0ZXMgdG8gZGlzcGxheVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluZGljYXRvckNhcGFjaXR5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgdmFsID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIElORElDQVRPUl9ERUZBVUxUX0NBUEFDSVRZKTtcbiAgICAgICAgdGhpcy5faW5kaWNhdG9yQ2FwYWNpdHkgPSB2YWwgPCAxID8gSU5ESUNBVE9SX0RFRkFVTFRfQ0FQQUNJVFkgOiB2YWw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBvciBub3QgdG8gZGlzcGxheSBoYWxmIHZhbHVlcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93SGFsdmVzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyJ3MgdmFsdWUgbnVtYmVyIG9mIHJhdGluZ3MuIElmIHByb3ZpZGVkLCBPdmVycmlkZXMgcmF0aW5nQXZlcmFnZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlID0gMDtcblxuICAgIC8qKlxuICAgICAqIFRvdGFsIG51bWJlciBvZiByYXRpbmdzLiBJZiBwcm92aWRlZCwgd2lsbCBkaXNwbGF5IHRleHQgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIHJhdGluZ3MuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0b3RhbFJhdGluZ3M6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFJhdGluZyBhdmVyYWdlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRpbmdBdmVyYWdlOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBPYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgd2hlcmUgdGhlIGtleSBpcyB0aGUgcmF0aW5nIGFuZCB0aGUgdmFsdWUgaXMgdGhlIHRvdGFsIHN1bSBvZiB0aG9zZSByYXRpbmdzLlxuICAgICAqIE92ZXJyaWRlcyB0b3RhbFJhdGluZ3MgYW5kIHJhdGluZ0F2ZXJhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByYXRpbmdzOiBOdW1iZXJLZXk8bnVtYmVyPjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIHBvcG92ZXIgdGhhdCBzaG93cyB0aGUgc3VtIG9mIGVhY2ggcmF0aW5nLiBSZXF1aXJlcyBbcmF0aW5nc10gb2JqZWN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheUFsbFJhdGluZ3MgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEljb24gY2xhc3MgZm9yIHJhdGVkIGljb24gZnJvbSBmdW5kYW1lbnRhbC1zdHlsZXMgbGliIGh0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1zdHlsZXMvP3BhdGg9L2RvY3MvY29tcG9uZW50cy1pY29uLS1zaXplc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmF0ZWRJY29uOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogSWNvbiBjbGFzcyBmb3IgdW5yYXRlZCBpY29uIGZyb20gZnVuZGFtZW50YWwtc3R5bGVzIGxpYiBodHRwczovL3NhcC5naXRodWIuaW8vZnVuZGFtZW50YWwtc3R5bGVzLz9wYXRoPS9kb2NzL2NvbXBvbmVudHMtaWNvbi0tc2l6ZXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHVucmF0ZWRJY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlICd4cycsICdzbScsICdtZCcsICdsZycsICdjb3p5JywgJ2NvbXBhY3QnLCAnY29uZGVuc2VkJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogUmF0aW5nSW5kaWNhdG9yU2l6ZSA9ICdtZCc7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IGRpdmlkZXIgbGFiZWwgYmV0d2VlbiB2aWV3IHZhbHVlIGFuZCBpbmRpY2F0b3IgY291bnQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkeW5hbWljVGV4dEluZGljYXRvciA9ICdvZic7XG5cbiAgICAvKipcbiAgICAgKiBGaXJlZCB3aGVuIHRoZSB1c2VyIHNldHMgb3IgY2hhbmdlcyB0aGVpciByYXRpbmcuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmF0aW5nQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaXplQ2xhc3MgPSB0aGlzLl9nZXRTaXplQ2xhc3ModGhpcy5zaXplKTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9yYXRlczogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSA9IFtdO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3JhdGluZ0l0ZW1zOiBSYXRpbmdWaWV3SXRlbVtdID0gW107XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3JhdGluZ1VJRCA9IHJhdGluZ1VJRCsrO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaW5kaWNhdG9yQ2FwYWNpdHkgPSBJTkRJQ0FUT1JfREVGQVVMVF9DQVBBQ0lUWTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3ZhbHVlID0gMDtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hpZGVEeW5hbWljVGV4dCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IHZpZXdSYXRpbmdVSUQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JhdGluZ1VJRDtcbiAgICB9XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgaW5kaWNhdG9yQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luZGljYXRvckNhcGFjaXR5O1xuICAgIH1cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCB2aWV3VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgICAgICB0aGlzLl9yYXRlcyA9IHRoaXMuX2dldFJhdGVzKCk7XG4gICAgICAgIHRoaXMuYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICB0aGlzLl9nZW5lcmF0ZVJhdGluZ3MoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgJ2NsYXNzJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAnc2l6ZScgaW4gY2hhbmdlcyB8fFxuICAgICAgICAgICAgJ3JhdGVkSWNvbicgaW4gY2hhbmdlcyB8fFxuICAgICAgICAgICAgJ3VucmF0ZWRJY29uJyBpbiBjaGFuZ2VzIHx8XG4gICAgICAgICAgICAnYWxsb3dIYWx2ZXMnIGluIGNoYW5nZXNcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3ZhbHVlJyBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX2NvbnZlcnRUb1ZhbHVlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdpbmRpY2F0b3JDYXBhY2l0eScgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fcmF0ZXMgPSB0aGlzLl9nZXRSYXRlcygpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgnYWxsb3dIYWx2ZXMnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5fY29udmVydFRvVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMuX3JhdGVzID0gdGhpcy5fZ2V0UmF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgncmF0aW5ncycgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fZ2VuZXJhdGVSYXRpbmdzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMuX3BhcnNlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IHN0cmluZzsgdmFsdWU6IG51bWJlciB9KTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblNlbGVjdCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5yYXRpbmdDaGFuZ2VkLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogQ3NzQ2xhc3NCdWlsZGVyIGludGVyZmFjZSBpbXBsZW1lbnRhdGlvblxuICAgICAqIGZ1bmN0aW9uIG11c3QgcmV0dXJuIHNpbmdsZSBzdHJpbmdcbiAgICAgKiBmdW5jdGlvbiBpcyByZXNwb25zaWJsZSBmb3Igb3JkZXIgd2hpY2ggY3NzIGNsYXNzZXMgYXJlIGFwcGxpZWRcbiAgICAgKi9cbiAgICBAYXBwbHlDc3NDbGFzc1xuICAgIGJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTogc3RyaW5nW10ge1xuICAgICAgICB0aGlzLnNpemVDbGFzcyA9IHRoaXMuX2dldFNpemVDbGFzcyh0aGlzLnNpemUpO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBJTkRJQ0FUT1JfUFJFRklYLFxuICAgICAgICAgICAgdGhpcy5zaXplQ2xhc3MsXG4gICAgICAgICAgICB0aGlzLmFsbG93SGFsdmVzID8gSU5ESUNBVE9SX0NMQVNTRVMuaGFsdmVzIDogJycsXG4gICAgICAgICAgICAhIXRoaXMucmF0ZWRJY29uICYmICEhdGhpcy51bnJhdGVkSWNvbiA/IElORElDQVRPUl9DTEFTU0VTLmljb24gOiAnJyxcbiAgICAgICAgICAgIHRoaXMuX2hpZGVEeW5hbWljVGV4dCB8fCAhdGhpcy5fdmFsdWUgPyBJTkRJQ0FUT1JfQ0xBU1NFUy5oaWRlRHluYW1pY1RleHQgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuY2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogR2VuZXJhdGUgcmF0aW5nIGl0ZW1zIGZvciBwb3BvdmVyIGNvbnRlbnQgaWYgcmF0aW5nIG9iamVjdCB3YXMgZGVmaW5lZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dlbmVyYXRlUmF0aW5ncygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnJhdGluZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByYXRpbmdzID0gT2JqZWN0LmVudHJpZXModGhpcy5yYXRpbmdzKVxuICAgICAgICAgICAgLmZpbHRlcigoW3JhdGUsIHZvdGVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgX3JhdGUgPSArcmF0ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzTmFOKF9yYXRlKSAmJiAhaXNOYU4oK3ZvdGUpICYmIF9yYXRlID4gMDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKChbcmF0ZSwgdm90ZXNdKSA9PiAoeyByYXRlOiArcmF0ZSwgdm90ZXMgfSkpO1xuICAgICAgICBpZiAocmF0aW5ncy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHRvdGFsVm90ZXMsIHRvdGFsUmF0aW5nIH0gPSByYXRpbmdzLnJlZHVjZShcbiAgICAgICAgICAgICh0b3RhbCwgcmF0aW5nKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRvdGFsVm90ZXM6IHRvdGFsLnRvdGFsVm90ZXMgKyByYXRpbmcudm90ZXMsXG4gICAgICAgICAgICAgICAgdG90YWxSYXRpbmc6IHRvdGFsLnRvdGFsUmF0aW5nICsgcmF0aW5nLnJhdGUgKiByYXRpbmcudm90ZXNcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeyB0b3RhbFZvdGVzOiAwLCB0b3RhbFJhdGluZzogMCB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fcmF0aW5nSXRlbXMgPSByYXRpbmdzO1xuICAgICAgICB0aGlzLnJhdGluZ0F2ZXJhZ2UgPSB0b3RhbFJhdGluZyAvIHRvdGFsVm90ZXM7XG4gICAgICAgIHRoaXMudG90YWxSYXRpbmdzID0gdG90YWxWb3RlcztcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLl9jb252ZXJ0VG9WYWx1ZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IGNvbnZlcnRlZCB2aWV3VmFsdWUgZm9yIHJlbmRlciBpbiBjb21wb25lbnQgdGVtcGxhdGUgZnJvbSBvcmlnaW5hbCB2YWx1ZSBpZiBpdCBzdGlsbCBleGlzdHMsIG9yIHJhdGluZ0F2ZXJhZ2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29udmVydFRvVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlVmFsdWUodGhpcy52YWx1ZSB8fCB0aGlzLnJhdGluZ0F2ZXJhZ2UpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IGNvbnZlcnRlZCB2YWx1ZSBmcm9tIG9yaWdpbmFsIHRvIHZpZXcgdmFsdWUgd2l0aCBkZXBlbmRzIG9uIGhhbHZlc1xuICAgICAqIEZvciBleGFtcGxlLFxuICAgICAqICBvcmlnaW5hbCB2YWx1ZSBpcyBlcXVhbCB0byAyLjM0LCB5b3Ugd2lsbCBnZXQgYW5kIHJlbmRlciAyXG4gICAgICogIG9yaWdpbmFsIHZhbHVlIGlzIGVxdWFsIHRvIDMuNzQsIHlvdSB3aWxsIGdldCBhbmQgcmVuZGVyIDRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9wYXJzZVZhbHVlKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBpZiAoIXZhbHVlIHx8IHZhbHVlID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbnRlZ2VyID0gTWF0aC5mbG9vcih2YWx1ZSk7XG4gICAgICAgIGNvbnN0IGZyYWN0aW9uYWwgPSB2YWx1ZSAlIDE7XG4gICAgICAgIGxldCB2ID0gaW50ZWdlcjtcblxuICAgICAgICBpZiAodGhpcy5hbGxvd0hhbHZlcyAmJiBmcmFjdGlvbmFsID4gMC4yNSAmJiBmcmFjdGlvbmFsIDw9IDAuNSkge1xuICAgICAgICAgICAgdiA9IGludGVnZXIgKyAwLjU7XG4gICAgICAgIH0gZWxzZSBpZiAoZnJhY3Rpb25hbCA+IDAuNSkge1xuICAgICAgICAgICAgdiA9IGludGVnZXIgKyAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMuaW5kaWNhdG9yQ291bnQsIHYpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IHJhdGluZyBpY29ucyBhcnJheSB3aXRoIHZhbHVlIGFuZCB1bmljIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0UmF0ZXMoKTogeyBpZDogc3RyaW5nOyB2YWx1ZTogbnVtYmVyIH1bXSB7XG4gICAgICAgIGNvbnN0IHdpdGhIYWx2ZXMgPSB0aGlzLmFsbG93SGFsdmVzID8gMiA6IDE7XG4gICAgICAgIHJldHVybiBBcnJheSh0aGlzLmluZGljYXRvckNvdW50ICogd2l0aEhhbHZlcylcbiAgICAgICAgICAgIC5maWxsKGByYXRpbmctJHt0aGlzLl9yYXRpbmdVSUR9YClcbiAgICAgICAgICAgIC5tYXAoKG5hbWUsIGluZGV4KSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBgJHtuYW1lfS0ke2luZGV4ICsgMX1gLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAoaW5kZXggKyAxKSAvIHdpdGhIYWx2ZXNcbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogZ2V0IHJhdGluZyBpY29ucyBhcnJheSB3aXRoIHZhbHVlIGFuZCB1bmljIGlkXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0U2l6ZUNsYXNzKHNpemU6IFJhdGluZ0luZGljYXRvclNpemUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7SU5ESUNBVE9SX1BSRUZJWH0tLSR7c2l6ZSBpbiBSYXRpbmdJbmRpY2F0b3JTaXplRW51bSA/IHNpemUgOiAnbWQnfWA7XG4gICAgfVxufVxuIiwiPCEtLSAgcm9sZT1cImFwcGxpY2F0aW9uXCIgaXMgdXNlZCBpbiBvcmRlciB0byBsZXQgdXNlciB0byBjaGFuZ2UgdmFsdWUgd2l0aCBsZWZ0L3JpZ2h0IGFycm93cyBpbiBKQVdTLCBzaW5jZSBKQVdTIG92dmVycmlkZXMgdGhlc2UgYWN0aW9ucyAtLT5cbjxkaXYgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19jb250YWluZXJcIiByb2xlPVwiYXBwbGljYXRpb25cIiBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cIlJhdGluZyBpbmRpY2F0b3JcIj5cbiAgICA8IS0tIFplcm8gdmFsdWUgaWYgd2UgZG9uJ3QgaGF2ZSBwcm92aWRlZCB2YWx1ZSBmcm9tIHVzZXIsIGByYXRpbmdBdmVyYWdlYCBvciBgcmF0aW5nc2AgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInplcm9SYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBBdmFpbGFibGUgcmF0ZSB2YWx1ZXMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmF0ZSBvZiBfcmF0ZXM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaSB8IHJhdGluZ1N0YXJMYWJlbCA6IF9yYXRlcy5sZW5ndGggOiBhbGxvd0hhbHZlc1wiXG4gICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBub25JbnRlcmFjdGl2ZSB8fCBkaXNwbGF5TW9kZVwiXG4gICAgICAgICAgICBbaWRdPVwicmF0ZS5pZFwiXG4gICAgICAgICAgICBuYW1lPVwicmF0aW5nLXt7IHZpZXdSYXRpbmdVSUQgfX1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInJhdGUudmFsdWVcIlxuICAgICAgICAgICAgW2NoZWNrZWRdPVwidmlld1ZhbHVlID09PSByYXRlLnZhbHVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdChyYXRlLnZhbHVlKVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsXCIgW2Zvcl09XCJyYXRlLmlkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICA8aSAqbmdJZj1cInJhdGVkSWNvblwiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtcmF0ZWRcIiBbY2xhc3NdPVwidW5yYXRlZEljb25cIj48L2k+XG4gICAgICAgICAgICA8aSAqbmdJZj1cInVucmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC11bnJhdGVkXCIgW2NsYXNzXT1cInJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPCEtLSBQb3BvdmVyIGlmIGRpc3BsYXlBbGxSYXRpbmdzIGlzIHRydWUgYW5kIHdlIGhhdmUgcmF0aW5ncyBvYmplY3QgLS0+XG48c3BhblxuICAgIFtmZFBvcG92ZXJUcmlnZ2VyXT1cImFsbFJhdGluZ0NvbnRlbnRcIlxuICAgICpuZ0lmPVwiZGlzcGxheUFsbFJhdGluZ3MgJiYgX3JhdGluZ0l0ZW1zPy5sZW5ndGg7IGVsc2UgZHluYW1pY1RleHRcIlxuICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fZHluYW1pYy10ZXh0XCJcbj5cbiAgICAoPHNwYW4gYXJpYS1sYWJlbD1cIlRvdGFsIHJhaXRpbmdcIiBmZC1saW5rPnt7IHRvdGFsUmF0aW5ncyB9fTwvc3BhblxuICAgID4pXG48L3NwYW4+XG48ZmQtcG9wb3ZlclxuICAgICNhbGxSYXRpbmdDb250ZW50XG4gICAgW3RyaWdnZXJzXT1cIlsnbW91c2VlbnRlcicsICdtb3VzZWxlYXZlJ11cIlxuICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgIGFkZGl0aW9uYWxCb2R5Q2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19wb3BvdmVyXCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fc3VtLXJvd1wiIFtjbGFzc109XCJzaXplQ2xhc3NcIiAqbmdGb3I9XCJsZXQgcmF0aW5nIG9mIF9yYXRpbmdJdGVtc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRlIG9mIF9yYXRlczsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0LWNoZWNrZWRdPVwicmF0ZS52YWx1ZSA9PT0gcmF0aW5nLnJhdGVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2lucHV0XCJcbiAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZkLXJhdGluZy1pbmRpY2F0b3JfX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmF0ZWRJY29uXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19sYWJlbC1yYXRlZFwiIFtjbGFzc109XCJ1bnJhdGVkSWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJ1bnJhdGVkSWNvblwiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtdW5yYXRlZFwiIFtjbGFzc109XCJyYXRlZEljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgKHt7IHJhdGluZy52b3RlcyB9fSlcbiAgICA8L2Rpdj5cbjwvZmQtcG9wb3Zlcj5cblxuPG5nLXRlbXBsYXRlICNkeW5hbWljVGV4dD5cbiAgICA8c3BhbiAqbmdJZj1cInRvdGFsUmF0aW5nc1wiIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fZHluYW1pYy10ZXh0XCI+KHt7IHRvdGFsUmF0aW5ncyB9fSk8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCIhdG90YWxSYXRpbmdzXCIgY2xhc3M9XCJmZC1yYXRpbmctaW5kaWNhdG9yX19keW5hbWljLXRleHRcIlxuICAgICAgICA+KHt7IHZpZXdWYWx1ZSB9fSB7eyBkeW5hbWljVGV4dEluZGljYXRvciB9fSB7eyBpbmRpY2F0b3JDb3VudCB9fSk8L3NwYW5cbiAgICA+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN6ZXJvUmF0ZSBsZXQtaGFsdmVzPVwiaGFsdmVzXCI+XG4gICAgPGlucHV0XG4gICAgICAgIGFyaWEtbGFiZWw9XCJSZXNldCB0byB6ZXJvXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQgZmQtcmF0aW5nLWluZGljYXRvcl9faW5wdXQtLXplcm8tcmF0aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KDApXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG5vbkludGVyYWN0aXZlIHx8IGRpc3BsYXlNb2RlXCJcbiAgICAgICAgbmFtZT1cInJhdGluZy17eyB2aWV3UmF0aW5nVUlEIH19e3sgaGFsdmVzID8gJy1oYWx2ZXMnIDogJycgfX1cIlxuICAgICAgICBbY2hlY2tlZF09XCJ2aWV3VmFsdWUgPT09IDBcIlxuICAgIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwgZmQtcmF0aW5nLWluZGljYXRvcl9fbGFiZWwtLXplcm8tcmF0aW5nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=