@igo2/geo 16.0.0-rc.0 → 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 (555) 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 +4 -4
  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 +5 -5
  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 +3 -3
  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/data.service.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  31. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  32. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  33. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  38. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  41. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  42. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  44. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  45. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  46. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  47. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  48. package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
  49. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  50. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +4 -4
  51. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  52. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +5 -5
  53. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  54. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  55. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  56. package/esm2022/lib/directions/directions.component.mjs +50 -25
  57. package/esm2022/lib/directions/directions.module.mjs +10 -6
  58. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  60. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  61. package/esm2022/lib/directions/shared/store.mjs +1 -1
  62. package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
  63. package/esm2022/lib/download/download.module.mjs +2 -2
  64. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  65. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +2 -2
  66. package/esm2022/lib/draw/draw/draw-popup.component.mjs +9 -9
  67. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +2 -2
  68. package/esm2022/lib/draw/draw/draw.component.mjs +28 -28
  69. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  70. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  71. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  72. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  73. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  74. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  75. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  76. package/esm2022/lib/environment/index.mjs +2 -0
  77. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +8 -8
  78. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  79. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  80. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +4 -4
  81. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  82. package/esm2022/lib/feature/feature.module.mjs +2 -2
  83. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  84. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  85. package/esm2022/lib/feature/shared/store.mjs +3 -3
  86. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  87. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  88. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  89. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  90. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  91. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  92. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  93. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  94. package/esm2022/lib/filter/filter.module.mjs +21 -21
  95. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
  96. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +5 -5
  97. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +8 -8
  98. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  99. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +5 -5
  100. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +24 -4
  101. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  102. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  103. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +3 -3
  104. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  105. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  106. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  107. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  108. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  109. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +1 -1
  110. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  111. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  112. package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
  113. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  114. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  115. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +14 -14
  116. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  117. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +4 -4
  118. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +3 -3
  119. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +4 -4
  120. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +3 -3
  121. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  122. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +3 -3
  123. package/esm2022/lib/geo.module.mjs +4 -4
  124. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +8 -8
  125. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +2 -2
  126. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  127. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  128. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  129. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  130. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  131. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  132. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  133. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  134. package/esm2022/lib/import-export/export-button/export-button.component.mjs +4 -4
  135. package/esm2022/lib/import-export/import-export/import-export.component.mjs +38 -38
  136. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  137. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  138. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  139. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  140. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  141. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  142. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  143. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  144. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  145. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  146. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  147. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +7 -7
  148. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +4 -4
  149. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  150. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +4 -4
  151. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  152. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +9 -9
  153. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  154. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  155. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +1 -1
  156. package/esm2022/lib/layer/layer.module.mjs +9 -9
  157. package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
  158. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  159. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  160. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  161. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  162. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  163. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  164. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  165. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  166. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  167. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  168. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  169. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  170. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  171. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  172. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +3 -3
  173. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  174. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  175. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  176. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  177. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  178. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  179. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  180. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
  181. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +3 -3
  182. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +8 -10
  183. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  184. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  185. package/esm2022/lib/map/info-section/info-section.component.mjs +2 -2
  186. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  187. package/esm2022/lib/map/map-center/map-center.component.mjs +2 -2
  188. package/esm2022/lib/map/map.module.mjs +14 -14
  189. package/esm2022/lib/map/menu-button/menu-button.component.mjs +9 -20
  190. package/esm2022/lib/map/offline-button/offline-button.component.mjs +2 -2
  191. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +3 -3
  192. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  193. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  194. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  195. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  196. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  197. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +2 -2
  198. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  199. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  200. package/esm2022/lib/map/shared/map.interface.mjs +1 -1
  201. package/esm2022/lib/map/shared/map.mjs +9 -6
  202. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  203. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  204. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  205. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  206. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  207. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  208. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  209. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -4
  210. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +2 -2
  211. package/esm2022/lib/measure/measure.module.mjs +1 -1
  212. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  213. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +3 -3
  214. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +4 -4
  215. package/esm2022/lib/measure/measurer/measurer.component.mjs +11 -11
  216. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  217. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  218. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  219. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  220. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +4 -4
  221. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  222. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  223. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  224. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  225. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  226. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  227. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  228. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  229. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  230. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  231. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  232. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  233. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  234. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  235. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  236. package/esm2022/lib/print/print/print.component.mjs +3 -3
  237. package/esm2022/lib/print/print-form/print-form.component.mjs +4 -4
  238. package/esm2022/lib/print/print.module.mjs +4 -4
  239. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  240. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  241. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  242. package/esm2022/lib/query/query.module.mjs +3 -3
  243. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  244. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  245. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  246. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  247. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  248. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  249. package/esm2022/lib/search/search-bar/search-bar.component.mjs +6 -6
  250. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  251. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  252. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +5 -5
  253. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +15 -15
  254. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  255. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  256. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  257. package/esm2022/lib/search/search-selector/search-selector.component.mjs +4 -4
  258. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  259. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  260. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  261. package/esm2022/lib/search/search.module.mjs +8 -8
  262. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  263. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  264. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  265. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  266. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  267. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  268. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  269. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  270. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  271. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  272. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  273. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  274. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  275. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  276. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  277. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  278. package/esm2022/lib/search/shared/sources/nominatim.mjs +6 -6
  279. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  280. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +1 -1
  281. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  282. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  283. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  284. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  285. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  286. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  287. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  288. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  289. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  290. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  291. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  292. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  293. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  294. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  295. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  296. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  297. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  298. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  299. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  300. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  301. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
  302. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  303. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  304. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  305. package/esm2022/lib/style/style.module.mjs +4 -4
  306. package/esm2022/lib/toast/toast.component.mjs +3 -3
  307. package/esm2022/lib/toast/toast.module.mjs +3 -3
  308. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  309. package/esm2022/lib/utils/id-generator.mjs +2 -2
  310. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  311. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  312. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  313. package/esm2022/lib/wkt/shared/wkt.service.mjs +2 -2
  314. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  315. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +4 -4
  316. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  317. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  318. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  319. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  320. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  321. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  322. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  323. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  324. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  325. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  326. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +3 -3
  327. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  328. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  329. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  330. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  331. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  332. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  333. package/esm2022/public_api.mjs +2 -1
  334. package/fesm2022/igo2-geo.mjs +34336 -34355
  335. package/fesm2022/igo2-geo.mjs.map +1 -1
  336. package/geo-theme.scss +23 -21
  337. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  338. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  339. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  340. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  341. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  342. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  343. package/lib/catalog/catalog.theming.scss +5 -0
  344. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  345. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  346. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  347. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  348. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  349. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  350. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  351. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  352. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  353. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  354. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  355. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  356. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  357. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  358. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  359. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  360. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  361. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  362. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  363. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  364. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  365. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  366. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  367. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  368. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  369. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  370. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  371. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  372. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  373. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  374. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  375. package/lib/directions/directions.component.d.ts +11 -3
  376. package/lib/directions/directions.module.d.ts +5 -4
  377. package/lib/directions/directions.theming.scss +6 -6
  378. package/lib/directions/shared/directions.interface.d.ts +1 -1
  379. package/lib/directions/shared/directions.service.d.ts +5 -5
  380. package/lib/directions/shared/directions.utils.d.ts +3 -3
  381. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  382. package/lib/draw/draw/draw.component.d.ts +12 -12
  383. package/lib/draw/draw.theming.scss +32 -32
  384. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  385. package/lib/draw/shared/draw.interface.d.ts +3 -3
  386. package/lib/draw/shared/draw.utils.d.ts +4 -4
  387. package/lib/environment/environment.interface.d.ts +48 -0
  388. package/lib/environment/index.d.ts +1 -0
  389. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  390. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  391. package/lib/feature/feature-details/feature-details.theming.scss +16 -16
  392. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  393. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  394. package/lib/feature/shared/feature.utils.d.ts +4 -4
  395. package/lib/feature/shared/store.d.ts +1 -1
  396. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  397. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  398. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  399. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  400. package/lib/feature/shared/strategies/search.d.ts +1 -1
  401. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  402. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  403. package/lib/filter/filter.theming.scss +0 -3
  404. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  405. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  406. package/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
  407. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  408. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  409. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  410. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  411. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  412. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  413. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  414. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  415. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  416. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  417. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  418. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  419. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  420. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  421. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  422. package/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
  423. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  424. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  425. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  426. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  427. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  428. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  429. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  430. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  431. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  432. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  433. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  434. package/lib/import-export/shared/export.interface.d.ts +1 -1
  435. package/lib/import-export/shared/export.service.d.ts +2 -2
  436. package/lib/import-export/shared/import.interface.d.ts +1 -0
  437. package/lib/import-export/shared/import.utils.d.ts +3 -3
  438. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  439. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  440. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  441. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  442. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  443. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  444. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  445. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  446. package/lib/layer/layer.theming.scss +0 -7
  447. package/lib/layer/shared/layer.service.d.ts +5 -5
  448. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  449. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  450. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  451. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  452. package/lib/layer/shared/layers/layer.d.ts +6 -6
  453. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  454. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  455. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  456. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  457. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  458. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  459. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  460. package/lib/layer/utils/image-watcher.d.ts +1 -1
  461. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  462. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  463. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  464. package/lib/map/home-extent-button/index.d.ts +1 -0
  465. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  466. package/lib/map/map-browser/map-browser.theming.scss +46 -46
  467. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  468. package/lib/map/menu-button/menu-button.theming.scss +20 -24
  469. package/lib/map/shared/controllers/controller.d.ts +1 -1
  470. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  471. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  472. package/lib/map/shared/controllers/view.d.ts +2 -2
  473. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  474. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  475. package/lib/map/shared/map.abstract.d.ts +5 -5
  476. package/lib/map/shared/map.d.ts +14 -10
  477. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  478. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  479. package/lib/map/utils/layer-watcher.d.ts +2 -2
  480. package/lib/map/zoom-button/zoom-button.theming.scss +32 -32
  481. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  482. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  483. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  484. package/lib/measure/shared/measure.utils.d.ts +5 -5
  485. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  486. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  487. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  488. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  489. package/lib/overlay/shared/overlay.d.ts +1 -1
  490. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  491. package/lib/print/print/print.component.d.ts +1 -1
  492. package/lib/print/print-form/print-form.component.d.ts +2 -2
  493. package/lib/print/shared/print.interface.d.ts +1 -1
  494. package/lib/print/shared/print.service.d.ts +2 -2
  495. package/lib/query/shared/query.directive.d.ts +4 -4
  496. package/lib/query/shared/query.interfaces.d.ts +3 -3
  497. package/lib/query/shared/query.service.d.ts +3 -3
  498. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  499. package/lib/search/search-bar/search-bar.theming.scss +36 -36
  500. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  501. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  502. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  503. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  504. package/lib/search/search-results/search-results.component.d.ts +4 -4
  505. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  506. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  507. package/lib/search/search.theming.scss +5 -5
  508. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  509. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  510. package/lib/search/shared/search.interfaces.d.ts +1 -1
  511. package/lib/search/shared/search.service.d.ts +2 -2
  512. package/lib/search/shared/search.utils.d.ts +1 -1
  513. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  514. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  515. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  516. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  517. package/lib/search/shared/sources/icherche.d.ts +4 -4
  518. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  519. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  520. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  521. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  522. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  523. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  524. package/lib/search/shared/sources/source.d.ts +2 -2
  525. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  526. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  527. package/lib/search/shared/sources/workspace.d.ts +1 -1
  528. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  529. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  530. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  531. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  532. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  533. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  534. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  535. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  536. package/lib/style/style-service/style.service.d.ts +3 -3
  537. package/lib/utils/id-generator.d.ts +2 -2
  538. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  539. package/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  540. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  541. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  542. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  543. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  544. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  545. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  546. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  547. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  548. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  549. package/lib/workspace/workspace.theming.scss +6 -6
  550. package/locale/en.geo.json +11 -4
  551. package/locale/fr.geo.json +11 -4
  552. package/package.json +5 -5
  553. package/public_api.d.ts +1 -0
  554. package/style/style.css +0 -1
  555. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,6 +1,6 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { CommonModule } from '@angular/common';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
5
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
6
6
  import { MatOptionModule } from '@angular/material/core';
@@ -11,8 +11,8 @@ import { MatSelectModule } from '@angular/material/select';
11
11
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
12
12
  import { MatTabsModule } from '@angular/material/tabs';
13
13
  import { MatTooltipModule } from '@angular/material/tooltip';
14
+ import { IgoCustomHtmlModule, IgoDrapDropModule, IgoKeyValueModule, IgoSpinnerModule } from '@igo2/common';
14
15
  import { IgoLanguageModule } from '@igo2/core';
15
- import { IgoKeyValueModule, IgoDrapDropModule, IgoSpinnerModule, IgoCustomHtmlModule } from '@igo2/common';
16
16
  import { ExportButtonComponent } from './export-button/export-button.component';
17
17
  import { ImportExportComponent } from './import-export/import-export.component';
18
18
  import { DropGeoFileDirective } from './shared/drop-geo-file.directive';
@@ -95,4 +95,4 @@ export class IgoImportExportModule {
95
95
  IgoKeyValueModule,
96
96
  IgoDrapDropModule,
97
97
  IgoCustomHtmlModule], exports: [ImportExportComponent, DropGeoFileDirective, ExportButtonComponent] }); })();
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWV4cG9ydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDcEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBOEJ4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEMsQ0FBQztJQUNKLENBQUM7K0VBTFUscUJBQXFCOzREQUFyQixxQkFBcUI7Z0VBMUI5QixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjs7dUZBU1YscUJBQXFCO2NBNUJqQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDO2dCQUM3RSxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO29CQUNyQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtpQkFDdEI7YUFDRjs7d0ZBQ1kscUJBQXFCLG1CQUw5QixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHFCQUFxQixhQXZCckIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixtQkFBbUIsYUFFWCxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIElnb0tleVZhbHVlTW9kdWxlLFxyXG4gIElnb0RyYXBEcm9wTW9kdWxlLFxyXG4gIElnb1NwaW5uZXJNb2R1bGUsXHJcbiAgSWdvQ3VzdG9tSHRtbE1vZHVsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBFeHBvcnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2V4cG9ydC1idXR0b24vZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRDb21wb25lbnQgfSBmcm9tICcuL2ltcG9ydC1leHBvcnQvaW1wb3J0LWV4cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcm9wR2VvRmlsZURpcmVjdGl2ZSB9IGZyb20gJy4vc2hhcmVkL2Ryb3AtZ2VvLWZpbGUuZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlLFxyXG4gICAgSWdvU3Bpbm5lck1vZHVsZSxcclxuICAgIElnb0tleVZhbHVlTW9kdWxlLFxyXG4gICAgSWdvRHJhcERyb3BNb2R1bGUsXHJcbiAgICBJZ29DdXN0b21IdG1sTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbSW1wb3J0RXhwb3J0Q29tcG9uZW50LCBEcm9wR2VvRmlsZURpcmVjdGl2ZSwgRXhwb3J0QnV0dG9uQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEltcG9ydEV4cG9ydENvbXBvbmVudCxcclxuICAgIERyb3BHZW9GaWxlRGlyZWN0aXZlLFxyXG4gICAgRXhwb3J0QnV0dG9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvSW1wb3J0RXhwb3J0TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0ltcG9ydEV4cG9ydE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0ltcG9ydEV4cG9ydE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWV4cG9ydC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L2ltcG9ydC1leHBvcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNqQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBOEJ4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7U0FDaEMsQ0FBQztJQUNKLENBQUM7K0VBTFUscUJBQXFCOzREQUFyQixxQkFBcUI7Z0VBMUI5QixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLGVBQWU7WUFDZixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjs7dUZBU1YscUJBQXFCO2NBNUJqQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsYUFBYTtvQkFDYixlQUFlO29CQUNmLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtvQkFDakIsaUJBQWlCO29CQUNqQixtQkFBbUI7aUJBQ3BCO2dCQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixDQUFDO2dCQUM3RSxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO29CQUNyQixvQkFBb0I7b0JBQ3BCLHFCQUFxQjtpQkFDdEI7YUFDRjs7d0ZBQ1kscUJBQXFCLG1CQUw5QixxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLHFCQUFxQixhQXZCckIsYUFBYTtRQUNiLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixtQkFBbUIsYUFFWCxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSWdvQ3VzdG9tSHRtbE1vZHVsZSxcclxuICBJZ29EcmFwRHJvcE1vZHVsZSxcclxuICBJZ29LZXlWYWx1ZU1vZHVsZSxcclxuICBJZ29TcGlubmVyTW9kdWxlXHJcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0LWJ1dHRvbi9leHBvcnQtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEltcG9ydEV4cG9ydENvbXBvbmVudCB9IGZyb20gJy4vaW1wb3J0LWV4cG9ydC9pbXBvcnQtZXhwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3BHZW9GaWxlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBJZ29TcGlubmVyTW9kdWxlLFxyXG4gICAgSWdvS2V5VmFsdWVNb2R1bGUsXHJcbiAgICBJZ29EcmFwRHJvcE1vZHVsZSxcclxuICAgIElnb0N1c3RvbUh0bWxNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtJbXBvcnRFeHBvcnRDb21wb25lbnQsIERyb3BHZW9GaWxlRGlyZWN0aXZlLCBFeHBvcnRCdXR0b25Db21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgSW1wb3J0RXhwb3J0Q29tcG9uZW50LFxyXG4gICAgRHJvcEdlb0ZpbGVEaXJlY3RpdmUsXHJcbiAgICBFeHBvcnRCdXR0b25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29JbXBvcnRFeHBvcnRNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvSW1wb3J0RXhwb3J0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvSW1wb3J0RXhwb3J0TW9kdWxlXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,14 +1,14 @@
1
- import { Directive, HostListener, EventEmitter, Input } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { MessageService, ConfigService } from '@igo2/core';
1
+ import { Directive, EventEmitter, HostListener, Input } from '@angular/core';
4
2
  import { ConfirmDialogService, DragAndDropDirective } from '@igo2/common';
