@igo2/geo 1.14.2 → 1.15.0

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 (493) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/esm2020/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +13 -11
  7. package/esm2020/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +10 -10
  8. package/esm2020/lib/catalog/catalog-browser/catalog-browser.component.mjs +20 -17
  9. package/esm2020/lib/catalog/catalog-browser/catalog-browser.module.mjs +1 -1
  10. package/esm2020/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +2 -2
  11. package/esm2020/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  12. package/esm2020/lib/catalog/catalog-library/catalog-library.component.mjs +7 -12
  13. package/esm2020/lib/catalog/catalog-library/catalog-library.module.mjs +1 -1
  14. package/esm2020/lib/catalog/catalog.module.mjs +1 -1
  15. package/esm2020/lib/catalog/shared/catalog.abstract.mjs +1 -1
  16. package/esm2020/lib/catalog/shared/catalog.enum.mjs +1 -1
  17. package/esm2020/lib/catalog/shared/catalog.interface.mjs +1 -1
  18. package/esm2020/lib/catalog/shared/catalog.service.mjs +3 -5
  19. package/esm2020/lib/datasource/datasource.module.mjs +1 -1
  20. package/esm2020/lib/datasource/shared/capabilities.service.mjs +2 -2
  21. package/esm2020/lib/datasource/shared/datasource.service.mjs +27 -31
  22. package/esm2020/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  23. package/esm2020/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  24. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2020/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  26. package/esm2020/lib/datasource/shared/datasources/carto-datasource.interface.mjs +1 -1
  27. package/esm2020/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  28. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  29. package/esm2020/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  30. package/esm2020/lib/datasource/shared/datasources/data.service.mjs +1 -1
  31. package/esm2020/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  32. package/esm2020/lib/datasource/shared/datasources/datasource.mjs +1 -1
  33. package/esm2020/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  34. package/esm2020/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  35. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  36. package/esm2020/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  37. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.interface.mjs +1 -1
  38. package/esm2020/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  39. package/esm2020/lib/datasource/shared/datasources/osm-datasource.interface.mjs +1 -1
  40. package/esm2020/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  41. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.mjs +1 -1
  42. package/esm2020/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  43. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  44. package/esm2020/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  45. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  46. package/esm2020/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  47. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  48. package/esm2020/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  49. package/esm2020/lib/datasource/shared/datasources/wfs.service.mjs +1 -1
  50. package/esm2020/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  51. package/esm2020/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  52. package/esm2020/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  53. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  54. package/esm2020/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  55. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  56. package/esm2020/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  57. package/esm2020/lib/datasource/shared/options/options-api.providers.mjs +1 -1
  58. package/esm2020/lib/datasource/shared/options/options-api.service.mjs +1 -1
  59. package/esm2020/lib/datasource/shared/options/options.service.mjs +1 -1
  60. package/esm2020/lib/datasource/utils/index.mjs +1 -2
  61. package/esm2020/lib/datasource/utils/tilegrid.mjs +1 -1
  62. package/esm2020/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -10
  63. package/esm2020/lib/directions/directions-inputs/directions-inputs.component.mjs +2 -2
  64. package/esm2020/lib/directions/directions-results/directions-results.component.mjs +2 -2
  65. package/esm2020/lib/directions/directions-sources/directions-source.mjs +1 -1
  66. package/esm2020/lib/directions/directions-sources/directions-source.provider.mjs +1 -1
  67. package/esm2020/lib/directions/directions-sources/osrm-directions-source.mjs +1 -1
  68. package/esm2020/lib/directions/directions.component.mjs +2 -2
  69. package/esm2020/lib/directions/directions.module.mjs +1 -1
  70. package/esm2020/lib/directions/shared/directions-source.service.mjs +1 -1
  71. package/esm2020/lib/directions/shared/directions.interface.mjs +1 -1
  72. package/esm2020/lib/directions/shared/directions.service.mjs +1 -1
  73. package/esm2020/lib/directions/shared/directions.utils.mjs +2 -2
  74. package/esm2020/lib/directions/shared/store.mjs +1 -1
  75. package/esm2020/lib/download/download-button/download-button.component.mjs +2 -2
  76. package/esm2020/lib/download/download.module.mjs +1 -1
  77. package/esm2020/lib/download/shared/download.interface.mjs +1 -1
  78. package/esm2020/lib/download/shared/download.service.mjs +5 -8
  79. package/esm2020/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  80. package/esm2020/lib/draw/draw/draw-popup.component.mjs +3 -3
  81. package/esm2020/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  82. package/esm2020/lib/draw/draw/draw.component.mjs +11 -10
  83. package/esm2020/lib/draw/draw/draw.module.mjs +1 -1
  84. package/esm2020/lib/draw/drawingTool.module.mjs +1 -1
  85. package/esm2020/lib/draw/shared/draw-icon.service.mjs +1 -1
  86. package/esm2020/lib/draw/shared/draw.enum.mjs +1 -17
  87. package/esm2020/lib/draw/shared/draw.interface.mjs +1 -1
  88. package/esm2020/lib/draw/shared/draw.utils.mjs +1 -1
  89. package/esm2020/lib/draw/shared/index.mjs +1 -2
  90. package/esm2020/lib/feature/feature-details/feature-details.component.mjs +4 -5
  91. package/esm2020/lib/feature/feature-details/feature-details.directive.mjs +1 -1
  92. package/esm2020/lib/feature/feature-details/feature-details.module.mjs +1 -1
  93. package/esm2020/lib/feature/feature-form/feature-form.component.mjs +2 -2
  94. package/esm2020/lib/feature/feature-form/feature-form.module.mjs +1 -1
  95. package/esm2020/lib/feature/feature.module.mjs +1 -1
  96. package/esm2020/lib/feature/shared/feature.interfaces.mjs +1 -1
  97. package/esm2020/lib/feature/shared/feature.utils.mjs +7 -5
  98. package/esm2020/lib/feature/shared/store.mjs +10 -1
  99. package/esm2020/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  100. package/esm2020/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  101. package/esm2020/lib/feature/shared/strategies/index.mjs +2 -1
  102. package/esm2020/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  103. package/esm2020/lib/feature/shared/strategies/loading.mjs +1 -1
  104. package/esm2020/lib/feature/shared/strategies/search.mjs +150 -0
  105. package/esm2020/lib/feature/shared/strategies/selection.mjs +1 -1
  106. package/esm2020/lib/feature/shared/strategies.utils.mjs +1 -1
  107. package/esm2020/lib/filter/filter.module.mjs +1 -1
  108. package/esm2020/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  109. package/esm2020/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +2 -2
  110. package/esm2020/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +2 -2
  111. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +2 -2
  112. package/esm2020/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +2 -2
  113. package/esm2020/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +2 -2
  114. package/esm2020/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +2 -2
  115. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  116. package/esm2020/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  117. package/esm2020/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  118. package/esm2020/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  119. package/esm2020/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  120. package/esm2020/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  121. package/esm2020/lib/filter/shared/ogc-filter.mjs +1 -1
  122. package/esm2020/lib/filter/shared/ogc-filter.service.mjs +1 -1
  123. package/esm2020/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  124. package/esm2020/lib/filter/shared/spatial-filter.service.mjs +1 -1
  125. package/esm2020/lib/filter/shared/time-filter.enum.mjs +1 -1
  126. package/esm2020/lib/filter/shared/time-filter.interface.mjs +1 -1
  127. package/esm2020/lib/filter/shared/time-filter.service.mjs +1 -1
  128. package/esm2020/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +5 -5
  129. package/esm2020/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +6 -7
  130. package/esm2020/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +2 -2
  131. package/esm2020/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  132. package/esm2020/lib/filter/time-filter-form/time-filter-form.component.mjs +2 -2
  133. package/esm2020/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  134. package/esm2020/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  135. package/esm2020/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  136. package/esm2020/lib/geo.module.mjs +5 -1
  137. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +13 -12
  138. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  139. package/esm2020/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +1 -1
  140. package/esm2020/lib/geometry/geometry.module.mjs +1 -1
  141. package/esm2020/lib/geometry/shared/controls/draw.mjs +1 -1
  142. package/esm2020/lib/geometry/shared/controls/modify.mjs +1 -1
  143. package/esm2020/lib/geometry/shared/controls/slice.mjs +1 -1
  144. package/esm2020/lib/geometry/shared/geometry.errors.mjs +1 -1
  145. package/esm2020/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  146. package/esm2020/lib/geometry/shared/geometry.utils.mjs +1 -1
  147. package/esm2020/lib/import-export/export-button/export-button.component.mjs +2 -2
  148. package/esm2020/lib/import-export/import-export/import-export.component.mjs +53 -45
  149. package/esm2020/lib/import-export/import-export.module.mjs +5 -9
  150. package/esm2020/lib/import-export/index.mjs +1 -2
  151. package/esm2020/lib/import-export/shared/drop-geo-file.directive.mjs +31 -14
  152. package/esm2020/lib/import-export/shared/export.interface.mjs +1 -1
  153. package/esm2020/lib/import-export/shared/export.service.mjs +1 -1
  154. package/esm2020/lib/import-export/shared/export.type.mjs +1 -1
  155. package/esm2020/lib/import-export/shared/export.utils.mjs +8 -17
  156. package/esm2020/lib/import-export/shared/import.errors.mjs +1 -1
  157. package/esm2020/lib/import-export/shared/import.interface.mjs +1 -1
  158. package/esm2020/lib/import-export/shared/import.service.mjs +1 -1
  159. package/esm2020/lib/import-export/shared/import.utils.mjs +58 -91
  160. package/esm2020/lib/layer/index.mjs +1 -2
  161. package/esm2020/lib/layer/layer-item/layer-item.component.mjs +2 -2
  162. package/esm2020/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  163. package/esm2020/lib/layer/layer-legend-item/layer-legend-item.component.mjs +2 -2
  164. package/esm2020/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +1 -1
  165. package/esm2020/lib/layer/layer-legend-list/layer-legend-list.component.mjs +2 -2
  166. package/esm2020/lib/layer/layer-list/layer-list-binding.directive.mjs +1 -1
  167. package/esm2020/lib/layer/layer-list/layer-list.component.mjs +2 -2
  168. package/esm2020/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  169. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  170. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.interface.mjs +1 -1
  171. package/esm2020/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  172. package/esm2020/lib/layer/layer.module.mjs +6 -11
  173. package/esm2020/lib/layer/shared/clusterParam.mjs +1 -1
  174. package/esm2020/lib/layer/shared/index.mjs +1 -3
  175. package/esm2020/lib/layer/shared/layer.service.mjs +80 -29
  176. package/esm2020/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  177. package/esm2020/lib/layer/shared/layers/any-layer.mjs +1 -1
  178. package/esm2020/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  179. package/esm2020/lib/layer/shared/layers/image-layer.mjs +6 -7
  180. package/esm2020/lib/layer/shared/layers/layer.interface.mjs +1 -1
  181. package/esm2020/lib/layer/shared/layers/layer.mjs +5 -3
  182. package/esm2020/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  183. package/esm2020/lib/layer/shared/layers/tile-layer.mjs +1 -1
  184. package/esm2020/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  185. package/esm2020/lib/layer/shared/layers/vector-layer.mjs +153 -6
  186. package/esm2020/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  187. package/esm2020/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  188. package/esm2020/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  189. package/esm2020/lib/layer/utils/image-watcher.mjs +3 -6
  190. package/esm2020/lib/layer/utils/layer.utils.mjs +2 -2
  191. package/esm2020/lib/layer/utils/outputLegend.mjs +3 -2
  192. package/esm2020/lib/layer/utils/tile-watcher.mjs +1 -1
  193. package/esm2020/lib/layer/utils/vector-watcher.mjs +1 -1
  194. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  195. package/esm2020/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +2 -2
  196. package/esm2020/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  197. package/esm2020/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  198. package/esm2020/lib/map/info-section/info-section.component.mjs +2 -2
  199. package/esm2020/lib/map/map-browser/map-browser.component.mjs +3 -3
  200. package/esm2020/lib/map/map-center/map-center.component.mjs +2 -2
  201. package/esm2020/lib/map/map.module.mjs +1 -1
  202. package/esm2020/lib/map/menu-button/menu-button.component.mjs +3 -3
  203. package/esm2020/lib/map/offline-button/offline-button.component.mjs +34 -57
  204. package/esm2020/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  205. package/esm2020/lib/map/shared/controllers/controller.mjs +1 -1
  206. package/esm2020/lib/map/shared/controllers/geolocation.mjs +151 -36
  207. package/esm2020/lib/map/shared/controllers/view.mjs +1 -1
  208. package/esm2020/lib/map/shared/hover-feature.directive.mjs +24 -73
  209. package/esm2020/lib/map/shared/linkedLayers.utils.mjs +3 -3
  210. package/esm2020/lib/map/shared/map-pointer-position.directive.mjs +1 -1
  211. package/esm2020/lib/map/shared/map.interface.mjs +1 -1
  212. package/esm2020/lib/map/shared/map.mjs +7 -5
  213. package/esm2020/lib/map/shared/map.service.mjs +1 -1
  214. package/esm2020/lib/map/shared/map.utils.mjs +1 -1
  215. package/esm2020/lib/map/shared/mapOffline.directive.mjs +50 -115
  216. package/esm2020/lib/map/shared/projection.interfaces.mjs +1 -1
  217. package/esm2020/lib/map/shared/projection.service.mjs +1 -1
  218. package/esm2020/lib/map/shared/projection.utils.mjs +1 -1
  219. package/esm2020/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  220. package/esm2020/lib/map/utils/layer-watcher.mjs +1 -1
  221. package/esm2020/lib/map/wake-lock-button/wake-lock-button.component.mjs +24 -35
  222. package/esm2020/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  223. package/esm2020/lib/measure/measure.module.mjs +1 -1
  224. package/esm2020/lib/measure/measurer/measure-format.pipe.mjs +1 -1
  225. package/esm2020/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  226. package/esm2020/lib/measure/measurer/measurer-item.component.mjs +2 -2
  227. package/esm2020/lib/measure/measurer/measurer.component.mjs +2 -2
  228. package/esm2020/lib/measure/measurer/measurer.module.mjs +1 -1
  229. package/esm2020/lib/measure/shared/measure.enum.mjs +1 -1
  230. package/esm2020/lib/measure/shared/measure.interfaces.mjs +1 -1
  231. package/esm2020/lib/measure/shared/measure.utils.mjs +1 -1
  232. package/esm2020/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  233. package/esm2020/lib/metadata/metadata.module.mjs +1 -1
  234. package/esm2020/lib/metadata/shared/metadata.interface.mjs +1 -1
  235. package/esm2020/lib/metadata/shared/metadata.service.mjs +1 -1
  236. package/esm2020/lib/offline/geoDB/configFileToGeoDB.service.mjs +4 -4
  237. package/esm2020/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  238. package/esm2020/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  239. package/esm2020/lib/offline/geoDB/geoDB.service.mjs +2 -2
  240. package/esm2020/lib/offline/index.mjs +2 -1
  241. package/esm2020/lib/offline/layerDB/index.mjs +3 -0
  242. package/esm2020/lib/offline/layerDB/layerDB.interface.mjs +2 -0
  243. package/esm2020/lib/offline/layerDB/layerDB.service.mjs +76 -0
  244. package/esm2020/lib/offline/shared/geo-network.service.mjs +1 -1
  245. package/esm2020/lib/overlay/overlay.module.mjs +1 -1
  246. package/esm2020/lib/overlay/shared/index.mjs +1 -2
  247. package/esm2020/lib/overlay/shared/overlay.directive.mjs +1 -1
  248. package/esm2020/lib/overlay/shared/overlay.enum.mjs +1 -1
  249. package/esm2020/lib/overlay/shared/overlay.mjs +1 -1
  250. package/esm2020/lib/overlay/shared/overlay.service.mjs +1 -1
  251. package/esm2020/lib/overlay/shared/overlay.utils.mjs +2 -88
  252. package/esm2020/lib/print/print/print.component.mjs +6 -20
  253. package/esm2020/lib/print/print-form/print-form.component.mjs +197 -111
  254. package/esm2020/lib/print/print.module.mjs +1 -1
  255. package/esm2020/lib/print/shared/geopdf.mjs +1 -1
  256. package/esm2020/lib/print/shared/index.mjs +1 -1
  257. package/esm2020/lib/print/shared/print.interface.mjs +1 -1
  258. package/esm2020/lib/print/shared/print.service.mjs +85 -35
  259. package/esm2020/lib/print/shared/print.type.mjs +1 -1
  260. package/esm2020/lib/query/query.module.mjs +1 -1
  261. package/esm2020/lib/query/shared/query-search-source.mjs +1 -1
  262. package/esm2020/lib/query/shared/query-search-source.providers.mjs +1 -1
  263. package/esm2020/lib/query/shared/query.directive.mjs +1 -1
  264. package/esm2020/lib/query/shared/query.interfaces.mjs +1 -1
  265. package/esm2020/lib/query/shared/query.service.mjs +3 -5
  266. package/esm2020/lib/query/shared/query.utils.mjs +1 -1
  267. package/esm2020/lib/search/search-bar/search-bar.component.mjs +3 -3
  268. package/esm2020/lib/search/search-bar/search-bar.module.mjs +1 -1
  269. package/esm2020/lib/search/search-bar/search-url-param.directive.mjs +1 -1
  270. package/esm2020/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  271. package/esm2020/lib/search/search-results/search-results-add-button.component.mjs +88 -31
  272. package/esm2020/lib/search/search-results/search-results-item.component.mjs +36 -13
  273. package/esm2020/lib/search/search-results/search-results.component.mjs +172 -58
  274. package/esm2020/lib/search/search-results/search-results.module.mjs +5 -1
  275. package/esm2020/lib/search/search-selector/search-selector.component.mjs +2 -2
  276. package/esm2020/lib/search/search-selector/search-selector.module.mjs +1 -1
  277. package/esm2020/lib/search/search-settings/search-settings.component.mjs +2 -2
  278. package/esm2020/lib/search/search-settings/search-settings.module.mjs +1 -1
  279. package/esm2020/lib/search/search.module.mjs +1 -1
  280. package/esm2020/lib/search/shared/search-pointer-summary.directive.mjs +3 -30
  281. package/esm2020/lib/search/shared/search-source-service.providers.mjs +1 -1
  282. package/esm2020/lib/search/shared/search-source.service.mjs +9 -1
  283. package/esm2020/lib/search/shared/search.enums.mjs +1 -1
  284. package/esm2020/lib/search/shared/search.interfaces.mjs +1 -1
  285. package/esm2020/lib/search/shared/search.service.mjs +1 -1
  286. package/esm2020/lib/search/shared/search.utils.mjs +3 -3
  287. package/esm2020/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  288. package/esm2020/lib/search/shared/sources/coordinates.mjs +1 -1
  289. package/esm2020/lib/search/shared/sources/coordinates.providers.mjs +4 -4
  290. package/esm2020/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  291. package/esm2020/lib/search/shared/sources/icherche.mjs +1 -1
  292. package/esm2020/lib/search/shared/sources/icherche.providers.mjs +1 -1
  293. package/esm2020/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  294. package/esm2020/lib/search/shared/sources/ilayer.mjs +1 -1
  295. package/esm2020/lib/search/shared/sources/ilayer.providers.mjs +1 -1
  296. package/esm2020/lib/search/shared/sources/index.mjs +4 -1
  297. package/esm2020/lib/search/shared/sources/nominatim.mjs +2 -2
  298. package/esm2020/lib/search/shared/sources/nominatim.providers.mjs +1 -1
  299. package/esm2020/lib/search/shared/sources/source.interfaces.mjs +1 -1
  300. package/esm2020/lib/search/shared/sources/source.mjs +31 -1
  301. package/esm2020/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  302. package/esm2020/lib/search/shared/sources/storedqueries.mjs +1 -1
  303. package/esm2020/lib/search/shared/sources/storedqueries.providers.mjs +1 -1
  304. package/esm2020/lib/search/shared/sources/workspace.interfaces.mjs +2 -0
  305. package/esm2020/lib/search/shared/sources/workspace.mjs +186 -0
  306. package/esm2020/lib/search/shared/sources/workspace.providers.mjs +26 -0
  307. package/esm2020/lib/style/index.mjs +5 -0
  308. package/esm2020/lib/style/shared/datasource/esri-style-generator.mjs +357 -0
  309. package/esm2020/lib/style/shared/datasource/index.mjs +2 -0
  310. package/esm2020/lib/style/shared/feature/feature-style.mjs +141 -0
  311. package/esm2020/lib/style/shared/feature/index.mjs +2 -0
  312. package/esm2020/lib/style/shared/font.enum.mjs +17 -0
  313. package/esm2020/lib/style/shared/index.mjs +5 -0
  314. package/esm2020/lib/style/shared/overlay/index.mjs +3 -0
  315. package/esm2020/lib/style/shared/overlay/overlay-marker-style.utils.mjs +43 -0
  316. package/esm2020/lib/style/shared/overlay/overlay-style.utils.mjs +88 -0
  317. package/esm2020/lib/style/shared/vector/commonVectorStyle.mjs +75 -0
  318. package/esm2020/lib/style/shared/vector/conversion.utils.mjs +27 -0
  319. package/esm2020/lib/style/shared/vector/index.mjs +4 -0
  320. package/esm2020/lib/style/shared/vector/vector-style.interface.mjs +2 -0
  321. package/esm2020/lib/style/style-list/index.mjs +5 -0
  322. package/esm2020/lib/style/style-list/style-list.interface.mjs +2 -0
  323. package/esm2020/lib/style/style-list/style-list.module.mjs +23 -0
  324. package/esm2020/lib/style/style-list/style-list.provider.mjs +21 -0
  325. package/esm2020/lib/style/style-list/style-list.service.mjs +51 -0
  326. package/esm2020/lib/style/style-modal/drawing/index.mjs +2 -0
  327. package/esm2020/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +288 -0
  328. package/esm2020/lib/style/style-modal/index.mjs +5 -0
  329. package/esm2020/lib/style/style-modal/layer/index.mjs +2 -0
  330. package/esm2020/lib/style/style-modal/layer/style-modal-layer.component.mjs +187 -0
  331. package/esm2020/lib/style/style-modal/layer-button/index.mjs +2 -0
  332. package/esm2020/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +44 -0
  333. package/esm2020/lib/style/style-modal/shared/index.mjs +2 -0
  334. package/esm2020/lib/style/style-modal/shared/style-modal.interface.mjs +2 -0
  335. package/esm2020/lib/style/style-service/draw-style.service.mjs +187 -0
  336. package/esm2020/lib/style/style-service/index.mjs +3 -0
  337. package/esm2020/lib/style/style-service/style.service.mjs +356 -0
  338. package/esm2020/lib/style/style.module.mjs +74 -0
  339. package/esm2020/lib/toast/toast.component.mjs +3 -3
  340. package/esm2020/lib/toast/toast.module.mjs +1 -1
  341. package/esm2020/lib/utils/id-generator.mjs +1 -1
  342. package/esm2020/lib/utils/index.mjs +1 -3
  343. package/esm2020/lib/wkt/shared/wkt.service.mjs +15 -15
  344. package/esm2020/lib/wkt/wkt.module.mjs +1 -1
  345. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +2 -2
  346. package/esm2020/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +1 -1
  347. package/esm2020/lib/workspace/confirmation-popup/index.mjs +1 -1
  348. package/esm2020/lib/workspace/shared/edition-workspace.mjs +1 -1
  349. package/esm2020/lib/workspace/shared/edition-workspace.service.mjs +19 -34
  350. package/esm2020/lib/workspace/shared/feature-workspace.mjs +1 -1
  351. package/esm2020/lib/workspace/shared/feature-workspace.service.mjs +10 -3
  352. package/esm2020/lib/workspace/shared/wfs-workspace.mjs +1 -1
  353. package/esm2020/lib/workspace/shared/wfs-workspace.service.mjs +2 -2
  354. package/esm2020/lib/workspace/shared/wms-workspace.service.mjs +3 -3
  355. package/esm2020/lib/workspace/shared/workspace.utils.mjs +1 -1
  356. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  357. package/esm2020/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +1 -1
  358. package/esm2020/lib/workspace/widgets/widgets.mjs +1 -1
  359. package/esm2020/lib/workspace/workspace-selector/workspace-selector.directive.mjs +1 -1
  360. package/esm2020/lib/workspace/workspace-selector/workspace-selector.module.mjs +1 -1
  361. package/esm2020/lib/workspace/workspace-updator/workspace-updator.directive.mjs +1 -1
  362. package/esm2020/lib/workspace/workspace-updator/workspace-updator.module.mjs +1 -1
  363. package/esm2020/lib/workspace/workspace.module.mjs +1 -1
  364. package/esm2020/public_api.mjs +3 -1
  365. package/fesm2015/igo2-geo.mjs +6644 -5300
  366. package/fesm2015/igo2-geo.mjs.map +1 -1
  367. package/fesm2020/igo2-geo.mjs +7429 -6157
  368. package/fesm2020/igo2-geo.mjs.map +1 -1
  369. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +5 -14
  370. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -5
  371. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -9
  372. package/lib/catalog/catalog-library/catalog-library.component.d.ts +2 -3
  373. package/lib/catalog/shared/catalog.interface.d.ts +10 -0
  374. package/lib/datasource/shared/datasources/datasource.interface.d.ts +13 -0
  375. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +5 -0
  376. package/lib/datasource/utils/index.d.ts +0 -1
  377. package/lib/download/shared/download.service.d.ts +2 -3
  378. package/lib/draw/draw/draw.component.d.ts +3 -2
  379. package/lib/draw/shared/draw.enum.d.ts +0 -15
  380. package/lib/draw/shared/index.d.ts +0 -1
  381. package/lib/feature/shared/feature.interfaces.d.ts +5 -0
  382. package/lib/feature/shared/feature.utils.d.ts +4 -2
  383. package/lib/feature/shared/store.d.ts +7 -0
  384. package/lib/feature/shared/strategies/index.d.ts +1 -0
  385. package/lib/feature/shared/strategies/search.d.ts +55 -0
  386. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -3
  387. package/lib/geo.module.d.ts +3 -2
  388. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +5 -9
  389. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +3 -3
  390. package/lib/import-export/import-export/import-export.component.d.ts +9 -4
  391. package/lib/import-export/import-export.module.d.ts +1 -2
  392. package/lib/import-export/index.d.ts +0 -1
  393. package/lib/import-export/shared/drop-geo-file.directive.d.ts +10 -7
  394. package/lib/import-export/shared/export.utils.d.ts +4 -4
  395. package/lib/import-export/shared/import.interface.d.ts +2 -0
  396. package/lib/import-export/shared/import.utils.d.ts +14 -12
  397. package/lib/layer/index.d.ts +0 -1
  398. package/lib/layer/layer.module.d.ts +19 -20
  399. package/lib/layer/shared/index.d.ts +0 -2
  400. package/lib/layer/shared/layer.service.d.ts +8 -5
  401. package/lib/layer/shared/layers/image-layer.d.ts +2 -3
  402. package/lib/layer/shared/layers/layer.d.ts +5 -1
  403. package/lib/layer/shared/layers/layer.interface.d.ts +2 -0
  404. package/lib/layer/shared/layers/vector-layer.d.ts +18 -2
  405. package/lib/layer/shared/layers/vector-layer.interface.d.ts +8 -7
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +2 -4
  407. package/lib/layer/utils/image-watcher.d.ts +2 -3
  408. package/lib/map/offline-button/offline-button.component.d.ts +10 -18
  409. package/lib/map/shared/controllers/geolocation.d.ts +17 -2
  410. package/lib/map/shared/hover-feature.directive.d.ts +2 -10
  411. package/lib/map/shared/map.d.ts +2 -2
  412. package/lib/map/shared/mapOffline.directive.d.ts +4 -7
  413. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +3 -6
  414. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  415. package/lib/offline/index.d.ts +1 -0
  416. package/lib/offline/layerDB/index.d.ts +2 -0
  417. package/lib/offline/layerDB/layerDB.interface.d.ts +7 -0
  418. package/lib/offline/layerDB/layerDB.service.d.ts +36 -0
  419. package/lib/overlay/shared/index.d.ts +0 -1
  420. package/lib/overlay/shared/overlay.utils.d.ts +0 -11
  421. package/lib/print/print-form/print-form.component.d.ts +2 -0
  422. package/lib/print/shared/print.service.d.ts +6 -0
  423. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  424. package/lib/search/search-results/search-results-add-button.component.d.ts +10 -2
  425. package/lib/search/search-results/search-results-item.component.d.ts +5 -0
  426. package/lib/search/search-results/search-results.component.d.ts +5 -1
  427. package/lib/search/search-results/search-results.module.d.ts +11 -10
  428. package/lib/search/shared/search-pointer-summary.directive.d.ts +0 -9
  429. package/lib/search/shared/search-source.service.d.ts +7 -0
  430. package/lib/search/shared/search.interfaces.d.ts +1 -1
  431. package/lib/search/shared/sources/coordinates.providers.d.ts +3 -3
  432. package/lib/search/shared/sources/index.d.ts +3 -0
  433. package/lib/search/shared/sources/source.d.ts +6 -0
  434. package/lib/search/shared/sources/workspace.d.ts +33 -0
  435. package/lib/search/shared/sources/workspace.interfaces.d.ts +9 -0
  436. package/lib/search/shared/sources/workspace.providers.d.ts +17 -0
  437. package/lib/style/index.d.ts +4 -0
  438. package/lib/style/shared/datasource/index.d.ts +1 -0
  439. package/lib/style/shared/feature/feature-style.d.ts +18 -0
  440. package/lib/style/shared/feature/index.d.ts +1 -0
  441. package/lib/style/shared/font.enum.d.ts +15 -0
  442. package/lib/style/shared/index.d.ts +4 -0
  443. package/lib/style/shared/overlay/index.d.ts +2 -0
  444. package/lib/style/shared/overlay/overlay-style.utils.d.ts +19 -0
  445. package/lib/{utils → style/shared/vector}/commonVectorStyle.d.ts +4 -4
  446. package/lib/style/shared/vector/conversion.utils.d.ts +22 -0
  447. package/lib/style/shared/vector/index.d.ts +3 -0
  448. package/lib/style/shared/vector/vector-style.interface.d.ts +69 -0
  449. package/lib/style/style-modal/drawing/index.d.ts +1 -0
  450. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +31 -0
  451. package/lib/style/style-modal/index.d.ts +4 -0
  452. package/lib/style/style-modal/layer/index.d.ts +1 -0
  453. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +30 -0
  454. package/lib/style/style-modal/layer-button/index.d.ts +1 -0
  455. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +14 -0
  456. package/lib/style/style-modal/shared/index.d.ts +1 -0
  457. package/lib/style/style-modal/shared/style-modal.interface.d.ts +17 -0
  458. package/lib/{draw/shared → style/style-service}/draw-style.service.d.ts +3 -4
  459. package/lib/style/style-service/index.d.ts +2 -0
  460. package/lib/{layer/shared → style/style-service}/style.service.d.ts +5 -5
  461. package/lib/style/style.module.d.ts +22 -0
  462. package/lib/utils/index.d.ts +0 -2
  463. package/lib/workspace/shared/edition-workspace.service.d.ts +3 -4
  464. package/lib/workspace/shared/wms-workspace.service.d.ts +1 -1
  465. package/ngcc.config.js +3 -3
  466. package/package.json +17 -11
  467. package/public_api.d.ts +2 -0
  468. package/style/geo.theming.scss +12 -12
  469. package/esm2020/lib/datasource/utils/esri-style-generator.mjs +0 -357
  470. package/esm2020/lib/draw/shared/draw-style.service.mjs +0 -190
  471. package/esm2020/lib/import-export/style-list/index.mjs +0 -5
  472. package/esm2020/lib/import-export/style-list/style-list.interface.mjs +0 -2
  473. package/esm2020/lib/import-export/style-list/style-list.module.mjs +0 -23
  474. package/esm2020/lib/import-export/style-list/style-list.provider.mjs +0 -21
  475. package/esm2020/lib/import-export/style-list/style-list.service.mjs +0 -51
  476. package/esm2020/lib/layer/shared/style.service.mjs +0 -356
  477. package/esm2020/lib/layer/shared/vector-style.interface.mjs +0 -2
  478. package/esm2020/lib/layer/style-modal/index.mjs +0 -2
  479. package/esm2020/lib/layer/style-modal/style-modal.component.mjs +0 -288
  480. package/esm2020/lib/overlay/shared/overlay-marker-style.utils.mjs +0 -69
  481. package/esm2020/lib/utils/commonVectorStyle.interface.mjs +0 -2
  482. package/esm2020/lib/utils/commonVectorStyle.mjs +0 -75
  483. package/lib/layer/shared/vector-style.interface.d.ts +0 -38
  484. package/lib/layer/style-modal/index.d.ts +0 -1
  485. package/lib/layer/style-modal/style-modal.component.d.ts +0 -42
  486. package/lib/utils/commonVectorStyle.interface.d.ts +0 -16
  487. /package/lib/{datasource/utils → style/shared/datasource}/esri-style-generator.d.ts +0 -0
  488. /package/lib/{overlay/shared → style/shared/overlay}/overlay-marker-style.utils.d.ts +0 -0
  489. /package/lib/{import-export → style}/style-list/index.d.ts +0 -0
  490. /package/lib/{import-export → style}/style-list/style-list.interface.d.ts +0 -0
  491. /package/lib/{import-export → style}/style-list/style-list.module.d.ts +0 -0
  492. /package/lib/{import-export → style}/style-list/style-list.provider.d.ts +0 -0
  493. /package/lib/{import-export → style}/style-list/style-list.service.d.ts +0 -0
