@igo2/geo 16.0.0-rc.1 → 16.0.0-rc.2

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 (494) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
  9. package/esm2022/lib/catalog/catalog.module.mjs +3 -3
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
  14. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  15. package/esm2022/lib/datasource/datasource.module.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
  17. package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
  21. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  22. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
  24. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  40. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  43. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  44. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  45. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  46. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +9 -9
  51. package/esm2022/lib/directions/directions.module.mjs +7 -7
  52. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  53. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  54. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  55. package/esm2022/lib/directions/shared/store.mjs +1 -1
  56. package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
  57. package/esm2022/lib/download/download.module.mjs +2 -2
  58. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  59. package/esm2022/lib/draw/draw/draw-popup.component.mjs +8 -8
  60. package/esm2022/lib/draw/draw/draw.component.mjs +29 -29
  61. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  62. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  63. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  64. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  65. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  66. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  67. package/esm2022/lib/environment/index.mjs +2 -0
  68. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +9 -9
  69. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  70. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  71. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  72. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  73. package/esm2022/lib/feature/feature.module.mjs +2 -2
  74. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  75. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  76. package/esm2022/lib/feature/shared/store.mjs +3 -3
  77. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  78. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  79. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  80. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  81. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  82. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  83. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  84. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  85. package/esm2022/lib/filter/filter.module.mjs +21 -21
  86. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  88. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  89. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  90. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  91. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
  92. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  94. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  95. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  96. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  97. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  98. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  99. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  100. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  101. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  102. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +15 -15
  103. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  104. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  105. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  106. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  107. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  108. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  109. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  110. package/esm2022/lib/geo.module.mjs +4 -4
  111. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  112. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +1 -1
  113. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  114. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  115. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  116. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  117. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  118. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  119. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  120. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  121. package/esm2022/lib/import-export/import-export/import-export.component.mjs +37 -37
  122. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  123. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  124. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  125. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  126. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  127. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  128. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  129. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  130. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  131. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +6 -6
  132. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  133. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  134. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
  135. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  136. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +8 -8
  137. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  138. package/esm2022/lib/layer/layer.module.mjs +9 -9
  139. package/esm2022/lib/layer/shared/layer.service.mjs +16 -16
  140. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  141. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  142. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  143. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  144. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  145. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  146. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  150. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  151. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  152. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  153. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  154. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  155. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  156. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  157. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  158. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  159. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  160. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +7 -9
  161. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  162. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  163. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  164. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
  165. package/esm2022/lib/map/map.module.mjs +14 -14
  166. package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
  167. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  168. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  169. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  170. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  171. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  172. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  173. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +4 -4
  174. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  175. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  176. package/esm2022/lib/map/shared/map.mjs +9 -6
  177. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  178. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  179. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  180. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  181. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  182. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  183. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
  184. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
  185. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  186. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  187. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  188. package/esm2022/lib/measure/measurer/measurer.component.mjs +12 -12
  189. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  190. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  191. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  192. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  193. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  194. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  195. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  196. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  197. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  198. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  199. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  200. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  201. package/esm2022/lib/print/print/print.component.mjs +2 -2
  202. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  203. package/esm2022/lib/print/print.module.mjs +4 -4
  204. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  205. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  206. package/esm2022/lib/query/query.module.mjs +3 -3
  207. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  208. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  209. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  210. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  211. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  212. package/esm2022/lib/search/search-bar/search-bar.component.mjs +5 -5
  213. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  214. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  215. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  216. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -14
  217. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  218. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  219. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  220. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  221. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  222. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  223. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  224. package/esm2022/lib/search/search.module.mjs +8 -8
  225. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  226. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  227. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  228. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  229. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  230. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  231. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  233. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  234. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  235. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  236. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  237. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  239. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  240. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  241. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  242. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  243. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  244. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  245. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  246. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  247. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  248. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  249. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  250. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  251. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  252. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  253. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  254. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  255. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  256. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  257. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  258. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  259. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
  260. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  261. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  262. package/esm2022/lib/style/style.module.mjs +4 -4
  263. package/esm2022/lib/toast/toast.component.mjs +2 -2
  264. package/esm2022/lib/toast/toast.module.mjs +3 -3
  265. package/esm2022/lib/utils/id-generator.mjs +2 -2
  266. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  267. package/esm2022/lib/wkt/shared/wkt.service.mjs +16 -16
  268. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  269. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  270. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  271. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  272. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  273. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  274. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  275. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  276. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  277. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  278. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  279. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  280. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  281. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  282. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  283. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  284. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  285. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  286. package/esm2022/public_api.mjs +2 -1
  287. package/fesm2022/igo2-geo.mjs +34181 -34233
  288. package/fesm2022/igo2-geo.mjs.map +1 -1
  289. package/geo-theme.scss +23 -21
  290. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  291. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  292. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  293. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  294. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  295. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  296. package/lib/catalog/catalog.theming.scss +5 -0
  297. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  298. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  299. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  300. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  301. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  302. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  303. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  304. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  305. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  306. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  307. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  308. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  309. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  310. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  311. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  312. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  313. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  314. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  315. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  316. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  317. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  318. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  319. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  320. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  321. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  322. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  323. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  324. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  325. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  326. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  327. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  328. package/lib/directions/directions.component.d.ts +3 -3
  329. package/lib/directions/shared/directions.interface.d.ts +1 -1
  330. package/lib/directions/shared/directions.service.d.ts +5 -5
  331. package/lib/directions/shared/directions.utils.d.ts +3 -3
  332. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  333. package/lib/draw/draw/draw.component.d.ts +12 -12
  334. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  335. package/lib/draw/shared/draw.interface.d.ts +3 -3
  336. package/lib/draw/shared/draw.utils.d.ts +4 -4
  337. package/lib/environment/environment.interface.d.ts +48 -0
  338. package/lib/environment/index.d.ts +1 -0
  339. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  340. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  341. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  342. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  343. package/lib/feature/shared/feature.utils.d.ts +4 -4
  344. package/lib/feature/shared/store.d.ts +1 -1
  345. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  346. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  347. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  348. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  349. package/lib/feature/shared/strategies/search.d.ts +1 -1
  350. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  351. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  352. package/lib/filter/filter.theming.scss +0 -3
  353. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  354. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  355. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  356. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  357. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  358. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  359. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  360. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  361. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  362. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  363. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  364. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  365. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  366. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  367. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  368. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  369. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  370. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  371. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  372. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  373. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  374. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  375. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  376. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  377. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  378. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  379. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  380. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  381. package/lib/import-export/shared/export.interface.d.ts +1 -1
  382. package/lib/import-export/shared/export.service.d.ts +2 -2
  383. package/lib/import-export/shared/import.interface.d.ts +1 -0
  384. package/lib/import-export/shared/import.utils.d.ts +3 -3
  385. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  386. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  387. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  388. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  389. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  390. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  391. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  392. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  393. package/lib/layer/layer.theming.scss +17 -24
  394. package/lib/layer/shared/layer.service.d.ts +5 -5
  395. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  396. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  397. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  398. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  399. package/lib/layer/shared/layers/layer.d.ts +6 -6
  400. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  401. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  402. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  403. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  404. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  405. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  407. package/lib/layer/utils/image-watcher.d.ts +1 -1
  408. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  409. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  410. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  411. package/lib/map/home-extent-button/index.d.ts +1 -0
  412. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  413. package/lib/map/shared/controllers/controller.d.ts +1 -1
  414. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  415. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  416. package/lib/map/shared/controllers/view.d.ts +2 -2
  417. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  418. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  419. package/lib/map/shared/map.abstract.d.ts +5 -5
  420. package/lib/map/shared/map.d.ts +14 -10
  421. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  422. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  423. package/lib/map/utils/layer-watcher.d.ts +2 -2
  424. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  425. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  426. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  427. package/lib/measure/shared/measure.utils.d.ts +5 -5
  428. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  429. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  430. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  431. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  432. package/lib/overlay/shared/overlay.d.ts +1 -1
  433. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  434. package/lib/print/print/print.component.d.ts +1 -1
  435. package/lib/print/print-form/print-form.component.d.ts +2 -2
  436. package/lib/print/shared/print.interface.d.ts +1 -1
  437. package/lib/print/shared/print.service.d.ts +2 -2
  438. package/lib/query/shared/query.directive.d.ts +4 -4
  439. package/lib/query/shared/query.interfaces.d.ts +3 -3
  440. package/lib/query/shared/query.service.d.ts +3 -3
  441. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  442. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  443. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  444. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  445. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  446. package/lib/search/search-results/search-results.component.d.ts +4 -4
  447. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  448. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  449. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  450. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  451. package/lib/search/shared/search.interfaces.d.ts +1 -1
  452. package/lib/search/shared/search.service.d.ts +2 -2
  453. package/lib/search/shared/search.utils.d.ts +1 -1
  454. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  455. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  456. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  457. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  458. package/lib/search/shared/sources/icherche.d.ts +4 -4
  459. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  460. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  461. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  462. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  463. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  464. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  465. package/lib/search/shared/sources/source.d.ts +2 -2
  466. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  467. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  468. package/lib/search/shared/sources/workspace.d.ts +1 -1
  469. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  470. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  471. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  472. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  473. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  474. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  475. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  476. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  477. package/lib/style/style-service/style.service.d.ts +3 -3
  478. package/lib/utils/id-generator.d.ts +2 -2
  479. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  480. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  481. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  482. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  483. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  484. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  485. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  486. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  487. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  488. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  489. package/locale/en.geo.json +9 -3
  490. package/locale/fr.geo.json +9 -3
  491. package/package.json +4 -4
  492. package/public_api.d.ts +1 -0
  493. package/style/style.css +0 -1
  494. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,23 +1,23 @@
1
- import { Directive, Input, Self, HostListener } from '@angular/core';
2
- import { first } from 'rxjs';
3
- import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
4
- import { SearchService } from './search.service';
1
+ import { Directive, HostListener, Input, Self } from '@angular/core';
2
+ import { EntityStore } from '@igo2/common';
3
+ import { MediaService } from '@igo2/core';
4
+ import { SubjectStatus } from '@igo2/utils';
5
5
  import olFeature from 'ol/Feature';
6
- import { transform } from 'ol/proj';
7
- import * as olgeom from 'ol/geom';
6
+ import { unByKey } from 'ol/Observable';
8
7
  import OlGeoJSON from 'ol/format/GeoJSON';
9
- import { EntityStore } from '@igo2/common';
8
+ import * as olgeom from 'ol/geom';
9
+ import { transform } from 'ol/proj';
10
+ import { first } from 'rxjs';
10
11
  import { FeatureDataSource } from '../../datasource/shared/datasources/feature-datasource';
11
- import { VectorLayer } from '../../layer/shared/layers/vector-layer';
12
12
  import { tryBindStoreLayer } from '../../feature/shared/feature-store.utils';
13
+ import { FEATURE, FeatureMotion } from '../../feature/shared/feature.enums';
13
14
  import { FeatureStore } from '../../feature/shared/store';
14
- import { FeatureMotion, FEATURE } from '../../feature/shared/feature.enums';
15
+ import { VectorLayer } from '../../layer/shared/layers/vector-layer';
16
+ import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
17
+ import { pointerPositionSummaryMarkerStyle } from '../../style/shared/feature/feature-style';
15
18
  import { SearchSourceService } from './search-source.service';
19
+ import { SearchService } from './search.service';
16
20
  import { sourceCanReverseSearchAsSummary } from './search.utils';
17
- import { MediaService } from '@igo2/core';
18
- import { unByKey } from 'ol/Observable';
19
- import { pointerPositionSummaryMarkerStyle } from '../../style/shared/feature/feature-style';
20
- import { SubjectStatus } from '@igo2/utils';
21
21
  import * as i0 from "@angular/core";
22
22
  import * as i1 from "../../map/map-browser/map-browser.component";
23
23
  import * as i2 from "./search.service";