5
- import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
6
- import { ImportService } from './import.service';
7
- import { handleFileImportSuccess, handleFileImportError } from '../shared/import.utils';
8
- import { StyleService } from '../../style/style-service/style.service';
9
- import { StyleListService } from '../../style/style-list/style-list.service';
3
+ import { ConfigService, MessageService } from '@igo2/core';
4
+ import { BehaviorSubject } from 'rxjs';
10
5
  import { concatMap, first, skipWhile } from 'rxjs/operators';
11
6
  import { LayerService } from '../../layer/shared/layer.service';
7
+ import { MapBrowserComponent } from '../../map/map-browser/map-browser.component';
8
+ import { StyleListService } from '../../style/style-list/style-list.service';
9
+ import { StyleService } from '../../style/style-service/style.service';
10
+ import { handleFileImportError, handleFileImportSuccess } from '../shared/import.utils';
11
+ import { ImportService } from './import.service';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "../../map/map-browser/map-browser.component";
14
14
  import * as i2 from "./import.service";
@@ -125,21 +125,10 @@ export class DropGeoFileDirective extends DragAndDropDirective {
125
125
  }
126
126
  onFileImportSuccess(file, features) {
127
127
  const importExportOptions = this.config.getConfig('importExport');
128
- const importWithStyle = importExportOptions?.importWithStyle ||
129
- this.config.getConfig('importWithStyle');
130
- if (this.config.getConfig('importWithStyle')) {
131
- console.warn(`
132
- The location of this config importWithStyle is deprecated.
133
- Please move this property within importExport configuration.
134
- Ex: importWithStyle: true/false must be transfered to importExport: { importWithStyle: true/false }
135
- Refer to environnement.ts OR config/config.json
136
- This legacy conversion will be deleted in 2024.
137
- `);
138
- }
139
128
  const confirmDialogService = importExportOptions?.allowToStoreLayer
140
129
  ? this.confirmDialogService
141
130
  : undefined;
142
- if (!importWithStyle) {
131
+ if (!importExportOptions?.importWithStyle) {
143
132
  handleFileImportSuccess(file, features, this.map, this.contextUri, this.messageService, this.layerService, confirmDialogService);
144
133
  }
145
134
  else {
@@ -171,4 +160,4 @@ export class DropGeoFileDirective extends DragAndDropDirective {
171
160
  type: HostListener,
172
161
  args: ['drop', ['$event']]
173
162
  }] }); })();
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9kcm9wLWdlby1maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBR1osS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixxQkFBcUIsRUFDdEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFNaEUsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBZ0JsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcEJBLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RCxZQUFZLEdBQXlCLElBQUksWUFBWSxFQUFF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WTttQkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uSW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgSW5wdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nU2VydmljZSwgRHJhZ0FuZERyb3BEaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXJ2aWNlIH0gZnJvbSAnLi9pbXBvcnQuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MsXHJcbiAgaGFuZGxlRmlsZUltcG9ydEVycm9yXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2ltcG9ydC51dGlscyc7XHJcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlTGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1saXN0L3N0eWxlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IGNvbmNhdE1hcCwgZmlyc3QsIHNraXBXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTGF5ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29Ecm9wR2VvRmlsZV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wR2VvRmlsZURpcmVjdGl2ZVxyXG4gIGV4dGVuZHMgRHJhZ0FuZERyb3BEaXJlY3RpdmVcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICBwcm90ZWN0ZWQgZmlsZXNEcm9wcGVkOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcm90ZWN0ZWQgZmlsZXNJbnZhbGlkOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBwcml2YXRlIGVwc2dDb2RlJDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHVuZGVmaW5lZCk7XHJcbiAgcHJpdmF0ZSBlcHNnQ29kZSQkOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG4gIHByaXZhdGUgZmlsZXNEcm9wcGVkJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50Lm1hcDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNvbnRleHRVcmk6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbXBvbmVudDogTWFwQnJvd3NlckNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgaW1wb3J0U2VydmljZTogSW1wb3J0U2VydmljZSxcclxuICAgIHByaXZhdGUgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYXllclNlcnZpY2U6IExheWVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlybURpYWxvZ1NlcnZpY2U6IENvbmZpcm1EaWFsb2dTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZpbGVzRHJvcHBlZCQkID0gdGhpcy5maWxlc0Ryb3BwZWQuc3Vic2NyaWJlKChmaWxlczogRmlsZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub25GaWxlc0Ryb3BwZWQoZmlsZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZmlsZXNEcm9wcGVkJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25EcmFnT3ZlcihldnQpIHtcclxuICAgIHN1cGVyLm9uRHJhZ092ZXIoZXZ0KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdsZWF2ZScsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uRHJhZ0xlYXZlKGV2dCkge1xyXG4gICAgc3VwZXIub25EcmFnTGVhdmUoZXZ0KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkRyb3AoZXZ0KSB7XHJcbiAgICBzdXBlci5vbkRyb3AoZXZ0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GaWxlc0Ryb3BwZWQoZmlsZXM6IEZpbGVbXSkge1xyXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XHJcbiAgICAgIHRoaXMuZGV0ZWN0RVBTRyhmaWxlKTtcclxuICAgICAgdGhpcy5lcHNnQ29kZSQkLnB1c2goXHJcbiAgICAgICAgdGhpcy5lcHNnQ29kZSRcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBza2lwV2hpbGUoKGNvZGUpID0+ICFjb2RlKSxcclxuICAgICAgICAgICAgZmlyc3QoKSxcclxuICAgICAgICAgICAgY29uY2F0TWFwKChlcHNnQ29kZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGVwc2cgPSBlcHNnQ29kZSA9PT0gJ2Vwc2dOb3REZWZpbmVkJyA/IHVuZGVmaW5lZCA6IGVwc2dDb2RlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5pbXBvcnRTZXJ2aWNlLmltcG9ydChmaWxlLCBlcHNnKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChmZWF0dXJlczogRmVhdHVyZVtdKSA9PiB0aGlzLm9uRmlsZUltcG9ydFN1Y2Nlc3MoZmlsZSwgZmVhdHVyZXMpLFxyXG4gICAgICAgICAgICAoZXJyb3I6IEVycm9yKSA9PiB0aGlzLm9uRmlsZUltcG9ydEVycm9yKGZpbGUsIGVycm9yKVxyXG4gICAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXRlY3RFUFNHKGZpbGU6IEZpbGUsIG5iTGluZXM6IG51bWJlciA9IDUwMCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykgJiZcclxuICAgICAgIWZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ21sJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgIGlmIChmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdlb2pzb24nKSkge1xyXG4gICAgICAgIGNvbnN0IGdlb2pzb24gPSBKU09OLnBhcnNlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcclxuICAgICAgICBpZiAoZ2VvanNvbi5jcnM/LnByb3BlcnRpZXM/Lm5hbWUpIHtcclxuICAgICAgICAgIGNvbnN0IGVwc2cgPSBnZW9qc29uLmNycy5wcm9wZXJ0aWVzLm5hbWUubWF0Y2goL0VQU0c6ezEsMn1cXGR7MCw2fS9nbSk7XHJcbiAgICAgICAgICBpZiAoZXBzZyAhPT0gbnVsbCAmJiBlcHNnLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KGVwc2dbMF0ucmVwbGFjZSgvOjovZywgJzonKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoJ2Vwc2dOb3REZWZpbmVkJyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCgnZXBzZ05vdERlZmluZWQnKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nbWwnKSkge1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSByZWFkZXIucmVzdWx0IGFzIHN0cmluZztcclxuICAgICAgICBjb25zdCBsaW5lcyA9ICh0ZXh0IGFzIHN0cmluZykuc3BsaXQoJ1xcbicpO1xyXG4gICAgICAgIGZvciAobGV0IGxpbmUgPSAwOyBsaW5lIDw9IG5iTGluZXM7IGxpbmUrKykge1xyXG4gICAgICAgICAgY29uc3QgZXBzZyA9IGxpbmVzW2xpbmVdLm1hdGNoKC9FUFNHOlxcZHswLDZ9L2dtKTtcclxuICAgICAgICAgIGlmIChlcHNnICE9PSBudWxsICYmIGVwc2cubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoZXBzZ1swXSk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoJ2Vwc2dOb3REZWZpbmVkJyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSwgJ1VURi04Jyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZUltcG9ydFN1Y2Nlc3MoZmlsZTogRmlsZSwgZmVhdHVyZXM6IEZlYXR1cmVbXSkge1xyXG4gICAgY29uc3QgaW1wb3J0RXhwb3J0T3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcclxuICAgICAgJ2ltcG9ydEV4cG9ydCdcclxuICAgICkgYXMgSW1wb3J0RXhwb3J0U2VydmljZU9wdGlvbnM7XHJcbiAgICBjb25zdCBpbXBvcnRXaXRoU3R5bGUgPVxyXG4gICAgICBpbXBvcnRFeHBvcnRPcHRpb25zPy5pbXBvcnRXaXRoU3R5bGUgfHxcclxuICAgICAgdGhpcy5jb25maWcuZ2V0Q29uZmlnKCdpbXBvcnRXaXRoU3R5bGUnKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2ltcG9ydFdpdGhTdHlsZScpKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgXHJcbiAgICAgIFRoZSBsb2NhdGlvbiBvZiB0aGlzIGNvbmZpZyBpbXBvcnRXaXRoU3R5bGUgaXMgZGVwcmVjYXRlZC5cclxuICAgICAgUGxlYXNlIG1vdmUgdGhpcyBwcm9wZXJ0eSB3aXRoaW4gaW1wb3J0RXhwb3J0IGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgIEV4OiBpbXBvcnRXaXRoU3R5bGU6IHRydWUvZmFsc2UgbXVzdCBiZSB0cmFuc2ZlcmVkIHRvIGltcG9ydEV4cG9ydDogeyBpbXBvcnRXaXRoU3R5bGU6IHRydWUvZmFsc2UgfVxyXG4gICAgICBSZWZlciB0byBlbnZpcm9ubmVtZW50LnRzIE9SIGNvbmZpZy9jb25maWcuanNvblxyXG4gICAgICBUaGlzIGxlZ2FjeSBjb252ZXJzaW9uIHdpbGwgYmUgZGVsZXRlZCBpbiAyMDI0LlxyXG4gICAgICBgKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpcm1EaWFsb2dTZXJ2aWNlID0gaW1wb3J0RXhwb3J0T3B0aW9ucz8uYWxsb3dUb1N0b3JlTGF5ZXJcclxuICAgICAgPyB0aGlzLmNvbmZpcm1EaWFsb2dTZXJ2aWNlXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgaWYgKCFpbXBvcnRXaXRoU3R5bGUpIHtcclxuICAgICAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXHJcbiAgICAgICAgZmlsZSxcclxuICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICB0aGlzLm1hcCxcclxuICAgICAgICB0aGlzLmNvbnRleHRVcmksXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmxheWVyU2VydmljZSxcclxuICAgICAgICBjb25maXJtRGlhbG9nU2VydmljZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXHJcbiAgICAgICAgZmlsZSxcclxuICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICB0aGlzLm1hcCxcclxuICAgICAgICB0aGlzLmNvbnRleHRVcmksXHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSxcclxuICAgICAgICB0aGlzLmxheWVyU2VydmljZSxcclxuICAgICAgICBjb25maXJtRGlhbG9nU2VydmljZSxcclxuICAgICAgICB0aGlzLnN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgICAgICAgdGhpcy5zdHlsZVNlcnZpY2VcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GaWxlSW1wb3J0RXJyb3IoZmlsZTogRmlsZSwgZXJyb3I6IEVycm9yKSB7XHJcbiAgICBoYW5kbGVGaWxlSW1wb3J0RXJyb3IoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIGVycm9yLFxyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydC5jbGllbnRTaWRlRmlsZVNpemVNYXhNYicpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9kcm9wLWdlby1maWxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFLakQsTUFBTSxPQUFPLG9CQUNYLFNBQVEsb0JBQW9CO0lBZ0JsQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBcEJBLFlBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RCxZQUFZLEdBQXlCLElBQUksWUFBWSxFQUFF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VUFBVSxFQUNmLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxZQUFZLEVBQ2pCLG9CQUFvQixDQUNyQixDQUFDO1NBQ0g7YUFBTTtZQUNMLHVCQUF1QixDQUNyQixJQUFJLEVBQ0osUUFBUSxFQUNSLElBQUksQ0FBQyxHQUFHLEVBQ1IsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsWUFBWSxFQUNqQixvQkFBb0IsRUFDcEIsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsWUFBWSxDQUNsQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVSxFQUFFLEtBQVk7UUFDaEQscUJBQXFCLENBQ25CLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsc0NBQXNDLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7OEVBaktVLG9CQUFvQjs2REFBcEIsb0JBQW9CO2lIQUFwQixzQkFBa0IsOEZBQWxCLHVCQUFtQixvRkFBbkIsa0JBQWM7Ozt1RkFBZCxvQkFBb0I7Y0FIaEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7bVJBZVUsVUFBVTtrQkFBbEIsS0FBSztZQTBCQyxVQUFVO2tCQURoQixZQUFZO21CQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU03QixXQUFXO2tCQURqQixZQUFZO21CQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU05QixNQUFNO2tCQURaLFlBQVk7bUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtRGlhbG9nU2VydmljZSwgRHJhZ0FuZERyb3BEaXJlY3RpdmUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY29uY2F0TWFwLCBmaXJzdCwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IExheWVyU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWFwQnJvd3NlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21hcC9tYXAtYnJvd3Nlci9tYXAtYnJvd3Nlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IFN0eWxlTGlzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zdHlsZS9zdHlsZS1saXN0L3N0eWxlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgaGFuZGxlRmlsZUltcG9ydEVycm9yLFxyXG4gIGhhbmRsZUZpbGVJbXBvcnRTdWNjZXNzXHJcbn0gZnJvbSAnLi4vc2hhcmVkL2ltcG9ydC51dGlscyc7XHJcbmltcG9ydCB7IEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zIH0gZnJvbSAnLi9pbXBvcnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSW1wb3J0U2VydmljZSB9IGZyb20gJy4vaW1wb3J0LnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWdvRHJvcEdlb0ZpbGVdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcEdlb0ZpbGVEaXJlY3RpdmVcclxuICBleHRlbmRzIERyYWdBbmREcm9wRGlyZWN0aXZlXHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcbiAgcHJvdGVjdGVkIGZpbGVzRHJvcHBlZDogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJvdGVjdGVkIGZpbGVzSW52YWxpZDogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJpdmF0ZSBlcHNnQ29kZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh1bmRlZmluZWQpO1xyXG4gIHByaXZhdGUgZXBzZ0NvZGUkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIGZpbGVzRHJvcHBlZCQkOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudC5tYXA7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBjb250ZXh0VXJpOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnQ6IE1hcEJyb3dzZXJDb21wb25lbnQsXHJcbiAgICBwcml2YXRlIGltcG9ydFNlcnZpY2U6IEltcG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlTGlzdFNlcnZpY2U6IFN0eWxlTGlzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0eWxlU2VydmljZTogU3R5bGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgbGF5ZXJTZXJ2aWNlOiBMYXllclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpcm1EaWFsb2dTZXJ2aWNlOiBDb25maXJtRGlhbG9nU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5maWxlc0Ryb3BwZWQkJCA9IHRoaXMuZmlsZXNEcm9wcGVkLnN1YnNjcmliZSgoZmlsZXM6IEZpbGVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9uRmlsZXNEcm9wcGVkKGZpbGVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZpbGVzRHJvcHBlZCQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIG9uRHJhZ092ZXIoZXZ0KSB7XHJcbiAgICBzdXBlci5vbkRyYWdPdmVyKGV2dCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG4gIHB1YmxpYyBvbkRyYWdMZWF2ZShldnQpIHtcclxuICAgIHN1cGVyLm9uRHJhZ0xlYXZlKGV2dCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcclxuICBwdWJsaWMgb25Ecm9wKGV2dCkge1xyXG4gICAgc3VwZXIub25Ecm9wKGV2dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRmlsZXNEcm9wcGVkKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICB0aGlzLmRldGVjdEVQU0coZmlsZSk7XHJcbiAgICAgIHRoaXMuZXBzZ0NvZGUkJC5wdXNoKFxyXG4gICAgICAgIHRoaXMuZXBzZ0NvZGUkXHJcbiAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgc2tpcFdoaWxlKChjb2RlKSA9PiAhY29kZSksXHJcbiAgICAgICAgICAgIGZpcnN0KCksXHJcbiAgICAgICAgICAgIGNvbmNhdE1hcCgoZXBzZ0NvZGUpID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBlcHNnID0gZXBzZ0NvZGUgPT09ICdlcHNnTm90RGVmaW5lZCcgPyB1bmRlZmluZWQgOiBlcHNnQ29kZTtcclxuICAgICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0U2VydmljZS5pbXBvcnQoZmlsZSwgZXBzZyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4gdGhpcy5vbkZpbGVJbXBvcnRTdWNjZXNzKGZpbGUsIGZlYXR1cmVzKSxcclxuICAgICAgICAgICAgKGVycm9yOiBFcnJvcikgPT4gdGhpcy5vbkZpbGVJbXBvcnRFcnJvcihmaWxlLCBlcnJvcilcclxuICAgICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGV0ZWN0RVBTRyhmaWxlOiBGaWxlLCBuYkxpbmVzOiBudW1iZXIgPSA1MDApIHtcclxuICAgIGlmIChcclxuICAgICAgIWZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ2VvanNvbicpICYmXHJcbiAgICAgICFmaWxlLm5hbWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnLmdtbCcpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dCgnZXBzZ05vdERlZmluZWQnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICBpZiAoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJy5nZW9qc29uJykpIHtcclxuICAgICAgICBjb25zdCBnZW9qc29uID0gSlNPTi5wYXJzZShyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgICAgaWYgKGdlb2pzb24uY3JzPy5wcm9wZXJ0aWVzPy5uYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBlcHNnID0gZ2VvanNvbi5jcnMucHJvcGVydGllcy5uYW1lLm1hdGNoKC9FUFNHOnsxLDJ9XFxkezAsNn0vZ20pO1xyXG4gICAgICAgICAgaWYgKGVwc2cgIT09IG51bGwgJiYgZXBzZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5lcHNnQ29kZSQubmV4dChlcHNnWzBdLnJlcGxhY2UoLzo6L2csICc6JykpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQoJ2Vwc2dOb3REZWZpbmVkJyk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGZpbGUubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCcuZ21sJykpIHtcclxuICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XHJcbiAgICAgICAgY29uc3QgbGluZXMgPSAodGV4dCBhcyBzdHJpbmcpLnNwbGl0KCdcXG4nKTtcclxuICAgICAgICBmb3IgKGxldCBsaW5lID0gMDsgbGluZSA8PSBuYkxpbmVzOyBsaW5lKyspIHtcclxuICAgICAgICAgIGNvbnN0IGVwc2cgPSBsaW5lc1tsaW5lXS5tYXRjaCgvRVBTRzpcXGR7MCw2fS9nbSk7XHJcbiAgICAgICAgICBpZiAoZXBzZyAhPT0gbnVsbCAmJiBlcHNnLmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KGVwc2dbMF0pO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXBzZ0NvZGUkLm5leHQodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmVwc2dDb2RlJC5uZXh0KCdlcHNnTm90RGVmaW5lZCcpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVJbXBvcnRTdWNjZXNzKGZpbGU6IEZpbGUsIGZlYXR1cmVzOiBGZWF0dXJlW10pIHtcclxuICAgIGNvbnN0IGltcG9ydEV4cG9ydE9wdGlvbnMgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoXHJcbiAgICAgICdpbXBvcnRFeHBvcnQnXHJcbiAgICApIGFzIEltcG9ydEV4cG9ydFNlcnZpY2VPcHRpb25zO1xyXG4gICAgY29uc3QgY29uZmlybURpYWxvZ1NlcnZpY2UgPSBpbXBvcnRFeHBvcnRPcHRpb25zPy5hbGxvd1RvU3RvcmVMYXllclxyXG4gICAgICA/IHRoaXMuY29uZmlybURpYWxvZ1NlcnZpY2VcclxuICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICBpZiAoIWltcG9ydEV4cG9ydE9wdGlvbnM/LmltcG9ydFdpdGhTdHlsZSkge1xyXG4gICAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcclxuICAgICAgICBmaWxlLFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLFxyXG4gICAgICAgIHRoaXMuY29udGV4dFVyaSxcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlLFxyXG4gICAgICAgIGNvbmZpcm1EaWFsb2dTZXJ2aWNlXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBoYW5kbGVGaWxlSW1wb3J0U3VjY2VzcyhcclxuICAgICAgICBmaWxlLFxyXG4gICAgICAgIGZlYXR1cmVzLFxyXG4gICAgICAgIHRoaXMubWFwLFxyXG4gICAgICAgIHRoaXMuY29udGV4dFVyaSxcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMubGF5ZXJTZXJ2aWNlLFxyXG4gICAgICAgIGNvbmZpcm1EaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgIHRoaXMuc3R5bGVMaXN0U2VydmljZSxcclxuICAgICAgICB0aGlzLnN0eWxlU2VydmljZVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZpbGVJbXBvcnRFcnJvcihmaWxlOiBGaWxlLCBlcnJvcjogRXJyb3IpIHtcclxuICAgIGhhbmRsZUZpbGVJbXBvcnRFcnJvcihcclxuICAgICAgZmlsZSxcclxuICAgICAgZXJyb3IsXHJcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgIHRoaXMuY29uZmlnLmdldENvbmZpZygnaW1wb3J0RXhwb3J0LmNsaWVudFNpZGVGaWxlU2l6ZU1heE1iJylcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2V4cG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydEZvcm1hdCwgRW5jb2RpbmdGb3JtYXQgfSBmcm9tICcuL2V4cG9ydC50eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRPcHRpb25zIHtcbiAgZm9ybWF0PzogRXhwb3J0Rm9ybWF0O1xuICBlbmNvZGluZz86IEVuY29kaW5nRm9ybWF0O1xuICBsYXllcnM6IHN0cmluZ1tdO1xuICBsYXllcnNXaXRoU2VsZWN0aW9uPzogc3RyaW5nW107XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNvbWJpbmVMYXllcnM/OiBib29sZWFuO1xuICBzZXBhcmF0b3I/OiBib29sZWFuO1xuICBmZWF0dXJlSW5NYXBFeHRlbnQ/OiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2V4cG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuY29kaW5nRm9ybWF0LCBFeHBvcnRGb3JtYXQgfSBmcm9tICcuL2V4cG9ydC50eXBlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0T3B0aW9ucyB7XHJcbiAgZm9ybWF0PzogRXhwb3J0Rm9ybWF0O1xyXG4gIGVuY29kaW5nPzogRW5jb2RpbmdGb3JtYXQ7XHJcbiAgbGF5ZXJzOiBzdHJpbmdbXTtcclxuICBsYXllcnNXaXRoU2VsZWN0aW9uPzogc3RyaW5nW107XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBjb21iaW5lTGF5ZXJzPzogYm9vbGVhbjtcclxuICBzZXBhcmF0b3I/OiBib29sZWFuO1xyXG4gIGZlYXR1cmVJbk1hcEV4dGVudD86IGJvb2xlYW47XHJcbn1cclxuIl19
@@ -1,12 +1,12 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { ConfigService } from '@igo2/core';
3
3
  import { downloadContent } from '@igo2/utils';
