@pepperi-addons/ngx-lib 0.2.60 → 0.2.61-query-builder.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 (521) hide show
  1. package/README.md +39 -39
  2. package/address/address.component.theme.scss +5 -8
  3. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  4. package/attachment/attachment.component.d.ts +1 -0
  5. package/attachment/attachment.component.theme.scss +1 -3
  6. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  7. package/bread-crumbs/bread-crumbs.component.theme.scss +9 -9
  8. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js +2 -2
  10. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +7 -2
  12. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +2 -2
  14. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js +2 -2
  16. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  17. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +1 -1
  18. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +5 -2
  19. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js +9 -4
  21. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  22. package/bundles/pepperi-addons-ngx-lib-date.umd.js +6 -4
  23. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  24. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +3 -3
  25. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  26. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +2 -2
  27. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  28. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +2 -2
  29. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  30. package/bundles/pepperi-addons-ngx-lib-form.umd.js +27 -24
  31. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  32. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +2 -2
  33. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
  35. package/bundles/pepperi-addons-ngx-lib-image.umd.js +7 -2
  36. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  37. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +7 -2
  38. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  39. package/bundles/pepperi-addons-ngx-lib-list.umd.js +9 -9
  40. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  41. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +2 -2
  42. package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +1 -1
  43. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
  45. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +7 -2
  46. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  47. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +1101 -0
  48. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -0
  49. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +7 -2
  50. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  51. package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
  52. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
  53. package/bundles/pepperi-addons-ngx-lib-select.umd.js +7 -2
  54. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  55. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +10 -2
  56. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  57. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +2 -2
  58. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  59. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +7 -2
  60. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
  62. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
  63. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +2 -2
  64. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  65. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +308 -41
  66. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  67. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +7 -2
  68. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  69. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
  70. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
  71. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +6 -4
  72. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  73. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +2 -2
  74. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  75. package/bundles/pepperi-addons-ngx-lib.umd.js +38 -36
  76. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  77. package/button/button.component.theme.scss +0 -2
  78. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  79. package/checkbox/checkbox.component.theme.scss +0 -2
  80. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  81. package/color/color-picker.component.theme.scss +169 -175
  82. package/color/color.component.d.ts +1 -0
  83. package/color/color.component.theme.scss +0 -7
  84. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  85. package/core/common/services/addon.service.d.ts +1 -2
  86. package/core/common/services/file.service.d.ts +4 -4
  87. package/core/customization/customization.service.d.ts +1 -0
  88. package/date/date.component.theme.scss +0 -169
  89. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  90. package/dialog/dialog.component.theme.scss +5 -5
  91. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  92. package/esm2015/address/address.component.js +3 -3
  93. package/esm2015/address/address.module.js +1 -1
  94. package/esm2015/address/public-api.js +1 -1
  95. package/esm2015/attachment/attachment.component.js +8 -3
  96. package/esm2015/attachment/attachment.module.js +1 -1
  97. package/esm2015/attachment/public-api.js +1 -1
  98. package/esm2015/bread-crumbs/bread-crumbs.component.js +3 -3
  99. package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
  100. package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
  101. package/esm2015/bread-crumbs/public-api.js +1 -1
  102. package/esm2015/button/button.component.js +3 -3
  103. package/esm2015/button/button.model.js +1 -1
  104. package/esm2015/button/button.module.js +1 -1
  105. package/esm2015/button/public-api.js +1 -1
  106. package/esm2015/carousel/carousel-item.directive.js +1 -1
  107. package/esm2015/carousel/carousel.component.js +15 -15
  108. package/esm2015/carousel/carousel.module.js +1 -1
  109. package/esm2015/carousel/public-api.js +1 -1
  110. package/esm2015/checkbox/checkbox.component.js +6 -3
  111. package/esm2015/checkbox/checkbox.module.js +1 -1
  112. package/esm2015/checkbox/public-api.js +1 -1
  113. package/esm2015/color/color-picker.component.js +29 -29
  114. package/esm2015/color/color.component.js +8 -3
  115. package/esm2015/color/color.model.js +1 -1
  116. package/esm2015/color/color.module.js +1 -1
  117. package/esm2015/color/public-api.js +1 -1
  118. package/esm2015/core/clipboard/clipboard.directive.js +1 -1
  119. package/esm2015/core/clipboard/clipboard.service.js +1 -1
  120. package/esm2015/core/clipboard/index.js +1 -1
  121. package/esm2015/core/clipboard/public-api.js +1 -1
  122. package/esm2015/core/common/directives/auto-width.directive.js +1 -1
  123. package/esm2015/core/common/directives/button-blur.directive.js +1 -1
  124. package/esm2015/core/common/directives/button-loader.directive.js +1 -1
  125. package/esm2015/core/common/directives/data-qa.directive.js +1 -1
  126. package/esm2015/core/common/directives/index.js +1 -1
  127. package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
  128. package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
  129. package/esm2015/core/common/directives/public-api.js +1 -1
  130. package/esm2015/core/common/index.js +1 -1
  131. package/esm2015/core/common/model/index.js +1 -1
  132. package/esm2015/core/common/model/papi.model.js +1 -1
  133. package/esm2015/core/common/model/public-api.js +1 -1
  134. package/esm2015/core/common/model/utilities.model.js +1 -1
  135. package/esm2015/core/common/model/wapi.model.js +1 -1
  136. package/esm2015/core/common/pipes/common-pipes.js +1 -1
  137. package/esm2015/core/common/pipes/index.js +1 -1
  138. package/esm2015/core/common/pipes/public-api.js +1 -1
  139. package/esm2015/core/common/public-api.js +1 -1
  140. package/esm2015/core/common/services/addon.service.js +4 -19
  141. package/esm2015/core/common/services/color.service.js +1 -1
  142. package/esm2015/core/common/services/cookie.service.js +1 -1
  143. package/esm2015/core/common/services/data-convertor.service.js +1 -1
  144. package/esm2015/core/common/services/file.service.js +9 -9
  145. package/esm2015/core/common/services/index.js +1 -1
  146. package/esm2015/core/common/services/jwt-helper.service.js +1 -1
  147. package/esm2015/core/common/services/public-api.js +1 -1
  148. package/esm2015/core/common/services/session.service.js +1 -1
  149. package/esm2015/core/common/services/utilities.service.js +25 -4
  150. package/esm2015/core/common/services/validator.service.js +1 -1
  151. package/esm2015/core/common/services/window-scrolling.service.js +5 -5
  152. package/esm2015/core/customization/customization.model.js +1 -1
  153. package/esm2015/core/customization/customization.service.js +4 -2
  154. package/esm2015/core/customization/index.js +1 -1
  155. package/esm2015/core/customization/public-api.js +1 -1
  156. package/esm2015/core/http/index.js +1 -1
  157. package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
  158. package/esm2015/core/http/interceptors/index.js +1 -1
  159. package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
  160. package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
  161. package/esm2015/core/http/public-api.js +1 -1
  162. package/esm2015/core/http/services/http.service.js +1 -1
  163. package/esm2015/core/http/services/loader.service.js +1 -1
  164. package/esm2015/core/index.js +1 -1
  165. package/esm2015/core/layout/index.js +1 -1
  166. package/esm2015/core/layout/layout.service.js +1 -1
  167. package/esm2015/core/layout/public-api.js +1 -1
  168. package/esm2015/core/layout/rtl.directive.js +1 -1
  169. package/esm2015/core/portal/attach.directive.js +1 -1
  170. package/esm2015/core/portal/index.js +1 -1
  171. package/esm2015/core/portal/portal.service.js +1 -1
  172. package/esm2015/core/portal/public-api.js +1 -1
  173. package/esm2015/core/portal/target.directive.js +1 -1
  174. package/esm2015/core/public-api.js +1 -1
  175. package/esm2015/core/scroll-to/index.js +1 -1
  176. package/esm2015/core/scroll-to/public-api.js +1 -1
  177. package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
  178. package/esm2015/date/date.component.js +7 -5
  179. package/esm2015/date/date.module.js +1 -1
  180. package/esm2015/date/public-api.js +1 -1
  181. package/esm2015/dialog/default-dialog.component.js +2 -2
  182. package/esm2015/dialog/dialog.component.js +3 -3
  183. package/esm2015/dialog/dialog.model.js +1 -1
  184. package/esm2015/dialog/dialog.module.js +1 -1
  185. package/esm2015/dialog/dialog.service.js +1 -1
  186. package/esm2015/dialog/public-api.js +1 -1
  187. package/esm2015/field-title/field-title.component.js +3 -3
  188. package/esm2015/field-title/field-title.module.js +1 -1
  189. package/esm2015/field-title/public-api.js +1 -1
  190. package/esm2015/files-uploader/files-uploader.component.js +3 -3
  191. package/esm2015/files-uploader/files-uploader.module.js +1 -1
  192. package/esm2015/files-uploader/public-api.js +1 -1
  193. package/esm2015/form/field-generator.component.js +2 -2
  194. package/esm2015/form/form.component.js +2 -2
  195. package/esm2015/form/form.module.js +1 -1
  196. package/esm2015/form/indicators.component.js +3 -3
  197. package/esm2015/form/internal-button.component.js +21 -18
  198. package/esm2015/form/internal-carusel.component.js +2 -2
  199. package/esm2015/form/internal-carusel.service.js +1 -1
  200. package/esm2015/form/internal-list.component.js +2 -2
  201. package/esm2015/form/internal-menu.component.js +2 -2
  202. package/esm2015/form/internal-page.component.js +2 -2
  203. package/esm2015/form/internal-page.service.js +1 -1
  204. package/esm2015/form/public-api.js +1 -1
  205. package/esm2015/group-buttons/group-buttons.component.js +3 -3
  206. package/esm2015/group-buttons/group-buttons.module.js +1 -1
  207. package/esm2015/group-buttons/public-api.js +1 -1
  208. package/esm2015/icon/icon-generated-all.model.js +1 -1
  209. package/esm2015/icon/icon-generated.model.js +1 -1
  210. package/esm2015/icon/icon-registry.service.js +2 -2
  211. package/esm2015/icon/icon.component.js +1 -1
  212. package/esm2015/icon/icon.module.js +1 -1
  213. package/esm2015/icon/public-api.js +1 -1
  214. package/esm2015/image/image.component.js +8 -3
  215. package/esm2015/image/image.module.js +1 -1
  216. package/esm2015/image/public-api.js +1 -1
  217. package/esm2015/images-filmstrip/images-filmstrip.component.js +8 -3
  218. package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
  219. package/esm2015/images-filmstrip/public-api.js +1 -1
  220. package/esm2015/list/list-actions.component.js +2 -2
  221. package/esm2015/list/list-carousel.component.js +2 -2
  222. package/esm2015/list/list-chooser.component.js +2 -2
  223. package/esm2015/list/list-pager.component.js +2 -2
  224. package/esm2015/list/list-sorting.component.js +2 -2
  225. package/esm2015/list/list-total.component.js +3 -3
  226. package/esm2015/list/list-views.component.js +2 -2
  227. package/esm2015/list/list.component.js +2 -2
  228. package/esm2015/list/list.model.js +1 -1
  229. package/esm2015/list/list.module.js +1 -1
  230. package/esm2015/list/public-api.js +1 -1
  231. package/esm2015/menu/menu-item.component.js +2 -2
  232. package/esm2015/menu/menu.component.js +2 -2
  233. package/esm2015/menu/menu.model.js +1 -1
  234. package/esm2015/menu/menu.module.js +1 -1
  235. package/esm2015/menu/public-api.js +1 -1
  236. package/esm2015/ngx-lib.module.js +1 -1
  237. package/esm2015/page-layout/page-layout.component.js +2 -2
  238. package/esm2015/page-layout/page-layout.module.js +1 -1
  239. package/esm2015/page-layout/public-api.js +1 -1
  240. package/esm2015/public-api.js +1 -1
  241. package/esm2015/quantity-selector/public-api.js +1 -1
  242. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
  243. package/esm2015/quantity-selector/quantity-selector.component.js +8 -3
  244. package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
  245. package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
  246. package/esm2015/query-builder/common/model/filter.js +2 -0
  247. package/esm2015/query-builder/common/model/legacy.js +2 -0
  248. package/esm2015/query-builder/common/model/operator-unit.js +42 -0
  249. package/esm2015/query-builder/common/model/operator.js +207 -0
  250. package/esm2015/query-builder/common/model/structure.js +2 -0
  251. package/esm2015/query-builder/common/model/type-map.js +27 -0
  252. package/esm2015/query-builder/common/model/type.js +6 -0
  253. package/esm2015/query-builder/common/services/output-query.service.js +111 -0
  254. package/esm2015/query-builder/common/services/type-convertor.service.js +40 -0
  255. package/esm2015/query-builder/pepperi-addons-ngx-lib-query-builder.js +9 -0
  256. package/esm2015/query-builder/public-api.js +8 -0
  257. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +115 -0
  258. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +64 -0
  259. package/esm2015/query-builder/query-builder.component.js +104 -0
  260. package/esm2015/query-builder/query-builder.module.js +35 -0
  261. package/esm2015/query-builder/query-builder.service.js +280 -0
  262. package/esm2015/rich-html-textarea/public-api.js +1 -1
  263. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +8 -3
  264. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
  265. package/esm2015/search/public-api.js +1 -1
  266. package/esm2015/search/search.component.js +2 -2
  267. package/esm2015/search/search.model.js +1 -1
  268. package/esm2015/search/search.module.js +1 -1
  269. package/esm2015/select/public-api.js +1 -1
  270. package/esm2015/select/select.component.js +8 -3
  271. package/esm2015/select/select.module.js +1 -1
  272. package/esm2015/separator/public-api.js +1 -1
  273. package/esm2015/separator/separator.component.js +11 -3
  274. package/esm2015/separator/separator.module.js +1 -1
  275. package/esm2015/side-bar/public-api.js +1 -1
  276. package/esm2015/side-bar/side-bar.component.js +3 -3
  277. package/esm2015/side-bar/side-bar.model.js +1 -1
  278. package/esm2015/side-bar/side-bar.module.js +1 -1
  279. package/esm2015/signature/public-api.js +1 -1
  280. package/esm2015/signature/signature.component.js +8 -3
  281. package/esm2015/signature/signature.module.js +1 -1
  282. package/esm2015/size-detector/public-api.js +1 -1
  283. package/esm2015/size-detector/size-detector.component.js +2 -2
  284. package/esm2015/size-detector/size-detector.module.js +1 -1
  285. package/esm2015/slider/public-api.js +1 -1
  286. package/esm2015/slider/slider.component.js +3 -3
  287. package/esm2015/slider/slider.module.js +1 -1
  288. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +23 -3
  289. package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
  290. package/esm2015/smart-filters/common/model/base-filter-component.js +35 -8
  291. package/esm2015/smart-filters/common/model/creator.js +8 -2
  292. package/esm2015/smart-filters/common/model/field.js +12 -1
  293. package/esm2015/smart-filters/common/model/filter.js +1 -1
  294. package/esm2015/smart-filters/common/model/operator.js +8 -8
  295. package/esm2015/smart-filters/common/model/type.js +1 -1
  296. package/esm2015/smart-filters/date-filter/date-filter.component.js +45 -2
  297. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +53 -14
  298. package/esm2015/smart-filters/number-filter/number-filter.component.js +27 -2
  299. package/esm2015/smart-filters/public-api.js +2 -1
  300. package/esm2015/smart-filters/smart-filters.component.js +3 -3
  301. package/esm2015/smart-filters/smart-filters.module.js +16 -3
  302. package/esm2015/smart-filters/text-filter/text-filter.component.js +79 -0
  303. package/esm2015/textarea/public-api.js +1 -1
  304. package/esm2015/textarea/textarea.component.js +8 -3
  305. package/esm2015/textarea/textarea.module.js +1 -1
  306. package/esm2015/textbox/public-api.js +1 -1
  307. package/esm2015/textbox/textbox-validation.directive.js +1 -1
  308. package/esm2015/textbox/textbox.component.js +7 -5
  309. package/esm2015/textbox/textbox.module.js +1 -1
  310. package/esm2015/textbox-icon/public-api.js +1 -1
  311. package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
  312. package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
  313. package/esm2015/top-bar/public-api.js +1 -1
  314. package/esm2015/top-bar/top-bar.component.js +3 -3
  315. package/esm2015/top-bar/top-bar.model.js +1 -1
  316. package/esm2015/top-bar/top-bar.module.js +1 -1
  317. package/fesm2015/pepperi-addons-ngx-lib-address.js +2 -2
  318. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  319. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +7 -2
  320. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  321. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +2 -2
  322. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  323. package/fesm2015/pepperi-addons-ngx-lib-button.js +2 -2
  324. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  325. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
  326. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
  327. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +5 -2
  328. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  329. package/fesm2015/pepperi-addons-ngx-lib-color.js +35 -30
  330. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  331. package/fesm2015/pepperi-addons-ngx-lib-date.js +6 -4
  332. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  333. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +3 -3
  334. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  335. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +2 -2
  336. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  337. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +2 -2
  338. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  339. package/fesm2015/pepperi-addons-ngx-lib-form.js +27 -24
  340. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  341. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +2 -2
  342. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  343. package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
  344. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  345. package/fesm2015/pepperi-addons-ngx-lib-image.js +7 -2
  346. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  347. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +7 -2
  348. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  349. package/fesm2015/pepperi-addons-ngx-lib-list.js +9 -9
  350. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  351. package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
  352. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
  353. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  354. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  355. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +7 -2
  356. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  357. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +1011 -0
  358. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -0
  359. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +7 -2
  360. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  361. package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
  362. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
  363. package/fesm2015/pepperi-addons-ngx-lib-select.js +7 -2
  364. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  365. package/fesm2015/pepperi-addons-ngx-lib-separator.js +10 -2
  366. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  367. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +2 -2
  368. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  369. package/fesm2015/pepperi-addons-ngx-lib-signature.js +7 -2
  370. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  371. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
  372. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
  373. package/fesm2015/pepperi-addons-ngx-lib-slider.js +2 -2
  374. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  375. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +295 -38
  376. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  377. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +7 -2
  378. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  379. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
  380. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
  381. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +6 -4
  382. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  383. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +2 -2
  384. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  385. package/fesm2015/pepperi-addons-ngx-lib.js +42 -34
  386. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  387. package/field-title/field-title.component.theme.scss +0 -2
  388. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  389. package/files-uploader/files-uploader.component.theme.scss +0 -2
  390. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  391. package/form/indicators.component.theme.scss +7 -7
  392. package/form/internal-button.component.d.ts +0 -1
  393. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  394. package/group-buttons/group-buttons.component.theme.scss +15 -15
  395. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  396. package/image/image.component.d.ts +1 -0
  397. package/image/image.component.theme.scss +33 -35
  398. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  399. package/images-filmstrip/images-filmstrip.component.d.ts +1 -0
  400. package/images-filmstrip/images-filmstrip.component.theme.scss +33 -32
  401. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  402. package/list/list-total.component.theme.scss +10 -10
  403. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  404. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
  405. package/package.json +5 -5
  406. package/page-layout/page-layout.component.theme.scss +7 -7
  407. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  408. package/pepperi-addons-ngx-lib.metadata.json +1 -1
  409. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  410. package/quantity-selector/quantity-selector.component.d.ts +1 -0
  411. package/quantity-selector/quantity-selector.component.theme.scss +77 -77
  412. package/query-builder/common/model/filter.d.ts +6 -0
  413. package/query-builder/common/model/legacy.d.ts +26 -0
  414. package/query-builder/common/model/operator-unit.d.ts +13 -0
  415. package/query-builder/common/model/operator.d.ts +21 -0
  416. package/query-builder/common/model/structure.d.ts +4 -0
  417. package/query-builder/common/model/type-map.d.ts +12 -0
  418. package/query-builder/common/model/type.d.ts +4 -0
  419. package/query-builder/common/services/output-query.service.d.ts +44 -0
  420. package/query-builder/common/services/type-convertor.service.d.ts +10 -0
  421. package/query-builder/package.json +14 -0
  422. package/query-builder/pepperi-addons-ngx-lib-query-builder.d.ts +8 -0
  423. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -0
  424. package/query-builder/public-api.d.ts +4 -0
  425. package/query-builder/query-builder-item/query-builder-item.component.d.ts +37 -0
  426. package/query-builder/query-builder-section/query-builder-section.component.d.ts +27 -0
  427. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +7 -0
  428. package/query-builder/query-builder.component.d.ts +35 -0
  429. package/query-builder/query-builder.module.d.ts +2 -0
  430. package/query-builder/query-builder.service.d.ts +94 -0
  431. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  432. package/rich-html-textarea/rich-html-textarea.component.d.ts +1 -0
  433. package/rich-html-textarea/rich-html-textarea.component.theme.scss +241 -237
  434. package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
  435. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  436. package/select/select.component.d.ts +1 -0
  437. package/select/select.component.theme.scss +0 -2
  438. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  439. package/separator/separator.component.theme.scss +2 -2
  440. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  441. package/side-bar/side-bar.component.theme.scss +26 -25
  442. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  443. package/signature/signature.component.d.ts +1 -0
  444. package/signature/signature.component.theme.scss +8 -28
  445. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
  446. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  447. package/slider/slider.component.theme.scss +66 -65
  448. package/smart-filters/boolean-filter/boolean-filter.component.d.ts +6 -1
  449. package/smart-filters/common/model/base-filter-component.d.ts +7 -0
  450. package/smart-filters/common/model/field.d.ts +4 -0
  451. package/smart-filters/common/model/operator.d.ts +1 -0
  452. package/smart-filters/common/model/type.d.ts +2 -2
  453. package/smart-filters/date-filter/date-filter.component.d.ts +8 -1
  454. package/smart-filters/multi-select-filter/multi-select-filter.component.d.ts +6 -0
  455. package/smart-filters/number-filter/number-filter.component.d.ts +5 -0
  456. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  457. package/smart-filters/public-api.d.ts +1 -0
  458. package/smart-filters/smart-filters.component.theme.scss +9 -10
  459. package/smart-filters/text-filter/text-filter.component.d.ts +17 -0
  460. package/src/assets/i18n/de.ngx-lib.json +77 -77
  461. package/src/assets/i18n/en.ngx-lib.json +139 -138
  462. package/src/assets/i18n/es.ngx-lib.json +77 -77
  463. package/src/assets/i18n/fr.ngx-lib.json +78 -78
  464. package/src/assets/i18n/he.ngx-lib.json +78 -78
  465. package/src/assets/i18n/hu.ngx-lib.json +78 -78
  466. package/src/assets/i18n/it.ngx-lib.json +78 -78
  467. package/src/assets/i18n/ja.ngx-lib.json +78 -78
  468. package/src/assets/i18n/nl.ngx-lib.json +78 -78
  469. package/src/assets/i18n/pl.ngx-lib.json +78 -78
  470. package/src/assets/i18n/pt.ngx-lib.json +78 -78
  471. package/src/assets/i18n/ru.ngx-lib.json +78 -78
  472. package/src/assets/i18n/zh.ngx-lib.json +76 -76
  473. package/src/assets/images/no-image.svg +41 -41
  474. package/src/core/style/abstracts/breakpoints.scss +37 -35
  475. package/src/core/style/abstracts/functions.scss +439 -422
  476. package/src/core/style/abstracts/mixins.scss +800 -797
  477. package/src/core/style/abstracts/variables.scss +545 -545
  478. package/src/core/style/base/base.scss +874 -873
  479. package/src/core/style/base/grids.scss +4 -4
  480. package/src/core/style/base/helpers.scss +70 -70
  481. package/src/core/style/base/typography.scss +259 -255
  482. package/src/core/style/components/button.scss +346 -349
  483. package/src/core/style/components/checkbox.scss +476 -473
  484. package/src/core/style/components/datetime.scss +182 -22
  485. package/src/core/style/components/file.scss +223 -219
  486. package/src/core/style/components/general.scss +1002 -1086
  487. package/src/core/style/components/input.scss +98 -94
  488. package/src/core/style/components/quantity-selector.scss +17 -14
  489. package/src/core/style/components/radio-button.scss +171 -168
  490. package/src/core/style/components/select.scss +187 -185
  491. package/src/core/style/components/signature.scss +14 -12
  492. package/src/core/style/components/splitter.scss +67 -64
  493. package/src/core/style/components/textarea.scss +198 -195
  494. package/src/core/style/themes/black-theme.scss +7 -7
  495. package/src/core/style/themes/default-theme.scss +144 -144
  496. package/src/core/style/themes/light-theme.scss +7 -7
  497. package/src/core/style/themes/nature-theme.scss +7 -7
  498. package/src/core/style/vendors/normalize.scss +497 -497
  499. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  500. package/textarea/textarea.component.d.ts +1 -0
  501. package/textarea/textarea.component.theme.scss +2 -2
  502. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  503. package/textbox/textbox.component.theme.scss +3 -3
  504. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
  505. package/theming.scss +125 -220
  506. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  507. package/top-bar/top-bar.component.theme.scss +9 -9
  508. package/form/form.component.theme.scss +0 -2
  509. package/form/internal-button.component.theme.scss +0 -2
  510. package/form/internal-menu.component.theme.scss +0 -3
  511. package/list/list-actions.component.theme.scss +0 -3
  512. package/list/list-carousel.component.theme.scss +0 -9
  513. package/list/list-chooser.component.theme.scss +0 -3
  514. package/list/list-pager.component.theme.scss +0 -3
  515. package/list/list-sorting.component.theme.scss +0 -3
  516. package/list/list-views.component.theme.scss +0 -3
  517. package/list/list.component.theme.scss +0 -5
  518. package/list/list_old.component.theme.scss +0 -5
  519. package/menu/menu.component.theme.scss +0 -2
  520. package/search/search.component.theme.scss +0 -3
  521. package/textbox-icon/textbox-icon.component.theme.scss +0 -3