@@ -420,7 +420,7 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
420
420
  } }, dependencies: [i3.NgForOf, i3.NgIf, i3.NgSwitch, i3.NgSwitchCase, i4.MatTooltip, i5.MatIcon, i6.MatButton, i7.MatMenu, i7.MatMenuItem, i7.MatMenuTrigger, i8.MatRadioGroup, i8.MatRadioButton, i9.MatCheckbox, i10.MatDivider, i11.MatSlideToggle, i12.TranslatePipe], styles: [".checkAllButton[_ngcontent-%COMP%]{text-align:center;padding:0 5px}.igo-search-settings-button[_ngcontent-%COMP%] div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group[_ngcontent-%COMP%]{display:flex;flex-direction:column}.igo-search-settings-radio-group[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{margin:5px}.igo-search-settings-checkbox[_ngcontent-%COMP%] mat-radio-button[_ngcontent-%COMP%]{display:flex}.igo-search-settings-search-source[_ngcontent-%COMP%]{display:flex;width:100%}.igo-search-settings-search-source[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:flex;margin-left:5px;margin-right:5px}.search-option[_ngcontent-%COMP%]{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%]{overflow-x:hidden}.pointer-summary-slide-toggle-container[_ngcontent-%COMP%] mat-slide-toggle[_ngcontent-%COMP%]{margin:10px}"], changeDetection: 0 });
421
421
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchSettingsComponent, [{
422
422
  type: Component,
423
- args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\n\n <button\n mat-icon-button\n class=\"igo-search-settings-button\"\n color=\"primary\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\n [matMenuTriggerFor]=\"searchSettingsMenu\">\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\n </button>\n <mat-menu\n #searchSettingsMenu=\"matMenu\"\n class=\"no-border-radius\">\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\n <button mat-raised-button\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\n </div>\n <ng-container *ngFor=\"let source of getSearchSources()\">\n <span class=\"igo-search-settings-search-source\">\n <mat-checkbox\n class=\"igo-search-settings-checkbox\"\n [checked]=\"source.enabled\"\n [value]=\"source\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckSearchSource($event, source)\">\n </mat-checkbox>\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\n [matMenuTriggerFor]=\"sub_menu\"\n mat-menu-item>{{source.title}}\n </button>\n <button\n mat-menu-item\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\n {{source.title}}\n </button>\n </span>\n <mat-menu #sub_menu=\"matMenu\">\n <ng-container *ngFor=\"let setting of source.settings\">\n <button\n mat-menu-item\n [matMenuTriggerFor]=\"test_sub_menu\">\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\n </button>\n <mat-menu #test_sub_menu=\"matMenu\"\n [ngSwitch]=\"setting.type\"\n yPosition=\"above\">\n <span *ngSwitchCase=\"'radiobutton'\">\n <mat-radio-group\n class=\"igo-search-settings-radio-group\"\n [value]=\"setting\">\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\n class=\"mat-typography\"\n [value]=\"settingValue\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n [checked]=\"settingValue.enabled\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-radio-button>\n </mat-radio-group>\n </span>\n <span *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\n <button mat-raised-button\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\n </div>\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\n class=\"mat-menu-item\"\n [style.display]=\"displayBlock\"\n [checked]=\"settingValue.enabled\"\n [value]=\"setting\"\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\n {{settingValue.title | translate}}\n </mat-checkbox>\n </span>\n </mat-menu>\n </ng-container>\n </mat-menu>\n </ng-container>\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\n <mat-divider></mat-divider>\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\n <mat-slide-toggle class=\"search-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\n </mat-slide-toggle>\n <mat-slide-toggle class=\"search-option\" (change)=\"reverseSearchCoordsFormat($event)\" tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"reverseSearchCoordsFormatEnabled ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\"\n (click)=\"$event.stopPropagation()\" [checked]=\"reverseSearchCoordsFormatEnabled\" [labelPosition]=\"'after'\">\n {{'igo.geo.search.reverseCoordFormat.title' | translate}}\n </mat-slide-toggle>\n </span>\n </span>\n </mat-menu>\n</div>\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
423
+ args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\r\n\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\">\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu\r\n #searchSettingsMenu=\"matMenu\"\r\n class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length>4\">\r\n <button mat-raised-button\r\n (click)=\"checkUncheckAllSources($event)\">{{!searchSourcesAllEnabled ? ('igo.geo.search.searchSources.unselectAll' | translate): ('igo.geo.search.searchSources.selectAll' | translate)}}</button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"source\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\">\r\n </mat-checkbox>\r\n <button *ngIf=\"source.settings.length\u00A0>\u00A00\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item>{{source.title}}\r\n </button>\r\n <button\r\n mat-menu-item\r\n *ngIf=\"source.settings.length\u00A0===\u00A00\">\r\n {{source.title}}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button\r\n mat-menu-item\r\n [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{'igo.geo.search.searchSources.settings.'+ setting.title | translate}}\r\n </button>\r\n <mat-menu #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\">\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\">\r\n <mat-radio-button *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"settingsValueCheckedRadioButton($event, source, setting, settingValue)\">\r\n {{settingValue.title | translate}}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length\u00A0>\u00A03\">\r\n <button mat-raised-button\r\n (click)=\"checkUncheckAll($event, source, setting)\">{{setting.allEnabled || setting.allEnabled === undefined ? ('igo.geo.search.searchSources.settings.unselectAll' | translate): ('igo.geo.search.searchSources.settings.selectAll' | translate)}}</button>\r\n </div>\r\n <mat-checkbox *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n class=\"mat-menu-item\"\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"setting\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"settingsValueCheckedCheckbox($event, source, setting, settingValue)\">\r\n {{settingValue.title | translate}}\r\n </mat-checkbox>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <span *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\">\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container mat-typography\">\r\n <mat-slide-toggle class=\"search-option\" (change)=\"changePointerReverseSearch($event)\" tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.pointerSearchSummary.tooltip' | translate\"\r\n (click)=\"$event.stopPropagation()\" [checked]=\"pointerSummaryEnabled\" [labelPosition]=\"'after'\">\r\n {{'igo.geo.search.pointerSearchSummary.title' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle class=\"search-option\" (change)=\"changeSearchResultsGeometry($event)\" tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\" [matTooltip]=\"'igo.geo.search.searchResultsGeometry.tooltip' | translate\"\r\n (click)=\"$event.stopPropagation()\" [checked]=\"searchResultsGeometryEnabled\" [labelPosition]=\"'after'\">\r\n {{'igo.geo.search.searchResultsGeometry.title' | translate}}\r\n </mat-slide-toggle>\r\n <mat-slide-toggle class=\"search-option\" (change)=\"reverseSearchCoordsFormat($event)\" tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"reverseSearchCoordsFormatEnabled ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\r\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\"\r\n (click)=\"$event.stopPropagation()\" [checked]=\"reverseSearchCoordsFormatEnabled\" [labelPosition]=\"'after'\">\r\n {{'igo.geo.search.reverseCoordFormat.title' | translate}}\r\n </mat-slide-toggle>\r\n </span>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [".checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-button ::ng-deep div.mat-button-ripple-round{border-radius:0}.igo-search-settings-radio-group{display:flex;flex-direction:column}.igo-search-settings-radio-group mat-radio-button{margin:5px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px}\n"] }]
424
424
  }], function () { return [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i2.StorageService }]; }, { pointerSummaryEnabled: [{
425
425
  type: Input
426
426
  }], searchResultsGeometryEnabled: [{
@@ -439,4 +439,4 @@ SearchSettingsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
439
439
  type: HostListener,
440
440
  args: ['document:keydown', ['$event']]
441
441
  }] }); })();