4
- import { Observable } from 'rxjs';
5
- import * as olformat from 'ol/format';
6
4
  import OlFeature from 'ol/Feature';
5
+ import * as olformat from 'ol/format';
6
+ import { Observable } from 'rxjs';
7
7
  import { encode } from 'windows-1252';
8
- import { ExportFormat, EncodingFormat } from './export.type';
9
8
  import { ExportInvalidFileError, ExportNothingToExportError } from './export.errors';
9
+ import { EncodingFormat, ExportFormat } from './export.type';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@igo2/core";
12
12
  export class ExportService {
@@ -202,4 +202,4 @@ export class ExportService {
202
202
  providedIn: 'root'
203
203
  }]
204
204
  }], function () { return [{ type: i1.ConfigService }]; }, null); })();
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sTUFBTSxDQUFDO0FBRTVDLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUVuQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzNCLE1BQU0saUJBQWlCLENBQUM7OztBQUt6QixNQUFNLE9BQU8sYUFBYTtJQWVKO0lBZHBCLE1BQU0sQ0FBQyxXQUFXLEdBQUc7UUFDbkIsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixRQUFRLEVBQUUsVUFBVTtRQUNwQixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDO0lBRUYsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUFTO0lBQ2hCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUUzQyxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN6RCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNqRCxvQ0FBb0MsQ0FDckMsQ0FBQztRQUNGLElBQUkscUJBQXFCLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxNQUFNLENBQ0osVUFBbUMsRUFDbkMsTUFBb0IsRUFDcEIsS0FBYSxFQUNiLFFBQXdCLEVBQ3hCLFlBQVksR0FBRyxXQUFXLEVBQzFCLGFBQWEsR0FBRyxXQUFXO1FBRTNCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FDM0MsVUFBVSxFQUNWLE1BQU0sRUFDTixlQUFlLENBQ2hCLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQ3JCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixZQUFZLEVBQ1osYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU0sZUFBZSxDQUNwQixVQUFtQyxFQUNuQyxNQUFvQixFQUNwQixnQkFBd0IsR0FBRztRQUUzQixJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxRCxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuRDtRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUN6RCxNQUFNLElBQUksR0FBRyxTQUFTO2lCQUNuQixPQUFPLEVBQUU7aUJBQ1QsTUFBTSxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUMzRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUM1QixDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDM0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUNELEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUN0QyxDQUFDO1lBQ0YsT0FBTyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsVUFBbUM7UUFFbkMsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1lBQ3pELE1BQU0sSUFBSSxHQUFHLFNBQVM7aUJBQ25CLE9BQU8sRUFBRTtpQkFDVCxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ2pELElBQUksT0FBTyxHQUFXLEVBQUUsQ0FBQztZQUN6QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUM1QixDQUFDLEdBQVcsRUFBRSxHQUFXLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLFVBQVUsRUFBRTtvQkFDN0IsR0FBRyxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQzt3QkFDbkMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUM7d0JBQzVELENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7aUJBQzdEO2dCQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsRUFDRDtnQkFDRSxRQUFRLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRTthQUNsQyxDQUNGLENBQUM7WUFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3QyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMxQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUUvQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQ2pCLFVBQW1DLEVBQ25DLE1BQW9CLEVBQ3BCLEtBQWEsRUFDYixRQUF3QixFQUN4QixZQUFvQixFQUNwQixhQUFxQjtRQUVyQixNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQXdCLEVBQUUsRUFBRTtZQUM1QyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRSxJQUFJLGVBQWUsRUFBRTtnQkFDbkIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLDBCQUEwQixFQUFFLENBQUMsQ0FBQztnQkFDakQsT0FBTzthQUNSO1lBRUQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0QsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2pCLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUN0RCxJQUFJLENBQUMsWUFBWSxDQUNmLFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxZQUFZLEVBQ1osYUFBYSxDQUNkLENBQUM7cUJBQ0g7eUJBQU07d0JBQ0wsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUMsQ0FBQztxQkFDOUM7b0JBQ0QsT0FBTztpQkFDUjtnQkFDRCxJQUFJLENBQUMsY0FBYyxDQUNqQixVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFlBQVksRUFDWixhQUFhLENBQ2QsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxZQUFZLENBQ2YsVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLFlBQVksRUFDWixhQUFhLENBQ2QsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsT0FBTyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVMsWUFBWSxDQUNwQixVQUFtQyxFQUNuQyxRQUF3QixFQUN4QixNQUFvQixFQUNwQixLQUFhLEVBQ2IsWUFBb0IsRUFDcEIsYUFBcUI7UUFFckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUN0RCxjQUFjLEVBQUUsYUFBYTtZQUM3QixpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFNBQVMsRUFBRSw0QkFBNEI7U0FDeEMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsR0FBRyxLQUFLLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFFcEQsZUFBZSxDQUFDLFlBQVksRUFBRSwwQkFBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNwRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsVUFBbUMsRUFDbkMsUUFBd0IsRUFDeEIsTUFBYyxFQUNkLEtBQWEsRUFDYixZQUE0QixFQUM1QixZQUFvQixFQUNwQixhQUFxQjtRQUVyQixJQUFJLFlBQVksR0FBVyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQzdELFVBQVUsRUFDVjtZQUNFLGNBQWMsRUFBRSxhQUFhO1lBQzdCLGlCQUFpQixFQUFFLFlBQVk7U0FDaEMsQ0FDRixDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxjQUFjLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDNUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFakMsSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLElBQUksRUFBRTtZQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLG1EQUFtRCxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNqRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUM7WUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUM5QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUNqRCxJQUFJLEVBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQzlELENBQUM7Z0JBQ0YsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7WUFDSCxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLE1BQU0sS0FBSyxjQUFjLEVBQUU7WUFDN0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRCxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFFRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0IsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLFVBQVUsR0FDWixNQUFNLEtBQUssV0FBVztZQUNwQixDQUFDLENBQUMsR0FBRyxLQUFLLE1BQU07WUFDaEIsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLElBQUksTUFBTSxLQUFLLFVBQVUsSUFBSSxNQUFNLEtBQUssY0FBYyxFQUFFO1lBQ3RELFVBQVUsR0FBRyxHQUFHLEtBQUssTUFBTSxDQUFDO1NBQzdCO1FBQ0QsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLFVBQVUsR0FBRyxVQUFVO2FBQ3BCLFNBQVMsQ0FBQyxLQUFLLENBQUM7YUFDaEIsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQzthQUMvQixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLGVBQWUsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ25ELGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEMsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxJQUFJLE1BQU0sS0FBSyxVQUFVLElBQUksTUFBTSxLQUFLLGNBQWMsRUFBRTtZQUN0RCxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRCxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLGVBQWUsQ0FDckIsVUFBbUMsRUFDbkMsTUFBYztRQUVkLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksTUFBTSxLQUFLLEtBQUssRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2hELE9BQU8sQ0FDTCxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQ2hELFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FDbEMsSUFBSSxDQUFDLENBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxXQUFXLEtBQUssU0FBUyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO3VFQXJTVSxhQUFhO2dFQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07O3VGQUVQLGFBQWE7Y0FIekIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBkb3dubG9hZENvbnRlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0ICogYXMgb2xmb3JtYXQgZnJvbSAnb2wvZm9ybWF0JztcclxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcclxuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcclxuaW1wb3J0IHsgZW5jb2RlIH0gZnJvbSAnd2luZG93cy0xMjUyJztcclxuXHJcbmltcG9ydCB7IEV4cG9ydEZvcm1hdCwgRW5jb2RpbmdGb3JtYXQgfSBmcm9tICcuL2V4cG9ydC50eXBlJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRXhwb3J0SW52YWxpZEZpbGVFcnJvcixcclxuICBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvclxyXG59IGZyb20gJy4vZXhwb3J0LmVycm9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRTZXJ2aWNlIHtcclxuICBzdGF0aWMgb2dyZUZvcm1hdHMgPSB7XHJcbiAgICBHTUw6ICdnbWwnLFxyXG4gICAgR1BYOiAnZ3B4JyxcclxuICAgIEtNTDogJ2ttbCcsXHJcbiAgICBTaGFwZWZpbGU6ICdFU1JJIFNoYXBlZmlsZScsXHJcbiAgICBDU1Zjb21tYTogJ0NTVmNvbW1hJyxcclxuICAgIENTVnNlbWljb2xvbjogJ0NTVnNlbWljb2xvbidcclxuICB9O1xyXG5cclxuICBzdGF0aWMgbm9PZ3JlRmFsbGJhY2tzID0gWydHTUwnLCAnR1BYJywgJ0tNTCddO1xyXG5cclxuICBwcml2YXRlIG9ncmVVcmw6IHN0cmluZztcclxuICBwcml2YXRlIGFnZ3JlZ2F0ZUluQ29tbWVudDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBDb25maWdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLm9ncmVVcmwgPSB0aGlzLmNvbmZpZy5nZXRDb25maWcoJ2ltcG9ydEV4cG9ydC51cmwnKTtcclxuICAgIGNvbnN0IGdweEFnZ3JlZ2F0ZUluQ29tbWVudCA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcclxuICAgICAgJ2ltcG9ydEV4cG9ydC5ncHhBZ2dyZWdhdGVJbkNvbW1lbnQnXHJcbiAgICApO1xyXG4gICAgaWYgKGdweEFnZ3JlZ2F0ZUluQ29tbWVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuYWdncmVnYXRlSW5Db21tZW50ID0gZ3B4QWdncmVnYXRlSW5Db21tZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0KFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBlbmNvZGluZzogRW5jb2RpbmdGb3JtYXQsXHJcbiAgICBwcm9qZWN0aW9uSW4gPSAnRVBTRzo0MzI2JyxcclxuICAgIHByb2plY3Rpb25PdXQgPSAnRVBTRzo0MzI2J1xyXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgY29uc3QgZXhwb3J0T2xGZWF0dXJlcyA9IHRoaXMuZ2VuZXJhdGVGZWF0dXJlKFxyXG4gICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICBmb3JtYXQsXHJcbiAgICAgICdfZmVhdHVyZVN0b3JlJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5leHBvcnRBc3luYyhcclxuICAgICAgZXhwb3J0T2xGZWF0dXJlcyxcclxuICAgICAgZm9ybWF0LFxyXG4gICAgICB0aXRsZSxcclxuICAgICAgZW5jb2RpbmcsXHJcbiAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZUZlYXR1cmUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgZXhjbHVkZVByZWZpeDogc3RyaW5nID0gJ18nXHJcbiAgKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10ge1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gRXhwb3J0Rm9ybWF0LkdQWCAmJiB0aGlzLmFnZ3JlZ2F0ZUluQ29tbWVudCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUFnZ3JlZ2F0ZWRGZWF0dXJlKG9sRmVhdHVyZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvbEZlYXR1cmVzLm1hcCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgICAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZVxyXG4gICAgICAgIC5nZXRLZXlzKClcclxuICAgICAgICAuZmlsdGVyKChrZXk6IHN0cmluZykgPT4gIWtleS5zdGFydHNXaXRoKGV4Y2x1ZGVQcmVmaXgpKTtcclxuICAgICAgY29uc3QgcHJvcGVydGllcyA9IGtleXMucmVkdWNlKFxyXG4gICAgICAgIChhY2M6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGFjY1trZXldID0gb2xGZWF0dXJlLmdldChrZXkpO1xyXG4gICAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHsgZ2VvbWV0cnk6IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpIH1cclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIG5ldyBPbEZlYXR1cmUocHJvcGVydGllcyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2VuZXJhdGVBZ2dyZWdhdGVkRmVhdHVyZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdXHJcbiAgKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10ge1xyXG4gICAgcmV0dXJuIG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICBjb25zdCBrZXlzID0gb2xGZWF0dXJlXHJcbiAgICAgICAgLmdldEtleXMoKVxyXG4gICAgICAgIC5maWx0ZXIoKGtleTogc3RyaW5nKSA9PiAha2V5LnN0YXJ0c1dpdGgoJ18nKSk7XHJcbiAgICAgIGxldCBjb21tZW50OiBzdHJpbmcgPSAnJztcclxuICAgICAgY29uc3QgcHJvcGVydGllcyA9IGtleXMucmVkdWNlKFxyXG4gICAgICAgIChhY2M6IG9iamVjdCwga2V5OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGlmIChrZXkgJiYga2V5ICE9PSAnZ2VvbWV0cnknKSB7XHJcbiAgICAgICAgICAgIGtleSA9PT0gJ2lkJyAmJiBvbEZlYXR1cmUuZ2V0KCdkcmF3JylcclxuICAgICAgICAgICAgICA/IChjb21tZW50ICs9IGtleSArICc6JyArIG9sRmVhdHVyZS5nZXQoJ2RyYXcnKSArICcgICBcXHJcXG4nKVxyXG4gICAgICAgICAgICAgIDogKGNvbW1lbnQgKz0ga2V5ICsgJzonICsgb2xGZWF0dXJlLmdldChrZXkpICsgJyAgIFxcclxcbicpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYWNjW2tleV0gPSBvbEZlYXR1cmUuZ2V0KGtleSk7XHJcbiAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZ2VvbWV0cnk6IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBuZXdGZWF0dXJlID0gbmV3IE9sRmVhdHVyZShwcm9wZXJ0aWVzKTtcclxuICAgICAgbmV3RmVhdHVyZS5zZXQoJ25hbWUnLCBvbEZlYXR1cmUuZ2V0SWQoKSk7XHJcbiAgICAgIG5ld0ZlYXR1cmUuc2V0KCdjbXQnLCBjb21tZW50KTtcclxuXHJcbiAgICAgIHJldHVybiBuZXdGZWF0dXJlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cG9ydEFzeW5jKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IEV4cG9ydEZvcm1hdCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBlbmNvZGluZzogRW5jb2RpbmdGb3JtYXQsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgY29uc3QgZG9FeHBvcnQgPSAob2JzZXJ2ZXI6IE9ic2VydmVyPHZvaWQ+KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vdGhpbmdUb0V4cG9ydCA9IHRoaXMubm90aGluZ1RvRXhwb3J0KG9sRmVhdHVyZXMsIGZvcm1hdCk7XHJcbiAgICAgIGlmIChub3RoaW5nVG9FeHBvcnQpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IoKSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBvZ3JlRm9ybWF0cyA9IE9iamVjdC5rZXlzKEV4cG9ydFNlcnZpY2Uub2dyZUZvcm1hdHMpO1xyXG4gICAgICBpZiAob2dyZUZvcm1hdHMuaW5kZXhPZihmb3JtYXQpID49IDApIHtcclxuICAgICAgICBpZiAoIXRoaXMub2dyZVVybCkge1xyXG4gICAgICAgICAgaWYgKEV4cG9ydFNlcnZpY2Uubm9PZ3JlRmFsbGJhY2tzLmluZGV4T2YoZm9ybWF0KSA+PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0VG9GaWxlKFxyXG4gICAgICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIsXHJcbiAgICAgICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgRXhwb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5leHBvcnRXaXRoT2dyZShcclxuICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICBvYnNlcnZlcixcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgZW5jb2RpbmcsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmV4cG9ydFRvRmlsZShcclxuICAgICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgICBvYnNlcnZlcixcclxuICAgICAgICAgIGZvcm1hdCxcclxuICAgICAgICAgIHRpdGxlLFxyXG4gICAgICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICAgICAgcHJvamVjdGlvbk91dFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKGRvRXhwb3J0KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBleHBvcnRUb0ZpbGUoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIG9ic2VydmVyOiBPYnNlcnZlcjx2b2lkPixcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCBvbEZvcm1hdCA9IG5ldyBvbGZvcm1hdFtmb3JtYXRdKCk7XHJcbiAgICBjb25zdCBmZWF0dXJlc1RleHQgPSBvbEZvcm1hdC53cml0ZUZlYXR1cmVzKG9sRmVhdHVyZXMsIHtcclxuICAgICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uSW4sXHJcbiAgICAgIGZlYXR1cmVUeXBlOiAnZmVhdHVyZScsXHJcbiAgICAgIGZlYXR1cmVOUzogJ2h0dHA6Ly9leGFtcGxlLmNvbS9mZWF0dXJlJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBgJHt0aXRsZX0uJHtmb3JtYXQudG9Mb3dlckNhc2UoKX1gO1xyXG5cclxuICAgIGRvd25sb2FkQ29udGVudChmZWF0dXJlc1RleHQsICd0ZXh0L3BsYWluO2NoYXJzZXQ9dXRmLTgnLCBmaWxlTmFtZSk7XHJcbiAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRXaXRoT2dyZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPHZvaWQ+LFxyXG4gICAgZm9ybWF0OiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgZW5jb2RpbmdUeXBlOiBFbmNvZGluZ0Zvcm1hdCxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBsZXQgZmVhdHVyZXNUZXh0OiBzdHJpbmcgPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpLndyaXRlRmVhdHVyZXMoXHJcbiAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgIHtcclxuICAgICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5vZ3JlVXJsfS9jb252ZXJ0SnNvbmA7XHJcbiAgICBjb25zdCBmb3JtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpO1xyXG4gICAgZm9ybS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmb3JtKTtcclxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCdtZXRob2QnLCAncG9zdCcpO1xyXG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ3RhcmdldCcsICdfYmxhbmsnKTtcclxuICAgIGZvcm0uc2V0QXR0cmlidXRlKCdhY3Rpb24nLCB1cmwpO1xyXG5cclxuICAgIGlmIChlbmNvZGluZ1R5cGUgPT09IEVuY29kaW5nRm9ybWF0LlVURjgpIHtcclxuICAgICAgZm9ybS5hY2NlcHRDaGFyc2V0ID0gJ1VURi04JztcclxuICAgICAgZm9ybS5lbmN0eXBlID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDsgY2hhcnNldD11dGYtODsnO1xyXG4gICAgfSBlbHNlIGlmIChlbmNvZGluZ1R5cGUgPT09IEVuY29kaW5nRm9ybWF0LkxBVElOMSkge1xyXG4gICAgICBjb25zdCBlbmN0eXBlID0gJ0lTTy04ODU5LTEnO1xyXG4gICAgICBjb25zdCBmZWF0dXJlc0pzb24gPSBKU09OLnBhcnNlKGZlYXR1cmVzVGV4dCk7XHJcbiAgICAgIGZlYXR1cmVzSnNvbi5mZWF0dXJlcy5tYXAoKGYpID0+IHtcclxuICAgICAgICBjb25zdCBlbmNvZGVkUHJvcGVydGllcyA9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoXHJcbiAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgZW5jb2RlKEpTT04uc3RyaW5naWZ5KGYucHJvcGVydGllcyksIHsgbW9kZTogJ3JlcGxhY2VtZW50JyB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgZi5wcm9wZXJ0aWVzID0gSlNPTi5wYXJzZShlbmNvZGVkUHJvcGVydGllcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBmZWF0dXJlc1RleHQgPSBKU09OLnN0cmluZ2lmeShmZWF0dXJlc0pzb24pO1xyXG4gICAgICBjb25zdCBlbmNvZGluZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIGVuY29kaW5nLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgICAgZW5jb2Rpbmcuc2V0QXR0cmlidXRlKCduYW1lJywgJ2VuY29kaW5nJyk7XHJcbiAgICAgIGVuY29kaW5nLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBlbmN0eXBlKTtcclxuICAgICAgZm9ybS5hcHBlbmRDaGlsZChlbmNvZGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0NTVnNlbWljb2xvbicpIHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICAgIG9wdGlvbnMuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgICBvcHRpb25zLnNldEF0dHJpYnV0ZSgnbmFtZScsICdsY28nKTtcclxuICAgICAgb3B0aW9ucy5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ1NFUEFSQVRPUj1TRU1JQ09MT04nKTtcclxuICAgICAgZm9ybS5hcHBlbmRDaGlsZChvcHRpb25zKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBnZW9qc29uRmllbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgZ2VvanNvbkZpZWxkLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgIGdlb2pzb25GaWVsZC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnanNvbicpO1xyXG4gICAgZ2VvanNvbkZpZWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBmZWF0dXJlc1RleHQpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChnZW9qc29uRmllbGQpO1xyXG5cclxuICAgIGNvbnN0IG91dHB1dE5hbWVGaWVsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBsZXQgb3V0cHV0TmFtZSA9XHJcbiAgICAgIGZvcm1hdCA9PT0gJ1NoYXBlZmlsZSdcclxuICAgICAgICA/IGAke3RpdGxlfS56aXBgXHJcbiAgICAgICAgOiBgJHt0aXRsZX0uJHtmb3JtYXQudG9Mb3dlckNhc2UoKX1gO1xyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0NTVmNvbW1hJyB8fCBmb3JtYXQgPT09ICdDU1ZzZW1pY29sb24nKSB7XHJcbiAgICAgIG91dHB1dE5hbWUgPSBgJHt0aXRsZX0uY3N2YDtcclxuICAgIH1cclxuICAgIG91dHB1dE5hbWUgPSBvdXRwdXROYW1lLnJlcGxhY2UoJyAnLCAnXycpO1xyXG4gICAgb3V0cHV0TmFtZSA9IG91dHB1dE5hbWVcclxuICAgICAgLm5vcm1hbGl6ZSgnTkZEJylcclxuICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxyXG4gICAgICAucmVwbGFjZSgv4oCZL2csIFwiJ1wiKTtcclxuICAgIG91dHB1dE5hbWVGaWVsZC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICBvdXRwdXROYW1lRmllbGQuc2V0QXR0cmlidXRlKCduYW1lJywgJ291dHB1dE5hbWUnKTtcclxuICAgIG91dHB1dE5hbWVGaWVsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgb3V0cHV0TmFtZSk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKG91dHB1dE5hbWVGaWVsZCk7XHJcblxyXG4gICAgbGV0IG9ncmVGb3JtYXQgPSBFeHBvcnRTZXJ2aWNlLm9ncmVGb3JtYXRzW2Zvcm1hdF07XHJcbiAgICBpZiAoZm9ybWF0ID09PSAnQ1NWY29tbWEnIHx8IGZvcm1hdCA9PT0gJ0NTVnNlbWljb2xvbicpIHtcclxuICAgICAgb2dyZUZvcm1hdCA9ICdDU1YnO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb3V0cHV0Rm9ybWF0RmllbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCduYW1lJywgJ2Zvcm1hdCcpO1xyXG4gICAgb3V0cHV0Rm9ybWF0RmllbGQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIG9ncmVGb3JtYXQpO1xyXG4gICAgZm9ybS5hcHBlbmRDaGlsZChvdXRwdXRGb3JtYXRGaWVsZCk7XHJcblxyXG4gICAgZm9ybS5zdWJtaXQoKTtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZm9ybSk7XHJcblxyXG4gICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbm90aGluZ1RvRXhwb3J0KFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBmb3JtYXQ6IHN0cmluZ1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG9sRmVhdHVyZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKGZvcm1hdCA9PT0gJ0dQWCcpIHtcclxuICAgICAgY29uc3QgcG9pbnRPckxpbmUgPSBvbEZlYXR1cmVzLmZpbmQoKG9sRmVhdHVyZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBbJ1BvaW50JywgJ0xpbmVTdHJpbmcnLCAnTXVsdGlMaW5lU3RyaW5nJ10uaW5kZXhPZihcclxuICAgICAgICAgICAgb2xGZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpXHJcbiAgICAgICAgICApID49IDBcclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHBvaW50T3JMaW5lID09PSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFHdEMsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzNCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sYUFBYTtJQWVKO0lBZHBCLE1BQU0sQ0FBQyxXQUFXLEdBQUc7UUFDbkIsR0FBRyxFQUFFLEtBQUs7UUFDVixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsU0FBUyxFQUFFLGdCQUFnQjtRQUMzQixRQUFRLEVBQUUsVUFBVTtRQUNwQixZQUFZLEVBQUUsY0FBYztLQUM3QixDQUFDO0lBRUYsTUFBTSxDQUFDLGVBQWUsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdkMsT0FBTyxDQUFTO0lBQ2hCLGtCQUFrQixHQUFZLElBQUksQ0FBQztJQUUzQyxZQUFvQixNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3ZD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RSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBkb3dubG9hZENvbnRlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZW5jb2RlIH0gZnJvbSAnd2luZG93cy0xMjUyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgRXhwb3J0SW52YWxpZEZpbGVFcnJvcixcclxuICBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvclxyXG59IGZyb20gJy4vZXhwb3J0LmVycm9ycyc7XHJcbmltcG9ydCB7IEVuY29kaW5nRm9ybWF0LCBFeHBvcnRGb3JtYXQgfSBmcm9tICcuL2V4cG9ydC50eXBlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cG9ydFNlcnZpY2Uge1xyXG4gIHN0YXRpYyBvZ3JlRm9ybWF0cyA9IHtcclxuICAgIEdNTDogJ2dtbCcsXHJcbiAgICBHUFg6ICdncHgnLFxyXG4gICAgS01MOiAna21sJyxcclxuICAgIFNoYXBlZmlsZTogJ0VTUkkgU2hhcGVmaWxlJyxcclxuICAgIENTVmNvbW1hOiAnQ1NWY29tbWEnLFxyXG4gICAgQ1NWc2VtaWNvbG9uOiAnQ1NWc2VtaWNvbG9uJ1xyXG4gIH07XHJcblxyXG4gIHN0YXRpYyBub09ncmVGYWxsYmFja3MgPSBbJ0dNTCcsICdHUFgnLCAnS01MJ107XHJcblxyXG4gIHByaXZhdGUgb2dyZVVybDogc3RyaW5nO1xyXG4gIHByaXZhdGUgYWdncmVnYXRlSW5Db21tZW50OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHRoaXMub2dyZVVybCA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnaW1wb3J0RXhwb3J0LnVybCcpO1xyXG4gICAgY29uc3QgZ3B4QWdncmVnYXRlSW5Db21tZW50ID0gdGhpcy5jb25maWcuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW1wb3J0RXhwb3J0LmdweEFnZ3JlZ2F0ZUluQ29tbWVudCdcclxuICAgICk7XHJcbiAgICBpZiAoZ3B4QWdncmVnYXRlSW5Db21tZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5hZ2dyZWdhdGVJbkNvbW1lbnQgPSBncHhBZ2dyZWdhdGVJbkNvbW1lbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnQoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGVuY29kaW5nOiBFbmNvZGluZ0Zvcm1hdCxcclxuICAgIHByb2plY3Rpb25JbiA9ICdFUFNHOjQzMjYnLFxyXG4gICAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXHJcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb25zdCBleHBvcnRPbEZlYXR1cmVzID0gdGhpcy5nZW5lcmF0ZUZlYXR1cmUoXHJcbiAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgIGZvcm1hdCxcclxuICAgICAgJ19mZWF0dXJlU3RvcmUnXHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmV4cG9ydEFzeW5jKFxyXG4gICAgICBleHBvcnRPbEZlYXR1cmVzLFxyXG4gICAgICBmb3JtYXQsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICBlbmNvZGluZyxcclxuICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdlbmVyYXRlRmVhdHVyZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgZm9ybWF0OiBFeHBvcnRGb3JtYXQsXHJcbiAgICBleGNsdWRlUHJlZml4OiBzdHJpbmcgPSAnXydcclxuICApOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSB7XHJcbiAgICBpZiAoZm9ybWF0ID09PSBFeHBvcnRGb3JtYXQuR1BYICYmIHRoaXMuYWdncmVnYXRlSW5Db21tZW50KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdlbmVyYXRlQWdncmVnYXRlZEZlYXR1cmUob2xGZWF0dXJlcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICBjb25zdCBrZXlzID0gb2xGZWF0dXJlXHJcbiAgICAgICAgLmdldEtleXMoKVxyXG4gICAgICAgIC5maWx0ZXIoKGtleTogc3RyaW5nKSA9PiAha2V5LnN0YXJ0c1dpdGgoZXhjbHVkZVByZWZpeCkpO1xyXG4gICAgICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cy5yZWR1Y2UoXHJcbiAgICAgICAgKGFjYzogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgYWNjW2tleV0gPSBvbEZlYXR1cmUuZ2V0KGtleSk7XHJcbiAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBnZW9tZXRyeTogb2xGZWF0dXJlLmdldEdlb21ldHJ5KCkgfVxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gbmV3IE9sRmVhdHVyZShwcm9wZXJ0aWVzKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUFnZ3JlZ2F0ZWRGZWF0dXJlKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W11cclxuICApOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSB7XHJcbiAgICByZXR1cm4gb2xGZWF0dXJlcy5tYXAoKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICAgIGNvbnN0IGtleXMgPSBvbEZlYXR1cmVcclxuICAgICAgICAuZ2V0S2V5cygpXHJcbiAgICAgICAgLmZpbHRlcigoa2V5OiBzdHJpbmcpID0+ICFrZXkuc3RhcnRzV2l0aCgnXycpKTtcclxuICAgICAgbGV0IGNvbW1lbnQ6IHN0cmluZyA9ICcnO1xyXG4gICAgICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cy5yZWR1Y2UoXHJcbiAgICAgICAgKGFjYzogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgaWYgKGtleSAmJiBrZXkgIT09ICdnZW9tZXRyeScpIHtcclxuICAgICAgICAgICAga2V5ID09PSAnaWQnICYmIG9sRmVhdHVyZS5nZXQoJ2RyYXcnKVxyXG4gICAgICAgICAgICAgID8gKGNvbW1lbnQgKz0ga2V5ICsgJzonICsgb2xGZWF0dXJlLmdldCgnZHJhdycpICsgJyAgIFxcclxcbicpXHJcbiAgICAgICAgICAgICAgOiAoY29tbWVudCArPSBrZXkgKyAnOicgKyBvbEZlYXR1cmUuZ2V0KGtleSkgKyAnICAgXFxyXFxuJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBhY2Nba2V5XSA9IG9sRmVhdHVyZS5nZXQoa2V5KTtcclxuICAgICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBnZW9tZXRyeTogb2xGZWF0dXJlLmdldEdlb21ldHJ5KClcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld0ZlYXR1cmUgPSBuZXcgT2xGZWF0dXJlKHByb3BlcnRpZXMpO1xyXG4gICAgICBuZXdGZWF0dXJlLnNldCgnbmFtZScsIG9sRmVhdHVyZS5nZXRJZCgpKTtcclxuICAgICAgbmV3RmVhdHVyZS5zZXQoJ2NtdCcsIGNvbW1lbnQpO1xyXG5cclxuICAgICAgcmV0dXJuIG5ld0ZlYXR1cmU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhwb3J0QXN5bmMoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIGZvcm1hdDogRXhwb3J0Rm9ybWF0LFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGVuY29kaW5nOiBFbmNvZGluZ0Zvcm1hdCxcclxuICAgIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICBjb25zdCBkb0V4cG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8dm9pZD4pID0+IHtcclxuICAgICAgY29uc3Qgbm90aGluZ1RvRXhwb3J0ID0gdGhpcy5ub3RoaW5nVG9FeHBvcnQob2xGZWF0dXJlcywgZm9ybWF0KTtcclxuICAgICAgaWYgKG5vdGhpbmdUb0V4cG9ydCkge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvcigpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9ncmVGb3JtYXRzID0gT2JqZWN0LmtleXMoRXhwb3J0U2VydmljZS5vZ3JlRm9ybWF0cyk7XHJcbiAgICAgIGlmIChvZ3JlRm9ybWF0cy5pbmRleE9mKGZvcm1hdCkgPj0gMCkge1xyXG4gICAgICAgIGlmICghdGhpcy5vZ3JlVXJsKSB7XHJcbiAgICAgICAgICBpZiAoRXhwb3J0U2VydmljZS5ub09ncmVGYWxsYmFja3MuaW5kZXhPZihmb3JtYXQpID49IDApIHtcclxuICAgICAgICAgICAgdGhpcy5leHBvcnRUb0ZpbGUoXHJcbiAgICAgICAgICAgICAgb2xGZWF0dXJlcyxcclxuICAgICAgICAgICAgICBvYnNlcnZlcixcclxuICAgICAgICAgICAgICBmb3JtYXQsXHJcbiAgICAgICAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgICAgICAgcHJvamVjdGlvbkluLFxyXG4gICAgICAgICAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBFeHBvcnRJbnZhbGlkRmlsZUVycm9yKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmV4cG9ydFdpdGhPZ3JlKFxyXG4gICAgICAgICAgb2xGZWF0dXJlcyxcclxuICAgICAgICAgIG9ic2VydmVyLFxyXG4gICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgICBlbmNvZGluZyxcclxuICAgICAgICAgIHByb2plY3Rpb25JbixcclxuICAgICAgICAgIHByb2plY3Rpb25PdXRcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZXhwb3J0VG9GaWxlKFxyXG4gICAgICAgICAgb2xGZWF0dXJlcyxcclxuICAgICAgICAgIG9ic2VydmVyLFxyXG4gICAgICAgICAgZm9ybWF0LFxyXG4gICAgICAgICAgdGl0bGUsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoZG9FeHBvcnQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGV4cG9ydFRvRmlsZShcclxuICAgIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPHZvaWQ+LFxyXG4gICAgZm9ybWF0OiBFeHBvcnRGb3JtYXQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IG9sRm9ybWF0ID0gbmV3IG9sZm9ybWF0W2Zvcm1hdF0oKTtcclxuICAgIGNvbnN0IGZlYXR1cmVzVGV4dCA9IG9sRm9ybWF0LndyaXRlRmVhdHVyZXMob2xGZWF0dXJlcywge1xyXG4gICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25JbixcclxuICAgICAgZmVhdHVyZVR5cGU6ICdmZWF0dXJlJyxcclxuICAgICAgZmVhdHVyZU5TOiAnaHR0cDovL2V4YW1wbGUuY29tL2ZlYXR1cmUnXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBmaWxlTmFtZSA9IGAke3RpdGxlfS4ke2Zvcm1hdC50b0xvd2VyQ2FzZSgpfWA7XHJcblxyXG4gICAgZG93bmxvYWRDb250ZW50KGZlYXR1cmVzVGV4dCwgJ3RleHQvcGxhaW47Y2hhcnNldD11dGYtOCcsIGZpbGVOYW1lKTtcclxuICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4cG9ydFdpdGhPZ3JlKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBvYnNlcnZlcjogT2JzZXJ2ZXI8dm9pZD4sXHJcbiAgICBmb3JtYXQ6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBlbmNvZGluZ1R5cGU6IEVuY29kaW5nRm9ybWF0LFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApIHtcclxuICAgIGxldCBmZWF0dXJlc1RleHQ6IHN0cmluZyA9IG5ldyBvbGZvcm1hdC5HZW9KU09OKCkud3JpdGVGZWF0dXJlcyhcclxuICAgICAgb2xGZWF0dXJlcyxcclxuICAgICAge1xyXG4gICAgICAgIGRhdGFQcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uSW5cclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLm9ncmVVcmx9L2NvbnZlcnRKc29uYDtcclxuICAgIGNvbnN0IGZvcm0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdmb3JtJyk7XHJcbiAgICBmb3JtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xyXG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ21ldGhvZCcsICdwb3N0Jyk7XHJcbiAgICBmb3JtLnNldEF0dHJpYnV0ZSgndGFyZ2V0JywgJ19ibGFuaycpO1xyXG4gICAgZm9ybS5zZXRBdHRyaWJ1dGUoJ2FjdGlvbicsIHVybCk7XHJcblxyXG4gICAgaWYgKGVuY29kaW5nVHlwZSA9PT0gRW5jb2RpbmdGb3JtYXQuVVRGOCkge1xyXG4gICAgICBmb3JtLmFjY2VwdENoYXJzZXQgPSAnVVRGLTgnO1xyXG4gICAgICBmb3JtLmVuY3R5cGUgPSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04Oyc7XHJcbiAgICB9IGVsc2UgaWYgKGVuY29kaW5nVHlwZSA9PT0gRW5jb2RpbmdGb3JtYXQuTEFUSU4xKSB7XHJcbiAgICAgIGNvbnN0IGVuY3R5cGUgPSAnSVNPLTg4NTktMSc7XHJcbiAgICAgIGNvbnN0IGZlYXR1cmVzSnNvbiA9IEpTT04ucGFyc2UoZmVhdHVyZXNUZXh0KTtcclxuICAgICAgZmVhdHVyZXNKc29uLmZlYXR1cmVzLm1hcCgoZikgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVuY29kZWRQcm9wZXJ0aWVzID0gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShcclxuICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICBlbmNvZGUoSlNPTi5zdHJpbmdpZnkoZi5wcm9wZXJ0aWVzKSwgeyBtb2RlOiAncmVwbGFjZW1lbnQnIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgICBmLnByb3BlcnRpZXMgPSBKU09OLnBhcnNlKGVuY29kZWRQcm9wZXJ0aWVzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGZlYXR1cmVzVGV4dCA9IEpTT04uc3RyaW5naWZ5KGZlYXR1cmVzSnNvbik7XHJcbiAgICAgIGNvbnN0IGVuY29kaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgZW5jb2Rpbmcuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgICBlbmNvZGluZy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnZW5jb2RpbmcnKTtcclxuICAgICAgZW5jb2Rpbmcuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGVuY3R5cGUpO1xyXG4gICAgICBmb3JtLmFwcGVuZENoaWxkKGVuY29kaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZm9ybWF0ID09PSAnQ1NWc2VtaWNvbG9uJykge1xyXG4gICAgICBjb25zdCBvcHRpb25zID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgICAgb3B0aW9ucy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICAgIG9wdGlvbnMuc2V0QXR0cmlidXRlKCduYW1lJywgJ2xjbycpO1xyXG4gICAgICBvcHRpb25zLnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnU0VQQVJBVE9SPVNFTUlDT0xPTicpO1xyXG4gICAgICBmb3JtLmFwcGVuZENoaWxkKG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGdlb2pzb25GaWVsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBnZW9qc29uRmllbGQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2hpZGRlbicpO1xyXG4gICAgZ2VvanNvbkZpZWxkLnNldEF0dHJpYnV0ZSgnbmFtZScsICdqc29uJyk7XHJcbiAgICBnZW9qc29uRmllbGQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGZlYXR1cmVzVGV4dCk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKGdlb2pzb25GaWVsZCk7XHJcblxyXG4gICAgY29uc3Qgb3V0cHV0TmFtZUZpZWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcclxuICAgIGxldCBvdXRwdXROYW1lID1cclxuICAgICAgZm9ybWF0ID09PSAnU2hhcGVmaWxlJ1xyXG4gICAgICAgID8gYCR7dGl0bGV9LnppcGBcclxuICAgICAgICA6IGAke3RpdGxlfS4ke2Zvcm1hdC50b0xvd2VyQ2FzZSgpfWA7XHJcbiAgICBpZiAoZm9ybWF0ID09PSAnQ1NWY29tbWEnIHx8IGZvcm1hdCA9PT0gJ0NTVnNlbWljb2xvbicpIHtcclxuICAgICAgb3V0cHV0TmFtZSA9IGAke3RpdGxlfS5jc3ZgO1xyXG4gICAgfVxyXG4gICAgb3V0cHV0TmFtZSA9IG91dHB1dE5hbWUucmVwbGFjZSgnICcsICdfJyk7XHJcbiAgICBvdXRwdXROYW1lID0gb3V0cHV0TmFtZVxyXG4gICAgICAubm9ybWFsaXplKCdORkQnKVxyXG4gICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXHJcbiAgICAgIC5yZXBsYWNlKC/igJkvZywgXCInXCIpO1xyXG4gICAgb3V0cHV0TmFtZUZpZWxkLnNldEF0dHJpYnV0ZSgndHlwZScsICdoaWRkZW4nKTtcclxuICAgIG91dHB1dE5hbWVGaWVsZC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnb3V0cHV0TmFtZScpO1xyXG4gICAgb3V0cHV0TmFtZUZpZWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBvdXRwdXROYW1lKTtcclxuICAgIGZvcm0uYXBwZW5kQ2hpbGQob3V0cHV0TmFtZUZpZWxkKTtcclxuXHJcbiAgICBsZXQgb2dyZUZvcm1hdCA9IEV4cG9ydFNlcnZpY2Uub2dyZUZvcm1hdHNbZm9ybWF0XTtcclxuICAgIGlmIChmb3JtYXQgPT09ICdDU1Zjb21tYScgfHwgZm9ybWF0ID09PSAnQ1NWc2VtaWNvbG9uJykge1xyXG4gICAgICBvZ3JlRm9ybWF0ID0gJ0NTVic7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvdXRwdXRGb3JtYXRGaWVsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBvdXRwdXRGb3JtYXRGaWVsZC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAnaGlkZGVuJyk7XHJcbiAgICBvdXRwdXRGb3JtYXRGaWVsZC5zZXRBdHRyaWJ1dGUoJ25hbWUnLCAnZm9ybWF0Jyk7XHJcbiAgICBvdXRwdXRGb3JtYXRGaWVsZC5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgb2dyZUZvcm1hdCk7XHJcbiAgICBmb3JtLmFwcGVuZENoaWxkKG91dHB1dEZvcm1hdEZpZWxkKTtcclxuXHJcbiAgICBmb3JtLnN1Ym1pdCgpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcclxuXHJcbiAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3RoaW5nVG9FeHBvcnQoXHJcbiAgICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICAgIGZvcm1hdDogc3RyaW5nXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBpZiAob2xGZWF0dXJlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZm9ybWF0ID09PSAnR1BYJykge1xyXG4gICAgICBjb25zdCBwb2ludE9yTGluZSA9IG9sRmVhdHVyZXMuZmluZCgob2xGZWF0dXJlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIFsnUG9pbnQnLCAnTGluZVN0cmluZycsICdNdWx0aUxpbmVTdHJpbmcnXS5pbmRleE9mKFxyXG4gICAgICAgICAgICBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRUeXBlKClcclxuICAgICAgICAgICkgPj0gMFxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gcG9pbnRPckxpbmUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,4 +10,4 @@ export const ExportFormat = strEnum([
10
10
  'CSVsemicolon'
11
11
  ]);