@@ -30,6 +30,7 @@ export class PepImageComponent {
30
30
  this.form = null;
31
31
  this.uid = '';
32
32
  this.showTitle = true;
33
+ this.renderTitle = true;
33
34
  this._layoutType = 'form';
34
35
  this.isActive = false;
35
36
  this.sizeLimitMB = 5;
@@ -72,6 +73,9 @@ export class PepImageComponent {
72
73
  this.setFieldHeight();
73
74
  this.setDefaultForm();
74
75
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
76
+ if (!this.renderTitle) {
77
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
78
+ }
75
79
  }
76
80
  }
77
81
  setFieldHeight() {
@@ -177,9 +181,9 @@ PepImageComponent.MENU_CLICKED = '[MenuClicked]';
177
181
  PepImageComponent.decorators = [
178
182
  { type: Component, args: [{
179
183
  selector: 'pep-image',
180
- template: "<ng-container [formGroup]=\"form\">\n <ng-container>\n <ng-template #readonlyTemplate>\n <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <pep-field-title [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\" [xAlignment]=\"xAlignment\"\n [showTitle]=\"showTitle\">\n </pep-field-title>\n <ng-container *ngIf=\"disabled || readonly; then disabledTemplate; else editableTemplate\"></ng-container>\n <ng-template #disabledTemplate>\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{'one-row': rowSpan == 1}\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n </div>\n </ng-template>\n <ng-template #editableTemplate>\n <div class=\"pep-file-container image-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\n <pep-files-uploader [id]=\"key\" [key]=\"key\" [fieldHeight]=\"fieldHeight\" [layoutType]=\"layoutType\"\n [standAlone]=\"standAlone\" [src]=\"srcLarge || src\" [label]=\"label\" [mandatory]=\"mandatory\"\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [controlType]=\"controlType\"\n [form]=\"form\" [acceptedExtensions]=\"acceptImagesType\" (fileChange)=\"onFileChanged($event)\"\n (elementClick)=\"onFileClicked($event)\" [sizeLimitMB]=\"sizeLimitMB\">\n </pep-files-uploader>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\"\n [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" />\n </div> -->\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\n <!-- <div class=\"img-wrapper\" [ngClass]=\"{\n 'left-alignment': xAlignment == 'left',\n 'right-alignment': xAlignment == 'right',\n 'center-alignment': xAlignment == 'center'\n }\">\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file pep-report-img\"\n [ngClass]=\"['text-align-' + xAlignment]\" [alt]=\"label\" [src]=\"src\" (click)=\"itemImageClick($event)\"\n (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\n </div> -->\n </ng-container>\n </ng-container>\n\n <!-- Menu -->\n <ng-container *ngIf=\"menuField\">\n <button [id]=\"key\" (click)=\"onMenuClick($event)\" class=\"floating-field pep-button icon-button weak invert\"\n [ngClass]=\"{\n bottom: menuField?.Layout?.YAlignment == '2',\n top: menuField?.Layout?.YAlignment == '1',\n left: menuField?.Layout?.XAlignment == '1',\n right: menuField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <pep-icon name=\"system_menu\"></pep-icon>\n </mat-icon>\n </button>\n </ng-container>\n\n <!-- Campaign -->\n <ng-container *ngIf=\"hasCampaignField && hasCampaignField?.FormattedValue\">\n <span [id]=\"key\" class=\"campaign floating-field\" title=\"{{ hasCampaignField?.FormattedValue }}\" [ngClass]=\"{\n bottom: hasCampaignField?.Layout?.YAlignment == '2',\n top: hasCampaignField?.Layout?.YAlignment == '1',\n left: hasCampaignField?.Layout?.XAlignment == '1',\n right: hasCampaignField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon class=\"has-active-campaign\">\n <pep-icon name=\"system_bolt\"></pep-icon>\n </mat-icon>\n </span>\n </ng-container>\n\n <!-- Indicators -->\n <ng-container *ngIf=\"indicatorsField && indicatorsField?.FormattedValue != ''\">\n <span [id]=\"key\" class=\"indicators-container floating-field\" [ngClass]=\"{\n bottom: indicatorsField?.Layout?.YAlignment == '2',\n top: indicatorsField?.Layout?.YAlignment == '1',\n left: indicatorsField?.Layout?.XAlignment == '1',\n right: indicatorsField?.Layout?.XAlignment == '2'\n }\">\n <mat-icon>\n <ng-container *ngFor=\"let value of indicatorsField?.FormattedValue?.split(';')\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\" [fill]=\"value\"></pep-icon>\n </ng-container>\n <ng-container *ngIf=\"indicatorsField?.FormattedValue?.split(';').length < 4\">\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\"></pep-icon>\n </ng-container>\n </mat-icon>\n </span>\n </ng-container>\n</ng-container>",
184
+ template: "<ng-container [formGroup]=\"form\">\r\n <ng-container>\r\n <ng-template #readonlyTemplate>\r\n <div class=\"img-wrapper\" [ngClass]=\"{\r\n 'left-alignment': xAlignment == 'left',\r\n 'right-alignment': xAlignment == 'right',\r\n 'center-alignment': xAlignment == 'center'\r\n }\">\r\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\r\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\r\n </div>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"layoutType === 'form'\">\r\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [mandatory]=\"mandatory\" [disabled]=\"disabled\"\r\n [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\r\n </pep-field-title>\r\n <ng-container *ngIf=\"disabled || readonly; then disabledTemplate; else editableTemplate\"></ng-container>\r\n <ng-template #disabledTemplate>\r\n <div class=\"pep-file body-sm\" [style.height]=\"fieldHeight\" [ngClass]=\"{'one-row': rowSpan == 1}\">\r\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\r\n </div>\r\n </ng-template>\r\n <ng-template #editableTemplate>\r\n <div class=\"pep-file-container image-container\" [ngClass]=\"{ 'one-row': rowSpan == 1}\">\r\n <pep-files-uploader [id]=\"key\" [key]=\"key\" [fieldHeight]=\"fieldHeight\" [layoutType]=\"layoutType\"\r\n [standAlone]=\"standAlone\" [src]=\"srcLarge || src\" [label]=\"label\" [mandatory]=\"mandatory\"\r\n [disabled]=\"disabled\" [xAlignment]=\"xAlignment\" [rowSpan]=\"rowSpan\" [controlType]=\"controlType\"\r\n [form]=\"form\" [acceptedExtensions]=\"acceptImagesType\" (fileChange)=\"onFileChanged($event)\"\r\n (elementClick)=\"onFileClicked($event)\" [sizeLimitMB]=\"sizeLimitMB\">\r\n </pep-files-uploader>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'card'\">\r\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\r\n <!-- <div class=\"img-wrapper\"\r\n [ngClass]=\"{\r\n 'left-alignment': xAlignment == 'left',\r\n 'right-alignment': xAlignment == 'right',\r\n 'center-alignment': xAlignment == 'center'\r\n }\">\r\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file\" [alt]=\"label\" [src]=\"src\"\r\n (click)=\"itemImageClick($event)\" (error)=\"errorHandler($event)\" />\r\n </div> -->\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'table'\">\r\n <ng-container *ngTemplateOutlet=\"readonlyTemplate\"></ng-container>\r\n <!-- <div class=\"img-wrapper\" [ngClass]=\"{\r\n 'left-alignment': xAlignment == 'left',\r\n 'right-alignment': xAlignment == 'right',\r\n 'center-alignment': xAlignment == 'center'\r\n }\">\r\n <img [id]=\"key\" [style.max-height]=\"fieldHeight\" class=\"pep-report-file pep-report-img\"\r\n [ngClass]=\"['text-align-' + xAlignment]\" [alt]=\"label\" [src]=\"src\" (click)=\"itemImageClick($event)\"\r\n (error)=\"errorHandler($event)\" (load)=\"onImageLoad($event)\" />\r\n </div> -->\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Menu -->\r\n <ng-container *ngIf=\"menuField\">\r\n <button [id]=\"key\" (click)=\"onMenuClick($event)\" class=\"floating-field pep-button icon-button weak invert\"\r\n [ngClass]=\"{\r\n bottom: menuField?.Layout?.YAlignment == '2',\r\n top: menuField?.Layout?.YAlignment == '1',\r\n left: menuField?.Layout?.XAlignment == '1',\r\n right: menuField?.Layout?.XAlignment == '2'\r\n }\">\r\n <mat-icon>\r\n <pep-icon name=\"system_menu\"></pep-icon>\r\n </mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <!-- Campaign -->\r\n <ng-container *ngIf=\"hasCampaignField && hasCampaignField?.FormattedValue\">\r\n <span [id]=\"key\" class=\"campaign floating-field\" title=\"{{ hasCampaignField?.FormattedValue }}\" [ngClass]=\"{\r\n bottom: hasCampaignField?.Layout?.YAlignment == '2',\r\n top: hasCampaignField?.Layout?.YAlignment == '1',\r\n left: hasCampaignField?.Layout?.XAlignment == '1',\r\n right: hasCampaignField?.Layout?.XAlignment == '2'\r\n }\">\r\n <mat-icon class=\"has-active-campaign\">\r\n <pep-icon name=\"system_bolt\"></pep-icon>\r\n </mat-icon>\r\n </span>\r\n </ng-container>\r\n\r\n <!-- Indicators -->\r\n <ng-container *ngIf=\"indicatorsField && indicatorsField?.FormattedValue != ''\">\r\n <span [id]=\"key\" class=\"indicators-container floating-field\" [ngClass]=\"{\r\n bottom: indicatorsField?.Layout?.YAlignment == '2',\r\n top: indicatorsField?.Layout?.YAlignment == '1',\r\n left: indicatorsField?.Layout?.XAlignment == '1',\r\n right: indicatorsField?.Layout?.XAlignment == '2'\r\n }\">\r\n <mat-icon>\r\n <ng-container *ngFor=\"let value of indicatorsField?.FormattedValue?.split(';')\">\r\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\" [fill]=\"value\"></pep-icon>\r\n </ng-container>\r\n <ng-container *ngIf=\"indicatorsField?.FormattedValue?.split(';').length < 4\">\r\n <pep-icon class=\"pull-left flip\" name=\"indicator_dot_placeholder\"></pep-icon>\r\n </ng-container>\r\n </mat-icon>\r\n </span>\r\n </ng-container>\r\n</ng-container>",
181
185
  changeDetection: ChangeDetectionStrategy.OnPush,
182
- styles: [":host{width:100%;height:inherit;display:grid}:host>*{align-self:center}.img-wrapper{display:flex;align-items:center;height:100%;max-width:100%}.img-wrapper.left-alignment{justify-content:flex-start}.img-wrapper.center-alignment{justify-content:center}.img-wrapper.right-alignment{justify-content:flex-end}.img-wrapper img{max-width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.pep-file-container,.pepperi-file-container{height:100%}.pep-file-container .img-wrapper,.pepperi-file-container .img-wrapper{height:calc(100% - 1.5rem)}.pep-file-container img,.pepperi-file-container img{cursor:pointer}.indicators-container{padding:0!important}.indicators-container mat-icon{height:100%;width:100%;padding:.4rem}.indicators-container mat-icon pep-icon{height:.75rem!important;width:.75rem!important;margin:.05rem}.floating-field{width:2.5rem;height:2.5rem;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);padding:.5rem;cursor:pointer;position:absolute!important}.top{top:0}.bottom{bottom:0}.left{left:0}.right{right:0}"]
186
+ styles: [":host{width:100%;height:inherit;display:grid}:host>*{align-self:center}.img-wrapper{display:flex;align-items:center;height:100%;max-width:100%}.img-wrapper.left-alignment{justify-content:flex-start}.img-wrapper.center-alignment{justify-content:center}.img-wrapper.right-alignment{justify-content:flex-end}.img-wrapper img{max-width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.pep-file-container,.pepperi-file-container{height:100%}.pep-file-container .img-wrapper,.pepperi-file-container .img-wrapper{height:calc(100% - 1.5rem)}.pep-file-container img,.pepperi-file-container img{cursor:pointer}.indicators-container{padding:0!important}.indicators-container mat-icon{height:100%;width:100%;padding:.4rem}.indicators-container mat-icon pep-icon{height:.75rem!important;width:.75rem!important;margin:.05rem}.floating-field{width:2.5rem;height:2.5rem;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);padding:.5rem;cursor:pointer;position:absolute!important}.top{top:0}.bottom{bottom:0}.left{left:0}.right{right:0}", ".indicators-container .circle{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),calc(var(--pep-color-system-primary-l, 10%) + 20%))}.floating-field.has-active-campaign .svg-icon{fill:#e60000;fill:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}.floating-field.indicators-container{background:hsla(0,0%,100%,.5);background:hsla(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%),.5)}.floating-field.indicators-container:hover{cursor:inherit}.image-container .mat-form-field-disabled .mat-form-field-flex{background:transparent!important}"]
183
187
  },] }
184
188
  ];
185
189
  PepImageComponent.ctorParameters = () => [
@@ -208,6 +212,7 @@ PepImageComponent.propDecorators = {
208
212
  form: [{ type: Input }],
209
213
  uid: [{ type: Input }],
210
214
  showTitle: [{ type: Input }],
215
+ renderTitle: [{ type: Input }],
211
216
  layoutType: [{ type: Input }],
212
217
  isActive: [{ type: Input }],
213
218
  sizeLimitMB: [{ type: Input }],
@@ -215,4 +220,4 @@ PepImageComponent.propDecorators = {
215
220
  fileChange: [{ type: Output }],
216
221
  elementClick: [{ type: Output }]
217
222
  };
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWix1QkFBdUIsRUFDdkIsVUFBVSxFQUVWLFNBQVMsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsY0FBYyxFQUVkLHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFHNUIsYUFBYSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTbEQsTUFBTSxPQUFPLGlCQUFpQjtJQThFMUIsWUFDWSxZQUE2QixFQUM3QixvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0IsUUFBbUIsRUFDbkIsT0FBbUIsRUFDbkIsU0FBMkI7UUFMM0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWpGOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQiwyQkFBMkI7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztR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QUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHO2dCQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSzthQUNwQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7O0FBak9hLDhCQUFZLEdBQUcsZUFBZSxDQUFDOztZQVBoRCxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLCs5TEFBcUM7Z0JBRXJDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O1lBUlEsZUFBZTtZQVRwQix1QkFBdUI7WUFGdkIsY0FBYztZQU5kLFNBQVM7WUFGVCxVQUFVO1lBTUwsZ0JBQWdCOzs7a0JBeUJwQixLQUFLO3VCQUNMLEtBQUs7a0JBQ0wsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7d0JBRUwsS0FBSzt1QkFDTCxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSztzQkFHTCxLQUFLOzhCQVNMLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxLQUFLO3NCQUdMLEtBQUs7bUJBcUJMLEtBQUs7a0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3lCQUdMLEtBQUs7dUJBU0wsS0FBSzswQkFDTCxLQUFLOytCQUNMLEtBQUs7eUJBRUwsTUFBTTsyQkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbiAgICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG4gICAgSVBlcE9wdGlvbixcbiAgICBQZXBJbWFnZUZpZWxkLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbmltcG9ydCB7IHBlcEljb25Ob0ltYWdlMiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwSW1hZ2VTZXJ2aWNlIH0gZnJvbSAnLi9pbWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IElQZXBGaWxlQ2hhbmdlRXZlbnQgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWxlcy11cGxvYWRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWltYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIHN0YXRpYyBNRU5VX0NMSUNLRUQgPSAnW01lbnVDbGlja2VkXSc7XG5cbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSBzcmNMYXJnZSA9ICcnO1xuICAgIEBJbnB1dCgpIHNyYyA9ICcnO1xuICAgIEBJbnB1dCgpIG9wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgLy8gQElucHV0KCkgdHlwZSA9ICdpbWFnZSc7XG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuXG4gICAgcHJpdmF0ZSBfcm93U3BhbiA9IDE7XG4gICAgQElucHV0KClcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yb3dTcGFuID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICB9XG4gICAgZ2V0IHJvd1NwYW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jvd1NwYW47XG4gICAgfVxuXG4gICAgQElucHV0KCkgaW5kaWNhdG9yc0ZpZWxkOiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIG1lbnVGaWVsZDogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBoYXNDYW1wYWlnbkZpZWxkOiBhbnkgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdpbWFnZSc7XG5cbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgIEBJbnB1dCgpIHVpZCA9ICcnO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XG5cbiAgICBwcml2YXRlIF9sYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxheW91dFR5cGUodmFsdWU6IFBlcExheW91dFR5cGUpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0VHlwZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XG4gICAgfVxuICAgIGdldCBsYXlvdXRUeXBlKCk6IFBlcExheW91dFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0VHlwZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNpemVMaW1pdE1CID0gNTtcbiAgICBASW5wdXQoKSBhY2NlcHRJbWFnZXNUeXBlID0gJ2JtcCxqcGcsanBlZyxwbmcsZ2lmJzsgLy8gXCJpbWFnZS9ibXAsIGltYWdlL2pwZywgaW1hZ2UvanBlZywgaW1hZ2UvcG5nLCBpbWFnZS90aWYsIGltYWdlL3RpZmZcIjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZpbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIGZpZWxkSGVpZ2h0ID0gJyc7XG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuICAgIGRhdGFVUkkgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW1hZ2VTZXJ2aWNlOiBQZXBJbWFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZpbGVTZXJ2aWNlOiBQZXBGaWxlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXRGaWVsZEhlaWdodCgpO1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZpZWxkSGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpZWxkSGVpZ2h0ID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5jYWxjdWxhdGVGaWVsZEhlaWdodChcbiAgICAgICAgICAgIHRoaXMubGF5b3V0VHlwZSxcbiAgICAgICAgICAgIHRoaXMucm93U3BhbixcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdEZvcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcEltYWdlRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNyYyxcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHBlcEZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuc3JjPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIEVtcHR5IGRhdGFVUkkgaWYgdGhlcmUgaXMgY2hhbmdlIGluIHRoZSBzcmMuXG4gICAgICAgICAgICB0aGlzLmRhdGFVUkkgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZXJyb3JIYW5kbGVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnNyYyA9IHRoaXMuZmlsZVNlcnZpY2UuZ2V0U3ZnQXNJbWFnZVNyYyhcbiAgICAgICAgICAgIHBlcEljb25Ob0ltYWdlMi5kYXRhXG4gICAgICAgICk7XG4gICAgICAgIGV2ZW50LnRhcmdldC50aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0lNQUdFLk5PX0lNQUdFJyk7XG4gICAgfVxuXG4gICAgb25JbWFnZUxvYWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBldmVudC50YXJnZXQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgZXZlbnQudGFyZ2V0LnRpdGxlID1cbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC50aXRsZS5sZW5ndGggPT09IDBcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0lNQUdFLkNMSUNLX1RPX0VOTEFSR0UnKVxuICAgICAgICAgICAgICAgIDogZXZlbnQudGFyZ2V0LnRpdGxlO1xuICAgIH1cblxuICAgIG9uTWVudUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IFBlcEltYWdlQ29tcG9uZW50Lk1FTlVfQ0xJQ0tFRCxcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxuICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRmlsZUNoYW5nZWQoZmlsZURhdGE6IElQZXBGaWxlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhVVJJID0gZmlsZURhdGE7XG4gICAgICAgIHRoaXMuc3JjID0gdGhpcy5zcmNMYXJnZSA9XG4gICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgJiYgdGhpcy5kYXRhVVJJID8gdGhpcy5kYXRhVVJJLmZpbGVTdHIgOiAnJztcblxuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICB0aGlzLmRhdGFVUkkgPyB0aGlzLmRhdGFVUkkuZmlsZUV4dCA6ICcnXG4gICAgICAgICk7XG4gICAgICAgIC8vIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh7XG4gICAgICAgIC8vICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAvLyAgICAgdmFsdWUsXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVEYXRhKTtcbiAgICAgICAgLy8gdGhpcy5maWxlQ2hhbmdlLmVtaXQodmFsdWUubGVuZ3RoID4gMCA/IEpTT04ucGFyc2UodmFsdWUpIDogdmFsdWUpO1xuICAgIH1cblxuICAgIG9iamVjdElkSXNOb3RFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudWlkPy5sZW5ndGggPiAwICYmIHRoaXMudWlkICE9PSAnMCc7XG4gICAgfVxuXG4gICAgb25GaWxlQ2xpY2tlZChldmVudDogSVBlcEZpZWxkQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgaGFzUGFyZW50SW1hZ2UgPSB0cnVlO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAvLyB0aGlzLm9iamVjdElkSXNOb3RFbXB0eSgpICYmXG4gICAgICAgICAgICB0aGlzLnNyYyAmJlxuICAgICAgICAgICAgdGhpcy5zcmMuaW5kZXhPZignbm8taW1hZ2UnKSA+IC0xXG4gICAgICAgICkge1xuICAgICAgICAgICAgaGFzUGFyZW50SW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIGl0ZW1JbWFnZUNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGhhc1BhcmVudEltYWdlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgZWxlbVRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xuICAgICAgICBjb25zdCBuZXh0RWxlbWVudCA9IGVsZW1UYXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nIHx8IG51bGw7XG4gICAgICAgIGNvbnN0IGltYWdlU1JDID0gZWxlbVRhcmdldC5zcmMgfHwgbnVsbDtcbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnRTUkMgPVxuICAgICAgICAgICAgbmV4dEVsZW1lbnQgJiYgbmV4dEVsZW1lbnQuc3JjID8gbmV4dEVsZW1lbnQuc3JjIDogbnVsbDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoaW1hZ2VTUkMgJiYgaW1hZ2VTUkMuaW5kZXhPZignbm8taW1hZ2UnKSA+IC0xKSB8fFxuICAgICAgICAgICAgKG5leHRFbGVtZW50U1JDICYmIG5leHRFbGVtZW50U1JDLnNyYy5pbmRleE9mKCduby1pbWFnZScpID4gLTEpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaGFzUGFyZW50SW1hZ2UgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMub3BlbkltYWdlTW9kYWwoaGFzUGFyZW50SW1hZ2UpO1xuICAgICAgICAvLyBpZiAodGhpcy5kYXRhVVJJKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmltYWdlU2VydmljZS5vcGVuRnJvbVVSSSh0aGlzLmRhdGFVUkkpO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgdGhpcy5pbWFnZVNlcnZpY2Uub3BlbkltYWdlRGlhbG9nKHRoaXMuc3JjTGFyZ2UgfHwgdGhpcy5zcmMsIHRoaXMub3B0aW9ucywgdGhpcy5sYWJlbCk7XG4gICAgICAgIC8vIH1cblxuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICAgICAgb3RoZXJEYXRhOiB7XG4gICAgICAgICAgICAgICAgaW1hZ2VTcmM6IHRoaXMuc3JjTGFyZ2UgfHwgdGhpcy5zcmMsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmxhYmVsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIG9wZW5JbWFnZU1vZGFsKGhhc1BhcmVudEltYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgLy8gICAgIGlmICh0aGlzLmRhdGFVUkkpIHtcbiAgICAvLyAgICAgICAgIGNvbnN0IGZpbGVTdHJBcnIgPSB0aGlzLmRhdGFVUkkuZmlsZVN0ci5zcGxpdCgnOycpO1xuICAgIC8vICAgICAgICAgaWYgKGZpbGVTdHJBcnIubGVuZ3RoID09PSAyKSB7XG4gICAgLy8gICAgICAgICAgICAgY29uc3Qgd2luID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTtcbiAgICAvLyAgICAgICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGZpbGVTdHJBcnJbMF0uc3BsaXQoJzonKVsxXTtcbiAgICAvLyAgICAgICAgICAgICBjb25zdCBiYXNlNjQgPSBmaWxlU3RyQXJyWzFdLnNwbGl0KCcsJylbMV07XG4gICAgLy8gICAgICAgICAgICAgY29uc3QgYmxvYiA9IHRoaXMuZmlsZVNlcnZpY2UuY29udmVydEZyb21iNjR0b0Jsb2IoXG4gICAgLy8gICAgICAgICAgICAgICAgIGJhc2U2NCxcbiAgICAvLyAgICAgICAgICAgICAgICAgY29udGVudFR5cGVcbiAgICAvLyAgICAgICAgICAgICApO1xuICAgIC8vICAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgLy8gICAgICAgICAgICAgd2luLmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH0gZWxzZSB7XG4gICAgLy8gICAgICAgICBjb25zdCBhcnIgPSBbdGhpcy5zcmNMYXJnZSB8fCB0aGlzLnNyY10uY29uY2F0KFxuICAgIC8vICAgICAgICAgICAgICh0aGlzLm9wdGlvbnMgfHwgW10pLm1hcCgob3B0KSA9PiBvcHQudmFsdWUpXG4gICAgLy8gICAgICAgICApO1xuICAgIC8vICAgICAgICAgY29uc3QgaW1hZ2VzVmFsdWUgPSBhcnIuam9pbignOycpO1xuXG4gICAgLy8gICAgICAgICAvLyBTaG93IGltYWdlIGluIG1vZGFsLlxuICAgIC8vICAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmdldERpYWxvZ0NvbmZpZyh7fSwgJ2lubGluZScpO1xuICAgIC8vICAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xuICAgIC8vICAgICAgICAgY29uZmlnLmhlaWdodCA9ICc5NXZoJztcblxuICAgIC8vICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coXG4gICAgLy8gICAgICAgICAgICAgUGVwSW1hZ2VzRmlsbXN0cmlwQ29tcG9uZW50LFxuICAgIC8vICAgICAgICAgICAgIHtcbiAgICAvLyAgICAgICAgICAgICAgICAgY3VyckluZGV4OiAwLFxuICAgIC8vICAgICAgICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgIC8vICAgICAgICAgICAgICAgICB2YWx1ZTogaW1hZ2VzVmFsdWUsXG4gICAgLy8gICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgIC8vICAgICAgICAgICAgICAgICB1aWQ6IHRoaXMudWlkLFxuICAgIC8vICAgICAgICAgICAgICAgICBzaG93VGh1bWJuYWlsczogYXJyLmxlbmd0aCA+IDEsXG4gICAgLy8gICAgICAgICAgICAgfSxcbiAgICAvLyAgICAgICAgICAgICBjb25maWdcbiAgICAvLyAgICAgICAgICk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG59XG4iXX0=
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9pbWFnZS9pbWFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFFWix1QkFBdUIsRUFDdkIsVUFBVSxFQUVWLFNBQVMsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsY0FBYyxFQUVkLHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFHNUIsYUFBYSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFTbEQsTUFBTSxPQUFPLGlCQUFpQjtJQStFMUIsWUFDWSxZQUE2QixFQUM3QixvQkFBNkMsRUFDN0MsV0FBMkIsRUFDM0IsUUFBbUIsRUFDbkIsT0FBbUIsRUFDbkIsU0FBMkI7UUFMM0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWxGOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQiwyQkFBMkI7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztR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Q1gsOEZBQThGO1FBQzlGLElBQUk7UUFFSixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsVUFBVSxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ3ZCLFNBQVMsRUFBRTtnQkFDUCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRztnQkFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7YUFDcEI7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDOztBQXpPYSw4QkFBWSxHQUFHLGVBQWUsQ0FBQzs7WUFQaEQsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxXQUFXO2dCQUNyQiwrc01BQXFDO2dCQUVyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVJRLGVBQWU7WUFUcEIsdUJBQXVCO1lBRnZCLGNBQWM7WUFOZCxTQUFTO1lBRlQsVUFBVTtZQU1MLGdCQUFnQjs7O2tCQXlCcEIsS0FBSzt1QkFDTCxLQUFLO2tCQUNMLEtBQUs7c0JBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUVMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBR0wsS0FBSzs4QkFTTCxLQUFLO3dCQUNMLEtBQUs7K0JBQ0wsS0FBSztzQkFHTCxLQUFLO21CQXFCTCxLQUFLO2tCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUdMLEtBQUs7dUJBU0wsS0FBSzswQkFDTCxLQUFLOytCQUNMLEtBQUs7eUJBRUwsTUFBTTsyQkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBPcHRpb25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBQZXBGaWxlU2VydmljZSxcclxuICAgIFBlcExheW91dFR5cGUsXHJcbiAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZSxcclxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXHJcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxyXG4gICAgSVBlcEZpZWxkQ2xpY2tFdmVudCxcclxuICAgIElQZXBPcHRpb24sXHJcbiAgICBQZXBJbWFnZUZpZWxkLFxyXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcclxuXHJcbmltcG9ydCB7IHBlcEljb25Ob0ltYWdlMiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xyXG5pbXBvcnQgeyBQZXBJbWFnZVNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJUGVwRmlsZUNoYW5nZUV2ZW50IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZmlsZXMtdXBsb2FkZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3BlcC1pbWFnZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnLCAnLi9pbWFnZS5jb21wb25lbnQudGhlbWUuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXBJbWFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHN0YXRpYyBNRU5VX0NMSUNLRUQgPSAnW01lbnVDbGlja2VkXSc7XHJcblxyXG4gICAgQElucHV0KCkga2V5ID0gJyc7XHJcbiAgICBASW5wdXQoKSBzcmNMYXJnZSA9ICcnO1xyXG4gICAgQElucHV0KCkgc3JjID0gJyc7XHJcbiAgICBASW5wdXQoKSBvcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcclxuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgICAvLyBASW5wdXQoKSB0eXBlID0gJ2ltYWdlJztcclxuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcclxuXHJcbiAgICBwcml2YXRlIF9yb3dTcGFuID0gMTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvd1NwYW4gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XHJcbiAgICB9XHJcbiAgICBnZXQgcm93U3BhbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dTcGFuO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIGluZGljYXRvcnNGaWVsZDogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1lbnVGaWVsZDogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIGhhc0NhbXBhaWduRmllbGQ6IGFueSA9IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xyXG4gICAgICAgIGlmICh2aXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29udHJvbFR5cGUgPSAnaW1hZ2UnO1xyXG5cclxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XHJcbiAgICBASW5wdXQoKSB1aWQgPSAnJztcclxuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSByZW5kZXJUaXRsZSA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgbGF5b3V0VHlwZSh2YWx1ZTogUGVwTGF5b3V0VHlwZSkge1xyXG4gICAgICAgIHRoaXMuX2xheW91dFR5cGUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XHJcbiAgICB9XHJcbiAgICBnZXQgbGF5b3V0VHlwZSgpOiBQZXBMYXlvdXRUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0VHlwZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2l6ZUxpbWl0TUIgPSA1O1xyXG4gICAgQElucHV0KCkgYWNjZXB0SW1hZ2VzVHlwZSA9ICdibXAsanBnLGpwZWcscG5nLGdpZic7IC8vIFwiaW1hZ2UvYm1wLCBpbWFnZS9qcGcsIGltYWdlL2pwZWcsIGltYWdlL3BuZywgaW1hZ2UvdGlmLCBpbWFnZS90aWZmXCI7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBmaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgZWxlbWVudENsaWNrOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+KCk7XHJcblxyXG4gICAgZmllbGRIZWlnaHQgPSAnJztcclxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcclxuICAgIGRhdGFVUkkgPSBudWxsO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgaW1hZ2VTZXJ2aWNlOiBQZXBJbWFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICAgKSB7IH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcclxuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEZpZWxkSGVpZ2h0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxyXG4gICAgICAgICAgICB0aGlzLmxheW91dFR5cGUsXHJcbiAgICAgICAgICAgIHRoaXMucm93U3BhbixcclxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcEltYWdlRmllbGQoe1xyXG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5zcmMsXHJcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXHJcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc3JjPy5jdXJyZW50VmFsdWU/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gRW1wdHkgZGF0YVVSSSBpZiB0aGVyZSBpcyBjaGFuZ2UgaW4gdGhlIHNyYy5cclxuICAgICAgICAgICAgdGhpcy5kYXRhVVJJID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy9cclxuICAgIH1cclxuXHJcbiAgICBlcnJvckhhbmRsZXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnRhcmdldC5zcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXHJcbiAgICAgICAgICAgIHBlcEljb25Ob0ltYWdlMi5kYXRhXHJcbiAgICAgICAgKTtcclxuICAgICAgICBldmVudC50YXJnZXQudGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdJTUFHRS5OT19JTUFHRScpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uSW1hZ2VMb2FkKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBldmVudC50YXJnZXQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcclxuICAgICAgICBldmVudC50YXJnZXQudGl0bGUgPVxyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudGl0bGUubGVuZ3RoID09PSAwXHJcbiAgICAgICAgICAgICAgICA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0lNQUdFLkNMSUNLX1RPX0VOTEFSR0UnKVxyXG4gICAgICAgICAgICAgICAgOiBldmVudC50YXJnZXQudGl0bGU7XHJcbiAgICB9XHJcblxyXG4gICAgb25NZW51Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgICAgICB2YWx1ZTogUGVwSW1hZ2VDb21wb25lbnQuTUVOVV9DTElDS0VELFxyXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcclxuICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWxlQ2hhbmdlZChmaWxlRGF0YTogSVBlcEZpbGVDaGFuZ2VFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGF0YVVSSSA9IGZpbGVEYXRhO1xyXG4gICAgICAgIHRoaXMuc3JjID0gdGhpcy5zcmNMYXJnZSA9XHJcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSAmJiB0aGlzLmRhdGFVUkkgPyB0aGlzLmRhdGFVUkkuZmlsZVN0ciA6ICcnO1xyXG5cclxuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxyXG4gICAgICAgICAgICB0aGlzLmZvcm0sXHJcbiAgICAgICAgICAgIHRoaXMua2V5LFxyXG4gICAgICAgICAgICB0aGlzLmRhdGFVUkkgPyB0aGlzLmRhdGFVUkkuZmlsZUV4dCA6ICcnXHJcbiAgICAgICAgKTtcclxuICAgICAgICAvLyB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgIC8vICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgIC8vICAgICB2YWx1ZSxcclxuICAgICAgICAvLyB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoZmlsZURhdGEpO1xyXG4gICAgICAgIC8vIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHZhbHVlLmxlbmd0aCA+IDAgPyBKU09OLnBhcnNlKHZhbHVlKSA6IHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvYmplY3RJZElzTm90RW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudWlkPy5sZW5ndGggPiAwICYmIHRoaXMudWlkICE9PSAnMCc7XHJcbiAgICB9XHJcblxyXG4gICAgb25GaWxlQ2xpY2tlZChldmVudDogSVBlcEZpZWxkQ2xpY2tFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBoYXNQYXJlbnRJbWFnZSA9IHRydWU7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAvLyB0aGlzLm9iamVjdElkSXNOb3RFbXB0eSgpICYmXHJcbiAgICAgICAgICAgIHRoaXMuc3JjICYmXHJcbiAgICAgICAgICAgIHRoaXMuc3JjLmluZGV4T2YoJ25vLWltYWdlJykgPiAtMVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBoYXNQYXJlbnRJbWFnZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbUltYWdlQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGxldCBoYXNQYXJlbnRJbWFnZSA9IHRydWU7XHJcbiAgICAgICAgY29uc3QgZWxlbVRhcmdldCA9IGV2ZW50LnRhcmdldCB8fCBldmVudC5zcmNFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IG5leHRFbGVtZW50ID0gZWxlbVRhcmdldC5uZXh0RWxlbWVudFNpYmxpbmcgfHwgbnVsbDtcclxuICAgICAgICBjb25zdCBpbWFnZVNSQyA9IGVsZW1UYXJnZXQuc3JjIHx8IG51bGw7XHJcbiAgICAgICAgY29uc3QgbmV4dEVsZW1lbnRTUkMgPVxyXG4gICAgICAgICAgICBuZXh0RWxlbWVudCAmJiBuZXh0RWxlbWVudC5zcmMgPyBuZXh0RWxlbWVudC5zcmMgOiBudWxsO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIChpbWFnZVNSQyAmJiBpbWFnZVNSQy5pbmRleE9mKCduby1pbWFnZScpID4gLTEpIHx8XHJcbiAgICAgICAgICAgIChuZXh0RWxlbWVudFNSQyAmJiBuZXh0RWxlbWVudFNSQy5zcmMuaW5kZXhPZignbm8taW1hZ2UnKSA+IC0xKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBoYXNQYXJlbnRJbWFnZSA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5vcGVuSW1hZ2VNb2RhbChoYXNQYXJlbnRJbWFnZSk7XHJcbiAgICAgICAgLy8gaWYgKHRoaXMuZGF0YVVSSSkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLmltYWdlU2VydmljZS5vcGVuRnJvbVVSSSh0aGlzLmRhdGFVUkkpO1xyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuaW1hZ2VTZXJ2aWNlLm9wZW5JbWFnZURpYWxvZyh0aGlzLnNyY0xhcmdlIHx8IHRoaXMuc3JjLCB0aGlzLm9wdGlvbnMsIHRoaXMubGFiZWwpO1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XHJcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxyXG4gICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcclxuICAgICAgICAgICAgb3RoZXJEYXRhOiB7XHJcbiAgICAgICAgICAgICAgICBpbWFnZVNyYzogdGhpcy5zcmNMYXJnZSB8fCB0aGlzLnNyYyxcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLmxhYmVsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvcGVuSW1hZ2VNb2RhbChoYXNQYXJlbnRJbWFnZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gICAgIGlmICh0aGlzLmRhdGFVUkkpIHtcclxuICAgIC8vICAgICAgICAgY29uc3QgZmlsZVN0ckFyciA9IHRoaXMuZGF0YVVSSS5maWxlU3RyLnNwbGl0KCc7Jyk7XHJcbiAgICAvLyAgICAgICAgIGlmIChmaWxlU3RyQXJyLmxlbmd0aCA9PT0gMikge1xyXG4gICAgLy8gICAgICAgICAgICAgY29uc3Qgd2luID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTtcclxuICAgIC8vICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZmlsZVN0ckFyclswXS5zcGxpdCgnOicpWzFdO1xyXG4gICAgLy8gICAgICAgICAgICAgY29uc3QgYmFzZTY0ID0gZmlsZVN0ckFyclsxXS5zcGxpdCgnLCcpWzFdO1xyXG4gICAgLy8gICAgICAgICAgICAgY29uc3QgYmxvYiA9IHRoaXMuZmlsZVNlcnZpY2UuY29udmVydEZyb21iNjR0b0Jsb2IoXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgYmFzZTY0LFxyXG4gICAgLy8gICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlXHJcbiAgICAvLyAgICAgICAgICAgICApO1xyXG4gICAgLy8gICAgICAgICAgICAgY29uc3QgdXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgIC8vICAgICAgICAgICAgIHdpbi5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gICAgLy8gICAgICAgICB9XHJcbiAgICAvLyAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgY29uc3QgYXJyID0gW3RoaXMuc3JjTGFyZ2UgfHwgdGhpcy5zcmNdLmNvbmNhdChcclxuICAgIC8vICAgICAgICAgICAgICh0aGlzLm9wdGlvbnMgfHwgW10pLm1hcCgob3B0KSA9PiBvcHQudmFsdWUpXHJcbiAgICAvLyAgICAgICAgICk7XHJcbiAgICAvLyAgICAgICAgIGNvbnN0IGltYWdlc1ZhbHVlID0gYXJyLmpvaW4oJzsnKTtcclxuXHJcbiAgICAvLyAgICAgICAgIC8vIFNob3cgaW1hZ2UgaW4gbW9kYWwuXHJcbiAgICAvLyAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoe30sICdpbmxpbmUnKTtcclxuICAgIC8vICAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xyXG4gICAgLy8gICAgICAgICBjb25maWcuaGVpZ2h0ID0gJzk1dmgnO1xyXG5cclxuICAgIC8vICAgICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW5EaWFsb2coXHJcbiAgICAvLyAgICAgICAgICAgICBQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnQsXHJcbiAgICAvLyAgICAgICAgICAgICB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgY3VyckluZGV4OiAwLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgdmFsdWU6IGltYWdlc1ZhbHVlLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgIHVpZDogdGhpcy51aWQsXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgc2hvd1RodW1ibmFpbHM6IGFyci5sZW5ndGggPiAxLFxyXG4gICAgLy8gICAgICAgICAgICAgfSxcclxuICAgIC8vICAgICAgICAgICAgIGNvbmZpZ1xyXG4gICAgLy8gICAgICAgICApO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG4iXX0=
@@ -46,4 +46,4 @@ PepImageModule.decorators = [
46
46
  PepImageModule.ctorParameters = () => [
47
47
  { type: PepIconRegistry }
48
48
  ];
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9pbWFnZS9pbWFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUNILGFBQWEsRUFDYixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQiw4QkFBOEIsR0FDakMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUM5QixNQUFNLDBDQUEwQyxDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXNCbEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQy9CLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsOEJBQThCO1NBQ2pDLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQTNCSixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixzQkFBc0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUM1QixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDakMsZUFBZSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQjs7O1lBbENHLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbU1lbnUsXG4gICAgcGVwSWNvblN5c3RlbUJvbHQsXG4gICAgcGVwSWNvbkluZGljYXRvckRvdFBsYWNlaG9sZGVyLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcbmltcG9ydCB7IFBlcEZpZWxkVGl0bGVNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9maWVsZC10aXRsZSc7XG5pbXBvcnQgeyBQZXBGaWxlc1VwbG9hZGVyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZmlsZXMtdXBsb2FkZXInO1xuaW1wb3J0IHtcbiAgICBQZXBJbWFnZXNGaWxtc3RyaXBNb2R1bGUsXG4gICAgUGVwSW1hZ2VzRmlsbXN0cmlwQ29tcG9uZW50LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pbWFnZXMtZmlsbXN0cmlwJztcblxuaW1wb3J0IHsgUGVwSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBJbWFnZVNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRmllbGRUaXRsZU1vZHVsZSxcbiAgICAgICAgUGVwSW1hZ2VzRmlsbXN0cmlwTW9kdWxlLFxuICAgICAgICBQZXBGaWxlc1VwbG9hZGVyTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1BlcEltYWdlQ29tcG9uZW50XSxcbiAgICBkZWNsYXJhdGlvbnM6IFtQZXBJbWFnZUNvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbUGVwSW1hZ2VzRmlsbXN0cmlwQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtQZXBJbWFnZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW1xuICAgICAgICAgICAgcGVwSWNvblN5c3RlbU1lbnUsXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtQm9sdCxcbiAgICAgICAgICAgIHBlcEljb25JbmRpY2F0b3JEb3RQbGFjZWhvbGRlcixcbiAgICAgICAgXSk7XG4gICAgfVxufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9pbWFnZS9pbWFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUNILGFBQWEsRUFDYixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQiw4QkFBOEIsR0FDakMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLDJCQUEyQixHQUM5QixNQUFNLDBDQUEwQyxDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXNCbEQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hELElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO1lBQy9CLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsOEJBQThCO1NBQ2pDLENBQUMsQ0FBQztJQUNQLENBQUM7OztZQTNCSixRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7b0JBQ1osbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsZUFBZTtvQkFDZixhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsd0JBQXdCO29CQUN4QixzQkFBc0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUM1QixZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztnQkFDakMsZUFBZSxFQUFFLENBQUMsMkJBQTJCLENBQUM7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQzthQUMvQjs7O1lBbENHLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG5pbXBvcnQgeyBQZXBOZ3hMaWJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XHJcbmltcG9ydCB7XHJcbiAgICBQZXBJY29uTW9kdWxlLFxyXG4gICAgUGVwSWNvblJlZ2lzdHJ5LFxyXG4gICAgcGVwSWNvblN5c3RlbU1lbnUsXHJcbiAgICBwZXBJY29uU3lzdGVtQm9sdCxcclxuICAgIHBlcEljb25JbmRpY2F0b3JEb3RQbGFjZWhvbGRlcixcclxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcclxuaW1wb3J0IHsgUGVwRmllbGRUaXRsZU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ZpZWxkLXRpdGxlJztcclxuaW1wb3J0IHsgUGVwRmlsZXNVcGxvYWRlck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ZpbGVzLXVwbG9hZGVyJztcclxuaW1wb3J0IHtcclxuICAgIFBlcEltYWdlc0ZpbG1zdHJpcE1vZHVsZSxcclxuICAgIFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudCxcclxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pbWFnZXMtZmlsbXN0cmlwJztcclxuXHJcbmltcG9ydCB7IFBlcEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQZXBJbWFnZVNlcnZpY2UgfSBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxyXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICAvLyBuZ3gtbGliIG1vZHVsZXNcclxuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXHJcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcclxuICAgICAgICBQZXBGaWVsZFRpdGxlTW9kdWxlLFxyXG4gICAgICAgIFBlcEltYWdlc0ZpbG1zdHJpcE1vZHVsZSxcclxuICAgICAgICBQZXBGaWxlc1VwbG9hZGVyTW9kdWxlLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtQZXBJbWFnZUNvbXBvbmVudF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtQZXBJbWFnZUNvbXBvbmVudF0sXHJcbiAgICBlbnRyeUNvbXBvbmVudHM6IFtQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRdLFxyXG4gICAgcHJvdmlkZXJzOiBbUGVwSW1hZ2VTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVwSW1hZ2VNb2R1bGUge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwZXBJY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSkge1xyXG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW1xyXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtTWVudSxcclxuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUJvbHQsXHJcbiAgICAgICAgICAgIHBlcEljb25JbmRpY2F0b3JEb3RQbGFjZWhvbGRlcixcclxuICAgICAgICBdKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -4,4 +4,4 @@
4
4
  export * from './image.module';
5
5
  export * from './image.component';
6
6
  export * from './image.service';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvaW1hZ2UvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGliL2ltYWdlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2Uuc2VydmljZSc7XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvaW1hZ2UvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1saWIvaW1hZ2VcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbWFnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLnNlcnZpY2UnO1xyXG4iXX0=
@@ -76,6 +76,7 @@ export class PepImagesFilmstripComponent {
76
76
  this.form = null;
77
77
  this.uid = '0';
78
78
  this.showTitle = false;
79
+ this.renderTitle = true;
79
80
  this._layoutType = 'form';
80
81
  this.currIndex = 0;
81
82
  this.showThumbnails = false;
@@ -155,6 +156,9 @@ export class PepImagesFilmstripComponent {
155
156
  this.setFieldHeight();
156
157
  this.setDefaultForm();
157
158
  this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
159
+ if (!this.renderTitle) {
160
+ this.renderer.addClass(this.element.nativeElement, PepCustomizationService.STAND_ALONE_FIELD_NO_SPACING_CLASS_NAME);
161
+ }
158
162
  }
159
163
  }
160
164
  if (this.items === null) {
@@ -292,7 +296,7 @@ export class PepImagesFilmstripComponent {
292
296
  PepImagesFilmstripComponent.decorators = [
293
297
  { type: Component, args: [{
294
298
  selector: 'pep-images-filmstrip',
295
- template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\n<ng-template #regularTemplate>\n <ng-container [formGroup]=\"form\">\n <div class=\"images-filmstrip-container\">\n <pep-field-title [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\n </pep-field-title>\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\n [style.height]=\"fieldHeight\">\n <gallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\n </gallery>\n </div>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #galleryDialogTemplate>\n <div class=\"gallery-dialog\">\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\n <gallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\"\n (error)=\"onError($event)\">\n </gallery>\n </div>\n </pep-dialog>\n </div>\n</ng-template>\n\n<!-- Add custom template to image items -->\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\n <ng-container *ngIf=\"index === currIndex\">\n <ngx-imageviewer [src]=\"data.src\">\n </ngx-imageviewer>\n </ng-container>\n</ng-template>",
299
+ template: "<ng-container *ngIf=\"inDialog; then galleryDialogTemplate; else regularTemplate\"></ng-container>\r\n<ng-template #regularTemplate>\r\n <ng-container [formGroup]=\"form\">\r\n <div class=\"images-filmstrip-container\">\r\n <pep-field-title *ngIf=\"renderTitle\" [label]=\"label\" [xAlignment]=\"xAlignment\" [showTitle]=\"showTitle\">\r\n </pep-field-title>\r\n <div #galleryCont class=\"img-wrapper\" [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\"\r\n [style.height]=\"fieldHeight\">\r\n <gallery id=\"{{key}}-{{uid}}-gallery\" (itemClick)=\"enlargeImage($event);\" [imageSize]=\"'contain'\"\r\n (indexChange)=\"indexChange($event)\" (error)=\"onError($event)\">\r\n </gallery>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template #galleryDialogTemplate>\r\n <div class=\"gallery-dialog\">\r\n <pep-dialog [title]=\"label\" [showFooter]=\"false\">\r\n <div pep-dialog-content #galleryDialogCont class=\"gallery-dialog-content\"\r\n [ngClass]=\"isVertical ? 'vertical-gallery' : 'horizontal-gallery'\">\r\n <gallery id=\"{{key}}-{{uid}}-dlgGallery\" [imageSize]=\"'contain'\" (indexChange)=\"indexChange($event)\"\r\n (error)=\"onError($event)\">\r\n </gallery>\r\n </div>\r\n </pep-dialog>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Add custom template to image items -->\r\n<ng-template #itemTemplate let-index=\"index\" let-type=\"type\" let-data=\"data\" let-currIndex=\"currIndex\">\r\n <ng-container *ngIf=\"index === currIndex\">\r\n <ngx-imageviewer [src]=\"data.src\">\r\n </ngx-imageviewer>\r\n </ng-container>\r\n</ng-template>",
296
300
  // animations: [slideInAnimation],
297
301
  providers: [
298
302
  {
@@ -302,7 +306,7 @@ PepImagesFilmstripComponent.decorators = [
302
306
  deps: [TranslateService],
303
307
  },
304
308
  ],
305
- styles: [":host{width:100%;height:inherit;display:block}:host>*{align-self:center}.gallery-dialog{height:inherit}.images-filmstrip-container,.images-filmstrip-container .img-wrapper,gallery{height:100%}gallery{direction:ltr;min-height:100%}.gallery-dialog-content gallery{min-width:65vw}.gallery-dialog-content ::ng-deep gallery-item gallery-image .g-image-item{background-size:content!important}.gallery-dialog-content ::ng-deep gallery-item .g-item-template ngx-imageviewer canvas{max-width:100%!important;max-height:100%!important}::ng-deep gallery-thumbs{margin:0 1rem 0 .5rem;margin:0 var(--pep-spacing-lg,1rem) 0 var(--pep-spacing-sm,.5rem)}::ng-deep gallery-thumbs gallery-thumb{padding:0!important;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);margin:.5rem 0;margin:var(--pep-spacing-sm,.5rem) 0}::ng-deep gallery-thumbs gallery-thumb .g-image-item{background-size:cover!important}::ng-deep gallery-item gallery-image .g-image-item{border-radius:.5rem;border-radius:var(--pep-border-radius-lg,.5rem)}::ng-deep gallery-item:hover{cursor:pointer}::ng-deep gallery-dots{position:absolute!important;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}::ng-deep gallery-dots.pep-button,::ng-deep gallery-dots.pepperi-button{display:flex!important}::ng-deep .img-container{display:flex;align-items:center}::ng-deep .g-nav-next,::ng-deep .g-nav-prev{width:2rem!important;height:2rem!important;padding:.25rem;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}::ng-deep .g-nav-next .mat-icon,::ng-deep .g-nav-prev .mat-icon{display:inline-block!important}::ng-deep .g-nav-prev{transform:translateY(-50%) perspective(1px) scaleX(-1)!important}.vertical-gallery ::ng-deep gallery-thumbs{margin:1rem 0 .5rem;margin:var(--pep-spacing-lg,1rem) 0 var(--pep-spacing-sm,.5rem) 0}.vertical-gallery ::ng-deep gallery-thumbs gallery-thumb{margin:0 .5rem;margin:0 var(--pep-spacing-sm,.5rem)}"]
309
+ styles: [":host{width:100%;height:inherit;display:block}:host>*{align-self:center}.gallery-dialog{height:inherit}.images-filmstrip-container,.images-filmstrip-container .img-wrapper,gallery{height:100%}gallery{direction:ltr;min-height:100%}.gallery-dialog-content gallery{min-width:65vw}.gallery-dialog-content ::ng-deep gallery-item gallery-image .g-image-item{background-size:content!important}.gallery-dialog-content ::ng-deep gallery-item .g-item-template ngx-imageviewer canvas{max-width:100%!important;max-height:100%!important}::ng-deep gallery-thumbs{margin:0 1rem 0 .5rem;margin:0 var(--pep-spacing-lg,1rem) 0 var(--pep-spacing-sm,.5rem)}::ng-deep gallery-thumbs gallery-thumb{padding:0!important;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem);margin:.5rem 0;margin:var(--pep-spacing-sm,.5rem) 0}::ng-deep gallery-thumbs gallery-thumb .g-image-item{background-size:cover!important}::ng-deep gallery-item gallery-image .g-image-item{border-radius:.5rem;border-radius:var(--pep-border-radius-lg,.5rem)}::ng-deep gallery-item:hover{cursor:pointer}::ng-deep gallery-dots{position:absolute!important;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}::ng-deep gallery-dots.pep-button,::ng-deep gallery-dots.pepperi-button{display:flex!important}::ng-deep .img-container{display:flex;align-items:center}::ng-deep .g-nav-next,::ng-deep .g-nav-prev{width:2rem!important;height:2rem!important;padding:.25rem;border-radius:.25rem;border-radius:var(--pep-border-radius-md,.25rem)}::ng-deep .g-nav-next .mat-icon,::ng-deep .g-nav-prev .mat-icon{display:inline-block!important}::ng-deep .g-nav-prev{transform:translateY(-50%) perspective(1px) scaleX(-1)!important}.vertical-gallery ::ng-deep gallery-thumbs{margin:1rem 0 .5rem;margin:var(--pep-spacing-lg,1rem) 0 var(--pep-spacing-sm,.5rem) 0}.vertical-gallery ::ng-deep gallery-thumbs gallery-thumb{margin:0 .5rem;margin:0 var(--pep-spacing-sm,.5rem)}", "gallery{background-color:transparent}gallery-thumb{box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}.g-nav-next,.g-nav-next:hover,.g-nav-prev,.g-nav-prev:hover{background:hsla(0,0%,100%,.5);background:hsla(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%),.5)}.g-nav-next:hover,.g-nav-prev:hover{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);cursor:pointer}.g-nav-next:focus,.g-nav-prev:focus{box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}.g-nav-next:active,.g-nav-next:focus,.g-nav-prev:active,.g-nav-prev:focus{background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}.g-nav-next:active,.g-nav-prev:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}.g-nav-next:disabled,.g-nav-prev:disabled{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:hsla(0,0%,100%,.08)!important;background:hsla(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%),.08)!important}.g-nav-next:disabled:after,.g-nav-prev:disabled:after{border:unset}.g-nav-next:disabled .svg-icon,.g-nav-prev:disabled .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}.g-nav-next:disabled .svg-icon.stroke,.g-nav-prev:disabled .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}gallery-dots{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-weak-h,0),var(--pep-color-weak-s,0%),var(--pep-color-weak-l,10%),.12)}"]
306
310
  },] }
307
311
  ];
308
312
  PepImagesFilmstripComponent.ctorParameters = () => [
@@ -326,6 +330,7 @@ PepImagesFilmstripComponent.propDecorators = {
326
330
  form: [{ type: Input }],
327
331
  uid: [{ type: Input }],
328
332
  showTitle: [{ type: Input }],
333
+ renderTitle: [{ type: Input }],
329
334
  layoutType: [{ type: Input }],
330
335
  currIndex: [{ type: Input }],
331
336
  showThumbnails: [{ type: Input }],
@@ -333,4 +338,4 @@ PepImagesFilmstripComponent.propDecorators = {
333
338
  galleryDialogTemplate: [{ type: ViewChild, args: ['galleryDialogTemplate', { read: TemplateRef },] }],
334
339
  galleryDialogCont: [{ type: ViewChild, args: ['galleryDialogCont',] }]
335
340
  };
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBSVQsVUFBVSxFQUNWLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxHQUdYLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILE9BQU8sRUFFUCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixTQUFTLEdBRVosTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsRUFDaEIsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixjQUFjLEdBQ2pCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sVUFBVSxDQUFDO0FBV2xCLDhEQUE4RDtBQUM5RCxzRUFBc0U7QUFDdEUsNkJBQTZCO0FBQzdCLGlFQUFpRTtBQUNqRSx1QkFBdUI7QUFDdkIsVUFBVTtBQUNWLDZCQUE2QjtBQUM3Qiw4RUFBOEU7QUFDOUUsU0FBUztBQUNULE1BQU07QUFFTixPQUFPLEVBQ0gsa0JBQWtCLEVBRWxCLGtCQUFrQixHQUNyQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE1BQU0sVUFBVSxrQkFBa0IsQ0FDOUIsU0FBMkI7SUFFM0IsT0FBTztRQUNILGNBQWM7UUFDZCxlQUFlO1FBQ2YsT0FBTyxFQUFFLE1BQU07UUFDZixxRUFBcUU7UUFDckUsNEVBQTRFO1FBQzVFLGNBQWMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDO1FBQy9ELGlCQUFpQjtRQUNqQixnRkFBZ0Y7UUFDaEYsaURBQWlEO1FBQ2pELHlFQUF5RTtRQUN6RSx3REFBd0Q7UUFDeEQsb0RBQW9EO1FBQ3BELHVEQUF1RDtRQUN2RCwrREFBK0Q7UUFDL0QsS0FBSztRQUNMLGNBQWM7UUFDZCwrREFBK0Q7UUFDL0Qsc0RBQXNEO1FBQ3RELHVEQUF1RDtRQUN2RCxvREFBb0Q7UUFDcEQscURBQXFEO1FBQ3JELHNDQUFzQztRQUN0QywyQ0FBMkM7UUFDM0MsS0FBSztRQUNMLHFDQUFxQztRQUNyQyxjQUFjLEVBQUUsa0JBQWtCLENBQzlCLGVBQWUsRUFDZixXQUFXLEVBQ1gsQ0FBQyxFQUNELEtBQUssQ0FDUjtRQUNELGdCQUFnQixFQUFFLGtCQUFrQixDQUNoQyxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLENBQUMsRUFDRCxLQUFLLENBQ1I7UUFDRCxhQUFhLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQ25FLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUM7UUFDaEUsZ0JBQWdCLEVBQUUsa0JBQWtCLENBQ2hDLGFBQWEsRUFDYixhQUFhLEVBQ2IsQ0FBQyxFQUNELEtBQUssQ0FDUjtRQUNELGlCQUFpQixFQUFFLGtCQUFrQixDQUNqQyxjQUFjLEVBQ2QsY0FBYyxFQUNkLENBQUMsRUFDRCxLQUFLLENBQ1I7UUFDRCxXQUFXLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO0tBQ2xFLENBQUM7QUFDTixDQUFDO0FBZ0JELE1BQU0sT0FBTywyQkFBMkI7SUEwRHBDLFlBQ1ksb0JBQTZDLEVBQzdDLGFBQStCLEVBQy9CLGFBQStCLEVBQy9CLFdBQTJCLEVBQzNCLE9BQWdCLEVBQ2hCLFFBQW1CLEVBQ25CLE9BQW1CLEVBQ25CLEVBQXFCLEVBRXJCLFNBQW9ELEVBR3BELElBQW1DO1FBWm5DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0Msa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFFckIsY0FBUyxHQUFULFNBQVMsQ0FBMkM7UUFHcEQsU0FBSSxHQUFKLElBQUksQ0FBK0I7UUFyRS9DLDRGQUE0RjtRQUNuRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ1QsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxlQUFVLEdBQTJCLDRCQUE0QixDQUFDO1FBRW5FLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFVckIsZ0JBQVcsR0FBRyxRQUFRLENBQUM7UUFFZCxTQUFJLEdBQWMsSUFBSSxDQUFDO1FBQ3ZCLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFDVixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGdCQUFXLEdBQWtCLE1BQU0sQ0FBQztRQVVuQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFRaEMsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFtQmYsb0RBQW9EO1FBQ3BELElBQUksU0FBUyxJQUFJLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUVyQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUM5QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNWLHlDQUF5QztZQUN6QyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsSUFBSTtZQUNsQyxjQUFjO1lBQ2QsY0FBYztZQUNkLGVBQWU7WUFDZiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLGVBQWU7WUFDZixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsa0NBQWtDO1lBQ2xDLDRDQUE0QztZQUM1QyxlQUFlLEVBQUUsZUFBZSxDQUFDLE9BQU87WUFDeEMsaURBQWlEO1NBQ3BELENBQUM7SUFDTixDQUFDO0lBbEdELElBQ0ksT0FBTyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBU0QsSUFDSSxVQUFVLENBQUMsS0FBb0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQTZFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLG9CQUFvQixDQUM3RCxJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztJQUNOLENBQUM7SUFFTyxjQUFjO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ2hDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUMxQix1QkFBdUIsQ0FBQyw0QkFBNEIsQ0FDdkQsQ0FBQzthQUNMO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsNkNBQTZDO1lBQzdDLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQ2hELGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLENBQUM7Z0JBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMzQjtZQUVELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDbkIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FDbkQsQ0FBQztTQUNMO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSztZQUNiLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUNqQixDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxTQUFTO1lBQ1YsSUFBSSxDQUFDLEdBQUcsS0FBSyxxQkFBcUI7Z0JBQ2xDLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FDOUIsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FDcEMsQ0FBQztZQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDN0I7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbkM7UUFDRCxnREFBZ0Q7SUFDcEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLFVBQVU7UUFDekMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLGdEQUFnRDtZQUNoRCxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFTixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3BDLElBQUksWUFBWSxHQUFHLENBQUMsRUFBRTtZQUNsQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNOLGdDQUFnQztTQUNuQzthQUFNO1lBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLENBQUM7UUFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUNoRCxlQUFlLENBQUMsSUFBSSxDQUN2QixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNuQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDekIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQzNDLElBQUksQ0FBQyxxQkFBcUIsRUFDMUI7WUFDSSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDNUIsRUFDRCxNQUFNLENBQ1QsQ0FBQztRQUVGLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsb0NBQW9DO1FBQ3BDLCtDQUErQztRQUMvQywyQ0FBMkM7UUFDM0MsTUFBTTtJQUNWLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQ3BDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxhQUFhLENBQ3ZDLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxnQkFBZ0I7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQy9ELG1HQUFtRztRQUNuRyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRO1lBQzlCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLEVBQUU7WUFDbEQsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDbEQseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxLQUFLLEdBQ0wsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUUxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxNQUFNLEdBQ04sQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUU1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ3ZDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDNUIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUs7Z0JBQzFCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDeEIsSUFBSSxDQUFDLEdBQUcsS0FBSyxxQkFBcUI7Z0JBQzlCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO2dCQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7b0JBQ2pCLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO29CQUM3QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO1FBRXBDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLDBEQUEwRDtRQUMxRCxxQ0FBcUM7UUFDckMsMEJBQTBCO1FBQzFCLElBQUk7SUFDUixDQUFDOzs7WUEvVEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLGd1REFBZ0Q7Z0JBRWhELGtDQUFrQztnQkFDbEMsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLHdDQUF3Qzt3QkFDeEMsVUFBVSxFQUFFLGtCQUFrQjt3QkFDOUIsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7cUJBQzNCO2lCQUNKOzthQUNKOzs7WUFoSEcsdUJBQXVCO1lBUWxCLGdCQUFnQjtZQU5yQixnQkFBZ0I7WUFDaEIsY0FBYztZQWJkLE9BQU87WUFsQlAsU0FBUztZQUhULFVBQVU7WUFJVixpQkFBaUI7WUFjSyxZQUFZLHVCQWlNN0IsUUFBUTs0Q0FFUixRQUFRLFlBQ1IsTUFBTSxTQUFDLGVBQWU7OztrQkFuRTFCLEtBQUs7b0JBQ0wsS0FBSztvQkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBR0wsS0FBSzttQkFXTCxLQUFLO2tCQUNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFHTCxLQUFLO3dCQVNMLEtBQUs7NkJBQ0wsS0FBSzswQkFFTCxTQUFTLFNBQUMsYUFBYTtvQ0FDdkIsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQ0FFeEQsU0FBUyxTQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIFZpZXdDaGlsZCxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgT25DaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgdHJpZ2dlcixcbiAgICBzdGF0ZSxcbiAgICBzdHlsZSxcbiAgICB0cmFuc2l0aW9uLFxuICAgIGFuaW1hdGUsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBHYWxsZXJ5LFxuICAgIEdhbGxlcnlDb25maWcsXG4gICAgTG9hZGluZ1N0cmF0ZWd5LFxuICAgIFNsaWRpbmdEaXJlY3Rpb24sXG4gICAgVGh1bWJuYWlsc1Bvc2l0aW9uLFxuICAgIEdhbGxlcnlJdGVtLFxuICAgIEltYWdlSXRlbSxcbiAgICBHYWxsZXJ5UmVmLFxufSBmcm9tICduZy1nYWxsZXJ5JztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcEZpbGVTZXJ2aWNlLFxuICAgIFBlcEhvcml6b250YWxBbGlnbm1lbnQsXG4gICAgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVCxcbiAgICBQZXBJbWFnZXNGaWVsZCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBwZXBJY29uQXJyb3dSaWdodEFsdCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgcGVwSWNvbk5vSW1hZ2UyIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5cbmltcG9ydCAnaGFtbWVyanMnO1xuXG5pbnRlcmZhY2UgSVBlcEltYWdlc0ZpbG1zdHJpcERpYWxvZ0RhdGEge1xuICAgIGN1cnJJbmRleDogbnVtYmVyO1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBzaG93VGh1bWJuYWlsczogYm9vbGVhbjtcbn1cblxuLy8gZXhwb3J0IGNvbnN0IHNsaWRlSW5BbmltYXRpb24gPSB0cmlnZ2VyKCdzbGlkZUFuaW1hdGlvbicsIFtcbi8vICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxIH0pKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4vLyAgICAgICAgIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMTAwJSknLCBvcGFjaXR5OiAwIH0pLFxuLy8gICAgICAgICBhbmltYXRlKDQwMClcbi8vICAgICBdKSxcbi8vICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4vLyAgICAgICAgIGFuaW1hdGUoNDAwLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJywgb3BhY2l0eTogMCB9KSlcbi8vICAgICBdKVxuLy8gXSk7XG5cbmltcG9ydCB7XG4gICAgSU1BR0VWSUVXRVJfQ09ORklHLFxuICAgIEltYWdlVmlld2VyQ29uZmlnLFxuICAgIGNyZWF0ZUJ1dHRvbkNvbmZpZyxcbn0gZnJvbSAnQGhhbGx5c29uaC9uZ3gtaW1hZ2V2aWV3ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVmlld2VyQ29uZmlnKFxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuKTogSW1hZ2VWaWV3ZXJDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICAgIC8vIHdpZHRoOiA4NTAsXG4gICAgICAgIC8vIGhlaWdodDogMTUwLFxuICAgICAgICBiZ1N0eWxlOiAnI0ZGRicsIC8vIGNvbXBvbmVudCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vIHNjYWxlU3RlcDogMC4xLCAvLyB6b29tIHNjYWxlIHN0ZXAgKHVzaW5nIHRoZSB6b29tIGluL291dCBidXR0b25zKVxuICAgICAgICAvLyByb3RhdGVTdGVwcGVyOiBmYWxzZSwgLy8gdG91Y2ggcm90YXRlIHNob3VsZCByb3RhdGUgb25seSA5MCB0byA5MCBkZWdyZWVzXG4gICAgICAgIGxvYWRpbmdNZXNzYWdlOiB0cmFuc2xhdGUuaW5zdGFudCgnTUVTU0FHRVMuSU5GT19MT0FESU5HX0ZJTEUnKSwgLy8gJ0xvYWRpbmcuLi4nLFxuICAgICAgICAvLyBidXR0b25TdHlsZToge1xuICAgICAgICAvLyAgICAgaWNvbkZvbnRGYW1pbHk6ICdNYXRlcmlhbCBJY29ucycsIC8vIGZvbnQgdXNlZCB0byByZW5kZXIgdGhlIGJ1dHRvbiBpY29uc1xuICAgICAgICAvLyAgICAgYWxwaGE6IDAuNSwgLy8gYnV0dG9ucycgdHJhbnNwYXJlbmNlIHZhbHVlXG4gICAgICAgIC8vICAgICBob3ZlckFscGhhOiAwLjcsIC8vIGJ1dHRvbnMnIHRyYW5zcGFyZW5jZSB2YWx1ZSB3aGVuIG1vdXNlIGlzIG92ZXJcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gIGJ1dHRvbnMnIGJhY2tncm91bmQgc3R5bGVcbiAgICAgICAgLy8gICAgIGljb25TdHlsZTogJyNmZmZmZmYnLCAvLyBidXR0b25zJyBpY29uIGNvbG9yc1xuICAgICAgICAvLyAgICAgYm9yZGVyU3R5bGU6ICcjMDAwMDAwJywgLy8gYnV0dG9ucycgYm9yZGVyIHN0eWxlXG4gICAgICAgIC8vICAgICBib3JkZXJXaWR0aDogMCwgLy8gYnV0dG9ucycgYm9yZGVyIHdpZHRoICgwID09IGRpc2FibGVkKVxuICAgICAgICAvLyB9LFxuICAgICAgICAvLyB0b29sdGlwczoge1xuICAgICAgICAvLyAgICAgZW5hYmxlZDogdHJ1ZSwgLy8gZW5hYmxlIG9yIGRpc2FibGUgdG9vbHRpcHMgZm9yIGJ1dHRvbnNcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gdG9vbHRpcCBiYWNrZ3JvdW5kIHN0eWxlXG4gICAgICAgIC8vICAgICBiZ0FscGhhOiAwLjUsIC8vIHRvb2x0aXAgYmFja2dyb3VuZCB0cmFuc3BhcmVuY2VcbiAgICAgICAgLy8gICAgIHRleHRTdHlsZTogJyNmZmZmZmYnLCAvLyB0b29sdGlwJ3MgdGV4dCBzdHlsZVxuICAgICAgICAvLyAgICAgdGV4dEFscGhhOiAwLjksIC8vIHRvb2x0aXAncyB0ZXh0IHRyYW5zcGFyZW5jZVxuICAgICAgICAvLyAgICAgcGFkZGluZzogMTUsIC8vIHRvb2x0aXAgcGFkZGluZ1xuICAgICAgICAvLyAgICAgcmFkaXVzOiAyMCwgLy8gdG9vbHRpcCBib3JkZXIgcmFkaXVzXG4gICAgICAgIC8vIH0sXG4gICAgICAgIC8vIHNob3J0ZXIgYnV0dG9uIGNvbmZpZ3VyYXRpb24gc3R5bGVcbiAgICAgICAgbmV4dFBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9uZXh0JyxcbiAgICAgICAgICAgICdOZXh0IHBhZ2UnLFxuICAgICAgICAgICAgMCxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIGJlZm9yZVBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICduYXZpZ2F0ZV9iZWZvcmUnLFxuICAgICAgICAgICAgJ1ByZXZpb3VzIHBhZ2UnLFxuICAgICAgICAgICAgMSxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHpvb21PdXRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZygnem9vbV9vdXQnLCAnWm9vbSBvdXQnLCAwLCBmYWxzZSksXG4gICAgICAgIHpvb21JbkJ1dHRvbjogY3JlYXRlQnV0dG9uQ29uZmlnKCd6b29tX2luJywgJ1pvb20gaW4nLCAxLCBmYWxzZSksXG4gICAgICAgIHJvdGF0ZUxlZnRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcbiAgICAgICAgICAgICdyb3RhdGVfbGVmdCcsXG4gICAgICAgICAgICAnUm90YXRlIGxlZnQnLFxuICAgICAgICAgICAgMixcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJvdGF0ZVJpZ2h0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoXG4gICAgICAgICAgICAncm90YXRlX3JpZ2h0JyxcbiAgICAgICAgICAgICdSb3RhdGUgcmlnaHQnLFxuICAgICAgICAgICAgMyxcbiAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICksXG4gICAgICAgIHJlc2V0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoJ2F1dG9yZW5ldycsICdSZXNldCcsIDQsIGZhbHNlKSxcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1pbWFnZXMtZmlsbXN0cmlwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuc2NzcyddLFxuICAgIC8vIGFuaW1hdGlvbnM6IFtzbGlkZUluQW5pbWF0aW9uXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogSU1BR0VWSUVXRVJfQ09ORklHLFxuICAgICAgICAgICAgLy8gdXNlVmFsdWU6IElNQUdFVklFV0VSX0NPTkZJR19ERUZBVUxULFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlVmlld2VyQ29uZmlnLFxuICAgICAgICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLy8gQFZpZXdDaGlsZCgnbmd4Vmlld2VySW1hZ2UnKSBuZ3hWaWV3ZXJJbWFnZTogYW55OyAvLyBUT0RPOiBDaGVjayBpZiB3ZSBuZWVkIHRvIHVzZSB0aGlzPz9cbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG5cbiAgICBwcml2YXRlIF9yb3dTcGFuID0gMTtcbiAgICBASW5wdXQoKVxuICAgIHNldCByb3dTcGFuKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3Jvd1NwYW4gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRGaWVsZEhlaWdodCgpO1xuICAgIH1cbiAgICBnZXQgcm93U3BhbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fcm93U3BhbjtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdpbWFnZXMnO1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbnVsbDtcbiAgICBASW5wdXQoKSB1aWQgPSAnMCc7XG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9sYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxheW91dFR5cGUodmFsdWU6IFBlcExheW91dFR5cGUpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0VHlwZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XG4gICAgfVxuICAgIGdldCBsYXlvdXRUeXBlKCk6IFBlcExheW91dFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0VHlwZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBjdXJySW5kZXggPSAwO1xuICAgIEBJbnB1dCgpIHNob3dUaHVtYm5haWxzID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdnYWxsZXJ5Q29udCcpIGdhbGxlcnlDb250OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnlEaWFsb2dUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgICBnYWxsZXJ5RGlhbG9nVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQFZpZXdDaGlsZCgnZ2FsbGVyeURpYWxvZ0NvbnQnKSBnYWxsZXJ5RGlhbG9nQ29udDogRWxlbWVudFJlZjtcblxuICAgIGNvbmZpZzogR2FsbGVyeUNvbmZpZztcbiAgICBpdGVtczogR2FsbGVyeUl0ZW1bXSA9IG51bGw7XG4gICAgaW5EaWFsb2cgPSBmYWxzZTtcblxuICAgIG1hbmRhdG9yeSA9IGZhbHNlO1xuICAgIHJlYWRvbmx5ID0gZmFsc2U7XG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBmaWVsZEhlaWdodCA9ICcnO1xuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcblxuICAgIGdhbGxlcnlXaWR0aCA9IDA7XG4gICAgZ2FsbGVyeUhlaWdodDtcbiAgICBpc1ZlcnRpY2FsID0gZmFsc2U7XG4gICAgZ2FsbGVyeVJlZjogR2FsbGVyeVJlZjtcbiAgICBkaWFsb2dHYWxsZXJ5UmVmOiBHYWxsZXJ5UmVmO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IFBlcERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZ2FsbGVyeTogR2FsbGVyeSxcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKVxuICAgICAgICBwcml2YXRlIGRhdGE6IElQZXBJbWFnZXNGaWxtc3RyaXBEaWFsb2dEYXRhXG4gICAgKSB7XG4gICAgICAgIC8vIElmIGRhdGEgZXhpc3QgY29weSBhbGwgZGF0YSBwcm9wZXJ0aWVzIGludG8gdGhpcy5cbiAgICAgICAgaWYgKGRpYWxvZ1JlZiAmJiBkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmluRGlhbG9nID0gdHJ1ZTtcblxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgICAgICAgLy8gbmF2OiBmYWxzZSwgLy8gU2hvdyBuYXZpZ2F0aW9uIGJ1dHRvbnNcbiAgICAgICAgICAgIG5hdkljb246IHBlcEljb25BcnJvd1JpZ2h0QWx0LmRhdGEsXG4gICAgICAgICAgICAvLyBsb29wOiB0cnVlLFxuICAgICAgICAgICAgLy8gem9vbU91dDogMCxcbiAgICAgICAgICAgIC8vIGRvdHM6IGZhbHNlLFxuICAgICAgICAgICAgLy8gZG90c1Bvc2l0aW9uOiAnYm90dG9tJyxcbiAgICAgICAgICAgIC8vIGNvdW50ZXJQb3NpdGlvbjogJ3RvcCcsXG4gICAgICAgICAgICAvLyB0aHVtYjogdHJ1ZSxcbiAgICAgICAgICAgIGNvdW50ZXI6IGZhbHNlLCAvLyBTaG93IGNvdW50ZXJcbiAgICAgICAgICAgIGdlc3R1cmVzOiB0cnVlLCAvLyBVc2UgdG91Y2ggZXZlbnRzIChyZXF1aXJlcyBoYW1tZXIuanMpXG4gICAgICAgICAgICAvLyBhdXRvUGxheTogZmFsc2UsXG4gICAgICAgICAgICAvLyB0aHVtYldpZHRoOiAxMjAsXG4gICAgICAgICAgICAvLyB0aHVtYkhlaWdodDogOTAsXG4gICAgICAgICAgICBpbWFnZVNpemU6ICdjb250YWluJyxcbiAgICAgICAgICAgIC8vIHBhblNlbnNpdGl2aXR5OiAyNSxcbiAgICAgICAgICAgIC8vIGRpc2FibGVUaHVtYjogZmFsc2UsXG4gICAgICAgICAgICAvLyBwbGF5ZXJJbnRlcnZhbDogMzAwMCxcbiAgICAgICAgICAgIC8vIHRodW1iTW9kZTogVGh1bWJuYWlsc01vZGUuRnJlZSxcbiAgICAgICAgICAgIC8vIHRodW1iUG9zaXRpb246IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b20sXG4gICAgICAgICAgICBsb2FkaW5nU3RyYXRlZ3k6IExvYWRpbmdTdHJhdGVneS5EZWZhdWx0LFxuICAgICAgICAgICAgLy8gc2xpZGluZ0RpcmVjdGlvbjogU2xpZGluZ0RpcmVjdGlvbi5Ib3Jpem9udGFsLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmllbGRIZWlnaHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUeXBlLFxuICAgICAgICAgICAgdGhpcy5yb3dTcGFuLFxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwSW1hZ2VzRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaW5EaWFsb2cpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RmllbGRIZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pdGVtcyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgaW1nQXJyID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUuc3BsaXQoJzsnKSA6IFtdO1xuICAgICAgICAgICAgLy8gYWRkIE5vIGltYWdlIGltYWdlIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2VzXG4gICAgICAgICAgICBpZiAoaW1nQXJyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXG4gICAgICAgICAgICAgICAgICAgIHBlcEljb25Ob0ltYWdlMi5kYXRhXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpbWdBcnIucHVzaChub0ltYWdlU3JjKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IGltZ0Fyci5tYXAoXG4gICAgICAgICAgICAgICAgKGltZykgPT4gbmV3IEltYWdlSXRlbSh7IHNyYzogaW1nLCB0aHVtYjogaW1nIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWcuZG90cyA9IHRoaXMuY29uZmlnLm5hdiA9IHRoaXMuaXRlbXMubGVuZ3RoID4gMTtcbiAgICAgICAgdGhpcy5jb25maWcudGh1bWIgPVxuICAgICAgICAgICAgKHRoaXMua2V5ID09PSAnSXRlbUZpbG1zdHJpcEltYWdlcycgfHwgdGhpcy5zaG93VGh1bWJuYWlscykgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoID4gMVxuICAgICAgICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgICAgICAgIDogZmFsc2U7XG4gICAgICAgIHRoaXMuY3VyckluZGV4ID1cbiAgICAgICAgICAgIHRoaXMua2V5ID09PSAnSXRlbUZpbG1zdHJpcEltYWdlcycgJiZcbiAgICAgICAgICAgIHRoaXMuY3VyckluZGV4ID09PSAwICYmXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICA/IE1hdGguZmxvb3IodGhpcy5pdGVtcy5sZW5ndGggLyAyKSAtIDFcbiAgICAgICAgICAgICAgICA6IHRoaXMuY3VyckluZGV4O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5EaWFsb2cpIHtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJEaWFsb2dPcGVuZWQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2FsbGVyeVJlZiA9IHRoaXMuZ2FsbGVyeS5yZWYoXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5rZXl9LSR7dGhpcy51aWR9LWdhbGxlcnlgXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5pbml0R2FsbGVyeVN0eWxlKHRoaXMuZ2FsbGVyeUNvbnQsIHRoaXMuZ2FsbGVyeVJlZik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdhbGxlcnlSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZ2FsbGVyeVJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nR2FsbGVyeVJlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZiAodGhpcy5teVBpbmNoKSB7IHRoaXMubXlQaW5jaC5kZXN0cm95KCk7IH1cbiAgICB9XG5cbiAgICBpbml0R2FsbGVyeVN0eWxlKGdhbGxlcnlDb250YWluZXIsIGdhbGxlcnlSZWYpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBTZXQgdGh1bWJuYWlscyBwb3NpdGlvbiBhbmQgc2xpZGluZyBkaXJlY3Rpb25cbiAgICAgICAgICAgIHRoaXMuc2V0VGh1bWJuYWlsRGltZW5zaW9uKGdhbGxlcnlDb250YWluZXIpO1xuICAgICAgICAgICAgZ2FsbGVyeVJlZi5zZXRDb25maWcodGhpcy5jb25maWcpO1xuICAgICAgICB9LCAwKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmN1cnJJbmRleDtcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGdhbGxlcnlSZWYubG9hZCh0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgICAgICBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZ2FsbGVyeVJlZi5sb2FkKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FcnJvcihlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXG4gICAgICAgICAgICBwZXBJY29uTm9JbWFnZTIuZGF0YVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBub2ltZyA9IG5ldyBJbWFnZUl0ZW0oeyBzcmM6IG5vSW1hZ2VTcmMsIHRodW1iOiBub0ltYWdlU3JjIH0pO1xuICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShlLml0ZW1JbmRleCwgMSwgbm9pbWcpO1xuICAgIH1cblxuICAgIGVubGFyZ2VJbWFnZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoe30sICdpbmxpbmUnKTtcbiAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xuICAgICAgICBjb25maWcuaGVpZ2h0ID0gJzk1dmgnO1xuXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5RGlhbG9nVGVtcGxhdGUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY3VyckluZGV4OiB0aGlzLmN1cnJJbmRleCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcblxuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBVcGRhdGUgY3VycmVudEluZGV4IGluIGdhbGxlcnlSZWZcbiAgICAgICAgLy8gZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMuZ2FsbGVyeVJlZi5zZXQodGhpcy5jdXJySW5kZXgpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBhZnRlckRpYWxvZ09wZW5lZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmID0gdGhpcy5nYWxsZXJ5LnJlZihcbiAgICAgICAgICAgIGAke3RoaXMua2V5fS0ke3RoaXMudWlkfS1kbGdHYWxsZXJ5YFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmluaXRHYWxsZXJ5U3R5bGUodGhpcy5nYWxsZXJ5RGlhbG9nQ29udCwgdGhpcy5kaWFsb2dHYWxsZXJ5UmVmKTtcbiAgICB9XG5cbiAgICBzZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdhbGxlcnlXaWR0aCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgLy8gdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyOyAvLyBUT0RPIC0gVEFMSyBXSVRIIFRPTUVSXG4gICAgICAgIHRoaXMuZ2FsbGVyeUhlaWdodCA9IHRoaXMuaW5EaWFsb2dcbiAgICAgICAgICAgID8gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyXG4gICAgICAgICAgICA6IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIC8vIHRoaXMuZ2FsbGVyeUhlaWdodCA9IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLSAzMjtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsID0gdGhpcy5nYWxsZXJ5V2lkdGggPCB0aGlzLmdhbGxlcnlIZWlnaHQ7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICBsZXQgd2lkdGggPVxuICAgICAgICAgICAgICAgICh0aGlzLmdhbGxlcnlXaWR0aCAtICh0aGlzLml0ZW1zLmxlbmd0aCAtIDEpICogMTYpIC9cbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIHdpZHRoID0gTWF0aC5taW4oTWF0aC5tYXgod2lkdGgsIDI0KSwgOTYpO1xuXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aHVtYkhlaWdodCA9IHdpZHRoO1xuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJXaWR0aCA9IHdpZHRoICsgMTY7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID1cbiAgICAgICAgICAgICAgICAodGhpcy5nYWxsZXJ5SGVpZ2h0IC0gKHRoaXMuaXRlbXMubGVuZ3RoIC0gMSkgKiAxNikgL1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4oTWF0aC5tYXgoaGVpZ2h0LCAyNCksIDk2KTtcblxuICAgICAgICAgICAgdGhpcy5jb25maWcudGh1bWJIZWlnaHQgPSBoZWlnaHQgKyAxNjtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnRodW1iV2lkdGggPSBoZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYlBvc2l0aW9uID0gdGhpcy5pc1ZlcnRpY2FsXG4gICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5Cb3R0b21cbiAgICAgICAgICAgIDogdGhpcy5sYXlvdXRTZXJ2aWNlLmlzUnRsKClcbiAgICAgICAgICAgID8gVGh1bWJuYWlsc1Bvc2l0aW9uLlJpZ2h0XG4gICAgICAgICAgICA6IFRodW1ibmFpbHNQb3NpdGlvbi5MZWZ0O1xuICAgICAgICB0aGlzLmNvbmZpZy5zbGlkaW5nRGlyZWN0aW9uID1cbiAgICAgICAgICAgIHRoaXMua2V5ICE9PSAnSXRlbUZpbG1zdHJpcEltYWdlcydcbiAgICAgICAgICAgICAgICA/IFNsaWRpbmdEaXJlY3Rpb24uSG9yaXpvbnRhbFxuICAgICAgICAgICAgICAgIDogdGhpcy5pc1ZlcnRpY2FsXG4gICAgICAgICAgICAgICAgPyBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWxcbiAgICAgICAgICAgICAgICA6IFNsaWRpbmdEaXJlY3Rpb24uVmVydGljYWw7XG5cbiAgICAgICAgdGhpcy5jb25maWcuaW1hZ2VTaXplID0gJ2NvbnRhaW4nO1xuICAgIH1cblxuICAgIGluZGV4Q2hhbmdlKGl0ZW06IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJJbmRleCA9IGl0ZW0uY3VyckluZGV4O1xuICAgICAgICAvLyBpZiAodGhpcy5uZ3hWaWV3ZXJJbWFnZSAmJiB0aGlzLm5neFZpZXdlckltYWdlLnNjYWxlKSB7XG4gICAgICAgIC8vICAgICB0aGlzLm5neFZpZXdlckltYWdlLnNjYWxlID0gMTtcbiAgICAgICAgLy8gICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIC8vIHNjcm9sbEZ1bmN0aW9uKGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIC8vICAgICBlLmRlbHRhWSA+IDAgPyB0aGlzLnpvb21PdXQoKSA6IHRoaXMuem9vbUluKCk7XG4gICAgLy8gICAgIHJldHVybiBmYWxzZTtcbiAgICAvLyB9XG5cbiAgICAvLyB6b29tSW4oKTogdm9pZCB7XG4gICAgLy8gICAgIGlmICh0aGlzLm5neFZpZXdlckltYWdlLnNjYWxlIDwgMikge1xuICAgIC8vICAgICAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSAqPSAoMSArIHRoaXMubmd4Vmlld2VySW1hZ2UuY29uZmlnLnpvb21GYWN0b3IpO1xuICAgIC8vICAgICB9IGVsc2Uge1xuICAgIC8vICAgICAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA9IDI7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgICAgdGhpcy51cGRhdGVTdHlsZSgpO1xuICAgIC8vIH1cblxuICAgIC8vIHpvb21PdXQoKTogdm9pZCB7XG4gICAgLy8gICAgIGlmICh0aGlzLm5neFZpZXdlckltYWdlLnNjYWxlID4gdGhpcy5uZ3hWaWV3ZXJJbWFnZS5jb25maWcuem9vbUZhY3Rvcikge1xuICAgIC8vICAgICAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSAvPSAoMSArIHRoaXMubmd4Vmlld2VySW1hZ2UuY29uZmlnLnpvb21GYWN0b3IpO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcbiAgICAvLyB9XG5cbiAgICAvLyBwcml2YXRlIHVwZGF0ZVN0eWxlKCk6IHZvaWQge1xuICAgIC8vICAgICB0aGlzLm5neFZpZXdlckltYWdlLnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHt0aGlzLm5neFZpZXdlckltYWdlLnRyYW5zbGF0ZVh9cHgsXG4gICAgLy8gICAgICAgICAke3RoaXMubmd4Vmlld2VySW1hZ2UudHJhbnNsYXRlWX1weCkgcm90YXRlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS5yb3RhdGlvbn1kZWcpIHNjYWxlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZX0pYDtcblxuICAgIC8vICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAvLyB9XG59XG4iXX0=
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBSVQsVUFBVSxFQUNWLEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixNQUFNLEVBQ04sUUFBUSxHQUdYLE1BQU0sZUFBZSxDQUFDO0FBU3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUNILE9BQU8sRUFFUCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixTQUFTLEdBRVosTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUNILHVCQUF1QixFQUV2QixnQkFBZ0IsRUFDaEIsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixjQUFjLEdBQ2pCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sVUFBVSxDQUFDO0FBV2xCLDhEQUE4RDtBQUM5RCxzRUFBc0U7QUFDdEUsNkJBQTZCO0FBQzdCLGlFQUFpRTtBQUNqRSx1QkFBdUI7QUFDdkIsVUFBVTtBQUNWLDZCQUE2QjtBQUM3Qiw4RUFBOEU7QUFDOUUsU0FBUztBQUNULE1BQU07QUFFTixPQUFPLEVBQ0gsa0JBQWtCLEVBRWxCLGtCQUFrQixHQUNyQixN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TCxLQUFLOzBCQUNMLEtBQUs7eUJBR0wsS0FBSzt3QkFTTCxLQUFLOzZCQUNMLEtBQUs7MEJBRUwsU0FBUyxTQUFDLGFBQWE7b0NBQ3ZCLFNBQVMsU0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0NBRXhELFNBQVMsU0FBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBJbnB1dCxcclxuICAgIFRlbXBsYXRlUmVmLFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBJbmplY3QsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBPbkNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICB0cmlnZ2VyLFxyXG4gICAgc3RhdGUsXHJcbiAgICBzdHlsZSxcclxuICAgIHRyYW5zaXRpb24sXHJcbiAgICBhbmltYXRlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgR2FsbGVyeSxcclxuICAgIEdhbGxlcnlDb25maWcsXHJcbiAgICBMb2FkaW5nU3RyYXRlZ3ksXHJcbiAgICBTbGlkaW5nRGlyZWN0aW9uLFxyXG4gICAgVGh1bWJuYWlsc1Bvc2l0aW9uLFxyXG4gICAgR2FsbGVyeUl0ZW0sXHJcbiAgICBJbWFnZUl0ZW0sXHJcbiAgICBHYWxsZXJ5UmVmLFxyXG59IGZyb20gJ25nLWdhbGxlcnknO1xyXG5pbXBvcnQge1xyXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXHJcbiAgICBQZXBMYXlvdXRUeXBlLFxyXG4gICAgUGVwTGF5b3V0U2VydmljZSxcclxuICAgIFBlcEZpbGVTZXJ2aWNlLFxyXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcclxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXHJcbiAgICBQZXBJbWFnZXNGaWVsZCxcclxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XHJcbmltcG9ydCB7IFBlcERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xyXG5pbXBvcnQgeyBwZXBJY29uQXJyb3dSaWdodEFsdCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xyXG5pbXBvcnQgeyBwZXBJY29uTm9JbWFnZTIgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9pY29uJztcclxuXHJcbmltcG9ydCAnaGFtbWVyanMnO1xyXG5cclxuaW50ZXJmYWNlIElQZXBJbWFnZXNGaWxtc3RyaXBEaWFsb2dEYXRhIHtcclxuICAgIGN1cnJJbmRleDogbnVtYmVyO1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHVpZDogc3RyaW5nO1xyXG4gICAgc2hvd1RodW1ibmFpbHM6IGJvb2xlYW47XHJcbn1cclxuXHJcbi8vIGV4cG9ydCBjb25zdCBzbGlkZUluQW5pbWF0aW9uID0gdHJpZ2dlcignc2xpZGVBbmltYXRpb24nLCBbXHJcbi8vICAgICBzdGF0ZSgnaW4nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLCBvcGFjaXR5OiAxIH0pKSxcclxuLy8gICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuLy8gICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJywgb3BhY2l0eTogMCB9KSxcclxuLy8gICAgICAgICBhbmltYXRlKDQwMClcclxuLy8gICAgIF0pLFxyXG4vLyAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xyXG4vLyAgICAgICAgIGFuaW1hdGUoNDAwLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTEwMCUpJywgb3BhY2l0eTogMCB9KSlcclxuLy8gICAgIF0pXHJcbi8vIF0pO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIElNQUdFVklFV0VSX0NPTkZJRyxcclxuICAgIEltYWdlVmlld2VyQ29uZmlnLFxyXG4gICAgY3JlYXRlQnV0dG9uQ29uZmlnLFxyXG59IGZyb20gJ0BoYWxseXNvbmgvbmd4LWltYWdldmlld2VyJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaWV3ZXJDb25maWcoXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcclxuKTogSW1hZ2VWaWV3ZXJDb25maWcge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAvLyB3aWR0aDogODUwLFxyXG4gICAgICAgIC8vIGhlaWdodDogMTUwLFxyXG4gICAgICAgIGJnU3R5bGU6ICcjRkZGJywgLy8gY29tcG9uZW50IGJhY2tncm91bmQgc3R5bGVcclxuICAgICAgICAvLyBzY2FsZVN0ZXA6IDAuMSwgLy8gem9vbSBzY2FsZSBzdGVwICh1c2luZyB0aGUgem9vbSBpbi9vdXQgYnV0dG9ucylcclxuICAgICAgICAvLyByb3RhdGVTdGVwcGVyOiBmYWxzZSwgLy8gdG91Y2ggcm90YXRlIHNob3VsZCByb3RhdGUgb25seSA5MCB0byA5MCBkZWdyZWVzXHJcbiAgICAgICAgbG9hZGluZ01lc3NhZ2U6IHRyYW5zbGF0ZS5pbnN0YW50KCdNRVNTQUdFUy5JTkZPX0xPQURJTkdfRklMRScpLCAvLyAnTG9hZGluZy4uLicsXHJcbiAgICAgICAgLy8gYnV0dG9uU3R5bGU6IHtcclxuICAgICAgICAvLyAgICAgaWNvbkZvbnRGYW1pbHk6ICdNYXRlcmlhbCBJY29ucycsIC8vIGZvbnQgdXNlZCB0byByZW5kZXIgdGhlIGJ1dHRvbiBpY29uc1xyXG4gICAgICAgIC8vICAgICBhbHBoYTogMC41LCAvLyBidXR0b25zJyB0cmFuc3BhcmVuY2UgdmFsdWVcclxuICAgICAgICAvLyAgICAgaG92ZXJBbHBoYTogMC43LCAvLyBidXR0b25zJyB0cmFuc3BhcmVuY2UgdmFsdWUgd2hlbiBtb3VzZSBpcyBvdmVyXHJcbiAgICAgICAgLy8gICAgIGJnU3R5bGU6ICcjMDAwMDAwJywgLy8gIGJ1dHRvbnMnIGJhY2tncm91bmQgc3R5bGVcclxuICAgICAgICAvLyAgICAgaWNvblN0eWxlOiAnI2ZmZmZmZicsIC8vIGJ1dHRvbnMnIGljb24gY29sb3JzXHJcbiAgICAgICAgLy8gICAgIGJvcmRlclN0eWxlOiAnIzAwMDAwMCcsIC8vIGJ1dHRvbnMnIGJvcmRlciBzdHlsZVxyXG4gICAgICAgIC8vICAgICBib3JkZXJXaWR0aDogMCwgLy8gYnV0dG9ucycgYm9yZGVyIHdpZHRoICgwID09IGRpc2FibGVkKVxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLy8gdG9vbHRpcHM6IHtcclxuICAgICAgICAvLyAgICAgZW5hYmxlZDogdHJ1ZSwgLy8gZW5hYmxlIG9yIGRpc2FibGUgdG9vbHRpcHMgZm9yIGJ1dHRvbnNcclxuICAgICAgICAvLyAgICAgYmdTdHlsZTogJyMwMDAwMDAnLCAvLyB0b29sdGlwIGJhY2tncm91bmQgc3R5bGVcclxuICAgICAgICAvLyAgICAgYmdBbHBoYTogMC41LCAvLyB0b29sdGlwIGJhY2tncm91bmQgdHJhbnNwYXJlbmNlXHJcbiAgICAgICAgLy8gICAgIHRleHRTdHlsZTogJyNmZmZmZmYnLCAvLyB0b29sdGlwJ3MgdGV4dCBzdHlsZVxyXG4gICAgICAgIC8vICAgICB0ZXh0QWxwaGE6IDAuOSwgLy8gdG9vbHRpcCdzIHRleHQgdHJhbnNwYXJlbmNlXHJcbiAgICAgICAgLy8gICAgIHBhZGRpbmc6IDE1LCAvLyB0b29sdGlwIHBhZGRpbmdcclxuICAgICAgICAvLyAgICAgcmFkaXVzOiAyMCwgLy8gdG9vbHRpcCBib3JkZXIgcmFkaXVzXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICAvLyBzaG9ydGVyIGJ1dHRvbiBjb25maWd1cmF0aW9uIHN0eWxlXHJcbiAgICAgICAgbmV4dFBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcclxuICAgICAgICAgICAgJ25hdmlnYXRlX25leHQnLFxyXG4gICAgICAgICAgICAnTmV4dCBwYWdlJyxcclxuICAgICAgICAgICAgMCxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApLFxyXG4gICAgICAgIGJlZm9yZVBhZ2VCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZyhcclxuICAgICAgICAgICAgJ25hdmlnYXRlX2JlZm9yZScsXHJcbiAgICAgICAgICAgICdQcmV2aW91cyBwYWdlJyxcclxuICAgICAgICAgICAgMSxcclxuICAgICAgICAgICAgZmFsc2VcclxuICAgICAgICApLFxyXG4gICAgICAgIHpvb21PdXRCdXR0b246IGNyZWF0ZUJ1dHRvbkNvbmZpZygnem9vbV9vdXQnLCAnWm9vbSBvdXQnLCAwLCBmYWxzZSksXHJcbiAgICAgICAgem9vbUluQnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoJ3pvb21faW4nLCAnWm9vbSBpbicsIDEsIGZhbHNlKSxcclxuICAgICAgICByb3RhdGVMZWZ0QnV0dG9uOiBjcmVhdGVCdXR0b25Db25maWcoXHJcbiAgICAgICAgICAgICdyb3RhdGVfbGVmdCcsXHJcbiAgICAgICAgICAgICdSb3RhdGUgbGVmdCcsXHJcbiAgICAgICAgICAgIDIsXHJcbiAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgKSxcclxuICAgICAgICByb3RhdGVSaWdodEJ1dHRvbjogY3JlYXRlQnV0dG9uQ29uZmlnKFxyXG4gICAgICAgICAgICAncm90YXRlX3JpZ2h0JyxcclxuICAgICAgICAgICAgJ1JvdGF0ZSByaWdodCcsXHJcbiAgICAgICAgICAgIDMsXHJcbiAgICAgICAgICAgIGZhbHNlXHJcbiAgICAgICAgKSxcclxuICAgICAgICByZXNldEJ1dHRvbjogY3JlYXRlQnV0dG9uQ29uZmlnKCdhdXRvcmVuZXcnLCAnUmVzZXQnLCA0LCBmYWxzZSksXHJcbiAgICB9O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncGVwLWltYWdlcy1maWxtc3RyaXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQuc2NzcycsICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50LnRoZW1lLnNjc3MnXSxcclxuICAgIC8vIGFuaW1hdGlvbnM6IFtzbGlkZUluQW5pbWF0aW9uXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogSU1BR0VWSUVXRVJfQ09ORklHLFxyXG4gICAgICAgICAgICAvLyB1c2VWYWx1ZTogSU1BR0VWSUVXRVJfQ09ORklHX0RFRkFVTFQsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZVZpZXdlckNvbmZpZyxcclxuICAgICAgICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVwSW1hZ2VzRmlsbXN0cmlwQ29tcG9uZW50XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLy8gQFZpZXdDaGlsZCgnbmd4Vmlld2VySW1hZ2UnKSBuZ3hWaWV3ZXJJbWFnZTogYW55OyAvLyBUT0RPOiBDaGVjayBpZiB3ZSBuZWVkIHRvIHVzZSB0aGlzPz9cclxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xyXG4gICAgQElucHV0KCkgdmFsdWUgPSAnJztcclxuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcclxuXHJcbiAgICBwcml2YXRlIF9yb3dTcGFuID0gMTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgcm93U3Bhbih2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuX3Jvd1NwYW4gPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnNldEZpZWxkSGVpZ2h0KCk7XHJcbiAgICB9XHJcbiAgICBnZXQgcm93U3BhbigpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9yb3dTcGFuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRyb2xUeXBlID0gJ2ltYWdlcyc7XHJcblxyXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHVpZCA9ICcwJztcclxuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVuZGVyVGl0bGUgPSB0cnVlO1xyXG5cclxuICAgIHByaXZhdGUgX2xheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGxheW91dFR5cGUodmFsdWU6IFBlcExheW91dFR5cGUpIHtcclxuICAgICAgICB0aGlzLl9sYXlvdXRUeXBlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5zZXRGaWVsZEhlaWdodCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IGxheW91dFR5cGUoKTogUGVwTGF5b3V0VHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dFR5cGU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgY3VyckluZGV4ID0gMDtcclxuICAgIEBJbnB1dCgpIHNob3dUaHVtYm5haWxzID0gZmFsc2U7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgnZ2FsbGVyeUNvbnQnKSBnYWxsZXJ5Q29udDogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnlEaWFsb2dUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSlcclxuICAgIGdhbGxlcnlEaWFsb2dUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBWaWV3Q2hpbGQoJ2dhbGxlcnlEaWFsb2dDb250JykgZ2FsbGVyeURpYWxvZ0NvbnQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uZmlnOiBHYWxsZXJ5Q29uZmlnO1xyXG4gICAgaXRlbXM6IEdhbGxlcnlJdGVtW10gPSBudWxsO1xyXG4gICAgaW5EaWFsb2cgPSBmYWxzZTtcclxuXHJcbiAgICBtYW5kYXRvcnkgPSBmYWxzZTtcclxuICAgIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgZmllbGRIZWlnaHQgPSAnJztcclxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcclxuXHJcbiAgICBnYWxsZXJ5V2lkdGggPSAwO1xyXG4gICAgZ2FsbGVyeUhlaWdodDtcclxuICAgIGlzVmVydGljYWwgPSBmYWxzZTtcclxuICAgIGdhbGxlcnlSZWY6IEdhbGxlcnlSZWY7XHJcbiAgICBkaWFsb2dHYWxsZXJ5UmVmOiBHYWxsZXJ5UmVmO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogUGVwRGlhbG9nU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGxheW91dFNlcnZpY2U6IFBlcExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBmaWxlU2VydmljZTogUGVwRmlsZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBnYWxsZXJ5OiBHYWxsZXJ5LFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgQE9wdGlvbmFsKClcclxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudD4sXHJcbiAgICAgICAgQE9wdGlvbmFsKClcclxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSlcclxuICAgICAgICBwcml2YXRlIGRhdGE6IElQZXBJbWFnZXNGaWxtc3RyaXBEaWFsb2dEYXRhXHJcbiAgICApIHtcclxuICAgICAgICAvLyBJZiBkYXRhIGV4aXN0IGNvcHkgYWxsIGRhdGEgcHJvcGVydGllcyBpbnRvIHRoaXMuXHJcbiAgICAgICAgaWYgKGRpYWxvZ1JlZiAmJiBkYXRhKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5EaWFsb2cgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoa2V5IGluIHRoaXMpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBkYXRhW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5jb25maWcgPSB7XHJcbiAgICAgICAgICAgIC8vIG5hdjogZmFsc2UsIC8vIFNob3cgbmF2aWdhdGlvbiBidXR0b25zXHJcbiAgICAgICAgICAgIG5hdkljb246IHBlcEljb25BcnJvd1JpZ2h0QWx0LmRhdGEsXHJcbiAgICAgICAgICAgIC8vIGxvb3A6IHRydWUsXHJcbiAgICAgICAgICAgIC8vIHpvb21PdXQ6IDAsXHJcbiAgICAgICAgICAgIC8vIGRvdHM6IGZhbHNlLFxyXG4gICAgICAgICAgICAvLyBkb3RzUG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgICAgICAgICAvLyBjb3VudGVyUG9zaXRpb246ICd0b3AnLFxyXG4gICAgICAgICAgICAvLyB0aHVtYjogdHJ1ZSxcclxuICAgICAgICAgICAgY291bnRlcjogZmFsc2UsIC8vIFNob3cgY291bnRlclxyXG4gICAgICAgICAgICBnZXN0dXJlczogdHJ1ZSwgLy8gVXNlIHRvdWNoIGV2ZW50cyAocmVxdWlyZXMgaGFtbWVyLmpzKVxyXG4gICAgICAgICAgICAvLyBhdXRvUGxheTogZmFsc2UsXHJcbiAgICAgICAgICAgIC8vIHRodW1iV2lkdGg6IDEyMCxcclxuICAgICAgICAgICAgLy8gdGh1bWJIZWlnaHQ6IDkwLFxyXG4gICAgICAgICAgICBpbWFnZVNpemU6ICdjb250YWluJyxcclxuICAgICAgICAgICAgLy8gcGFuU2Vuc2l0aXZpdHk6IDI1LFxyXG4gICAgICAgICAgICAvLyBkaXNhYmxlVGh1bWI6IGZhbHNlLFxyXG4gICAgICAgICAgICAvLyBwbGF5ZXJJbnRlcnZhbDogMzAwMCxcclxuICAgICAgICAgICAgLy8gdGh1bWJNb2RlOiBUaHVtYm5haWxzTW9kZS5GcmVlLFxyXG4gICAgICAgICAgICAvLyB0aHVtYlBvc2l0aW9uOiBUaHVtYm5haWxzUG9zaXRpb24uQm90dG9tLFxyXG4gICAgICAgICAgICBsb2FkaW5nU3RyYXRlZ3k6IExvYWRpbmdTdHJhdGVneS5EZWZhdWx0LFxyXG4gICAgICAgICAgICAvLyBzbGlkaW5nRGlyZWN0aW9uOiBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWwsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldEZpZWxkSGVpZ2h0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZmllbGRIZWlnaHQgPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmNhbGN1bGF0ZUZpZWxkSGVpZ2h0KFxyXG4gICAgICAgICAgICB0aGlzLmxheW91dFR5cGUsXHJcbiAgICAgICAgICAgIHRoaXMucm93U3BhbixcclxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHBlcEZpZWxkID0gbmV3IFBlcEltYWdlc0ZpZWxkKHtcclxuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXHJcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXHJcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5pbkRpYWxvZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YW5kQWxvbmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRGaWVsZEhlaWdodCgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0Rm9ybSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyVGl0bGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfTk9fU1BBQ0lOR19DTEFTU19OQU1FXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgY29uc3QgaW1nQXJyID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUuc3BsaXQoJzsnKSA6IFtdO1xyXG4gICAgICAgICAgICAvLyBhZGQgTm8gaW1hZ2UgaW1hZ2Ugd2hlbiB0aGVyZSBpcyBubyBpbWFnZXNcclxuICAgICAgICAgICAgaWYgKGltZ0Fyci5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXHJcbiAgICAgICAgICAgICAgICAgICAgcGVwSWNvbk5vSW1hZ2UyLmRhdGFcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBpbWdBcnIucHVzaChub0ltYWdlU3JjKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IGltZ0Fyci5tYXAoXHJcbiAgICAgICAgICAgICAgICAoaW1nKSA9PiBuZXcgSW1hZ2VJdGVtKHsgc3JjOiBpbWcsIHRodW1iOiBpbWcgfSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlnLmRvdHMgPSB0aGlzLmNvbmZpZy5uYXYgPSB0aGlzLml0ZW1zLmxlbmd0aCA+IDE7XHJcbiAgICAgICAgdGhpcy5jb25maWcudGh1bWIgPVxyXG4gICAgICAgICAgICAodGhpcy5rZXkgPT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJyB8fCB0aGlzLnNob3dUaHVtYm5haWxzKSAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPiAxXHJcbiAgICAgICAgICAgICAgICA/IHRydWVcclxuICAgICAgICAgICAgICAgIDogZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jdXJySW5kZXggPVxyXG4gICAgICAgICAgICB0aGlzLmtleSA9PT0gJ0l0ZW1GaWxtc3RyaXBJbWFnZXMnICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJJbmRleCA9PT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPiAxXHJcbiAgICAgICAgICAgICAgICA/IE1hdGguZmxvb3IodGhpcy5pdGVtcy5sZW5ndGggLyAyKSAtIDFcclxuICAgICAgICAgICAgICAgIDogdGhpcy5jdXJySW5kZXg7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmluRGlhbG9nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJEaWFsb2dPcGVuZWQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmdhbGxlcnlSZWYgPSB0aGlzLmdhbGxlcnkucmVmKFxyXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5rZXl9LSR7dGhpcy51aWR9LWdhbGxlcnlgXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdEdhbGxlcnlTdHlsZSh0aGlzLmdhbGxlcnlDb250LCB0aGlzLmdhbGxlcnlSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2FsbGVyeVJlZikge1xyXG4gICAgICAgICAgICB0aGlzLmdhbGxlcnlSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5kaWFsb2dHYWxsZXJ5UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nR2FsbGVyeVJlZi5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGlmICh0aGlzLm15UGluY2gpIHsgdGhpcy5teVBpbmNoLmRlc3Ryb3koKTsgfVxyXG4gICAgfVxyXG5cclxuICAgIGluaXRHYWxsZXJ5U3R5bGUoZ2FsbGVyeUNvbnRhaW5lciwgZ2FsbGVyeVJlZik6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyBTZXQgdGh1bWJuYWlscyBwb3NpdGlvbiBhbmQgc2xpZGluZyBkaXJlY3Rpb25cclxuICAgICAgICAgICAgdGhpcy5zZXRUaHVtYm5haWxEaW1lbnNpb24oZ2FsbGVyeUNvbnRhaW5lcik7XHJcbiAgICAgICAgICAgIGdhbGxlcnlSZWYuc2V0Q29uZmlnKHRoaXMuY29uZmlnKTtcclxuICAgICAgICB9LCAwKTtcclxuXHJcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy5jdXJySW5kZXg7XHJcbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA+IDApIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBnYWxsZXJ5UmVmLmxvYWQodGhpcy5pdGVtcyk7XHJcbiAgICAgICAgICAgICAgICBnYWxsZXJ5UmVmLnNldChjdXJyZW50SW5kZXgpO1xyXG4gICAgICAgICAgICB9LCAwKTtcclxuICAgICAgICAgICAgLy8gZ2FsbGVyeVJlZi5zZXQoY3VycmVudEluZGV4KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBnYWxsZXJ5UmVmLmxvYWQodGhpcy5pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRXJyb3IoZSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG5vSW1hZ2VTcmMgPSB0aGlzLmZpbGVTZXJ2aWNlLmdldFN2Z0FzSW1hZ2VTcmMoXHJcbiAgICAgICAgICAgIHBlcEljb25Ob0ltYWdlMi5kYXRhXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBub2ltZyA9IG5ldyBJbWFnZUl0ZW0oeyBzcmM6IG5vSW1hZ2VTcmMsIHRodW1iOiBub0ltYWdlU3JjIH0pO1xyXG4gICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGUuaXRlbUluZGV4LCAxLCBub2ltZyk7XHJcbiAgICB9XHJcblxyXG4gICAgZW5sYXJnZUltYWdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmRpYWxvZ1NlcnZpY2UuZ2V0RGlhbG9nQ29uZmlnKHt9LCAnaW5saW5lJyk7XHJcbiAgICAgICAgY29uZmlnLm1heFdpZHRoID0gJzc1dncnO1xyXG4gICAgICAgIGNvbmZpZy5oZWlnaHQgPSAnOTV2aCc7XHJcblxyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5vcGVuRGlhbG9nKFxyXG4gICAgICAgICAgICB0aGlzLmdhbGxlcnlEaWFsb2dUZW1wbGF0ZSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY3VyckluZGV4OiB0aGlzLmN1cnJJbmRleCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY29uZmlnXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgZGlhbG9nUmVmLmFmdGVyT3BlbmVkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hZnRlckRpYWxvZ09wZW5lZCgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAvLyBVcGRhdGUgY3VycmVudEluZGV4IGluIGdhbGxlcnlSZWZcclxuICAgICAgICAvLyBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICAgIC8vICAgICB0aGlzLmdhbGxlcnlSZWYuc2V0KHRoaXMuY3VyckluZGV4KTtcclxuICAgICAgICAvLyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZnRlckRpYWxvZ09wZW5lZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ0dhbGxlcnlSZWYgPSB0aGlzLmdhbGxlcnkucmVmKFxyXG4gICAgICAgICAgICBgJHt0aGlzLmtleX0tJHt0aGlzLnVpZH0tZGxnR2FsbGVyeWBcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuaW5pdEdhbGxlcnlTdHlsZSh0aGlzLmdhbGxlcnlEaWFsb2dDb250LCB0aGlzLmRpYWxvZ0dhbGxlcnlSZWYpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRodW1ibmFpbERpbWVuc2lvbihnYWxsZXJ5Q29udGFpbmVyKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nYWxsZXJ5V2lkdGggPSBnYWxsZXJ5Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgICAgICAgLy8gdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyOyAvLyBUT0RPIC0gVEFMSyBXSVRIIFRPTUVSXHJcbiAgICAgICAgdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gdGhpcy5pbkRpYWxvZ1xyXG4gICAgICAgICAgICA/IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLSAzMlxyXG4gICAgICAgICAgICA6IGdhbGxlcnlDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgLy8gdGhpcy5nYWxsZXJ5SGVpZ2h0ID0gZ2FsbGVyeUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtIDMyO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICB0aGlzLmlzVmVydGljYWwgPSB0aGlzLmdhbGxlcnlXaWR0aCA8IHRoaXMuZ2FsbGVyeUhlaWdodDtcclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XHJcbiAgICAgICAgICAgIGxldCB3aWR0aCA9XHJcbiAgICAgICAgICAgICAgICAodGhpcy5nYWxsZXJ5V2lkdGggLSAodGhpcy5pdGVtcy5sZW5ndGggLSAxKSAqIDE2KSAvXHJcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgd2lkdGggPSBNYXRoLm1pbihNYXRoLm1heCh3aWR0aCwgMjQpLCA5Nik7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aHVtYkhlaWdodCA9IHdpZHRoO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy50aHVtYldpZHRoID0gd2lkdGggKyAxNjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgaGVpZ2h0ID1cclxuICAgICAgICAgICAgICAgICh0aGlzLmdhbGxlcnlIZWlnaHQgLSAodGhpcy5pdGVtcy5sZW5ndGggLSAxKSAqIDE2KSAvXHJcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aDtcclxuICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5taW4oTWF0aC5tYXgoaGVpZ2h0LCAyNCksIDk2KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnRodW1iSGVpZ2h0ID0gaGVpZ2h0ICsgMTY7XHJcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnRodW1iV2lkdGggPSBoZWlnaHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNvbmZpZy50aHVtYlBvc2l0aW9uID0gdGhpcy5pc1ZlcnRpY2FsXHJcbiAgICAgICAgICAgID8gVGh1bWJuYWlsc1Bvc2l0aW9uLkJvdHRvbVxyXG4gICAgICAgICAgICA6IHRoaXMubGF5b3V0U2VydmljZS5pc1J0bCgpXHJcbiAgICAgICAgICAgICAgICA/IFRodW1ibmFpbHNQb3NpdGlvbi5SaWdodFxyXG4gICAgICAgICAgICAgICAgOiBUaHVtYm5haWxzUG9zaXRpb24uTGVmdDtcclxuICAgICAgICB0aGlzLmNvbmZpZy5zbGlkaW5nRGlyZWN0aW9uID1cclxuICAgICAgICAgICAgdGhpcy5rZXkgIT09ICdJdGVtRmlsbXN0cmlwSW1hZ2VzJ1xyXG4gICAgICAgICAgICAgICAgPyBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWxcclxuICAgICAgICAgICAgICAgIDogdGhpcy5pc1ZlcnRpY2FsXHJcbiAgICAgICAgICAgICAgICAgICAgPyBTbGlkaW5nRGlyZWN0aW9uLkhvcml6b250YWxcclxuICAgICAgICAgICAgICAgICAgICA6IFNsaWRpbmdEaXJlY3Rpb24uVmVydGljYWw7XHJcblxyXG4gICAgICAgIHRoaXMuY29uZmlnLmltYWdlU2l6ZSA9ICdjb250YWluJztcclxuICAgIH1cclxuXHJcbiAgICBpbmRleENoYW5nZShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmN1cnJJbmRleCA9IGl0ZW0uY3VyckluZGV4O1xyXG4gICAgICAgIC8vIGlmICh0aGlzLm5neFZpZXdlckltYWdlICYmIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUpIHtcclxuICAgICAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZSA9IDE7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudXBkYXRlU3R5bGUoKTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2Nyb2xsRnVuY3Rpb24oZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICAvLyAgICAgZS5kZWx0YVkgPiAwID8gdGhpcy56b29tT3V0KCkgOiB0aGlzLnpvb21JbigpO1xyXG4gICAgLy8gICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAvLyB6b29tSW4oKTogdm9pZCB7XHJcbiAgICAvLyAgICAgaWYgKHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgPCAyKSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgKj0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICB0aGlzLm5neFZpZXdlckltYWdlLnNjYWxlID0gMjtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgdGhpcy51cGRhdGVTdHlsZSgpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHpvb21PdXQoKTogdm9pZCB7XHJcbiAgICAvLyAgICAgaWYgKHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgPiB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMubmd4Vmlld2VySW1hZ2Uuc2NhbGUgLz0gKDEgKyB0aGlzLm5neFZpZXdlckltYWdlLmNvbmZpZy56b29tRmFjdG9yKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgdGhpcy51cGRhdGVTdHlsZSgpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC8vIHByaXZhdGUgdXBkYXRlU3R5bGUoKTogdm9pZCB7XHJcbiAgICAvLyAgICAgdGhpcy5uZ3hWaWV3ZXJJbWFnZS5zdHlsZS50cmFuc2Zvcm0gPSBgdHJhbnNsYXRlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS50cmFuc2xhdGVYfXB4LFxyXG4gICAgLy8gICAgICAgICAke3RoaXMubmd4Vmlld2VySW1hZ2UudHJhbnNsYXRlWX1weCkgcm90YXRlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS5yb3RhdGlvbn1kZWcpIHNjYWxlKCR7dGhpcy5uZ3hWaWV3ZXJJbWFnZS5zY2FsZX0pYDtcclxuXHJcbiAgICAvLyAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAvLyB9XHJcbn1cclxuIl19
@@ -66,4 +66,4 @@ PepImagesFilmstripModule.decorators = [
66
66
  PepImagesFilmstripModule.ctorParameters = () => [
67
67
  { type: PepIconRegistry }
68
68
  ];
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUN0QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBd0MzRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUMvQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7U0FDdEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBOUNKLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQiw4QkFBOEI7b0JBQzlCLCtFQUErRTtvQkFDL0UseUVBQXlFO29CQUN6RSw0SEFBNEg7b0JBQzVILDBFQUEwRTtvQkFDMUUseUhBQXlIO29CQUN6SCxrQkFBa0I7b0JBQ2xCLGdHQUFnRztvQkFDaEcsZ0NBQWdDO29CQUNoQyxrQ0FBa0M7b0JBQ2xDLDJDQUEyQztvQkFDM0MsZ0RBQWdEO29CQUNoRCxxQ0FBcUM7b0JBQ3JDLG9DQUFvQztvQkFDcEMseUNBQXlDO29CQUN6QyxRQUFRO29CQUNSLE1BQU07b0JBQ04sa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsbUJBQW1CO29CQUNuQixlQUFlO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDdEMsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7YUFDOUM7OztZQWxERyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgUGVwRmllbGRUaXRsZU1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ZpZWxkLXRpdGxlJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbUVkaXQsXG4gICAgcGVwSWNvblN5c3RlbUNsb3NlLFxuICAgIHBlcEljb25BcnJvd1JpZ2h0QWx0LFxuICAgIHBlcEljb25BcnJvd0xlZnRBbHQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuaW1wb3J0IHsgR2FsbGVyeU1vZHVsZSB9IGZyb20gJ25nLWdhbGxlcnknO1xuaW1wb3J0IHsgSW1hZ2VWaWV3ZXJNb2R1bGUgfSBmcm9tICdAaGFsbHlzb25oL25neC1pbWFnZXZpZXdlcic7XG5cbmltcG9ydCB7IFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxuICAgICAgICBNYXRDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICAvLyBFeHRlcm5hbCBtb2R1bGVzXG4gICAgICAgIEdhbGxlcnlNb2R1bGUsXG4gICAgICAgIEltYWdlVmlld2VyTW9kdWxlLFxuICAgICAgICAvLyBJbWFnZVZpZXdlck1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgLy8gICAgIGJ0bkNsYXNzOiAnZGVmYXVsdCcsIC8vIFRoZSBDU1MgY2xhc3MoZXMpIHRoYXQgd2lsbCBhcHBseSB0byB0aGUgYnV0dG9uc1xuICAgICAgICAvLyAgICAgem9vbUZhY3RvcjogMC4xLCAvLyBUaGUgYW1vdW50IHRoYXQgdGhlIHNjYWxlIHdpbGwgYmUgaW5jcmVhc2VkIGJ5XG4gICAgICAgIC8vICAgICBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsIC8vIFRoZSBjb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kLiBUaGlzIGNhbiBwcm92aWRlZCBpbiBoZXgsIG9yIHJnYihhKS5cbiAgICAgICAgLy8gICAgIHdoZWVsWm9vbTogdHJ1ZSwgLy8gSWYgdHJ1ZSwgdGhlIG1vdXNlIHdoZWVsIGNhbiBiZSB1c2VkIHRvIHpvb20gaW5cbiAgICAgICAgLy8gICAgIGFsbG93RnVsbHNjcmVlbjogZmFsc2UsIC8vIElmIHRydWUsIHRoZSBmdWxsc2NyZWVuIGJ1dHRvbiB3aWxsIGJlIHNob3duLCBhbGxvd2luZyB0aGUgdXNlciB0byBlbnRyIGZ1bGxzY3JlZW4gbW9kZVxuICAgICAgICAvLyAgICAgYnRuSWNvbnM6IHtcbiAgICAgICAgLy8gICAgICAgICAvLyBUaGUgaWNvbiBjbGFzc2VzIHRoYXQgd2lsbCBhcHBseSB0byB0aGUgYnV0dG9ucy4gQnkgZGVmYXVsdCwgZm9udC1hd2Vzb21lIGlzIHVzZWQuXG4gICAgICAgIC8vICAgICAgICAgem9vbUluOiAnZmEgZmEtcGx1cycsXG4gICAgICAgIC8vICAgICAgICAgem9vbU91dDogJ2ZhIGZhLW1pbnVzJyxcbiAgICAgICAgLy8gICAgICAgICByb3RhdGVDbG9ja3dpc2U6ICdmYSBmYS1yZXBlYXQnLFxuICAgICAgICAvLyAgICAgICAgIHJvdGF0ZUNvdW50ZXJDbG9ja3dpc2U6ICdmYSBmYS11bmRvJyxcbiAgICAgICAgLy8gICAgICAgICBuZXh0OiAnZmEgZmEtYXJyb3ctcmlnaHQnLFxuICAgICAgICAvLyAgICAgICAgIHByZXY6ICdmYSBmYS1hcnJvdy1sZWZ0JyxcbiAgICAgICAgLy8gICAgICAgICBmdWxsc2NyZWVuOiAnZmEgZmEtYXJyb3dzLWFsdCdcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSksXG4gICAgICAgIC8vIG5neC1saWIgbW9kdWxlc1xuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcEljb25Nb2R1bGUsXG4gICAgICAgIFBlcEZpZWxkVGl0bGVNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1BlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlc0ZpbG1zdHJpcE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwZXBJY29uUmVnaXN0cnk6IFBlcEljb25SZWdpc3RyeSkge1xuICAgICAgICB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1FZGl0LFxuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUNsb3NlLFxuICAgICAgICAgICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXG4gICAgICAgICAgICBwZXBJY29uQXJyb3dMZWZ0QWx0LFxuICAgICAgICBdKTtcbiAgICB9XG59XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2ltYWdlcy1maWxtc3RyaXAvaW1hZ2VzLWZpbG1zdHJpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUN0QixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBd0MzRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUMvQixpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQixtQkFBbUI7U0FDdEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBOUNKLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixrQkFBa0I7b0JBQ2xCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQiw4QkFBOEI7b0JBQzlCLCtFQUErRTtvQkFDL0UseUVBQXlFO29CQUN6RSw0SEFBNEg7b0JBQzVILDBFQUEwRTtvQkFDMUUseUhBQXlIO29CQUN6SCxrQkFBa0I7b0JBQ2xCLGdHQUFnRztvQkFDaEcsZ0NBQWdDO29CQUNoQyxrQ0FBa0M7b0JBQ2xDLDJDQUEyQztvQkFDM0MsZ0RBQWdEO29CQUNoRCxxQ0FBcUM7b0JBQ3JDLG9DQUFvQztvQkFDcEMseUNBQXlDO29CQUN6QyxRQUFRO29CQUNSLE1BQU07b0JBQ04sa0JBQWtCO29CQUNsQixlQUFlO29CQUNmLGFBQWE7b0JBQ2IsbUJBQW1CO29CQUNuQixlQUFlO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztnQkFDdEMsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7YUFDOUM7OztZQWxERyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5cclxuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xyXG5pbXBvcnQgeyBQZXBGaWVsZFRpdGxlTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZmllbGQtdGl0bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgUGVwSWNvbk1vZHVsZSxcclxuICAgIFBlcEljb25SZWdpc3RyeSxcclxuICAgIHBlcEljb25TeXN0ZW1FZGl0LFxyXG4gICAgcGVwSWNvblN5c3RlbUNsb3NlLFxyXG4gICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXHJcbiAgICBwZXBJY29uQXJyb3dMZWZ0QWx0LFxyXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xyXG5pbXBvcnQgeyBQZXBEaWFsb2dNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgR2FsbGVyeU1vZHVsZSB9IGZyb20gJ25nLWdhbGxlcnknO1xyXG5pbXBvcnQgeyBJbWFnZVZpZXdlck1vZHVsZSB9IGZyb20gJ0BoYWxseXNvbmgvbmd4LWltYWdldmlld2VyJztcclxuXHJcbmltcG9ydCB7IFBlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICAvLyBNYXRlcmlhbCBtb2R1bGVzLFxyXG4gICAgICAgIE1hdENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICAgICAgLy8gRXh0ZXJuYWwgbW9kdWxlc1xyXG4gICAgICAgIEdhbGxlcnlNb2R1bGUsXHJcbiAgICAgICAgSW1hZ2VWaWV3ZXJNb2R1bGUsXHJcbiAgICAgICAgLy8gSW1hZ2VWaWV3ZXJNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgICAgLy8gICAgIGJ0bkNsYXNzOiAnZGVmYXVsdCcsIC8vIFRoZSBDU1MgY2xhc3MoZXMpIHRoYXQgd2lsbCBhcHBseSB0byB0aGUgYnV0dG9uc1xyXG4gICAgICAgIC8vICAgICB6b29tRmFjdG9yOiAwLjEsIC8vIFRoZSBhbW91bnQgdGhhdCB0aGUgc2NhbGUgd2lsbCBiZSBpbmNyZWFzZWQgYnlcclxuICAgICAgICAvLyAgICAgY29udGFpbmVyQmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLCAvLyBUaGUgY29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZC4gVGhpcyBjYW4gcHJvdmlkZWQgaW4gaGV4LCBvciByZ2IoYSkuXHJcbiAgICAgICAgLy8gICAgIHdoZWVsWm9vbTogdHJ1ZSwgLy8gSWYgdHJ1ZSwgdGhlIG1vdXNlIHdoZWVsIGNhbiBiZSB1c2VkIHRvIHpvb20gaW5cclxuICAgICAgICAvLyAgICAgYWxsb3dGdWxsc2NyZWVuOiBmYWxzZSwgLy8gSWYgdHJ1ZSwgdGhlIGZ1bGxzY3JlZW4gYnV0dG9uIHdpbGwgYmUgc2hvd24sIGFsbG93aW5nIHRoZSB1c2VyIHRvIGVudHIgZnVsbHNjcmVlbiBtb2RlXHJcbiAgICAgICAgLy8gICAgIGJ0bkljb25zOiB7XHJcbiAgICAgICAgLy8gICAgICAgICAvLyBUaGUgaWNvbiBjbGFzc2VzIHRoYXQgd2lsbCBhcHBseSB0byB0aGUgYnV0dG9ucy4gQnkgZGVmYXVsdCwgZm9udC1hd2Vzb21lIGlzIHVzZWQuXHJcbiAgICAgICAgLy8gICAgICAgICB6b29tSW46ICdmYSBmYS1wbHVzJyxcclxuICAgICAgICAvLyAgICAgICAgIHpvb21PdXQ6ICdmYSBmYS1taW51cycsXHJcbiAgICAgICAgLy8gICAgICAgICByb3RhdGVDbG9ja3dpc2U6ICdmYSBmYS1yZXBlYXQnLFxyXG4gICAgICAgIC8vICAgICAgICAgcm90YXRlQ291bnRlckNsb2Nrd2lzZTogJ2ZhIGZhLXVuZG8nLFxyXG4gICAgICAgIC8vICAgICAgICAgbmV4dDogJ2ZhIGZhLWFycm93LXJpZ2h0JyxcclxuICAgICAgICAvLyAgICAgICAgIHByZXY6ICdmYSBmYS1hcnJvdy1sZWZ0JyxcclxuICAgICAgICAvLyAgICAgICAgIGZ1bGxzY3JlZW46ICdmYSBmYS1hcnJvd3MtYWx0J1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfSksXHJcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXHJcbiAgICAgICAgUGVwTmd4TGliTW9kdWxlLFxyXG4gICAgICAgIFBlcEljb25Nb2R1bGUsXHJcbiAgICAgICAgUGVwRmllbGRUaXRsZU1vZHVsZSxcclxuICAgICAgICBQZXBEaWFsb2dNb2R1bGUsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1BlcEltYWdlc0ZpbG1zdHJpcENvbXBvbmVudF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtQZXBJbWFnZXNGaWxtc3RyaXBDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVwSW1hZ2VzRmlsbXN0cmlwTW9kdWxlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnkpIHtcclxuICAgICAgICB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKFtcclxuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUVkaXQsXHJcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1DbG9zZSxcclxuICAgICAgICAgICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXHJcbiAgICAgICAgICAgIHBlcEljb25BcnJvd0xlZnRBbHQsXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export * from './images-filmstrip.module';
5
5
  export * from './images-filmstrip.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvaW1hZ2VzLWZpbG1zdHJpcC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtbGliL2ltYWdlcy1maWxtc3RyaXBcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZXMtZmlsbXN0cmlwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlcy1maWxtc3RyaXAuY29tcG9uZW50JztcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvaW1hZ2VzLWZpbG1zdHJpcC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1saWIvaW1hZ2VzLWZpbG1zdHJpcFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9pbWFnZXMtZmlsbXN0cmlwLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VzLWZpbG1zdHJpcC5jb21wb25lbnQnO1xyXG4iXX0=
@@ -19,7 +19,7 @@ export class PepListActionsComponent {
19
19
  PepListActionsComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'pep-list-actions',
22
- template: "<pep-menu [xPosition]=\"xPosition\" [styleType]=\"'strong'\" [sizeType]=\"sizeType\" [items]=\"!hidden ? actions : null\"\n [hideOnEmptyItems]=\"true\" [iconName]=\"'system_edit'\" (menuItemClick)=\"onActionClicked($event)\"\n (stateChange)=\"onStateChanged($event)\" (menuClick)=\"menuClick.emit();\">\n</pep-menu>\n",
22
+ template: "<pep-menu [xPosition]=\"xPosition\" [styleType]=\"'strong'\" [sizeType]=\"sizeType\" [items]=\"!hidden ? actions : null\"\r\n [hideOnEmptyItems]=\"true\" [iconName]=\"'system_edit'\" (menuItemClick)=\"onActionClicked($event)\"\r\n (stateChange)=\"onStateChanged($event)\" (menuClick)=\"menuClick.emit();\">\r\n</pep-menu>\r\n",
23
23
  styles: [""]
24
24
  },] },
25
25
  { type: Injectable }
@@ -33,4 +33,4 @@ PepListActionsComponent.propDecorators = {
33
33
  stateChange: [{ type: Output }],
34
34
  menuClick: [{ type: Output }]
35
35
  };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGlzdC9saXN0LWFjdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBY3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFPYSxZQUFPLEdBQXVCLElBQUksQ0FBQztRQUNuQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQXVCLFFBQVEsQ0FBQztRQUN6QyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR3hCLGdCQUFXLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRS9GLGdCQUFXLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRW5HLGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQVM3RCxDQUFDO0lBUEcsZUFBZSxDQUFDLE1BQU07UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxvQkFBOEM7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUF6QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLCtVQUE0Qzs7YUFFL0M7WUFDQSxVQUFVOzs7c0JBRU4sS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFFTCxNQUFNOzBCQUVOLE1BQU07d0JBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdGFibGUsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZXBTaXplVHlwZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgSVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50LFxuICAgIFBlcE1lbnVJdGVtLFxuICAgIElQZXBNZW51SXRlbUNsaWNrRXZlbnQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL21lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1saXN0LWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBMaXN0QWN0aW9uc0NvbXBvbmVudCB7XG4gICAgQElucHV0KCkgYWN0aW9uczogQXJyYXk8UGVwTWVudUl0ZW0+ID0gbnVsbDtcbiAgICBASW5wdXQoKSBzaXplVHlwZTogUGVwU2l6ZVR5cGUgPSAnbWQnO1xuICAgIEBJbnB1dCgpIHhQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2JlZm9yZSc7XG4gICAgQElucHV0KCkgaGlkZGVuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBhY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPElQZXBNZW51SXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwTWVudUl0ZW1DbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIHN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKVxuICAgIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgb25BY3Rpb25DbGlja2VkKGFjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrLmVtaXQoYWN0aW9uKTtcbiAgICB9XG5cbiAgICBvblN0YXRlQ2hhbmdlZChtZW51U3RhdGVDaGFuZ2VFdmVudDogSVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdChtZW51U3RhdGVDaGFuZ2VFdmVudCk7XG4gICAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvbGlzdC9saXN0LWFjdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBY3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFPYSxZQUFPLEdBQXVCLElBQUksQ0FBQztRQUNuQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQXVCLFFBQVEsQ0FBQztRQUN6QyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBR3hCLGdCQUFXLEdBQXlDLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRS9GLGdCQUFXLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRW5HLGNBQVMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQVM3RCxDQUFDO0lBUEcsZUFBZSxDQUFDLE1BQU07UUFDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxvQkFBOEM7UUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRCxDQUFDOzs7WUF6QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHVWQUE0Qzs7YUFFL0M7WUFDQSxVQUFVOzs7c0JBRU4sS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFFTCxNQUFNOzBCQUVOLE1BQU07d0JBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBJbmplY3RhYmxlLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBlcFNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xyXG5pbXBvcnQge1xyXG4gICAgSVBlcE1lbnVTdGF0ZUNoYW5nZUV2ZW50LFxyXG4gICAgUGVwTWVudUl0ZW0sXHJcbiAgICBJUGVwTWVudUl0ZW1DbGlja0V2ZW50LFxyXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL21lbnUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3BlcC1saXN0LWFjdGlvbnMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUGVwTGlzdEFjdGlvbnNDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYWN0aW9uczogQXJyYXk8UGVwTWVudUl0ZW0+ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHNpemVUeXBlOiBQZXBTaXplVHlwZSA9ICdtZCc7XHJcbiAgICBASW5wdXQoKSB4UG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdiZWZvcmUnO1xyXG4gICAgQElucHV0KCkgaGlkZGVuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBhY3Rpb25DbGljazogRXZlbnRFbWl0dGVyPElQZXBNZW51SXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwTWVudUl0ZW1DbGlja0V2ZW50PigpO1xyXG4gICAgQE91dHB1dCgpXHJcbiAgICBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBNZW51U3RhdGVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBNZW51U3RhdGVDaGFuZ2VFdmVudD4oKTtcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgbWVudUNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgb25BY3Rpb25DbGlja2VkKGFjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWN0aW9uQ2xpY2suZW1pdChhY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU3RhdGVDaGFuZ2VkKG1lbnVTdGF0ZUNoYW5nZUV2ZW50OiBJUGVwTWVudVN0YXRlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlLmVtaXQobWVudVN0YXRlQ2hhbmdlRXZlbnQpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -73,7 +73,7 @@ export class PepListCarouselComponent {
73
73
  PepListCarouselComponent.decorators = [
74
74
  { type: Component, args: [{
75
75
  selector: 'pep-list-carousel',
76
- template: "<div class=\"carousel-container\">\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\n <ng-template #emptyBlock>\n <!-- No items -->\n </ng-template>\n <ng-template #carouselBlock>\n <pep-button *ngIf=\"!(hideArrowsInSmallScreen && screenSize > PepScreenSizeType.SM)\"\n [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\" [disabled]=\"prevDisabled\" (click)=\"moveLeft()\"\n class=\"carousel-arrow start-arrow\">\n </pep-button>\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\n <ng-container *ngFor=\"let item of items\">\n <pep-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\"\n (click)=\"itemClicked(item)\" class=\"card-view \" [lockEvents]=\"lockItemInnerEvents\"\n [ngClass]=\"{ 'x-small-card': itemSize === 'xs', 'small-card': itemSize === 'sm'}\">\n </pep-form>\n </ng-container>\n </pep-carousel>\n <pep-button *ngIf=\"!(hideArrowsInSmallScreen && screenSize > PepScreenSizeType.SM)\"\n [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\" [disabled]=\"nextDisabled\" (click)=\"moveRight()\"\n class=\"carousel-arrow end-arrow\">\n </pep-button>\n </ng-template>\n</div>",
76
+ template: "<div class=\"carousel-container\">\r\n <ng-container *ngIf=\"items?.length > 0; then carouselBlock; else emptyBlock\"></ng-container>\r\n <ng-template #emptyBlock>\r\n <!-- No items -->\r\n </ng-template>\r\n <ng-template #carouselBlock>\r\n <pep-button *ngIf=\"!(hideArrowsInSmallScreen && screenSize > PepScreenSizeType.SM)\"\r\n [iconName]=\"'arrow_left_alt'\" [styleType]=\"'regular'\" [disabled]=\"prevDisabled\" (click)=\"moveLeft()\"\r\n class=\"carousel-arrow start-arrow\">\r\n </pep-button>\r\n <pep-carousel #carousel [xWheelEnabled]=\"false\" [snapDuration]=\"duration\"\r\n (reachesLeftBound)=\"onReachesLeftBound($event)\" (reachesRightBound)=\"onReachesRightBound($event)\">\r\n <ng-container *ngFor=\"let item of items\">\r\n <pep-form pepCarouselItem [layout]=\"layout\" [data]=\"item\" [layoutType]=\"'card'\"\r\n (click)=\"itemClicked(item)\" class=\"card-view \" [lockEvents]=\"lockItemInnerEvents\"\r\n [ngClass]=\"{ 'x-small-card': itemSize === 'xs', 'small-card': itemSize === 'sm'}\">\r\n </pep-form>\r\n </ng-container>\r\n </pep-carousel>\r\n <pep-button *ngIf=\"!(hideArrowsInSmallScreen && screenSize > PepScreenSizeType.SM)\"\r\n [iconName]=\"'arrow_right_alt'\" [styleType]=\"'regular'\" [disabled]=\"nextDisabled\" (click)=\"moveRight()\"\r\n class=\"carousel-arrow end-arrow\">\r\n </pep-button>\r\n </ng-template>\r\n</div>",
77
77
  styles: [".carousel-container{position:relative;margin:0 calc(.5rem * -1);margin:0 calc(var(--pep-spacing-sm, .5rem) * -1);display:grid}.carousel-container .carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1}.carousel-container .carousel-arrow.start-arrow{left:0}.carousel-container .carousel-arrow.end-arrow{right:0}.carousel-container ::ng-deep.carousel-content .card-view{padding:.5rem 0!important;padding:var(--pep-spacing-sm,.5rem) 0!important}.carousel-container ::ng-deep.carousel-content .card-view:first-child{-webkit-padding-start:.5rem!important;padding-inline-start:.5rem!important;-webkit-padding-start:var(--pep-spacing-sm,.5rem)!important;padding-inline-start:var(--pep-spacing-sm,.5rem)!important}.carousel-container ::ng-deep.carousel-content .card-view:last-child{-webkit-padding-end:.5rem!important;padding-inline-end:.5rem!important;-webkit-padding-end:var(--pep-spacing-sm,.5rem)!important;padding-inline-end:var(--pep-spacing-sm,.5rem)!important}"]
78
78
  },] },
79
79
  { type: Injectable }
@@ -92,4 +92,4 @@ PepListCarouselComponent.propDecorators = {
92
92
  itemClick: [{ type: Output }],
93
93
  carousel: [{ type: ViewChild, args: ['carousel', { read: PepCarouselComponent },] }]
94
94
  };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jYXJvdXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQU1aLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFjeEUsTUFBTSxPQUFPLHdCQUF3QjtJQXFDakMsMEJBQTBCO0lBRTFCLFlBQW1CLGFBQStCO1FBQS9CLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQXRDekMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQWMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQiw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFFaEMsV0FBTSxHQUEwQixJQUFJLENBQUM7UUFVckMsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFXbEQsY0FBUyxHQUFpRCxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUs3RyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUlsQyxnRUFBZ0U7SUFDcEUsQ0FBQztJQWpDRCxJQUNJLEtBQUssQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQ0ksUUFBUSxDQUFDLEtBQThCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBa0JELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCwyRUFBMkU7UUFDM0UsNENBQTRDO1FBQzVDLE1BQU07SUFDVixDQUFDO0lBRUQsV0FBVztRQUNQLHdCQUF3QjtRQUN4QixvQ0FBb0M7UUFDcEMsSUFBSTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBb0I7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNKLDRCQUE0QjtRQUM1QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUMxQyxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDTCw2QkFBNkI7UUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7OztZQW5HSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IseS9DQUE2Qzs7YUFFaEQ7WUFDQSxVQUFVOzs7WUFoQlAsZ0JBQWdCOzs7dUJBa0JmLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxLQUFLO2tDQUNMLEtBQUs7c0NBQ0wsS0FBSztvQkFHTCxLQUFLO3VCQVVMLEtBQUs7d0JBU0wsTUFBTTt1QkFHTixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyMixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIE9iamVjdHNEYXRhUm93LFxuICAgIFVJQ29udHJvbCxcbiAgICBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgIFBlcFNjcmVlblNpemVUeXBlLFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2Nhcm91c2VsJztcblxuZXhwb3J0IHR5cGUgUGVwTGlzdENhcm91c2VsU2l6ZVR5cGUgPSAneHMnIHwgJ3NtJyB8ICdtZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcExpc3RDYXJvdXNlbEl0ZW1DbGlja0V2ZW50IHtcbiAgICBzb3VyY2U6IE9iamVjdHNEYXRhUm93O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1saXN0LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQZXBMaXN0Q2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGR1cmF0aW9uID0gMTAwMDtcbiAgICBASW5wdXQoKSBsYXlvdXQ6IFVJQ29udHJvbCA9IG51bGw7XG4gICAgQElucHV0KCkgaXRlbXNUb01vdmUgPSAzO1xuICAgIEBJbnB1dCgpIGxvY2tJdGVtSW5uZXJFdmVudHMgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGhpZGVBcnJvd3NJblNtYWxsU2NyZWVuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgX2l0ZW1zOiBBcnJheTxPYmplY3RzRGF0YVJvdz4gPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxPYmplY3RzRGF0YVJvdz4pIHtcbiAgICAgICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5tb3ZlVG8oMCk7XG4gICAgfVxuICAgIGdldCBpdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2l0ZW1TaXplOiBQZXBMaXN0Q2Fyb3VzZWxTaXplVHlwZSA9ICd4cyc7XG4gICAgQElucHV0KClcbiAgICBzZXQgaXRlbVNpemUodmFsdWU6IFBlcExpc3RDYXJvdXNlbFNpemVUeXBlKSB7XG4gICAgICAgIHRoaXMuX2l0ZW1TaXplID0gdmFsdWU7XG4gICAgICAgIHRoaXMubW92ZVRvKDApO1xuICAgIH1cbiAgICBnZXQgaXRlbVNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2l6ZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwTGlzdENhcm91c2VsSXRlbUNsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwTGlzdENhcm91c2VsSXRlbUNsaWNrRXZlbnQ+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbCcsIHsgcmVhZDogUGVwQ2Fyb3VzZWxDb21wb25lbnQgfSlcbiAgICBjYXJvdXNlbDogUGVwQ2Fyb3VzZWxDb21wb25lbnQ7XG5cbiAgICBwcmV2RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBuZXh0RGlzYWJsZWQgPSBmYWxzZTtcbiAgICBzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZTtcbiAgICBQZXBTY3JlZW5TaXplVHlwZSA9IFBlcFNjcmVlblNpemVUeXBlO1xuICAgIC8vIGRldmljZUhhc01vdXNlID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSkge1xuICAgICAgICAvLyB0aGlzLmRldmljZUhhc01vdXNlID0gdGhpcy5sYXlvdXRTZXJ2aWNlLmdldERldmljZUhhc01vdXNlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnN1YnNjcmliZSgoc2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHRoaXMubGF5b3V0U2VydmljZS5vbk1vdXNlT3ZlciQuc3Vic2NyaWJlKChkZXZpY2VIYXNNb3VzZTogYm9vbGVhbikgPT4ge1xuICAgICAgICAvLyAgICAgdGhpcy5kZXZpY2VIYXNNb3VzZSA9IGRldmljZUhhc01vdXNlO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gaWYgKHRoaXMuaXRlbUNsaWNrKSB7XG4gICAgICAgIC8vICAgICB0aGlzLml0ZW1DbGljay51bnN1YnNjcmliZSgpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgaXRlbUNsaWNrZWQoaXRlbTogT2JqZWN0c0RhdGFSb3cpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh7IHNvdXJjZTogaXRlbSB9KTtcbiAgICB9XG5cbiAgICBtb3ZlTGVmdCgpIHtcbiAgICAgICAgLy8gdGhpcy5jYXJvdXNlbC5tb3ZlTGVmdCgpO1xuICAgICAgICBjb25zdCBpbmRleFRvTW92ZSA9IE1hdGgubWF4KFxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggLSB0aGlzLml0ZW1zVG9Nb3ZlLFxuICAgICAgICAgICAgMFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm1vdmVUbyhpbmRleFRvTW92ZSk7XG4gICAgfVxuXG4gICAgbW92ZVJpZ2h0KCkge1xuICAgICAgICAvLyB0aGlzLmNhcm91c2VsLm1vdmVSaWdodCgpO1xuICAgICAgICBjb25zdCBpbmRleFRvTW92ZSA9IE1hdGgubWluKFxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggKyB0aGlzLml0ZW1zVG9Nb3ZlLFxuICAgICAgICAgICAgdGhpcy5pdGVtcy5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXhUb01vdmUpO1xuICAgIH1cblxuICAgIG1vdmVUbyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsKSB7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblJlYWNoZXNMZWZ0Qm91bmQoZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5wcmV2RGlzYWJsZWQgPSBldmVudDtcbiAgICB9XG5cbiAgICBvblJlYWNoZXNSaWdodEJvdW5kKGV2ZW50OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMubmV4dERpc2FibGVkID0gZXZlbnQ7XG4gICAgfVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jYXJvdXNlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL2xpc3QvbGlzdC1jYXJvdXNlbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osU0FBUyxHQU1aLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEdBQ3BCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFjeEUsTUFBTSxPQUFPLHdCQUF3QjtJQXFDakMsMEJBQTBCO0lBRTFCLFlBQW1CLGFBQStCO1FBQS9CLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQXRDekMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixXQUFNLEdBQWMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQUMzQiw0QkFBdUIsR0FBRyxJQUFJLENBQUM7UUFFaEMsV0FBTSxHQUEwQixJQUFJLENBQUM7UUFVckMsY0FBUyxHQUE0QixJQUFJLENBQUM7UUFXbEQsY0FBUyxHQUFpRCxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUs3RyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUlsQyxnRUFBZ0U7SUFDcEUsQ0FBQztJQWpDRCxJQUNJLEtBQUssQ0FBQyxLQUE0QjtRQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQ0ksUUFBUSxDQUFDLEtBQThCO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBa0JELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUF1QixFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCwyRUFBMkU7UUFDM0UsNENBQTRDO1FBQzVDLE1BQU07SUFDVixDQUFDO0lBRUQsV0FBVztRQUNQLHdCQUF3QjtRQUN4QixvQ0FBb0M7UUFDcEMsSUFBSTtJQUNSLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBb0I7UUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsUUFBUTtRQUNKLDRCQUE0QjtRQUM1QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUMxQyxDQUFDLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDTCw2QkFBNkI7UUFDN0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3BCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFjO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7OztZQW5HSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IseWlEQUE2Qzs7YUFFaEQ7WUFDQSxVQUFVOzs7WUFoQlAsZ0JBQWdCOzs7dUJBa0JmLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxLQUFLO2tDQUNMLEtBQUs7c0NBQ0wsS0FBSztvQkFHTCxLQUFLO3VCQVVMLEtBQUs7d0JBU0wsTUFBTTt1QkFHTixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIEluamVjdGFibGUsXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBPYmplY3RzRGF0YVJvdyxcclxuICAgIFVJQ29udHJvbCxcclxuICAgIFBlcExheW91dFNlcnZpY2UsXHJcbiAgICBQZXBTY3JlZW5TaXplVHlwZSxcclxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XHJcbmltcG9ydCB7IFBlcENhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvY2Fyb3VzZWwnO1xyXG5cclxuZXhwb3J0IHR5cGUgUGVwTGlzdENhcm91c2VsU2l6ZVR5cGUgPSAneHMnIHwgJ3NtJyB8ICdtZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElQZXBMaXN0Q2Fyb3VzZWxJdGVtQ2xpY2tFdmVudCB7XHJcbiAgICBzb3VyY2U6IE9iamVjdHNEYXRhUm93O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAncGVwLWxpc3QtY2Fyb3VzZWwnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQZXBMaXN0Q2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgZHVyYXRpb24gPSAxMDAwO1xyXG4gICAgQElucHV0KCkgbGF5b3V0OiBVSUNvbnRyb2wgPSBudWxsO1xyXG4gICAgQElucHV0KCkgaXRlbXNUb01vdmUgPSAzO1xyXG4gICAgQElucHV0KCkgbG9ja0l0ZW1Jbm5lckV2ZW50cyA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBoaWRlQXJyb3dzSW5TbWFsbFNjcmVlbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfaXRlbXM6IEFycmF5PE9iamVjdHNEYXRhUm93PiA9IG51bGw7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxPYmplY3RzRGF0YVJvdz4pIHtcclxuICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMubW92ZVRvKDApO1xyXG4gICAgfVxyXG4gICAgZ2V0IGl0ZW1zKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9pdGVtU2l6ZTogUGVwTGlzdENhcm91c2VsU2l6ZVR5cGUgPSAneHMnO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBpdGVtU2l6ZSh2YWx1ZTogUGVwTGlzdENhcm91c2VsU2l6ZVR5cGUpIHtcclxuICAgICAgICB0aGlzLl9pdGVtU2l6ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMubW92ZVRvKDApO1xyXG4gICAgfVxyXG4gICAgZ2V0IGl0ZW1TaXplKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2l6ZTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPElQZXBMaXN0Q2Fyb3VzZWxJdGVtQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBMaXN0Q2Fyb3VzZWxJdGVtQ2xpY2tFdmVudD4oKTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbCcsIHsgcmVhZDogUGVwQ2Fyb3VzZWxDb21wb25lbnQgfSlcclxuICAgIGNhcm91c2VsOiBQZXBDYXJvdXNlbENvbXBvbmVudDtcclxuXHJcbiAgICBwcmV2RGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIG5leHREaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGU7XHJcbiAgICBQZXBTY3JlZW5TaXplVHlwZSA9IFBlcFNjcmVlblNpemVUeXBlO1xyXG4gICAgLy8gZGV2aWNlSGFzTW91c2UgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSkge1xyXG4gICAgICAgIC8vIHRoaXMuZGV2aWNlSGFzTW91c2UgPSB0aGlzLmxheW91dFNlcnZpY2UuZ2V0RGV2aWNlSGFzTW91c2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5zdWJzY3JpYmUoKHNpemU6IFBlcFNjcmVlblNpemVUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2NyZWVuU2l6ZSA9IHNpemU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIHRoaXMubGF5b3V0U2VydmljZS5vbk1vdXNlT3ZlciQuc3Vic2NyaWJlKChkZXZpY2VIYXNNb3VzZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgIC8vICAgICB0aGlzLmRldmljZUhhc01vdXNlID0gZGV2aWNlSGFzTW91c2U7XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgLy8gaWYgKHRoaXMuaXRlbUNsaWNrKSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuaXRlbUNsaWNrLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIGl0ZW1DbGlja2VkKGl0ZW06IE9iamVjdHNEYXRhUm93KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdCh7IHNvdXJjZTogaXRlbSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlTGVmdCgpIHtcclxuICAgICAgICAvLyB0aGlzLmNhcm91c2VsLm1vdmVMZWZ0KCk7XHJcbiAgICAgICAgY29uc3QgaW5kZXhUb01vdmUgPSBNYXRoLm1heChcclxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggLSB0aGlzLml0ZW1zVG9Nb3ZlLFxyXG4gICAgICAgICAgICAwXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLm1vdmVUbyhpbmRleFRvTW92ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZVJpZ2h0KCkge1xyXG4gICAgICAgIC8vIHRoaXMuY2Fyb3VzZWwubW92ZVJpZ2h0KCk7XHJcbiAgICAgICAgY29uc3QgaW5kZXhUb01vdmUgPSBNYXRoLm1pbihcclxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5jdXJySW5kZXggKyB0aGlzLml0ZW1zVG9Nb3ZlLFxyXG4gICAgICAgICAgICB0aGlzLml0ZW1zLmxlbmd0aFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXhUb01vdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIG1vdmVUbyhpbmRleDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY2Fyb3VzZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbC5tb3ZlVG8oaW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblJlYWNoZXNMZWZ0Qm91bmQoZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLnByZXZEaXNhYmxlZCA9IGV2ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVhY2hlc1JpZ2h0Qm91bmQoZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLm5leHREaXNhYmxlZCA9IGV2ZW50O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==