442
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsWUFBWSxFQUNaLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGVBQWUsRUFDZixzQkFBc0IsRUFDdkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ1I1Qiw4QkFBZ0UsZ0JBQUE7SUFFNUQsMEtBQVMsZUFBQSxxQ0FBOEIsQ0FBQSxJQUFDO0lBQUMsWUFBZ0o7OztJQUFBLGlCQUFTLEVBQUE7OztJQUF6SixlQUFnSjtJQUFoSix5TEFBZ0o7OztJQVd2TCxrQ0FFZ0I7SUFBQSxZQUNoQjtJQUFBLGlCQUFTOzs7O0lBRlAsdUNBQThCO0lBQ2hCLGVBQ2hCO0lBRGdCLCtDQUNoQjs7O0lBQ0Esa0NBRXVDO0lBQ3JDLFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRFAsZUFDRjtJQURFLGdEQUNGOzs7O0lBZ0JVLDRDQU1vRjtJQURsRiw0S0FBUyx3QkFBd0IsSUFBQyxvWUFDeEIsZUFBQSx5RkFBc0UsQ0FBQSxJQUQ5QztJQUVsQyxZQUNGOztJQUFBLGlCQUFtQjs7OztJQU5qQix3Q0FBc0Isb0VBQUEscUNBQUE7SUFLdEIsZUFDRjtJQURFLDZFQUNGOzs7SUFaSiw0QkFBb0MsMEJBQUE7SUFJaEMsd0lBUW1CO0lBQ3JCLGlCQUFr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QUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNuRixDQUFDOzs4RkEvTlUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7OEdBQXZCLCtCQUEyQjs7UUN4Q3hDLDhCQUFpQyxnQkFBQTs7UUFVN0IsOEJBQTRDO1FBQzlDLGlCQUFTO1FBQ1Qsc0NBRTJCO1FBQ3pCLHdFQUdNO1FBQ0osMEZBK0RlO1FBQ2YsNEVBcUJPO1FBQ1gsaUJBQVcsRUFBQTs7O1FBakdULGVBQXdEO1FBQXhELGdGQUF3RCwwQkFBQTtRQU8zQixlQUFpQztRQUFqQyx3REFBaUM7UUFJM0IsZUFBcUI7UUFBckIsZ0RBQXFCO1FBZ0UvQyxlQUFxRDtRQUFyRCw4RUFBcUQ7O3VGRDNDckQsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEhBZXRDLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLDRCQUE0QjtrQkFBcEMsS0FBSztZQUNHLGdDQUFnQztrQkFBeEMsS0FBSztZQUtJLGtCQUFrQjtrQkFBM0IsTUFBTTtZQUtHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQUtHLDJCQUEyQjtrQkFBcEMsTUFBTTtZQUtHLCtCQUErQjtrQkFBeEMsTUFBTTtZQUdQLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkluaXQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcbiAgU2V0dGluZ09wdGlvbnNcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSxcbiAgc291cmNlQ2FuU2VhcmNoLFxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoXG59IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXG4gKiBjdXJyZW50IHZlcnNpb24sIG9ubHkgb25lIHNlYXJjaCB0eXBlIGNhbiBiZSBzZWxlY3RlZCBhdCBvbmNlIChyYWRpbykuIElmXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xuICogcGxhY2Vob2xkZXIgZ2V0dGVyLiBUaGUgc2VhcmNoIHNvdXJjZSBzZXJ2aWNlIGFscmVhZHkgc3VwcG9ydHMgaGF2aW5nXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHNlYXJjaFNvdXJjZXNBbGxFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGJ1ZmZlciA9IFtdO1xuICBwdWJsaWMgbGFzdEtleVRpbWUgPSBEYXRlLm5vdygpO1xuXG4gIHB1YmxpYyBkaXNwbGF5QmxvY2sgPSAnYmxvY2snO1xuXG4gIGdldCBpc1RvdWNoU2NyZWVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKCk7XG4gIH1cblxuICBASW5wdXQoKSBwb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGVuYWJsZWQgc2VhcmNoIHNvdXJjZSBjaGFuZ2VzXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hTb3VyY2U+KCk7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9pbnRlciBzdW1tYXJ5IGlzIGFjdGl2YXRlZFxuICAgKi9cbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc3VtbWFyeSBpcyBjaGFuZ2VkXG4gICAqL1xuICBAT3V0cHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGNvb3JkcyBmb3JtYXQgaXMgY2hhbmdlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRjInKSB7XG4gICAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9ICF0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZDtcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgPSB0aGlzLmhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XG4gICAgY29uc3QgdGV4dFNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxuICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgJiYgcy5nZXRJZCgpICE9PSAnbWFwJyAmJiBzLnNob3dJblNldHRpbmdzKTtcblxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXG4gICAgICAuZ2V0U291cmNlcygpXG4gICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2gpXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0ZXh0U2VhcmNoU291cmNlcy5jb25jYXQocmV2ZXJzZVNlYXJjaFNvdXJjZXMpO1xuICAgIHRoaXMuY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXMpO1xuICAgIHJldHVybiBzb3VyY2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXMgdXNhYmxlIGZvciBwb2ludGVyIHN1bW1hcnlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBoYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkpLmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKGNoZWNrYm94IHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNldHRpbmdzKVxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICBpZiAoc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xuICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc291cmNlcylcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxuICAgKiByZXR1cm4gZmFsc2UgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgdW5jaGVja2VkXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdKSB7XG4gICAgY29uc3QgZW5hYmxlZFNvdXJjZXNDbnQgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCkubGVuZ3RoO1xuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+ICFzb3VyY2UuZW5hYmxlZClcbiAgICAgIC5sZW5ndGg7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XG4gICAgICBlbmFibGVkU291cmNlc0NudCA+PSBkaXNhYmxlZFNvdXJjZXNDbnQgPyBmYWxzZSA6IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGVja1VuY2hlY2tBbGwoZXZlbnQsIHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmcpO1xuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKHNldHRpbmdWYWx1ZSkgPT4ge1xuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XG4gICAgfSk7XG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hlY2tVbmNoZWNrQWxsU291cmNlcyhldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XG4gICAgICBzb3VyY2UuZW5hYmxlZCA9IHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ7XG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKHJhZGlvYnV0dG9uIHN0eWxlKVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oXG4gICAgZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlLFxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcbiAgKSB7XG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgaWYgKGNvbmYudmFsdWUgIT09IHNldHRpbmdWYWx1ZS52YWx1ZSkge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25mLmVuYWJsZWQgPSBldmVudC5zb3VyY2UuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XG4gIH1cblxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcbiAgICBzb3VyY2UuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgY29uc3Qgc3RvcmFnZSA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycpIHx8IHt9KSBhcyBTZXR0aW5nT3B0aW9ucztcbiAgICBzdG9yYWdlLmVuYWJsZWQgPSBzb3VyY2UuZW5hYmxlZDtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcbiAgICAgIHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJyxcbiAgICAgIHN0b3JhZ2VcbiAgICApO1xuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcbiAgfVxuXG4gIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIHJldHVybiBzZXR0aW5nLnZhbHVlcy5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSk7XG4gIH1cblxuICBnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nOiBTZXR0aW5nT3B0aW9ucykge1xuICAgIGlmIChzZXR0aW5nLmhhc2h0YWdzKSB7XG4gICAgICByZXR1cm4gc2V0dGluZy5oYXNodGFncy5tYXAoKGgpID0+ICcjJyArIGgpLmpvaW4oJywgJyk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN0b3BQcm9wYWdhdGlvbihldmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeShldmVudCkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCh0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xuICB9XG5cbiAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdChldmVudCkge1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cy5lbWl0KHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5nc1wiPlxuXG4gIDxidXR0b25cbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtYnV0dG9uXCJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLm1lbnUudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZWFyY2hTZXR0aW5nc01lbnVcIj5cbiAgICA8bWF0LWljb24gc3ZnSWNvbj1cImNoZXZyb24tZG93blwiPjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnVcbiAgICAjc2VhcmNoU2V0dGluZ3NNZW51PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJuby1ib3JkZXItcmFkaXVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJnZXRTZWFyY2hTb3VyY2VzKCkubGVuZ3RoPjRcIj5cbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbFNvdXJjZXMoJGV2ZW50KVwiPnt7IXNlYXJjaFNvdXJjZXNBbGxFbmFibGVkICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy51bnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc291cmNlIG9mIGdldFNlYXJjaFNvdXJjZXMoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1jaGVja2JveFwiXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwic291cmNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiPlxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RowqA+wqAwXCJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtPnt7c291cmNlLnRpdGxlfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAqbmdJZj1cInNvdXJjZS5zZXR0aW5ncy5sZW5ndGjCoD09PcKgMFwiPlxuICAgICAgICAgICAge3tzb3VyY2UudGl0bGV9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNldHRpbmcgb2Ygc291cmNlLnNldHRpbmdzXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZXN0X3N1Yl9tZW51XCI+XG4gICAgICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy4nKyBzZXR0aW5nLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDxtYXQtbWVudSAjdGVzdF9zdWJfbWVudT1cIm1hdE1lbnVcIlxuICAgICAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJzZXR0aW5nLnR5cGVcIlxuICAgICAgICAgICAgICAgIHlQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidyYWRpb2J1dHRvbidcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXJhZGlvLWdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b24gKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBzZXR0aW5nLnZhbHVlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbigkZXZlbnQsIHNvdXJjZSwgc2V0dGluZywgc2V0dGluZ1ZhbHVlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7c2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cInNldHRpbmcudmFsdWVzLmxlbmd0aMKgPsKgM1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbCgkZXZlbnQsIHNvdXJjZSwgc2V0dGluZylcIj57e3NldHRpbmcuYWxsRW5hYmxlZCB8fCBzZXR0aW5nLmFsbEVuYWJsZWQgPT09IHVuZGVmaW5lZCAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudW5zZWxlY3RBbGwnIHwgdHJhbnNsYXRlKTogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LW1lbnUtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImRpc3BsYXlCbG9ja1wiXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInNldHRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nVmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0dGluZ3NWYWx1ZUNoZWNrZWRDaGVja2JveCgkZXZlbnQsIHNvdXJjZSwgc2V0dGluZywgc2V0dGluZ1ZhbHVlKVwiPlxuICAgICAgICAgICAgICAgICAgICB7e3NldHRpbmdWYWx1ZS50aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8c3BhbiAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCI+XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBvaW50ZXItc3VtbWFyeS1zbGlkZS10b2dnbGUtY29udGFpbmVyIG1hdC10eXBvZ3JhcGh5XCI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCIgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCIgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIiBbbWF0VG9vbHRpcF09XCInaWdvLmdlby5zZWFyY2gucG9pbnRlclNlYXJjaFN1bW1hcnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiIFtsYWJlbFBvc2l0aW9uXT1cIidhZnRlcidcIj5cbiAgICAgICAgICAgIHt7J2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiIChjaGFuZ2UpPVwiY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KCRldmVudClcIiB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIiBbbGFiZWxQb3NpdGlvbl09XCInYWZ0ZXInXCI+XG4gICAgICAgICAgICB7eydpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudGl0bGUnIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCIgKGNoYW5nZSk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KCRldmVudClcIiB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTG9uTGF0JyB8IHRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFtjaGVja2VkXT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXCIgW2xhYmVsUG9zaXRpb25dPVwiJ2FmdGVyJ1wiPlxuICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRpdGxlJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gIDwvbWF0LW1lbnU+XG48L2Rpdj5cbiJdfQ==
442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsWUFBWSxFQUNaLEtBQUssRUFDTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGVBQWUsRUFDZixzQkFBc0IsRUFDdkIsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztJQ1I1Qiw4QkFBZ0UsZ0JBQUE7SUFFNUQsMEtBQVMsZUFBQSxxQ0FBOEIsQ0FBQSxJQUFDO0lBQUMsWUFBZ0o7OztJQUFBLGlCQUFTLEVBQUE7OztJQUF6SixlQUFnSjtJQUFoSix5TEFBZ0o7OztJQVd2TCxrQ0FFZ0I7SUFBQSxZQUNoQjtJQUFBLGlCQUFTOzs7O0lBRlAsdUNBQThCO0lBQ2hCLGVBQ2hCO0lBRGdCLCtDQUNoQjs7O0lBQ0Esa0NBRXVDO0lBQ3JDLFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRFAsZUFDRjtJQURFLGdEQUNGOzs7O0lBZ0JVLDRDQU1vRjtJQURsRiw0S0FBUyx3QkFBd0IsSUFBQyxvWUFDeEIsZUFBQSx5RkFBc0UsQ0FBQSxJQUQ5QztJQUVsQyxZQUNGOztJQUFBLGlCQUFtQjs7OztJQU5qQix3Q0FBc0Isb0VBQUEscUNBQUE7SUFLdEIsZUFDRjtJQURFLDZFQUNGOzs7SUFaSiw0QkFBb0MsMEJBQUE7SUFJaEMsd0lBUW1CO0lBQ3JCLGlCQUFrQixFQUFBOzs7SUFWaEIsZUFBaUI7SUFBakIsbUNBQWlCO0lBQzBCLGVBQWlCO0lBQWpCLDRDQUFpQjs7OztJQVk5RCw4QkFBOEQsZ0JBQUE7SUFFMUQsb1RBQVMsZUFBQSx1REFBd0MsQ0FBQSxJQUFDO0lBQUMsWUFBZ007OztJQUFBLGlCQUFTLEVBQUE7OztJQUF6TSxlQUFnTTtJQUFoTSwwT0FBZ007Ozs7SUFFdlAsd0NBT2lGO0lBRC9FLG9LQUFTLHdCQUF3QixJQUFDLDRYQUN4QixlQUFBLHNGQUFtRSxDQUFBLElBRDNDO0lBRWxDLFlBQ0Y7O0lBQUEsaUJBQWU7Ozs7O0lBUGIsK0NBQThCO0lBQzlCLGtEQUFnQyxzQkFBQSxvRUFBQTtJQUtoQyxlQUNGO0lBREUsNkVBQ0Y7OztJQWRGLDRCQUFpQztJQUMvQiw2R0FHTTtJQUNOLGdJQVNlO0lBQ2pCLGlCQUFPOzs7O0lBZHdCLGVBQStCO0lBQS9CLG9EQUErQjtJQUlyQixlQUE4QjtJQUE5QixpRUFBOEI7OztJQTdCM0UsNkJBQXNEO0lBQ3BELGtDQUV3QztJQUN0QyxZQUNGOztJQUFBLGlCQUFTO0lBQ1Qsd0NBRW9CO0lBQ2xCLHlHQWNPO0lBQ1AseUdBZU87SUFDVCxpQkFBVztJQUNiLDBCQUFlOzs7O0lBdENULGVBQW1DO0lBQW5DLHdDQUFtQztJQUNyQyxlQUNGO0lBREUsbUhBQ0Y7SUFFRSxlQUF5QjtJQUF6QiwyQ0FBeUI7SUFFbEIsZUFBMkI7SUFBM0IsNENBQTJCO0lBZTNCLGVBQXdCO0lBQXhCLHlDQUF3Qjs7OztJQTVDekMsNkJBQXdEO0lBQ3RELGdDQUFnRCx1QkFBQTtJQUs1QywrSEFBUyx3QkFBd0IsSUFBQyw2T0FDeEIsZUFBQSw4Q0FBbUMsQ0FBQSxJQURYO0lBRXBDLGlCQUFlO0lBQ2YsOEZBR1M7SUFDVCw4RkFJUztJQUNYLGlCQUFPO0lBQ0wsMENBQThCO0lBQzVCLHlHQXlDZTtJQUNqQixpQkFBVztJQUNmLDBCQUFlOzs7SUEzRFQsZUFBMEI7SUFBMUIsMkNBQTBCLG9CQUFBO0lBS25CLGVBQWdDO0lBQWhDLG9EQUFnQztJQU10QyxlQUFrQztJQUFsQyxzREFBa0M7SUFLRCxlQUFrQjtJQUFsQiw0Q0FBa0I7Ozs7SUE0QzFELDRCQUE4RDtJQUM1RCw4QkFBMkI7SUFDM0IsZ0NBQW9FLDJCQUFBO0lBQzFCLHlMQUFVLGVBQUEsMENBQWtDLENBQUEsSUFBQyw4R0FFMUUsd0JBQXdCLElBRmtEOztJQUduRixZQUNGOztJQUFBLGlCQUFtQjtJQUNuQiw0Q0FFd0c7SUFGaEUseUxBQVUsZUFBQSwyQ0FBbUMsQ0FBQSxJQUFDLDhHQUUzRSx3QkFBd0IsSUFGbUQ7O0lBR3BGLFlBQ0Y7O0lBQUEsaUJBQW1CO0lBQ25CLDZDQUk0RztJQUpwRSwwTEFBVSxlQUFBLHlDQUFpQyxDQUFBLElBQUMsK0dBSXpFLHdCQUF3QixJQUppRDs7O0lBS2xGLGFBQ0Y7O0lBQUEsaUJBQW1CLEVBQUEsRUFBQTs7O0lBZlMsZUFBd0U7SUFBeEUsaUdBQXdFLHlDQUFBLDBCQUFBO0lBRWxHLGVBQ0Y7SUFERSxtR0FDRjtJQUU0QixlQUF5RTtJQUF6RSxrR0FBeUUsZ0RBQUEsMEJBQUE7SUFFbkcsZUFDRjtJQURFLHFHQUNGO0lBR0UsZUFDa0U7SUFEbEUsNE5BQ2tFLG9EQUFBLDBCQUFBO0lBRWxFLGVBQ0Y7SUFERSxrR0FDRjs7QUQ1RVY7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyx1QkFBdUI7SUE2Q2xDLFlBQ1UsbUJBQXdDLEVBQ3hDLFlBQTBCLEVBQzFCLGNBQThCO1FBRjlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBL0NqQyxrQ0FBNkIsR0FBWSxLQUFLLENBQUM7UUFDL0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBRXpDLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixnQkFBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV6QixpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQU1yQiwwQkFBcUIsR0FBWSxLQUFLLENBQUM7UUFDdkMsaUNBQTRCLEdBQVksS0FBSyxDQUFDO1FBQzlDLHFDQUFnQyxHQUFZLEtBQUssQ0FBQztRQUUzRDs7V0FFRztRQUNPLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRWhFOztXQUVHO1FBQ08seUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU3RDs7V0FFRztRQUNPLGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEU7O1dBRUc7UUFDTyxvQ0FBK0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBY3JFLENBQUM7SUF4Q0osSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUEyQkQsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDekQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFRRCxRQUFRO1FBQ04sSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyx3Q0FBd0MsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0I7UUFDZCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxtQkFBbUI7YUFDL0MsVUFBVSxFQUFFO2FBQ1osTUFBTSxDQUFDLGVBQWUsQ0FBQzthQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFekUsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2FBQ2xELFVBQVUsRUFBRTthQUNaLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQzthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDekUsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCx3Q0FBd0M7UUFDdEMsSUFDRSxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLGlCQUFpQixFQUFFO2FBQ25CLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLE1BQU0sRUFDakQ7WUFDQSxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILDRCQUE0QixDQUMxQixLQUF3QixFQUN4QixNQUFvQixFQUNwQixPQUE2QixFQUM3QixZQUE0QjtRQUU1QixZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDckMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsT0FBNkI7UUFDMUQsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQy9ELE9BQU8sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2FBQzVCO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsT0FBdUI7UUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVFLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO2FBQ25FLE1BQU0sQ0FBQztRQUNWLElBQUksQ0FBQyx1QkFBdUI7WUFDMUIsaUJBQWlCLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQW9CLEVBQUUsT0FBNkI7UUFDeEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3RDLFlBQVksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxzQkFBc0IsQ0FBQyxLQUFLO1FBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztZQUM5QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILCtCQUErQixDQUM3QixLQUFxQixFQUNyQixNQUFvQixFQUNwQixPQUE2QixFQUM3QixZQUE0QjtRQUU1QixPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQXdCLEVBQUUsTUFBb0I7UUFDaEUsTUFBTSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBbUIsQ0FBQztRQUMvRixPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxVQUFVLEVBQzNCLE9BQU8sQ0FDUixDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBNkI7UUFDOUMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsT0FBdUI7UUFDaEQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BCLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7UUFDRCxPQUFPO0lBQ1QsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBSztRQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxLQUFLO1FBQy9CLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2xELElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQUs7UUFDN0IsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDdEQsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztJQUNuRixDQUFDOzs4RkEvTlUsdUJBQXVCOzBFQUF2Qix1QkFBdUI7OEdBQXZCLCtCQUEyQjs7UUN4Q3hDLDhCQUFpQyxnQkFBQTs7UUFVN0IsOEJBQTRDO1FBQzlDLGlCQUFTO1FBQ1Qsc0NBRTJCO1FBQ3pCLHdFQUdNO1FBQ0osMEZBK0RlO1FBQ2YsNEVBcUJPO1FBQ1gsaUJBQVcsRUFBQTs7O1FBakdULGVBQXdEO1FBQXhELGdGQUF3RCwwQkFBQTtRQU8zQixlQUFpQztRQUFqQyx3REFBaUM7UUFJM0IsZUFBcUI7UUFBckIsZ0RBQXFCO1FBZ0UvQyxlQUFxRDtRQUFyRCw4RUFBcUQ7O3VGRDNDckQsdUJBQXVCO2NBTm5DLFNBQVM7MkJBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEhBZXRDLHFCQUFxQjtrQkFBN0IsS0FBSztZQUNHLDRCQUE0QjtrQkFBcEMsS0FBSztZQUNHLGdDQUFnQztrQkFBeEMsS0FBSztZQUtJLGtCQUFrQjtrQkFBM0IsTUFBTTtZQUtHLG9CQUFvQjtrQkFBN0IsTUFBTTtZQUtHLDJCQUEyQjtrQkFBcEMsTUFBTTtZQUtHLCtCQUErQjtrQkFBeEMsTUFBTTtZQUdQLG1CQUFtQjtrQkFEbEIsWUFBWTttQkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgT25Jbml0LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQge1xyXG4gIFNlYXJjaFNvdXJjZVNldHRpbmdzLFxyXG4gIFNldHRpbmdPcHRpb25zXHJcbn0gZnJvbSAnLi4vc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnksXHJcbiAgc291cmNlQ2FuU2VhcmNoLFxyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hcclxufSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLnV0aWxzJztcclxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGFsbG93cyBhIHVzZXIgdG8gc2VsZWN0IGEgc2VhcmNoIHR5cGUgeW8gZW5hYmxlLiBJbiBpdCdzXHJcbiAqIGN1cnJlbnQgdmVyc2lvbiwgb25seSBvbmUgc2VhcmNoIHR5cGUgY2FuIGJlIHNlbGVjdGVkIGF0IG9uY2UgKHJhZGlvKS4gSWZcclxuICogdGhpcyBjb21wb25lbnQgd2VyZSB0byBzdXBwb3J0IG1vcmUgdGhhbiBvbmUgc2VhcmNoIHNvdXJjZSBlbmFibGVkIChjaGVja2JveCksXHJcbiAqIHRoZSBzZWFyY2hiYXIgY29tcG9uZW50IHdvdWxkIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgdG8gaXQnc1xyXG4gKiBwbGFjZWhvbGRlciBnZXR0ZXIuIFRoZSBzZWFyY2ggc291cmNlIHNlcnZpY2UgYWxyZWFkeSBzdXBwb3J0cyBoYXZpbmdcclxuICogbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1zZWFyY2gtc2V0dGluZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlYXJjaFNvdXJjZXNBbGxFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBidWZmZXIgPSBbXTtcclxuICBwdWJsaWMgbGFzdEtleVRpbWUgPSBEYXRlLm5vdygpO1xyXG5cclxuICBwdWJsaWMgZGlzcGxheUJsb2NrID0gJ2Jsb2NrJztcclxuXHJcbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuaXNUb3VjaFNjcmVlbigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hTb3VyY2U+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9pbnRlciBzdW1tYXJ5IGlzIGFjdGl2YXRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyU3VtbWFyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaG93IGdlb21ldHJ5IHN1bW1hcnkgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdGMicpIHtcclxuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSAhdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQ7XHJcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlID0gdGhpcy5oYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XHJcbiAgICBjb25zdCB0ZXh0U2VhcmNoU291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAuZ2V0U291cmNlcygpXHJcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG5cclxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgIC5nZXRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG4gICAgY29uc3Qgc291cmNlcyA9IHRleHRTZWFyY2hTb3VyY2VzLmNvbmNhdChyZXZlcnNlU2VhcmNoU291cmNlcyk7XHJcbiAgICB0aGlzLmNvbXB1dGVTb3VyY2VzQ2hlY2tBbGxCZWhhdmlvcihzb3VyY2VzKTtcclxuICAgIHJldHVybiBzb3VyY2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBzZWFyY2ggc291cmNlcyB1c2FibGUgZm9yIHBvaW50ZXIgc3VtbWFyeVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXHJcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIGEgc2V0dGluZyBpcyBjaGVja2VkIChjaGVja2JveCBzdHlsZSlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxyXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxyXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcclxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcclxuICApIHtcclxuICAgIHNldHRpbmdWYWx1ZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pbmcgdGhlIGFjdGlvbiB0byBkbyBmb3IgY2hlY2svdW5jaGVjayBjaGVja2JveGVzIChzZXR0aW5ncylcclxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXHJcbiAgICogcmV0dXJuIGZhbHNlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIHVuY2hlY2tlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVTZXR0aW5nQ2hlY2tBbGxCZWhhdmlvcihzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgaWYgKHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNvdXJjZXMpXHJcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxyXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjb21wdXRlU291cmNlc0NoZWNrQWxsQmVoYXZpb3Ioc291cmNlczogU2VhcmNoU291cmNlW10pIHtcclxuICAgIGNvbnN0IGVuYWJsZWRTb3VyY2VzQ250ID0gc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLmVuYWJsZWQpLmxlbmd0aDtcclxuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+ICFzb3VyY2UuZW5hYmxlZClcclxuICAgICAgLmxlbmd0aDtcclxuICAgIHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQgPVxyXG4gICAgICBlbmFibGVkU291cmNlc0NudCA+PSBkaXNhYmxlZFNvdXJjZXNDbnQgPyBmYWxzZSA6IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyZWQgd2hlbiB0aGUgY2hlY2sgYWxsIC8gdW5jaGVjayBhbGwgdHlwZSBpcyBjbGlja2VkLFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNoZWNrVW5jaGVja0FsbChldmVudCwgc291cmNlOiBTZWFyY2hTb3VyY2UsIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmcpO1xyXG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoc2V0dGluZ1ZhbHVlKSA9PiB7XHJcbiAgICAgIHNldHRpbmdWYWx1ZS5lbmFibGVkID0gc2V0dGluZy5hbGxFbmFibGVkO1xyXG4gICAgfSk7XHJcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcclxuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgY2hlY2tVbmNoZWNrQWxsU291cmNlcyhldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmdldFNlYXJjaFNvdXJjZXMoKS5tYXAoKHNvdXJjZSkgPT4ge1xyXG4gICAgICBzb3VyY2UuZW5hYmxlZCA9IHRoaXMuc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ7XHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKHJhZGlvYnV0dG9uIHN0eWxlKVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oXHJcbiAgICBldmVudDogTWF0UmFkaW9DaGFuZ2UsXHJcbiAgICBzb3VyY2U6IFNlYXJjaFNvdXJjZSxcclxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxyXG4gICAgc2V0dGluZ1ZhbHVlOiBTZXR0aW5nT3B0aW9uc1xyXG4gICkge1xyXG4gICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xyXG4gICAgICBpZiAoY29uZi52YWx1ZSAhPT0gc2V0dGluZ1ZhbHVlLnZhbHVlKSB7XHJcbiAgICAgICAgY29uZi5lbmFibGVkID0gIWV2ZW50LnNvdXJjZS5jaGVja2VkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbmYuZW5hYmxlZCA9IGV2ZW50LnNvdXJjZS5jaGVja2VkO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgb25DaGVja1NlYXJjaFNvdXJjZShldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UsIHNvdXJjZTogU2VhcmNoU291cmNlKSB7XHJcbiAgICBzb3VyY2UuZW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICBjb25zdCBzdG9yYWdlID0gKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJykgfHwge30pIGFzIFNldHRpbmdPcHRpb25zO1xyXG4gICAgc3RvcmFnZS5lbmFibGVkID0gc291cmNlLmVuYWJsZWQ7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldChcclxuICAgICAgc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnLFxyXG4gICAgICBzdG9yYWdlXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXZhaWxhYmxlVmFsdWVzKHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSB7XHJcbiAgICByZXR1cm4gc2V0dGluZy52YWx1ZXMuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAhPT0gZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZzogU2V0dGluZ09wdGlvbnMpIHtcclxuICAgIGlmIChzZXR0aW5nLmhhc2h0YWdzKSB7XHJcbiAgICAgIHJldHVybiBzZXR0aW5nLmhhc2h0YWdzLm1hcCgoaCkgPT4gJyMnICsgaCkuam9pbignLCAnKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHN0b3BQcm9wYWdhdGlvbihldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaChldmVudCkge1xyXG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeShldmVudCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5U3RhdHVzLmVtaXQodGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkKTtcclxuICB9XHJcblxyXG4gIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQoZXZlbnQpIHtcclxuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0U3RhdHVzLmVtaXQodGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzXCI+XHJcblxyXG4gIDxidXR0b25cclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWJ1dHRvblwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLm1lbnUudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNlYXJjaFNldHRpbmdzTWVudVwiPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjaGV2cm9uLWRvd25cIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudVxyXG4gICAgI3NlYXJjaFNldHRpbmdzTWVudT1cIm1hdE1lbnVcIlxyXG4gICAgY2xhc3M9XCJuby1ib3JkZXItcmFkaXVzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cImdldFNlYXJjaFNvdXJjZXMoKS5sZW5ndGg+NFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbFNvdXJjZXMoJGV2ZW50KVwiPnt7IXNlYXJjaFNvdXJjZXNBbGxFbmFibGVkICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy51bnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBnZXRTZWFyY2hTb3VyY2VzKClcIj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtY2hlY2tib3hcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJzb3VyY2VcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aMKgPsKgMFwiXHJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+e3tzb3VyY2UudGl0bGV9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RowqA9PT3CoDBcIj5cclxuICAgICAgICAgICAge3tzb3VyY2UudGl0bGV9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBzb3VyY2Uuc2V0dGluZ3NcIj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRlc3Rfc3ViX21lbnVcIj5cclxuICAgICAgICAgICAgICAgIHt7J2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MuJysgc2V0dGluZy50aXRsZSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPG1hdC1tZW51ICN0ZXN0X3N1Yl9tZW51PVwibWF0TWVudVwiXHJcbiAgICAgICAgICAgICAgICBbbmdTd2l0Y2hdPVwic2V0dGluZy50eXBlXCJcclxuICAgICAgICAgICAgICAgIHlQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvYnV0dG9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWdyb3VwXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXJhZGlvLWdyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcmFkaW8tYnV0dG9uICpuZ0Zvcj1cImxldCBzZXR0aW5nVmFsdWUgb2Ygc2V0dGluZy52YWx1ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1ZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldHRpbmdzVmFsdWVDaGVja2VkUmFkaW9CdXR0b24oJGV2ZW50LCBzb3VyY2UsIHNldHRpbmcsIHNldHRpbmdWYWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7c2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJzZXR0aW5nLnZhbHVlcy5sZW5ndGjCoD7CoDNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hlY2tVbmNoZWNrQWxsKCRldmVudCwgc291cmNlLCBzZXR0aW5nKVwiPnt7c2V0dGluZy5hbGxFbmFibGVkIHx8IHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy51bnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3Muc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSl9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5QmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KCRldmVudCwgc291cmNlLCBzZXR0aW5nLCBzZXR0aW5nVmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCI+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwb2ludGVyLXN1bW1hcnktc2xpZGUtdG9nZ2xlLWNvbnRhaW5lciBtYXQtdHlwb2dyYXBoeVwiPlxyXG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCIgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCIgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbY2hlY2tlZF09XCJwb2ludGVyU3VtbWFyeUVuYWJsZWRcIiBbbGFiZWxQb3NpdGlvbl09XCInYWZ0ZXInXCI+XHJcbiAgICAgICAgICAgIHt7J2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cInNlYXJjaC1vcHRpb25cIiAoY2hhbmdlKT1cImNoYW5nZVNlYXJjaFJlc3VsdHNHZW9tZXRyeSgkZXZlbnQpXCIgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW2NoZWNrZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiIFtsYWJlbFBvc2l0aW9uXT1cIidhZnRlcidcIj5cclxuICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2guc2VhcmNoUmVzdWx0c0dlb21ldHJ5LnRpdGxlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBjbGFzcz1cInNlYXJjaC1vcHRpb25cIiAoY2hhbmdlKT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQoJGV2ZW50KVwiIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMb25MYXQnIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBbY2hlY2tlZF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFwiIFtsYWJlbFBvc2l0aW9uXT1cIidhZnRlcidcIj5cclxuICAgICAgICAgICAge3snaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRpdGxlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -57,4 +57,4 @@ IgoSearchSettingsModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [
57
57
  MatDividerModule,
58
58
  MatSlideToggleModule,
59
59
  IgoLanguageModule], exports: [SearchSettingsComponent] }); })();
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUUvQzs7R0FFRztBQWlCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBYmhDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjt1RkFJUix1QkFBdUI7Y0FoQm5DLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdkMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDbkM7O3dGQUNZLHVCQUF1QixtQkFmbkIsdUJBQXVCLGFBRXBDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGlCQUFpQixhQUVULHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2VhcmNoU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5cbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbi8qKlxuICogQGlnbm9yZVxuICovXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hTZXR0aW5nc0NvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1NlYXJjaFNldHRpbmdzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSB7IH1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQUUvQzs7R0FFRztBQWlCSCxNQUFNLE9BQU8sdUJBQXVCOzs4RkFBdkIsdUJBQXVCO3lFQUF2Qix1QkFBdUI7NkVBYmhDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGlCQUFpQjt1RkFJUix1QkFBdUI7Y0FoQm5DLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztnQkFDdkMsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixjQUFjO29CQUNkLGlCQUFpQjtvQkFDakIsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDbkM7O3dGQUNZLHVCQUF1QixtQkFmbkIsdUJBQXVCLGFBRXBDLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLGlCQUFpQixhQUVULHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNlYXJjaFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hTZXR0aW5nc0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbU2VhcmNoU2V0dGluZ3NDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSB7IH1cclxuIl19
@@ -64,4 +64,4 @@ IgoSearchModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonMo
64
64
  IgoSearchResultsModule,