12
12
  export const EncodingFormat = strEnum(['UTF8', 'LATIN1']);
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDbEMsS0FBSztJQUNMLFNBQVM7SUFDVCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWM7Q0FDZixDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJFbnVtIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEV4cG9ydEZvcm1hdCA9IHN0ckVudW0oW1xyXG4gICdVUkwnLFxyXG4gICdHZW9KU09OJyxcclxuICAnR01MJyxcclxuICAnR1BYJyxcclxuICAnS01MJyxcclxuICAnU2hhcGVmaWxlJyxcclxuICAnQ1NWY29tbWEnLFxyXG4gICdDU1ZzZW1pY29sb24nXHJcbl0pO1xyXG5leHBvcnQgdHlwZSBFeHBvcnRGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRXhwb3J0Rm9ybWF0O1xyXG5cclxuZXhwb3J0IGNvbnN0IEVuY29kaW5nRm9ybWF0ID0gc3RyRW51bShbJ1VURjgnLCAnTEFUSU4xJ10pO1xyXG5leHBvcnQgdHlwZSBFbmNvZGluZ0Zvcm1hdCA9IGtleW9mIHR5cGVvZiBFbmNvZGluZ0Zvcm1hdDtcclxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9leHBvcnQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUM7SUFDbEMsS0FBSztJQUNMLFNBQVM7SUFDVCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWM7Q0FDZixDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHJFbnVtIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgRXhwb3J0Rm9ybWF0ID0gc3RyRW51bShbXG4gICdVUkwnLFxuICAnR2VvSlNPTicsXG4gICdHTUwnLFxuICAnR1BYJyxcbiAgJ0tNTCcsXG4gICdTaGFwZWZpbGUnLFxuICAnQ1NWY29tbWEnLFxuICAnQ1NWc2VtaWNvbG9uJ1xuXSk7XG5leHBvcnQgdHlwZSBFeHBvcnRGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRXhwb3J0Rm9ybWF0O1xuXG5leHBvcnQgY29uc3QgRW5jb2RpbmdGb3JtYXQgPSBzdHJFbnVtKFsnVVRGOCcsICdMQVRJTjEnXSk7XG5leHBvcnQgdHlwZSBFbmNvZGluZ0Zvcm1hdCA9IGtleW9mIHR5cGVvZiBFbmNvZGluZ0Zvcm1hdDtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { getEntityProperty, EntityTableColumnRenderer } from '@igo2/common';
1
+ import { EntityTableColumnRenderer, getEntityProperty } from '@igo2/common';
2
2
  import { downloadContent } from '@igo2/utils';
