@pepperi-addons/ngx-lib 0.5.0-ng16.7 → 0.5.0-ng17.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 (274) hide show
  1. package/core/http/interceptors/index.d.ts +2 -2
  2. package/esm2022/address/address.component.mjs +6 -6
  3. package/esm2022/address/address.module.mjs +4 -4
  4. package/esm2022/attachment/attachment.component.mjs +5 -5
  5. package/esm2022/attachment/attachment.module.mjs +4 -4
  6. package/esm2022/bread-crumbs/bread-crumbs.component.mjs +6 -6
  7. package/esm2022/bread-crumbs/bread-crumbs.module.mjs +5 -5
  8. package/esm2022/button/button.component.mjs +5 -5
  9. package/esm2022/button/button.module.mjs +4 -4
  10. package/esm2022/carousel/carousel-item.directive.mjs +6 -6
  11. package/esm2022/carousel/carousel.component.mjs +6 -6
  12. package/esm2022/carousel/carousel.module.mjs +4 -4
  13. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  14. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  15. package/esm2022/chips/chips.component.mjs +6 -6
  16. package/esm2022/chips/chips.module.mjs +5 -5
  17. package/esm2022/chips/chips.service.mjs +4 -4
  18. package/esm2022/color/color-picker.component.mjs +6 -6
  19. package/esm2022/color/color.component.mjs +5 -5
  20. package/esm2022/color/color.module.mjs +5 -5
  21. package/esm2022/core/clipboard/clipboard.directive.mjs +3 -3
  22. package/esm2022/core/clipboard/clipboard.service.mjs +3 -3
  23. package/esm2022/core/common/directives/auto-width.directive.mjs +5 -5
  24. package/esm2022/core/common/directives/base-destroyer.directive.mjs +4 -4
  25. package/esm2022/core/common/directives/button-blur.directive.mjs +5 -5
  26. package/esm2022/core/common/directives/button-loader.directive.mjs +6 -6
  27. package/esm2022/core/common/directives/data-qa.directive.mjs +5 -5
  28. package/esm2022/core/common/directives/div-loader.directive.mjs +6 -6
  29. package/esm2022/core/common/directives/menu-blur.directive.mjs +5 -5
  30. package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +3 -3
  31. package/esm2022/core/common/directives/print.directive.mjs +3 -3
  32. package/esm2022/core/common/pipes/common-pipes.mjs +33 -33
  33. package/esm2022/core/common/pipes/date-ago.pipe.mjs +4 -4
  34. package/esm2022/core/common/services/addon.service.mjs +5 -5
  35. package/esm2022/core/common/services/color.service.mjs +3 -3
  36. package/esm2022/core/common/services/cookie.service.mjs +5 -5
  37. package/esm2022/core/common/services/data-convertor.service.mjs +3 -3
  38. package/esm2022/core/common/services/file.service.mjs +4 -4
  39. package/esm2022/core/common/services/jwt-helper.service.mjs +3 -3
  40. package/esm2022/core/common/services/session.service.mjs +4 -4
  41. package/esm2022/core/common/services/translate.service.mjs +4 -4
  42. package/esm2022/core/common/services/utilities.service.mjs +5 -5
  43. package/esm2022/core/common/services/validator.service.mjs +5 -5
  44. package/esm2022/core/common/services/window-scrolling.service.mjs +4 -4
  45. package/esm2022/core/customization/customization.service.mjs +4 -4
  46. package/esm2022/core/http/interceptors/error.interceptor.mjs +3 -3
  47. package/esm2022/core/http/interceptors/loader.interceptor.mjs +4 -4
  48. package/esm2022/core/http/interceptors/profiler.interceptor.mjs +3 -3
  49. package/esm2022/core/http/services/http.service.mjs +4 -4
  50. package/esm2022/core/http/services/loader.service.mjs +4 -4
  51. package/esm2022/core/layout/layout.service.mjs +5 -5
  52. package/esm2022/core/layout/rtl.directive.mjs +8 -8
  53. package/esm2022/core/portal/attach.directive.mjs +5 -5
  54. package/esm2022/core/portal/portal.service.mjs +4 -4
  55. package/esm2022/core/portal/target.directive.mjs +5 -5
  56. package/esm2022/core/scroll-to/scroll-to.service.mjs +3 -3
  57. package/esm2022/date/date.component.mjs +6 -6
  58. package/esm2022/date/date.model.mjs +10 -10
  59. package/esm2022/date/date.module.mjs +5 -5
  60. package/esm2022/dialog/default-dialog.component.mjs +6 -6
  61. package/esm2022/dialog/dialog.component.mjs +5 -5
  62. package/esm2022/dialog/dialog.module.mjs +5 -5
  63. package/esm2022/dialog/dialog.service.mjs +4 -4
  64. package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +5 -5
  65. package/esm2022/draggable-items/draggable-items.component.mjs +5 -5
  66. package/esm2022/draggable-items/draggable-items.module.mjs +5 -5
  67. package/esm2022/field-title/field-title.component.mjs +4 -4
  68. package/esm2022/field-title/field-title.module.mjs +5 -5
  69. package/esm2022/files-uploader/files-uploader.component.mjs +6 -6
  70. package/esm2022/files-uploader/files-uploader.module.mjs +5 -5
  71. package/esm2022/form/field-generator.component.mjs +4 -4
  72. package/esm2022/form/form.component.mjs +5 -5
  73. package/esm2022/form/form.module.mjs +5 -5
  74. package/esm2022/form/indicators.component.mjs +4 -4
  75. package/esm2022/form/internal-button.component.mjs +5 -5
  76. package/esm2022/form/internal-carusel.component.mjs +5 -5
  77. package/esm2022/form/internal-carusel.service.mjs +4 -4
  78. package/esm2022/form/internal-field-generator.component.mjs +4 -4
  79. package/esm2022/form/internal-form.component.mjs +5 -5
  80. package/esm2022/form/internal-list.component.mjs +5 -5
  81. package/esm2022/form/internal-menu.component.mjs +4 -4
  82. package/esm2022/form/internal-page.component.mjs +5 -5
  83. package/esm2022/form/internal-page.service.mjs +4 -4
  84. package/esm2022/group-buttons/group-buttons.component.mjs +5 -5
  85. package/esm2022/group-buttons/group-buttons.module.mjs +5 -5
  86. package/esm2022/icon/icon-registry.service.mjs +3 -3
  87. package/esm2022/icon/icon.component.mjs +5 -5
  88. package/esm2022/icon/icon.module.mjs +4 -4
  89. package/esm2022/icon/icon.service.mjs +5 -5
  90. package/esm2022/image/image.component.mjs +5 -5
  91. package/esm2022/image/image.module.mjs +5 -5
  92. package/esm2022/image/image.service.mjs +4 -4
  93. package/esm2022/images-filmstrip/images-filmstrip.component.mjs +6 -6
  94. package/esm2022/images-filmstrip/images-filmstrip.module.mjs +5 -5
  95. package/esm2022/link/link.component.mjs +5 -5
  96. package/esm2022/link/link.module.mjs +5 -5
  97. package/esm2022/link/link.pipes.mjs +3 -3
  98. package/esm2022/list/list-actions.component.mjs +5 -5
  99. package/esm2022/list/list-carousel.component.mjs +6 -6
  100. package/esm2022/list/list-chooser.component.mjs +5 -5
  101. package/esm2022/list/list-pager.component.mjs +7 -7
  102. package/esm2022/list/list-sorting.component.mjs +5 -5
  103. package/esm2022/list/list-total.component.mjs +5 -5
  104. package/esm2022/list/list-views.component.mjs +5 -5
  105. package/esm2022/list/list.component.mjs +5 -5
  106. package/esm2022/list/list.module.mjs +5 -5
  107. package/esm2022/list/list.pipes.mjs +6 -6
  108. package/esm2022/list/virtual-scroller.mjs +10 -10
  109. package/esm2022/menu/menu-item.component.mjs +5 -5
  110. package/esm2022/menu/menu.component.mjs +7 -7
  111. package/esm2022/menu/menu.module.mjs +5 -5
  112. package/esm2022/ngx-lib.module.mjs +4 -4
  113. package/esm2022/page-layout/page-layout.component.mjs +5 -5
  114. package/esm2022/page-layout/page-layout.module.mjs +4 -4
  115. package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +5 -5
  116. package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +5 -5
  117. package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +5 -5
  118. package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +5 -5
  119. package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +5 -5
  120. package/esm2022/quantity-selector/quantity-selector.component.mjs +7 -7
  121. package/esm2022/quantity-selector/quantity-selector.module.mjs +5 -5
  122. package/esm2022/quantity-selector/quantity-selector.pipes.mjs +3 -3
  123. package/esm2022/query-builder/common/services/output-query.service.mjs +4 -4
  124. package/esm2022/query-builder/common/services/query-structure.service.mjs +4 -4
  125. package/esm2022/query-builder/common/services/type-convertor.service.mjs +4 -4
  126. package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +5 -5
  127. package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +5 -5
  128. package/esm2022/query-builder/query-builder.component.mjs +5 -5
  129. package/esm2022/query-builder/query-builder.module.mjs +5 -5
  130. package/esm2022/query-builder/query-builder.service.mjs +4 -4
  131. package/esm2022/remote-loader/addon-block-loader.component.mjs +5 -5
  132. package/esm2022/remote-loader/addon-block-loader.service.mjs +4 -4
  133. package/esm2022/remote-loader/remote-loader-element.component.mjs +6 -6
  134. package/esm2022/remote-loader/remote-loader.component.mjs +7 -9
  135. package/esm2022/remote-loader/remote-loader.module.mjs +4 -4
  136. package/esm2022/remote-loader/remote-loader.service.mjs +4 -4
  137. package/esm2022/rich-html-textarea/rich-html-textarea.component.mjs +5 -5
  138. package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +5 -5
  139. package/esm2022/search/search.component.mjs +8 -8
  140. package/esm2022/search/search.module.mjs +5 -5
  141. package/esm2022/select/select.component.mjs +5 -5
  142. package/esm2022/select/select.module.mjs +5 -5
  143. package/esm2022/select-panel/select-panel.component.mjs +5 -5
  144. package/esm2022/select-panel/select-panel.module.mjs +4 -4
  145. package/esm2022/separator/separator.component.mjs +5 -5
  146. package/esm2022/separator/separator.module.mjs +4 -4
  147. package/esm2022/side-bar/side-bar.component.mjs +7 -7
  148. package/esm2022/side-bar/side-bar.module.mjs +5 -5
  149. package/esm2022/signature/signature-dialog.component.mjs +6 -6
  150. package/esm2022/signature/signature.component.mjs +5 -5
  151. package/esm2022/signature/signature.module.mjs +5 -5
  152. package/esm2022/size-detector/size-detector.component.mjs +5 -5
  153. package/esm2022/size-detector/size-detector.module.mjs +4 -4
  154. package/esm2022/skeleton-loader/skeleton-loader.component.mjs +6 -6
  155. package/esm2022/skeleton-loader/skeleton-loader.module.mjs +4 -4
  156. package/esm2022/slider/slider.component.mjs +5 -5
  157. package/esm2022/slider/slider.module.mjs +4 -4
  158. package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +4 -4
  159. package/esm2022/smart-filters/common/filter-actions.component.mjs +4 -4
  160. package/esm2022/smart-filters/common/model/base-filter-component.mjs +5 -5
  161. package/esm2022/smart-filters/date-filter/date-filter.component.mjs +4 -4
  162. package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +4 -4
  163. package/esm2022/smart-filters/number-filter/number-filter.component.mjs +4 -4
  164. package/esm2022/smart-filters/smart-filters.component.mjs +5 -5
  165. package/esm2022/smart-filters/smart-filters.module.mjs +5 -5
  166. package/esm2022/smart-filters/text-filter/text-filter.component.mjs +4 -4
  167. package/esm2022/snack-bar/default-snack-bar.component.mjs +6 -6
  168. package/esm2022/snack-bar/snack-bar.component.mjs +5 -5
  169. package/esm2022/snack-bar/snack-bar.module.mjs +5 -5
  170. package/esm2022/snack-bar/snack-bar.service.mjs +4 -4
  171. package/esm2022/textarea/textarea.component.mjs +5 -5
  172. package/esm2022/textarea/textarea.module.mjs +5 -5
  173. package/esm2022/textbox/textbox-validation.directive.mjs +5 -5
  174. package/esm2022/textbox/textbox.component.mjs +5 -5
  175. package/esm2022/textbox/textbox.module.mjs +5 -5
  176. package/esm2022/textbox-icon/textbox-icon.component.mjs +4 -4
  177. package/esm2022/textbox-icon/textbox-icon.module.mjs +5 -5
  178. package/esm2022/top-bar/top-bar.component.mjs +5 -5
  179. package/esm2022/top-bar/top-bar.module.mjs +5 -5
  180. package/fesm2022/pepperi-addons-ngx-lib-address.mjs +10 -10
  181. package/fesm2022/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  182. package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs +9 -9
  183. package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  184. package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs +11 -11
  185. package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
  186. package/fesm2022/pepperi-addons-ngx-lib-button.mjs +9 -9
  187. package/fesm2022/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  188. package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs +15 -15
  189. package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  190. package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs +10 -10
  191. package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  192. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +15 -15
  193. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  194. package/fesm2022/pepperi-addons-ngx-lib-color.mjs +16 -16
  195. package/fesm2022/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  196. package/fesm2022/pepperi-addons-ngx-lib-date.mjs +21 -21
  197. package/fesm2022/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  198. package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs +19 -19
  199. package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  200. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +14 -14
  201. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  202. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +9 -9
  203. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  204. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs +11 -11
  205. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  206. package/fesm2022/pepperi-addons-ngx-lib-form.mjs +50 -50
  207. package/fesm2022/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  208. package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs +10 -10
  209. package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  210. package/fesm2022/pepperi-addons-ngx-lib-icon.mjs +17 -17
  211. package/fesm2022/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  212. package/fesm2022/pepperi-addons-ngx-lib-image.mjs +14 -14
  213. package/fesm2022/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  214. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs +11 -11
  215. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  216. package/fesm2022/pepperi-addons-ngx-lib-link.mjs +13 -13
  217. package/fesm2022/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  218. package/fesm2022/pepperi-addons-ngx-lib-list.mjs +47 -47
  219. package/fesm2022/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  220. package/fesm2022/pepperi-addons-ngx-lib-menu.mjs +17 -17
  221. package/fesm2022/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  222. package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs +9 -9
  223. package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  224. package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs +18 -18
  225. package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  226. package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs +20 -20
  227. package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  228. package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs +34 -34
  229. package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  230. package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs +28 -30
  231. package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  232. package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs +10 -10
  233. package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  234. package/fesm2022/pepperi-addons-ngx-lib-search.mjs +14 -14
  235. package/fesm2022/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  236. package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs +9 -9
  237. package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  238. package/fesm2022/pepperi-addons-ngx-lib-select.mjs +10 -10
  239. package/fesm2022/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  240. package/fesm2022/pepperi-addons-ngx-lib-separator.mjs +9 -9
  241. package/fesm2022/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
  242. package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs +12 -12
  243. package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  244. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs +15 -15
  245. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  246. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +9 -9
  247. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  248. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +10 -10
  249. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  250. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +9 -9
  251. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  252. package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs +32 -32
  253. package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  254. package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs +19 -19
  255. package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  256. package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs +10 -10
  257. package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  258. package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs +9 -9
  259. package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  260. package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs +14 -14
  261. package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  262. package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs +10 -10
  263. package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  264. package/fesm2022/pepperi-addons-ngx-lib.mjs +178 -178
  265. package/fesm2022/pepperi-addons-ngx-lib.mjs.map +1 -1
  266. package/package.json +27 -27
  267. package/src/core/style/base/borderRadius.component.ts +2 -4
  268. package/src/core/style/base/breakpoints.component.ts +2 -4
  269. package/src/core/style/base/colors.component.ts +2 -4
  270. package/src/core/style/base/shadows.component.ts +2 -4
  271. package/src/core/style/base/spacing.component.ts +2 -4
  272. package/src/core/style/base/states.component.ts +2 -4
  273. package/src/core/style/base/typography.component.ts +2 -4
  274. package/src/core/style/base/zIndex.component.ts +2 -4