65
65
  IgoSearchSettingsModule,
66
66
  SearchPointerSummaryDirective] }); })();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEcsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBbUIxRixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYiwwQkFBMEIsRUFBRTtnQkFDNUIsMkNBQTJDLEVBQUU7Z0JBQzdDLDhDQUE4QyxFQUFFO2dCQUNoRCxrQ0FBa0MsRUFBRTthQUNyQztTQUNGLENBQUM7SUFDSixDQUFDOzs4RUFaVSxlQUFlO2lFQUFmLGVBQWU7cUVBZnhCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qix1QkFBdUIsRUFHdkIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO3VGQUtkLGVBQWU7Y0FqQjNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDOUM7O3dGQUNZLGVBQWUsbUJBRlgsNkJBQTZCLGFBYjFDLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qix1QkFBdUIsYUFHdkIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xuaW1wb3J0IHsgcHJvdmlkZVNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtc291cmNlLXNlcnZpY2UucHJvdmlkZXJzJztcbmltcG9ydCB7IHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIgfSBmcm9tICcuL3NoYXJlZC9zb3VyY2VzL2ljaGVyY2hlLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xuaW1wb3J0IHsgcHJvdmlkZUlMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlciB9IGZyb20gJy4vc2hhcmVkL3NvdXJjZXMvaWxheWVyLnByb3ZpZGVycyc7XG5cbmltcG9ydCB7IElnb1NlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXNlbGVjdG9yL3NlYXJjaC1zZWxlY3Rvci5tb2R1bGUnO1xuaW1wb3J0IHsgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMubW9kdWxlJztcbmltcG9ydCB7IElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZSc7XG5pbXBvcnQgeyBTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXG4gICAgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUsXG4gICAgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSxcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgSWdvU2VhcmNoQmFyTW9kdWxlLFxuICAgIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlLFxuICAgIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUsXG4gICAgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGUsXG4gICAgU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU2VhcmNoTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29TZWFyY2hNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgU2VhcmNoU2VydmljZSxcbiAgICAgICAgcHJvdmlkZVNlYXJjaFNvdXJjZVNlcnZpY2UoKSxcbiAgICAgICAgcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcigpLFxuICAgICAgICBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCksXG4gICAgICAgIHByb3ZpZGVJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEcsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBbUIxRixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYiwwQkFBMEIsRUFBRTtnQkFDNUIsMkNBQTJDLEVBQUU7Z0JBQzdDLDhDQUE4QyxFQUFFO2dCQUNoRCxrQ0FBa0MsRUFBRTthQUNyQztTQUNGLENBQUM7SUFDSixDQUFDOzs4RUFaVSxlQUFlO2lFQUFmLGVBQWU7cUVBZnhCLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qix1QkFBdUIsRUFHdkIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO3VGQUtkLGVBQWU7Y0FqQjNCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHVCQUF1QjtvQkFDdkIsc0JBQXNCO29CQUN0Qix1QkFBdUI7b0JBQ3ZCLDZCQUE2QjtpQkFDOUI7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDOUM7O3dGQUNZLGVBQWUsbUJBRlgsNkJBQTZCLGFBYjFDLFlBQVk7UUFDWixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0Qix1QkFBdUIsYUFHdkIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL3NlYXJjaC1zb3VyY2Utc2VydmljZS5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9pY2hlcmNoZS5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9pbGF5ZXIucHJvdmlkZXJzJztcclxuXHJcbmltcG9ydCB7IElnb1NlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFJlc3VsdHNNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWdvU2VhcmNoQmFyTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hSZXN1bHRzTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGUsXHJcbiAgICBTZWFyY2hQb2ludGVyU3VtbWFyeURpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TZWFyY2hNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU2VhcmNoTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvU2VhcmNoTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgICAgIHByb3ZpZGVTZWFyY2hTb3VyY2VTZXJ2aWNlKCksXHJcbiAgICAgICAgcHJvdmlkZURlZmF1bHRJQ2hlcmNoZVNlYXJjaFJlc3VsdEZvcm1hdHRlcigpLFxyXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0Q29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKSxcclxuICAgICAgICBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKClcclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,6 @@
1
1
  import { Directive, Input, Self } from '@angular/core';
2
2
  import olFeature from 'ol/Feature';
3
3
  import { transform } from 'ol/proj';
4
- import * as olstyle from 'ol/style';
5
4
  import * as olgeom from 'ol/geom';
6
5
  import OlGeoJSON from 'ol/format/GeoJSON';
7
6
  import { EntityStore } from '@igo2/common';
@@ -13,6 +12,7 @@ import { FeatureStore } from '../../feature/shared/store';
13
12
  import { FeatureMotion, FEATURE } from '../../feature/shared/feature.enums';
14
13
  import { sourceCanReverseSearchAsSummary } from './search.utils';
15
14
  import { unByKey } from 'ol/Observable';
15
+ import { pointerPositionSummaryMarkerStyle } from '../../style/shared/feature/feature-style';
16
16
  import * as i0 from "@angular/core";
17
17
  import * as i1 from "../../map/map-browser/map-browser.component";
18
18
  import * as i2 from "./search.service";
@@ -86,7 +86,7 @@ export class SearchPointerSummaryDirective {
86
86
  showInLayerList: false,
87
87
  exportable: false,
88
88
  browsable: false,
89
- style: pointerPositionSummaryMarker
89
+ style: pointerPositionSummaryMarkerStyle
90
90
  });
91
91
  tryBindStoreLayer(store, layer);
92
92
  }
@@ -292,31 +292,4 @@ SearchPointerSummaryDirective.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ typ
292
292
  }], igoSearchPointerSummaryEnabled: [{
293
293
  type: Input
294
294
  }] }); })();