3
3
  import { ExportNothingToExportError } from './export.errors';
4
4
  export function handleFileExportError(error, messageService) {
@@ -44,4 +44,4 @@ export function entitiesToRowData(entities, columns) {
44
44
  });
45
45
  });
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFFakIseUJBQXlCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFZLEVBQ1osY0FBOEI7SUFFOUIsSUFBSSxLQUFLLFlBQVksMEJBQTBCLEVBQUU7UUFDL0MsMEJBQTBCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsT0FBTztLQUNSO0lBQ0QsY0FBYyxDQUFDLEtBQUssQ0FDbEIsNEJBQTRCLEVBQzVCLDZCQUE2QixDQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxjQUE4QjtJQUNwRSxjQUFjLENBQUMsT0FBTyxDQUNwQiw2QkFBNkIsRUFDN0IsOEJBQThCLENBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLGNBQThCO0lBQ3ZFLGNBQWMsQ0FBQyxLQUFLLENBQ2xCLDZCQUE2QixFQUM3Qiw4QkFBOEIsQ0FDL0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQWEsRUFDYixRQUFnQixFQUNoQixZQUFvQixHQUFHO0lBRXZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxlQUFlLENBQUMsVUFBVSxFQUFFLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsUUFBa0IsRUFDbEIsT0FBNEI7SUFFNUIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDckMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBeUIsRUFBRSxFQUFFO1lBQy9DLElBQUksYUFBYSxDQUFDO1lBQ2xCLElBQ0UsTUFBTSxDQUFDLFFBQVEsS0FBSyxTQUFTO2dCQUM3QixNQUFNLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDLE9BQU8sRUFDckQ7Z0JBQ0EsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7YUFDdEM7WUFDRCxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQ2xFLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGdldEVudGl0eVByb3BlcnR5LFxyXG4gIEVudGl0eVRhYmxlQ29sdW1uLFxyXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXJcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBkb3dubG9hZENvbnRlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvciB9IGZyb20gJy4vZXhwb3J0LmVycm9ycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUV4cG9ydEVycm9yKFxyXG4gIGVycm9yOiBFcnJvcixcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuKSB7XHJcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IpIHtcclxuICAgIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IoXHJcbiAgICAnaWdvLmdlby5leHBvcnQuZmFpbGVkLnRleHQnLFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0LmZhaWxlZC50aXRsZSdcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUV4cG9ydFN1Y2Nlc3MobWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7XHJcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICdpZ28uZ2VvLmV4cG9ydC5zdWNjZXNzLnRleHQnLFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0LnN1Y2Nlc3MudGl0bGUnXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge1xyXG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0Lm5vdGhpbmcudGV4dCcsXHJcbiAgICAnaWdvLmdlby5leHBvcnQubm90aGluZy50aXRsZSdcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRXhwb3J0IGFycmF5IHRvIENTVlxyXG4gKlxyXG4gKiBAcGFyYW0gcm93cyBBcnJheSBvZiBhcnJheXMgdG8gZXhwb3J0IGFzIENTVlxyXG4gKiBAcGFyYW0gc2VwYXJhdG9yIENlbGwgc2VwYXJhdG9yXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0VG9DU1YoXHJcbiAgcm93czogYW55W11bXSxcclxuICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gIHNlcGFyYXRvcjogc3RyaW5nID0gJzsnXHJcbikge1xyXG4gIGNvbnN0IGxpbmVzID0gcm93cy5tYXAoKHJvdzogYW55W11bXSwgaW5kZXg6IG51bWJlcikgPT4gcm93LmpvaW4oc2VwYXJhdG9yKSk7XHJcbiAgY29uc3QgY3N2Q29udGVudCA9IGxpbmVzLmpvaW4oJ1xcbicpO1xyXG4gIGRvd25sb2FkQ29udGVudChjc3ZDb250ZW50LCAndGV4dC9jc3Y7Y2hhcnNldD11dGYtOCcsIGZpbGVOYW1lKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhbiBhcnJheSBvZiB2YWx1ZXMgZnJvbSBhbiBhcnJheSBvZiBlbnRpdGllcy5cclxuICpcclxuICogQHBhcmFtIGVudGl0aWVzIEFycmF5IG9mIGVudGl0aWVzXHJcbiAqIEBwYXJhbSBzY29sdW1ucyBDb2x1bW5zIGRlZmluaXRpb24gb2YgdGhlIG91dHB1dCBkYXRhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZW50aXRpZXNUb1Jvd0RhdGEoXHJcbiAgZW50aXRpZXM6IG9iamVjdFtdLFxyXG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW11cclxuKSB7XHJcbiAgcmV0dXJuIGVudGl0aWVzLm1hcCgoZW50aXR5OiBvYmplY3QpID0+IHtcclxuICAgIHJldHVybiBjb2x1bW5zLm1hcCgoY29sdW1uOiBFbnRpdHlUYWJsZUNvbHVtbikgPT4ge1xyXG4gICAgICBsZXQgdmFsdWVBY2Nlc3NvcjtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGNvbHVtbi5yZW5kZXJlciA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgY29sdW1uLnJlbmRlcmVyID09PSBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLkRlZmF1bHRcclxuICAgICAgKSB7XHJcbiAgICAgICAgdmFsdWVBY2Nlc3NvciA9IGNvbHVtbi52YWx1ZUFjY2Vzc29yO1xyXG4gICAgICB9XHJcbiAgICAgIHZhbHVlQWNjZXNzb3IgPSB2YWx1ZUFjY2Vzc29yID8gdmFsdWVBY2Nlc3NvciA6IGdldEVudGl0eVByb3BlcnR5O1xyXG4gICAgICByZXR1cm4gdmFsdWVBY2Nlc3NvcihlbnRpdHksIGNvbHVtbi5uYW1lKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59XHJcbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zaGFyZWQvZXhwb3J0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2xCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0QsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxLQUFZLEVBQ1osY0FBOEI7SUFFOUIsSUFBSSxLQUFLLFlBQVksMEJBQTBCLEVBQUU7UUFDL0MsMEJBQTBCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsT0FBTztLQUNSO0lBQ0QsY0FBYyxDQUFDLEtBQUssQ0FDbEIsNEJBQTRCLEVBQzVCLDZCQUE2QixDQUM5QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxjQUE4QjtJQUNwRSxjQUFjLENBQUMsT0FBTyxDQUNwQiw2QkFBNkIsRUFDN0IsOEJBQThCLENBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLGNBQThCO0lBQ3ZFLGNBQWMsQ0FBQyxLQUFLLENBQ2xCLDZCQUE2QixFQUM3Qiw4QkFBOEIsQ0FDL0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQWEsRUFDYixRQUFnQixFQUNoQixZQUFvQixHQUFHO0lBRXZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxlQUFlLENBQUMsVUFBVSxFQUFFLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsUUFBa0IsRUFDbEIsT0FBNEI7SUFFNUIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDckMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBeUIsRUFBRSxFQUFFO1lBQy9DLElBQUksYUFBYSxDQUFDO1lBQ2xCLElBQ0UsTUFBTSxDQUFDLFFBQVEsS0FBSyxTQUFTO2dCQUM3QixNQUFNLENBQUMsUUFBUSxLQUFLLHlCQUF5QixDQUFDLE9BQU8sRUFDckQ7Z0JBQ0EsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7YUFDdEM7WUFDRCxhQUFhLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQ2xFLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEVudGl0eVRhYmxlQ29sdW1uLFxyXG4gIEVudGl0eVRhYmxlQ29sdW1uUmVuZGVyZXIsXHJcbiAgZ2V0RW50aXR5UHJvcGVydHlcclxufSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBkb3dubG9hZENvbnRlbnQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBFeHBvcnROb3RoaW5nVG9FeHBvcnRFcnJvciB9IGZyb20gJy4vZXhwb3J0LmVycm9ycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUV4cG9ydEVycm9yKFxyXG4gIGVycm9yOiBFcnJvcixcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuKSB7XHJcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXhwb3J0Tm90aGluZ1RvRXhwb3J0RXJyb3IpIHtcclxuICAgIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlKTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IoXHJcbiAgICAnaWdvLmdlby5leHBvcnQuZmFpbGVkLnRleHQnLFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0LmZhaWxlZC50aXRsZSdcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUV4cG9ydFN1Y2Nlc3MobWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7XHJcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhcclxuICAgICdpZ28uZ2VvLmV4cG9ydC5zdWNjZXNzLnRleHQnLFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0LnN1Y2Nlc3MudGl0bGUnXHJcbiAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU5vdGhpbmdUb0V4cG9ydEVycm9yKG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge1xyXG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKFxyXG4gICAgJ2lnby5nZW8uZXhwb3J0Lm5vdGhpbmcudGV4dCcsXHJcbiAgICAnaWdvLmdlby5leHBvcnQubm90aGluZy50aXRsZSdcclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRXhwb3J0IGFycmF5IHRvIENTVlxyXG4gKlxyXG4gKiBAcGFyYW0gcm93cyBBcnJheSBvZiBhcnJheXMgdG8gZXhwb3J0IGFzIENTVlxyXG4gKiBAcGFyYW0gc2VwYXJhdG9yIENlbGwgc2VwYXJhdG9yXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0VG9DU1YoXHJcbiAgcm93czogYW55W11bXSxcclxuICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gIHNlcGFyYXRvcjogc3RyaW5nID0gJzsnXHJcbikge1xyXG4gIGNvbnN0IGxpbmVzID0gcm93cy5tYXAoKHJvdzogYW55W11bXSwgaW5kZXg6IG51bWJlcikgPT4gcm93LmpvaW4oc2VwYXJhdG9yKSk7XHJcbiAgY29uc3QgY3N2Q29udGVudCA9IGxpbmVzLmpvaW4oJ1xcbicpO1xyXG4gIGRvd25sb2FkQ29udGVudChjc3ZDb250ZW50LCAndGV4dC9jc3Y7Y2hhcnNldD11dGYtOCcsIGZpbGVOYW1lKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybiBhbiBhcnJheSBvZiB2YWx1ZXMgZnJvbSBhbiBhcnJheSBvZiBlbnRpdGllcy5cclxuICpcclxuICogQHBhcmFtIGVudGl0aWVzIEFycmF5IG9mIGVudGl0aWVzXHJcbiAqIEBwYXJhbSBzY29sdW1ucyBDb2x1bW5zIGRlZmluaXRpb24gb2YgdGhlIG91dHB1dCBkYXRhXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZW50aXRpZXNUb1Jvd0RhdGEoXHJcbiAgZW50aXRpZXM6IG9iamVjdFtdLFxyXG4gIGNvbHVtbnM6IEVudGl0eVRhYmxlQ29sdW1uW11cclxuKSB7XHJcbiAgcmV0dXJuIGVudGl0aWVzLm1hcCgoZW50aXR5OiBvYmplY3QpID0+IHtcclxuICAgIHJldHVybiBjb2x1bW5zLm1hcCgoY29sdW1uOiBFbnRpdHlUYWJsZUNvbHVtbikgPT4ge1xyXG4gICAgICBsZXQgdmFsdWVBY2Nlc3NvcjtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGNvbHVtbi5yZW5kZXJlciA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgY29sdW1uLnJlbmRlcmVyID09PSBFbnRpdHlUYWJsZUNvbHVtblJlbmRlcmVyLkRlZmF1bHRcclxuICAgICAgKSB7XHJcbiAgICAgICAgdmFsdWVBY2Nlc3NvciA9IGNvbHVtbi52YWx1ZUFjY2Vzc29yO1xyXG4gICAgICB9XHJcbiAgICAgIHZhbHVlQWNjZXNzb3IgPSB2YWx1ZUFjY2Vzc29yID8gdmFsdWVBY2Nlc3NvciA6IGdldEVudGl0eVByb3BlcnR5O1xyXG4gICAgICByZXR1cm4gdmFsdWVBY2Nlc3NvcihlbnRpdHksIGNvbHVtbi5uYW1lKTtcclxuICAgIH0pO1xyXG4gIH0pO1xyXG59XHJcbiJdfQ==
@@ -36,4 +36,4 @@ export class ImportOgreServerError extends ImportError {
36
36
  Object.setPrototypeOf(this, ImportOgreServerError.prototype);
37
37
  }