@@ -27,8 +27,8 @@ export class PepRichHtmlTextareaModule {
27
27
  pepIconSystemClose,
28
28
  ]);
29
29
  }
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepRichHtmlTextareaModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
31
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepRichHtmlTextareaModule, declarations: [PepRichHtmlTextareaComponent], imports: [CommonModule,
30
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepRichHtmlTextareaModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
31
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PepRichHtmlTextareaModule, declarations: [PepRichHtmlTextareaComponent], imports: [CommonModule,
32
32
  ReactiveFormsModule,
33
33
  FormsModule,
34
34
  // Material modules,
@@ -45,7 +45,7 @@ export class PepRichHtmlTextareaModule {
45
45
  PepFieldTitleModule,
46
46
  PepTextboxIconModule,
47
47
  PepDialogModule], exports: [PepRichHtmlTextareaComponent] });
48
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepRichHtmlTextareaModule, imports: [CommonModule,
48
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepRichHtmlTextareaModule, imports: [CommonModule,
49
49
  ReactiveFormsModule,
50
50
  FormsModule,
51
51
  // Material modules,
@@ -65,7 +65,7 @@ export class PepRichHtmlTextareaModule {
65
65
  PepTextboxIconModule,
66
66
  PepDialogModule] });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepRichHtmlTextareaModule, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepRichHtmlTextareaModule, decorators: [{
69
69
  type: NgModule,
70
70
  args: [{
71
71
  imports: [
@@ -92,5 +92,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
92
  exports: [PepRichHtmlTextareaComponent],
93
93
  declarations: [PepRichHtmlTextareaComponent],
94
94
  }]
95
- }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
95
+ }], ctorParameters: () => [{ type: i1.PepIconRegistry }] });
96
96
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC1odG1sLXRleHRhcmVhLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmljaC1odG1sLXRleHRhcmVhL3JpY2gtaHRtbC10ZXh0YXJlYS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsYUFBYSxFQUViLGlCQUFpQixFQUNqQixrQkFBa0IsR0FDckIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV4QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQTJCOUUsTUFBTSxPQUFPLHlCQUF5QjtJQUNkO0lBQXBCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUMvQixpQkFBaUI7WUFDakIsa0JBQWtCO1NBQ3JCLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBTlEseUJBQXlCO3lHQUF6Qix5QkFBeUIsaUJBRm5CLDRCQUE0QixhQXJCdkMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFHZixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWUsYUFFVCw0QkFBNEI7eUdBRzdCLHlCQUF5QixZQXZCOUIsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixXQUFXO1lBQ1gsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUNyQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7OzRGQUtWLHlCQUF5QjtrQkF6QnJDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFdBQVcsQ0FBQyxPQUFPLEVBQUU7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixlQUFlO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbUVkaXQsXG4gICAgcGVwSWNvblN5c3RlbUNsb3NlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7IFBlcFRleHRib3hJY29uTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdGV4dGJveC1pY29uJztcbmltcG9ydCB7IFBlcEZpZWxkVGl0bGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWVsZC10aXRsZSc7XG5pbXBvcnQgeyBQZXBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xuXG5pbXBvcnQgeyBRdWlsbE1vZHVsZSB9IGZyb20gJ25neC1xdWlsbCc7XG5cbmltcG9ydCB7IFBlcFJpY2hIdG1sVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3JpY2gtaHRtbC10ZXh0YXJlYS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gTWF0ZXJpYWwgbW9kdWxlcyxcbiAgICAgICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgLy8gRXh0ZXJuYWwgbW9kdWxlc1xuICAgICAgICBRdWlsbE1vZHVsZS5mb3JSb290KCksXG4gICAgICAgIC8vIG5neC1saWIgbW9kdWxlc1xuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcEljb25Nb2R1bGUsXG4gICAgICAgIFBlcEZpZWxkVGl0bGVNb2R1bGUsXG4gICAgICAgIFBlcFRleHRib3hJY29uTW9kdWxlLFxuICAgICAgICBQZXBEaWFsb2dNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbUGVwUmljaEh0bWxUZXh0YXJlYUNvbXBvbmVudF0sXG4gICAgZGVjbGFyYXRpb25zOiBbUGVwUmljaEh0bWxUZXh0YXJlYUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJpY2hIdG1sVGV4dGFyZWFNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhbXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtRWRpdCxcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1DbG9zZSxcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
@@ -234,13 +234,13 @@ export class PepSearchComponent {
234
234
  this.search.emit({ value });
235
235
  }