295
- /**
296
- * Create a default style for the pointer position and it's label summary.
297
- * @param feature OlFeature
298
- * @returns OL style function
299
- */
300
- export function pointerPositionSummaryMarker(feature, resolution) {
301
- return new olstyle.Style({
302
- image: new olstyle.Icon({
303
- src: './assets/igo2/geo/icons/cross_black_18px.svg',
304
- imgSize: [18, 18], // for ie
305
- }),
306
- text: new olstyle.Text({
307
- text: feature.get('pointerSummary'),
308
- textAlign: 'left',
309
- textBaseline: 'bottom',
310
- font: '12px Calibri,sans-serif',
311
- fill: new olstyle.Fill({ color: '#000' }),
312
- backgroundFill: new olstyle.Fill({ color: 'rgba(255, 255, 255, 0.5)' }),
313
- backgroundStroke: new olstyle.Stroke({ color: 'rgba(200, 200, 200, 0.75)', width: 2 }),
314
- stroke: new olstyle.Stroke({ color: '#fff', width: 3 }),
315
- overflow: true,
316
- offsetX: 10,
317
- offsetY: -10,
318
- padding: [2.5, 2.5, 2.5, 2.5]
319
- })
320
- });
321
- }
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLElBQUksRUFHTCxNQUFNLGVBQWUsQ0FBQztBQVd2QixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLFNBQVMsTUFBTSxtQkFBbUIsQ0FBQztBQUkxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBRXhDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQXVDeEMsWUFDa0IsU0FBOEIsRUFD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QyxLQUFLLENBQUM7UUFDdkIsS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztZQUN0QixHQUFHLEVBQUUsOENBQThDO1lBQ25ELE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTO1NBQzdCLENBQUM7UUFFRixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3JCLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1lBQ25DLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFlBQVksRUFBRSxRQUFRO1lBQ3RCLElBQUksRUFBRSx5QkFBeUI7WUFDL0IsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QyxjQUFjLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLDBCQUEwQixFQUFFLENBQUM7WUFDdkUsZ0JBQWdCLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN0RixNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdkQsUUFBUSxFQUFFLElBQUk7WUFDZCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7U0FDOUIsQ0FBQztLQUNILENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFNlbGYsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCBNYXBCcm93c2VyUG9pbnRlckV2ZW50IGZyb20gJ29sL01hcEJyb3dzZXJFdmVudCc7XG5cbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcbmltcG9ydCB7IE1hcEJyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tYXAvbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLnNlcnZpY2UnO1xuXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCAqIGFzIG9sZ2VvbSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBSZXNlYXJjaCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdHJ5QmluZFN0b3JlTGF5ZXIgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLnV0aWxzJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24sIEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5IH0gZnJvbSAnLi9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyB1bkJ5S2V5IH0gZnJvbSAnb2wvT2JzZXJ2YWJsZSc7XG5cbi8qKlxuICogVGhpcyBkaXJlY3RpdmUgbWFrZXMgdGhlIG1vdXNlIGNvb3JkaW5hdGUgdHJpZ2dlciBhIHJldmVyc2Ugc2VhcmNoIG9uIGF2YWlsYWJsZSBzZWFyY2ggc291cmNlcy5cbiAqIFRoZSBzZWFyY2ggcmVzdWx0cyBhcmUgcGxhY2VkIGludG8gYSBsYWJlbCwgb24gYSBjcm9zcyBpY29uLCByZXByZXNlbnRpbmcgdGhlIG1vdXNlIGNvb3JkaW5hdGUuXG4gKiBCeSBkZWZhdWx0LCBubyBzZWFyY2ggc291cmNlcy4gQ29uZmlnIGluIGNvbmZpZyBmaWxlIG11c3QgYmUgZGVmaW5lZC5cbiAqIHRoZSBsYXllciBsZXZlbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2lnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5XSdcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG5cbiAgcHVibGljIHN0b3JlOiBGZWF0dXJlU3RvcmU8RmVhdHVyZT47XG4gIHByaXZhdGUgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdO1xuICBwcml2YXRlIHBvaW50ZXJTZWFyY2hTdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiA9IG5ldyBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+KFtdKTtcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XG4gIHByaXZhdGUgc3RvcmUkJDogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGxheWVycyQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmV2ZXJzZVNlYXJjaCQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIGhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIExpc3RlbmVyIHRvIHRoZSBwb2ludGVyIG1vdmUgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgcG9pbnRlck1vdmVMaXN0ZW5lcjtcblxuICBwcml2YXRlIHNlYXJjaFBvaW50ZXJTdW1tYXJ5RmVhdHVyZUlkOiBzdHJpbmcgPSAnc2VhcmNoUG9pbnRlclN1bW1hcnlGZWF0dXJlSWQnO1xuICAvKipcbiAgICogVGhlIGRlbGF5IHdoZXJlIHRoZSBtb3VzZSBtdXN0IGJlIG1vdGlvbmxlc3MgYmVmb3JlIHRyaWdnZXIgdGhlIHJldmVyc2Ugc2VhcmNoXG4gICAqL1xuICBASW5wdXQoKSBpZ29TZWFyY2hQb2ludGVyU3VtbWFyeURlbGF5OiBudW1iZXIgPSAxMDAwO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgdXNlciBoYXMgZW5hYmxlZCBvciBub3QgdGhlIGRpcmVjdGl2ZVxuICAgKi9cbiAgQElucHV0KCkgaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElHTyBtYXBcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgbWFwKCk6IElnb01hcCB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcbiAgfVxuXG4gIGdldCBtYXBQcm9qZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLmNvbXBvbmVudC5tYXAgYXMgSWdvTWFwKS5wcm9qZWN0aW9uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcbiAgICBwcml2YXRlIHNlYXJjaFNlcnZpY2U6IFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcbiAgKSB7IH1cblxuICAvKipcbiAgICogU3RhcnQgbGlzdGVuaW5nIHRvIHBvaW50ZXJtb3ZlIGFuZCByZXZlcnNlIHNlYXJjaCByZXN1bHRzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKTtcblxuICAgIHRoaXMubWFwLnN0YXR1cyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmU8RmVhdHVyZT4oW10sIHttYXA6IHRoaXMubWFwfSk7XG4gICAgICB0aGlzLmluaXRTdG9yZSgpO1xuICAgIH0pO1xuXG4gICAgLy8gVG8gaGFuZGxlIGNvbnRleHQgY2hhbmdlIHdpdGhvdXQgdXNpbmcgdGhlIGNvbnRleHRTZXJ2aWNlLlxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICBpZiAodGhpcy5zdG9yZSAmJiAhbGF5ZXJzLmZpbmQobCA9PiBsLmlkID09PSAnc2VhcmNoUG9pbnRlclN1bW1hcnlJZCcpKSB7XG4gICAgICAgIHRoaXMuaW5pdFN0b3JlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBwb2ludGVyIHBvc2l0aW9uIHN0b3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0U3RvcmUoKSB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnN0b3JlO1xuXG4gICAgY29uc3QgbGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgaWQgOiAnc2VhcmNoUG9pbnRlclN1bW1hcnlJZCcsXG4gICAgICB0aXRsZTogJ3NlYXJjaFBvaW50ZXJTdW1tYXJ5JyxcbiAgICAgIHpJbmRleDogOTAwLFxuICAgICAgc291cmNlOiBuZXcgRmVhdHVyZURhdGFTb3VyY2UoKSxcbiAgICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXG4gICAgICBleHBvcnRhYmxlOiBmYWxzZSxcbiAgICAgIGJyb3dzYWJsZTogZmFsc2UsXG4gICAgICBzdHlsZTogcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclxuICAgIH0pO1xuICAgIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlLCBsYXllcik7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuc2VhcmNoU291cmNlU2VydmljZS5nZXRFbmFibGVkU291cmNlcygpLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGxpc3RlbmluZyB0byBwb2ludGVybW92ZSBhbmQgcmV2ZXJzZSBzZWFyY2ggcmVzdWx0cy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVUb1BvaW50ZXJTdG9yZSgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmVSZXZlcnNlU2VhcmNoKCk7XG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSB0byBwb2ludGVybW92ZSByZXN1bHQgc3RvcmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBzdWJzY3JpYmVUb1BvaW50ZXJTdG9yZSgpIHtcbiAgICB0aGlzLnN0b3JlJCQgPSB0aGlzLnBvaW50ZXJTZWFyY2hTdG9yZS5lbnRpdGllcyQuc3Vic2NyaWJlKHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbiA9PiB7XG4gICAgICB0aGlzLmVudGl0aWVzVG9Qb2ludGVyT3ZlcmxheShyZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb24pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGFuIG9iamVjdCBiYXNlZCBvbiB0aGUgY2xvc2VzdCBmZWF0dXJlIGJ5IHR5cGUgKGJhc2Ugb24gdHlwZSBhbmQgZGlzdGFuY2UgcHJvcGVydGllcyApXG4gICAqIEBwYXJhbSByZXN1bHRzIFNlYXJjaFJlc3VsdFtdXG4gICAqIEByZXR1cm5zIE9MIHN0eWxlIGZ1bmN0aW9uXG4gICAqL1xuICBwcml2YXRlIGNvbXB1dGVTdW1tYXJ5Q2xvc2VzdEZlYXR1cmUocmVzdWx0czogU2VhcmNoUmVzdWx0W10pOiB7fSB7XG4gICAgY29uc3QgY2xvc2VzdFJlc3VsdEJ5VHlwZSA9IHt9O1xuXG4gICAgcmVzdWx0cy5tYXAocmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUgJiYgcmVzdWx0LmRhdGEucHJvcGVydGllcy5kaXN0YW5jZSA+PSAwKSB7XG4gICAgICAgIGlmIChjbG9zZXN0UmVzdWx0QnlUeXBlLmhhc093blByb3BlcnR5KHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBwcmV2RGlzdGFuY2UgPSBjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0uZGlzdGFuY2U7XG4gICAgICAgICAgaWYgKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UgPCBwcmV2RGlzdGFuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gcmVzdWx0Lm1ldGEucG9pbnRlclN1bW1hcnlUaXRsZSB8fCByZXN1bHQubWV0YS50aXRsZTtcbiAgICAgICAgICAgIGNsb3Nlc3RSZXN1bHRCeVR5cGVbcmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlXSA9IHsgZGlzdGFuY2U6IHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UsIHRpdGxlIH07XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRpdGxlID0gcmVzdWx0Lm1ldGEucG9pbnRlclN1bW1hcnlUaXRsZSB8fCByZXN1bHQubWV0YS50aXRsZTtcbiAgICAgICAgICBjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0gPSB7IGRpc3RhbmNlOiByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLmRpc3RhbmNlLCB0aXRsZSB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2xvc2VzdFJlc3VsdEJ5VHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb252ZXJ0IHN0b3JlIGVudGl0aWVzIHRvIGEgcG9pbnRlciBwb3NpdGlvbiBvdmVybGF5IHdpdGggbGFiZWwgc3VtbWFyeSBvbi5cbiAgICogQHBhcmFtIGV2ZW50IE9MIG1hcCBicm93c2VyIHBvaW50ZXIgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgZW50aXRpZXNUb1BvaW50ZXJPdmVybGF5KHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbjogU2VhcmNoUmVzdWx0W10pIHtcbiAgICBjb25zdCBjbG9zZXN0UmVzdWx0QnlUeXBlID0gdGhpcy5jb21wdXRlU3VtbWFyeUNsb3Nlc3RGZWF0dXJlKHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbik7XG4gICAgY29uc3Qgc3VtbWFyaXplZENsb3Nlc3RUeXBlID0gT2JqZWN0LmtleXMoY2xvc2VzdFJlc3VsdEJ5VHlwZSk7XG4gICAgY29uc3QgcHJvY2Vzc2VkU3VtbWFyaXplZENsb3Nlc3RUeXBlID0gW107XG4gICAgY29uc3Qgc3VtbWFyeSA9IFtdO1xuICAgIHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbi5tYXAocmVzdWx0ID0+IHtcbiAgICAgIGNvbnN0IHR5cGVJbmRleCA9IHN1bW1hcml6ZWRDbG9zZXN0VHlwZS5pbmRleE9mKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSk7XG4gICAgICBpZiAodHlwZUluZGV4ICE9PSAtMSkge1xuICAgICAgICBzdW1tYXJ5LnB1c2goY2xvc2VzdFJlc3VsdEJ5VHlwZVtyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVdLnRpdGxlKTtcbiAgICAgICAgc3VtbWFyaXplZENsb3Nlc3RUeXBlLnNwbGljZSh0eXBlSW5kZXgsIDEpO1xuICAgICAgICBwcm9jZXNzZWRTdW1tYXJpemVkQ2xvc2VzdFR5cGUucHVzaChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3NlZFN1bW1hcml6ZWRDbG9zZXN0VHlwZS5pbmRleE9mKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSkgPT09IC0xKSB7XG4gICAgICAgICAgc3VtbWFyeS5wdXNoKHJlc3VsdC5tZXRhLnBvaW50ZXJTdW1tYXJ5VGl0bGUgfHwgcmVzdWx0Lm1ldGEudGl0bGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHN1bW1hcnkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFkZFBvaW50ZXJPdmVybGF5KHN1bW1hcnkuam9pbignXFxuJykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBtYXAgcG9pbnRlcm1vdmVcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpIHtcbiAgICB0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIgPSB0aGlzLm1hcC5vbC5vbihcbiAgICAgICdwb2ludGVybW92ZScsXG4gICAgICAoZXZlbnQ6IE1hcEJyb3dzZXJQb2ludGVyRXZlbnQ8YW55PikgPT4gdGhpcy5vbk1hcEV2ZW50KGV2ZW50KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVW5zdWJzY3JpYmUgdG8gcG9pbnRlciBzdG9yZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICB1bnN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCkge1xuICAgIHRoaXMuc3RvcmUkJC51bnN1YnNjcmliZSgpO1xuICB9XG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSB0byByZXZlcnNlIHNlYXRjaCBzdG9yZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICB1bnN1YnNjcmliZVJldmVyc2VTZWFyY2goKSB7XG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoJCQubWFwKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2gkJCA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgbGlzdGVuaW5nIGZvciBtYXAgcG9pbnRlcm1vdmVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcml2YXRlIHVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpIHtcbiAgICB1bkJ5S2V5KHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lcik7XG4gICAgdGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgcmV2ZXJzZSBzZWFyY2ggd2hlbiB0aGUgbW91c2UgaXMgbW90aW9ubGVzcyBkdXJpbmcgdGhlIGRlZmluZWQgZGVsYXkgKHBvaW50ZXJNb3ZlRGVsYXkpLlxuICAgKiBAcGFyYW0gZXZlbnQgT0wgbWFwIGJyb3dzZXIgcG9pbnRlciBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBvbk1hcEV2ZW50KGV2ZW50OiBNYXBCcm93c2VyUG9pbnRlckV2ZW50PGFueT4pIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5kcmFnZ2luZyB8fCAhdGhpcy5pZ29TZWFyY2hQb2ludGVyU3VtbWFyeUVuYWJsZWQgfHxcbiAgICAgICF0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlIHx8IHRoaXMubWVkaWFTZXJ2aWNlLmlzVG91Y2hTY3JlZW4oKSkge1xuICAgICAgdGhpcy5jbGVhckxheWVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7IC8vIGNhbmNlbCB0aW1lb3V0IHdoZW4gdGhlIG1vdXNlIG1vdmVzXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5sYXN0VGltZW91dFJlcXVlc3QpO1xuICAgICAgdGhpcy5jbGVhckxheWVyKCk7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlUmV2ZXJzZVNlYXJjaCgpO1xuICAgIH1cblxuICAgIHRoaXMubG9uTGF0ID0gdHJhbnNmb3JtKGV2ZW50LmNvb3JkaW5hdGUsIHRoaXMubWFwUHJvamVjdGlvbiwgJ0VQU0c6NDMyNicpIGFzIFtudW1iZXIsIG51bWJlcl07XG5cbiAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5vblNlYXJjaENvb3JkaW5hdGUoKTtcbiAgICB9LCB0aGlzLmlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RGVsYXkpO1xuICB9XG5cbiAgICAvKipcbiAgICogU29ydCB0aGUgcmVzdWx0cyBieSBkaXNwbGF5IG9yZGVyLlxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XG4gICAqIEBwYXJhbSByMiBTZWNvbmQgcmVzdWx0XG4gICAqL1xuICAgICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiByMS5zb3VyY2UuZGlzcGxheU9yZGVyIC0gcjIuc291cmNlLmRpc3BsYXlPcmRlcjtcbiAgICB9XG5cbiAgcHJpdmF0ZSBvblNlYXJjaENvb3JkaW5hdGUoKSB7XG4gICAgdGhpcy5wb2ludGVyU2VhcmNoU3RvcmUuY2xlYXIoKTtcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnJldmVyc2VTZWFyY2godGhpcy5sb25MYXQsIHsgcGFyYW1zOiB7IGdlb21ldHJ5OiAnZmFsc2UnLCBpY29uOiAnZmFsc2UnIH0gfSwgdHJ1ZSk7XG5cbiAgICBmb3IgKGNvbnN0IGkgaW4gcmVzdWx0cykge1xuICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJldmVyc2VTZWFyY2gkJC5wdXNoKFxuICAgICAgICAgIHJlc3VsdHNbaV0ucmVxdWVzdC5zdWJzY3JpYmUoKF9yZXN1bHRzOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblNlYXJjaCh7IHJlc2VhcmNoOiByZXN1bHRzW2ldLCByZXN1bHRzOiBfcmVzdWx0cyB9KTtcbiAgICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvblNlYXJjaChldmVudDogeyByZXNlYXJjaDogUmVzZWFyY2g7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcbiAgICBjb25zdCByZXN1bHRzID0gZXZlbnQucmVzdWx0cztcbiAgICBjb25zdCBuZXdSZXN1bHRzID0gdGhpcy5wb2ludGVyU2VhcmNoU3RvcmUuYWxsKClcbiAgICAgIC5maWx0ZXIoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSBldmVudC5yZXNlYXJjaC5zb3VyY2UpXG4gICAgICAuY29uY2F0KHJlc3VsdHMpO1xuICAgIHRoaXMucG9pbnRlclNlYXJjaFN0b3JlLmxvYWQobmV3UmVzdWx0cy5zb3J0KHRoaXMuc29ydEJ5T3JkZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBmZWF0dXJlIHRvIHRoZSBwb2ludGVyIHN0b3JlXG4gICAqIEBwYXJhbSB0ZXh0IHN0cmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBhZGRQb2ludGVyT3ZlcmxheSh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsZWFyTGF5ZXIoKTtcblxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sZ2VvbS5Qb2ludChcbiAgICAgIHRyYW5zZm9ybSh0aGlzLmxvbkxhdCwgJ0VQU0c6NDMyNicsIHRoaXMubWFwUHJvamVjdGlvbilcbiAgICApO1xuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSk7XG4gICAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb25cbiAgICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmOiBGZWF0dXJlID0ge1xuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcbiAgICAgIHByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2VhcmNoUG9pbnRlclN1bW1hcnlGZWF0dXJlSWQsXG4gICAgICAgIHBvaW50ZXJTdW1tYXJ5OiB0ZXh0XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBpZDogdGhpcy5zZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZFxuICAgICAgfSxcbiAgICAgIG9sOiBmZWF0dXJlXG4gICAgfTtcbiAgICB0aGlzLnN0b3JlLnNldExheWVyRmVhdHVyZXMoW2ZdLCBGZWF0dXJlTW90aW9uLk5vbmUpO1xuICB9XG5cbi8qKlxuICogQ2xlYXIgdGhlIHBvaW50ZXIgc3RvcmUgZmVhdHVyZXNcbiAqL1xucHJpdmF0ZSBjbGVhckxheWVyKCkge1xuICBpZiAodGhpcy5zdG9yZSkge1xuICAgIHRoaXMuc3RvcmUuY2xlYXJMYXllcigpO1xuICB9XG59XG5cbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcG9pbnRlciBwb3NpdGlvbiBhbmQgaXQncyBsYWJlbCBzdW1tYXJ5LlxuICogQHBhcmFtIGZlYXR1cmUgT2xGZWF0dXJlXG4gKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlcihmZWF0dXJlOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT4sIHJlc29sdXRpb246IG51bWJlcik6IG9sc3R5bGUuU3R5bGUge1xuICByZXR1cm4gbmV3IG9sc3R5bGUuU3R5bGUoe1xuICAgIGltYWdlOiBuZXcgb2xzdHlsZS5JY29uKHtcbiAgICAgIHNyYzogJy4vYXNzZXRzL2lnbzIvZ2VvL2ljb25zL2Nyb3NzX2JsYWNrXzE4cHguc3ZnJyxcbiAgICAgIGltZ1NpemU6IFsxOCwgMThdLCAvLyBmb3IgaWVcbiAgICB9KSxcblxuICAgIHRleHQ6IG5ldyBvbHN0eWxlLlRleHQoe1xuICAgICAgdGV4dDogZmVhdHVyZS5nZXQoJ3BvaW50ZXJTdW1tYXJ5JyksXG4gICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgIHRleHRCYXNlbGluZTogJ2JvdHRvbScsXG4gICAgICBmb250OiAnMTJweCBDYWxpYnJpLHNhbnMtc2VyaWYnLFxuICAgICAgZmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7IGNvbG9yOiAnIzAwMCcgfSksXG4gICAgICBiYWNrZ3JvdW5kRmlsbDogbmV3IG9sc3R5bGUuRmlsbCh7IGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyB9KSxcbiAgICAgIGJhY2tncm91bmRTdHJva2U6IG5ldyBvbHN0eWxlLlN0cm9rZSh7IGNvbG9yOiAncmdiYSgyMDAsIDIwMCwgMjAwLCAwLjc1KScsIHdpZHRoOiAyIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgb2xzdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KSxcbiAgICAgIG92ZXJmbG93OiB0cnVlLFxuICAgICAgb2Zmc2V0WDogMTAsXG4gICAgICBvZmZzZXRZOiAtMTAsXG4gICAgICBwYWRkaW5nOiBbMi41LCAyLjUsIDIuNSwgMi41XVxuICAgIH0pXG4gIH0pO1xufVxuIl19
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLElBQUksRUFHTCxNQUFNLGVBQWUsQ0FBQztBQVd2QixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLFNBQVMsTUFBTSxtQkFBbUIsQ0FBQztBQUcxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7O0FBRTdGOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQXVDeEMsWUFDa0Is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Q0FBQyxDQUN4RCxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFO1lBQ2hFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ3JDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNuQyxDQUFvQixDQUFDO1FBRXRCLE1BQU0sQ0FBQyxHQUFZO1lBQ2pCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUSxFQUFFLFdBQVc7WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQzlCLFVBQVUsRUFBRTtnQkFDVixFQUFFLEVBQUUsSUFBSSxDQUFDLDZCQUE2QjtnQkFDdEMsY0FBYyxFQUFFLElBQUk7YUFDckI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osRUFBRSxFQUFFLElBQUksQ0FBQyw2QkFBNkI7YUFDdkM7WUFDRCxFQUFFLEVBQUUsT0FBTztTQUNaLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFSDs7T0FFRztJQUNLLFVBQVU7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7OzBHQTNTWSw2QkFBNkI7Z0ZBQTdCLDZCQUE2Qjt1RkFBN0IsNkJBQTZCO2NBSHpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOztzQkF5Q0ksSUFBSTtpSEFwQkUsNEJBQTRCO2tCQUFwQyxLQUFLO1lBS0csOEJBQThCO2tCQUF0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi8uLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgU2VsZixcclxuICBPbkluaXQsXHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgTWFwQnJvd3NlclBvaW50ZXJFdmVudCBmcm9tICdvbC9NYXBCcm93c2VyRXZlbnQnO1xyXG5cclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBNYXBCcm93c2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWFwL21hcC1icm93c2VyL21hcC1icm93c2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2guc2VydmljZSc7XHJcblxyXG5pbXBvcnQgb2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcclxuaW1wb3J0ICogYXMgb2xnZW9tIGZyb20gJ29sL2dlb20nO1xyXG5pbXBvcnQgT2xHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCwgUmVzZWFyY2ggfSBmcm9tICcuL3NlYXJjaC5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyB0cnlCaW5kU3RvcmVMYXllciB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdG9yZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24sIEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSB9IGZyb20gJy4vc2VhcmNoLnV0aWxzJztcclxuaW1wb3J0IHsgTWVkaWFTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcbmltcG9ydCB7IHVuQnlLZXkgfSBmcm9tICdvbC9PYnNlcnZhYmxlJztcclxuaW1wb3J0IHsgcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclN0eWxlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL2ZlYXR1cmUvZmVhdHVyZS1zdHlsZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBkaXJlY3RpdmUgbWFrZXMgdGhlIG1vdXNlIGNvb3JkaW5hdGUgdHJpZ2dlciBhIHJldmVyc2Ugc2VhcmNoIG9uIGF2YWlsYWJsZSBzZWFyY2ggc291cmNlcy5cclxuICogVGhlIHNlYXJjaCByZXN1bHRzIGFyZSBwbGFjZWQgaW50byBhIGxhYmVsLCBvbiBhIGNyb3NzIGljb24sIHJlcHJlc2VudGluZyB0aGUgbW91c2UgY29vcmRpbmF0ZS5cclxuICogQnkgZGVmYXVsdCwgbm8gc2VhcmNoIHNvdXJjZXMuIENvbmZpZyBpbiBjb25maWcgZmlsZSBtdXN0IGJlIGRlZmluZWQuXHJcbiAqIHRoZSBsYXllciBsZXZlbC5cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2lnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWQge1xyXG5cclxuICBwdWJsaWMgc3RvcmU6IEZlYXR1cmVTdG9yZTxGZWF0dXJlPjtcclxuICBwcml2YXRlIGxvbkxhdDogW251bWJlciwgbnVtYmVyXTtcclxuICBwcml2YXRlIHBvaW50ZXJTZWFyY2hTdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiA9IG5ldyBFbnRpdHlTdG9yZTxTZWFyY2hSZXN1bHQ+KFtdKTtcclxuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcclxuICBwcml2YXRlIHN0b3JlJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIGxheWVycyQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSByZXZlcnNlU2VhcmNoJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBoYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0ZW5lciB0byB0aGUgcG9pbnRlciBtb3ZlIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwb2ludGVyTW92ZUxpc3RlbmVyO1xyXG5cclxuICBwcml2YXRlIHNlYXJjaFBvaW50ZXJTdW1tYXJ5RmVhdHVyZUlkOiBzdHJpbmcgPSAnc2VhcmNoUG9pbnRlclN1bW1hcnlGZWF0dXJlSWQnO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBkZWxheSB3aGVyZSB0aGUgbW91c2UgbXVzdCBiZSBtb3Rpb25sZXNzIGJlZm9yZSB0cmlnZ2VyIHRoZSByZXZlcnNlIHNlYXJjaFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RGVsYXk6IG51bWJlciA9IDEwMDA7XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSB1c2VyIGhhcyBlbmFibGVkIG9yIG5vdCB0aGUgZGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIElHTyBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hcFByb2plY3Rpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5jb21wb25lbnQubWFwIGFzIElnb01hcCkucHJvamVjdGlvbjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydCBsaXN0ZW5pbmcgdG8gcG9pbnRlcm1vdmUgYW5kIHJldmVyc2Ugc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKTtcclxuXHJcbiAgICB0aGlzLm1hcC5zdGF0dXMkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmU8RmVhdHVyZT4oW10sIHttYXA6IHRoaXMubWFwfSk7XHJcbiAgICAgIHRoaXMuaW5pdFN0b3JlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBUbyBoYW5kbGUgY29udGV4dCBjaGFuZ2Ugd2l0aG91dCB1c2luZyB0aGUgY29udGV4dFNlcnZpY2UuXHJcbiAgICB0aGlzLmxheWVycyQkID0gdGhpcy5tYXAubGF5ZXJzJC5zdWJzY3JpYmUoKGxheWVycykgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zdG9yZSAmJiAhbGF5ZXJzLmZpbmQobCA9PiBsLmlkID09PSAnc2VhcmNoUG9pbnRlclN1bW1hcnlJZCcpKSB7XHJcbiAgICAgICAgdGhpcy5pbml0U3RvcmUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgcG9pbnRlciBwb3NpdGlvbiBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5pdFN0b3JlKCkge1xyXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnN0b3JlO1xyXG5cclxuICAgIGNvbnN0IGxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgICBpZCA6ICdzZWFyY2hQb2ludGVyU3VtbWFyeUlkJyxcclxuICAgICAgdGl0bGU6ICdzZWFyY2hQb2ludGVyU3VtbWFyeScsXHJcbiAgICAgIHpJbmRleDogOTAwLFxyXG4gICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxyXG4gICAgICBzaG93SW5MYXllckxpc3Q6IGZhbHNlLFxyXG4gICAgICBleHBvcnRhYmxlOiBmYWxzZSxcclxuICAgICAgYnJvd3NhYmxlOiBmYWxzZSxcclxuICAgICAgc3R5bGU6IHBvaW50ZXJQb3NpdGlvblN1bW1hcnlNYXJrZXJTdHlsZVxyXG4gICAgfSk7XHJcbiAgICB0cnlCaW5kU3RvcmVMYXllcihzdG9yZSwgbGF5ZXIpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICBpZiAoIXRoaXMuc2VhcmNoU291cmNlU2VydmljZS5nZXRFbmFibGVkU291cmNlcygpLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RvcCBsaXN0ZW5pbmcgdG8gcG9pbnRlcm1vdmUgYW5kIHJldmVyc2Ugc2VhcmNoIHJlc3VsdHMuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlUmV2ZXJzZVNlYXJjaCgpO1xyXG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaWJlIHRvIHBvaW50ZXJtb3ZlIHJlc3VsdCBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCkge1xyXG4gICAgdGhpcy5zdG9yZSQkID0gdGhpcy5wb2ludGVyU2VhcmNoU3RvcmUuZW50aXRpZXMkLnN1YnNjcmliZShyZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb24gPT4ge1xyXG4gICAgICB0aGlzLmVudGl0aWVzVG9Qb2ludGVyT3ZlcmxheShyZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb24pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCdWlsZCBhbiBvYmplY3QgYmFzZWQgb24gdGhlIGNsb3Nlc3QgZmVhdHVyZSBieSB0eXBlIChiYXNlIG9uIHR5cGUgYW5kIGRpc3RhbmNlIHByb3BlcnRpZXMgKVxyXG4gICAqIEBwYXJhbSByZXN1bHRzIFNlYXJjaFJlc3VsdFtdXHJcbiAgICogQHJldHVybnMgT0wgc3R5bGUgZnVuY3Rpb25cclxuICAgKi9cclxuICBwcml2YXRlIGNvbXB1dGVTdW1tYXJ5Q2xvc2VzdEZlYXR1cmUocmVzdWx0czogU2VhcmNoUmVzdWx0W10pOiB7fSB7XHJcbiAgICBjb25zdCBjbG9zZXN0UmVzdWx0QnlUeXBlID0ge307XHJcblxyXG4gICAgcmVzdWx0cy5tYXAocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSAmJiByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLmRpc3RhbmNlID49IDApIHtcclxuICAgICAgICBpZiAoY2xvc2VzdFJlc3VsdEJ5VHlwZS5oYXNPd25Qcm9wZXJ0eShyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUpKSB7XHJcbiAgICAgICAgICBjb25zdCBwcmV2RGlzdGFuY2UgPSBjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0uZGlzdGFuY2U7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LmRhdGEucHJvcGVydGllcy5kaXN0YW5jZSA8IHByZXZEaXN0YW5jZSkge1xyXG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IHJlc3VsdC5tZXRhLnBvaW50ZXJTdW1tYXJ5VGl0bGUgfHwgcmVzdWx0Lm1ldGEudGl0bGU7XHJcbiAgICAgICAgICAgIGNsb3Nlc3RSZXN1bHRCeVR5cGVbcmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlXSA9IHsgZGlzdGFuY2U6IHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UsIHRpdGxlIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHRpdGxlID0gcmVzdWx0Lm1ldGEucG9pbnRlclN1bW1hcnlUaXRsZSB8fCByZXN1bHQubWV0YS50aXRsZTtcclxuICAgICAgICAgIGNsb3Nlc3RSZXN1bHRCeVR5cGVbcmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlXSA9IHsgZGlzdGFuY2U6IHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UsIHRpdGxlIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY2xvc2VzdFJlc3VsdEJ5VHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbnZlcnQgc3RvcmUgZW50aXRpZXMgdG8gYSBwb2ludGVyIHBvc2l0aW9uIG92ZXJsYXkgd2l0aCBsYWJlbCBzdW1tYXJ5IG9uLlxyXG4gICAqIEBwYXJhbSBldmVudCBPTCBtYXAgYnJvd3NlciBwb2ludGVyIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBlbnRpdGllc1RvUG9pbnRlck92ZXJsYXkocmVzdWx0c1VuZGVyUG9pbnRlclBvc2l0aW9uOiBTZWFyY2hSZXN1bHRbXSkge1xyXG4gICAgY29uc3QgY2xvc2VzdFJlc3VsdEJ5VHlwZSA9IHRoaXMuY29tcHV0ZVN1bW1hcnlDbG9zZXN0RmVhdHVyZShyZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb24pO1xyXG4gICAgY29uc3Qgc3VtbWFyaXplZENsb3Nlc3RUeXBlID0gT2JqZWN0LmtleXMoY2xvc2VzdFJlc3VsdEJ5VHlwZSk7XHJcbiAgICBjb25zdCBwcm9jZXNzZWRTdW1tYXJpemVkQ2xvc2VzdFR5cGUgPSBbXTtcclxuICAgIGNvbnN0IHN1bW1hcnkgPSBbXTtcclxuICAgIHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbi5tYXAocmVzdWx0ID0+IHtcclxuICAgICAgY29uc3QgdHlwZUluZGV4ID0gc3VtbWFyaXplZENsb3Nlc3RUeXBlLmluZGV4T2YocmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlKTtcclxuICAgICAgaWYgKHR5cGVJbmRleCAhPT0gLTEpIHtcclxuICAgICAgICBzdW1tYXJ5LnB1c2goY2xvc2VzdFJlc3VsdEJ5VHlwZVtyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVdLnRpdGxlKTtcclxuICAgICAgICBzdW1tYXJpemVkQ2xvc2VzdFR5cGUuc3BsaWNlKHR5cGVJbmRleCwgMSk7XHJcbiAgICAgICAgcHJvY2Vzc2VkU3VtbWFyaXplZENsb3Nlc3RUeXBlLnB1c2gocmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAocHJvY2Vzc2VkU3VtbWFyaXplZENsb3Nlc3RUeXBlLmluZGV4T2YocmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlKSA9PT0gLTEpIHtcclxuICAgICAgICAgIHN1bW1hcnkucHVzaChyZXN1bHQubWV0YS5wb2ludGVyU3VtbWFyeVRpdGxlIHx8IHJlc3VsdC5tZXRhLnRpdGxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHN1bW1hcnkubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuYWRkUG9pbnRlck92ZXJsYXkoc3VtbWFyeS5qb2luKCdcXG4nKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbiBtYXAgcG9pbnRlcm1vdmVcclxuICAgKi9cclxuICBwcml2YXRlIGxpc3RlblRvTWFwUG9pbnRlck1vdmUoKSB7XHJcbiAgICB0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIgPSB0aGlzLm1hcC5vbC5vbihcclxuICAgICAgJ3BvaW50ZXJtb3ZlJyxcclxuICAgICAgKGV2ZW50OiBNYXBCcm93c2VyUG9pbnRlckV2ZW50PGFueT4pID0+IHRoaXMub25NYXBFdmVudChldmVudClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnN1YnNjcmliZSB0byBwb2ludGVyIHN0b3JlLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHVuc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKSB7XHJcbiAgICB0aGlzLnN0b3JlJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gcmV2ZXJzZSBzZWF0Y2ggc3RvcmUuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgdW5zdWJzY3JpYmVSZXZlcnNlU2VhcmNoKCkge1xyXG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoJCQubWFwKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMucmV2ZXJzZVNlYXJjaCQkID0gW107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIGxpc3RlbmluZyBmb3IgbWFwIHBvaW50ZXJtb3ZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKSB7XHJcbiAgICB1bkJ5S2V5KHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lcik7XHJcbiAgICB0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyIHJldmVyc2Ugc2VhcmNoIHdoZW4gdGhlIG1vdXNlIGlzIG1vdGlvbmxlc3MgZHVyaW5nIHRoZSBkZWZpbmVkIGRlbGF5IChwb2ludGVyTW92ZURlbGF5KS5cclxuICAgKiBAcGFyYW0gZXZlbnQgT0wgbWFwIGJyb3dzZXIgcG9pbnRlciBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25NYXBFdmVudChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50LmRyYWdnaW5nIHx8ICF0aGlzLmlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RW5hYmxlZCB8fFxyXG4gICAgICAhdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSB8fCB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKCkpIHtcclxuICAgICAgdGhpcy5jbGVhckxheWVyKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7IC8vIGNhbmNlbCB0aW1lb3V0IHdoZW4gdGhlIG1vdXNlIG1vdmVzXHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICAgIHRoaXMuY2xlYXJMYXllcigpO1xyXG4gICAgICB0aGlzLnVuc3Vic2NyaWJlUmV2ZXJzZVNlYXJjaCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9uTGF0ID0gdHJhbnNmb3JtKGV2ZW50LmNvb3JkaW5hdGUsIHRoaXMubWFwUHJvamVjdGlvbiwgJ0VQU0c6NDMyNicpIGFzIFtudW1iZXIsIG51bWJlcl07XHJcblxyXG4gICAgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5vblNlYXJjaENvb3JkaW5hdGUoKTtcclxuICAgIH0sIHRoaXMuaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlEZWxheSk7XHJcbiAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cclxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XHJcbiAgICogQHBhcmFtIHIyIFNlY29uZCByZXN1bHRcclxuICAgKi9cclxuICAgICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcclxuICAgICAgcmV0dXJuIHIxLnNvdXJjZS5kaXNwbGF5T3JkZXIgLSByMi5zb3VyY2UuZGlzcGxheU9yZGVyO1xyXG4gICAgfVxyXG5cclxuICBwcml2YXRlIG9uU2VhcmNoQ29vcmRpbmF0ZSgpIHtcclxuICAgIHRoaXMucG9pbnRlclNlYXJjaFN0b3JlLmNsZWFyKCk7XHJcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnJldmVyc2VTZWFyY2godGhpcy5sb25MYXQsIHsgcGFyYW1zOiB7IGdlb21ldHJ5OiAnZmFsc2UnLCBpY29uOiAnZmFsc2UnIH0gfSwgdHJ1ZSk7XHJcblxyXG4gICAgZm9yIChjb25zdCBpIGluIHJlc3VsdHMpIHtcclxuICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMucmV2ZXJzZVNlYXJjaCQkLnB1c2goXHJcbiAgICAgICAgICByZXN1bHRzW2ldLnJlcXVlc3Quc3Vic2NyaWJlKChfcmVzdWx0czogU2VhcmNoUmVzdWx0PEZlYXR1cmU+W10pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vblNlYXJjaCh7IHJlc2VhcmNoOiByZXN1bHRzW2ldLCByZXN1bHRzOiBfcmVzdWx0cyB9KTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNlYXJjaChldmVudDogeyByZXNlYXJjaDogUmVzZWFyY2g7IHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdIH0pIHtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSBldmVudC5yZXN1bHRzO1xyXG4gICAgY29uc3QgbmV3UmVzdWx0cyA9IHRoaXMucG9pbnRlclNlYXJjaFN0b3JlLmFsbCgpXHJcbiAgICAgIC5maWx0ZXIoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSBldmVudC5yZXNlYXJjaC5zb3VyY2UpXHJcbiAgICAgIC5jb25jYXQocmVzdWx0cyk7XHJcbiAgICB0aGlzLnBvaW50ZXJTZWFyY2hTdG9yZS5sb2FkKG5ld1Jlc3VsdHMuc29ydCh0aGlzLnNvcnRCeU9yZGVyKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSBmZWF0dXJlIHRvIHRoZSBwb2ludGVyIHN0b3JlXHJcbiAgICogQHBhcmFtIHRleHQgc3RyaW5nXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRQb2ludGVyT3ZlcmxheSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY2xlYXJMYXllcigpO1xyXG5cclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sZ2VvbS5Qb2ludChcclxuICAgICAgdHJhbnNmb3JtKHRoaXMubG9uTGF0LCAnRVBTRzo0MzI2JywgdGhpcy5tYXBQcm9qZWN0aW9uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSk7XHJcbiAgICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb24sXHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb25cclxuICAgIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBmOiBGZWF0dXJlID0ge1xyXG4gICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICAgIHByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcclxuICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIGlkOiB0aGlzLnNlYXJjaFBvaW50ZXJTdW1tYXJ5RmVhdHVyZUlkLFxyXG4gICAgICAgIHBvaW50ZXJTdW1tYXJ5OiB0ZXh0XHJcbiAgICAgIH0sXHJcbiAgICAgIG1ldGE6IHtcclxuICAgICAgICBpZDogdGhpcy5zZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZFxyXG4gICAgICB9LFxyXG4gICAgICBvbDogZmVhdHVyZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc3RvcmUuc2V0TGF5ZXJGZWF0dXJlcyhbZl0sIEZlYXR1cmVNb3Rpb24uTm9uZSk7XHJcbiAgfVxyXG5cclxuLyoqXHJcbiAqIENsZWFyIHRoZSBwb2ludGVyIHN0b3JlIGZlYXR1cmVzXHJcbiAqL1xyXG5wcml2YXRlIGNsZWFyTGF5ZXIoKSB7XHJcbiAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgIHRoaXMuc3RvcmUuY2xlYXJMYXllcigpO1xyXG4gIH1cclxufVxyXG59XHJcbiJdfQ==
@@ -17,4 +17,4 @@ export function provideSearchSourceService() {
17
17
  deps: [SearchSource]
18
18
  };