38
38
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0NBQUc7QUFFekMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFDckQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQVc7SUFDeEQ7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsV0FBVztJQUN6RDtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFDOUM7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0M7UUFDRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBVztJQUNwRDtRQUNFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJbXBvcnRFcnJvciBleHRlbmRzIEVycm9yIHt9XHJcblxyXG5leHBvcnQgY2xhc3MgSW1wb3J0SW52YWxpZEZpbGVFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdJbnZhbGlkIGZpbGUnKTtcclxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnRJbnZhbGlkRmlsZUVycm9yLnByb3RvdHlwZSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdGYWlsZWQgdG8gcmVhZCBmaWxlJyk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvci5wcm90b3R5cGUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEltcG9ydE5vdGhpbmdUb0ltcG9ydEVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ05vdGhpbmcgdG8gaW1wb3J0Jyk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0Tm90aGluZ1RvSW1wb3J0RXJyb3IucHJvdG90eXBlKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRTaXplRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignRmlsZSBpcyB0b28gbGFyZ2UnKTtcclxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvci5wcm90b3R5cGUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEltcG9ydFNSU0Vycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ0ludmFsaWQgU1JTIGRlZmluaXRpb24nKTtcclxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvci5wcm90b3R5cGUpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEltcG9ydE9ncmVTZXJ2ZXJFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdFcnJvciA1MDAgd2l0aCBPR1JFJyk7XHJcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0T2dyZVNlcnZlckVycm9yLnByb3RvdHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmVycm9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVksU0FBUSxLQUFLO0NBQUc7QUFFekMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFDckQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDdEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFdBQVc7SUFDeEQ7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsV0FBVztJQUN6RDtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFDOUM7UUFDRSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBZSxTQUFRLFdBQVc7SUFDN0M7UUFDRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsV0FBVztJQUNwRDtRQUNFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBJbXBvcnRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRJbnZhbGlkRmlsZUVycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSW52YWxpZCBmaWxlJyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEltcG9ydEludmFsaWRGaWxlRXJyb3IucHJvdG90eXBlKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ZhaWxlZCB0byByZWFkIGZpbGUnKTtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSW1wb3J0VW5yZWFkYWJsZUZpbGVFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ05vdGhpbmcgdG8gaW1wb3J0Jyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEltcG9ydE5vdGhpbmdUb0ltcG9ydEVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydFNpemVFcnJvciBleHRlbmRzIEltcG9ydEVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ZpbGUgaXMgdG9vIGxhcmdlJyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEltcG9ydE5vdGhpbmdUb0ltcG9ydEVycm9yLnByb3RvdHlwZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydFNSU0Vycm9yIGV4dGVuZHMgSW1wb3J0RXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSW52YWxpZCBTUlMgZGVmaW5pdGlvbicpO1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBJbXBvcnROb3RoaW5nVG9JbXBvcnRFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRPZ3JlU2VydmVyRXJyb3IgZXh0ZW5kcyBJbXBvcnRFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdFcnJvciA1MDAgd2l0aCBPR1JFJyk7XG4gICAgT2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsIEltcG9ydE9ncmVTZXJ2ZXJFcnJvci5wcm90b3R5cGUpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydEZvcm1hdCB9IGZyb20gJy4vZXhwb3J0LnR5cGUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgY2xpZW50U2lkZUZpbGVTaXplTWF4TWI/OiBudW1iZXI7XHJcbiAgZm9yY2VOYW1pbmc/OiBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBFeHBvcnRGb3JtYXRbXTtcclxuICBjb25maWdGaWxlVG9HZW9EQlNlcnZpY2U/OiBzdHJpbmc7XHJcbiAgYWxsb3dUb1N0b3JlTGF5ZXI/OiBib29sZWFuO1xyXG4gIGltcG9ydFdpdGhTdHlsZT86IGJvb2xlYW47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc2hhcmVkL2ltcG9ydC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9ydEZvcm1hdCB9IGZyb20gJy4vZXhwb3J0LnR5cGUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgY2xpZW50U2lkZUZpbGVTaXplTWF4TWI/OiBudW1iZXI7XHJcbiAgZm9yY2VOYW1pbmc/OiBib29sZWFuO1xyXG4gIGZvcm1hdHM/OiBFeHBvcnRGb3JtYXRbXTtcclxuICBncHhBZ2dyZWdhdGVJbkNvbW1lbnQ/OiBib29sZWFuO1xyXG4gIGNvbmZpZ0ZpbGVUb0dlb0RCU2VydmljZT86IHN0cmluZztcclxuICBhbGxvd1RvU3RvcmVMYXllcj86IGJvb2xlYW47XHJcbiAgaW1wb3J0V2l0aFN0eWxlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -1,10 +1,10 @@
1
- import { Injectable } from '@angular/core';
2
1
  import { HttpClient, HttpHeaders } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