@@ -334,4 +334,4 @@ export class SearchPointerSummaryDirective {
334
334
  type: HostListener,
335
335
  args: ['mouseleave']
336
336
  }] }); })();
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUVMLElBQUksRUFHSixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWpELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3BDLE9BQU8sS0FBSyxNQUFNLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sU0FBUyxNQUFNLG1CQUFtQixDQUFDO0FBRzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdCQUFnQixDQUFD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NkI7Z0JBQ3RDLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxJQUFJLENBQUMsNkJBQTZCO2FBQ3ZDO1lBQ0QsRUFBRSxFQUFFLE9BQU87U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO3VGQTdWVSw2QkFBNkI7NkRBQTdCLDZCQUE2Qjt3SEFBN0IsZ0JBQVk7Ozt1RkFBWiw2QkFBNkI7Y0FIekMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7O3NCQWtESSxJQUFJO2lIQTFCRSw0QkFBNEI7a0JBQXBDLEtBQUs7WUFLRyw4QkFBOEI7a0JBQXRDLEtBQUs7WUFHTixVQUFVO2tCQURULFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgU2VsZixcbiAgT25Jbml0LFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZmlyc3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IE1hcEJyb3dzZXJQb2ludGVyRXZlbnQgZnJvbSAnb2wvTWFwQnJvd3NlckV2ZW50JztcblxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2guc2VydmljZSc7XG5cbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCAqIGFzIG9sZ2VvbSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCBPbEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xuXG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQsIFJlc2VhcmNoIH0gZnJvbSAnLi9zZWFyY2guaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbnRpdHlTdG9yZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcbmltcG9ydCB7IHRyeUJpbmRTdG9yZUxheWVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS1zdG9yZS51dGlscyc7XG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBGZWF0dXJlTW90aW9uLCBGRUFUVVJFIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSB9IGZyb20gJy4vc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgdW5CeUtleSB9IGZyb20gJ29sL09ic2VydmFibGUnO1xuaW1wb3J0IHsgcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclN0eWxlIH0gZnJvbSAnLi4vLi4vc3R5bGUvc2hhcmVkL2ZlYXR1cmUvZmVhdHVyZS1zdHlsZSc7XG5pbXBvcnQgeyBTdWJqZWN0U3RhdHVzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG4vKipcbiAqIFRoaXMgZGlyZWN0aXZlIG1ha2VzIHRoZSBtb3VzZSBjb29yZGluYXRlIHRyaWdnZXIgYSByZXZlcnNlIHNlYXJjaCBvbiBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXMuXG4gKiBUaGUgc2VhcmNoIHJlc3VsdHMgYXJlIHBsYWNlZCBpbnRvIGEgbGFiZWwsIG9uIGEgY3Jvc3MgaWNvbiwgcmVwcmVzZW50aW5nIHRoZSBtb3VzZSBjb29yZGluYXRlLlxuICogQnkgZGVmYXVsdCwgbm8gc2VhcmNoIHNvdXJjZXMuIENvbmZpZyBpbiBjb25maWcgZmlsZSBtdXN0IGJlIGRlZmluZWQuXG4gKiB0aGUgbGF5ZXIgbGV2ZWwuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpZ29TZWFyY2hQb2ludGVyU3VtbWFyeV0nXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudENoZWNrZWRcbntcbiAgcHVibGljIHN0b3JlOiBGZWF0dXJlU3RvcmU8RmVhdHVyZT47XG4gIHByaXZhdGUgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdO1xuICBwcml2YXRlIHBvaW50ZXJTZWFyY2hTdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiA9XG4gICAgbmV3IEVudGl0eVN0b3JlPFNlYXJjaFJlc3VsdD4oW10pO1xuICBwcml2YXRlIGxhc3RUaW1lb3V0UmVxdWVzdDtcbiAgcHJpdmF0ZSBzdG9yZSQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByZXZlcnNlU2VhcmNoJCQ6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogTGlzdGVuZXIgdG8gdGhlIHBvaW50ZXIgbW92ZSBldmVudFxuICAgKi9cbiAgcHJpdmF0ZSBwb2ludGVyTW92ZUxpc3RlbmVyO1xuXG4gIHByaXZhdGUgc2VhcmNoUG9pbnRlclN1bW1hcnlGZWF0dXJlSWQ6IHN0cmluZyA9XG4gICAgJ3NlYXJjaFBvaW50ZXJTdW1tYXJ5RmVhdHVyZUlkJztcbiAgLyoqXG4gICAqIFRoZSBkZWxheSB3aGVyZSB0aGUgbW91c2UgbXVzdCBiZSBtb3Rpb25sZXNzIGJlZm9yZSB0cmlnZ2VyIHRoZSByZXZlcnNlIHNlYXJjaFxuICAgKi9cbiAgQElucHV0KCkgaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlEZWxheTogbnVtYmVyID0gMTAwMDtcblxuICAvKipcbiAgICogSWYgdGhlIHVzZXIgaGFzIGVuYWJsZWQgb3Igbm90IHRoZSBkaXJlY3RpdmVcbiAgICovXG4gIEBJbnB1dCgpIGlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBtb3VzZWxlYXZlKCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XG4gICAgdGhpcy5jbGVhckxheWVyKCk7XG4gIH1cblxuICAvKipcbiAgICogSUdPIG1hcFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xuICB9XG5cbiAgZ2V0IG1hcFByb2plY3Rpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMuY29tcG9uZW50Lm1hcCBhcyBJZ29NYXApLnByb2plY3Rpb247XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIHByaXZhdGUgY29tcG9uZW50OiBNYXBCcm93c2VyQ29tcG9uZW50LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIHNlYXJjaFNvdXJjZVNlcnZpY2U6IFNlYXJjaFNvdXJjZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGxpc3RlbmluZyB0byBwb2ludGVybW92ZSBhbmQgcmV2ZXJzZSBzZWFyY2ggcmVzdWx0cy5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCk7XG5cbiAgICB0aGlzLm1hcC5zdGF0dXMkXG4gICAgICAucGlwZShmaXJzdCgoc3RhdHVzKSA9PiBzdGF0dXMgPT09IFN1YmplY3RTdGF0dXMuRG9uZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZSA9IG5ldyBGZWF0dXJlU3RvcmU8RmVhdHVyZT4oW10sIHsgbWFwOiB0aGlzLm1hcCB9KTtcbiAgICAgICAgdGhpcy5pbml0U3RvcmUoKTtcbiAgICAgIH0pO1xuXG4gICAgLy8gVG8gaGFuZGxlIGNvbnRleHQgY2hhbmdlIHdpdGhvdXQgdXNpbmcgdGhlIGNvbnRleHRTZXJ2aWNlLlxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc3RvcmUgJiZcbiAgICAgICAgIWxheWVycy5maW5kKChsKSA9PiBsLmlkID09PSAnc2VhcmNoUG9pbnRlclN1bW1hcnlJZCcpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5pbml0U3RvcmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHRoZSBwb2ludGVyIHBvc2l0aW9uIHN0b3JlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0U3RvcmUoKSB7XG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnN0b3JlO1xuXG4gICAgY29uc3QgbGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxuICAgICAgaWQ6ICdzZWFyY2hQb2ludGVyU3VtbWFyeUlkJyxcbiAgICAgIHRpdGxlOiAnc2VhcmNoUG9pbnRlclN1bW1hcnknLFxuICAgICAgekluZGV4OiA5MDAsXG4gICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpLFxuICAgICAgc2hvd0luTGF5ZXJMaXN0OiBmYWxzZSxcbiAgICAgIGV4cG9ydGFibGU6IGZhbHNlLFxuICAgICAgYnJvd3NhYmxlOiBmYWxzZSxcbiAgICAgIHN0eWxlOiBwb2ludGVyUG9zaXRpb25TdW1tYXJ5TWFya2VyU3R5bGVcbiAgICB9KTtcbiAgICB0cnlCaW5kU3RvcmVMYXllcihzdG9yZSwgbGF5ZXIpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcbiAgICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMuaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgbGlzdGVuaW5nIHRvIHBvaW50ZXJtb3ZlIGFuZCByZXZlcnNlIHNlYXJjaCByZXN1bHRzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudW5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCk7XG4gICAgdGhpcy51bnN1YnNjcmliZVJldmVyc2VTZWFyY2goKTtcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHBvaW50ZXJtb3ZlIHJlc3VsdCBzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCkge1xuICAgIHRoaXMuc3RvcmUkJCA9IHRoaXMucG9pbnRlclNlYXJjaFN0b3JlLmVudGl0aWVzJC5zdWJzY3JpYmUoXG4gICAgICAocmVzdWx0c1VuZGVyUG9pbnRlclBvc2l0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMuZW50aXRpZXNUb1BvaW50ZXJPdmVybGF5KHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhbiBvYmplY3QgYmFzZWQgb24gdGhlIGNsb3Nlc3QgZmVhdHVyZSBieSB0eXBlIChiYXNlIG9uIHR5cGUgYW5kIGRpc3RhbmNlIHByb3BlcnRpZXMgKVxuICAgKiBAcGFyYW0gcmVzdWx0cyBTZWFyY2hSZXN1bHRbXVxuICAgKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjb21wdXRlU3VtbWFyeUNsb3Nlc3RGZWF0dXJlKHJlc3VsdHM6IFNlYXJjaFJlc3VsdFtdKToge30ge1xuICAgIGNvbnN0IGNsb3Nlc3RSZXN1bHRCeVR5cGUgPSB7fTtcblxuICAgIHJlc3VsdHMubWFwKChyZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUgJiYgcmVzdWx0LmRhdGEucHJvcGVydGllcy5kaXN0YW5jZSA+PSAwKSB7XG4gICAgICAgIGlmIChjbG9zZXN0UmVzdWx0QnlUeXBlLmhhc093blByb3BlcnR5KHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBwcmV2RGlzdGFuY2UgPVxuICAgICAgICAgICAgY2xvc2VzdFJlc3VsdEJ5VHlwZVtyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVdLmRpc3RhbmNlO1xuICAgICAgICAgIGlmIChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLmRpc3RhbmNlIDwgcHJldkRpc3RhbmNlKSB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IHJlc3VsdC5tZXRhLnBvaW50ZXJTdW1tYXJ5VGl0bGUgfHwgcmVzdWx0Lm1ldGEudGl0bGU7XG4gICAgICAgICAgICBjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0gPSB7XG4gICAgICAgICAgICAgIGRpc3RhbmNlOiByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLmRpc3RhbmNlLFxuICAgICAgICAgICAgICB0aXRsZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdGl0bGUgPSByZXN1bHQubWV0YS5wb2ludGVyU3VtbWFyeVRpdGxlIHx8IHJlc3VsdC5tZXRhLnRpdGxlO1xuICAgICAgICAgIGNsb3Nlc3RSZXN1bHRCeVR5cGVbcmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlXSA9IHtcbiAgICAgICAgICAgIGRpc3RhbmNlOiByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLmRpc3RhbmNlLFxuICAgICAgICAgICAgdGl0bGVcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY2xvc2VzdFJlc3VsdEJ5VHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjb252ZXJ0IHN0b3JlIGVudGl0aWVzIHRvIGEgcG9pbnRlciBwb3NpdGlvbiBvdmVybGF5IHdpdGggbGFiZWwgc3VtbWFyeSBvbi5cbiAgICogQHBhcmFtIGV2ZW50IE9MIG1hcCBicm93c2VyIHBvaW50ZXIgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgZW50aXRpZXNUb1BvaW50ZXJPdmVybGF5KFxuICAgIHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbjogU2VhcmNoUmVzdWx0W11cbiAgKSB7XG4gICAgY29uc3QgY2xvc2VzdFJlc3VsdEJ5VHlwZSA9IHRoaXMuY29tcHV0ZVN1bW1hcnlDbG9zZXN0RmVhdHVyZShcbiAgICAgIHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvblxuICAgICk7XG4gICAgY29uc3Qgc3VtbWFyaXplZENsb3Nlc3RUeXBlID0gT2JqZWN0LmtleXMoY2xvc2VzdFJlc3VsdEJ5VHlwZSk7XG4gICAgY29uc3QgcHJvY2Vzc2VkU3VtbWFyaXplZENsb3Nlc3RUeXBlID0gW107XG4gICAgY29uc3Qgc3VtbWFyeSA9IFtdO1xuICAgIHJlc3VsdHNVbmRlclBvaW50ZXJQb3NpdGlvbi5tYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgY29uc3QgdHlwZUluZGV4ID0gc3VtbWFyaXplZENsb3Nlc3RUeXBlLmluZGV4T2YoXG4gICAgICAgIHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZVxuICAgICAgKTtcbiAgICAgIGlmICh0eXBlSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHN1bW1hcnkucHVzaChjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0udGl0bGUpO1xuICAgICAgICBzdW1tYXJpemVkQ2xvc2VzdFR5cGUuc3BsaWNlKHR5cGVJbmRleCwgMSk7XG4gICAgICAgIHByb2Nlc3NlZFN1bW1hcml6ZWRDbG9zZXN0VHlwZS5wdXNoKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJvY2Vzc2VkU3VtbWFyaXplZENsb3Nlc3RUeXBlLmluZGV4T2YoXG4gICAgICAgICAgICByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVcbiAgICAgICAgICApID09PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICBzdW1tYXJ5LnB1c2gocmVzdWx0Lm1ldGEucG9pbnRlclN1bW1hcnlUaXRsZSB8fCByZXN1bHQubWV0YS50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoc3VtbWFyeS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWRkUG9pbnRlck92ZXJsYXkoc3VtbWFyeS5qb2luKCdcXG4nKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9uIG1hcCBwb2ludGVybW92ZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCkge1xuICAgIHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lciA9IHRoaXMubWFwLm9sLm9uKFxuICAgICAgJ3BvaW50ZXJtb3ZlJyxcbiAgICAgIChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSA9PiB0aGlzLm9uTWFwRXZlbnQoZXZlbnQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnN1YnNjcmliZSB0byBwb2ludGVyIHN0b3JlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHVuc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKSB7XG4gICAgdGhpcy5zdG9yZSQkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbiAgLyoqXG4gICAqIFVuc3Vic2NyaWJlIHRvIHJldmVyc2Ugc2VhdGNoIHN0b3JlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHVuc3Vic2NyaWJlUmV2ZXJzZVNlYXJjaCgpIHtcbiAgICB0aGlzLnJldmVyc2VTZWFyY2gkJC5tYXAoKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoJCQgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGxpc3RlbmluZyBmb3IgbWFwIHBvaW50ZXJtb3ZlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJpdmF0ZSB1bmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKSB7XG4gICAgdW5CeUtleSh0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIpO1xuICAgIHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lciA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHJldmVyc2Ugc2VhcmNoIHdoZW4gdGhlIG1vdXNlIGlzIG1vdGlvbmxlc3MgZHVyaW5nIHRoZSBkZWZpbmVkIGRlbGF5IChwb2ludGVyTW92ZURlbGF5KS5cbiAgICogQHBhcmFtIGV2ZW50IE9MIG1hcCBicm93c2VyIHBvaW50ZXIgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgb25NYXBFdmVudChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQuZHJhZ2dpbmcgfHxcbiAgICAgICF0aGlzLmlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RW5hYmxlZCB8fFxuICAgICAgIXRoaXMuaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgfHxcbiAgICAgIHRoaXMubWVkaWFTZXJ2aWNlLmlzVG91Y2hTY3JlZW4oKVxuICAgICkge1xuICAgICAgdGhpcy5jbGVhckxheWVyKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0VGltZW91dFJlcXVlc3QgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBjYW5jZWwgdGltZW91dCB3aGVuIHRoZSBtb3VzZSBtb3Zlc1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0KTtcbiAgICAgIHRoaXMuY2xlYXJMYXllcigpO1xuICAgICAgdGhpcy51bnN1YnNjcmliZVJldmVyc2VTZWFyY2goKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvbkxhdCA9IHRyYW5zZm9ybShcbiAgICAgIGV2ZW50LmNvb3JkaW5hdGUsXG4gICAgICB0aGlzLm1hcFByb2plY3Rpb24sXG4gICAgICAnRVBTRzo0MzI2J1xuICAgICkgYXMgW251bWJlciwgbnVtYmVyXTtcblxuICAgIHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9uU2VhcmNoQ29vcmRpbmF0ZSgpO1xuICAgIH0sIHRoaXMuaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlEZWxheSk7XG4gIH1cblxuICAvKipcbiAgICogU29ydCB0aGUgcmVzdWx0cyBieSBkaXNwbGF5IG9yZGVyLlxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XG4gICAqIEBwYXJhbSByMiBTZWNvbmQgcmVzdWx0XG4gICAqL1xuICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcbiAgICByZXR1cm4gcjEuc291cmNlLmRpc3BsYXlPcmRlciAtIHIyLnNvdXJjZS5kaXNwbGF5T3JkZXI7XG4gIH1cblxuICBwcml2YXRlIG9uU2VhcmNoQ29vcmRpbmF0ZSgpIHtcbiAgICB0aGlzLnBvaW50ZXJTZWFyY2hTdG9yZS5jbGVhcigpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnNlYXJjaFNlcnZpY2UucmV2ZXJzZVNlYXJjaChcbiAgICAgIHRoaXMubG9uTGF0LFxuICAgICAgeyBwYXJhbXM6IHsgZ2VvbWV0cnk6ICdmYWxzZScsIGljb246ICdmYWxzZScgfSB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IGkgaW4gcmVzdWx0cykge1xuICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJldmVyc2VTZWFyY2gkJC5wdXNoKFxuICAgICAgICAgIHJlc3VsdHNbaV0ucmVxdWVzdC5zdWJzY3JpYmUoKF9yZXN1bHRzOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblNlYXJjaCh7IHJlc2VhcmNoOiByZXN1bHRzW2ldLCByZXN1bHRzOiBfcmVzdWx0cyB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25TZWFyY2goZXZlbnQ6IHsgcmVzZWFyY2g6IFJlc2VhcmNoOyByZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSB9KSB7XG4gICAgY29uc3QgcmVzdWx0cyA9IGV2ZW50LnJlc3VsdHM7XG4gICAgY29uc3QgbmV3UmVzdWx0cyA9IHRoaXMucG9pbnRlclNlYXJjaFN0b3JlXG4gICAgICAuYWxsKClcbiAgICAgIC5maWx0ZXIoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSBldmVudC5yZXNlYXJjaC5zb3VyY2UpXG4gICAgICAuY29uY2F0KHJlc3VsdHMpO1xuICAgIHRoaXMucG9pbnRlclNlYXJjaFN0b3JlLmxvYWQobmV3UmVzdWx0cy5zb3J0KHRoaXMuc29ydEJ5T3JkZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBmZWF0dXJlIHRvIHRoZSBwb2ludGVyIHN0b3JlXG4gICAqIEBwYXJhbSB0ZXh0IHN0cmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBhZGRQb2ludGVyT3ZlcmxheSh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmNsZWFyTGF5ZXIoKTtcblxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sZ2VvbS5Qb2ludChcbiAgICAgIHRyYW5zZm9ybSh0aGlzLmxvbkxhdCwgJ0VQU0c6NDMyNicsIHRoaXMubWFwUHJvamVjdGlvbilcbiAgICApO1xuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSk7XG4gICAgY29uc3QgZ2VvanNvbkdlb20gPSBuZXcgT2xHZW9KU09OKCkud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tZXRyeSwge1xuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb25cbiAgICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XG5cbiAgICBjb25zdCBmOiBGZWF0dXJlID0ge1xuICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgIGdlb21ldHJ5OiBnZW9qc29uR2VvbSxcbiAgICAgIHByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgaWQ6IHRoaXMuc2VhcmNoUG9pbnRlclN1bW1hcnlGZWF0dXJlSWQsXG4gICAgICAgIHBvaW50ZXJTdW1tYXJ5OiB0ZXh0XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBpZDogdGhpcy5zZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZFxuICAgICAgfSxcbiAgICAgIG9sOiBmZWF0dXJlXG4gICAgfTtcbiAgICB0aGlzLnN0b3JlLnNldExheWVyRmVhdHVyZXMoW2ZdLCBGZWF0dXJlTW90aW9uLk5vbmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIHRoZSBwb2ludGVyIHN0b3JlIGZlYXR1cmVzXG4gICAqL1xuICBwcml2YXRlIGNsZWFyTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMuc3RvcmUpIHtcbiAgICAgIHRoaXMuc3RvcmUuY2xlYXJMYXllcigpO1xuICAgIH1cbiAgfVxufVxuIl19
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxJQUFJLEVBQ0wsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVwQyxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FB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NkI7Z0JBQ3RDLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxJQUFJLENBQUMsNkJBQTZCO2FBQ3ZDO1lBQ0QsRUFBRSxFQUFFLE9BQU87U0FDWixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO3VGQTdWVSw2QkFBNkI7NkRBQTdCLDZCQUE2Qjt3SEFBN0IsZ0JBQVk7Ozt1RkFBWiw2QkFBNkI7Y0FIekMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7O3NCQWtESSxJQUFJO2lIQTFCRSw0QkFBNEI7a0JBQXBDLEtBQUs7WUFLRyw4QkFBOEI7a0JBQXRDLEtBQUs7WUFHTixVQUFVO2tCQURULFlBQVk7bUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcclxuICBEaXJlY3RpdmUsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2VsZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRW50aXR5U3RvcmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdFN0YXR1cyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCBNYXBCcm93c2VyUG9pbnRlckV2ZW50IGZyb20gJ29sL01hcEJyb3dzZXJFdmVudCc7XHJcbmltcG9ydCB7IHVuQnlLZXkgfSBmcm9tICdvbC9PYnNlcnZhYmxlJztcclxuaW1wb3J0IE9sR2VvSlNPTiBmcm9tICdvbC9mb3JtYXQvR2VvSlNPTic7XHJcbmltcG9ydCAqIGFzIG9sZ2VvbSBmcm9tICdvbC9nZW9tJztcclxuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGZpcnN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IHRyeUJpbmRTdG9yZUxheWVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS1zdG9yZS51dGlscyc7XHJcbmltcG9ydCB7IEZFQVRVUkUsIEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL3N0b3JlJztcclxuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XHJcbmltcG9ydCB7IE1hcEJyb3dzZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tYXAvbWFwLWJyb3dzZXIvbWFwLWJyb3dzZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xyXG5pbXBvcnQgeyBwb2ludGVyUG9zaXRpb25TdW1tYXJ5TWFya2VyU3R5bGUgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvZmVhdHVyZS9mZWF0dXJlLXN0eWxlJztcclxuaW1wb3J0IHsgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi8uLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNlYXJjaCwgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi9zZWFyY2guaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSB9IGZyb20gJy4vc2VhcmNoLnV0aWxzJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGRpcmVjdGl2ZSBtYWtlcyB0aGUgbW91c2UgY29vcmRpbmF0ZSB0cmlnZ2VyIGEgcmV2ZXJzZSBzZWFyY2ggb24gYXZhaWxhYmxlIHNlYXJjaCBzb3VyY2VzLlxyXG4gKiBUaGUgc2VhcmNoIHJlc3VsdHMgYXJlIHBsYWNlZCBpbnRvIGEgbGFiZWwsIG9uIGEgY3Jvc3MgaWNvbiwgcmVwcmVzZW50aW5nIHRoZSBtb3VzZSBjb29yZGluYXRlLlxyXG4gKiBCeSBkZWZhdWx0LCBubyBzZWFyY2ggc291cmNlcy4gQ29uZmlnIGluIGNvbmZpZyBmaWxlIG11c3QgYmUgZGVmaW5lZC5cclxuICogdGhlIGxheWVyIGxldmVsLlxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWdvU2VhcmNoUG9pbnRlclN1bW1hcnldJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmVcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRDaGVja2VkXHJcbntcclxuICBwdWJsaWMgc3RvcmU6IEZlYXR1cmVTdG9yZTxGZWF0dXJlPjtcclxuICBwcml2YXRlIGxvbkxhdDogW251bWJlciwgbnVtYmVyXTtcclxuICBwcml2YXRlIHBvaW50ZXJTZWFyY2hTdG9yZTogRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PiA9XHJcbiAgICBuZXcgRW50aXR5U3RvcmU8U2VhcmNoUmVzdWx0PihbXSk7XHJcbiAgcHJpdmF0ZSBsYXN0VGltZW91dFJlcXVlc3Q7XHJcbiAgcHJpdmF0ZSBzdG9yZSQkOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBsYXllcnMkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcmV2ZXJzZVNlYXJjaCQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVuZXIgdG8gdGhlIHBvaW50ZXIgbW92ZSBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgcG9pbnRlck1vdmVMaXN0ZW5lcjtcclxuXHJcbiAgcHJpdmF0ZSBzZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZDogc3RyaW5nID1cclxuICAgICdzZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZCc7XHJcbiAgLyoqXHJcbiAgICogVGhlIGRlbGF5IHdoZXJlIHRoZSBtb3VzZSBtdXN0IGJlIG1vdGlvbmxlc3MgYmVmb3JlIHRyaWdnZXIgdGhlIHJldmVyc2Ugc2VhcmNoXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWdvU2VhcmNoUG9pbnRlclN1bW1hcnlEZWxheTogbnVtYmVyID0gMTAwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIHVzZXIgaGFzIGVuYWJsZWQgb3Igbm90IHRoZSBkaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBpZ29TZWFyY2hQb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXHJcbiAgbW91c2VsZWF2ZSgpIHtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCk7XHJcbiAgICB0aGlzLmNsZWFyTGF5ZXIoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElHTyBtYXBcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXQgbWFwKCk6IElnb01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnQubWFwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1hcFByb2plY3Rpb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAodGhpcy5jb21wb25lbnQubWFwIGFzIElnb01hcCkucHJvamVjdGlvbjtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQFNlbGYoKSBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IGxpc3RlbmluZyB0byBwb2ludGVybW92ZSBhbmQgcmV2ZXJzZSBzZWFyY2ggcmVzdWx0cy5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubGlzdGVuVG9NYXBQb2ludGVyTW92ZSgpO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb1BvaW50ZXJTdG9yZSgpO1xyXG5cclxuICAgIHRoaXMubWFwLnN0YXR1cyRcclxuICAgICAgLnBpcGUoZmlyc3QoKHN0YXR1cykgPT4gc3RhdHVzID09PSBTdWJqZWN0U3RhdHVzLkRvbmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlID0gbmV3IEZlYXR1cmVTdG9yZTxGZWF0dXJlPihbXSwgeyBtYXA6IHRoaXMubWFwIH0pO1xyXG4gICAgICAgIHRoaXMuaW5pdFN0b3JlKCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIC8vIFRvIGhhbmRsZSBjb250ZXh0IGNoYW5nZSB3aXRob3V0IHVzaW5nIHRoZSBjb250ZXh0U2VydmljZS5cclxuICAgIHRoaXMubGF5ZXJzJCQgPSB0aGlzLm1hcC5sYXllcnMkLnN1YnNjcmliZSgobGF5ZXJzKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnN0b3JlICYmXHJcbiAgICAgICAgIWxheWVycy5maW5kKChsKSA9PiBsLmlkID09PSAnc2VhcmNoUG9pbnRlclN1bW1hcnlJZCcpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuaW5pdFN0b3JlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgcG9pbnRlciBwb3NpdGlvbiBzdG9yZVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5pdFN0b3JlKCkge1xyXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnN0b3JlO1xyXG5cclxuICAgIGNvbnN0IGxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgICAgaXNJZ29JbnRlcm5hbExheWVyOiB0cnVlLFxyXG4gICAgICBpZDogJ3NlYXJjaFBvaW50ZXJTdW1tYXJ5SWQnLFxyXG4gICAgICB0aXRsZTogJ3NlYXJjaFBvaW50ZXJTdW1tYXJ5JyxcclxuICAgICAgekluZGV4OiA5MDAsXHJcbiAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKCksXHJcbiAgICAgIHNob3dJbkxheWVyTGlzdDogZmFsc2UsXHJcbiAgICAgIGV4cG9ydGFibGU6IGZhbHNlLFxyXG4gICAgICBicm93c2FibGU6IGZhbHNlLFxyXG4gICAgICBzdHlsZTogcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclN0eWxlXHJcbiAgICB9KTtcclxuICAgIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlLCBsYXllcik7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgICF0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgICAuZ2V0RW5hYmxlZFNvdXJjZXMoKVxyXG4gICAgICAgIC5maWx0ZXIoc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSkubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIGxpc3RlbmluZyB0byBwb2ludGVybW92ZSBhbmQgcmV2ZXJzZSBzZWFyY2ggcmVzdWx0cy5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMudW5saXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmVSZXZlcnNlU2VhcmNoKCk7XHJcbiAgICB0aGlzLmxheWVycyQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gcG9pbnRlcm1vdmUgcmVzdWx0IHN0b3JlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc3Vic2NyaWJlVG9Qb2ludGVyU3RvcmUoKSB7XHJcbiAgICB0aGlzLnN0b3JlJCQgPSB0aGlzLnBvaW50ZXJTZWFyY2hTdG9yZS5lbnRpdGllcyQuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzdWx0c1VuZGVyUG9pbnRlclBvc2l0aW9uKSA9PiB7XHJcbiAgICAgICAgdGhpcy5lbnRpdGllc1RvUG9pbnRlck92ZXJsYXkocmVzdWx0c1VuZGVyUG9pbnRlclBvc2l0aW9uKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEJ1aWxkIGFuIG9iamVjdCBiYXNlZCBvbiB0aGUgY2xvc2VzdCBmZWF0dXJlIGJ5IHR5cGUgKGJhc2Ugb24gdHlwZSBhbmQgZGlzdGFuY2UgcHJvcGVydGllcyApXHJcbiAgICogQHBhcmFtIHJlc3VsdHMgU2VhcmNoUmVzdWx0W11cclxuICAgKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgY29tcHV0ZVN1bW1hcnlDbG9zZXN0RmVhdHVyZShyZXN1bHRzOiBTZWFyY2hSZXN1bHRbXSk6IHt9IHtcclxuICAgIGNvbnN0IGNsb3Nlc3RSZXN1bHRCeVR5cGUgPSB7fTtcclxuXHJcbiAgICByZXN1bHRzLm1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUgJiYgcmVzdWx0LmRhdGEucHJvcGVydGllcy5kaXN0YW5jZSA+PSAwKSB7XHJcbiAgICAgICAgaWYgKGNsb3Nlc3RSZXN1bHRCeVR5cGUuaGFzT3duUHJvcGVydHkocmVzdWx0LmRhdGEucHJvcGVydGllcy50eXBlKSkge1xyXG4gICAgICAgICAgY29uc3QgcHJldkRpc3RhbmNlID1cclxuICAgICAgICAgICAgY2xvc2VzdFJlc3VsdEJ5VHlwZVtyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVdLmRpc3RhbmNlO1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UgPCBwcmV2RGlzdGFuY2UpIHtcclxuICAgICAgICAgICAgY29uc3QgdGl0bGUgPSByZXN1bHQubWV0YS5wb2ludGVyU3VtbWFyeVRpdGxlIHx8IHJlc3VsdC5tZXRhLnRpdGxlO1xyXG4gICAgICAgICAgICBjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0gPSB7XHJcbiAgICAgICAgICAgICAgZGlzdGFuY2U6IHJlc3VsdC5kYXRhLnByb3BlcnRpZXMuZGlzdGFuY2UsXHJcbiAgICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgdGl0bGUgPSByZXN1bHQubWV0YS5wb2ludGVyU3VtbWFyeVRpdGxlIHx8IHJlc3VsdC5tZXRhLnRpdGxlO1xyXG4gICAgICAgICAgY2xvc2VzdFJlc3VsdEJ5VHlwZVtyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVdID0ge1xyXG4gICAgICAgICAgICBkaXN0YW5jZTogcmVzdWx0LmRhdGEucHJvcGVydGllcy5kaXN0YW5jZSxcclxuICAgICAgICAgICAgdGl0bGVcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gY2xvc2VzdFJlc3VsdEJ5VHlwZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGNvbnZlcnQgc3RvcmUgZW50aXRpZXMgdG8gYSBwb2ludGVyIHBvc2l0aW9uIG92ZXJsYXkgd2l0aCBsYWJlbCBzdW1tYXJ5IG9uLlxyXG4gICAqIEBwYXJhbSBldmVudCBPTCBtYXAgYnJvd3NlciBwb2ludGVyIGV2ZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBlbnRpdGllc1RvUG9pbnRlck92ZXJsYXkoXHJcbiAgICByZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb246IFNlYXJjaFJlc3VsdFtdXHJcbiAgKSB7XHJcbiAgICBjb25zdCBjbG9zZXN0UmVzdWx0QnlUeXBlID0gdGhpcy5jb21wdXRlU3VtbWFyeUNsb3Nlc3RGZWF0dXJlKFxyXG4gICAgICByZXN1bHRzVW5kZXJQb2ludGVyUG9zaXRpb25cclxuICAgICk7XHJcbiAgICBjb25zdCBzdW1tYXJpemVkQ2xvc2VzdFR5cGUgPSBPYmplY3Qua2V5cyhjbG9zZXN0UmVzdWx0QnlUeXBlKTtcclxuICAgIGNvbnN0IHByb2Nlc3NlZFN1bW1hcml6ZWRDbG9zZXN0VHlwZSA9IFtdO1xyXG4gICAgY29uc3Qgc3VtbWFyeSA9IFtdO1xyXG4gICAgcmVzdWx0c1VuZGVyUG9pbnRlclBvc2l0aW9uLm1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHR5cGVJbmRleCA9IHN1bW1hcml6ZWRDbG9zZXN0VHlwZS5pbmRleE9mKFxyXG4gICAgICAgIHJlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAodHlwZUluZGV4ICE9PSAtMSkge1xyXG4gICAgICAgIHN1bW1hcnkucHVzaChjbG9zZXN0UmVzdWx0QnlUeXBlW3Jlc3VsdC5kYXRhLnByb3BlcnRpZXMudHlwZV0udGl0bGUpO1xyXG4gICAgICAgIHN1bW1hcml6ZWRDbG9zZXN0VHlwZS5zcGxpY2UodHlwZUluZGV4LCAxKTtcclxuICAgICAgICBwcm9jZXNzZWRTdW1tYXJpemVkQ2xvc2VzdFR5cGUucHVzaChyZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHByb2Nlc3NlZFN1bW1hcml6ZWRDbG9zZXN0VHlwZS5pbmRleE9mKFxyXG4gICAgICAgICAgICByZXN1bHQuZGF0YS5wcm9wZXJ0aWVzLnR5cGVcclxuICAgICAgICAgICkgPT09IC0xXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBzdW1tYXJ5LnB1c2gocmVzdWx0Lm1ldGEucG9pbnRlclN1bW1hcnlUaXRsZSB8fCByZXN1bHQubWV0YS50aXRsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzdW1tYXJ5Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmFkZFBvaW50ZXJPdmVybGF5KHN1bW1hcnkuam9pbignXFxuJykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT24gbWFwIHBvaW50ZXJtb3ZlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsaXN0ZW5Ub01hcFBvaW50ZXJNb3ZlKCkge1xyXG4gICAgdGhpcy5wb2ludGVyTW92ZUxpc3RlbmVyID0gdGhpcy5tYXAub2wub24oXHJcbiAgICAgICdwb2ludGVybW92ZScsXHJcbiAgICAgIChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSA9PiB0aGlzLm9uTWFwRXZlbnQoZXZlbnQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5zdWJzY3JpYmUgdG8gcG9pbnRlciBzdG9yZS5cclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICB1bnN1YnNjcmliZVRvUG9pbnRlclN0b3JlKCkge1xyXG4gICAgdGhpcy5zdG9yZSQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVuc3Vic2NyaWJlIHRvIHJldmVyc2Ugc2VhdGNoIHN0b3JlLlxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHVuc3Vic2NyaWJlUmV2ZXJzZVNlYXJjaCgpIHtcclxuICAgIHRoaXMucmV2ZXJzZVNlYXJjaCQkLm1hcCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcclxuICAgIHRoaXMucmV2ZXJzZVNlYXJjaCQkID0gW107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIGxpc3RlbmluZyBmb3IgbWFwIHBvaW50ZXJtb3ZlXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1bmxpc3RlblRvTWFwUG9pbnRlck1vdmUoKSB7XHJcbiAgICB1bkJ5S2V5KHRoaXMucG9pbnRlck1vdmVMaXN0ZW5lcik7XHJcbiAgICB0aGlzLnBvaW50ZXJNb3ZlTGlzdGVuZXIgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyIHJldmVyc2Ugc2VhcmNoIHdoZW4gdGhlIG1vdXNlIGlzIG1vdGlvbmxlc3MgZHVyaW5nIHRoZSBkZWZpbmVkIGRlbGF5IChwb2ludGVyTW92ZURlbGF5KS5cclxuICAgKiBAcGFyYW0gZXZlbnQgT0wgbWFwIGJyb3dzZXIgcG9pbnRlciBldmVudFxyXG4gICAqL1xyXG4gIHByaXZhdGUgb25NYXBFdmVudChldmVudDogTWFwQnJvd3NlclBvaW50ZXJFdmVudDxhbnk+KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50LmRyYWdnaW5nIHx8XHJcbiAgICAgICF0aGlzLmlnb1NlYXJjaFBvaW50ZXJTdW1tYXJ5RW5hYmxlZCB8fFxyXG4gICAgICAhdGhpcy5oYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSB8fFxyXG4gICAgICB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKClcclxuICAgICkge1xyXG4gICAgICB0aGlzLmNsZWFyTGF5ZXIoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgLy8gY2FuY2VsIHRpbWVvdXQgd2hlbiB0aGUgbW91c2UgbW92ZXNcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMubGFzdFRpbWVvdXRSZXF1ZXN0KTtcclxuICAgICAgdGhpcy5jbGVhckxheWVyKCk7XHJcbiAgICAgIHRoaXMudW5zdWJzY3JpYmVSZXZlcnNlU2VhcmNoKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb25MYXQgPSB0cmFuc2Zvcm0oXHJcbiAgICAgIGV2ZW50LmNvb3JkaW5hdGUsXHJcbiAgICAgIHRoaXMubWFwUHJvamVjdGlvbixcclxuICAgICAgJ0VQU0c6NDMyNidcclxuICAgICkgYXMgW251bWJlciwgbnVtYmVyXTtcclxuXHJcbiAgICB0aGlzLmxhc3RUaW1lb3V0UmVxdWVzdCA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uU2VhcmNoQ29vcmRpbmF0ZSgpO1xyXG4gICAgfSwgdGhpcy5pZ29TZWFyY2hQb2ludGVyU3VtbWFyeURlbGF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNvcnQgdGhlIHJlc3VsdHMgYnkgZGlzcGxheSBvcmRlci5cclxuICAgKiBAcGFyYW0gcjEgRmlyc3QgcmVzdWx0XHJcbiAgICogQHBhcmFtIHIyIFNlY29uZCByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIHNvcnRCeU9yZGVyKHIxOiBTZWFyY2hSZXN1bHQsIHIyOiBTZWFyY2hSZXN1bHQpIHtcclxuICAgIHJldHVybiByMS5zb3VyY2UuZGlzcGxheU9yZGVyIC0gcjIuc291cmNlLmRpc3BsYXlPcmRlcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TZWFyY2hDb29yZGluYXRlKCkge1xyXG4gICAgdGhpcy5wb2ludGVyU2VhcmNoU3RvcmUuY2xlYXIoKTtcclxuICAgIGNvbnN0IHJlc3VsdHMgPSB0aGlzLnNlYXJjaFNlcnZpY2UucmV2ZXJzZVNlYXJjaChcclxuICAgICAgdGhpcy5sb25MYXQsXHJcbiAgICAgIHsgcGFyYW1zOiB7IGdlb21ldHJ5OiAnZmFsc2UnLCBpY29uOiAnZmFsc2UnIH0gfSxcclxuICAgICAgdHJ1ZVxyXG4gICAgKTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGkgaW4gcmVzdWx0cykge1xyXG4gICAgICBpZiAocmVzdWx0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZXZlcnNlU2VhcmNoJCQucHVzaChcclxuICAgICAgICAgIHJlc3VsdHNbaV0ucmVxdWVzdC5zdWJzY3JpYmUoKF9yZXN1bHRzOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uU2VhcmNoKHsgcmVzZWFyY2g6IHJlc3VsdHNbaV0sIHJlc3VsdHM6IF9yZXN1bHRzIH0pO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uU2VhcmNoKGV2ZW50OiB7IHJlc2VhcmNoOiBSZXNlYXJjaDsgcmVzdWx0czogU2VhcmNoUmVzdWx0W10gfSkge1xyXG4gICAgY29uc3QgcmVzdWx0cyA9IGV2ZW50LnJlc3VsdHM7XHJcbiAgICBjb25zdCBuZXdSZXN1bHRzID0gdGhpcy5wb2ludGVyU2VhcmNoU3RvcmVcclxuICAgICAgLmFsbCgpXHJcbiAgICAgIC5maWx0ZXIoKHJlc3VsdDogU2VhcmNoUmVzdWx0KSA9PiByZXN1bHQuc291cmNlICE9PSBldmVudC5yZXNlYXJjaC5zb3VyY2UpXHJcbiAgICAgIC5jb25jYXQocmVzdWx0cyk7XHJcbiAgICB0aGlzLnBvaW50ZXJTZWFyY2hTdG9yZS5sb2FkKG5ld1Jlc3VsdHMuc29ydCh0aGlzLnNvcnRCeU9yZGVyKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgYSBmZWF0dXJlIHRvIHRoZSBwb2ludGVyIHN0b3JlXHJcbiAgICogQHBhcmFtIHRleHQgc3RyaW5nXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRQb2ludGVyT3ZlcmxheSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY2xlYXJMYXllcigpO1xyXG5cclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gbmV3IG9sZ2VvbS5Qb2ludChcclxuICAgICAgdHJhbnNmb3JtKHRoaXMubG9uTGF0LCAnRVBTRzo0MzI2JywgdGhpcy5tYXBQcm9qZWN0aW9uKVxyXG4gICAgKTtcclxuICAgIGNvbnN0IGZlYXR1cmUgPSBuZXcgb2xGZWF0dXJlKHsgZ2VvbWV0cnkgfSk7XHJcbiAgICBjb25zdCBnZW9qc29uR2VvbSA9IG5ldyBPbEdlb0pTT04oKS53cml0ZUdlb21ldHJ5T2JqZWN0KGdlb21ldHJ5LCB7XHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb24sXHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLm1hcFByb2plY3Rpb25cclxuICAgIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcclxuXHJcbiAgICBjb25zdCBmOiBGZWF0dXJlID0ge1xyXG4gICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICBnZW9tZXRyeTogZ2VvanNvbkdlb20sXHJcbiAgICAgIHByb2plY3Rpb246IHRoaXMubWFwUHJvamVjdGlvbixcclxuICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIGlkOiB0aGlzLnNlYXJjaFBvaW50ZXJTdW1tYXJ5RmVhdHVyZUlkLFxyXG4gICAgICAgIHBvaW50ZXJTdW1tYXJ5OiB0ZXh0XHJcbiAgICAgIH0sXHJcbiAgICAgIG1ldGE6IHtcclxuICAgICAgICBpZDogdGhpcy5zZWFyY2hQb2ludGVyU3VtbWFyeUZlYXR1cmVJZFxyXG4gICAgICB9LFxyXG4gICAgICBvbDogZmVhdHVyZVxyXG4gICAgfTtcclxuICAgIHRoaXMuc3RvcmUuc2V0TGF5ZXJGZWF0dXJlcyhbZl0sIEZlYXR1cmVNb3Rpb24uTm9uZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB0aGUgcG9pbnRlciBzdG9yZSBmZWF0dXJlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2xlYXJMYXllcigpIHtcclxuICAgIGlmICh0aGlzLnN0b3JlKSB7XHJcbiAgICAgIHRoaXMuc3RvcmUuY2xlYXJMYXllcigpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- import { SearchSource } from './sources/source';
2
1
  import { SearchSourceService } from './search-source.service';