236
236
  }
237
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchComponent, deps: [{ token: i0.ElementRef }, { token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
238
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepSearchComponent, selector: "pep-search", inputs: { triggerOn: "triggerOn", autoCompleteTop: "autoCompleteTop", autoCompleteValues: "autoCompleteValues", shrink: "shrink", value: "value", searchControl: "searchControl", useAsWebComponent: "useAsWebComponent", sizeType: "sizeType" }, outputs: { search: "search", autocompleteChange: "autocompleteChange", stateChange: "stateChange" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "\uFEFF<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrink !== 'never'; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <!-- Added ngif for hide the icons in the input while the input is hidden cause the icons override the next button from press -->\n <div *ngIf=\"!isFloating || (isFloating && !showFloatSrcBtn)\" class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" (focusout)=\"onFocusout()\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n<ng-template #triggerOnClickBlock>\n <mat-icon class=\"pep-text-icon pep-pointer\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\"\n (click)=\"onClearClicked($event)\">\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\">|</span>\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n</ng-template>\n\n<ng-template #triggerOnKeydownBlock>\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\n <ng-template #clearBlock>\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #searchBlock>\n <mat-icon class=\"pep-text-icon\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </ng-template>\n</ng-template>", styles: [":host{display:flex}.pep-search-container .pep-search-input .mat-form-field,.pep-search-container .pep-search-input .mat-mdc-form-field{display:inherit}.pep-search-container .pep-search-input .pep-v-separator{padding:var(--pep-spacing-xs, .25rem) 0;height:100%}.pep-search-container .pep-search-input .pep-text-icon.pep-pointer{cursor:pointer}.pep-search-container .pep-search-input .hide-clear-icon{visibility:hidden}.pep-search-container.pep-floating-search{display:inline-block}.pep-search-container.pep-floating-search.pep-is-action-button-visable{width:calc(100% - (var(--pep-spacing-sm, .5rem) * 2 + var(--pep-spacing-xl, 1.5rem)))}@media (max-width: 599px){.pep-search-container ::ng-deep .mat-button-wrapper,.pep-search-container ::ng-deep .mat-mdc-button-wrapper{max-width:3.125rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple", "hideSingleSelectionIndicator"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i9.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], animations: [
237
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchComponent, deps: [{ token: i0.ElementRef }, { token: i1.PepLayoutService }], target: i0.ɵɵFactoryTarget.Component });
238
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PepSearchComponent, selector: "pep-search", inputs: { triggerOn: "triggerOn", autoCompleteTop: "autoCompleteTop", autoCompleteValues: "autoCompleteValues", shrink: "shrink", value: "value", searchControl: "searchControl", useAsWebComponent: "useAsWebComponent", sizeType: "sizeType" }, outputs: { search: "search", autocompleteChange: "autocompleteChange", stateChange: "stateChange" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "\uFEFF<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrink !== 'never'; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <!-- Added ngif for hide the icons in the input while the input is hidden cause the icons override the next button from press -->\n <div *ngIf=\"!isFloating || (isFloating && !showFloatSrcBtn)\" class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" (focusout)=\"onFocusout()\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n<ng-template #triggerOnClickBlock>\n <mat-icon class=\"pep-text-icon pep-pointer\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\"\n (click)=\"onClearClicked($event)\">\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\">|</span>\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n</ng-template>\n\n<ng-template #triggerOnKeydownBlock>\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\n <ng-template #clearBlock>\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #searchBlock>\n <mat-icon class=\"pep-text-icon\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </ng-template>\n</ng-template>", styles: [":host{display:flex}.pep-search-container .pep-search-input .mat-form-field,.pep-search-container .pep-search-input .mat-mdc-form-field{display:inherit}.pep-search-container .pep-search-input .pep-v-separator{padding:var(--pep-spacing-xs, .25rem) 0;height:100%}.pep-search-container .pep-search-input .pep-text-icon.pep-pointer{cursor:pointer}.pep-search-container .pep-search-input .hide-clear-icon{visibility:hidden}.pep-search-container.pep-floating-search{display:inline-block}.pep-search-container.pep-floating-search.pep-is-action-button-visable{width:calc(100% - (var(--pep-spacing-sm, .5rem) * 2 + var(--pep-spacing-xl, 1.5rem)))}@media (max-width: 599px){.pep-search-container ::ng-deep .mat-button-wrapper,.pep-search-container ::ng-deep .mat-mdc-button-wrapper{max-width:3.125rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.PepRtlClassDirective, selector: "[pepRtlClass]" }, { kind: "component", type: i9.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "directive", type: i10.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }], animations: [
239
239
  trigger('slideInOut', [
240
240
  state('close', style({
241
241
  width: '0',
242
242
  padding: '0',
243
- border: 'none',
243
+ border: 'none'
244
244
  })),
245
245
  state('open', style({
246
246
  width: 'inherit',
@@ -261,16 +261,16 @@ export class PepSearchComponent {
261
261
  transition('fadeIn => fadeOut', animate(350, style({ opacity: 0, width: '1px' }))),
262
262
  ]),
263
263
  ] });
264
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchComponent });
264
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchComponent });
265
265
  }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchComponent, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchComponent, decorators: [{
267
267
  type: Component,
268
268
  args: [{ selector: 'pep-search', animations: [
269
269
  trigger('slideInOut', [
270
270
  state('close', style({
271
271
  width: '0',
272
272
  padding: '0',
273
- border: 'none',
273
+ border: 'none'
274
274
  })),
275
275
  state('open', style({
276
276
  width: 'inherit',
@@ -293,7 +293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
293
293
  ], template: "\uFEFF<!-- <ng-container *ngTemplateOutlet=\"pepTemplate; context: { isFormView: false, hasParent: false }\">\n</ng-container> -->\n<ng-container *ngIf=\"shrink !== 'never'; then shrinkBlock; else staticBlock\"></ng-container>\n<ng-template #shrinkBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\" [ngClass]=\"{ 'pep-floating-search': isFloating}\"\n [@fadeInOut]=\"fadeState\">\n <!-- Added ngif for hide the icons in the input while the input is hidden cause the icons override the next button from press -->\n <div *ngIf=\"!isFloating || (isFloating && !showFloatSrcBtn)\" class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n <button *ngIf=\"isFloating && fadeState !='fadeIn' && showFloatSrcBtn\"\n class=\"pep-button icon-button {{ sizeType }} weak\" mat-button (click)=\"animateSearch()\">\n <mat-icon>\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </button>\n</ng-template>\n<ng-template #staticBlock>\n <div pepRtlClass class=\"pep-search-container {{ sizeType }}\">\n <div class=\"pep-search-input\">\n <ng-container *ngIf=\"type === 'auto-complete'\">\n <ng-container *ngTemplateOutlet=\"autoCompleteBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"type === 'regular'\">\n <ng-container *ngTemplateOutlet=\"regularBlock\"></ng-container>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #autoCompleteBlock>\n <mat-form-field appearance=\"outline\">\n <!-- (@slideInOut.done)=\"animateSearchDone()\" [@slideInOut]=\"state\" -->\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\" results=\"5\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" [matAutocomplete]=\"auto\" />\n <mat-autocomplete #auto=\"matAutocomplete\" class=\"pep-select\">\n <mat-option *ngFor=\"let value of autoCompleteValues\" [value]=\"value\" (click)=\"triggerSearch()\">\n {{value}}\n </mat-option>\n <mat-option *ngIf=\"autoCompleteValues?.length > autoCompleteTop - 1\" [value]=\"value\"\n (click)=\"triggerSearch()\">{{ 'SEARCH.MORE_RESULTS' | translate }}</mat-option>\n </mat-autocomplete>\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n\n<ng-template #regularBlock>\n <mat-form-field appearance=\"outline\">\n <input #searchInput class=\"body-sm pep-search-input\" matInput autocomplete=\"off\"\n [ngStyle]=\"{ textAlign: isRtl ? 'right' : 'left' }\" type=\"text\" (keyup.enter)=\"onSearch($event)\"\n [formControl]=\"searchControl\" placeholder=\"{{ 'SEARCH.HINT' | translate }}...\" (focusout)=\"onFocusout()\" />\n <div matSuffix class=\"flex align-center\">\n <ng-container *ngIf=\"triggerOn === 'click'\">\n <ng-container *ngTemplateOutlet=\"triggerOnClickBlock\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"triggerOn === 'keydown'\">\n <ng-container *ngTemplateOutlet=\"triggerOnKeydownBlock\"></ng-container>\n </ng-container>\n </div>\n </mat-form-field>\n</ng-template>\n<ng-template #triggerOnClickBlock>\n <mat-icon class=\"pep-text-icon pep-pointer\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\"\n (click)=\"onClearClicked($event)\">\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n <span class=\"pep-text-icon pep-spacing-element pep-v-separator\"\n [ngClass]=\"{'hide-clear-icon' : state == 'close' || searchControl.value?.length === 0}\">|</span>\n <mat-icon class=\"pep-text-icon pep-pointer\" (click)=\"onSearchClicked()\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n</ng-template>\n\n<ng-template #triggerOnKeydownBlock>\n <ng-container *ngIf=\"searchControl.value?.length > 0; then clearBlock; else searchBlock\"></ng-container>\n <ng-template #clearBlock>\n <button class=\"pep-button regular {{ sizeType }}\" mat-button (click)=\"onClearClicked($event)\">\n <mat-icon>\n <pep-icon name=\"system_close\"></pep-icon>\n </mat-icon>\n </button>\n </ng-template>\n <ng-template #searchBlock>\n <mat-icon class=\"pep-text-icon\">\n <pep-icon name=\"system_search\"></pep-icon>\n </mat-icon>\n </ng-template>\n</ng-template>", styles: [":host{display:flex}.pep-search-container .pep-search-input .mat-form-field,.pep-search-container .pep-search-input .mat-mdc-form-field{display:inherit}.pep-search-container .pep-search-input .pep-v-separator{padding:var(--pep-spacing-xs, .25rem) 0;height:100%}.pep-search-container .pep-search-input .pep-text-icon.pep-pointer{cursor:pointer}.pep-search-container .pep-search-input .hide-clear-icon{visibility:hidden}.pep-search-container.pep-floating-search{display:inline-block}.pep-search-container.pep-floating-search.pep-is-action-button-visable{width:calc(100% - (var(--pep-spacing-sm, .5rem) * 2 + var(--pep-spacing-xl, 1.5rem)))}@media (max-width: 599px){.pep-search-container ::ng-deep .mat-button-wrapper,.pep-search-container ::ng-deep .mat-mdc-button-wrapper{max-width:3.125rem}}\n"] }]
294
294
  }, {
295
295
  type: Injectable
296
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.PepLayoutService }]; }, propDecorators: { triggerOn: [{
296
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PepLayoutService }], propDecorators: { triggerOn: [{
297
297
  type: Input
298
298
  }], autoCompleteTop: [{
299
299
  type: Input
@@ -319,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
319
319
  type: ViewChild,
320
320
  args: ['searchInput']
321
321
  }] } });
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNILE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUVILGlCQUFpQixHQUVwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUE0RHpELE1BQU0sT0FBTyxrQkFBa0I7SUFrRmY7SUFDQTtJQWxGSCxTQUFTLEdBQXlCLE9BQU8sQ0FBQztJQUMxQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUNqQyxJQUNJLGtCQUFrQixDQUFDLEdBQVU7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELHVDQUF1QztJQUUvQixPQUFPLEdBQXdCLGNBQWMsQ0FBQztJQUN0RCxJQUNJLE1BQU0sQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsR0FBVztRQUNqQixJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVPLGNBQWMsR0FBZ0IsSUFBSSxDQUFDO0lBQzNDLElBQ0ksYUFBYSxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDL0IsQ0FBQztJQUVPLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNuQyxJQUNJLGlCQUFpQixDQUFDLEtBQWM7UUFDaEMsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFDRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDTSxRQUFRLEdBQWdCLElBQUksQ0FBQztJQUd0QyxNQUFNLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO0lBRXRGLGtCQUFrQixHQUFvRCxJQUFJLFlBQVksRUFBcUMsQ0FBQztJQUU1SCxXQUFXLEdBQTZDLElBQUksWUFBWSxFQUE4QixDQUFDO0lBRTdFLFdBQVcsQ0FBYTtJQUVqQyxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNsRCxJQUFJLEdBQWtCLFNBQVMsQ0FBQztJQUNoQyxTQUFTLENBQXVCO0lBQ2hDLEtBQUssR0FBcUIsTUFBTSxDQUFDO0lBQ2pDLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsZUFBZSxHQUFHLElBQUksQ0FBQztJQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixVQUFVLENBQW9CO0lBRTlCLFlBQ1ksV0FBdUIsRUFDdkIsYUFBK0I7UUFEL0IsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssY0FBYyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7U0FDNUQ7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1NBQzFCO2FBQU0sRUFBRSxRQUFRO1lBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUVyQixnQ0FBZ0M7WUFDaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFFN0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7YUFDN0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVk7YUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BELFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLElBQ0ksUUFBUTtvQkFDUixRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQ25CLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUM3QjtvQkFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO3dCQUN6QixLQUFLLEVBQUUsUUFBUTt3QkFDZixHQUFHLEVBQUUsSUFBSSxDQUFDLGVBQWU7cUJBQzVCLENBQUMsQ0FBQztpQkFDTjthQUNKO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztpQkFDMUI7YUFDSjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLDRCQUE0QjtRQUNoQywyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTyw2QkFBNkI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1NBQzFDO0lBQ0wsQ0FBQztJQUVPLElBQUk7UUFDUixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVPLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUUzQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFUiwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2Qjs7O1lBR0k7SUFDUixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUN4QjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQzthQUN2QjtTQUNKO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNqQixvRUFBb0U7UUFDcEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxlQUFlLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUVELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVM7Z0JBQ1YsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3hELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO2dCQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMxQztTQUNKO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsbURBQW1EO0lBQ25ELGlCQUFpQjtRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFFdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO3dHQWhRUSxrQkFBa0I7NEZBQWxCLGtCQUFrQixxZkNyRi9CLDIyS0FzR2MsaW1IRC9ERTtZQUNSLE9BQU8sQ0FBQyxZQUFZLEVBQUU7Z0JBQ2xCLEtBQUssQ0FDRCxPQUFPLEVBQ1AsS0FBSyxDQUFDO29CQUNGLEtBQUssRUFBRSxHQUFHO29CQUNWLE9BQU8sRUFBRSxHQUFHO29CQUNaLE1BQU0sRUFBRSxNQUFNO2lCQUNqQixDQUFDLENBQ0w7Z0JBQ0QsS0FBSyxDQUNELE1BQU0sRUFDTixLQUFLLENBQUM7b0JBQ0YsS0FBSyxFQUFFLFNBQVM7aUJBQ25CLENBQUMsQ0FDTDtnQkFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN6RCxVQUFVLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQzVELENBQUM7WUFDRixPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNqQixLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztvQkFDRixPQUFPLEVBQUUsQ0FBQztvQkFDVixLQUFLLEVBQUUsS0FBSztpQkFDZixDQUFDLENBQ0w7Z0JBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7b0JBQ0YsT0FBTyxFQUFFLENBQUM7b0JBQ1YsS0FBSyxFQUFFLE1BQU07aUJBQ2hCLENBQUMsQ0FDTDtnQkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUNyRDtnQkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUNwRDthQUNKLENBQUM7U0FDTDs0R0FHUSxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBbEQ5QixTQUFTOytCQUNJLFlBQVksY0FHVjt3QkFDUixPQUFPLENBQUMsWUFBWSxFQUFFOzRCQUNsQixLQUFLLENBQ0QsT0FBTyxFQUNQLEtBQUssQ0FBQztnQ0FDRixLQUFLLEVBQUUsR0FBRztnQ0FDVixPQUFPLEVBQUUsR0FBRztnQ0FDWixNQUFNLEVBQUUsTUFBTTs2QkFDakIsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxNQUFNLEVBQ04sS0FBSyxDQUFDO2dDQUNGLEtBQUssRUFBRSxTQUFTOzZCQUNuQixDQUFDLENBQ0w7NEJBQ0QsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzs0QkFDekQsVUFBVSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt5QkFDNUQsQ0FBQzt3QkFDRixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNqQixLQUFLLENBQ0QsU0FBUyxFQUNULEtBQUssQ0FBQztnQ0FDRixPQUFPLEVBQUUsQ0FBQztnQ0FDVixLQUFLLEVBQUUsS0FBSzs2QkFDZixDQUFDLENBQ0w7NEJBQ0QsS0FBSyxDQUNELFFBQVEsRUFDUixLQUFLLENBQUM7Z0NBQ0YsT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLE1BQU07NkJBQ2hCLENBQUMsQ0FDTDs0QkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUNyRDs0QkFDRCxVQUFVLENBQ04sbUJBQW1CLEVBQ25CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUNwRDt5QkFDSixDQUFDO3FCQUNMOztrQkFFSixVQUFVO2dJQUVFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRixrQkFBa0I7c0JBRHJCLEtBQUs7Z0JBYUYsTUFBTTtzQkFEVCxLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFXRixhQUFhO3NCQURoQixLQUFLO2dCQVVGLGlCQUFpQjtzQkFEcEIsS0FBSztnQkFnQkcsUUFBUTtzQkFBaEIsS0FBSztnQkFHTixNQUFNO3NCQURMLE1BQU07Z0JBR1Asa0JBQWtCO3NCQURqQixNQUFNO2dCQUdQLFdBQVc7c0JBRFYsTUFBTTtnQkFHbUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIEluamVjdGFibGUsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICB0cmlnZ2VyLFxuICAgIHN0YXRlLFxuICAgIHN0eWxlLFxuICAgIHRyYW5zaXRpb24sXG4gICAgYW5pbWF0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgUGVwTGF5b3V0U2VydmljZSxcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcbiAgICBQZXBTaXplVHlwZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIElQZXBTZWFyY2hDbGlja0V2ZW50LFxuICAgIElQZXBTZWFyY2hBdXRvY29tcGxldGVDaGFuZ2VFdmVudCxcbiAgICBJUGVwU2VhcmNoU3RhdGVDaGFuZ2VFdmVudCxcbiAgICBQZXBTZWFyY2hUeXBlLFxuICAgIFBlcFNlYXJjaFRyaWdnZXJUeXBlLFxuICAgIFBlcFNlYXJjaFNocmlua1R5cGUsXG59IGZyb20gJy4vc2VhcmNoLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtc2VhcmNoJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zZWFyY2guY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ3NsaWRlSW5PdXQnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnY2xvc2UnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzAnLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdvcGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZSA9PiBvcGVuJywgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlJywgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZmFkZU91dCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzFweCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZmFkZUluJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdmYWRlT3V0ID0+IGZhZGVJbicsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgzMDAsIHN0eWxlKHsgb3BhY2l0eTogMSwgd2lkdGg6ICcxMDAlJyB9KSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdmYWRlSW4gPT4gZmFkZU91dCcsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgzNTAsIHN0eWxlKHsgb3BhY2l0eTogMCwgd2lkdGg6ICcxcHgnIH0pKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHRyaWdnZXJPbjogUGVwU2VhcmNoVHJpZ2dlclR5cGUgPSAnY2xpY2snO1xuICAgIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVRvcCA9IDIwO1xuICAgIHByaXZhdGUgX2F1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF1dG9Db21wbGV0ZVZhbHVlcyh2YWw6IGFueVtdKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICdhdXRvLWNvbXBsZXRlJztcbiAgICAgICAgdGhpcy5fYXV0b0NvbXBsZXRlVmFsdWVzID0gdmFsO1xuICAgIH1cbiAgICBnZXQgYXV0b0NvbXBsZXRlVmFsdWVzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZVZhbHVlcztcbiAgICB9XG5cbiAgICAvLyBASW5wdXQoKSBzaHJpbmtJblNtYWxsU2NyZWVuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX3NocmluazogUGVwU2VhcmNoU2hyaW5rVHlwZSA9ICdzbWFsbC1zY3JlZW4nO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNocmluayh2YWx1ZTogUGVwU2VhcmNoU2hyaW5rVHlwZSkge1xuICAgICAgICB0aGlzLl9zaHJpbmsgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRJc0Zsb2F0aW5nKClcbiAgICB9XG4gICAgZ2V0IHNocmluaygpOiBQZXBTZWFyY2hTaHJpbmtUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NocmluaztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlYXJjaENvbnRyb2xJZk5vdEV4aXN0KCk7XG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWFyY2hDb250cm9sOiBGb3JtQ29udHJvbCA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2VhcmNoQ29udHJvbChjdHJsOiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9sID0gY3RybDtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udHJvbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91c2VBc1dlYkNvbXBvbmVudCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHVzZUFzV2ViQ29tcG9uZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRGdW5jdGlvbnNPbkhvc3RFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHVzZUFzV2ViQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlQXNXZWJDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHNpemUgb2YgdGhlIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtQZXBTaXplVHlwZX1cbiAgICAgKiBAbWVtYmVyb2YgUGVwQnV0dG9uQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgc2l6ZVR5cGU6IFBlcFNpemVUeXBlID0gJ21kJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaDogRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaENsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgYXV0b2NvbXBsZXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaEF1dG9jb21wbGV0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaEF1dG9jb21wbGV0ZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoU3RhdGVDaGFuZ2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHR5cGU6IFBlcFNlYXJjaFR5cGUgPSAncmVndWxhcic7XG4gICAgZmFkZVN0YXRlOiAnZmFkZU91dCcgfCAnZmFkZUluJztcbiAgICBzdGF0ZTogJ29wZW4nIHwgJ2Nsb3NlJyA9ICdvcGVuJztcbiAgICBsYXN0VmFsdWUgPSBudWxsO1xuICAgIHNob3dGbG9hdFNyY0J0biA9IHRydWU7XG4gICAgaXNSdGwgPSBmYWxzZTtcbiAgICBpc0Zsb2F0aW5nID0gZmFsc2U7XG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJc0Zsb2F0aW5nKCkge1xuICAgICAgICBpZiAodGhpcy5zaHJpbmsgPT09ICdzbWFsbC1zY3JlZW4nKSB7XG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRpbmcgPSB0aGlzLnNjcmVlblNpemUgPiBQZXBTY3JlZW5TaXplVHlwZS5TTTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNocmluayA9PT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGbG9hdGluZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7IC8vIG5ldmVyXG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUoKS5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgICAgICB0aGlzLnNldElzRmxvYXRpbmcoKTtcblxuICAgICAgICAgICAgLy8gSnVzdCBmb3IgdGhlIHNtb290ZSBhbmltYXRpb25cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dGbG9hdFNyY0J0biA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRpbmdCdXR0b24oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPSAnZmFkZUluJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pc1J0bCA9IHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpO1xuICAgICAgICB0aGlzLmNyZWF0ZVNlYXJjaENvbnRyb2xJZk5vdEV4aXN0KCk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZS5sZW5ndGggPiAyICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZSAhPT0gdGhpcy5sYXN0VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB0aGlzLmF1dG9Db21wbGV0ZVRvcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyT24gPT09ICdrZXlkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0U2VhcmNoQ2xpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cG9ydEZ1bmN0aW9uc09uSG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgZm9yIHdlYiBjb21wb25lbnQgdXNhZ2UgZm9yIHVzZSB0aG9zZSBmdW5jdGlvbnMuXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5pbml0U2VhcmNoID0gdGhpcy5pbml0U2VhcmNoLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWFyY2hDb250cm9sSWZOb3RFeGlzdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaENvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBibHVyKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0Zsb2F0aW5nQnV0dG9uKCkge1xuICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlT3V0JztcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiAnY2xvc2UnIH0pO1xuICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRTcmNCdG4gPSB0cnVlO1xuICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIC8vIGNsb3NlIHRoZSBwaG9uZSBrZXlib2FyZFxuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICB9XG5cbiAgICBpbml0U2VhcmNoKCkge1xuICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgfVxuXG4gICAgb25DbGVhckNsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnYXV0by1jb21wbGV0ZScpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRTZWFyY2goKTtcbiAgICAgICAgdGhpcy5zZWFyY2guZW1pdCh7IHZhbHVlOiAnJyB9KTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIC8qXG4gICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0aW5nQnV0dG9uKCk7XG4gICAgICAgIH0gKi9cbiAgICB9XG5cbiAgICBvblNlYXJjaENsaWNrZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclNlYXJjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclNlYXJjaCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gJ29wZW4nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c291dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGbG9hdGluZyAmJiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRpbmdCdXR0b24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyBTdG9wIHRoZSBldmVudCBwcm9wYWdhdGlvbiAtIGNhdXNlIHdlIGRvbid0IHdhbnQgZmlyZSB0d28gZXZlbnRzLlxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgdHJpZ2dlclNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlYXJjaENsaWNrKCk7XG4gICAgfVxuXG4gICAgYW5pbWF0ZVNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPVxuICAgICAgICAgICAgICAgIHRoaXMuZmFkZVN0YXRlID09PSAnZmFkZU91dCcgPyAnZmFkZUluJyA6ICdmYWRlT3V0JztcbiAgICAgICAgICAgIGlmICh0aGlzLmZhZGVTdGF0ZSA9PT0gJ2ZhZGVJbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ29wZW4nIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0U3JjQnRuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlSW4nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG8gdGhlIGVtaXQganVzdCB3aGVuIGRvbmUgYmVjYXVzZSBvZiB0aGUgbGluZSBicmVhayB3aGVuIGNsb3NpbmcgdGhlIHNlYXJjaFxuICAgIC8vIGNvbXBvbmVudCBhbmQgc2hvd2VuIGFsbCBvdGhlciBjb21wb25lbnRzIGJlZm9yZVxuICAgIGFuaW1hdGVTZWFyY2hEb25lKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW4nKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ2Nsb3NlJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXRTZWFyY2hDbGljaygpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQoeyB2YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIu+7vzwhLS0gPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlOyBjb250ZXh0OiB7IGlzRm9ybVZpZXc6IGZhbHNlLCBoYXNQYXJlbnQ6IGZhbHNlIH1cIj5cbjwvbmctY29udGFpbmVyPiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaHJpbmsgIT09ICduZXZlcic7IHRoZW4gc2hyaW5rQmxvY2s7IGVsc2Ugc3RhdGljQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjc2hyaW5rQmxvY2s+XG4gICAgPGRpdiBwZXBSdGxDbGFzcyBjbGFzcz1cInBlcC1zZWFyY2gtY29udGFpbmVyIHt7IHNpemVUeXBlIH19XCIgW25nQ2xhc3NdPVwieyAncGVwLWZsb2F0aW5nLXNlYXJjaCc6IGlzRmxvYXRpbmd9XCJcbiAgICAgICAgW0BmYWRlSW5PdXRdPVwiZmFkZVN0YXRlXCI+XG4gICAgICAgIDwhLS0gQWRkZWQgbmdpZiBmb3IgaGlkZSB0aGUgaWNvbnMgaW4gdGhlIGlucHV0IHdoaWxlIHRoZSBpbnB1dCBpcyBoaWRkZW4gY2F1c2UgdGhlIGljb25zIG92ZXJyaWRlIHRoZSBuZXh0IGJ1dHRvbiBmcm9tIHByZXNzIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRmxvYXRpbmcgfHwgKGlzRmxvYXRpbmcgJiYgIXNob3dGbG9hdFNyY0J0bilcIiBjbGFzcz1cInBlcC1zZWFyY2gtaW5wdXRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnYXV0by1jb21wbGV0ZSdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXV0b0NvbXBsZXRlQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdyZWd1bGFyJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWd1bGFyQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNGbG9hdGluZyAmJiBmYWRlU3RhdGUgIT0nZmFkZUluJyAmJiBzaG93RmxvYXRTcmNCdG5cIlxuICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24ge3sgc2l6ZVR5cGUgfX0gd2Vha1wiIG1hdC1idXR0b24gKGNsaWNrKT1cImFuaW1hdGVTZWFyY2goKVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9zZWFyY2hcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RhdGljQmxvY2s+XG4gICAgPGRpdiBwZXBSdGxDbGFzcyBjbGFzcz1cInBlcC1zZWFyY2gtY29udGFpbmVyIHt7IHNpemVUeXBlIH19XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXAtc2VhcmNoLWlucHV0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImF1dG9Db21wbGV0ZUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAncmVndWxhcidcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVndWxhckJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2F1dG9Db21wbGV0ZUJsb2NrPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8IS0tIChAc2xpZGVJbk91dC5kb25lKT1cImFuaW1hdGVTZWFyY2hEb25lKClcIiBbQHNsaWRlSW5PdXRdPVwic3RhdGVcIiAtLT5cbiAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBjbGFzcz1cImJvZHktc20gcGVwLXNlYXJjaC1pbnB1dFwiIG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHRleHRBbGlnbjogaXNSdGwgPyAncmlnaHQnIDogJ2xlZnQnIH1cIiB0eXBlPVwidGV4dFwiIChrZXl1cC5lbnRlcik9XCJvblNlYXJjaCgkZXZlbnQpXCIgcmVzdWx0cz1cIjVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guSElOVCcgfCB0cmFuc2xhdGUgfX0uLi5cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIGNsYXNzPVwicGVwLXNlbGVjdFwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHZhbHVlIG9mIGF1dG9Db21wbGV0ZVZhbHVlc1wiIFt2YWx1ZV09XCJ2YWx1ZVwiIChjbGljayk9XCJ0cmlnZ2VyU2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICB7e3ZhbHVlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiYXV0b0NvbXBsZXRlVmFsdWVzPy5sZW5ndGggPiBhdXRvQ29tcGxldGVUb3AgLSAxXCIgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidHJpZ2dlclNlYXJjaCgpXCI+e3sgJ1NFQVJDSC5NT1JFX1JFU1VMVFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwiZmxleCBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyT24gPT09ICdjbGljaydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlck9uQ2xpY2tCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJpZ2dlck9uID09PSAna2V5ZG93bidcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlck9uS2V5ZG93bkJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVndWxhckJsb2NrPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8aW5wdXQgI3NlYXJjaElucHV0IGNsYXNzPVwiYm9keS1zbSBwZXAtc2VhcmNoLWlucHV0XCIgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgdGV4dEFsaWduOiBpc1J0bCA/ICdyaWdodCcgOiAnbGVmdCcgfVwiIHR5cGU9XCJ0ZXh0XCIgKGtleXVwLmVudGVyKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guSElOVCcgfCB0cmFuc2xhdGUgfX0uLi5cIiAoZm9jdXNvdXQpPVwib25Gb2N1c291dCgpXCIgLz5cbiAgICAgICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJmbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJPbiA9PT0gJ2NsaWNrJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyT25DbGlja0Jsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyT24gPT09ICdrZXlkb3duJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyT25LZXlkb3duQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlck9uQ2xpY2tCbG9jaz5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1wb2ludGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWNsZWFyLWljb24nIDogc3RhdGUgPT0gJ2Nsb3NlJyB8fCBzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fY2xvc2VcIj48L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1zcGFjaW5nLWVsZW1lbnQgcGVwLXYtc2VwYXJhdG9yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWNsZWFyLWljb24nIDogc3RhdGUgPT0gJ2Nsb3NlJyB8fCBzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDB9XCI+fDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ2xpY2tlZCgpXCI+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX3NlYXJjaFwiPjwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlck9uS2V5ZG93bkJsb2NrPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPiAwOyB0aGVuIGNsZWFyQmxvY2s7IGVsc2Ugc2VhcmNoQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2NsZWFyQmxvY2s+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIHJlZ3VsYXIge3sgc2l6ZVR5cGUgfX1cIiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNsZWFyQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fY2xvc2VcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3NlYXJjaEJsb2NrPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9zZWFyY2hcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPiJdfQ==
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxVQUFVLEVBQ1YsS0FBSyxFQUVMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNILE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUVILGlCQUFpQixHQUVwQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUEwRHpELE1BQU0sT0FBTyxrQkFBa0I7SUFrRmY7SUFDQTtJQWxGSCxTQUFTLEdBQXlCLE9BQU8sQ0FBQztJQUMxQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztJQUNqQyxJQUNJLGtCQUFrQixDQUFDLEdBQVU7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDNUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELHVDQUF1QztJQUUvQixPQUFPLEdBQXdCLGNB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QVcsRUFBRTs0QkFDakIsS0FBSyxDQUNELFNBQVMsRUFDVCxLQUFLLENBQUM7Z0NBQ0YsT0FBTyxFQUFFLENBQUM7Z0NBQ1YsS0FBSyxFQUFFLEtBQUs7NkJBQ2YsQ0FBQyxDQUNMOzRCQUNELEtBQUssQ0FDRCxRQUFRLEVBQ1IsS0FBSyxDQUFDO2dDQUNGLE9BQU8sRUFBRSxDQUFDO2dDQUNWLEtBQUssRUFBRSxNQUFNOzZCQUNoQixDQUFDLENBQ0w7NEJBQ0QsVUFBVSxDQUNOLG1CQUFtQixFQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FDckQ7NEJBQ0QsVUFBVSxDQUNOLG1CQUFtQixFQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FDcEQ7eUJBQ0osQ0FBQztxQkFDTDs7a0JBRUosVUFBVTs4R0FFRSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0Ysa0JBQWtCO3NCQURyQixLQUFLO2dCQWFGLE1BQU07c0JBRFQsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBV0YsYUFBYTtzQkFEaEIsS0FBSztnQkFVRixpQkFBaUI7c0JBRHBCLEtBQUs7Z0JBZ0JHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsTUFBTTtnQkFHUCxXQUFXO3NCQURWLE1BQU07Z0JBR21CLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbmplY3RhYmxlLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcExheW91dFNlcnZpY2UsXG4gICAgUGVwU2NyZWVuU2l6ZVR5cGUsXG4gICAgUGVwU2l6ZVR5cGUsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBJUGVwU2VhcmNoQ2xpY2tFdmVudCxcbiAgICBJUGVwU2VhcmNoQXV0b2NvbXBsZXRlQ2hhbmdlRXZlbnQsXG4gICAgSVBlcFNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQsXG4gICAgUGVwU2VhcmNoVHlwZSxcbiAgICBQZXBTZWFyY2hUcmlnZ2VyVHlwZSxcbiAgICBQZXBTZWFyY2hTaHJpbmtUeXBlLFxufSBmcm9tICcuL3NlYXJjaC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe3NlbGVjdG9yOiAncGVwLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2Nsb3NlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcwJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnbm9uZSd9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICdvcGVuJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdjbG9zZSA9PiBvcGVuJywgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdvcGVuID0+IGNsb3NlJywgYW5pbWF0ZSgnNTAwbXMgZWFzZS1pbi1vdXQnKSksXG4gICAgICAgIF0pLFxuICAgICAgICB0cmlnZ2VyKCdmYWRlSW5PdXQnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZmFkZU91dCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzFweCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnZmFkZUluJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdmYWRlT3V0ID0+IGZhZGVJbicsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgzMDAsIHN0eWxlKHsgb3BhY2l0eTogMSwgd2lkdGg6ICcxMDAlJyB9KSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKFxuICAgICAgICAgICAgICAgICdmYWRlSW4gPT4gZmFkZU91dCcsXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgzNTAsIHN0eWxlKHsgb3BhY2l0eTogMCwgd2lkdGg6ICcxcHgnIH0pKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVwU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHRyaWdnZXJPbjogUGVwU2VhcmNoVHJpZ2dlclR5cGUgPSAnY2xpY2snO1xuICAgIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVRvcCA9IDIwO1xuICAgIHByaXZhdGUgX2F1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGF1dG9Db21wbGV0ZVZhbHVlcyh2YWw6IGFueVtdKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICdhdXRvLWNvbXBsZXRlJztcbiAgICAgICAgdGhpcy5fYXV0b0NvbXBsZXRlVmFsdWVzID0gdmFsO1xuICAgIH1cbiAgICBnZXQgYXV0b0NvbXBsZXRlVmFsdWVzKCk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9Db21wbGV0ZVZhbHVlcztcbiAgICB9XG5cbiAgICAvLyBASW5wdXQoKSBzaHJpbmtJblNtYWxsU2NyZWVuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX3NocmluazogUGVwU2VhcmNoU2hyaW5rVHlwZSA9ICdzbWFsbC1zY3JlZW4nO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNocmluayh2YWx1ZTogUGVwU2VhcmNoU2hyaW5rVHlwZSkge1xuICAgICAgICB0aGlzLl9zaHJpbmsgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRJc0Zsb2F0aW5nKClcbiAgICB9XG4gICAgZ2V0IHNocmluaygpOiBQZXBTZWFyY2hTaHJpbmtUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NocmluaztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB2YWx1ZSh2YWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlYXJjaENvbnRyb2xJZk5vdEV4aXN0KCk7XG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSh2YWwpO1xuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoQ29udHJvbC52YWx1ZSB8fCAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWFyY2hDb250cm9sOiBGb3JtQ29udHJvbCA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgc2VhcmNoQ29udHJvbChjdHJsOiBGb3JtQ29udHJvbCkge1xuICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9sID0gY3RybDtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaENvbnRyb2woKTogRm9ybUNvbnRyb2wge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoQ29udHJvbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91c2VBc1dlYkNvbXBvbmVudCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHVzZUFzV2ViQ29tcG9uZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5leHBvcnRGdW5jdGlvbnNPbkhvc3RFbGVtZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHVzZUFzV2ViQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdXNlQXNXZWJDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHNpemUgb2YgdGhlIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtQZXBTaXplVHlwZX1cbiAgICAgKiBAbWVtYmVyb2YgUGVwQnV0dG9uQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgc2l6ZVR5cGU6IFBlcFNpemVUeXBlID0gJ21kJztcblxuICAgIEBPdXRwdXQoKVxuICAgIHNlYXJjaDogRXZlbnRFbWl0dGVyPElQZXBTZWFyY2hDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaENsaWNrRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgYXV0b2NvbXBsZXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaEF1dG9jb21wbGV0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaEF1dG9jb21wbGV0ZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcFNlYXJjaFN0YXRlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwU2VhcmNoU3RhdGVDaGFuZ2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NlYXJjaElucHV0Jykgc2VhcmNoSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHR5cGU6IFBlcFNlYXJjaFR5cGUgPSAncmVndWxhcic7XG4gICAgZmFkZVN0YXRlOiAnZmFkZU91dCcgfCAnZmFkZUluJztcbiAgICBzdGF0ZTogJ29wZW4nIHwgJ2Nsb3NlJyA9ICdvcGVuJztcbiAgICBsYXN0VmFsdWUgPSBudWxsO1xuICAgIHNob3dGbG9hdFNyY0J0biA9IHRydWU7XG4gICAgaXNSdGwgPSBmYWxzZTtcbiAgICBpc0Zsb2F0aW5nID0gZmFsc2U7XG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJc0Zsb2F0aW5nKCkge1xuICAgICAgICBpZiAodGhpcy5zaHJpbmsgPT09ICdzbWFsbC1zY3JlZW4nKSB7XG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRpbmcgPSB0aGlzLnNjcmVlblNpemUgPiBQZXBTY3JlZW5TaXplVHlwZS5TTTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNocmluayA9PT0gJ2Fsd2F5cycpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGbG9hdGluZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7IC8vIG5ldmVyXG4gICAgICAgICAgICB0aGlzLmlzRmxvYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUoKS5zdWJzY3JpYmUoKHNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgICAgICB0aGlzLnNldElzRmxvYXRpbmcoKTtcblxuICAgICAgICAgICAgLy8gSnVzdCBmb3IgdGhlIHNtb290ZSBhbmltYXRpb25cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dGbG9hdFNyY0J0biA9IGZhbHNlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRpbmdCdXR0b24oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPSAnZmFkZUluJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5pc1J0bCA9IHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpO1xuICAgICAgICB0aGlzLmNyZWF0ZVNlYXJjaENvbnRyb2xJZk5vdEV4aXN0KCk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hDb250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1ZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZS5sZW5ndGggPiAyICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWYWx1ZSAhPT0gdGhpcy5sYXN0VmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNoYW5nZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiB0aGlzLmF1dG9Db21wbGV0ZVRvcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdyZWd1bGFyJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50cmlnZ2VyT24gPT09ICdrZXlkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0U2VhcmNoQ2xpY2soKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cG9ydEZ1bmN0aW9uc09uSG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgZm9yIHdlYiBjb21wb25lbnQgdXNhZ2UgZm9yIHVzZSB0aG9zZSBmdW5jdGlvbnMuXG4gICAgICAgIHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5pbml0U2VhcmNoID0gdGhpcy5pbml0U2VhcmNoLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWFyY2hDb250cm9sSWZOb3RFeGlzdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaENvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBibHVyKCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0Zsb2F0aW5nQnV0dG9uKCkge1xuICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlT3V0JztcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh7IHN0YXRlOiAnY2xvc2UnIH0pO1xuICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRTcmNCdG4gPSB0cnVlO1xuICAgICAgICB9LCA1MDApO1xuXG4gICAgICAgIC8vIGNsb3NlIHRoZSBwaG9uZSBrZXlib2FyZFxuICAgICAgICB0aGlzLmJsdXIoKTtcbiAgICB9XG5cbiAgICBpbml0U2VhcmNoKCkge1xuICAgICAgICB0aGlzLmxhc3RWYWx1ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VhcmNoQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgfVxuXG4gICAgb25DbGVhckNsaWNrZWQoZXZlbnQ6IGFueSkge1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnYXV0by1jb21wbGV0ZScpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVzID0gW107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluaXRTZWFyY2goKTtcbiAgICAgICAgdGhpcy5zZWFyY2guZW1pdCh7IHZhbHVlOiAnJyB9KTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIC8qXG4gICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0aW5nQnV0dG9uKCk7XG4gICAgICAgIH0gKi9cbiAgICB9XG5cbiAgICBvblNlYXJjaENsaWNrZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRmxvYXRpbmcpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclNlYXJjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlclNlYXJjaCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlID0gJ29wZW4nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Gb2N1c291dCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGbG9hdGluZyAmJiB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zaG93RmxvYXRpbmdCdXR0b24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VhcmNoKGV2ZW50OiBFdmVudCkge1xuICAgICAgICAvLyBTdG9wIHRoZSBldmVudCBwcm9wYWdhdGlvbiAtIGNhdXNlIHdlIGRvbid0IHdhbnQgZmlyZSB0d28gZXZlbnRzLlxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy50cmlnZ2VyU2VhcmNoKCk7XG4gICAgfVxuXG4gICAgdHJpZ2dlclNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZVZhbHVlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ibHVyKCk7XG4gICAgICAgIHRoaXMuZW1pdFNlYXJjaENsaWNrKCk7XG4gICAgfVxuXG4gICAgYW5pbWF0ZVNlYXJjaCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuJykge1xuICAgICAgICAgICAgdGhpcy5mYWRlU3RhdGUgPVxuICAgICAgICAgICAgICAgIHRoaXMuZmFkZVN0YXRlID09PSAnZmFkZU91dCcgPyAnZmFkZUluJyA6ICdmYWRlT3V0JztcbiAgICAgICAgICAgIGlmICh0aGlzLmZhZGVTdGF0ZSA9PT0gJ2ZhZGVJbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ29wZW4nIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zsb2F0U3JjQnRuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZhZGVTdGF0ZSA9ICdmYWRlSW4nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZG8gdGhlIGVtaXQganVzdCB3aGVuIGRvbmUgYmVjYXVzZSBvZiB0aGUgbGluZSBicmVhayB3aGVuIGNsb3NpbmcgdGhlIHNlYXJjaFxuICAgIC8vIGNvbXBvbmVudCBhbmQgc2hvd2VuIGFsbCBvdGhlciBjb21wb25lbnRzIGJlZm9yZVxuICAgIGFuaW1hdGVTZWFyY2hEb25lKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW4nKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQoeyBzdGF0ZTogJ2Nsb3NlJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVtaXRTZWFyY2hDbGljaygpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnNlYXJjaENvbnRyb2wudmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoLmVtaXQoeyB2YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIu+7vzwhLS0gPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBlcFRlbXBsYXRlOyBjb250ZXh0OiB7IGlzRm9ybVZpZXc6IGZhbHNlLCBoYXNQYXJlbnQ6IGZhbHNlIH1cIj5cbjwvbmctY29udGFpbmVyPiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzaHJpbmsgIT09ICduZXZlcic7IHRoZW4gc2hyaW5rQmxvY2s7IGVsc2Ugc3RhdGljQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjc2hyaW5rQmxvY2s+XG4gICAgPGRpdiBwZXBSdGxDbGFzcyBjbGFzcz1cInBlcC1zZWFyY2gtY29udGFpbmVyIHt7IHNpemVUeXBlIH19XCIgW25nQ2xhc3NdPVwieyAncGVwLWZsb2F0aW5nLXNlYXJjaCc6IGlzRmxvYXRpbmd9XCJcbiAgICAgICAgW0BmYWRlSW5PdXRdPVwiZmFkZVN0YXRlXCI+XG4gICAgICAgIDwhLS0gQWRkZWQgbmdpZiBmb3IgaGlkZSB0aGUgaWNvbnMgaW4gdGhlIGlucHV0IHdoaWxlIHRoZSBpbnB1dCBpcyBoaWRkZW4gY2F1c2UgdGhlIGljb25zIG92ZXJyaWRlIHRoZSBuZXh0IGJ1dHRvbiBmcm9tIHByZXNzIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzRmxvYXRpbmcgfHwgKGlzRmxvYXRpbmcgJiYgIXNob3dGbG9hdFNyY0J0bilcIiBjbGFzcz1cInBlcC1zZWFyY2gtaW5wdXRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAnYXV0by1jb21wbGV0ZSdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXV0b0NvbXBsZXRlQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdyZWd1bGFyJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWd1bGFyQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uICpuZ0lmPVwiaXNGbG9hdGluZyAmJiBmYWRlU3RhdGUgIT0nZmFkZUluJyAmJiBzaG93RmxvYXRTcmNCdG5cIlxuICAgICAgICBjbGFzcz1cInBlcC1idXR0b24gaWNvbi1idXR0b24ge3sgc2l6ZVR5cGUgfX0gd2Vha1wiIG1hdC1idXR0b24gKGNsaWNrKT1cImFuaW1hdGVTZWFyY2goKVwiPlxuICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9zZWFyY2hcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjc3RhdGljQmxvY2s+XG4gICAgPGRpdiBwZXBSdGxDbGFzcyBjbGFzcz1cInBlcC1zZWFyY2gtY29udGFpbmVyIHt7IHNpemVUeXBlIH19XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwZXAtc2VhcmNoLWlucHV0XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2F1dG8tY29tcGxldGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImF1dG9Db21wbGV0ZUJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAncmVndWxhcidcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVndWxhckJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2F1dG9Db21wbGV0ZUJsb2NrPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8IS0tIChAc2xpZGVJbk91dC5kb25lKT1cImFuaW1hdGVTZWFyY2hEb25lKClcIiBbQHNsaWRlSW5PdXRdPVwic3RhdGVcIiAtLT5cbiAgICAgICAgPGlucHV0ICNzZWFyY2hJbnB1dCBjbGFzcz1cImJvZHktc20gcGVwLXNlYXJjaC1pbnB1dFwiIG1hdElucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHRleHRBbGlnbjogaXNSdGwgPyAncmlnaHQnIDogJ2xlZnQnIH1cIiB0eXBlPVwidGV4dFwiIChrZXl1cC5lbnRlcik9XCJvblNlYXJjaCgkZXZlbnQpXCIgcmVzdWx0cz1cIjVcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guSElOVCcgfCB0cmFuc2xhdGUgfX0uLi5cIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIiAvPlxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIGNsYXNzPVwicGVwLXNlbGVjdFwiPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHZhbHVlIG9mIGF1dG9Db21wbGV0ZVZhbHVlc1wiIFt2YWx1ZV09XCJ2YWx1ZVwiIChjbGljayk9XCJ0cmlnZ2VyU2VhcmNoKClcIj5cbiAgICAgICAgICAgICAgICB7e3ZhbHVlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiYXV0b0NvbXBsZXRlVmFsdWVzPy5sZW5ndGggPiBhdXRvQ29tcGxldGVUb3AgLSAxXCIgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidHJpZ2dlclNlYXJjaCgpXCI+e3sgJ1NFQVJDSC5NT1JFX1JFU1VMVFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDxkaXYgbWF0U3VmZml4IGNsYXNzPVwiZmxleCBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyT24gPT09ICdjbGljaydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlck9uQ2xpY2tCbG9ja1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJpZ2dlck9uID09PSAna2V5ZG93bidcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJpZ2dlck9uS2V5ZG93bkJsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVndWxhckJsb2NrPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8aW5wdXQgI3NlYXJjaElucHV0IGNsYXNzPVwiYm9keS1zbSBwZXAtc2VhcmNoLWlucHV0XCIgbWF0SW5wdXQgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgdGV4dEFsaWduOiBpc1J0bCA/ICdyaWdodCcgOiAnbGVmdCcgfVwiIHR5cGU9XCJ0ZXh0XCIgKGtleXVwLmVudGVyKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaENvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7ICdTRUFSQ0guSElOVCcgfCB0cmFuc2xhdGUgfX0uLi5cIiAoZm9jdXNvdXQpPVwib25Gb2N1c291dCgpXCIgLz5cbiAgICAgICAgPGRpdiBtYXRTdWZmaXggY2xhc3M9XCJmbGV4IGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyaWdnZXJPbiA9PT0gJ2NsaWNrJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyT25DbGlja0Jsb2NrXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmlnZ2VyT24gPT09ICdrZXlkb3duJ1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyT25LZXlkb3duQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlck9uQ2xpY2tCbG9jaz5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1wb2ludGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWNsZWFyLWljb24nIDogc3RhdGUgPT0gJ2Nsb3NlJyB8fCBzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDB9XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJDbGlja2VkKCRldmVudClcIj5cbiAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fY2xvc2VcIj48L3BlcC1pY29uPlxuICAgIDwvbWF0LWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1zcGFjaW5nLWVsZW1lbnQgcGVwLXYtc2VwYXJhdG9yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieydoaWRlLWNsZWFyLWljb24nIDogc3RhdGUgPT0gJ2Nsb3NlJyB8fCBzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPT09IDB9XCI+fDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uIHBlcC1wb2ludGVyXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ2xpY2tlZCgpXCI+XG4gICAgICAgIDxwZXAtaWNvbiBuYW1lPVwic3lzdGVtX3NlYXJjaFwiPjwvcGVwLWljb24+XG4gICAgPC9tYXQtaWNvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlck9uS2V5ZG93bkJsb2NrPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWFyY2hDb250cm9sLnZhbHVlPy5sZW5ndGggPiAwOyB0aGVuIGNsZWFyQmxvY2s7IGVsc2Ugc2VhcmNoQmxvY2tcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2NsZWFyQmxvY2s+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJwZXAtYnV0dG9uIHJlZ3VsYXIge3sgc2l6ZVR5cGUgfX1cIiBtYXQtYnV0dG9uIChjbGljayk9XCJvbkNsZWFyQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHBlcC1pY29uIG5hbWU9XCJzeXN0ZW1fY2xvc2VcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI3NlYXJjaEJsb2NrPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJwZXAtdGV4dC1pY29uXCI+XG4gICAgICAgICAgICA8cGVwLWljb24gbmFtZT1cInN5c3RlbV9zZWFyY2hcIj48L3BlcC1pY29uPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -21,8 +21,8 @@ export class PepSearchModule {
21
21
  pepIconSystemSearch,
22
22
  ]);
23
23
  }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
25
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepSearchModule, declarations: [PepSearchComponent], imports: [CommonModule,
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
25
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PepSearchModule, declarations: [PepSearchComponent], imports: [CommonModule,
26
26
  ReactiveFormsModule,
27
27
  // Material modules,
28
28
  MatCommonModule,
@@ -34,7 +34,7 @@ export class PepSearchModule {
34
34
  PepNgxLibModule,
35
35
  PepIconModule,
36
36
  MatInputModule], exports: [PepSearchComponent] });
37
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchModule, imports: [CommonModule,
37
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchModule, imports: [CommonModule,
38
38
  ReactiveFormsModule,
39
39
  // Material modules,
40
40
  MatCommonModule,
@@ -47,7 +47,7 @@ export class PepSearchModule {
47
47
  PepIconModule,
48
48
  MatInputModule] });
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepSearchModule, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepSearchModule, decorators: [{
51
51
  type: NgModule,
52
52
  args: [{
53
53
  imports: [
@@ -67,5 +67,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
67
67
  exports: [PepSearchComponent],
68
68
  declarations: [PepSearchComponent],
69
69
  }]
70
- }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
70
+ }], ctorParameters: () => [{ type: i1.PepIconRegistry }] });
71
71
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2VhcmNoL3NlYXJjaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0gsYUFBYSxFQUViLGtCQUFrQixFQUNsQixtQkFBbUIsR0FDdEIsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBb0J4RCxNQUFNLE9BQU8sZUFBZTtJQUNKO0lBQXBCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUMvQixrQkFBa0I7WUFDbEIsbUJBQW1CO1NBQ3RCLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBTlEsZUFBZTt5R0FBZixlQUFlLGlCQUZULGtCQUFrQixhQWQ3QixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWMsYUFFUixrQkFBa0I7eUdBR25CLGVBQWUsWUFoQnBCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2Isa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYzs7NEZBS1QsZUFBZTtrQkFsQjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHtcbiAgICBQZXBJY29uTW9kdWxlLFxuICAgIFBlcEljb25SZWdpc3RyeSxcbiAgICBwZXBJY29uU3lzdGVtQ2xvc2UsXG4gICAgcGVwSWNvblN5c3RlbVNlYXJjaCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5cbmltcG9ydCB7IFBlcFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIC8vIE1hdGVyaWFsIG1vZHVsZXMsXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbUGVwU2VhcmNoQ29tcG9uZW50XSxcbiAgICBkZWNsYXJhdGlvbnM6IFtQZXBTZWFyY2hDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBTZWFyY2hNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcbiAgICAgICAgdGhpcy5wZXBJY29uUmVnaXN0cnkucmVnaXN0ZXJJY29ucyhbXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtQ2xvc2UsXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtU2VhcmNoLFxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=