3
  import { ConfigService } from '@igo2/core';
4
4
  import { uuid } from '@igo2/utils';
5
- import { Observable } from 'rxjs';
6
5
  import * as olformat from 'ol/format';
7
- import { ImportInvalidFileError, ImportUnreadableFileError, ImportSizeError, ImportSRSError, ImportOgreServerError } from './import.errors';
6
+ import { Observable } from 'rxjs';
7
+ import { ImportInvalidFileError, ImportOgreServerError, ImportSRSError, ImportSizeError, ImportUnreadableFileError } from './import.errors';
8
8
  import { computeLayerTitleFromFile, getFileExtension } from './import.utils';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/common/http";
@@ -218,4 +218,4 @@ export class ImportService {
218
218
  providedIn: 'root'
219
219
  }]
220
220
  }], function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; }, null); })();
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFFNUMsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFLdEMsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLGNBQWMsRUFDZCxxQkFBcUIsRUFDdEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU03RSxNQUFNLE9BQU8sYUFBYTtJQTRCZDtJQUNBO0lBNUJWLE1BQU0sQ0FBQywwQkFBMEIsR0FBRztRQUNsQyxPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixHQUFHO1FBQ3hCLHFCQUFxQjtRQUNyQixzQ0FBc0M7UUFDdEMscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsTUFBTSxDQUFDLG1CQUFtQixHQUFHO1FBQzNCLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsbUJB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QVUsRUFBRSxhQUFhO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osRUFBRSxFQUFFLElBQUksRUFBRTtvQkFDVixLQUFLLEVBQUUseUJBQXlCLENBQUMsSUFBSSxDQUFDO2lCQUN2QzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixJQUFVLEVBQ1YsSUFBWSxFQUNaLGFBQXFCO1FBRXJCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUNuRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzRCxVQUFVLEVBQUUsYUFBYTtnQkFDekIsSUFBSSxFQUFFO29CQUNKLEVBQUUsRUFBRSxJQUFJLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLHlCQUF5QixDQUFDLElBQUksQ0FBQztpQkFDdkM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBcUIsQ0FBQztJQUMvQixDQUFDO3VFQTdRVSxhQUFhO2dFQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07O3VGQUVQLGFBQWE7Y0FIekIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgKiBhcyBvbGZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0SW52YWxpZEZpbGVFcnJvcixcclxuICBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yLFxyXG4gIEltcG9ydFNpemVFcnJvcixcclxuICBJbXBvcnRTUlNFcnJvcixcclxuICBJbXBvcnRPZ3JlU2VydmVyRXJyb3JcclxufSBmcm9tICcuL2ltcG9ydC5lcnJvcnMnO1xyXG5pbXBvcnQgeyBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlLCBnZXRGaWxlRXh0ZW5zaW9uIH0gZnJvbSAnLi9pbXBvcnQudXRpbHMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRTZXJ2aWNlIHtcclxuICBzdGF0aWMgZm9ybWF0RXh0ZW5zaW9uQXNzb2NpYXRpb24gPSB7XHJcbiAgICBHZW9KU09OOiAnZ2VvanNvbicsXHJcbiAgICBHTUw6ICdnbWwnLFxyXG4gICAgR1BYOiAnZ3B4JyxcclxuICAgIEtNTDogJ2ttbCcsXHJcbiAgICBTaGFwZWZpbGU6ICd6aXAnXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGFsbG93ZWRNaW1lVHlwZXMgPSBbXHJcbiAgICAnYXBwbGljYXRpb24vZ21sK3htbCcsXHJcbiAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJyxcclxuICAgICdhcHBsaWNhdGlvbi9ncHgreG1sJyxcclxuICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gIF07XHJcblxyXG4gIHN0YXRpYyBhbGxvd2VkWmlwTWltZVR5cGVzID0gW1xyXG4gICAgJ2FwcGxpY2F0aW9uL3ppcCcsXHJcbiAgICAnYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZCcsXHJcbiAgICAnYXBwbGljYXRpb24veC16aXAnXHJcbiAgXTtcclxuXHJcbiAgc3RhdGljIGFsbG93ZWRFeHRlbnNpb25zID0gWydnZW9qc29uJywgJ2ttbCcsICdncHgnLCAnanNvbicsICdnbWwnLCAnemlwJ107XHJcblxyXG4gIHByaXZhdGUgb2dyZVVybDogc3RyaW5nO1xyXG4gIHByaXZhdGUgY2xpZW50U2lkZUZpbGVTaXplTWF4OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIGNvbnN0IGltcG9ydENvbmZpZyA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcclxuICAgICAgJ2ltcG9ydEV4cG9ydCdcclxuICAgICkgYXMgSW1wb3J0RXhwb3J0U2VydmljZU9wdGlvbnM7XHJcbiAgICB0aGlzLm9ncmVVcmwgPSBpbXBvcnRDb25maWcudXJsO1xyXG4gICAgY29uc3QgY29uZmlnRmlsZVNpemVNYiA9IGltcG9ydENvbmZpZy5jbGllbnRTaWRlRmlsZVNpemVNYXhNYjtcclxuICAgIHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4ID1cclxuICAgICAgKGNvbmZpZ0ZpbGVTaXplTWIgPyBjb25maWdGaWxlU2l6ZU1iIDogMzApICogTWF0aC5wb3coMTAyNCwgMik7XHJcbiAgICBpZiAoaW1wb3J0Q29uZmlnLmZvcm1hdHMpIHtcclxuICAgICAgSW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucyA9IGltcG9ydENvbmZpZy5mb3JtYXRzXHJcbiAgICAgICAgLm1hcCgoZm9ybWF0KSA9PiBJbXBvcnRTZXJ2aWNlLmZvcm1hdEV4dGVuc2lvbkFzc29jaWF0aW9uW2Zvcm1hdF0pXHJcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gZSk7XHJcbiAgICAgIGlmIChJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zLmluY2x1ZGVzKCdnZW9qc29uJykpIHtcclxuICAgICAgICBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zLnB1c2goJ2pzb24nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1wb3J0KFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIHByb2plY3Rpb25JbiA9ICdFUFNHOjQzMjYnLFxyXG4gICAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXHJcbiAgKTogT2JzZXJ2YWJsZTxGZWF0dXJlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmltcG9ydEFzeW5jKGZpbGUsIHByb2plY3Rpb25JbiwgcHJvamVjdGlvbk91dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpbGVJbXBvcnRlcihcclxuICAgIGZpbGU6IEZpbGVcclxuICApOiAoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkgPT4gdm9pZCB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGUpO1xyXG4gICAgY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zO1xyXG4gICAgbGV0IHppcE1pbWVUeXBlcyA9IFtdO1xyXG4gICAgaWYgKGFsbG93ZWRFeHRlbnNpb25zLmluY2x1ZGVzKCd6aXAnKSkge1xyXG4gICAgICB6aXBNaW1lVHlwZXMgPSBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRaaXBNaW1lVHlwZXM7XHJcbiAgICB9XHJcbiAgICBjb25zdCBtaW1lVHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGNvbnN0IGFsbG93ZWRNaW1lVHlwZXMgPSBbXHJcbiAgICAgIC4uLkltcG9ydFNlcnZpY2UuYWxsb3dlZE1pbWVUeXBlcyxcclxuICAgICAgLi4uemlwTWltZVR5cGVzXHJcbiAgICBdO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgYWxsb3dlZE1pbWVUeXBlcy5pbmRleE9mKG1pbWVUeXBlKSA8IDAgJiZcclxuICAgICAgYWxsb3dlZEV4dGVuc2lvbnMuaW5kZXhPZihleHRlbnNpb24pIDwgMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nIHx8XHJcbiAgICAgIFsnanNvbicsICdnZW9qc29uJywgJ2ttbCcsICdncHgnXS5pbmRleE9mKGV4dGVuc2lvbikgPj0gMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmltcG9ydEZpbGU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub2dyZVVybCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmltcG9ydEZpbGVXaXRoT2dyZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRBc3luYyhcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8RmVhdHVyZVtdPiB7XHJcbiAgICBjb25zdCBkb0ltcG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPikgPT4ge1xyXG4gICAgICBpZiAoZmlsZS5zaXplID49IHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4KSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFNpemVFcnJvcigpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW1wb3J0ZXIgPSB0aGlzLmdldEZpbGVJbXBvcnRlcihmaWxlKTtcclxuICAgICAgaWYgKGltcG9ydGVyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltcG9ydGVyLmNhbGwodGhpcywgZmlsZSwgb2JzZXJ2ZXIsIHByb2plY3Rpb25JbiwgcHJvamVjdGlvbk91dCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0ltcG9ydCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGltcG9ydEZpbGUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuXHJcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHRoaXMucGFyc2VGZWF0dXJlc0Zyb21GaWxlKFxyXG4gICAgICAgICAgZmlsZSxcclxuICAgICAgICAgIGV2ZW50LnRhcmdldC5yZXN1bHQsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KGZlYXR1cmVzKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZWFkZXIub25lcnJvciA9IChldnQpID0+IHtcclxuICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRGaWxlV2l0aE9ncmUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5vZ3JlVXJsfS9jb252ZXJ0YDtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3VwbG9hZCcsIGZpbGUpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdzb3VyY2VTcnMnLCBwcm9qZWN0aW9uSW4pO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCd0YXJnZXRTcnMnLCBwcm9qZWN0aW9uT3V0KTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybWF0T3V0cHV0JywgJ0dFT0pTT04nKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnc2tpcEZhaWx1cmVzJywgJycpO1xyXG5cclxuICAgIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybURhdGEsIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkgfSkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzcG9uc2U6IHsgZXJyb3JzPzogc3RyaW5nW10gfSB8IG9iamVjdCB8IG51bGwpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UgPT09IG51bGwpIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gKHJlc3BvbnNlIGFzIGFueSkuZXJyb3JzIHx8IFtdO1xyXG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gdGhpcy5wYXJzZUZlYXR1cmVzRnJvbUdlb0pTT04oXHJcbiAgICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLFxyXG4gICAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChmZWF0dXJlcyk7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICBlcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGVyck1zZyA9IGVycm9yLmVycm9yLm1zZyB8fCAnJztcclxuICAgICAgICBpZiAoZXJyTXNnID09PSAnTm8gdmFsaWQgZmlsZXMgZm91bmQnKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgZXJyTXNnICYmXHJcbiAgICAgICAgICBlcnJNc2cuc3RhcnRXaXRoKCdFUlJPUiAxOiBGYWlsZWQgdG8gcHJvY2VzcyBTUlMgZGVmaW5pdGlvbicpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0U1JTRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydE9ncmVTZXJ2ZXJFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUZlYXR1cmVzRnJvbUZpbGUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgZGF0YTogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApOiBGZWF0dXJlW10ge1xyXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZ2V0RmlsZUV4dGVuc2lvbihmaWxlKTtcclxuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS50eXBlO1xyXG5cclxuICAgIGNvbnN0IEdlb0pTT04gPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpO1xyXG5cclxuICAgIGxldCBmb3JtYXQ7XHJcbiAgICBpZiAobWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnKSB7XHJcbiAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5LTUwoKTtcclxuICAgIH0gZWxzZSBpZiAobWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi9nbWwreG1sJykge1xyXG4gICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR01MKCk7XHJcbiAgICB9IGVsc2UgaWYgKG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vZ3B4K3htbCcpIHtcclxuICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LkdQWCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoIChleHRlbnNpb24pIHtcclxuICAgICAgICBjYXNlICdrbWwnOlxyXG4gICAgICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LktNTCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZ3B4JzpcclxuICAgICAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HUFgoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2dtbCc6XHJcbiAgICAgICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR01MKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgZm9ybWF0ID0gR2VvSlNPTjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2xGZWF0dXJlcyA9IGZvcm1hdC5yZWFkRmVhdHVyZXMoZGF0YSwge1xyXG4gICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbkluLFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbk91dFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihHZW9KU09OLndyaXRlRmVhdHVyZU9iamVjdChvbEZlYXR1cmUpLCB7XHJcbiAgICAgICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZDogdXVpZCgpLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbXB1dGVMYXllclRpdGxlRnJvbUZpbGUoZmlsZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZlYXR1cmVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUZlYXR1cmVzRnJvbUdlb0pTT04oXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgZGF0YTogb2JqZWN0LFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKTogRmVhdHVyZVtdIHtcclxuICAgIGNvbnN0IG9sRm9ybWF0ID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKTtcclxuICAgIGNvbnN0IG9sRmVhdHVyZXMgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZXMoZGF0YSk7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihvbEZvcm1hdC53cml0ZUZlYXR1cmVPYmplY3Qob2xGZWF0dXJlKSwge1xyXG4gICAgICAgIHByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcclxuICAgICAgICAgIHRpdGxlOiBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmZWF0dXJlcyBhcyBGZWF0dXJlW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbXBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25DLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxNQUFNLENBQUM7QUFHNUMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsY0FBYyxFQUNkLGVBQWUsRUFDZix5QkFBeUIsRUFDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUs3RSxNQUFNLE9BQU8sYUFBYTtJQTRCZDtJQUNBO0lBNUJWLE1BQU0sQ0FBQywwQkFBMEIsR0FBRztRQUNsQyxPQUFPLEVBQUUsU0FBUztRQUNsQixHQUFHLEVBQUUsS0FBSztRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDO0lBRUYsTUFBTSxDQUFDLGdCQUFnQixHQUFHO1FBQ3hCLHFCQUFxQjtRQUNyQixzQ0FBc0M7UUFDdEMscUJBQXFCO1FBQ3JCLGtCQUFrQjtLQUNuQixDQUFDO0lBRUYsTUFBTSxDQUFDLG1CQUFtQixHQUFHO1FBQzNCLGlCQUFpQjtRQUNqQiw4QkFBOEI7UUFDOUIsbUJB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QVUsRUFBRSxhQUFhO2dCQUN6QixJQUFJLEVBQUU7b0JBQ0osRUFBRSxFQUFFLElBQUksRUFBRTtvQkFDVixLQUFLLEVBQUUseUJBQXlCLENBQUMsSUFBSSxDQUFDO2lCQUN2QzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixJQUFVLEVBQ1YsSUFBWSxFQUNaLGFBQXFCO1FBRXJCLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQWdDLEVBQUUsRUFBRTtZQUNuRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMzRCxVQUFVLEVBQUUsYUFBYTtnQkFDekIsSUFBSSxFQUFFO29CQUNKLEVBQUUsRUFBRSxJQUFJLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLHlCQUF5QixDQUFDLElBQUksQ0FBQztpQkFDdkM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBcUIsQ0FBQztJQUMvQixDQUFDO3VFQTdRVSxhQUFhO2dFQUFiLGFBQWEsV0FBYixhQUFhLG1CQUZaLE1BQU07O3VGQUVQLGFBQWE7Y0FIekIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBPYnNlcnZlciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgSW1wb3J0SW52YWxpZEZpbGVFcnJvcixcclxuICBJbXBvcnRPZ3JlU2VydmVyRXJyb3IsXHJcbiAgSW1wb3J0U1JTRXJyb3IsXHJcbiAgSW1wb3J0U2l6ZUVycm9yLFxyXG4gIEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3JcclxufSBmcm9tICcuL2ltcG9ydC5lcnJvcnMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGNvbXB1dGVMYXllclRpdGxlRnJvbUZpbGUsIGdldEZpbGVFeHRlbnNpb24gfSBmcm9tICcuL2ltcG9ydC51dGlscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRTZXJ2aWNlIHtcclxuICBzdGF0aWMgZm9ybWF0RXh0ZW5zaW9uQXNzb2NpYXRpb24gPSB7XHJcbiAgICBHZW9KU09OOiAnZ2VvanNvbicsXHJcbiAgICBHTUw6ICdnbWwnLFxyXG4gICAgR1BYOiAnZ3B4JyxcclxuICAgIEtNTDogJ2ttbCcsXHJcbiAgICBTaGFwZWZpbGU6ICd6aXAnXHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGFsbG93ZWRNaW1lVHlwZXMgPSBbXHJcbiAgICAnYXBwbGljYXRpb24vZ21sK3htbCcsXHJcbiAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJyxcclxuICAgICdhcHBsaWNhdGlvbi9ncHgreG1sJyxcclxuICAgICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gIF07XHJcblxyXG4gIHN0YXRpYyBhbGxvd2VkWmlwTWltZVR5cGVzID0gW1xyXG4gICAgJ2FwcGxpY2F0aW9uL3ppcCcsXHJcbiAgICAnYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZCcsXHJcbiAgICAnYXBwbGljYXRpb24veC16aXAnXHJcbiAgXTtcclxuXHJcbiAgc3RhdGljIGFsbG93ZWRFeHRlbnNpb25zID0gWydnZW9qc29uJywgJ2ttbCcsICdncHgnLCAnanNvbicsICdnbWwnLCAnemlwJ107XHJcblxyXG4gIHByaXZhdGUgb2dyZVVybDogc3RyaW5nO1xyXG4gIHByaXZhdGUgY2xpZW50U2lkZUZpbGVTaXplTWF4OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIGNvbnN0IGltcG9ydENvbmZpZyA9IHRoaXMuY29uZmlnLmdldENvbmZpZyhcclxuICAgICAgJ2ltcG9ydEV4cG9ydCdcclxuICAgICkgYXMgSW1wb3J0RXhwb3J0U2VydmljZU9wdGlvbnM7XHJcbiAgICB0aGlzLm9ncmVVcmwgPSBpbXBvcnRDb25maWcudXJsO1xyXG4gICAgY29uc3QgY29uZmlnRmlsZVNpemVNYiA9IGltcG9ydENvbmZpZy5jbGllbnRTaWRlRmlsZVNpemVNYXhNYjtcclxuICAgIHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4ID1cclxuICAgICAgKGNvbmZpZ0ZpbGVTaXplTWIgPyBjb25maWdGaWxlU2l6ZU1iIDogMzApICogTWF0aC5wb3coMTAyNCwgMik7XHJcbiAgICBpZiAoaW1wb3J0Q29uZmlnLmZvcm1hdHMpIHtcclxuICAgICAgSW1wb3J0U2VydmljZS5hbGxvd2VkRXh0ZW5zaW9ucyA9IGltcG9ydENvbmZpZy5mb3JtYXRzXHJcbiAgICAgICAgLm1hcCgoZm9ybWF0KSA9PiBJbXBvcnRTZXJ2aWNlLmZvcm1hdEV4dGVuc2lvbkFzc29jaWF0aW9uW2Zvcm1hdF0pXHJcbiAgICAgICAgLmZpbHRlcigoZSkgPT4gZSk7XHJcbiAgICAgIGlmIChJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zLmluY2x1ZGVzKCdnZW9qc29uJykpIHtcclxuICAgICAgICBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zLnB1c2goJ2pzb24nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1wb3J0KFxyXG4gICAgZmlsZTogRmlsZSxcclxuICAgIHByb2plY3Rpb25JbiA9ICdFUFNHOjQzMjYnLFxyXG4gICAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXHJcbiAgKTogT2JzZXJ2YWJsZTxGZWF0dXJlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmltcG9ydEFzeW5jKGZpbGUsIHByb2plY3Rpb25JbiwgcHJvamVjdGlvbk91dCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpbGVJbXBvcnRlcihcclxuICAgIGZpbGU6IEZpbGVcclxuICApOiAoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkgPT4gdm9pZCB7XHJcbiAgICBjb25zdCBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGUpO1xyXG4gICAgY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRFeHRlbnNpb25zO1xyXG4gICAgbGV0IHppcE1pbWVUeXBlcyA9IFtdO1xyXG4gICAgaWYgKGFsbG93ZWRFeHRlbnNpb25zLmluY2x1ZGVzKCd6aXAnKSkge1xyXG4gICAgICB6aXBNaW1lVHlwZXMgPSBJbXBvcnRTZXJ2aWNlLmFsbG93ZWRaaXBNaW1lVHlwZXM7XHJcbiAgICB9XHJcbiAgICBjb25zdCBtaW1lVHlwZSA9IGZpbGUudHlwZTtcclxuICAgIGNvbnN0IGFsbG93ZWRNaW1lVHlwZXMgPSBbXHJcbiAgICAgIC4uLkltcG9ydFNlcnZpY2UuYWxsb3dlZE1pbWVUeXBlcyxcclxuICAgICAgLi4uemlwTWltZVR5cGVzXHJcbiAgICBdO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgYWxsb3dlZE1pbWVUeXBlcy5pbmRleE9mKG1pbWVUeXBlKSA8IDAgJiZcclxuICAgICAgYWxsb3dlZEV4dGVuc2lvbnMuaW5kZXhPZihleHRlbnNpb24pIDwgMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICBtaW1lVHlwZSA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nIHx8XHJcbiAgICAgIFsnanNvbicsICdnZW9qc29uJywgJ2ttbCcsICdncHgnXS5pbmRleE9mKGV4dGVuc2lvbikgPj0gMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmltcG9ydEZpbGU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub2dyZVVybCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmltcG9ydEZpbGVXaXRoT2dyZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRBc3luYyhcclxuICAgIGZpbGU6IEZpbGUsXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8RmVhdHVyZVtdPiB7XHJcbiAgICBjb25zdCBkb0ltcG9ydCA9IChvYnNlcnZlcjogT2JzZXJ2ZXI8RmVhdHVyZVtdPikgPT4ge1xyXG4gICAgICBpZiAoZmlsZS5zaXplID49IHRoaXMuY2xpZW50U2lkZUZpbGVTaXplTWF4KSB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFNpemVFcnJvcigpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaW1wb3J0ZXIgPSB0aGlzLmdldEZpbGVJbXBvcnRlcihmaWxlKTtcclxuICAgICAgaWYgKGltcG9ydGVyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltcG9ydGVyLmNhbGwodGhpcywgZmlsZSwgb2JzZXJ2ZXIsIHByb2plY3Rpb25JbiwgcHJvamVjdGlvbk91dCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShkb0ltcG9ydCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGltcG9ydEZpbGUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuXHJcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50OiBhbnkpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBmZWF0dXJlcyA9IHRoaXMucGFyc2VGZWF0dXJlc0Zyb21GaWxlKFxyXG4gICAgICAgICAgZmlsZSxcclxuICAgICAgICAgIGV2ZW50LnRhcmdldC5yZXN1bHQsXHJcbiAgICAgICAgICBwcm9qZWN0aW9uSW4sXHJcbiAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgKTtcclxuICAgICAgICBvYnNlcnZlci5uZXh0KGZlYXR1cmVzKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICByZWFkZXIub25lcnJvciA9IChldnQpID0+IHtcclxuICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHJlYWRlci5yZWFkQXNUZXh0KGZpbGUsICdVVEYtOCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbXBvcnRGaWxlV2l0aE9ncmUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgb2JzZXJ2ZXI6IE9ic2VydmVyPEZlYXR1cmVbXT4sXHJcbiAgICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICAgIHByb2plY3Rpb25PdXQ6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5vZ3JlVXJsfS9jb252ZXJ0YDtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3VwbG9hZCcsIGZpbGUpO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCdzb3VyY2VTcnMnLCBwcm9qZWN0aW9uSW4pO1xyXG4gICAgZm9ybURhdGEuYXBwZW5kKCd0YXJnZXRTcnMnLCBwcm9qZWN0aW9uT3V0KTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnZm9ybWF0T3V0cHV0JywgJ0dFT0pTT04nKTtcclxuICAgIGZvcm1EYXRhLmFwcGVuZCgnc2tpcEZhaWx1cmVzJywgJycpO1xyXG5cclxuICAgIHRoaXMuaHR0cC5wb3N0KHVybCwgZm9ybURhdGEsIHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkgfSkuc3Vic2NyaWJlKFxyXG4gICAgICAocmVzcG9uc2U6IHsgZXJyb3JzPzogc3RyaW5nW10gfSB8IG9iamVjdCB8IG51bGwpID0+IHtcclxuICAgICAgICBpZiAocmVzcG9uc2UgPT09IG51bGwpIHtcclxuICAgICAgICAgIG9ic2VydmVyLmVycm9yKG5ldyBJbXBvcnRVbnJlYWRhYmxlRmlsZUVycm9yKCkpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZXJyb3JzID0gKHJlc3BvbnNlIGFzIGFueSkuZXJyb3JzIHx8IFtdO1xyXG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGZlYXR1cmVzID0gdGhpcy5wYXJzZUZlYXR1cmVzRnJvbUdlb0pTT04oXHJcbiAgICAgICAgICAgIGZpbGUsXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLFxyXG4gICAgICAgICAgICBwcm9qZWN0aW9uT3V0XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChmZWF0dXJlcyk7XHJcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICBlcnJvci5lcnJvci5jYXVnaHQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IGVyck1zZyA9IGVycm9yLmVycm9yLm1zZyB8fCAnJztcclxuICAgICAgICBpZiAoZXJyTXNnID09PSAnTm8gdmFsaWQgZmlsZXMgZm91bmQnKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0SW52YWxpZEZpbGVFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgICAgZXJyTXNnICYmXHJcbiAgICAgICAgICBlcnJNc2cuc3RhcnRXaXRoKCdFUlJPUiAxOiBGYWlsZWQgdG8gcHJvY2VzcyBTUlMgZGVmaW5pdGlvbicpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBvYnNlcnZlci5lcnJvcihuZXcgSW1wb3J0U1JTRXJyb3IoKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChlcnJvci5zdGF0dXMgPT09IDUwMCkge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydE9ncmVTZXJ2ZXJFcnJvcigpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IobmV3IEltcG9ydFVucmVhZGFibGVGaWxlRXJyb3IoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUZlYXR1cmVzRnJvbUZpbGUoXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgZGF0YTogc3RyaW5nLFxyXG4gICAgcHJvamVjdGlvbkluOiBzdHJpbmcsXHJcbiAgICBwcm9qZWN0aW9uT3V0OiBzdHJpbmdcclxuICApOiBGZWF0dXJlW10ge1xyXG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZ2V0RmlsZUV4dGVuc2lvbihmaWxlKTtcclxuICAgIGNvbnN0IG1pbWVUeXBlID0gZmlsZS50eXBlO1xyXG5cclxuICAgIGNvbnN0IEdlb0pTT04gPSBuZXcgb2xmb3JtYXQuR2VvSlNPTigpO1xyXG5cclxuICAgIGxldCBmb3JtYXQ7XHJcbiAgICBpZiAobWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnKSB7XHJcbiAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5LTUwoKTtcclxuICAgIH0gZWxzZSBpZiAobWltZVR5cGUgPT09ICdhcHBsaWNhdGlvbi9nbWwreG1sJykge1xyXG4gICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR01MKCk7XHJcbiAgICB9IGVsc2UgaWYgKG1pbWVUeXBlID09PSAnYXBwbGljYXRpb24vZ3B4K3htbCcpIHtcclxuICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LkdQWCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc3dpdGNoIChleHRlbnNpb24pIHtcclxuICAgICAgICBjYXNlICdrbWwnOlxyXG4gICAgICAgICAgZm9ybWF0ID0gbmV3IG9sZm9ybWF0LktNTCgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZ3B4JzpcclxuICAgICAgICAgIGZvcm1hdCA9IG5ldyBvbGZvcm1hdC5HUFgoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2dtbCc6XHJcbiAgICAgICAgICBmb3JtYXQgPSBuZXcgb2xmb3JtYXQuR01MKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgZm9ybWF0ID0gR2VvSlNPTjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2xGZWF0dXJlcyA9IGZvcm1hdC5yZWFkRmVhdHVyZXMoZGF0YSwge1xyXG4gICAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbkluLFxyXG4gICAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbk91dFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihHZW9KU09OLndyaXRlRmVhdHVyZU9iamVjdChvbEZlYXR1cmUpLCB7XHJcbiAgICAgICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgICAgICBtZXRhOiB7XHJcbiAgICAgICAgICBpZDogdXVpZCgpLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbXB1dGVMYXllclRpdGxlRnJvbUZpbGUoZmlsZSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZlYXR1cmVzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXJzZUZlYXR1cmVzRnJvbUdlb0pTT04oXHJcbiAgICBmaWxlOiBGaWxlLFxyXG4gICAgZGF0YTogb2JqZWN0LFxyXG4gICAgcHJvamVjdGlvbk91dDogc3RyaW5nXHJcbiAgKTogRmVhdHVyZVtdIHtcclxuICAgIGNvbnN0IG9sRm9ybWF0ID0gbmV3IG9sZm9ybWF0Lkdlb0pTT04oKTtcclxuICAgIGNvbnN0IG9sRmVhdHVyZXMgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZXMoZGF0YSk7XHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihvbEZvcm1hdC53cml0ZUZlYXR1cmVPYmplY3Qob2xGZWF0dXJlKSwge1xyXG4gICAgICAgIHByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICAgICAgbWV0YToge1xyXG4gICAgICAgICAgaWQ6IHV1aWQoKSxcclxuICAgICAgICAgIHRpdGxlOiBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGUpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmZWF0dXJlcyBhcyBGZWF0dXJlW107XHJcbiAgfVxyXG59XHJcbiJdfQ==