19
19
  }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQXVCO0lBQ2hFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU87UUFDTCxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFBRSwwQkFBMEI7UUFDdEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO0tBQ3JCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoU291cmNlU2VydmljZUZhY3Rvcnkoc291cmNlczogU2VhcmNoU291cmNlW10pIHtcbiAgcmV0dXJuIG5ldyBTZWFyY2hTb3VyY2VTZXJ2aWNlKHNvdXJjZXMpO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgU2VhcmNoU291cmNlIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTZWFyY2hTb3VyY2VTZXJ2aWNlKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gICAgdXNlRmFjdG9yeTogc2VhcmNoU291cmNlU2VydmljZUZhY3RvcnksXG4gICAgZGVwczogW1NlYXJjaFNvdXJjZV1cbiAgfTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQXVCO0lBQ2hFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU87UUFDTCxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFBRSwwQkFBMEI7UUFDdEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO0tBQ3JCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogU2VhcmNoIHNvdXJjZSBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTb3VyY2VTZXJ2aWNlRmFjdG9yeShzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSkge1xyXG4gIHJldHVybiBuZXcgU2VhcmNoU291cmNlU2VydmljZShzb3VyY2VzKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgU2VhcmNoU291cmNlIHNlcnZpY2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSgpIHtcclxuICByZXR1cm4ge1xyXG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHVzZUZhY3Rvcnk6IHNlYXJjaFNvdXJjZVNlcnZpY2VGYWN0b3J5LFxyXG4gICAgZGVwczogW1NlYXJjaFNvdXJjZV1cclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -43,5 +43,13 @@ export class SearchSourceService {
43
43
  setParamFromSetting(source, setting) {
44
44
  source.setParamFromSetting(setting);
45
45
  }
46
+ /**
47
+ * Set Param from the selected settings
48
+ * @param source search-source
49
+ * @param setting settings
50
+ */
51
+ setWorkspaces(source, workspaces) {
52
+ source.setWorkspaces(workspaces);
53
+ }
46
54
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQztJQUUvQzs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQzdCLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQ2xELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDakQsSUFBSyxNQUFNLENBQUMsV0FBbUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUM3RCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxNQUFvQixFQUFFLE9BQTZCO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNldHRpbmdzIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHdoZXJlIGFsbCBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXMgYXJlIHJlZ2lzdGVyZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hTb3VyY2VTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYXZhaWxhYmxlIHNlYXJjaCBzb3VyY2VzXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2VzXG4gICAqL1xuICBnZXRTb3VyY2VzKCk6IFNlYXJjaFNvdXJjZVtdIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBlbmFibGVkIHNlYXJjaCBzb3VyY2VzXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2VzXG4gICAqL1xuICBnZXRFbmFibGVkU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U291cmNlcygpLmZpbHRlcihcbiAgICAgIChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4gc291cmNlLmVuYWJsZWQgPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBzZWFyY2ggc291cmNlcyBvZiBnaXZlbiB0eXBlXG4gICAqIEBwYXJhbSB0eXBlIFNlYXJjaCB0eXBlXG4gICAqIEB0b2RvIEl0IHdvdWxkIGJlIGJldHRlciB0byB0cmFjayB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlc1xuICAgKiAgd2l0aG91dCB1cGRhdGluZyB0aGVpciAnZW5hYmxlZCcgcHJvcGVydHkuXG4gICAqL1xuICBlbmFibGVTb3VyY2VzQnlUeXBlKHR5cGU6IHN0cmluZykge1xuICAgIHRoaXMuZ2V0U291cmNlcygpLmZvckVhY2goKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XG4gICAgICBpZiAoKHNvdXJjZS5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2VhcmNoU291cmNlKS50eXBlID09PSB0eXBlKSB7XG4gICAgICAgIHNvdXJjZS5lbmFibGVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNvdXJjZS5lbmFibGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IFBhcmFtIGZyb20gdGhlIHNlbGVjdGVkIHNldHRpbmdzXG4gICAqIEBwYXJhbSBzb3VyY2Ugc2VhcmNoLXNvdXJjZVxuICAgKiBAcGFyYW0gc2V0dGluZyBzZXR0aW5nc1xuICAgKi9cbiAgc2V0UGFyYW1Gcm9tU2V0dGluZyhzb3VyY2U6IFNlYXJjaFNvdXJjZSwgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcbiAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUcsQ0FBQztJQUUvQzs7O09BR0c7SUFDSCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQzdCLENBQUMsTUFBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQ2xELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxtQkFBbUIsQ0FBQyxJQUFZO1FBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFvQixFQUFFLEVBQUU7WUFDakQsSUFBSyxNQUFNLENBQUMsV0FBbUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUM3RCxNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQzthQUN4QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxNQUFvQixFQUFFLE9BQTZCO1FBQ3JFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUM7Ozs7S0FJQztJQUNELGFBQWEsQ0FBQyxNQUFvQixFQUFFLFVBQXVCO1FBQ3pELE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNldHRpbmdzIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHdoZXJlIGFsbCBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXMgYXJlIHJlZ2lzdGVyZWQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2VhcmNoU291cmNlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc291cmNlczogU2VhcmNoU291cmNlW10pIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlc1xyXG4gICAqL1xyXG4gIGdldFNvdXJjZXMoKTogU2VhcmNoU291cmNlW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc291cmNlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBlbmFibGVkIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZXNcclxuICAgKi9cclxuICBnZXRFbmFibGVkU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRTb3VyY2VzKCkuZmlsdGVyKFxyXG4gICAgICAoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHNvdXJjZS5lbmFibGVkID09PSB0cnVlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW5hYmxlIHNlYXJjaCBzb3VyY2VzIG9mIGdpdmVuIHR5cGVcclxuICAgKiBAcGFyYW0gdHlwZSBTZWFyY2ggdHlwZVxyXG4gICAqIEB0b2RvIEl0IHdvdWxkIGJlIGJldHRlciB0byB0cmFjayB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlc1xyXG4gICAqICB3aXRob3V0IHVwZGF0aW5nIHRoZWlyICdlbmFibGVkJyBwcm9wZXJ0eS5cclxuICAgKi9cclxuICBlbmFibGVTb3VyY2VzQnlUeXBlKHR5cGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5nZXRTb3VyY2VzKCkuZm9yRWFjaCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcclxuICAgICAgaWYgKChzb3VyY2UuY29uc3RydWN0b3IgYXMgdHlwZW9mIFNlYXJjaFNvdXJjZSkudHlwZSA9PT0gdHlwZSkge1xyXG4gICAgICAgIHNvdXJjZS5lbmFibGVkID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzb3VyY2UuZW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCBQYXJhbSBmcm9tIHRoZSBzZWxlY3RlZCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBzb3VyY2Ugc2VhcmNoLXNvdXJjZVxyXG4gICAqIEBwYXJhbSBzZXR0aW5nIHNldHRpbmdzXHJcbiAgICovXHJcbiAgc2V0UGFyYW1Gcm9tU2V0dGluZyhzb3VyY2U6IFNlYXJjaFNvdXJjZSwgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBTZXQgUGFyYW0gZnJvbSB0aGUgc2VsZWN0ZWQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gc291cmNlIHNlYXJjaC1zb3VyY2VcclxuICAgKiBAcGFyYW0gc2V0dGluZyBzZXR0aW5nc1xyXG4gICAqL1xyXG4gICAgc2V0V29ya3NwYWNlcyhzb3VyY2U6IFNlYXJjaFNvdXJjZSwgd29ya3NwYWNlczogV29ya3NwYWNlW10pIHtcclxuICAgICAgc291cmNlLnNldFdvcmtzcGFjZXMod29ya3NwYWNlcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
1
  import { FEATURE } from '../../feature';
2
2
  import { LAYER } from '../../layer';
3
3
  export const SEARCH_TYPES = [FEATURE, LAYER];
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2guZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlJztcbmltcG9ydCB7IExBWUVSIH0gZnJvbSAnLi4vLi4vbGF5ZXInO1xuXG5leHBvcnQgY29uc3QgU0VBUkNIX1RZUEVTID0gW0ZFQVRVUkUsIExBWUVSXTtcbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmVudW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2guZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlJztcclxuaW1wb3J0IHsgTEFZRVIgfSBmcm9tICcuLi8uLi9sYXllcic7XHJcblxyXG5leHBvcnQgY29uc3QgU0VBUkNIX1RZUEVTID0gW0ZFQVRVUkUsIExBWUVSXTtcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbW1vblZlY3RvclN0eWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNlYXJjaCB7XG4gIHJlcXVlc3Q6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0W10+O1xuICByZXZlcnNlOiBib29sZWFuO1xuICBzb3VyY2U6IFNlYXJjaFNvdXJjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHQ8VCA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcbiAgZGF0YTogVDtcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XG4gIG1ldGE6IHtcbiAgICBkYXRhVHlwZTogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB0aXRsZUh0bWw/OiBzdHJpbmc7XG4gICAgcG9pbnRlclN1bW1hcnlUaXRsZT86IHN0cmluZztcbiAgICBpY29uOiBzdHJpbmc7XG4gICAgc2NvcmU/OiBudW1iZXI7XG4gICAgbmV4dFBhZ2U/OiBib29sZWFuO1xuICB9O1xuICBzdHlsZT86IHtcbiAgICBiYXNlPzogQ29tbW9uVmVjdG9yU3R5bGVPcHRpb25zO1xuICAgIHNlbGVjdGlvbj86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcbiAgICBmb2N1cz86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcbiAgfTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVzZWFyY2gge1xyXG4gIHJlcXVlc3Q6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0W10+O1xyXG4gIHJldmVyc2U6IGJvb2xlYW47XHJcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0PFQgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgZGF0YTogVDtcclxuICBzb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuICBtZXRhOiB7XHJcbiAgICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0aXRsZUh0bWw/OiBzdHJpbmc7XHJcbiAgICBwb2ludGVyU3VtbWFyeVRpdGxlPzogc3RyaW5nO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgc2NvcmU/OiBudW1iZXI7XHJcbiAgICBuZXh0UGFnZT86IGJvb2xlYW47XHJcbiAgfTtcclxuICBzdHlsZT86IHtcclxuICAgIGJhc2U/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICBmb2N1cz86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -118,4 +118,4 @@ SearchService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SearchServ
118
118
  providedIn: 'root'
119
119
  }]