2
+ import { SearchSource } from './sources/source';
3
3
  /**
4
4
  * Search source factory
5
5
  * @ignore
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFaEQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLE9BQXVCO0lBQ2hFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCO0lBQ3hDLE9BQU87UUFDTCxPQUFPLEVBQUUsbUJBQW1CO1FBQzVCLFVBQVUsRUFBRSwwQkFBMEI7UUFDdEMsSUFBSSxFQUFFLENBQUMsWUFBWSxDQUFDO0tBQ3JCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4vc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcblxyXG4vKipcclxuICogU2VhcmNoIHNvdXJjZSBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hTb3VyY2VTZXJ2aWNlRmFjdG9yeShzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSkge1xyXG4gIHJldHVybiBuZXcgU2VhcmNoU291cmNlU2VydmljZShzb3VyY2VzKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgU2VhcmNoU291cmNlIHNlcnZpY2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSgpIHtcclxuICByZXR1cm4ge1xyXG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHVzZUZhY3Rvcnk6IHNlYXJjaFNvdXJjZVNlcnZpY2VGYWN0b3J5LFxyXG4gICAgZGVwczogW1NlYXJjaFNvdXJjZV1cclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -53,4 +53,4 @@ export class SearchSourceService {
53
53
  source.setWorkspaces(workspaces);
54
54
  }
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ1Y7SUFBcEIsWUFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRS9DOzs7T0FHRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLElBQUksQ0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUNqRCxJQUFLLE1BQU0sQ0FBQyxXQUFtQyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQzdELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLE1BQW9CLEVBQUUsT0FBNkI7UUFDckUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLE1BQW9CLEVBQUUsVUFBdUI7UUFDekQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXR0aW5ncyB9IGZyb20gJy4vc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogU2VydmljZSB3aGVyZSBhbGwgYXZhaWxhYmxlIHNlYXJjaCBzb3VyY2VzIGFyZSByZWdpc3RlcmVkLlxuICovXG5leHBvcnQgY2xhc3MgU2VhcmNoU291cmNlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc291cmNlczogU2VhcmNoU291cmNlW10pIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXNcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZXNcbiAgICovXG4gIGdldFNvdXJjZXMoKTogU2VhcmNoU291cmNlW10ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGVuYWJsZWQgc2VhcmNoIHNvdXJjZXNcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZXNcbiAgICovXG4gIGdldEVuYWJsZWRTb3VyY2VzKCk6IFNlYXJjaFNvdXJjZVtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTb3VyY2VzKCkuZmlsdGVyKFxuICAgICAgKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCA9PT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIHNlYXJjaCBzb3VyY2VzIG9mIGdpdmVuIHR5cGVcbiAgICogQHBhcmFtIHR5cGUgU2VhcmNoIHR5cGVcbiAgICogQHRvZG8gSXQgd291bGQgYmUgYmV0dGVyIHRvIHRyYWNrIHRoZSBlbmFibGVkIHNlYXJjaCBzb3VyY2VzXG4gICAqICB3aXRob3V0IHVwZGF0aW5nIHRoZWlyICdlbmFibGVkJyBwcm9wZXJ0eS5cbiAgICovXG4gIGVuYWJsZVNvdXJjZXNCeVR5cGUodHlwZTogc3RyaW5nKSB7XG4gICAgdGhpcy5nZXRTb3VyY2VzKCkuZm9yRWFjaCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcbiAgICAgIGlmICgoc291cmNlLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBTZWFyY2hTb3VyY2UpLnR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgc291cmNlLmVuYWJsZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc291cmNlLmVuYWJsZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgUGFyYW0gZnJvbSB0aGUgc2VsZWN0ZWQgc2V0dGluZ3NcbiAgICogQHBhcmFtIHNvdXJjZSBzZWFyY2gtc291cmNlXG4gICAqIEBwYXJhbSBzZXR0aW5nIHNldHRpbmdzXG4gICAqL1xuICBzZXRQYXJhbUZyb21TZXR0aW5nKHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBQYXJhbSBmcm9tIHRoZSBzZWxlY3RlZCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gc291cmNlIHNlYXJjaC1zb3VyY2VcbiAgICogQHBhcmFtIHNldHRpbmcgc2V0dGluZ3NcbiAgICovXG4gIHNldFdvcmtzcGFjZXMoc291cmNlOiBTZWFyY2hTb3VyY2UsIHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XG4gICAgc291cmNlLnNldFdvcmtzcGFjZXMod29ya3NwYWNlcyk7XG4gIH1cbn1cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gtc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQ1Y7SUFBcEIsWUFBb0IsT0FBdUI7UUFBdkIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFBRyxDQUFDO0lBRS9DOzs7T0FHRztJQUNILFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FDN0IsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLElBQUksQ0FDbEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUNqRCxJQUFLLE1BQU0sQ0FBQyxXQUFtQyxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQzdELE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLE1BQW9CLEVBQUUsT0FBNkI7UUFDckUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLE1BQW9CLEVBQUUsVUFBdUI7UUFDekQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXb3Jrc3BhY2UgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNldHRpbmdzIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBTZXJ2aWNlIHdoZXJlIGFsbCBhdmFpbGFibGUgc2VhcmNoIHNvdXJjZXMgYXJlIHJlZ2lzdGVyZWQuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgU2VhcmNoU291cmNlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSkge31cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGF2YWlsYWJsZSBzZWFyY2ggc291cmNlc1xyXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2VzXHJcbiAgICovXHJcbiAgZ2V0U291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGVuYWJsZWQgc2VhcmNoIHNvdXJjZXNcclxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlc1xyXG4gICAqL1xyXG4gIGdldEVuYWJsZWRTb3VyY2VzKCk6IFNlYXJjaFNvdXJjZVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldFNvdXJjZXMoKS5maWx0ZXIoXHJcbiAgICAgIChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4gc291cmNlLmVuYWJsZWQgPT09IHRydWVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbmFibGUgc2VhcmNoIHNvdXJjZXMgb2YgZ2l2ZW4gdHlwZVxyXG4gICAqIEBwYXJhbSB0eXBlIFNlYXJjaCB0eXBlXHJcbiAgICogQHRvZG8gSXQgd291bGQgYmUgYmV0dGVyIHRvIHRyYWNrIHRoZSBlbmFibGVkIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogIHdpdGhvdXQgdXBkYXRpbmcgdGhlaXIgJ2VuYWJsZWQnIHByb3BlcnR5LlxyXG4gICAqL1xyXG4gIGVuYWJsZVNvdXJjZXNCeVR5cGUodHlwZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmdldFNvdXJjZXMoKS5mb3JFYWNoKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4ge1xyXG4gICAgICBpZiAoKHNvdXJjZS5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2VhcmNoU291cmNlKS50eXBlID09PSB0eXBlKSB7XHJcbiAgICAgICAgc291cmNlLmVuYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNvdXJjZS5lbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IFBhcmFtIGZyb20gdGhlIHNlbGVjdGVkIHNldHRpbmdzXHJcbiAgICogQHBhcmFtIHNvdXJjZSBzZWFyY2gtc291cmNlXHJcbiAgICogQHBhcmFtIHNldHRpbmcgc2V0dGluZ3NcclxuICAgKi9cclxuICBzZXRQYXJhbUZyb21TZXR0aW5nKHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgUGFyYW0gZnJvbSB0aGUgc2VsZWN0ZWQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gc291cmNlIHNlYXJjaC1zb3VyY2VcclxuICAgKiBAcGFyYW0gc2V0dGluZyBzZXR0aW5nc1xyXG4gICAqL1xyXG4gIHNldFdvcmtzcGFjZXMoc291cmNlOiBTZWFyY2hTb3VyY2UsIHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XHJcbiAgICBzb3VyY2Uuc2V0V29ya3NwYWNlcyh3b3Jrc3BhY2VzKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3N0eWxlL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcbmltcG9ydCB7IFJldmVyc2VTZWFyY2hPcHRpb25zLCBUZXh0U2VhcmNoT3B0aW9ucyB9IGZyb20gJy4vc291cmNlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZWFyY2gge1xuICByZXF1ZXN0OiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcbiAgcmV2ZXJzZTogYm9vbGVhbjtcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0PFQgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XG4gIGRhdGE6IFQ7XG4gIHNvdXJjZTogU2VhcmNoU291cmNlO1xuICBtZXRhOiB7XG4gICAgZGF0YVR5cGU6IHN0cmluZztcbiAgICBpZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgdGl0bGVIdG1sPzogc3RyaW5nO1xuICAgIHBvaW50ZXJTdW1tYXJ5VGl0bGU/OiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHNjb3JlPzogbnVtYmVyO1xuICAgIG5leHRQYWdlPzogYm9vbGVhbjtcbiAgfTtcbiAgc3R5bGU/OiB7XG4gICAgYmFzZT86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcbiAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XG4gICAgZm9jdXM/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XG4gIH07XG59XG5cbi8qKlxuICogU2VhcmNoIHNvdXJjZXMgdGhhdCBhbGxvdyBzZWFyY2hpbmcgYnkgdGV4dCBpbXBsZW1lbnQgdGhpcyBjbGFzc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2gge1xuICAvKipcbiAgICogU2VhcmNoIGJ5IHRleHRcbiAgICogQHBhcmFtIHRlcm0gVGV4dFxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbDogVGV4dFNlYXJjaE9wdGlvbnNcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvciBzZWFyY2ggcmVzdWx0c1xuICAgKi9cbiAgc2VhcmNoKFxuICAgIHRlcm06IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRbXT47XG59XG5cbi8qKlxuICogU2VhcmNoIHNvdXJjZXMgdGhhdCBhbGxvdyBzZWFyY2hpbmcgYnkgY29vcmRpbmF0ZXMgaW1wbGVtZW50IHRoaXMgY2xhc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXZlcnNlU2VhcmNoIHtcbiAgLyoqXG4gICAqIFNlYXJjaCBieSB0ZXh0XG4gICAqIEBwYXJhbSBsb25MYXQgQ29vcmRpbmF0ZXNcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWw6IFJldmVyc2VTZWFyY2hPcHRpb25zXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb3Igc2VhcmNoIHJlc3VsdHNcbiAgICovXG4gIHJldmVyc2VTZWFyY2goXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcbiAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0PzogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdFtdPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9zdHlsZS9zaGFyZWQvdmVjdG9yL3ZlY3Rvci1zdHlsZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBSZXZlcnNlU2VhcmNoT3B0aW9ucywgVGV4dFNlYXJjaE9wdGlvbnMgfSBmcm9tICcuL3NvdXJjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVzZWFyY2gge1xyXG4gIHJlcXVlc3Q6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0W10+O1xyXG4gIHJldmVyc2U6IGJvb2xlYW47XHJcbiAgc291cmNlOiBTZWFyY2hTb3VyY2U7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUmVzdWx0PFQgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XHJcbiAgZGF0YTogVDtcclxuICBzb3VyY2U6IFNlYXJjaFNvdXJjZTtcclxuICBtZXRhOiB7XHJcbiAgICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICB0aXRsZUh0bWw/OiBzdHJpbmc7XHJcbiAgICBwb2ludGVyU3VtbWFyeVRpdGxlPzogc3RyaW5nO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAgc2NvcmU/OiBudW1iZXI7XHJcbiAgICBuZXh0UGFnZT86IGJvb2xlYW47XHJcbiAgfTtcclxuICBzdHlsZT86IHtcclxuICAgIGJhc2U/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICBzZWxlY3Rpb24/OiBDb21tb25WZWN0b3JTdHlsZU9wdGlvbnM7XHJcbiAgICBmb2N1cz86IENvbW1vblZlY3RvclN0eWxlT3B0aW9ucztcclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogU2VhcmNoIHNvdXJjZXMgdGhhdCBhbGxvdyBzZWFyY2hpbmcgYnkgdGV4dCBpbXBsZW1lbnQgdGhpcyBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0U2VhcmNoIHtcclxuICAvKipcclxuICAgKiBTZWFyY2ggYnkgdGV4dFxyXG4gICAqIEBwYXJhbSB0ZXJtIFRleHRcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbDogVGV4dFNlYXJjaE9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9yIHNlYXJjaCByZXN1bHRzXHJcbiAgICovXHJcbiAgc2VhcmNoKFxyXG4gICAgdGVybTogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgb3B0aW9ucz86IFRleHRTZWFyY2hPcHRpb25zXHJcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRbXT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggc291cmNlcyB0aGF0IGFsbG93IHNlYXJjaGluZyBieSBjb29yZGluYXRlcyBpbXBsZW1lbnQgdGhpcyBjbGFzc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSZXZlcnNlU2VhcmNoIHtcclxuICAvKipcclxuICAgKiBTZWFyY2ggYnkgdGV4dFxyXG4gICAqIEBwYXJhbSBsb25MYXQgQ29vcmRpbmF0ZXNcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbDogUmV2ZXJzZVNlYXJjaE9wdGlvbnNcclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9yIHNlYXJjaCByZXN1bHRzXHJcbiAgICovXHJcbiAgcmV2ZXJzZVNlYXJjaChcclxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcclxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcclxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQ/OiBib29sZWFuXHJcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHRbXT47XHJcbn1cclxuIl19
@@ -1,9 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { StorageService } from '@igo2/core';
2
3
  import { stringToLonLat } from '../../map/shared';
3
4
  import { MapService } from '../../map/shared/map.service';
4
5
  import { SearchSourceService } from './search-source.service';
5
- import { sourceCanSearch, sourceCanReverseSearch, sourceCanReverseSearchAsSummary } from './search.utils';
6
- import { StorageService } from '@igo2/core';
6
+ import { sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch } from './search.utils';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "./search-source.service";
9
9
  import * as i2 from "../../map/shared/map.service";
@@ -127,4 +127,4 @@ export class SearchService {
127
127
  providedIn: 'root'
128
128
  }]
129
129
  }], function () { return [{ type: i1.SearchSourceService }, { type: i2.MapService }, { type: i3.StorageService }]; }, null); })();
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU8xRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLHNCQUFzQixFQUN0QiwrQkFBK0IsRUFDaEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7OztBQUU1Qzs7Ozs7O0dBTUc7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQUVkO0lBQ0E7SUFDQTtJQUhWLFlBQ1UsbUJBQXdDLEVBQ3hDLFVBQXNCLEVBQ3RCLGNBQThCO1FBRjlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDckMsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsSUFBWSxFQUFFLFVBQTZCLEVBQUU7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsVUFBVSxJQUFJLFdBQVcsQ0FBQztRQUNqRSxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUMxQyxPQUFP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QUFvQixFQUFFLEVBQUU7WUFDMUMsT0FBTztnQkFDTCxPQUFPLEVBQUcsTUFBK0IsQ0FBQyxhQUFhLENBQ3JELE1BQU0sRUFDTixPQUFPLEVBQ1AseUJBQXlCLENBQzFCO2dCQUNELE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU07YUFDUCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxJQUFZO1FBQzlCLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7SUFDakQsQ0FBQzt1RUF2SVUsYUFBYTtnRUFBYixhQUFhLFdBQWIsYUFBYSxtQkFGWixNQUFNOzt1RkFFUCxhQUFhO2NBSHpCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgc3RyaW5nVG9Mb25MYXQgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcbmltcG9ydCB7IE1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQge1xuICBUZXh0U2VhcmNoT3B0aW9ucyxcbiAgUmV2ZXJzZVNlYXJjaE9wdGlvbnNcbn0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNlYXJjaCwgVGV4dFNlYXJjaCwgUmV2ZXJzZVNlYXJjaCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgc291cmNlQ2FuU2VhcmNoLFxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoLFxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5XG59IGZyb20gJy4vc2VhcmNoLnV0aWxzJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5cbi8qKlxuICogVGhpcyBzZXJ2aWNlIHBlcmZvcm0gcmVzZWFyY2hlcyBpbiBhbGwgdGhlIHNlYXJjaCBzb3VyY2VzIGVuYWJsZWQuXG4gKiBJdCByZXR1cm5zIFJlc2VhcmNoIG9iamVjdHMgd2hvJ3MgJ3JlcXVlc3QnIHByb3BlcnR5IG5lZWRzIHRvIGJlXG4gKiBzdWJzY3JpYmVkIHRvIGluIG9yZGVyIHRvIHRyaWdnZXIgdGhlIHJlc2VhcmNoLiBUaGlzIHNlcnZpY2VzIGhhc1xuICoga2VlcHMgaW50ZXJuYWwgc3RhdGUgb2YgdGhlIHJlc2VhcmNoZXMgaXQgcGVyZm9ybWVkXG4gKiBhbmQgdGhlIHJlc3VsdHMgdGhleSB5aWVsZGVkLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWFwU2VydmljZTogTWFwU2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYSByZXNlYXJjaCBieSB0ZXh0XG4gICAqIEBwYXJhbSB0ZXJtIEFueSB0ZXh0XG4gICAqIEByZXR1cm5zIFJlc2VhcmNoZXNcbiAgICovXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcsIG9wdGlvbnM6IFRleHRTZWFyY2hPcHRpb25zID0ge30pOiBSZXNlYXJjaFtdIHtcbiAgICBpZiAoIXRoaXMudGVybUlzVmFsaWQodGVybSkpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9qID0gdGhpcy5tYXBTZXJ2aWNlLmdldE1hcCgpPy5wcm9qZWN0aW9uIHx8ICdFUFNHOjM4NTcnO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gc3RyaW5nVG9Mb25MYXQodGVybSwgcHJvaiwge1xuICAgICAgZm9yY2VOQTogb3B0aW9ucy5mb3JjZU5BXG4gICAgfSk7XG4gICAgaWYgKHJlc3BvbnNlLmxvbkxhdCkge1xuICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZVNlYXJjaChyZXNwb25zZS5sb25MYXQsIHtcbiAgICAgICAgZGlzdGFuY2U6IHJlc3BvbnNlLnJhZGl1cyxcbiAgICAgICAgY29uZjogcmVzcG9uc2UuY29uZlxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChyZXNwb25zZS5tZXNzYWdlKSB7XG4gICAgICBjb25zb2xlLmxvZyhyZXNwb25zZS5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICBvcHRpb25zLmV4dGVudCA9IHRoaXMubWFwU2VydmljZVxuICAgICAgLmdldE1hcCgpXG4gICAgICA/LnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgnRVBTRzo0MzI2Jyk7XG5cbiAgICBsZXQgc291cmNlcztcblxuICAgIGlmIChvcHRpb25zLmdldEVuYWJsZWRPbmx5IHx8IG9wdGlvbnMuZ2V0RW5hYmxlZE9ubHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZS5nZXRFbmFibGVkU291cmNlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlLmdldFNvdXJjZXMoKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zb3VyY2VJZCkge1xuICAgICAgc291cmNlcyA9IHNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5nZXRJZCgpID09PSBvcHRpb25zLnNvdXJjZUlkKTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VhcmNoVHlwZSkge1xuICAgICAgc291cmNlcyA9IHNvdXJjZXMuZmlsdGVyKFxuICAgICAgICAoc291cmNlKSA9PiBzb3VyY2UuZ2V0VHlwZSgpID09PSBvcHRpb25zLnNlYXJjaFR5cGVcbiAgICAgICk7XG4gICAgfVxuXG4gICAgc291cmNlcyA9IHNvdXJjZXMuZmlsdGVyKHNvdXJjZUNhblNlYXJjaCk7XG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoU291cmNlcyhzb3VyY2VzLCB0ZXJtLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtIGEgcmVzZWFyY2ggYnkgbG9uL2xhdFxuICAgKiBAcGFyYW0gbG9uTGF0IEFueSBsb24vbGF0IGNvb3JkaW5hdGVzXG4gICAqIEByZXR1cm5zIFJlc2VhcmNoZXNcbiAgICovXG4gIHJldmVyc2VTZWFyY2goXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcbiAgICBhc1BvaW50ZXJTdW1tYXJ5OiBib29sZWFuID0gZmFsc2VcbiAgKSB7XG4gICAgY29uc3QgcmV2ZXJzZVNvdXJjZUZvbmN0aW9uID0gYXNQb2ludGVyU3VtbWFyeVxuICAgICAgPyBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5XG4gICAgICA6IHNvdXJjZUNhblJldmVyc2VTZWFyY2g7XG4gICAgY29uc3Qgc291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxuICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcbiAgICAgIC5maWx0ZXIocmV2ZXJzZVNvdXJjZUZvbmN0aW9uKTtcbiAgICBjb25zdCByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0ID1cbiAgICAgICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcbiAgICAgICAgJ3JldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkJ1xuICAgICAgKSBhcyBib29sZWFuKSB8fCBmYWxzZTtcblxuICAgIHJldHVybiB0aGlzLnJldmVyc2VTZWFyY2hTb3VyY2VzKFxuICAgICAgc291cmNlcyxcbiAgICAgIGxvbkxhdCxcbiAgICAgIG9wdGlvbnMgfHwge30sXG4gICAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB0ZXh0IHJlc2VhcmNoIG91dCBvZiBhbGwgZ2l2ZW4gc2VhcmNoIHNvdXJjZXNcbiAgICogQHBhcmFtIHNvdXJjZXMgU2VhcmNoIHNvdXJjZXMgdGhhdCBpbXBsZW1lbnQgVGV4dFNlYXJjaFxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIFJlc2VhcmNoZXNcbiAgICovXG4gIHByaXZhdGUgc2VhcmNoU291cmNlcyhcbiAgICBzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSxcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogUmVzZWFyY2hbXSB7XG4gICAgcmV0dXJuIHNvdXJjZXMubWFwKChzb3VyY2U6IFNlYXJjaFNvdXJjZSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVxdWVzdDogKHNvdXJjZSBhcyBhbnkgYXMgVGV4dFNlYXJjaCkuc2VhcmNoKHRlcm0sIG9wdGlvbnMpLFxuICAgICAgICByZXZlcnNlOiBmYWxzZSxcbiAgICAgICAgc291cmNlXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHJldmVyc2UgcmVzZWFyY2ggb3V0IG9mIGFsbCBnaXZlbiBzZWFyY2ggc291cmNlc1xuICAgKiBAcGFyYW0gc291cmNlcyBTZWFyY2ggc291cmNlcyB0aGF0IGltcGxlbWVudCBSZXZlcnNlU2VhcmNoXG4gICAqIEBwYXJhbSBsb25MYXQgQW55IGxvbi9sYXQgY29vcmRpbmF0ZXNcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBSZXNlYXJjaGVzXG4gICAqL1xuICBwcml2YXRlIHJldmVyc2VTZWFyY2hTb3VyY2VzKFxuICAgIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdLFxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcbiAgICBvcHRpb25zOiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcbiAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0OiBib29sZWFuXG4gICk6IFJlc2VhcmNoW10ge1xuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVlc3Q6IChzb3VyY2UgYXMgYW55IGFzIFJldmVyc2VTZWFyY2gpLnJldmVyc2VTZWFyY2goXG4gICAgICAgICAgbG9uTGF0LFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFxuICAgICAgICApLFxuICAgICAgICByZXZlcnNlOiB0cnVlLFxuICAgICAgICBzb3VyY2VcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXG4gICAqIEBwYXJhbSB0ZXJtIFNlYXJjaCB0ZXJtXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXG4gICAqL1xuICBwcml2YXRlIHRlcm1Jc1ZhbGlkKHRlcm06IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdGVybSA9PT0gJ3N0cmluZycgJiYgdGVybSAhPT0gJyc7XG4gIH1cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NlYXJjaC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsK0JBQStCLEVBQy9CLGVBQWUsRUFDaEIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPeEI7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUFFZDtJQUNBO0lBQ0E7SUFIVixZQUNVLG1CQUF3QyxFQUN4QyxVQUFzQixFQUN0QixjQUE4QjtRQUY5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBQ3JDLENBQUM7SUFFSjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLElBQVksRUFBRSxVQUE2QixFQUFFO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLFVBQVUsSUFBSSxXQUFXLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDMUMsT0FB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TUFBb0IsRUFBRSxFQUFFO1lBQzFDLE9BQU87Z0JBQ0wsT0FBTyxFQUFHLE1BQStCLENBQUMsYUFBYSxDQUNyRCxNQUFNLEVBQ04sT0FBTyxFQUNQLHlCQUF5QixDQUMxQjtnQkFDRCxPQUFPLEVBQUUsSUFBSTtnQkFDYixNQUFNO2FBQ1AsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsSUFBWTtRQUM5QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ2pELENBQUM7dUVBdklVLGFBQWE7Z0VBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTs7dUZBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgc3RyaW5nVG9Mb25MYXQgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkJztcclxuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZWFyY2gtc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNlYXJjaCwgUmV2ZXJzZVNlYXJjaCwgVGV4dFNlYXJjaCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2gsXHJcbiAgc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeSxcclxuICBzb3VyY2VDYW5TZWFyY2hcclxufSBmcm9tICcuL3NlYXJjaC51dGlscyc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9zb3VyY2UnO1xyXG5pbXBvcnQge1xyXG4gIFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gIFRleHRTZWFyY2hPcHRpb25zXHJcbn0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHNlcnZpY2UgcGVyZm9ybSByZXNlYXJjaGVzIGluIGFsbCB0aGUgc2VhcmNoIHNvdXJjZXMgZW5hYmxlZC5cclxuICogSXQgcmV0dXJucyBSZXNlYXJjaCBvYmplY3RzIHdobydzICdyZXF1ZXN0JyBwcm9wZXJ0eSBuZWVkcyB0byBiZVxyXG4gKiBzdWJzY3JpYmVkIHRvIGluIG9yZGVyIHRvIHRyaWdnZXIgdGhlIHJlc2VhcmNoLiBUaGlzIHNlcnZpY2VzIGhhc1xyXG4gKiBrZWVwcyBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgcmVzZWFyY2hlcyBpdCBwZXJmb3JtZWRcclxuICogYW5kIHRoZSByZXN1bHRzIHRoZXkgeWllbGRlZC5cclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYXBTZXJ2aWNlOiBNYXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcmZvcm0gYSByZXNlYXJjaCBieSB0ZXh0XHJcbiAgICogQHBhcmFtIHRlcm0gQW55IHRleHRcclxuICAgKiBAcmV0dXJucyBSZXNlYXJjaGVzXHJcbiAgICovXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZywgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnMgPSB7fSk6IFJlc2VhcmNoW10ge1xyXG4gICAgaWYgKCF0aGlzLnRlcm1Jc1ZhbGlkKHRlcm0pKSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwcm9qID0gdGhpcy5tYXBTZXJ2aWNlLmdldE1hcCgpPy5wcm9qZWN0aW9uIHx8ICdFUFNHOjM4NTcnO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBzdHJpbmdUb0xvbkxhdCh0ZXJtLCBwcm9qLCB7XHJcbiAgICAgIGZvcmNlTkE6IG9wdGlvbnMuZm9yY2VOQVxyXG4gICAgfSk7XHJcbiAgICBpZiAocmVzcG9uc2UubG9uTGF0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJldmVyc2VTZWFyY2gocmVzcG9uc2UubG9uTGF0LCB7XHJcbiAgICAgICAgZGlzdGFuY2U6IHJlc3BvbnNlLnJhZGl1cyxcclxuICAgICAgICBjb25mOiByZXNwb25zZS5jb25mXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChyZXNwb25zZS5tZXNzYWdlKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlLm1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIG9wdGlvbnMuZXh0ZW50ID0gdGhpcy5tYXBTZXJ2aWNlXHJcbiAgICAgIC5nZXRNYXAoKVxyXG4gICAgICA/LnZpZXdDb250cm9sbGVyLmdldEV4dGVudCgnRVBTRzo0MzI2Jyk7XHJcblxyXG4gICAgbGV0IHNvdXJjZXM7XHJcblxyXG4gICAgaWYgKG9wdGlvbnMuZ2V0RW5hYmxlZE9ubHkgfHwgb3B0aW9ucy5nZXRFbmFibGVkT25seSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZ2V0RW5hYmxlZFNvdXJjZXMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2UuZ2V0U291cmNlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zLnNvdXJjZUlkKSB7XHJcbiAgICAgIHNvdXJjZXMgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZ2V0SWQoKSA9PT0gb3B0aW9ucy5zb3VyY2VJZCk7XHJcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuc2VhcmNoVHlwZSkge1xyXG4gICAgICBzb3VyY2VzID0gc291cmNlcy5maWx0ZXIoXHJcbiAgICAgICAgKHNvdXJjZSkgPT4gc291cmNlLmdldFR5cGUoKSA9PT0gb3B0aW9ucy5zZWFyY2hUeXBlXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgc291cmNlcyA9IHNvdXJjZXMuZmlsdGVyKHNvdXJjZUNhblNlYXJjaCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTb3VyY2VzKHNvdXJjZXMsIHRlcm0sIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybSBhIHJlc2VhcmNoIGJ5IGxvbi9sYXRcclxuICAgKiBAcGFyYW0gbG9uTGF0IEFueSBsb24vbGF0IGNvb3JkaW5hdGVzXHJcbiAgICogQHJldHVybnMgUmVzZWFyY2hlc1xyXG4gICAqL1xyXG4gIHJldmVyc2VTZWFyY2goXHJcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXHJcbiAgICBvcHRpb25zPzogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXHJcbiAgICBhc1BvaW50ZXJTdW1tYXJ5OiBib29sZWFuID0gZmFsc2VcclxuICApIHtcclxuICAgIGNvbnN0IHJldmVyc2VTb3VyY2VGb25jdGlvbiA9IGFzUG9pbnRlclN1bW1hcnlcclxuICAgICAgPyBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5XHJcbiAgICAgIDogc291cmNlQ2FuUmV2ZXJzZVNlYXJjaDtcclxuICAgIGNvbnN0IHNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihyZXZlcnNlU291cmNlRm9uY3Rpb24pO1xyXG4gICAgY29uc3QgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdCA9XHJcbiAgICAgICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcclxuICAgICAgICAncmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQnXHJcbiAgICAgICkgYXMgYm9vbGVhbikgfHwgZmFsc2U7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmV2ZXJzZVNlYXJjaFNvdXJjZXMoXHJcbiAgICAgIHNvdXJjZXMsXHJcbiAgICAgIGxvbkxhdCxcclxuICAgICAgb3B0aW9ucyB8fCB7fSxcclxuICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHRleHQgcmVzZWFyY2ggb3V0IG9mIGFsbCBnaXZlbiBzZWFyY2ggc291cmNlc1xyXG4gICAqIEBwYXJhbSBzb3VyY2VzIFNlYXJjaCBzb3VyY2VzIHRoYXQgaW1wbGVtZW50IFRleHRTZWFyY2hcclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgUmVzZWFyY2hlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgc2VhcmNoU291cmNlcyhcclxuICAgIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdLFxyXG4gICAgdGVybTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnNcclxuICApOiBSZXNlYXJjaFtdIHtcclxuICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc291cmNlOiBTZWFyY2hTb3VyY2UpID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByZXF1ZXN0OiAoc291cmNlIGFzIGFueSBhcyBUZXh0U2VhcmNoKS5zZWFyY2godGVybSwgb3B0aW9ucyksXHJcbiAgICAgICAgcmV2ZXJzZTogZmFsc2UsXHJcbiAgICAgICAgc291cmNlXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHJldmVyc2UgcmVzZWFyY2ggb3V0IG9mIGFsbCBnaXZlbiBzZWFyY2ggc291cmNlc1xyXG4gICAqIEBwYXJhbSBzb3VyY2VzIFNlYXJjaCBzb3VyY2VzIHRoYXQgaW1wbGVtZW50IFJldmVyc2VTZWFyY2hcclxuICAgKiBAcGFyYW0gbG9uTGF0IEFueSBsb24vbGF0IGNvb3JkaW5hdGVzXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiBSZXNlYXJjaGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZXZlcnNlU2VhcmNoU291cmNlcyhcclxuICAgIHNvdXJjZXM6IFNlYXJjaFNvdXJjZVtdLFxyXG4gICAgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdLFxyXG4gICAgb3B0aW9uczogUmV2ZXJzZVNlYXJjaE9wdGlvbnMsXHJcbiAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0OiBib29sZWFuXHJcbiAgKTogUmVzZWFyY2hbXSB7XHJcbiAgICByZXR1cm4gc291cmNlcy5tYXAoKHNvdXJjZTogU2VhcmNoU291cmNlKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgcmVxdWVzdDogKHNvdXJjZSBhcyBhbnkgYXMgUmV2ZXJzZVNlYXJjaCkucmV2ZXJzZVNlYXJjaChcclxuICAgICAgICAgIGxvbkxhdCxcclxuICAgICAgICAgIG9wdGlvbnMsXHJcbiAgICAgICAgICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0XHJcbiAgICAgICAgKSxcclxuICAgICAgICByZXZlcnNlOiB0cnVlLFxyXG4gICAgICAgIHNvdXJjZVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZSB0aGF0IGEgc2VhcmNoIHRlcm0gaXMgdmFsaWRcclxuICAgKiBAcGFyYW0gdGVybSBTZWFyY2ggdGVybVxyXG4gICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCB0ZXJtIGlzIHZhbGlkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0ZXJtSXNWYWxpZCh0ZXJtOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdGVybSA9PT0gJ3N0cmluZycgJiYgdGVybSAhPT0gJyc7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -89,4 +89,4 @@ export function computeTermSimilarity(from, to, caseSensitive = false) {
89
89
  }
90
90
  return 100 - Math.floor(delta);
91
91
  }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzdEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQW9CO0lBQ2xELE9BQVEsTUFBYyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBb0I7SUFDekQsT0FBUSxNQUFjLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUFvQjtJQUNsRSxPQUFPLENBQ0osTUFBYyxDQUFDLGFBQWEsS0FBSyxTQUFTO1FBQzNDLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQ3JDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFnQixFQUNoQixNQUFvQjtJQUVwQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDdEIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDcEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMvQixPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsT0FBTztRQUNMLE1BQU07UUFDTixJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRTtZQUNKLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQVk7WUFDN0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksWUFBWTtTQUN4QztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUNqRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoQyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFCLElBQUksSUFBSSxHQUFHLENBQUM7U0FDYjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsSUFBSSxFQUNKLEVBQUUsRUFDRixnQkFBeUIsS0FBSztJQUU5QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFFMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3BCLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNwRDtJQUVELE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2VzL3NvdXJjZSc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICcuL3NlYXJjaC5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIGEgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2hcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2hcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvdXJjZUNhblNlYXJjaChzb3VyY2U6IFNlYXJjaFNvdXJjZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnNlYXJjaCAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaFxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaFxuICovXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuUmV2ZXJzZVNlYXJjaChzb3VyY2U6IFNlYXJjaFNvdXJjZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gKHNvdXJjZSBhcyBhbnkpLnJldmVyc2VTZWFyY2ggIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIGEgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2ggQU5EIGlzIHNob3duIGluIHRoZSBwb2ludGVyIHN1bW1hcnlcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2ggQU5EIGlzIHNob3duIGluIHRoZSBwb2ludGVyIHN1bW1hcnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkoc291cmNlOiBTZWFyY2hTb3VyY2UpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoc291cmNlIGFzIGFueSkucmV2ZXJzZVNlYXJjaCAhPT0gdW5kZWZpbmVkICYmXG4gICAgc291cmNlLnNob3dJblBvaW50ZXJTdW1tYXJ5ID09PSB0cnVlXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgc2VhcmNoIHJlc3VsdCBvdXQgb2YgYW4gRmVhdHVyZS4gVGhpcyBpcyB1c2VkIHRvIGFkYXB0XG4gKiB0aGUgSUdPIHF1ZXJ5IG1vZHVsZSB0byB0aGUgbmV3IEZlYXR1cmUvU2VhcmNoUmVzdWx0IGludGVyZmFjZXNcbiAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmVcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxuICogQHJldHVybnMgU2VhcmNoUmVzdWx0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9TZWFyY2hSZXN1bHQoXG4gIGZlYXR1cmU6IEZlYXR1cmUsXG4gIHNvdXJjZTogU2VhcmNoU291cmNlXG4pOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xuICBpZiAoZmVhdHVyZS5wcm9wZXJ0aWVzKSB7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tZXRyeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLkdFT01FVFJJRTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmJvdW5kZWRCeTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLnNoYXBlO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEU7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5TSEFQRV9TO1xuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEVfTDtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1A7XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy50aGVfZ2VvbTtcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLmdlb207XG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tMzIxOTg7XG4gIH1cbiAgZmVhdHVyZS5zb3VyY2VJZCA9IHNvdXJjZS5nZXRJZCgpO1xuICByZXR1cm4ge1xuICAgIHNvdXJjZSxcbiAgICBkYXRhOiBmZWF0dXJlLFxuICAgIG1ldGE6IHtcbiAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxuICAgICAgaWQ6IGZlYXR1cmUubWV0YS5pZCBhcyBzdHJpbmcsXG4gICAgICB0aXRsZTogZmVhdHVyZS5tZXRhLnRpdGxlLFxuICAgICAgaWNvbjogZmVhdHVyZS5tZXRhLmljb24gfHwgJ21hcC1tYXJrZXInXG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZERpZmYoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpIHtcbiAgbGV0IGRpZmYgPSAnJztcbiAgc3RyMi5zcGxpdCgnJykuZm9yRWFjaCgodmFsLCBpKSA9PiB7XG4gICAgaWYgKHZhbCAhPT0gc3RyMS5jaGFyQXQoaSkpIHtcbiAgICAgIGRpZmYgKz0gdmFsO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBkaWZmO1xufVxuXG4vKipcbiAqIFJldHVybiBhIHNjb3JlIGNhbGN1bGF0aW9uIGJhc2VkIG9uIFwiZnJvbVwiIHRlcm0gd2l0aCB0aGUgXCJ0b1wiIHRlcm0sXG4gKiB3aGVyZSB0aGUgcGVyZmVjdCBtYXRjaCBpcyAxMDAgYW5kIGEgdG90YWwgZGlmZmVyZW5jZSBpcyAwIG9yIHVuZGVyLlxuICogQHBhcmFtIGZyb20gc3RyaW5nXG4gKiBAcGFyYW0gdG8gc3RyaW5nXG4gKiBAcGFyYW0gY2FzZVNlbnNpdGl2ZSBib29sZWFuXG4gKiBAcmV0dXJucyBudW1iZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVUZXJtU2ltaWxhcml0eShcbiAgZnJvbSxcbiAgdG8sXG4gIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZVxuKTogbnVtYmVyIHtcbiAgaWYgKCFmcm9tIHx8ICF0bykge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHRlcm1Gcm9tID0gY2FzZVNlbnNpdGl2ZSA/IGZyb20gOiBmcm9tLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgdGVybVRvID0gY2FzZVNlbnNpdGl2ZSA/IHRvIDogdG8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBmcm9tVG9EaWZmID0gZmluZERpZmYodGVybUZyb20sIHRlcm1Ubyk7XG4gIGNvbnN0IHRvRnJvbURpZmYgPSBmaW5kRGlmZih0ZXJtVG8sIHRlcm1Gcm9tKTtcbiAgY29uc3QgdG90YWxEaWZmID0gZnJvbVRvRGlmZiArIHRvRnJvbURpZmY7XG5cbiAgbGV0IGRlbHRhID0gMDtcbiAgaWYgKHRvdGFsRGlmZi5sZW5ndGgpIHtcbiAgICBkZWx0YSA9ICh0b3RhbERpZmYubGVuZ3RoIC8gdGVybUZyb20ubGVuZ3RoKSAqIDEwMDtcbiAgfVxuXG4gIHJldHVybiAxMDAgLSBNYXRoLmZsb29yKGRlbHRhKTtcbn1cbiJdfQ==
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zZWFyY2gudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSzdEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQW9CO0lBQ2xELE9BQVEsTUFBYyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBb0I7SUFDekQsT0FBUSxNQUFjLENBQUMsYUFBYSxLQUFLLFNBQVMsQ0FBQztBQUNyRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxNQUFvQjtJQUNsRSxPQUFPLENBQ0osTUFBYyxDQUFDLGFBQWEsS0FBSyxTQUFTO1FBQzNDLE1BQU0sQ0FBQyxvQkFBb0IsS0FBSyxJQUFJLENBQ3JDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFnQixFQUNoQixNQUFvQjtJQUVwQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7UUFDdEIsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDcEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNoQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMvQixPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0tBQ3JDO0lBQ0QsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsT0FBTztRQUNMLE1BQU07UUFDTixJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRTtZQUNKLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQVk7WUFDN0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksWUFBWTtTQUN4QztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUNqRCxJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoQyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFCLElBQUksSUFBSSxHQUFHLENBQUM7U0FDYjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsSUFBSSxFQUNKLEVBQUUsRUFDRixnQkFBeUIsS0FBSztJQUU5QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFFMUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1FBQ3BCLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNwRDtJQUVELE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZFQVRVUkUgfSBmcm9tICcuLi8uLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNlYXJjaFJlc3VsdCB9IGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZXMvc291cmNlJztcclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIGEgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFRleHRTZWFyY2hcclxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBUZXh0U2VhcmNoXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChzb3VyY2UgYXMgYW55KS5zZWFyY2ggIT09IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgYSBzZWFyY2ggc291cmNlIGltcGxlbWVudHMgUmV2ZXJzZVNlYXJjaFxyXG4gKiBAcGFyYW0gc291cmNlIFNlYXJjaCBzb3VyY2VcclxuICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2hcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKHNvdXJjZTogU2VhcmNoU291cmNlKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChzb3VyY2UgYXMgYW55KS5yZXZlcnNlU2VhcmNoICE9PSB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIGEgc2VhcmNoIHNvdXJjZSBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2ggQU5EIGlzIHNob3duIGluIHRoZSBwb2ludGVyIHN1bW1hcnlcclxuICogQHBhcmFtIHNvdXJjZSBTZWFyY2ggc291cmNlXHJcbiAqIEByZXR1cm5zIFRydWUgaWYgdGhlIHNlYXJjaCBzb3VyY2UgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoIEFORCBpcyBzaG93biBpbiB0aGUgcG9pbnRlciBzdW1tYXJ5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc291cmNlQ2FuUmV2ZXJzZVNlYXJjaEFzU3VtbWFyeShzb3VyY2U6IFNlYXJjaFNvdXJjZSk6IGJvb2xlYW4ge1xyXG4gIHJldHVybiAoXHJcbiAgICAoc291cmNlIGFzIGFueSkucmV2ZXJzZVNlYXJjaCAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICBzb3VyY2Uuc2hvd0luUG9pbnRlclN1bW1hcnkgPT09IHRydWVcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJuIGEgc2VhcmNoIHJlc3VsdCBvdXQgb2YgYW4gRmVhdHVyZS4gVGhpcyBpcyB1c2VkIHRvIGFkYXB0XHJcbiAqIHRoZSBJR08gcXVlcnkgbW9kdWxlIHRvIHRoZSBuZXcgRmVhdHVyZS9TZWFyY2hSZXN1bHQgaW50ZXJmYWNlc1xyXG4gKiBAcGFyYW0gZmVhdHVyZSBmZWF0dXJlXHJcbiAqIEBwYXJhbSBzb3VyY2UgU2VhcmNoIHNvdXJjZVxyXG4gKiBAcmV0dXJucyBTZWFyY2hSZXN1bHRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlVG9TZWFyY2hSZXN1bHQoXHJcbiAgZmVhdHVyZTogRmVhdHVyZSxcclxuICBzb3VyY2U6IFNlYXJjaFNvdXJjZVxyXG4pOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xyXG4gIGlmIChmZWF0dXJlLnByb3BlcnRpZXMpIHtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuZ2VvbWV0cnk7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLkdFT01FVFJJRTtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuYm91bmRlZEJ5O1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5zaGFwZTtcclxuICAgIGRlbGV0ZSBmZWF0dXJlLnByb3BlcnRpZXMuU0hBUEU7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1M7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX0w7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLlNIQVBFX1A7XHJcbiAgICBkZWxldGUgZmVhdHVyZS5wcm9wZXJ0aWVzLnRoZV9nZW9tO1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tO1xyXG4gICAgZGVsZXRlIGZlYXR1cmUucHJvcGVydGllcy5nZW9tMzIxOTg7XHJcbiAgfVxyXG4gIGZlYXR1cmUuc291cmNlSWQgPSBzb3VyY2UuZ2V0SWQoKTtcclxuICByZXR1cm4ge1xyXG4gICAgc291cmNlLFxyXG4gICAgZGF0YTogZmVhdHVyZSxcclxuICAgIG1ldGE6IHtcclxuICAgICAgZGF0YVR5cGU6IEZFQVRVUkUsXHJcbiAgICAgIGlkOiBmZWF0dXJlLm1ldGEuaWQgYXMgc3RyaW5nLFxyXG4gICAgICB0aXRsZTogZmVhdHVyZS5tZXRhLnRpdGxlLFxyXG4gICAgICBpY29uOiBmZWF0dXJlLm1ldGEuaWNvbiB8fCAnbWFwLW1hcmtlcidcclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmluZERpZmYoc3RyMTogc3RyaW5nLCBzdHIyOiBzdHJpbmcpIHtcclxuICBsZXQgZGlmZiA9ICcnO1xyXG4gIHN0cjIuc3BsaXQoJycpLmZvckVhY2goKHZhbCwgaSkgPT4ge1xyXG4gICAgaWYgKHZhbCAhPT0gc3RyMS5jaGFyQXQoaSkpIHtcclxuICAgICAgZGlmZiArPSB2YWw7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGRpZmY7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gYSBzY29yZSBjYWxjdWxhdGlvbiBiYXNlZCBvbiBcImZyb21cIiB0ZXJtIHdpdGggdGhlIFwidG9cIiB0ZXJtLFxyXG4gKiB3aGVyZSB0aGUgcGVyZmVjdCBtYXRjaCBpcyAxMDAgYW5kIGEgdG90YWwgZGlmZmVyZW5jZSBpcyAwIG9yIHVuZGVyLlxyXG4gKiBAcGFyYW0gZnJvbSBzdHJpbmdcclxuICogQHBhcmFtIHRvIHN0cmluZ1xyXG4gKiBAcGFyYW0gY2FzZVNlbnNpdGl2ZSBib29sZWFuXHJcbiAqIEByZXR1cm5zIG51bWJlclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVUZXJtU2ltaWxhcml0eShcclxuICBmcm9tLFxyXG4gIHRvLFxyXG4gIGNhc2VTZW5zaXRpdmU6IGJvb2xlYW4gPSBmYWxzZVxyXG4pOiBudW1iZXIge1xyXG4gIGlmICghZnJvbSB8fCAhdG8pIHtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuICBjb25zdCB0ZXJtRnJvbSA9IGNhc2VTZW5zaXRpdmUgPyBmcm9tIDogZnJvbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCk7XHJcbiAgY29uc3QgdGVybVRvID0gY2FzZVNlbnNpdGl2ZSA/IHRvIDogdG8udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpO1xyXG4gIGNvbnN0IGZyb21Ub0RpZmYgPSBmaW5kRGlmZih0ZXJtRnJvbSwgdGVybVRvKTtcclxuICBjb25zdCB0b0Zyb21EaWZmID0gZmluZERpZmYodGVybVRvLCB0ZXJtRnJvbSk7XHJcbiAgY29uc3QgdG90YWxEaWZmID0gZnJvbVRvRGlmZiArIHRvRnJvbURpZmY7XHJcblxyXG4gIGxldCBkZWx0YSA9IDA7XHJcbiAgaWYgKHRvdGFsRGlmZi5sZW5ndGgpIHtcclxuICAgIGRlbHRhID0gKHRvdGFsRGlmZi5sZW5ndGggLyB0ZXJtRnJvbS5sZW5ndGgpICogMTAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIDEwMCAtIE1hdGguZmxvb3IoZGVsdGEpO1xyXG59XHJcbiJdfQ==
@@ -1,15 +1,15 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
2
  import { HttpClient, HttpParams } from '@angular/common/http';
3
+ import { Inject, Injectable } from '@angular/core';
4
+ import { LanguageService, StorageService } from '@igo2/core';
5
+ import { customCacheHasher } from '@igo2/utils';
6
+ import olWKT from 'ol/format/WKT';
4
7
  import { Observable, of } from 'rxjs';
5
8
  import { map } from 'rxjs/operators';
6
- import olWKT from 'ol/format/WKT';
9
+ import { Cacheable } from 'ts-cacheable';
7
10
  import { FEATURE } from '../../../feature';
8
- import { SearchSource } from './source';
9
- import { LanguageService, StorageService } from '@igo2/core';
10
11
  import { computeTermSimilarity } from '../search.utils';
11
- import { Cacheable } from 'ts-cacheable';
12
- import { customCacheHasher } from '@igo2/utils';
12
+ import { SearchSource } from './source';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/common/http";
15
15
  import * as i2 from "@igo2/core";
@@ -136,4 +136,4 @@ __decorate([
136
136
  type: Inject,
137
137
  args: ['options']
138
138
  }] }]; }, { getCadastre: [] }); })();
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY2FkYXN0cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sS0FBSyxNQUFNLGVBQWUsQ0FBQztBQUVsQyxPQUFPLEVBQUUsT0FBTyxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBR3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFFaEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsWUFBWTtJQUsxQztJQUNBO0lBTFYsTUFBTSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDdkIsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFFdEIsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUks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QUFjLEVBQUU7U0FDN0QsQ0FBQztJQUNKLENBQUM7OEVBeElVLG9CQUFvQiwyR0FRckIsU0FBUztnRUFSUixvQkFBb0IsV0FBcEIsb0JBQW9COztBQXVEdkI7SUFKUCxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtRQUNqQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CLENBQUM7OzZDQUdRLFVBQVU7b0NBQ2pCLFVBQVU7dURBSVo7dUZBOURVLG9CQUFvQjtjQURoQyxVQUFVOztzQkFTTixNQUFNO3VCQUFDLFNBQVM7d0JBK0NYLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCBvbFdLVCBmcm9tICdvbC9mb3JtYXQvV0tUJztcblxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSwgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XG5cbmltcG9ydCB7IFNlYXJjaFJlc3VsdCwgVGV4dFNlYXJjaCB9IGZyb20gJy4uL3NlYXJjaC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMsIFRleHRTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IGNvbXB1dGVUZXJtU2ltaWxhcml0eSB9IGZyb20gJy4uL3NlYXJjaC51dGlscyc7XG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xuaW1wb3J0IHsgR2VvSnNvbkdlb21ldHJ5VHlwZXMgfSBmcm9tICdnZW9qc29uJztcbmltcG9ydCB7IGN1c3RvbUNhY2hlSGFzaGVyIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG4vKipcbiAqIENhZGFzdHJlIHNlYXJjaCBzb3VyY2VcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhZGFzdHJlU2VhcmNoU291cmNlIGV4dGVuZHMgU2VhcmNoU291cmNlIGltcGxlbWVudHMgVGV4dFNlYXJjaCB7XG4gIHN0YXRpYyBpZCA9ICdjYWRhc3RyZSc7XG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnNcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xuICB9XG5cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ2FkYXN0cmVTZWFyY2hTb3VyY2UuaWQ7XG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIENhZGFzdHJlU2VhcmNoU291cmNlLnR5cGU7XG4gIH1cblxuICAvKlxuICAgKiBTb3VyY2UgOiBodHRwczovL3dpa2kub3BlbnN0cmVldG1hcC5vcmcvd2lraS9LZXk6YW1lbml0eVxuICAgKi9cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ0NhZGFzdHJlIChRdcOpYmVjKScsXG4gICAgICBzZWFyY2hVcmw6ICdodHRwczovL2NhcnRvLmNwdGFxLmdvdXYucWMuY2EvcGhwL2ZpbmRfbG90X3YxLnBocD8nXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggYSBwbGFjZSBieSBuYW1lXG4gICAqIEBwYXJhbSB0ZXJtIFBsYWNlIG5hbWVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZSBvZiA8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W11cbiAgICovXG4gIHNlYXJjaChcbiAgICB0ZXJtOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9ucz86IFRleHRTZWFyY2hPcHRpb25zXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcbiAgICB0ZXJtID0gdGVybS5lbmRzV2l0aCgnLCcpID8gdGVybS5zbGljZSgwLCAtMSkgOiB0ZXJtO1xuICAgIHRlcm0gPSB0ZXJtLnN0YXJ0c1dpdGgoJywnKSA/IHRlcm0uc3Vic3RyKDEpIDogdGVybTtcbiAgICB0ZXJtID0gdGVybS5yZXBsYWNlKC8gL2csICcnKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXModGVybSwgb3B0aW9ucyB8fCB7fSk7XG4gICAgaWYgKCFwYXJhbXMuZ2V0KCdudW1lcm8nKSB8fCAhcGFyYW1zLmdldCgnbnVtZXJvJykubWF0Y2goL15bMC05LF0rJC9nKSkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2FkYXN0cmUodGVybSwgcGFyYW1zKTtcbiAgfVxuXG4gIEBDYWNoZWFibGUoe1xuICAgIG1heENhY2hlQ291bnQ6IDIwLFxuICAgIGNhY2hlSGFzaGVyOiBjdXN0b21DYWNoZUhhc2hlclxuICB9KVxuICBwcml2YXRlIGdldENhZGFzdHJlKFxuICAgIHRlcm06IHN0cmluZyxcbiAgICBwYXJhbXM6IEh0dHBQYXJhbXNcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQodGhpcy5zZWFyY2hVcmwsIHsgcGFyYW1zLCByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxuICAgICAgLnBpcGUobWFwKChyZXNwb25zZTogc3RyaW5nKSA9PiB0aGlzLmV4dHJhY3RSZXN1bHRzKHJlc3BvbnNlLCB0ZXJtKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlU2VhcmNoUmVxdWVzdFBhcmFtcyhcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgb3B0aW9uczogVGV4dFNlYXJjaE9wdGlvbnNcbiAgKTogSHR0cFBhcmFtcyB7XG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgIGZyb21PYmplY3Q6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHtcbiAgICAgICAgICBudW1lcm86IHRlcm0sXG4gICAgICAgICAgZXBzZzogJzQzMjYnXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucGFyYW1zLFxuICAgICAgICBvcHRpb25zLnBhcmFtcyB8fCB7fVxuICAgICAgKVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0UmVzdWx0cyhcbiAgICByZXNwb25zZTogc3RyaW5nLFxuICAgIHRlcm06IHN0cmluZ1xuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgICAuc3BsaXQoJzxiciAvPicpXG4gICAgICAuZmlsdGVyKChsb3Q6IHN0cmluZykgPT4gbG90Lmxlbmd0aCA+IDApXG4gICAgICAubWFwKChsb3Q6IHN0cmluZykgPT4gdGhpcy5kYXRhVG9SZXN1bHQobG90LCB0ZXJtKSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChkYXRhOiBzdHJpbmcsIHRlcm06IHN0cmluZyk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgbG90ID0gZGF0YS5zcGxpdCgnOycpO1xuICAgIGNvbnN0IG51bWVybyA9IGxvdFswXTtcbiAgICBjb25zdCB3a3QgPSBsb3RbN107XG4gICAgY29uc3QgZ2VvbWV0cnkgPSB0aGlzLmNvbXB1dGVHZW9tZXRyeSh3a3QpO1xuXG4gICAgY29uc3QgcHJvcGVydGllcyA9IHtcbiAgICAgIE5vTG90OiBudW1lcm8sXG4gICAgICBSb3V0ZTpcbiAgICAgICAgJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VlUm91dGluZycpICtcbiAgICAgICAgJzwvdT4gPC9zcGFuPidcbiAgICB9O1xuICAgIGNvbnN0IGlkID0gW3RoaXMuZ2V0SWQoKSwgJ2NhZGFzdHJlJywgbnVtZXJvXS5qb2luKCcuJyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQsXG4gICAgICAgIHRpdGxlOiBudW1lcm8sXG4gICAgICAgIHNjb3JlOiBjb21wdXRlVGVybVNpbWlsYXJpdHkodGVybS50cmltKCksIG51bWVybyksXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJ1xuICAgICAgfSxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogRkVBVFVSRSxcbiAgICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICAgIGdlb21ldHJ5LFxuICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdGl0bGU6IG51bWVyb1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29tcHV0ZUdlb21ldHJ5KHdrdDogc3RyaW5nKTogRmVhdHVyZUdlb21ldHJ5IHtcbiAgICBjb25zdCBmZWF0dXJlID0gbmV3IG9sV0tUKCkucmVhZEZlYXR1cmUod2t0LCB7XG4gICAgICBkYXRhUHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogJ0VQU0c6NDMyNidcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSBhcyBHZW9Kc29uR2VvbWV0cnlUeXBlcyxcbiAgICAgIGNvb3JkaW5hdGVzOiAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY2FkYXN0cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sS0FBSyxNQUFNLGVBQWUsQ0FBQztBQUdsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFHeEM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsWUFBWTtJQUsxQztJQUNBO0lBTFYsTUFBTSxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7SUFDdkIsTUFBTSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7SUFFdEIsWUFDVSxJQUFnQixFQUNoQixlQUFnQyxFQUN4QyxjQUE4QixFQUNYLE9BQTRCO1FBRS9DLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMdkIsU0FBSSxHQUFKLElBQUks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QUFjLEVBQUU7U0FDN0QsQ0FBQztJQUNKLENBQUM7OEVBeElVLG9CQUFvQiwyR0FRckIsU0FBUztnRUFSUixvQkFBb0IsV0FBcEIsb0JBQW9COztBQXVEdkI7SUFKUCxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtRQUNqQixXQUFXLEVBQUUsaUJBQWlCO0tBQy9CLENBQUM7OzZDQUdRLFVBQVU7b0NBQ2pCLFVBQVU7dURBSVo7dUZBOURVLG9CQUFvQjtjQURoQyxVQUFVOztzQkFTTixNQUFNO3VCQUFDLFNBQVM7d0JBK0NYLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgY3VzdG9tQ2FjaGVIYXNoZXIgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgb2xXS1QgZnJvbSAnb2wvZm9ybWF0L1dLVCc7XHJcblxyXG5pbXBvcnQgeyBHZW9Kc29uR2VvbWV0cnlUeXBlcyB9IGZyb20gJ2dlb2pzb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcblxyXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcclxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBUZXh0U2VhcmNoIH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBjb21wdXRlVGVybVNpbWlsYXJpdHkgfSBmcm9tICcuLi9zZWFyY2gudXRpbHMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZU9wdGlvbnMsIFRleHRTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogQ2FkYXN0cmUgc2VhcmNoIHNvdXJjZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ2FkYXN0cmVTZWFyY2hTb3VyY2UgZXh0ZW5kcyBTZWFyY2hTb3VyY2UgaW1wbGVtZW50cyBUZXh0U2VhcmNoIHtcclxuICBzdGF0aWMgaWQgPSAnY2FkYXN0cmUnO1xyXG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnb3B0aW9ucycpIG9wdGlvbnM6IFNlYXJjaFNvdXJjZU9wdGlvbnNcclxuICApIHtcclxuICAgIHN1cGVyKG9wdGlvbnMsIHN0b3JhZ2VTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGdldElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ2FkYXN0cmVTZWFyY2hTb3VyY2UuaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ2FkYXN0cmVTZWFyY2hTb3VyY2UudHlwZTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogU291cmNlIDogaHR0cHM6Ly93aWtpLm9wZW5zdHJlZXRtYXAub3JnL3dpa2kvS2V5OmFtZW5pdHlcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0aXRsZTogJ0NhZGFzdHJlIChRdcOpYmVjKScsXHJcbiAgICAgIHNlYXJjaFVybDogJ2h0dHBzOi8vY2FydG8uY3B0YXEuZ291di5xYy5jYS9waHAvZmluZF9sb3RfdjEucGhwPydcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggYSBwbGFjZSBieSBuYW1lXHJcbiAgICogQHBhcmFtIHRlcm0gUGxhY2UgbmFtZVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXHJcbiAgICovXHJcbiAgc2VhcmNoKFxyXG4gICAgdGVybTogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICAgb3B0aW9ucz86IFRleHRTZWFyY2hPcHRpb25zXHJcbiAgKTogT2JzZXJ2YWJsZTxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXT4ge1xyXG4gICAgdGVybSA9IHRlcm0uZW5kc1dpdGgoJywnKSA/IHRlcm0uc2xpY2UoMCwgLTEpIDogdGVybTtcclxuICAgIHRlcm0gPSB0ZXJtLnN0YXJ0c1dpdGgoJywnKSA/IHRlcm0uc3Vic3RyKDEpIDogdGVybTtcclxuICAgIHRlcm0gPSB0ZXJtLnJlcGxhY2UoLyAvZywgJycpO1xyXG5cclxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXModGVybSwgb3B0aW9ucyB8fCB7fSk7XHJcbiAgICBpZiAoIXBhcmFtcy5nZXQoJ251bWVybycpIHx8ICFwYXJhbXMuZ2V0KCdudW1lcm8nKS5tYXRjaCgvXlswLTksXSskL2cpKSB7XHJcbiAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDYWRhc3RyZSh0ZXJtLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAyMCxcclxuICAgIGNhY2hlSGFzaGVyOiBjdXN0b21DYWNoZUhhc2hlclxyXG4gIH0pXHJcbiAgcHJpdmF0ZSBnZXRDYWRhc3RyZShcclxuICAgIHRlcm06IHN0cmluZyxcclxuICAgIHBhcmFtczogSHR0cFBhcmFtc1xyXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldCh0aGlzLnNlYXJjaFVybCwgeyBwYXJhbXMsIHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXHJcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2U6IHN0cmluZykgPT4gdGhpcy5leHRyYWN0UmVzdWx0cyhyZXNwb25zZSwgdGVybSkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29tcHV0ZVNlYXJjaFJlcXVlc3RQYXJhbXMoXHJcbiAgICB0ZXJtOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBUZXh0U2VhcmNoT3B0aW9uc1xyXG4gICk6IEh0dHBQYXJhbXMge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcclxuICAgICAgZnJvbU9iamVjdDogT2JqZWN0LmFzc2lnbihcclxuICAgICAgICB7XHJcbiAgICAgICAgICBudW1lcm86IHRlcm0sXHJcbiAgICAgICAgICBlcHNnOiAnNDMyNidcclxuICAgICAgICB9LFxyXG4gICAgICAgIHRoaXMucGFyYW1zLFxyXG4gICAgICAgIG9wdGlvbnMucGFyYW1zIHx8IHt9XHJcbiAgICAgIClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHRyYWN0UmVzdWx0cyhcclxuICAgIHJlc3BvbnNlOiBzdHJpbmcsXHJcbiAgICB0ZXJtOiBzdHJpbmdcclxuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXSB7XHJcbiAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgLnNwbGl0KCc8YnIgLz4nKVxyXG4gICAgICAuZmlsdGVyKChsb3Q6IHN0cmluZykgPT4gbG90Lmxlbmd0aCA+IDApXHJcbiAgICAgIC5tYXAoKGxvdDogc3RyaW5nKSA9PiB0aGlzLmRhdGFUb1Jlc3VsdChsb3QsIHRlcm0pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KGRhdGE6IHN0cmluZywgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcclxuICAgIGNvbnN0IGxvdCA9IGRhdGEuc3BsaXQoJzsnKTtcclxuICAgIGNvbnN0IG51bWVybyA9IGxvdFswXTtcclxuICAgIGNvbnN0IHdrdCA9IGxvdFs3XTtcclxuICAgIGNvbnN0IGdlb21ldHJ5ID0gdGhpcy5jb21wdXRlR2VvbWV0cnkod2t0KTtcclxuXHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge1xyXG4gICAgICBOb0xvdDogbnVtZXJvLFxyXG4gICAgICBSb3V0ZTpcclxuICAgICAgICAnPHNwYW4gY2xhc3M9XCJyb3V0aW5nXCI+IDx1PicgK1xyXG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArXHJcbiAgICAgICAgJzwvdT4gPC9zcGFuPidcclxuICAgIH07XHJcbiAgICBjb25zdCBpZCA9IFt0aGlzLmdldElkKCksICdjYWRhc3RyZScsIG51bWVyb10uam9pbignLicpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHNvdXJjZTogdGhpcyxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIHRpdGxlOiBudW1lcm8sXHJcbiAgICAgICAgc2NvcmU6IGNvbXB1dGVUZXJtU2ltaWxhcml0eSh0ZXJtLnRyaW0oKSwgbnVtZXJvKSxcclxuICAgICAgICBpY29uOiAnbWFwLW1hcmtlcidcclxuICAgICAgfSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICAgICAgcHJvamVjdGlvbjogJ0VQU0c6NDMyNicsXHJcbiAgICAgICAgZ2VvbWV0cnksXHJcbiAgICAgICAgcHJvcGVydGllcyxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZCxcclxuICAgICAgICAgIHRpdGxlOiBudW1lcm9cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVHZW9tZXRyeSh3a3Q6IHN0cmluZyk6IEZlYXR1cmVHZW9tZXRyeSB7XHJcbiAgICBjb25zdCBmZWF0dXJlID0gbmV3IG9sV0tUKCkucmVhZEZlYXR1cmUod2t0LCB7XHJcbiAgICAgIGRhdGFQcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgZmVhdHVyZVByb2plY3Rpb246ICdFUFNHOjQzMjYnXHJcbiAgICB9KTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRUeXBlKCkgYXMgR2VvSnNvbkdlb21ldHJ5VHlwZXMsXHJcbiAgICAgIGNvb3JkaW5hdGVzOiAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpIGFzIGFueSkuZ2V0Q29vcmRpbmF0ZXMoKVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { ConfigService, LanguageService, StorageService } from '@igo2/core';
3
- import { SearchSource } from './source';
4
3
  import { CadastreSearchSource } from './cadastre';
4
+ import { SearchSource } from './source';
5
5
  /**
6
6
  * Cadastre search source factory
7
7
  * @ignore
@@ -20,4 +20,4 @@ export function provideCadastreSearchSource() {
20
20
  deps: [HttpClient, LanguageService, StorageService, ConfigService]
21
21
  };
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2NhZGFzdHJlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWxEOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUI7SUFFckIsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztLQUNuRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgQ2FkYXN0cmVTZWFyY2hTb3VyY2UgfSBmcm9tICcuL2NhZGFzdHJlJztcblxuLyoqXG4gKiBDYWRhc3RyZSBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNhZGFzdHJlU2VhcmNoU291cmNlRmFjdG9yeShcbiAgaHR0cDogSHR0cENsaWVudCxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgY29uZmlnOiBDb25maWdTZXJ2aWNlXG4pIHtcbiAgcmV0dXJuIG5ldyBDYWRhc3RyZVNlYXJjaFNvdXJjZShcbiAgICBodHRwLFxuICAgIGxhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZSxcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7Q2FkYXN0cmVTZWFyY2hTb3VyY2UuaWR9YClcbiAgKTtcbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYSBwcm92aWRlciBmb3IgdGhlIENhZGFzdHJlIHNlYXJjaCBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDYWRhc3RyZVNlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogY2FkYXN0cmVTZWFyY2hTb3VyY2VGYWN0b3J5LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlLCBDb25maWdTZXJ2aWNlXVxuICB9O1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FkYXN0cmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2NhZGFzdHJlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDOzs7R0FHRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUI7SUFFckIsT0FBTyxJQUFJLG9CQUFvQixDQUM3QixJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztLQUNuRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDYWRhc3RyZVNlYXJjaFNvdXJjZSB9IGZyb20gJy4vY2FkYXN0cmUnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcblxyXG4vKipcclxuICogQ2FkYXN0cmUgc2VhcmNoIHNvdXJjZSBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjYWRhc3RyZVNlYXJjaFNvdXJjZUZhY3RvcnkoXHJcbiAgaHR0cDogSHR0cENsaWVudCxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgY29uZmlnOiBDb25maWdTZXJ2aWNlXHJcbikge1xyXG4gIHJldHVybiBuZXcgQ2FkYXN0cmVTZWFyY2hTb3VyY2UoXHJcbiAgICBodHRwLFxyXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgc3RvcmFnZVNlcnZpY2UsXHJcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7Q2FkYXN0cmVTZWFyY2hTb3VyY2UuaWR9YClcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBDYWRhc3RyZSBzZWFyY2ggc291cmNlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNhZGFzdHJlU2VhcmNoU291cmNlKCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICB1c2VGYWN0b3J5OiBjYWRhc3RyZVNlYXJjaFNvdXJjZUZhY3RvcnksXHJcbiAgICBtdWx0aTogdHJ1ZSxcclxuICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlLCBDb25maWdTZXJ2aWNlXVxyXG4gIH07XHJcbn1cclxuIl19
@@ -1,17 +1,17 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Injectable, Inject } from '@angular/core';
3
- import { Observable, BehaviorSubject, of } from 'rxjs';
4
- import * as olproj from 'ol/proj';
5
- import { fromCircle } from 'ol/geom/Polygon';
6
- import OlCircle from 'ol/geom/Circle';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { LanguageService, StorageService } from '@igo2/core';
7
4
  import * as olformat from 'ol/format';
5
+ import OlCircle from 'ol/geom/Circle';
6
+ import { fromCircle } from 'ol/geom/Polygon';
7
+ import * as olproj from 'ol/proj';
8
+ import { BehaviorSubject, Observable, of } from 'rxjs';
9
+ import { Cacheable } from 'ts-cacheable';
8
10
  import { FEATURE } from '../../../feature';
9
- import { SearchSource } from './source';
10
- import { LanguageService, StorageService } from '@igo2/core';
11
- import { GoogleLinks } from '../../../utils/googleLinks';
12
- import { lonLatConversion, roundCoordTo, convertDDToDMS } from '../../../map/shared/map.utils';
11
+ import { convertDDToDMS, lonLatConversion, roundCoordTo } from '../../../map/shared/map.utils';
13
12
  import { OsmLinks } from '../../../utils';
14
- import { Cacheable } from 'ts-cacheable';
13
+ import { GoogleLinks } from '../../../utils/googleLinks';
14
+ import { SearchSource } from './source';
15
15
  import * as i0 from "@angular/core";
16
16
  import * as i1 from "@igo2/core";
17
17
  export class CoordinatesSearchResultFormatter {
@@ -163,4 +163,4 @@ __decorate([
163
163
  type: Inject,
164
164
  args: ['projections']
165
165
  }] }]; }, { reverseSearch: [] }); })();
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY29vcmRpbmF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxRQUFRLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFFdEMsT0FBTyxFQUFFLE9BQU8sRUFBNEIsTUFBTSxrQkFBa0IsQ0FBQztBQUdyRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBR3pDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDdkI7SUFBcEIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RCxZQUFZLENBQUMsTUFBNkI7UUFDeEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzswRkFMVSxnQ0FBZ0M7Z0VBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7O3VGQUFoQyxnQ0FBZ0M7Y0FENUMsVUFBVTs7QUFRWDs7R0FFRztBQUVILE1BQU0sT0FBTyw4QkFDWCxTQUFRLFlBQVk7SUFnQlY7SUFiVixNQUFNLENBQUMsRUFBRSxHQUFHLG9CQUFvQixDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBRWQsV0FBVyxDQUFDO0lBRXBCLE1BQU0sR0FBNEIsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFbEUsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUNxQixPQUE0QixFQUN2QyxlQUFnQyxFQUN4QyxjQUE4QixFQUNQLFdBQXlCO1FBRWhELEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBS3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQzNELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyw4QkFBOEIsQ0FBQyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLE9BQU87WUFDTCxLQUFLLEVBQUUsaUNBQWlDO1lBQ3hDLEtBQUssRUFBRSxDQUFDO1lBQ1IsY0FBYyxFQUFFLEtBQUs7U0FDdEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUlILGFBQWEsQ0FDWCxNQUF3QixFQUN4QixPQUE4QixFQUM5QixnQ0FBMEM7UUFFMUMsT0FBTyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLENBQUM7U0FDckUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FDbEIsSUFBc0IsRUFDdEIsT0FBNkIsRUFDN0IsZ0NBQXlDO1FBRXpDLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQ2xDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUM5RCxFQUFFLENBQ0gsQ0FBQztRQUVGLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxnQ0FBZ0M7WUFDMUQsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLGdDQUFnQztZQUM3RCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDcEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakMsSUFBSSxRQUFRLEdBQW9CO1lBQzlCLElBQUksRUFBRSxPQUFPO1lBQ2IsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQyxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUN0RCxtQ0FBbUMsQ0FDcEMsQ0FBQztZQUNGLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3pDLFlBQVksR0FBRyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQztZQUV0RSxpQkFBaUI7WUFDakIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FDN0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xCLFdBQVcsRUFDWCxXQUFXLENBQ1osQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUQsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sTUFBTSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNuQixNQUFNLENBQUMsYUFBYSxDQUNsQixlQUFlLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FDcEQsQ0FDRixDQUFDO1NBQ0g7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwRCxpQ0FBaUMsQ0FDbEMsQ0FBQztZQUNGLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ25DLFlBQVksSUFBSSxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ3BFLFlBQVksSUFBSSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQztTQUNuRTtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsZ0NBQWdDO1lBQ2hELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BDLGtDQUFrQyxDQUNuQztZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BDLDBDQUEwQyxDQUMzQyxDQUFDO1FBQ04sVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO1FBRTFDLE1BQU0sV0FBVyxHQUFHLENBQUMsZ0NBQWdDO1lBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BDLHFDQUFxQyxDQUN0QztZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQ3BDLDZDQUE2QyxDQUM5QyxDQUFDO1FBQ04sVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO1FBRWhELE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsT0FBTztnQkFDYixVQUFVLEVBQUUsV0FBVztnQkFDdkIsUUFBUTtnQkFDUixNQUFNLEVBQUUsU0FBUztnQkFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRTtvQkFDNUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNoRSxnQkFBZ0IsRUFBRSxXQUFXLENBQUMsdUJBQXVCLENBQ25ELElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7b0JBQ0QsYUFBYSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDbEUsS0FBSyxFQUNILDRCQUE0Qjt3QkFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDO3dCQUM1RCxjQUFjO2lCQUNqQixDQUFDO2dCQUNGLElBQUksRUFBRTtvQkFDSixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUNqRCxLQUFLLEVBQUUsa0JBQWtCO2lCQUMxQjthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNqRCxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixTQUFTLEVBQUUsa0JBQWtCLEdBQUcsWUFBWTtnQkFDNUMsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLEtBQUssRUFBRSxHQUFHLENBQUMscUJBQXFCO2FBQ2pDO1NBQ0YsQ0FBQztJQUNKLENBQUM7d0ZBL0tVLDhCQUE4QixjQWdCL0IsU0FBUyxnRkFHVCxhQUFhO2dFQW5CWiw4QkFBOEIsV0FBOUIsOEJBQThCOztBQXVEekM7SUFIQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsRUFBRTtLQUNsQixDQUFDOzs7b0NBS0MsVUFBVTttRUFJWjt1RkEvRFUsOEJBQThCO2NBRDFDLFVBQVU7O3NCQWlCTixNQUFNO3VCQUFDLFNBQVM7O3NCQUdoQixNQUFNO3VCQUFDLGFBQWE7d0JBb0N2QixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBvbHByb2ogZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgeyBmcm9tQ2lyY2xlIH0gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCBPbENpcmNsZSBmcm9tICdvbC9nZW9tL0NpcmNsZSc7XG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xuXG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlLCBGZWF0dXJlR2VvbWV0cnkgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlJztcblxuaW1wb3J0IHsgU2VhcmNoUmVzdWx0LCBSZXZlcnNlU2VhcmNoIH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlT3B0aW9ucywgUmV2ZXJzZVNlYXJjaE9wdGlvbnMgfSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xuaW1wb3J0IHsgR29vZ2xlTGlua3MgfSBmcm9tICcuLi8uLi8uLi91dGlscy9nb29nbGVMaW5rcyc7XG5pbXBvcnQgeyBQcm9qZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9wcm9qZWN0aW9uLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgbG9uTGF0Q29udmVyc2lvbixcbiAgcm91bmRDb29yZFRvLFxuICBjb252ZXJ0RERUb0RNU1xufSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XG5pbXBvcnQgeyBPc21MaW5rcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IENhY2hlYWJsZSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UpIHt9XG5cbiAgZm9ybWF0UmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0PEZlYXR1cmU+KTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4vKipcbiAqIENvb3JkaW5hdGVzUmV2ZXJzZSBzZWFyY2ggc291cmNlXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2VcbiAgZXh0ZW5kcyBTZWFyY2hTb3VyY2VcbiAgaW1wbGVtZW50cyBSZXZlcnNlU2VhcmNoXG57XG4gIHN0YXRpYyBpZCA9ICdjb29yZGluYXRlc3JldmVyc2UnO1xuICBzdGF0aWMgdHlwZSA9IEZFQVRVUkU7XG5cbiAgcHJpdmF0ZSBwcm9qZWN0aW9ucztcblxuICB0aXRsZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICAgIHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ3Byb2plY3Rpb25zJykgcHJvamVjdGlvbnM6IFByb2plY3Rpb25bXVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zLCBzdG9yYWdlU2VydmljZSk7XG4gICAgdGhpcy5wcm9qZWN0aW9ucyA9IHByb2plY3Rpb25zO1xuICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmxhbmd1YWdlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy50aXRsZSQubmV4dChcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGhpcy5vcHRpb25zLnRpdGxlKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZDtcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlLnR5cGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdE9wdGlvbnMoKTogU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMubmFtZScsXG4gICAgICBvcmRlcjogMSxcbiAgICAgIHNob3dJblNldHRpbmdzOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGEgbG9jYXRpb24gYnkgY29vcmRpbmF0ZXNcbiAgICogQHBhcmFtIGxvbkxhdCBMb2NhdGlvbiBjb29yZGluYXRlc1xuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIG9mIFJldmVyc2VTZWFyY2hPcHRpb25zIChkaXN0YW5jZSwgY29uZiwgem9vbSwgcGFyYW1zKVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIG9mIDxTZWFyY2hSZXN1bHQ8RmVhdHVyZT5bXVxuICAgKi9cbiAgQENhY2hlYWJsZSh7XG4gICAgbWF4Q2FjaGVDb3VudDogMjBcbiAgfSlcbiAgcmV2ZXJzZVNlYXJjaChcbiAgICBsb25MYXQ6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgb3B0aW9ucz86IFJldmVyc2VTZWFyY2hPcHRpb25zLFxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkPzogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdPiB7XG4gICAgcmV0dXJuIG9mKFtcbiAgICAgIHRoaXMuZGF0YVRvUmVzdWx0KGxvbkxhdCwgb3B0aW9ucywgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpXG4gICAgXSk7XG4gIH1cblxuICBwcml2YXRlIGRhdGFUb1Jlc3VsdChcbiAgICBkYXRhOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIG9wdGlvbnM6IFJldmVyc2VTZWFyY2hPcHRpb25zLFxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuXG4gICk6IFNlYXJjaFJlc3VsdDxGZWF0dXJlPiB7XG4gICAgY29uc3QgZGF0YURNUyA9IGNvbnZlcnRERFRvRE1TKGRhdGEpO1xuICAgIGNvbnN0IGNvbnZlcnRlZENvb3JkID0gbG9uTGF0Q29udmVyc2lvbihkYXRhLCB0aGlzLnByb2plY3Rpb25zKTtcbiAgICBjb25zdCBjb29yZHMgPSBjb252ZXJ0ZWRDb29yZC5yZWR1Y2UoXG4gICAgICAob2JqLCBpdGVtKSA9PiAoKG9ialtpdGVtLmFsaWFzXSA9IGl0ZW0uaWdvMkNvb3JkRm9ybWF0KSwgb2JqKSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IHJvdW5kZWRDb29yZFN0cmluZyA9ICFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICAgPyByb3VuZENvb3JkVG8oZGF0YSwgNikuam9pbignLCAnKVxuICAgICAgOiByb3VuZENvb3JkVG8oZGF0YSwgNikucmV2ZXJzZSgpLmpvaW4oJywgJyk7XG5cbiAgICBjb25zdCByb3VuZGVkQ29vcmRTdHJpbmdETVMgPSAhcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcbiAgICAgID8gZGF0YURNUy5qb2luKCcsICcpXG4gICAgICA6IGRhdGFETVMucmV2ZXJzZSgpLmpvaW4oJywgJyk7XG5cbiAgICBsZXQgZ2VvbWV0cnk6IEZlYXR1cmVHZW9tZXRyeSA9IHtcbiAgICAgIHR5cGU6ICdQb2ludCcsXG4gICAgICBjb29yZGluYXRlczogW2RhdGFbMF0sIGRhdGFbMV1dXG4gICAgfTtcblxuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7fTtcbiAgICBsZXQgc3VidGl0bGVIdG1sID0gJyc7XG4gICAgaWYgKG9wdGlvbnMuZGlzdGFuY2UpIHtcbiAgICAgIGNvbnN0IHJhZGl1c0tleSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxuICAgICAgICAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMucmFkaXVzJ1xuICAgICAgKTtcbiAgICAgIHByb3BlcnRpZXNbcmFkaXVzS2V5XSA9IG9wdGlvbnMuZGlzdGFuY2U7XG4gICAgICBzdWJ0aXRsZUh0bWwgPSAnPGJyPjxzbWFsbD5SYXlvbjogJyArIG9wdGlvbnMuZGlzdGFuY2UgKyAnIG08L3NtYWxsPic7XG5cbiAgICAgIC8vIENyZWF0ZSBwb2x5Z29uXG4gICAgICBjb25zdCBjZW50ZXIgPSBvbHByb2oudHJhbnNmb3JtKFxuICAgICAgICBbZGF0YVswXSwgZGF0YVsxXV0sXG4gICAgICAgICdFUFNHOjQzMjYnLFxuICAgICAgICAnRVBTRzozODU3J1xuICAgICAgKTtcbiAgICAgIGNvbnN0IGNpcmNsZUdlb21ldHJ5ID0gbmV3IE9sQ2lyY2xlKGNlbnRlciwgb3B0aW9ucy5kaXN0YW5jZSk7XG4gICAgICBjb25zdCBwb2x5Z29uR2VvbWV0cnkgPSBmcm9tQ2lyY2xlKGNpcmNsZUdlb21ldHJ5KTtcbiAgICAgIGNvbnN0IHdyaXRlciA9IG5ldyBvbGZvcm1hdC5HZW9KU09OKCk7XG4gICAgICBnZW9tZXRyeSA9IEpTT04ucGFyc2UoXG4gICAgICAgIHdyaXRlci53cml0ZUdlb21ldHJ5KFxuICAgICAgICAgIHBvbHlnb25HZW9tZXRyeS50cmFuc2Zvcm0oJ0VQU0c6Mzg1NycsICdFUFNHOjQzMjYnKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNvbmYpIHtcbiAgICAgIGNvbnN0IGNvbmZLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLmNvbmYnXG4gICAgICApO1xuICAgICAgcHJvcGVydGllc1tjb25mS2V5XSA9IG9wdGlvbnMuY29uZjtcbiAgICAgIHN1YnRpdGxlSHRtbCArPSBzdWJ0aXRsZUh0bWwgPT09ICcnID8gJzxicj4nIDogJzxzbWFsbD4gLSA8L3NtYWxsPic7XG4gICAgICBzdWJ0aXRsZUh0bWwgKz0gJzxzbWFsbD5Db25maWFuY2U6ICcgKyBvcHRpb25zLmNvbmYgKyAnJTwvc21hbGw+JztcbiAgICB9XG5cbiAgICBjb25zdCBjb29yZEtleSA9ICFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICAgPyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMuY29vcmQnXG4gICAgICAgIClcbiAgICAgIDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJldmVyc2VkQ29vcmQnXG4gICAgICAgICk7XG4gICAgcHJvcGVydGllc1tjb29yZEtleV0gPSByb3VuZGVkQ29vcmRTdHJpbmc7XG5cbiAgICBjb25zdCBjb29yZEtleURNUyA9ICFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxuICAgICAgPyB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcbiAgICAgICAgICAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMuY29vcmRETVMnXG4gICAgICAgIClcbiAgICAgIDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLnJldmVyc2VkQ29vcmRETVMnXG4gICAgICAgICk7XG4gICAgcHJvcGVydGllc1tjb29yZEtleURNU10gPSByb3VuZGVkQ29vcmRTdHJpbmdETVM7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBGRUFUVVJFLFxuICAgICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgZ2VvbWV0cnksXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkLFxuICAgICAgICBwcm9wZXJ0aWVzOiBPYmplY3QuYXNzaWduKHByb3BlcnRpZXMsIGNvb3Jkcywge1xuICAgICAgICAgIEdvb2dsZU1hcHM6IEdvb2dsZUxpbmtzLmdldEdvb2dsZU1hcHNDb29yZExpbmsoZGF0YVswXSwgZGF0YVsxXSksXG4gICAgICAgICAgR29vZ2xlU3RyZWV0VmlldzogR29vZ2xlTGlua3MuZ2V0R29vZ2xlU3RyZWV0Vmlld0xpbmsoXG4gICAgICAgICAgICBkYXRhWzBdLFxuICAgICAgICAgICAgZGF0YVsxXVxuICAgICAgICAgICksXG4gICAgICAgICAgT3BlblN0cmVldE1hcDogT3NtTGlua3MuZ2V0T3BlblN0cmVldE1hcExpbmsoZGF0YVswXSwgZGF0YVsxXSwgMTQpLFxuICAgICAgICAgIFJvdXRlOlxuICAgICAgICAgICAgJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICtcbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLnNlZVJvdXRpbmcnKSArXG4gICAgICAgICAgICAnPC91PiA8L3NwYW4+J1xuICAgICAgICB9KSxcbiAgICAgICAgbWV0YToge1xuICAgICAgICAgIGlkOiBkYXRhWzBdLnRvU3RyaW5nKCkgKyAnLCcgKyBkYXRhWzFdLnRvU3RyaW5nKCksXG4gICAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbWV0YToge1xuICAgICAgICBkYXRhVHlwZTogRkVBVFVSRSxcbiAgICAgICAgaWQ6IGRhdGFbMF0udG9TdHJpbmcoKSArICcsJyArIGRhdGFbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZyxcbiAgICAgICAgdGl0bGVIdG1sOiByb3VuZGVkQ29vcmRTdHJpbmcgKyBzdWJ0aXRsZUh0bWwsXG4gICAgICAgIGljb246ICdtYXAtbWFya2VyJyxcbiAgICAgICAgc2NvcmU6IDEwMCAvLyBldmVyeSBjb29yZCBleGlzdHNcbiAgICAgIH1cbiAgICB9O1xuICB9XG59XG4iXX0=
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvY29vcmRpbmF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTdELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sUUFBUSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsT0FBTyxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDYixNQUFNLCtCQUErQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQzs7O0FBSXhDLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDdkI7SUFBcEIsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQUcsQ0FBQztJQUV4RCxZQUFZLENBQUMsTUFBNkI7UUFDeEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzsw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QUFNO3VCQUFDLGFBQWE7d0JBb0N2QixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xyXG5pbXBvcnQgT2xDaXJjbGUgZnJvbSAnb2wvZ2VvbS9DaXJjbGUnO1xyXG5pbXBvcnQgeyBmcm9tQ2lyY2xlIH0gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDYWNoZWFibGUgfSBmcm9tICd0cy1jYWNoZWFibGUnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZSwgRmVhdHVyZUdlb21ldHJ5IH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZSc7XHJcbmltcG9ydCB7XHJcbiAgY29udmVydEREVG9ETVMsXHJcbiAgbG9uTGF0Q29udmVyc2lvbixcclxuICByb3VuZENvb3JkVG9cclxufSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IFByb2plY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE9zbUxpbmtzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBHb29nbGVMaW5rcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2dvb2dsZUxpbmtzJztcclxuaW1wb3J0IHsgUmV2ZXJzZVNlYXJjaCwgU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcbmltcG9ydCB7IFJldmVyc2VTZWFyY2hPcHRpb25zLCBTZWFyY2hTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlciB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSkge31cclxuXHJcbiAgZm9ybWF0UmVzdWx0KHJlc3VsdDogU2VhcmNoUmVzdWx0PEZlYXR1cmU+KTogU2VhcmNoUmVzdWx0PEZlYXR1cmU+IHtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbi8qKlxyXG4gKiBDb29yZGluYXRlc1JldmVyc2Ugc2VhcmNoIHNvdXJjZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlXHJcbiAgZXh0ZW5kcyBTZWFyY2hTb3VyY2VcclxuICBpbXBsZW1lbnRzIFJldmVyc2VTZWFyY2hcclxue1xyXG4gIHN0YXRpYyBpZCA9ICdjb29yZGluYXRlc3JldmVyc2UnO1xyXG4gIHN0YXRpYyB0eXBlID0gRkVBVFVSRTtcclxuXHJcbiAgcHJpdmF0ZSBwcm9qZWN0aW9ucztcclxuXHJcbiAgdGl0bGUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcblxyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudGl0bGUkLmdldFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcclxuICAgIEBJbmplY3QoJ3Byb2plY3Rpb25zJykgcHJvamVjdGlvbnM6IFByb2plY3Rpb25bXVxyXG4gICkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgc3RvcmFnZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5wcm9qZWN0aW9ucyA9IHByb2plY3Rpb25zO1xyXG4gICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UubGFuZ3VhZ2UkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMudGl0bGUkLm5leHQoXHJcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGhpcy5vcHRpb25zLnRpdGxlKVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZS5pZDtcclxuICB9XHJcblxyXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UudHlwZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRpdGxlOiAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMubmFtZScsXHJcbiAgICAgIG9yZGVyOiAxLFxyXG4gICAgICBzaG93SW5TZXR0aW5nczogZmFsc2VcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZWFyY2ggYSBsb2NhdGlvbiBieSBjb29yZGluYXRlc1xyXG4gICAqIEBwYXJhbSBsb25MYXQgTG9jYXRpb24gY29vcmRpbmF0ZXNcclxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIG9mIFJldmVyc2VTZWFyY2hPcHRpb25zIChkaXN0YW5jZSwgY29uZiwgem9vbSwgcGFyYW1zKVxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgb2YgPFNlYXJjaFJlc3VsdDxGZWF0dXJlPltdXHJcbiAgICovXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAyMFxyXG4gIH0pXHJcbiAgcmV2ZXJzZVNlYXJjaChcclxuICAgIGxvbkxhdDogW251bWJlciwgbnVtYmVyXSxcclxuICAgIG9wdGlvbnM/OiBSZXZlcnNlU2VhcmNoT3B0aW9ucyxcclxuICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkPzogYm9vbGVhblxyXG4gICk6IE9ic2VydmFibGU8U2VhcmNoUmVzdWx0PEZlYXR1cmU+W10+IHtcclxuICAgIHJldHVybiBvZihbXHJcbiAgICAgIHRoaXMuZGF0YVRvUmVzdWx0KGxvbkxhdCwgb3B0aW9ucywgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQpXHJcbiAgICBdKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0YVRvUmVzdWx0KFxyXG4gICAgZGF0YTogW251bWJlciwgbnVtYmVyXSxcclxuICAgIG9wdGlvbnM6IFJldmVyc2VTZWFyY2hPcHRpb25zLFxyXG4gICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQ6IGJvb2xlYW5cclxuICApOiBTZWFyY2hSZXN1bHQ8RmVhdHVyZT4ge1xyXG4gICAgY29uc3QgZGF0YURNUyA9IGNvbnZlcnRERFRvRE1TKGRhdGEpO1xyXG4gICAgY29uc3QgY29udmVydGVkQ29vcmQgPSBsb25MYXRDb252ZXJzaW9uKGRhdGEsIHRoaXMucHJvamVjdGlvbnMpO1xyXG4gICAgY29uc3QgY29vcmRzID0gY29udmVydGVkQ29vcmQucmVkdWNlKFxyXG4gICAgICAob2JqLCBpdGVtKSA9PiAoKG9ialtpdGVtLmFsaWFzXSA9IGl0ZW0uaWdvMkNvb3JkRm9ybWF0KSwgb2JqKSxcclxuICAgICAge31cclxuICAgICk7XHJcblxyXG4gICAgY29uc3Qgcm91bmRlZENvb3JkU3RyaW5nID0gIXJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXHJcbiAgICAgID8gcm91bmRDb29yZFRvKGRhdGEsIDYpLmpvaW4oJywgJylcclxuICAgICAgOiByb3VuZENvb3JkVG8oZGF0YSwgNikucmV2ZXJzZSgpLmpvaW4oJywgJyk7XHJcblxyXG4gICAgY29uc3Qgcm91bmRlZENvb3JkU3RyaW5nRE1TID0gIXJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXHJcbiAgICAgID8gZGF0YURNUy5qb2luKCcsICcpXHJcbiAgICAgIDogZGF0YURNUy5yZXZlcnNlKCkuam9pbignLCAnKTtcclxuXHJcbiAgICBsZXQgZ2VvbWV0cnk6IEZlYXR1cmVHZW9tZXRyeSA9IHtcclxuICAgICAgdHlwZTogJ1BvaW50JyxcclxuICAgICAgY29vcmRpbmF0ZXM6IFtkYXRhWzBdLCBkYXRhWzFdXVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBsZXQgc3VidGl0bGVIdG1sID0gJyc7XHJcbiAgICBpZiAob3B0aW9ucy5kaXN0YW5jZSkge1xyXG4gICAgICBjb25zdCByYWRpdXNLZXkgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAnaWdvLmdlby5zZWFyY2guY29vcmRpbmF0ZXMucmFkaXVzJ1xyXG4gICAgICApO1xyXG4gICAgICBwcm9wZXJ0aWVzW3JhZGl1c0tleV0gPSBvcHRpb25zLmRpc3RhbmNlO1xyXG4gICAgICBzdWJ0aXRsZUh0bWwgPSAnPGJyPjxzbWFsbD5SYXlvbjogJyArIG9wdGlvbnMuZGlzdGFuY2UgKyAnIG08L3NtYWxsPic7XHJcblxyXG4gICAgICAvLyBDcmVhdGUgcG9seWdvblxyXG4gICAgICBjb25zdCBjZW50ZXIgPSBvbHByb2oudHJhbnNmb3JtKFxyXG4gICAgICAgIFtkYXRhWzBdLCBkYXRhWzFdXSxcclxuICAgICAgICAnRVBTRzo0MzI2JyxcclxuICAgICAgICAnRVBTRzozODU3J1xyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBjaXJjbGVHZW9tZXRyeSA9IG5ldyBPbENpcmNsZShjZW50ZXIsIG9wdGlvbnMuZGlzdGFuY2UpO1xyXG4gICAgICBjb25zdCBwb2x5Z29uR2VvbWV0cnkgPSBmcm9tQ2lyY2xlKGNpcmNsZUdlb21ldHJ5KTtcclxuICAgICAgY29uc3Qgd3JpdGVyID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKTtcclxuICAgICAgZ2VvbWV0cnkgPSBKU09OLnBhcnNlKFxyXG4gICAgICAgIHdyaXRlci53cml0ZUdlb21ldHJ5KFxyXG4gICAgICAgICAgcG9seWdvbkdlb21ldHJ5LnRyYW5zZm9ybSgnRVBTRzozODU3JywgJ0VQU0c6NDMyNicpXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zLmNvbmYpIHtcclxuICAgICAgY29uc3QgY29uZktleSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICdpZ28uZ2VvLnNlYXJjaC5jb29yZGluYXRlcy5jb25mJ1xyXG4gICAgICApO1xyXG4gICAgICBwcm9wZXJ0aWVzW2NvbmZLZXldID0gb3B0aW9ucy5jb25mO1xyXG4gICAgICBzdWJ0aXRsZUh0bWwgKz0gc3VidGl0bGVIdG1sID09PSAnJyA/ICc8YnI+JyA6ICc8c21hbGw+IC0gPC9zbWFsbD4nO1xyXG4gICAgICBzdWJ0aXRsZUh0bWwgKz0gJzxzbWFsbD5Db25maWFuY2U6ICcgKyBvcHRpb25zLmNvbmYgKyAnJTwvc21hbGw+JztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb29yZEtleSA9ICFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxyXG4gICAgICA/IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLmNvb3JkJ1xyXG4gICAgICAgIClcclxuICAgICAgOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5jb29yZGluYXRlcy5yZXZlcnNlZENvb3JkJ1xyXG4gICAgICAgICk7XHJcbiAgICBwcm9wZXJ0aWVzW2Nvb3JkS2V5XSA9IHJvdW5kZWRDb29yZFN0cmluZztcclxuXHJcbiAgICBjb25zdCBjb29yZEtleURNUyA9ICFyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxyXG4gICAgICA/IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLmNvb3JkaW5hdGVzLmNvb3JkRE1TJ1xyXG4gICAgICAgIClcclxuICAgICAgOiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5jb29yZGluYXRlcy5yZXZlcnNlZENvb3JkRE1TJ1xyXG4gICAgICAgICk7XHJcbiAgICBwcm9wZXJ0aWVzW2Nvb3JkS2V5RE1TXSA9IHJvdW5kZWRDb29yZFN0cmluZ0RNUztcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzb3VyY2U6IHRoaXMsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIHByb2plY3Rpb246ICdFUFNHOjQzMjYnLFxyXG4gICAgICAgIGdlb21ldHJ5LFxyXG4gICAgICAgIGV4dGVudDogdW5kZWZpbmVkLFxyXG4gICAgICAgIHByb3BlcnRpZXM6IE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgY29vcmRzLCB7XHJcbiAgICAgICAgICBHb29nbGVNYXBzOiBHb29nbGVMaW5rcy5nZXRHb29nbGVNYXBzQ29vcmRMaW5rKGRhdGFbMF0sIGRhdGFbMV0pLFxyXG4gICAgICAgICAgR29vZ2xlU3RyZWV0VmlldzogR29vZ2xlTGlua3MuZ2V0R29vZ2xlU3RyZWV0Vmlld0xpbmsoXHJcbiAgICAgICAgICAgIGRhdGFbMF0sXHJcbiAgICAgICAgICAgIGRhdGFbMV1cclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBPcGVuU3RyZWV0TWFwOiBPc21MaW5rcy5nZXRPcGVuU3RyZWV0TWFwTGluayhkYXRhWzBdLCBkYXRhWzFdLCAxNCksXHJcbiAgICAgICAgICBSb3V0ZTpcclxuICAgICAgICAgICAgJzxzcGFuIGNsYXNzPVwicm91dGluZ1wiPiA8dT4nICtcclxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uc2VlUm91dGluZycpICtcclxuICAgICAgICAgICAgJzwvdT4gPC9zcGFuPidcclxuICAgICAgICB9KSxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZDogZGF0YVswXS50b1N0cmluZygpICsgJywnICsgZGF0YVsxXS50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZ1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgbWV0YToge1xyXG4gICAgICAgIGRhdGFUeXBlOiBGRUFUVVJFLFxyXG4gICAgICAgIGlkOiBkYXRhWzBdLnRvU3RyaW5nKCkgKyAnLCcgKyBkYXRhWzFdLnRvU3RyaW5nKCksXHJcbiAgICAgICAgdGl0bGU6IHJvdW5kZWRDb29yZFN0cmluZyxcclxuICAgICAgICB0aXRsZUh0bWw6IHJvdW5kZWRDb29yZFN0cmluZyArIHN1YnRpdGxlSHRtbCxcclxuICAgICAgICBpY29uOiAnbWFwLW1hcmtlcicsXHJcbiAgICAgICAgc2NvcmU6IDEwMCAvLyBldmVyeSBjb29yZCBleGlzdHNcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { ConfigService, LanguageService, StorageService } from '@igo2/core';
2
- import { SearchSource } from './source';
3
- import { CoordinatesReverseSearchSource, CoordinatesSearchResultFormatter } from './coordinates';
4
2
  import { ProjectionService } from '../../../map/shared/projection.service';
3
+ import { CoordinatesReverseSearchSource, CoordinatesSearchResultFormatter } from './coordinates';
4
+ import { SearchSource } from './source';
5
5
  /**
6
6
  * Coordinate search result formatter factory
7
7
  * @ignore
@@ -37,4 +37,4 @@ export function provideCoordinatesReverseSearchSource() {
37
37
  deps: [ConfigService, LanguageService, StorageService, ProjectionService]
38
38
  };
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2Nvb3JkaW5hdGVzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLGdDQUFnQyxFQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUUzRTs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOENBQThDLENBQzVELGVBQWdDO0lBRWhDLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsOENBQThDO0lBQzVELE9BQU87UUFDTCxPQUFPLEVBQUUsZ0NBQWdDO1FBQ3pDLFVBQVUsRUFBRSw4Q0FBOEM7UUFDMUQsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO0tBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxNQUFxQixFQUNyQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixrQkFBcUM7SUFFckMsT0FBTyxJQUFJLDhCQUE4QixDQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQiw4QkFBOEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUN0RSxlQUFlLEVBQ2YsY0FBYyxFQUNiLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFrQixJQUFJLEVBQUUsQ0FDeEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQ0FBcUM7SUFDbkQsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztLQUMxRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHtcbiAgQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlLFxuICBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlclxufSBmcm9tICcuL2Nvb3JkaW5hdGVzJztcbmltcG9ydCB7IFByb2plY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQcm9qZWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvcHJvamVjdGlvbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBDb29yZGluYXRlIHNlYXJjaCByZXN1bHQgZm9ybWF0dGVyIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlckZhY3RvcnkoXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXG4pIHtcbiAgcmV0dXJuIG5ldyBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlcihsYW5ndWFnZVNlcnZpY2UpO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgQ29vcmRpbmF0ZXMgc2VhcmNoIHJlc3VsdCBmb3JtYXR0ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEZWZhdWx0Q29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogQ29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIsXG4gICAgdXNlRmFjdG9yeTogZGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyRmFjdG9yeSxcbiAgICBkZXBzOiBbTGFuZ3VhZ2VTZXJ2aWNlXVxuICB9O1xufVxuXG4vKipcbiAqIENvb3JkaW5hdGVzUmV2ZXJzZSBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgX3Byb2plY3Rpb25TZXJ2aWNlOiBQcm9qZWN0aW9uU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlKFxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UuaWR9YCksXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHN0b3JhZ2VTZXJ2aWNlLFxuICAgIChjb25maWcuZ2V0Q29uZmlnKCdwcm9qZWN0aW9ucycpIGFzIFByb2plY3Rpb25bXSkgfHwgW11cbiAgKTtcbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYSBwcm92aWRlciBmb3IgdGhlIENvb3JkaW5hdGUgc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgUHJvamVjdGlvblNlcnZpY2VdXG4gIH07XG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0ZXMucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL2Nvb3JkaW5hdGVzLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUNMLDhCQUE4QixFQUM5QixnQ0FBZ0MsRUFDakMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsOENBQThDLENBQzVELGVBQWdDO0lBRWhDLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMvRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsOENBQThDO0lBQzVELE9BQU87UUFDTCxPQUFPLEVBQUUsZ0NBQWdDO1FBQ3pDLFVBQVUsRUFBRSw4Q0FBOEM7UUFDMUQsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDO0tBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHFDQUFxQyxDQUNuRCxNQUFxQixFQUNyQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixrQkFBcUM7SUFFckMsT0FBTyxJQUFJLDhCQUE4QixDQUN2QyxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQiw4QkFBOEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUN0RSxlQUFlLEVBQ2YsY0FBYyxFQUNiLE1BQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFrQixJQUFJLEVBQUUsQ0FDeEQsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQ0FBcUM7SUFDbkQsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztLQUMxRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IFByb2plY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL3Byb2plY3Rpb24uaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFByb2plY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3NoYXJlZC9wcm9qZWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZSxcclxuICBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlclxyXG59IGZyb20gJy4vY29vcmRpbmF0ZXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTb3VyY2UgfSBmcm9tICcuL3NvdXJjZSc7XHJcblxyXG4vKipcclxuICogQ29vcmRpbmF0ZSBzZWFyY2ggcmVzdWx0IGZvcm1hdHRlciBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0Q29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXJGYWN0b3J5KFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIHJldHVybiBuZXcgQ29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgQ29vcmRpbmF0ZXMgc2VhcmNoIHJlc3VsdCBmb3JtYXR0ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlcixcclxuICAgIHVzZUZhY3Rvcnk6IGRlZmF1bHRDb29yZGluYXRlc1NlYXJjaFJlc3VsdEZvcm1hdHRlckZhY3RvcnksXHJcbiAgICBkZXBzOiBbTGFuZ3VhZ2VTZXJ2aWNlXVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb29yZGluYXRlc1JldmVyc2Ugc2VhcmNoIHNvdXJjZSBmYWN0b3J5XHJcbiAqIEBpZ25vcmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2VGYWN0b3J5KFxyXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgX3Byb2plY3Rpb25TZXJ2aWNlOiBQcm9qZWN0aW9uU2VydmljZVxyXG4pIHtcclxuICByZXR1cm4gbmV3IENvb3JkaW5hdGVzUmV2ZXJzZVNlYXJjaFNvdXJjZShcclxuICAgIGNvbmZpZy5nZXRDb25maWcoYHNlYXJjaFNvdXJjZXMuJHtDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2UuaWR9YCksXHJcbiAgICBsYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBzdG9yYWdlU2VydmljZSxcclxuICAgIChjb25maWcuZ2V0Q29uZmlnKCdwcm9qZWN0aW9ucycpIGFzIFByb2plY3Rpb25bXSkgfHwgW11cclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBDb29yZGluYXRlIHNlYXJjaCBzb3VyY2VcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29vcmRpbmF0ZXNSZXZlcnNlU2VhcmNoU291cmNlKCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICB1c2VGYWN0b3J5OiBDb29yZGluYXRlc1JldmVyc2VTZWFyY2hTb3VyY2VGYWN0b3J5LFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICBkZXBzOiBbQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgUHJvamVjdGlvblNlcnZpY2VdXHJcbiAgfTtcclxufVxyXG4iXX0=