120
120
  }], function () { return [{ type: i1.SearchSourceService }, { type: i2.MapService }, { type: i3.StorageService }]; }, null); })();
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVUzQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDaEMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFHeEI7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxtQkFBd0MsRUFDeEMsVUFBc0IsRUFDdEIsY0FBOEI7UUFGOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFZLEVBQUUsVUFBNkIsRUFBRTtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLElBQUksV0FBVyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1B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LENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7MEVBNUhVLGFBQWE7bUVBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTt1RkFFUCxhQUFhO2NBSHpCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc3RyaW5nVG9Mb25MYXQgfSBmcm9tICcuLi8uLi9tYXAnO1xuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UsIFRleHRTZWFyY2gsIFJldmVyc2VTZWFyY2ggfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7XG4gIFRleHRTZWFyY2hPcHRpb25zLFxuICBSZXZlcnNlU2VhcmNoT3B0aW9uc1xufSBmcm9tICcuL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc2VhcmNoIH0gZnJvbSAnLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBzb3VyY2VDYW5TZWFyY2gsXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2gsXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnlcbn0gZnJvbSAnLi9zZWFyY2gudXRpbHMnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuLyoqXG4gKiBUaGlzIHNlcnZpY2UgcGVyZm9ybSByZXNlYXJjaGVzIGluIGFsbCB0aGUgc2VhcmNoIHNvdXJjZXMgZW5hYmxlZC5cbiAqIEl0IHJldHVybnMgUmVzZWFyY2ggb2JqZWN0cyB3aG8ncyAncmVxdWVzdCcgcHJvcGVydHkgbmVlZHMgdG8gYmVcbiAqIHN1YnNjcmliZWQgdG8gaW4gb3JkZXIgdG8gdHJpZ2dlciB0aGUgcmVzZWFyY2guIFRoaXMgc2VydmljZXMgaGFzXG4gKiBrZWVwcyBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgcmVzZWFyY2hlcyBpdCBwZXJmb3JtZWRcbiAqIGFuZCB0aGUgcmVzdWx0cyB0aGV5IHlpZWxkZWQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBTZXJ2aWNlOiBNYXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUGVyZm9ybSBhIHJlc2VhcmNoIGJ5IHRleHRcbiAgICogQHBhcmFtIHRlcm0gQW55IHRleHRcbiAgICogQHJldHVybnMgUmVzZWFyY2hlc1xuICAgKi9cbiAgc2VhcmNoKHRlcm06IHN0cmluZywgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnMgPSB7fSk6IFJlc2VhcmNoW10ge1xuICAgIGlmICghdGhpcy50ZXJtSXNWYWxpZCh0ZXJtKSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2ogPSB0aGlzLm1hcFNlcnZpY2UuZ2V0TWFwKCk/LnByb2plY3Rpb24gfHwgJ0VQU0c6Mzg1Nyc7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBzdHJpbmdUb0xvbkxhdCh0ZXJtLCBwcm9qLCB7XG4gICAgICBmb3JjZU5BOiBvcHRpb25zLmZvcmNlTkFcbiAgICB9KTtcbiAgICBpZiAocmVzcG9uc2UubG9uTGF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXZlcnNlU2VhcmNoKHJlc3BvbnNlLmxvbkxhdCwgeyBkaXN0YW5jZTogcmVzcG9uc2UucmFkaXVzLCBjb25mOiByZXNwb25zZS5jb25mIH0pO1xuICAgIH0gZWxzZSBpZiAocmVzcG9uc2UubWVzc2FnZSkge1xuICAgICAgY29uc29sZS5sb2cocmVzcG9uc2UubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgb3B0aW9ucy5leHRlbnQgPSB0aGlzLm1hcFNlcnZpY2VcbiAgICAgIC5nZXRNYXAoKVxuICAgICAgPy52aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoJ0VQU0c6NDMyNicpO1xuXG4gICAgbGV0IHNvdXJjZXM7XG5cbiAgICBpZiAob3B0aW9ucy5nZXRFbmFibGVkT25seSB8fCBvcHRpb25zLmdldEVuYWJsZWRPbmx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZ2V0RW5hYmxlZFNvdXJjZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5nZXRTb3VyY2VzKCk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc291cmNlSWQpIHtcbiAgICAgIHNvdXJjZXMgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZ2V0SWQoKSA9PT0gb3B0aW9ucy5zb3VyY2VJZCk7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLnNlYXJjaFR5cGUpIHtcbiAgICAgIHNvdXJjZXMgPSBzb3VyY2VzLmZpbHRlcihcbiAgICAgICAgKHNvdXJjZSkgPT4gc291cmNlLmdldFR5cGUoKSA9PT0gb3B0aW9ucy5zZWFyY2hUeXBlXG4gICAgICApO1xuICAgIH1cblxuICAgIHNvdXJjZXMgPSBzb3VyY2VzLmZpbHRlcihzb3VyY2VDYW5TZWFyY2gpO1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNvdXJjZXMoc291cmNlcywgdGVybSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUGVyZm9ybSBhIHJlc2VhcmNoIGJ5IGxvbi9sYXRcbiAgICogQHBhcmFtIGxvbkxhdCBBbnkgbG9uL2xhdCBjb29yZGluYXRlc1xuICAgKiBAcmV0dXJucyBSZXNlYXJjaGVzXG4gICAqL1xuICByZXZlcnNlU2VhcmNoKFxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRpb25zPzogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXG4gICAgYXNQb2ludGVyU3VtbWFyeTogYm9vbGVhbiA9IGZhbHNlXG4gICkge1xuICAgIGNvbnN0IHJldmVyc2VTb3VyY2VGb25jdGlvbiA9IGFzUG9pbnRlclN1bW1hcnlcbiAgICAgID8gc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeVxuICAgICAgOiBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoO1xuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXG4gICAgICAuZmlsdGVyKHJldmVyc2VTb3VyY2VGb25jdGlvbik7XG4gICAgY29uc3QgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCcpIGFzIGJvb2xlYW4gfHwgZmFsc2U7XG5cbiAgICByZXR1cm4gdGhpcy5yZXZlcnNlU2VhcmNoU291cmNlcyhzb3VyY2VzLCBsb25MYXQsIG9wdGlvbnMgfHwge30sIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHRleHQgcmVzZWFyY2ggb3V0IG9mIGFsbCBnaXZlbiBzZWFyY2ggc291cmNlc1xuICAgKiBAcGFyYW0gc291cmNlcyBTZWFyY2ggc291cmNlcyB0aGF0IGltcGxlbWVudCBUZXh0U2VhcmNoXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgUmVzZWFyY2hlc1xuICAgKi9cbiAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VzKFxuICAgIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdLFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9uc1xuICApOiBSZXNlYXJjaFtdIHtcbiAgICByZXR1cm4gc291cmNlcy5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXF1ZXN0OiAoKHNvdXJjZSBhcyBhbnkpIGFzIFRleHRTZWFyY2gpLnNlYXJjaCh0ZXJtLCBvcHRpb25zKSxcbiAgICAgICAgcmV2ZXJzZTogZmFsc2UsXG4gICAgICAgIHNvdXJjZVxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSByZXZlcnNlIHJlc2VhcmNoIG91dCBvZiBhbGwgZ2l2ZW4gc2VhcmNoIHNvdXJjZXNcbiAgICogQHBhcmFtIHNvdXJjZXMgU2VhcmNoIHNvdXJjZXMgdGhhdCBpbXBsZW1lbnQgUmV2ZXJzZVNlYXJjaFxuICAgKiBAcGFyYW0gbG9uTGF0IEFueSBsb24vbGF0IGNvb3JkaW5hdGVzXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgUmVzZWFyY2hlc1xuICAgKi9cbiAgcHJpdmF0ZSByZXZlcnNlU2VhcmNoU291cmNlcyhcbiAgICBzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSxcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9uczogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdDogYm9vbGVhblxuICApOiBSZXNlYXJjaFtdIHtcbiAgICByZXR1cm4gc291cmNlcy5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICByZXF1ZXN0OiAoKHNvdXJjZSBhcyBhbnkpIGFzIFJldmVyc2VTZWFyY2gpLnJldmVyc2VTZWFyY2goXG4gICAgICAgICAgbG9uTGF0LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFxuICAgICAgICApLFxuICAgICAgICByZXZlcnNlOiB0cnVlLFxuICAgICAgICBzb3VyY2VcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIHRlcm1Jc1ZhbGlkKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGVybSA9PT0gJ3N0cmluZycgJiYgdGVybSAhPT0gJyc7XG4gIH1cbn1cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQVUzQyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDaEMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFHeEI7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxtQkFBd0MsRUFDeEMsVUFBc0IsRUFDdEIsY0FBOEI7UUFGOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUNyQyxDQUFDO0lBRUo7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFZLEVBQUUsVUFBNkIsRUFBRTtRQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMzQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxVQUFVLElBQUksV0FBVyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDbkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLE1B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LENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7MEVBNUhVLGFBQWE7bUVBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTt1RkFFUCxhQUFhO2NBSHpCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IHN0cmluZ1RvTG9uTGF0IH0gZnJvbSAnLi4vLi4vbWFwJztcclxuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU291cmNlLCBUZXh0U2VhcmNoLCBSZXZlcnNlU2VhcmNoIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7XHJcbiAgVGV4dFNlYXJjaE9wdGlvbnMsXHJcbiAgUmV2ZXJzZVNlYXJjaE9wdGlvbnNcclxufSBmcm9tICcuL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNlYXJjaCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIHNvdXJjZUNhblNlYXJjaCxcclxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoLFxyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnlcclxufSBmcm9tICcuL3NlYXJjaC51dGlscyc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBzZXJ2aWNlIHBlcmZvcm0gcmVzZWFyY2hlcyBpbiBhbGwgdGhlIHNlYXJjaCBzb3VyY2VzIGVuYWJsZWQuXHJcbiAqIEl0IHJldHVybnMgUmVzZWFyY2ggb2JqZWN0cyB3aG8ncyAncmVxdWVzdCcgcHJvcGVydHkgbmVlZHMgdG8gYmVcclxuICogc3Vic2NyaWJlZCB0byBpbiBvcmRlciB0byB0cmlnZ2VyIHRoZSByZXNlYXJjaC4gVGhpcyBzZXJ2aWNlcyBoYXNcclxuICoga2VlcHMgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIHJlc2VhcmNoZXMgaXQgcGVyZm9ybWVkXHJcbiAqIGFuZCB0aGUgcmVzdWx0cyB0aGV5IHlpZWxkZWQuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWFwU2VydmljZTogTWFwU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBQZXJmb3JtIGEgcmVzZWFyY2ggYnkgdGV4dFxyXG4gICAqIEBwYXJhbSB0ZXJtIEFueSB0ZXh0XHJcbiAgICogQHJldHVybnMgUmVzZWFyY2hlc1xyXG4gICAqL1xyXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcsIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge30pOiBSZXNlYXJjaFtdIHtcclxuICAgIGlmICghdGhpcy50ZXJtSXNWYWxpZCh0ZXJtKSkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJvaiA9IHRoaXMubWFwU2VydmljZS5nZXRNYXAoKT8ucHJvamVjdGlvbiB8fCAnRVBTRzozODU3JztcclxuICAgIGNvbnN0IHJlc3BvbnNlID0gc3RyaW5nVG9Mb25MYXQodGVybSwgcHJvaiwge1xyXG4gICAgICBmb3JjZU5BOiBvcHRpb25zLmZvcmNlTkFcclxuICAgIH0pO1xyXG4gICAgaWYgKHJlc3BvbnNlLmxvbkxhdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXZlcnNlU2VhcmNoKHJlc3BvbnNlLmxvbkxhdCwgeyBkaXN0YW5jZTogcmVzcG9uc2UucmFkaXVzLCBjb25mOiByZXNwb25zZS5jb25mIH0pO1xyXG4gICAgfSBlbHNlIGlmIChyZXNwb25zZS5tZXNzYWdlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wdGlvbnMuZXh0ZW50ID0gdGhpcy5tYXBTZXJ2aWNlXHJcbiAgICAgIC5nZXRNYXAoKVxyXG4gICAgICA/LnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgnRVBTRzo0MzI2Jyk7XHJcblxyXG4gICAgbGV0IHNvdXJjZXM7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuZ2V0RW5hYmxlZE9ubHkgfHwgb3B0aW9ucy5nZXRFbmFibGVkT25seSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZ2V0RW5hYmxlZFNvdXJjZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZ2V0U291cmNlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zLnNvdXJjZUlkKSB7XHJcbiAgICAgIHNvdXJjZXMgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZ2V0SWQoKSA9PT0gb3B0aW9ucy5zb3VyY2VJZCk7XHJcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VhcmNoVHlwZSkge1xyXG4gICAgICBzb3VyY2VzID0gc291cmNlcy5maWx0ZXIoXHJcbiAgICAgICAgKHNvdXJjZSkgPT4gc291cmNlLmdldFR5cGUoKSA9PT0gb3B0aW9ucy5zZWFyY2hUeXBlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc291cmNlcyA9IHNvdXJjZXMuZmlsdGVyKHNvdXJjZUNhblNlYXJjaCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VzKHNvdXJjZXMsIHRlcm0sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybSBhIHJlc2VhcmNoIGJ5IGxvbi9sYXRcclxuICAgKiBAcGFyYW0gbG9uTGF0IEFueSBsb24vbGF0IGNvb3JkaW5hdGVzXHJcbiAgICogQHJldHVybnMgUmVzZWFyY2hlc1xyXG4gICAqL1xyXG4gIHJldmVyc2VTZWFyY2goXHJcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXHJcbiAgICBvcHRpb25zPzogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXHJcbiAgICBhc1BvaW50ZXJTdW1tYXJ5OiBib29sZWFuID0gZmFsc2VcclxuICApIHtcclxuICAgIGNvbnN0IHJldmVyc2VTb3VyY2VGb25jdGlvbiA9IGFzUG9pbnRlclN1bW1hcnlcclxuICAgICAgPyBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5XHJcbiAgICAgIDogc291cmNlQ2FuUmV2ZXJzZVNlYXJjaDtcclxuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihyZXZlcnNlU291cmNlRm9uY3Rpb24pO1xyXG4gICAgY29uc3QgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KCdyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCcpIGFzIGJvb2xlYW4gfHwgZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmV2ZXJzZVNlYXJjaFNvdXJjZXMoc291cmNlcywgbG9uTGF0LCBvcHRpb25zIHx8IHt9LCByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHRleHQgcmVzZWFyY2ggb3V0IG9mIGFsbCBnaXZlbiBzZWFyY2ggc291cmNlc1xyXG4gICAqIEBwYXJhbSBzb3VyY2VzIFNlYXJjaCBzb3VyY2VzIHRoYXQgaW1wbGVtZW50IFRleHRTZWFyY2hcclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgUmVzZWFyY2hlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VhcmNoU291cmNlcyhcclxuICAgIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdLFxyXG4gICAgdGVybTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBSZXNlYXJjaFtdIHtcclxuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByZXF1ZXN0OiAoKHNvdXJjZSBhcyBhbnkpIGFzIFRleHRTZWFyY2gpLnNlYXJjaCh0ZXJtLCBvcHRpb25zKSxcclxuICAgICAgICByZXZlcnNlOiBmYWxzZSxcclxuICAgICAgICBzb3VyY2VcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgcmV2ZXJzZSByZXNlYXJjaCBvdXQgb2YgYWxsIGdpdmVuIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogQHBhcmFtIHNvdXJjZXMgU2VhcmNoIHNvdXJjZXMgdGhhdCBpbXBsZW1lbnQgUmV2ZXJzZVNlYXJjaFxyXG4gICAqIEBwYXJhbSBsb25MYXQgQW55IGxvbi9sYXQgY29vcmRpbmF0ZXNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIFJlc2VhcmNoZXNcclxuICAgKi9cclxuICBwcml2YXRlIHJldmVyc2VTZWFyY2hTb3VyY2VzKFxyXG4gICAgc291cmNlczogU2VhcmNoU291cmNlW10sXHJcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXHJcbiAgICBvcHRpb25zOiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcclxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQ6IGJvb2xlYW5cclxuICApOiBSZXNlYXJjaFtdIHtcclxuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByZXF1ZXN0OiAoKHNvdXJjZSBhcyBhbnkpIGFzIFJldmVyc2VTZWFyY2gpLnJldmVyc2VTZWFyY2goXHJcbiAgICAgICAgICBsb25MYXQsXHJcbiAgICAgICAgICBvcHRpb25zLFxyXG4gICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFxyXG4gICAgICAgICksXHJcbiAgICAgICAgcmV2ZXJzZTogdHJ1ZSxcclxuICAgICAgICBzb3VyY2VcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdGUgdGhhdCBhIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXHJcbiAgICogQHBhcmFtIHRlcm0gU2VhcmNoIHRlcm1cclxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggdGVybSBpcyB2YWxpZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGVybUlzVmFsaWQodGVybTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHRlcm0gPT09ICdzdHJpbmcnICYmIHRlcm0gIT09ICcnO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -77,8 +77,8 @@ export function computeTermSimilarity(from, to, caseSensitive = false) {
77
77
  if (!from || !to) {
78
78
  return 0;
79
79
  }
80
- const termFrom = caseSensitive ? from : from.toLowerCase();
81
- const termTo = caseSensitive ? to : to.toLowerCase();
80
+ const termFrom = caseSensitive ? from : from.toString().toLowerCase();
81
+ const termTo = caseSensitive ? to : to.toString().toLowerCase();
82
82
  const fromToDiff = findDiff(termFrom, termTo);
83
83
  const toFromDiff = findDiff(termTo, termFrom);
84
84
  const totalDiff = fromToDiff + toFromDiff;
@@ -88,4 +88,4 @@ export function computeTermSimilarity(from, to, caseSensitive = false) {
88
88
  }
89
89
  return 100 - Math.floor(delta);
90
90
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzdEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQW9CO0lBQ2xELE9BQVEsTUFBYyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBb0I7SUFDekQsT0FBUSxNQUFjLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUFvQjtJQUNsRSxPQUFRLE1BQWMsQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUM7QUFDN0YsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsT0FBZ0IsRUFDaEIsTUFBb0I7SUFFcEIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1FBQ3RCLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztLQUNyQztJQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUU7WUFDSixRQUFRLEVBQUUsT0FBTztZQUNqQixFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFZO1lBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVk7U0FDeEM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDakQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxDQUFDO1NBQ2I7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUdEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxnQkFBeUIsS0FBSztJQUM1RSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFFMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3BCLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaFxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoc291cmNlIGFzIGFueSkuc2VhcmNoICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCBjaGVja3Mgd2hldGhlciBhIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXG4gKiBAcGFyYW0gc291cmNlIFNlYXJjaCBzb3VyY2VcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoc291cmNlIGFzIGFueSkucmV2ZXJzZVNlYXJjaCAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCBBTkQgaXMgc2hvd24gaW4gdGhlIHBvaW50ZXIgc3VtbWFyeVxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCBBTkQgaXMgc2hvd24gaW4gdGhlIHBvaW50ZXIgc3VtbWFyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeShzb3VyY2U6IFNlYXJjaFNvdXJjZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnJldmVyc2VTZWFyY2ggIT09IHVuZGVmaW5lZCAmJiBzb3VyY2Uuc2hvd0luUG9pbnRlclN1bW1hcnkgPT09IHRydWU7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc2VhcmNoIHJlc3VsdCBvdXQgb2YgYW4gRmVhdHVyZS4gVGhpcyBpcyB1c2VkIHRvIGFkYXB0XG4gKiB0aGUgSUdPIHF1ZXJ5IG1vZHVsZSB0byB0aGUgbmV3IEZlYXR1cmUvU2VhcmNoUmVzdWx0IGludGVyZmFjZXNcbiAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmVcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxuICogQHJldHVybnMgU2VhcmNoUmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9TZWFyY2hSZXN1bHQoXG4gIGZlYXR1cmU6IEZlYXR1cmUsXG4gIHNvdXJjZTogU2VhcmNoU291cmNlXG4pOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICBpZiAoZmVhdHVyZS5wcm9wZXJ0aWVzKSB7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tZXRyeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLkdFT01FVFJJRTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmJvdW5kZWRCeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLnNoYXBlO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEU7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5TSEFQRV9TO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEVfTDtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1A7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy50aGVfZ2VvbTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmdlb207XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tMzIxOTg7XG4gIH1cbiAgZmVhdHVyZS5zb3VyY2VJZCA9IHNvdXJjZS5nZXRJZCgpO1xuICByZXR1cm4ge1xuICAgIHNvdXJjZSxcbiAgICBkYXRhOiBmZWF0dXJlLFxuICAgIG1ldGE6IHtcbiAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgaWQ6IGZlYXR1cmUubWV0YS5pZCBhcyBzdHJpbmcsXG4gICAgICB0aXRsZTogZmVhdHVyZS5tZXRhLnRpdGxlLFxuICAgICAgaWNvbjogZmVhdHVyZS5tZXRhLmljb24gfHwgJ21hcC1tYXJrZXInXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZERpZmYoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpe1xuICBsZXQgZGlmZiA9ICcnO1xuICBzdHIyLnNwbGl0KCcnKS5mb3JFYWNoKCh2YWwsIGkpID0+IHtcbiAgICBpZiAodmFsICE9PSBzdHIxLmNoYXJBdChpKSkge1xuICAgICAgZGlmZiArPSB2YWw7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRpZmY7XG59XG5cblxuLyoqXG4gKiBSZXR1cm4gYSBzY29yZSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBcImZyb21cIiB0ZXJtIHdpdGggdGhlIFwidG9cIiB0ZXJtLFxuICogd2hlcmUgdGhlIHBlcmZlY3QgbWF0Y2ggaXMgMTAwIGFuZCBhIHRvdGFsIGRpZmZlcmVuY2UgaXMgMCBvciB1bmRlci5cbiAqIEBwYXJhbSBmcm9tIHN0cmluZ1xuICogQHBhcmFtIHRvIHN0cmluZ1xuICogQHBhcmFtIGNhc2VTZW5zaXRpdmUgYm9vbGVhblxuICogQHJldHVybnMgbnVtYmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlVGVybVNpbWlsYXJpdHkoZnJvbSwgdG8sIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZSk6IG51bWJlciB7XG4gIGlmICghZnJvbSB8fCAhdG8pIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0ZXJtRnJvbSA9IGNhc2VTZW5zaXRpdmUgPyBmcm9tIDogZnJvbS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCB0ZXJtVG8gPSBjYXNlU2Vuc2l0aXZlID8gdG8gOiB0by50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmcm9tVG9EaWZmID0gZmluZERpZmYodGVybUZyb20sIHRlcm1Ubyk7XG4gIGNvbnN0IHRvRnJvbURpZmYgPSBmaW5kRGlmZih0ZXJtVG8sIHRlcm1Gcm9tKTtcbiAgY29uc3QgdG90YWxEaWZmID0gZnJvbVRvRGlmZiArIHRvRnJvbURpZmY7XG5cbiAgbGV0IGRlbHRhID0gMDtcbiAgaWYgKHRvdGFsRGlmZi5sZW5ndGgpIHtcbiAgICBkZWx0YSA9IHRvdGFsRGlmZi5sZW5ndGggLyB0ZXJtRnJvbS5sZW5ndGggKiAxMDA7XG4gIH1cblxuICByZXR1cm4gMTAwIC0gTWF0aC5mbG9vcihkZWx0YSk7XG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzdEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQW9CO0lBQ2xELE9BQVEsTUFBYyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBb0I7SUFDekQsT0FBUSxNQUFjLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUFvQjtJQUNsRSxPQUFRLE1BQWMsQ0FBQyxhQUFhLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQUM7QUFDN0YsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsT0FBZ0IsRUFDaEIsTUFBb0I7SUFFcEIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1FBQ3RCLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFDaEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQztLQUNyQztJQUNELE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSSxFQUFFLE9BQU87UUFDYixJQUFJLEVBQUU7WUFDSixRQUFRLEVBQUUsT0FBTztZQUNqQixFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFZO1lBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVk7U0FDeEM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWSxFQUFFLElBQVk7SUFDakQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxDQUFDO1NBQ2I7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUdEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxnQkFBeUIsS0FBSztJQUM1RSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFFMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3BCLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaFxyXG4gKiBAcGFyYW0gc291cmNlIFNlYXJjaCBzb3VyY2VcclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2hcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDYW5TZWFyY2goc291cmNlOiBTZWFyY2hTb3VyY2UpOiBib29sZWFuIHtcclxuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnNlYXJjaCAhPT0gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdGhhdCBjaGVja3Mgd2hldGhlciBhIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXHJcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNvdXJjZUNhblJldmVyc2VTZWFyY2goc291cmNlOiBTZWFyY2hTb3VyY2UpOiBib29sZWFuIHtcclxuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnJldmVyc2VTZWFyY2ggIT09IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaCBBTkQgaXMgc2hvd24gaW4gdGhlIHBvaW50ZXIgc3VtbWFyeVxyXG4gKiBAcGFyYW0gc291cmNlIFNlYXJjaCBzb3VyY2VcclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2ggQU5EIGlzIHNob3duIGluIHRoZSBwb2ludGVyIHN1bW1hcnlcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChzb3VyY2UgYXMgYW55KS5yZXZlcnNlU2VhcmNoICE9PSB1bmRlZmluZWQgJiYgc291cmNlLnNob3dJblBvaW50ZXJTdW1tYXJ5ID09PSB0cnVlO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGEgc2VhcmNoIHJlc3VsdCBvdXQgb2YgYW4gRmVhdHVyZS4gVGhpcyBpcyB1c2VkIHRvIGFkYXB0XHJcbiAqIHRoZSBJR08gcXVlcnkgbW9kdWxlIHRvIHRoZSBuZXcgRmVhdHVyZS9TZWFyY2hSZXN1bHQgaW50ZXJmYWNlc1xyXG4gKiBAcGFyYW0gZmVhdHVyZSBmZWF0dXJlXHJcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxyXG4gKiBAcmV0dXJucyBTZWFyY2hSZXN1bHRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9TZWFyY2hSZXN1bHQoXHJcbiAgZmVhdHVyZTogRmVhdHVyZSxcclxuICBzb3VyY2U6IFNlYXJjaFNvdXJjZVxyXG4pOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xyXG4gIGlmIChmZWF0dXJlLnByb3BlcnRpZXMpIHtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuZ2VvbWV0cnk7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLkdFT01FVFJJRTtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuYm91bmRlZEJ5O1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5zaGFwZTtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEU7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1M7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX0w7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1A7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLnRoZV9nZW9tO1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tO1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tMzIxOTg7XHJcbiAgfVxyXG4gIGZlYXR1cmUuc291cmNlSWQgPSBzb3VyY2UuZ2V0SWQoKTtcclxuICByZXR1cm4ge1xyXG4gICAgc291cmNlLFxyXG4gICAgZGF0YTogZmVhdHVyZSxcclxuICAgIG1ldGE6IHtcclxuICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXHJcbiAgICAgIGlkOiBmZWF0dXJlLm1ldGEuaWQgYXMgc3RyaW5nLFxyXG4gICAgICB0aXRsZTogZmVhdHVyZS5tZXRhLnRpdGxlLFxyXG4gICAgICBpY29uOiBmZWF0dXJlLm1ldGEuaWNvbiB8fCAnbWFwLW1hcmtlcidcclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmluZERpZmYoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpe1xyXG4gIGxldCBkaWZmID0gJyc7XHJcbiAgc3RyMi5zcGxpdCgnJykuZm9yRWFjaCgodmFsLCBpKSA9PiB7XHJcbiAgICBpZiAodmFsICE9PSBzdHIxLmNoYXJBdChpKSkge1xyXG4gICAgICBkaWZmICs9IHZhbDtcclxuICAgIH1cclxuICB9KTtcclxuICByZXR1cm4gZGlmZjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gYSBzY29yZSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBcImZyb21cIiB0ZXJtIHdpdGggdGhlIFwidG9cIiB0ZXJtLFxyXG4gKiB3aGVyZSB0aGUgcGVyZmVjdCBtYXRjaCBpcyAxMDAgYW5kIGEgdG90YWwgZGlmZmVyZW5jZSBpcyAwIG9yIHVuZGVyLlxyXG4gKiBAcGFyYW0gZnJvbSBzdHJpbmdcclxuICogQHBhcmFtIHRvIHN0cmluZ1xyXG4gKiBAcGFyYW0gY2FzZVNlbnNpdGl2ZSBib29sZWFuXHJcbiAqIEByZXR1cm5zIG51bWJlclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVUZXJtU2ltaWxhcml0eShmcm9tLCB0bywgY2FzZVNlbnNpdGl2ZTogYm9vbGVhbiA9IGZhbHNlKTogbnVtYmVyIHtcclxuICBpZiAoIWZyb20gfHwgIXRvKSB7XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcbiAgY29uc3QgdGVybUZyb20gPSBjYXNlU2Vuc2l0aXZlID8gZnJvbSA6IGZyb20udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xyXG4gIGNvbnN0IHRlcm1UbyA9IGNhc2VTZW5zaXRpdmUgPyB0byA6IHRvLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcclxuICBjb25zdCBmcm9tVG9EaWZmID0gZmluZERpZmYodGVybUZyb20sIHRlcm1Ubyk7XHJcbiAgY29uc3QgdG9Gcm9tRGlmZiA9IGZpbmREaWZmKHRlcm1UbywgdGVybUZyb20pO1xyXG4gIGNvbnN0IHRvdGFsRGlmZiA9IGZyb21Ub0RpZmYgKyB0b0Zyb21EaWZmO1xyXG5cclxuICBsZXQgZGVsdGEgPSAwO1xyXG4gIGlmICh0b3RhbERpZmYubGVuZ3RoKSB7XHJcbiAgICBkZWx0YSA9IHRvdGFsRGlmZi5sZW5ndGggLyB0ZXJtRnJvbS5sZW5ndGggKiAxMDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gMTAwIC0gTWF0aC5mbG9vcihkZWx0YSk7XHJcbn1cclxuIl19