@igo2/geo 17.0.0-next.0 → 17.0.0-next.10

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 (598) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/assets/images/north-direction.png +0 -0
  7. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +10 -8
  8. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +11 -10
  9. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +7 -6
  10. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +5 -5
  11. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +22 -20
  12. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +8 -8
  13. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +34 -16
  14. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +9 -5
  15. package/esm2022/lib/catalog/catalog-library/index.mjs +2 -7
  16. package/esm2022/lib/catalog/catalog.module.mjs +15 -8
  17. package/esm2022/lib/catalog/index.mjs +2 -7
  18. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  19. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  20. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  21. package/esm2022/lib/catalog/shared/catalog.service.mjs +12 -8
  22. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  23. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  24. package/esm2022/lib/datasource/index.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/capabilities.interface.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/capabilities.service.mjs +4 -4
  27. package/esm2022/lib/datasource/shared/datasource.service.mjs +10 -8
  28. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/index.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +3 -3
  41. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  43. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  44. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +3 -3
  45. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +20 -16
  46. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  47. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +9 -9
  48. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  49. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +9 -9
  50. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  51. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
  52. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  53. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +9 -2
  54. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  55. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +72 -41
  56. package/esm2022/lib/directions/directions.component.mjs +74 -20
  57. package/esm2022/lib/directions/directions.module.mjs +6 -12
  58. package/esm2022/lib/directions/directions.provider.mjs +16 -0
  59. package/esm2022/lib/directions/index.mjs +2 -1
  60. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  61. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  62. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  63. package/esm2022/lib/directions/shared/directions.service.mjs +37 -27
  64. package/esm2022/lib/directions/shared/directions.utils.mjs +22 -22
  65. package/esm2022/lib/directions/shared/index.mjs +1 -1
  66. package/esm2022/lib/directions/shared/store.mjs +2 -2
  67. package/esm2022/lib/download/download-button/download-button.component.mjs +7 -7
  68. package/esm2022/lib/download/download-button/index.mjs +1 -1
  69. package/esm2022/lib/download/download.module.mjs +5 -5
  70. package/esm2022/lib/download/index.mjs +1 -1
  71. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  72. package/esm2022/lib/download/shared/download.service.mjs +6 -6
  73. package/esm2022/lib/download/shared/index.mjs +1 -1
  74. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +7 -7
  75. package/esm2022/lib/draw/draw/draw-popup.component.mjs +9 -9
  76. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +10 -7
  77. package/esm2022/lib/draw/draw/draw.component.mjs +11 -11
  78. package/esm2022/lib/draw/draw/draw.module.mjs +5 -5
  79. package/esm2022/lib/draw/drawingTool.module.mjs +5 -5
  80. package/esm2022/lib/draw/index.mjs +1 -1
  81. package/esm2022/lib/draw/shared/draw-icon.service.mjs +6 -6
  82. package/esm2022/lib/draw/shared/draw.enum.mjs +1 -1
  83. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  84. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  85. package/esm2022/lib/draw/shared/index.mjs +1 -1
  86. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  87. package/esm2022/lib/environment/index.mjs +1 -1
  88. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +18 -14
  89. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +4 -4
  90. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +13 -7
  91. package/esm2022/lib/feature/feature-details/index.mjs +2 -7
  92. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +7 -7
  93. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +5 -5
  94. package/esm2022/lib/feature/feature.module.mjs +15 -8
  95. package/esm2022/lib/feature/index.mjs +2 -7
  96. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  97. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  98. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  99. package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
  100. package/esm2022/lib/feature/shared/index.mjs +1 -1
  101. package/esm2022/lib/feature/shared/store.mjs +2 -2
  102. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
  103. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
  104. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
  105. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  106. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
  107. package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
  108. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  109. package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
  110. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  111. package/esm2022/lib/filter/filter.module.mjs +8 -8
  112. package/esm2022/lib/filter/index.mjs +2 -36
  113. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +8 -8
  114. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +7 -7
  115. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +11 -11
  116. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +9 -9
  117. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +21 -23
  118. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +5 -5
  119. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +8 -8
  120. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +4 -4
  121. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +7 -7
  122. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +4 -4
  123. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +3 -3
  124. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  125. package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
  126. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +3 -3
  127. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +9 -7
  128. package/esm2022/lib/filter/shared/time-filter.service.mjs +3 -3
  129. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +27 -25
  130. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +9 -9
  131. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +8 -8
  132. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +8 -8
  133. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +12 -12
  134. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +8 -8
  135. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +4 -4
  136. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -5
  137. package/esm2022/lib/geo.module.mjs +5 -5
  138. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +5 -5
  139. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +8 -8
  140. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +9 -5
  141. package/esm2022/lib/geometry/geometry-form-field/index.mjs +3 -8
  142. package/esm2022/lib/geometry/geometry.module.mjs +5 -5
  143. package/esm2022/lib/geometry/index.mjs +1 -1
  144. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  145. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  146. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  147. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  148. package/esm2022/lib/geometry/shared/geometry.errors.mjs +1 -1
  149. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  150. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  151. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  152. package/esm2022/lib/import-export/export-button/export-button.component.mjs +7 -7
  153. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  154. package/esm2022/lib/import-export/import-export/import-export.component.mjs +34 -26
  155. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  156. package/esm2022/lib/import-export/import-export.module.mjs +10 -5
  157. package/esm2022/lib/import-export/index.mjs +2 -9
  158. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +17 -65
  159. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  160. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  161. package/esm2022/lib/import-export/shared/export.service.mjs +13 -7
  162. package/esm2022/lib/import-export/shared/export.type.mjs +1 -1
  163. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  164. package/esm2022/lib/import-export/shared/import.errors.mjs +1 -1
  165. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  166. package/esm2022/lib/import-export/shared/import.service.mjs +6 -6
  167. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  168. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  169. package/esm2022/lib/layer/index.mjs +2 -19
  170. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +9 -9
  171. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +24 -20
  172. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +6 -6
  173. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +4 -4
  174. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +7 -7
  175. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +6 -6
  176. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +9 -8
  177. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +8 -8
  178. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +3 -3
  179. package/esm2022/lib/layer/layer.module.mjs +16 -5
  180. package/esm2022/lib/layer/shared/layer.service.mjs +11 -11
  181. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  182. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  183. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  184. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  185. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  186. package/esm2022/lib/layer/shared/layers/legend.interface.mjs +1 -1
  187. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  188. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  189. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  190. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  191. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  192. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  193. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +7 -7
  194. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  195. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  196. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  197. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +1 -1
  198. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +9 -9
  199. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +4 -4
  200. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +13 -13
  201. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +8 -8
  202. package/esm2022/lib/map/index.mjs +1 -32
  203. package/esm2022/lib/map/info-section/info-section.component.mjs +4 -4
  204. package/esm2022/lib/map/map-browser/map-browser.component.mjs +6 -6
  205. package/esm2022/lib/map/map-center/map-center.component.mjs +4 -4
  206. package/esm2022/lib/map/map.module.mjs +36 -36
  207. package/esm2022/lib/map/menu-button/menu-button.component.mjs +9 -9
  208. package/esm2022/lib/map/offline-button/offline-button.component.mjs +7 -7
  209. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +7 -7
  210. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  211. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  212. package/esm2022/lib/map/shared/hover-feature.directive.mjs +7 -7
  213. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +3 -3
  214. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +6 -6
  215. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  216. package/esm2022/lib/map/shared/map.mjs +1 -1
  217. package/esm2022/lib/map/shared/map.service.mjs +3 -3
  218. package/esm2022/lib/map/shared/mapOffline.directive.mjs +9 -7
  219. package/esm2022/lib/map/shared/projection.service.mjs +6 -6
  220. package/esm2022/lib/map/shared/projection.utils.mjs +60 -1
  221. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +4 -4
  222. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  223. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +12 -12
  224. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +6 -6
  225. package/esm2022/lib/measure/index.mjs +1 -1
  226. package/esm2022/lib/measure/measure.module.mjs +5 -5
  227. package/esm2022/lib/measure/measurer/index.mjs +1 -1
  228. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +4 -4
  229. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +7 -7
  230. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +7 -7
  231. package/esm2022/lib/measure/measurer/measurer.component.mjs +20 -18
  232. package/esm2022/lib/measure/measurer/measurer.module.mjs +5 -5
  233. package/esm2022/lib/measure/shared/index.mjs +1 -1
  234. package/esm2022/lib/measure/shared/measure.enum.mjs +1 -1
  235. package/esm2022/lib/measure/shared/measure.interfaces.mjs +1 -1
  236. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  237. package/esm2022/lib/metadata/index.mjs +2 -6
  238. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  239. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +11 -11
  240. package/esm2022/lib/metadata/metadata.module.mjs +9 -5
  241. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  242. package/esm2022/lib/metadata/shared/metadata.interface.mjs +1 -1
  243. package/esm2022/lib/metadata/shared/metadata.service.mjs +4 -4
  244. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +6 -6
  245. package/esm2022/lib/offline/geoDB/geoDB.enums.mjs +1 -1
  246. package/esm2022/lib/offline/geoDB/geoDB.interface.mjs +1 -1
  247. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +8 -10
  248. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  249. package/esm2022/lib/offline/index.mjs +1 -1
  250. package/esm2022/lib/offline/layerDB/index.mjs +1 -1
  251. package/esm2022/lib/offline/layerDB/layerDB.interface.mjs +1 -1
  252. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +4 -4
  253. package/esm2022/lib/offline/shared/geo-network.service.mjs +6 -6
  254. package/esm2022/lib/offline/shared/index.mjs +1 -1
  255. package/esm2022/lib/overlay/index.mjs +1 -1
  256. package/esm2022/lib/overlay/overlay.module.mjs +5 -5
  257. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  258. package/esm2022/lib/overlay/shared/overlay.directive.mjs +4 -4
  259. package/esm2022/lib/overlay/shared/overlay.enum.mjs +1 -1
  260. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  261. package/esm2022/lib/overlay/shared/overlay.service.mjs +4 -4
  262. package/esm2022/lib/overlay/shared/overlay.utils.mjs +1 -1
  263. package/esm2022/lib/print/index.mjs +1 -1
  264. package/esm2022/lib/print/print/print.component.mjs +6 -6
  265. package/esm2022/lib/print/print-form/index.mjs +1 -1
  266. package/esm2022/lib/print/print-form/print-form.component.mjs +22 -10
  267. package/esm2022/lib/print/print.module.mjs +5 -5
  268. package/esm2022/lib/print/shared/geopdf.mjs +1 -1
  269. package/esm2022/lib/print/shared/index.mjs +1 -1
  270. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  271. package/esm2022/lib/print/shared/print.service.mjs +179 -126
  272. package/esm2022/lib/print/shared/print.type.mjs +1 -1
  273. package/esm2022/lib/query/index.mjs +1 -1
  274. package/esm2022/lib/query/query.module.mjs +6 -6
  275. package/esm2022/lib/query/shared/index.mjs +2 -1
  276. package/esm2022/lib/query/shared/query-search-source.mjs +4 -4
  277. package/esm2022/lib/query/shared/query-search-source.providers.mjs +2 -2
  278. package/esm2022/lib/query/shared/query.directive.mjs +4 -4
  279. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  280. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  281. package/esm2022/lib/query/shared/query.service.mjs +6 -6
  282. package/esm2022/lib/query/shared/query.utils.mjs +1 -1
  283. package/esm2022/lib/search/index.mjs +2 -13
  284. package/esm2022/lib/search/search-bar/search-bar.component.mjs +13 -10
  285. package/esm2022/lib/search/search-bar/search-bar.module.mjs +5 -5
  286. package/esm2022/lib/search/search-results/index.mjs +2 -7
  287. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +10 -10
  288. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -12
  289. package/esm2022/lib/search/search-results/search-results-item.component.mjs +7 -6
  290. package/esm2022/lib/search/search-results/search-results.component.mjs +12 -10
  291. package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
  292. package/esm2022/lib/search/search-results/search-results.module.mjs +5 -5
  293. package/esm2022/lib/search/search-selector/search-selector.component.mjs +7 -7
  294. package/esm2022/lib/search/search-selector/search-selector.module.mjs +5 -5
  295. package/esm2022/lib/search/search-settings/search-settings.component.mjs +21 -19
  296. package/esm2022/lib/search/search-settings/search-settings.module.mjs +5 -5
  297. package/esm2022/lib/search/search.module.mjs +19 -5
  298. package/esm2022/lib/search/shared/index.mjs +2 -1
  299. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +7 -7
  300. package/esm2022/lib/search/shared/search-source-service.providers.mjs +1 -1
  301. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  302. package/esm2022/lib/search/shared/search.enums.mjs +1 -1
  303. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  304. package/esm2022/lib/search/shared/search.provider.mjs +20 -0
  305. package/esm2022/lib/search/shared/search.service.mjs +32 -13
  306. package/esm2022/lib/search/shared/search.utils.mjs +2 -2
  307. package/esm2022/lib/search/shared/sources/cadastre.mjs +10 -8
  308. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +11 -2
  309. package/esm2022/lib/search/shared/sources/coordinates.interfaces.mjs +1 -1
  310. package/esm2022/lib/search/shared/sources/coordinates.mjs +13 -11
  311. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +14 -2
  312. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +32 -0
  313. package/esm2022/lib/search/shared/sources/icherche.interfaces.mjs +1 -1
  314. package/esm2022/lib/search/shared/sources/icherche.mjs +24 -17
  315. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +23 -2
  316. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  317. package/esm2022/lib/search/shared/sources/ilayer.mjs +12 -10
  318. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +14 -2
  319. package/esm2022/lib/search/shared/sources/index.mjs +1 -1
  320. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  321. package/esm2022/lib/search/shared/sources/nominatim.mjs +8 -8
  322. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +10 -2
  323. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
  324. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  325. package/esm2022/lib/search/shared/sources/storedqueries.interfaces.mjs +1 -1
  326. package/esm2022/lib/search/shared/sources/storedqueries.mjs +15 -13
  327. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +17 -2
  328. package/esm2022/lib/search/shared/sources/workspace.interfaces.mjs +1 -1
  329. package/esm2022/lib/search/shared/sources/workspace.mjs +10 -8
  330. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +11 -2
  331. package/esm2022/lib/style/index.mjs +1 -1
  332. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  333. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  334. package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
  335. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  336. package/esm2022/lib/style/shared/font.enum.mjs +1 -1
  337. package/esm2022/lib/style/shared/index.mjs +1 -1
  338. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  339. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  340. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  341. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  342. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  343. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  344. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  345. package/esm2022/lib/style/style-list/index.mjs +1 -1
  346. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  347. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  348. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  349. package/esm2022/lib/style/style-list/style-list.service.mjs +4 -4
  350. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  351. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +8 -8
  352. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  353. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  354. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +8 -8
  355. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  356. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +6 -6
  357. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  358. package/esm2022/lib/style/style-modal/shared/style-modal.interface.mjs +1 -1
  359. package/esm2022/lib/style/style-service/draw-style.service.mjs +4 -4
  360. package/esm2022/lib/style/style-service/index.mjs +1 -1
  361. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  362. package/esm2022/lib/style/style.module.mjs +5 -5
  363. package/esm2022/lib/toast/index.mjs +1 -1
  364. package/esm2022/lib/toast/toast.component.mjs +8 -6
  365. package/esm2022/lib/toast/toast.module.mjs +5 -5
  366. package/esm2022/lib/utils/googleLinks.mjs +1 -1
  367. package/esm2022/lib/utils/id-generator.mjs +1 -1
  368. package/esm2022/lib/utils/index.mjs +1 -1
  369. package/esm2022/lib/utils/osmLinks.mjs +1 -1
  370. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  371. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.interface.mjs +1 -1
  372. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +6 -6
  373. package/esm2022/lib/wkt/index.mjs +1 -1
  374. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  375. package/esm2022/lib/wkt/shared/wkt.service.mjs +18 -18
  376. package/esm2022/lib/wkt/wkt.module.mjs +5 -5
  377. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +7 -7
  378. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +5 -5
  379. package/esm2022/lib/workspace/confirmation-popup/index.mjs +1 -1
  380. package/esm2022/lib/workspace/index.mjs +1 -1
  381. package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
  382. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +19 -14
  383. package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
  384. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +14 -11
  385. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  386. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
  387. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +14 -11
  388. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +12 -9
  389. package/esm2022/lib/workspace/shared/workspace.utils.mjs +4 -4
  390. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  391. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +5 -5
  392. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +5 -5
  393. package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
  394. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -6
  395. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +5 -5
  396. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -4
  397. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +5 -5
  398. package/esm2022/lib/workspace/workspace.module.mjs +6 -6
  399. package/esm2022/public_api.mjs +1 -1
  400. package/fesm2022/igo2-geo.mjs +30613 -30234
  401. package/fesm2022/igo2-geo.mjs.map +1 -1
  402. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +2 -2
  403. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  404. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  405. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +3 -2
  406. package/lib/catalog/catalog-library/catalog-library.component.d.ts +5 -2
  407. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -0
  408. package/lib/catalog/catalog-library/index.d.ts +1 -3
  409. package/lib/catalog/catalog.module.d.ts +6 -3
  410. package/lib/catalog/index.d.ts +1 -2
  411. package/lib/catalog/shared/catalog.interface.d.ts +1 -1
  412. package/lib/catalog/shared/catalog.service.d.ts +3 -1
  413. package/lib/datasource/shared/datasource.service.d.ts +2 -1
  414. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -3
  415. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +2 -3
  416. package/lib/datasource/shared/datasources/datasource.d.ts +1 -2
  417. package/lib/datasource/shared/datasources/feature-datasource.d.ts +2 -3
  418. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -3
  419. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -2
  420. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +2 -3
  421. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +1 -2
  422. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +1 -2
  423. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  424. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +3 -1
  425. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +1 -1
  426. package/lib/directions/directions-results/directions-results.component.d.ts +1 -1
  427. package/lib/directions/directions-sources/directions-source.d.ts +7 -3
  428. package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
  429. package/lib/directions/directions-sources/directions-source.provider.d.ts +3 -1
  430. package/lib/directions/directions-sources/osrm-directions-source.d.ts +20 -11
  431. package/lib/directions/directions.component.d.ts +16 -4
  432. package/lib/directions/directions.module.d.ts +5 -6
  433. package/lib/directions/directions.provider.d.ts +3 -0
  434. package/lib/directions/index.d.ts +1 -0
  435. package/lib/directions/shared/directions.interface.d.ts +2 -9
  436. package/lib/directions/shared/directions.service.d.ts +7 -3
  437. package/lib/directions/shared/directions.utils.d.ts +2 -2
  438. package/lib/directions/shared/store.d.ts +1 -1
  439. package/lib/download/shared/download.service.d.ts +1 -1
  440. package/lib/draw/draw/draw-popup.component.d.ts +1 -1
  441. package/lib/draw/draw/draw-shorcuts.component.d.ts +2 -0
  442. package/lib/draw/draw/draw.component.d.ts +2 -2
  443. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  444. package/lib/environment/environment.interface.d.ts +2 -1
  445. package/lib/feature/feature-details/feature-details.component.d.ts +4 -3
  446. package/lib/feature/feature-details/feature-details.module.d.ts +3 -0
  447. package/lib/feature/feature-details/index.d.ts +1 -3
  448. package/lib/feature/feature-form/feature-form.component.d.ts +1 -2
  449. package/lib/feature/feature.module.d.ts +6 -3
  450. package/lib/feature/index.d.ts +1 -2
  451. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  452. package/lib/feature/shared/feature.utils.d.ts +1 -1
  453. package/lib/feature/shared/store.d.ts +1 -1
  454. package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
  455. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  456. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  457. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  458. package/lib/feature/shared/strategies/loading.d.ts +1 -1
  459. package/lib/feature/shared/strategies/search.d.ts +1 -1
  460. package/lib/feature/shared/strategies/selection.d.ts +1 -1
  461. package/lib/filter/filter.module.d.ts +19 -0
  462. package/lib/filter/index.d.ts +1 -16
  463. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +2 -2
  464. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -3
  465. package/lib/filter/shared/ogc-filter.d.ts +7 -0
  466. package/lib/filter/shared/ogc-filter.interface.d.ts +2 -3
  467. package/lib/filter/shared/spatial-filter.service.d.ts +2 -1
  468. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +3 -2
  469. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -2
  470. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  471. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -2
  472. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +3 -0
  473. package/lib/geometry/geometry-form-field/index.d.ts +2 -4
  474. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  475. package/lib/geometry/shared/controls/slice.d.ts +4 -4
  476. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  477. package/lib/import-export/import-export/import-export.component.d.ts +6 -3
  478. package/lib/import-export/import-export.module.d.ts +4 -0
  479. package/lib/import-export/index.d.ts +1 -4
  480. package/lib/import-export/shared/drop-geo-file.directive.d.ts +4 -4
  481. package/lib/import-export/shared/export.service.d.ts +1 -1
  482. package/lib/import-export/shared/export.utils.d.ts +2 -2
  483. package/lib/import-export/shared/import.service.d.ts +1 -1
  484. package/lib/import-export/shared/import.utils.d.ts +2 -2
  485. package/lib/layer/index.d.ts +1 -8
  486. package/lib/layer/layer-item/layer-item.component.d.ts +1 -1
  487. package/lib/layer/layer-legend/layer-legend.component.d.ts +2 -1
  488. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +1 -1
  489. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +1 -1
  490. package/lib/layer/layer.module.d.ts +10 -0
  491. package/lib/layer/shared/layer.service.d.ts +1 -1
  492. package/lib/layer/shared/layers/image-layer.d.ts +1 -1
  493. package/lib/layer/shared/layers/layer.d.ts +1 -1
  494. package/lib/layer/shared/layers/layer.interface.d.ts +1 -1
  495. package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
  496. package/lib/layer/shared/layers/vector-layer.d.ts +4 -5
  497. package/lib/layer/shared/layers/vector-layer.interface.d.ts +1 -2
  498. package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
  499. package/lib/layer/utils/image-watcher.d.ts +1 -1
  500. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +1 -1
  501. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  502. package/lib/map/home-extent-button/home-extent-button.component.d.ts +1 -1
  503. package/lib/map/index.d.ts +0 -14
  504. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  505. package/lib/map/map.module.d.ts +32 -15
  506. package/lib/map/menu-button/menu-button.component.d.ts +1 -1
  507. package/lib/map/shared/controllers/geolocation.d.ts +2 -1
  508. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  509. package/lib/map/shared/map-pointer-position.directive.d.ts +1 -1
  510. package/lib/map/shared/map.d.ts +2 -1
  511. package/lib/map/shared/mapOffline.directive.d.ts +2 -1
  512. package/lib/map/shared/projection.service.d.ts +1 -1
  513. package/lib/map/shared/projection.utils.d.ts +11 -0
  514. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +1 -1
  515. package/lib/measure/measurer/measurer.component.d.ts +3 -2
  516. package/lib/measure/shared/measure.utils.d.ts +1 -1
  517. package/lib/metadata/index.d.ts +1 -2
  518. package/lib/metadata/metadata.module.d.ts +2 -0
  519. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  520. package/lib/offline/geoDB/geoDB.service.d.ts +2 -3
  521. package/lib/offline/shared/geo-network.service.d.ts +1 -1
  522. package/lib/print/print-form/print-form.component.d.ts +5 -2
  523. package/lib/print/shared/print.interface.d.ts +1 -0
  524. package/lib/print/shared/print.service.d.ts +31 -18
  525. package/lib/query/query.module.d.ts +1 -1
  526. package/lib/query/shared/index.d.ts +1 -0
  527. package/lib/query/shared/query-search-source.providers.d.ts +1 -1
  528. package/lib/query/shared/query.interfaces.d.ts +1 -2
  529. package/lib/query/shared/query.service.d.ts +1 -1
  530. package/lib/search/index.d.ts +1 -5
  531. package/lib/search/search-bar/search-bar.component.d.ts +3 -2
  532. package/lib/search/search-results/index.d.ts +1 -3
  533. package/lib/search/search-results/save-feature-dialog.component.d.ts +1 -1
  534. package/lib/search/search-results/search-results-add-button.component.d.ts +3 -3
  535. package/lib/search/search-results/search-results.component.d.ts +2 -2
  536. package/lib/search/search-results/search-results.directive.d.ts +3 -0
  537. package/lib/search/search-settings/search-settings.component.d.ts +2 -1
  538. package/lib/search/search.module.d.ts +8 -0
  539. package/lib/search/shared/index.d.ts +1 -0
  540. package/lib/search/shared/search-pointer-summary.directive.d.ts +1 -1
  541. package/lib/search/shared/search-source.service.d.ts +1 -1
  542. package/lib/search/shared/search.interfaces.d.ts +12 -10
  543. package/lib/search/shared/search.provider.d.ts +8 -0
  544. package/lib/search/shared/search.service.d.ts +8 -3
  545. package/lib/search/shared/sources/cadastre.d.ts +2 -1
  546. package/lib/search/shared/sources/cadastre.providers.d.ts +5 -1
  547. package/lib/search/shared/sources/coordinates.d.ts +2 -1
  548. package/lib/search/shared/sources/coordinates.providers.d.ts +5 -1
  549. package/lib/search/shared/sources/icherche-icons.d.ts +7 -0
  550. package/lib/search/shared/sources/icherche.d.ts +2 -1
  551. package/lib/search/shared/sources/icherche.providers.d.ts +9 -13
  552. package/lib/search/shared/sources/ilayer.d.ts +2 -1
  553. package/lib/search/shared/sources/ilayer.providers.d.ts +5 -1
  554. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  555. package/lib/search/shared/sources/nominatim.providers.d.ts +4 -1
  556. package/lib/search/shared/sources/source.d.ts +2 -2
  557. package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
  558. package/lib/search/shared/sources/storedqueries.d.ts +2 -1
  559. package/lib/search/shared/sources/storedqueries.providers.d.ts +6 -1
  560. package/lib/search/shared/sources/workspace.d.ts +2 -1
  561. package/lib/search/shared/sources/workspace.providers.d.ts +5 -1
  562. package/lib/style/shared/vector/conversion.utils.d.ts +2 -3
  563. package/lib/toast/toast.component.d.ts +1 -1
  564. package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +1 -1
  565. package/lib/wkt/shared/wkt.service.d.ts +1 -1
  566. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  567. package/lib/workspace/shared/edition-workspace.d.ts +2 -2
  568. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -2
  569. package/lib/workspace/shared/feature-workspace.d.ts +1 -1
  570. package/lib/workspace/shared/feature-workspace.service.d.ts +2 -1
  571. package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
  572. package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -1
  573. package/lib/workspace/shared/wms-workspace.service.d.ts +2 -1
  574. package/lib/workspace/shared/workspace.utils.d.ts +2 -1
  575. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +2 -1
  576. package/lib/workspace/widgets/widgets.d.ts +1 -1
  577. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  578. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  579. package/lib/workspace/workspace.module.d.ts +1 -1
  580. package/locale/en.geo.json +824 -818
  581. package/locale/fr.geo.json +825 -819
  582. package/package.json +6 -6
  583. package/src/_index.scss +2 -2
  584. package/src/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -22
  585. package/src/lib/catalog/catalog.theming.scss +5 -5
  586. package/src/lib/directions/directions-results/directions-results.theming.scss +10 -10
  587. package/src/lib/directions/directions.theming.scss +6 -6
  588. package/src/lib/draw/draw.theming.scss +32 -32
  589. package/src/lib/feature/feature-details/feature-details.theming.scss +16 -16
  590. package/src/lib/feature/feature.theming.scss +4 -4
  591. package/src/lib/measure/measure.theming.scss +5 -5
  592. package/src/lib/measure/measurer/measurer.theming.scss +26 -26
  593. package/src/lib/search/search-bar/search-bar.theming.scss +33 -33
  594. package/src/lib/search/search-results/search-results-item.theme.scss +20 -20
  595. package/src/lib/search/search.theming.scss +7 -7
  596. package/src/lib/workspace/confirmation-popup/confirmation-popup.theming.scss +14 -14
  597. package/src/lib/workspace/workspace.theming.scss +6 -6
  598. package/style/style.css +2 -1
@@ -1,7 +1,7 @@
1
1
  import { AsyncPipe } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
3
- import { getEntityRevision } from '@igo2/common';
4
- import { FormComponent } from '@igo2/common';
3
+ import { getEntityRevision } from '@igo2/common/entity';
4
+ import { FormComponent } from '@igo2/common/form';
5
5
  import { uuid } from '@igo2/utils';
6
6
  import { BehaviorSubject } from 'rxjs';
7
7
  import { FEATURE } from '../shared/feature.enums';
@@ -83,12 +83,12 @@ export class FeatureFormComponent {
83
83
  properties
84
84
  };
85
85
  }
86
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FeatureFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: FeatureFormComponent, isStandalone: true, selector: "igo-feature-form", inputs: { form: "form", feature: "feature" }, outputs: { submitForm: "submitForm" }, viewQueries: [{ propertyName: "igoForm", first: true, predicate: ["igoForm"], descendants: true, static: true }], ngImport: i0, template: "<igo-form\r\n #igoForm\r\n [form]=\"form\"\r\n [formData]=\"feature$ | async\"\r\n (submitForm)=\"onSubmit($event)\"\r\n>\r\n <ng-content></ng-content>\r\n\r\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\r\n</igo-form>\r\n", styles: [":host{display:block}igo-form{height:100%}\n"], dependencies: [{ kind: "component", type: FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FeatureFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FeatureFormComponent, isStandalone: true, selector: "igo-feature-form", inputs: { form: "form", feature: "feature" }, outputs: { submitForm: "submitForm" }, viewQueries: [{ propertyName: "igoForm", first: true, predicate: ["igoForm"], descendants: true, static: true }], ngImport: i0, template: "<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\"\n>\n <ng-content></ng-content>\n\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"], dependencies: [{ kind: "component", type: FormComponent, selector: "igo-form", inputs: ["form", "formData", "autocomplete"], outputs: ["submitForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FeatureFormComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FeatureFormComponent, decorators: [{
90
90
  type: Component,
91
- args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormComponent, AsyncPipe], template: "<igo-form\r\n #igoForm\r\n [form]=\"form\"\r\n [formData]=\"feature$ | async\"\r\n (submitForm)=\"onSubmit($event)\"\r\n>\r\n <ng-content></ng-content>\r\n\r\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\r\n</igo-form>\r\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
91
+ args: [{ selector: 'igo-feature-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [FormComponent, AsyncPipe], template: "<igo-form\n #igoForm\n [form]=\"form\"\n [formData]=\"feature$ | async\"\n (submitForm)=\"onSubmit($event)\"\n>\n <ng-content></ng-content>\n\n <ng-content select=\"[formButtons]\" formButtons></ng-content>\n</igo-form>\n", styles: [":host{display:block}igo-form{height:100%}\n"] }]
92
92
  }], ctorParameters: () => [], propDecorators: { form: [{
93
93
  type: Input
94
94
  }], feature: [{
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
99
99
  type: ViewChild,
100
100
  args: ['igoForm', { static: true }]
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQVEsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUdsRDs7Ozs7O0dBTUc7QUFTSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COztPQUVHO0lBQ00sSUFBSSxDQUFPO0lBRXBCOztPQUVHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBMEI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNRLFFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFN0U7O09BRUc7SUFDTyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVYLE9BQU8sQ0FBZ0I7SUFFL0QsZ0JBQWUsQ0FBQztJQUVoQjs7OztPQUlHO0lBQ0gsUUFBUSxDQUFDLElBQTRCO1FBQ25DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLElBQTRCO1FBQ3BELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLElBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO2dCQUNyQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDOUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUNwRCxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLFFBQVEsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6RCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsQ0FBQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBbUI7WUFDekIsSUFBSSxFQUFFLE9BQU87WUFDYixRQUFRO1lBQ1IsVUFBVSxFQUFFLFdBQVc7WUFDdkIsVUFBVTtTQUNYLENBQUM7SUFDSixDQUFDO3VHQS9FVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixtUkNsQ2pDLHlQQVVBLHFHRHNCWSxhQUFhLHVIQUFFLFNBQVM7OzJGQUV2QixvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQzt3REFNMUIsSUFBSTtzQkFBWixLQUFLO2dCQU1GLE9BQU87c0JBRFYsS0FBSztnQkFZSSxVQUFVO3NCQUFuQixNQUFNO2dCQUVpQyxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9ybSwgZ2V0RW50aXR5UmV2aXNpb24gfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRkVBVFVSRSB9IGZyb20gJy4uL3NoYXJlZC9mZWF0dXJlLmVudW1zJztcclxuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZU1ldGEgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbmZpZ3VyYWJsZSBmb3JtLCBvcHRpb25uYWxseSBib3VuZCB0byBhIGZlYXR1cmUuXHJcbiAqIFRoaXMgY29tcG9uZW50IGNyZWF0ZXMgYW4gZW50aXR5IGZvcm0gYW5kLCBvbiBzdWJtaXQsXHJcbiAqIHJldHVybnMgYSBmZWF0dXJlIG1hZGUgb3V0IG9mIHRoZSBzdWJtaXR0ZWQgZGF0YS4gSXQgYWxzb1xyXG4gKiBkb2VzIHRoaW5ncyBsaWtlIG1hbmFnaW5nIHRoZSBmZWF0dXJlIHZpc2liaWxpdHkgd2hpbGUgaXQncyBiZWluZyB1cGRhdGVkXHJcbiAqIGFzIHdlbGwgYXMgZGlzYWJsaW5nIHRoZSBzZWxlY3Rpb24gb2YgYW5vdGhlciBmZWF0dXJlLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tZmVhdHVyZS1mb3JtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtGb3JtQ29tcG9uZW50LCBBc3luY1BpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGZWF0dXJlRm9ybUNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogRm9ybVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcblxyXG4gIC8qKlxyXG4gICAqIEZlYXR1cmUgdG8gdXBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5mZWF0dXJlJC5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5mZWF0dXJlJC52YWx1ZTtcclxuICB9XHJcbiAgcmVhZG9ubHkgZmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtID0gbmV3IEV2ZW50RW1pdHRlcjxGZWF0dXJlPigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdpZ29Gb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgaWdvRm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmUgYW5kIGVtaXQgYW4gZXZlbnRcclxuICAgKiBAcGFyYW0gZXZlbnQgRm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBvblN1Ym1pdChkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcbiAgICBjb25zdCBmZWF0dXJlID0gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZShkYXRhKTtcclxuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KGZlYXR1cmUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpOiBGZWF0dXJlIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKHRoaXMuaWdvRm9ybS5nZXREYXRhKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJhbnNmb3JtIHRoZSBmb3JtIGRhdGEgdG8gYSBmZWF0dXJlXHJcbiAgICogQHBhcmFtIGRhdGEgRm9ybSBkYXRhXHJcbiAgICogQHJldHVybnMgQSBmZWF0dXJlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmb3JtRGF0YVRvRmVhdHVyZShkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmVhdHVyZSB7XHJcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0ge307XHJcbiAgICBjb25zdCBtZXRhID0ge307XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgKG1ldGEgYXMgYW55KS5pZCA9IHV1aWQoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKG1ldGEsIHRoaXMuZmVhdHVyZS5tZXRhLCB7XHJcbiAgICAgICAgcmV2aXNpb246IGdldEVudGl0eVJldmlzaW9uKHRoaXMuZmVhdHVyZSkgKyAxXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BlcnR5UHJlZml4ID0gJ3Byb3BlcnRpZXMuJztcclxuICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKGVudHJ5OiBbc3RyaW5nLCBhbnldKSA9PiB7XHJcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IGVudHJ5O1xyXG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJvcGVydHlQcmVmaXgpKSB7XHJcbiAgICAgICAgY29uc3QgcHJvcGVydHkgPSBrZXkuc3Vic3RyKHByb3BlcnR5UHJlZml4Lmxlbmd0aCk7XHJcbiAgICAgICAgcHJvcGVydGllc1twcm9wZXJ0eV0gPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgbGV0IGdlb21ldHJ5ID0gZGF0YS5nZW9tZXRyeTtcclxuICAgIGlmIChnZW9tZXRyeSA9PT0gdW5kZWZpbmVkICYmIHRoaXMuZmVhdHVyZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGdlb21ldHJ5ID0gdGhpcy5mZWF0dXJlLmdlb21ldHJ5O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1ldGE6IG1ldGEgYXMgRmVhdHVyZU1ldGEsXHJcbiAgICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICAgIGdlb21ldHJ5LFxyXG4gICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcclxuICAgICAgcHJvcGVydGllc1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPGlnby1mb3JtXHJcbiAgI2lnb0Zvcm1cclxuICBbZm9ybV09XCJmb3JtXCJcclxuICBbZm9ybURhdGFdPVwiZmVhdHVyZSQgfCBhc3luY1wiXHJcbiAgKHN1Ym1pdEZvcm0pPVwib25TdWJtaXQoJGV2ZW50KVwiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltmb3JtQnV0dG9uc11cIiBmb3JtQnV0dG9ucz48L25nLWNvbnRlbnQ+XHJcbjwvaWdvLWZvcm0+XHJcbiJdfQ==
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQVEsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHbEQ7Ozs7OztHQU1HO0FBU0gsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQjs7T0FFRztJQUNNLElBQUksQ0FBTztJQUVwQjs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQTBCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFDUSxRQUFRLEdBQTZCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdFOztPQUVHO0lBQ08sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFWCxPQUFPLENBQWdCO0lBRS9ELGdCQUFlLENBQUM7SUFFaEI7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxJQUE0QjtRQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxpQkFBaUIsQ0FBQyxJQUE0QjtRQUNwRCxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFZLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtnQkFDckMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2FBQzlDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUM7UUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDcEQsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRCxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekQsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQW1CO1lBQ3pCLElBQUksRUFBRSxPQUFPO1lBQ2IsUUFBUTtZQUNSLFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQzt1R0EvRVUsb0JBQW9COzJGQUFwQixvQkFBb0IsbVJDbENqQyxxT0FVQSxxR0RzQlksYUFBYSx1SEFBRSxTQUFTOzsyRkFFdkIsb0JBQW9CO2tCQVJoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUM7d0RBTTFCLElBQUk7c0JBQVosS0FBSztnQkFNRixPQUFPO3NCQURWLEtBQUs7Z0JBWUksVUFBVTtzQkFBbkIsTUFBTTtnQkFFaUMsT0FBTztzQkFBOUMsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBnZXRFbnRpdHlSZXZpc2lvbiB9IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgRm9ybSwgRm9ybUNvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbi9mb3JtJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGRUFUVVJFIH0gZnJvbSAnLi4vc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgRmVhdHVyZSwgRmVhdHVyZU1ldGEgfSBmcm9tICcuLi9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBBIGNvbmZpZ3VyYWJsZSBmb3JtLCBvcHRpb25uYWxseSBib3VuZCB0byBhIGZlYXR1cmUuXG4gKiBUaGlzIGNvbXBvbmVudCBjcmVhdGVzIGFuIGVudGl0eSBmb3JtIGFuZCwgb24gc3VibWl0LFxuICogcmV0dXJucyBhIGZlYXR1cmUgbWFkZSBvdXQgb2YgdGhlIHN1Ym1pdHRlZCBkYXRhLiBJdCBhbHNvXG4gKiBkb2VzIHRoaW5ncyBsaWtlIG1hbmFnaW5nIHRoZSBmZWF0dXJlIHZpc2liaWxpdHkgd2hpbGUgaXQncyBiZWluZyB1cGRhdGVkXG4gKiBhcyB3ZWxsIGFzIGRpc2FibGluZyB0aGUgc2VsZWN0aW9uIG9mIGFub3RoZXIgZmVhdHVyZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWZlYXR1cmUtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mZWF0dXJlLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtGb3JtQ29tcG9uZW50LCBBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVGb3JtQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEZvcm1cbiAgICovXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XG5cbiAgLyoqXG4gICAqIEZlYXR1cmUgdG8gdXBkYXRlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZmVhdHVyZSh2YWx1ZTogRmVhdHVyZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuZmVhdHVyZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZSQudmFsdWU7XG4gIH1cbiAgcmVhZG9ubHkgZmVhdHVyZSQ6IEJlaGF2aW9yU3ViamVjdDxGZWF0dXJlPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxuICAgKi9cbiAgQE91dHB1dCgpIHN1Ym1pdEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyPEZlYXR1cmU+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaWdvRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIGlnb0Zvcm06IEZvcm1Db21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmUgYW5kIGVtaXQgYW4gZXZlbnRcbiAgICogQHBhcmFtIGV2ZW50IEZvcm0gc3VibWl0IGV2ZW50XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgb25TdWJtaXQoZGF0YTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGNvbnN0IGZlYXR1cmUgPSB0aGlzLmZvcm1EYXRhVG9GZWF0dXJlKGRhdGEpO1xuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KGZlYXR1cmUpO1xuICB9XG5cbiAgZ2V0RGF0YSgpOiBGZWF0dXJlIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtRGF0YVRvRmVhdHVyZSh0aGlzLmlnb0Zvcm0uZ2V0RGF0YSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gdGhlIGZvcm0gZGF0YSB0byBhIGZlYXR1cmVcbiAgICogQHBhcmFtIGRhdGEgRm9ybSBkYXRhXG4gICAqIEByZXR1cm5zIEEgZmVhdHVyZVxuICAgKi9cbiAgcHJpdmF0ZSBmb3JtRGF0YVRvRmVhdHVyZShkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmVhdHVyZSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IHt9O1xuICAgIGNvbnN0IG1ldGEgPSB7fTtcbiAgICBpZiAodGhpcy5mZWF0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIChtZXRhIGFzIGFueSkuaWQgPSB1dWlkKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcGVydGllcywgdGhpcy5mZWF0dXJlLnByb3BlcnRpZXMpO1xuICAgICAgT2JqZWN0LmFzc2lnbihtZXRhLCB0aGlzLmZlYXR1cmUubWV0YSwge1xuICAgICAgICByZXZpc2lvbjogZ2V0RW50aXR5UmV2aXNpb24odGhpcy5mZWF0dXJlKSArIDFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByb3BlcnR5UHJlZml4ID0gJ3Byb3BlcnRpZXMuJztcbiAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChlbnRyeTogW3N0cmluZywgYW55XSkgPT4ge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVdID0gZW50cnk7XG4gICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgocHJvcGVydHlQcmVmaXgpKSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0ga2V5LnN1YnN0cihwcm9wZXJ0eVByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwcm9wZXJ0aWVzW3Byb3BlcnR5XSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgbGV0IGdlb21ldHJ5ID0gZGF0YS5nZW9tZXRyeTtcbiAgICBpZiAoZ2VvbWV0cnkgPT09IHVuZGVmaW5lZCAmJiB0aGlzLmZlYXR1cmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgZ2VvbWV0cnkgPSB0aGlzLmZlYXR1cmUuZ2VvbWV0cnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGE6IG1ldGEgYXMgRmVhdHVyZU1ldGEsXG4gICAgICB0eXBlOiBGRUFUVVJFLFxuICAgICAgZ2VvbWV0cnksXG4gICAgICBwcm9qZWN0aW9uOiAnRVBTRzo0MzI2JyxcbiAgICAgIHByb3BlcnRpZXNcbiAgICB9O1xuICB9XG59XG4iLCI8aWdvLWZvcm1cbiAgI2lnb0Zvcm1cbiAgW2Zvcm1dPVwiZm9ybVwiXG4gIFtmb3JtRGF0YV09XCJmZWF0dXJlJCB8IGFzeW5jXCJcbiAgKHN1Ym1pdEZvcm0pPVwib25TdWJtaXQoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9ybUJ1dHRvbnNdXCIgZm9ybUJ1dHRvbnM+PC9uZy1jb250ZW50PlxuPC9pZ28tZm9ybT5cbiJdfQ==
@@ -5,15 +5,15 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated import the FeatureFormComponent directly
6
6
  */
7
7
  export class IgoFeatureFormModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureFormModule, imports: [FeatureFormComponent], exports: [FeatureFormComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureFormModule, imports: [FeatureFormComponent] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureFormModule, imports: [FeatureFormComponent], exports: [FeatureFormComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureFormModule, imports: [FeatureFormComponent] });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureFormModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureFormModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [FeatureFormComponent],
16
16
  exports: [FeatureFormComponent]
17
17
  }]
18
18
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixZQUhyQixvQkFBb0IsYUFDcEIsb0JBQW9CO3dHQUVuQixvQkFBb0IsWUFIckIsb0JBQW9COzsyRkFHbkIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2ZlYXR1cmUtZm9ybS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgRmVhdHVyZUZvcm1Db21wb25lbnQgZGlyZWN0bHlcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0ZlYXR1cmVGb3JtQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbRmVhdHVyZUZvcm1Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFaEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sb0JBQW9CO3VHQUFwQixvQkFBb0I7d0dBQXBCLG9CQUFvQixZQUhyQixvQkFBb0IsYUFDcEIsb0JBQW9CO3dHQUVuQixvQkFBb0IsWUFIckIsb0JBQW9COzsyRkFHbkIsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGZWF0dXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBGZWF0dXJlRm9ybUNvbXBvbmVudCBkaXJlY3RseVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbRmVhdHVyZUZvcm1Db21wb25lbnRdLFxuICBleHBvcnRzOiBbRmVhdHVyZUZvcm1Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb0ZlYXR1cmVGb3JtTW9kdWxlIHt9XG4iXX0=
@@ -1,19 +1,26 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { IgoFeatureDetailsModule } from './feature-details/feature-details.module';
3
- import { IgoFeatureFormModule } from './feature-form/feature-form.module';
2
+ import { FEATURE_DETAILS_DIRECTIVES } from './feature-details';
3
+ import { FeatureFormComponent } from './feature-form/feature-form.component';
4
4
  import * as i0 from "@angular/core";
5
+ import * as i1 from "./feature-details/feature-details.component";
6
+ import * as i2 from "./feature-details/feature-details.directive";
7
+ export const FEATURE_DIRECTIVES = [
8
+ ...FEATURE_DETAILS_DIRECTIVES,
9
+ FeatureFormComponent
10
+ ];
5
11
  /**
6
12
  * @deprecated import the components directly or the FEATURE_DIRECTIVES for the set
7
13
  */
8
14
  export class IgoFeatureModule {
9
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureModule, exports: [IgoFeatureDetailsModule, IgoFeatureFormModule] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureModule, imports: [IgoFeatureDetailsModule, IgoFeatureFormModule] });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureModule, imports: [i1.FeatureDetailsComponent, i2.FeatureDetailsDirective, FeatureFormComponent], exports: [i1.FeatureDetailsComponent, i2.FeatureDetailsDirective, FeatureFormComponent] });
17
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureModule, imports: [i1.FeatureDetailsComponent, FeatureFormComponent] });
12
18
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: IgoFeatureModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoFeatureModule, decorators: [{
14
20
  type: NgModule,
15
21
  args: [{
16
- exports: [IgoFeatureDetailsModule, IgoFeatureFormModule]
22
+ imports: [...FEATURE_DIRECTIVES],
23
+ exports: [...FEATURE_DIRECTIVES]
17
24
  }]
18
25
  }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRTFFOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0IsWUFGakIsdUJBQXVCLEVBQUUsb0JBQW9CO3dHQUU1QyxnQkFBZ0IsWUFGakIsdUJBQXVCLEVBQUUsb0JBQW9COzsyRkFFNUMsZ0JBQWdCO2tCQUg1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzL2ZlYXR1cmUtZGV0YWlscy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZ29GZWF0dXJlRm9ybU1vZHVsZSB9IGZyb20gJy4vZmVhdHVyZS1mb3JtL2ZlYXR1cmUtZm9ybS5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXByZWNhdGVkIGltcG9ydCB0aGUgY29tcG9uZW50cyBkaXJlY3RseSBvciB0aGUgRkVBVFVSRV9ESVJFQ1RJVkVTIGZvciB0aGUgc2V0XHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtJZ29GZWF0dXJlRGV0YWlsc01vZHVsZSwgSWdvRmVhdHVyZUZvcm1Nb2R1bGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29GZWF0dXJlTW9kdWxlIHt9XHJcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFFN0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsR0FBRywwQkFBMEI7SUFDN0Isb0JBQW9CO0NBQ1osQ0FBQztBQUVYOztHQUVHO0FBS0gsTUFBTSxPQUFPLGdCQUFnQjt1R0FBaEIsZ0JBQWdCO3dHQUFoQixnQkFBZ0Isb0VBVjNCLG9CQUFvQixxRUFBcEIsb0JBQW9CO3dHQVVULGdCQUFnQix3Q0FWM0Isb0JBQW9COzsyRkFVVCxnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztvQkFDaEMsT0FBTyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGRUFUVVJFX0RFVEFJTFNfRElSRUNUSVZFUyB9IGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzJztcbmltcG9ydCB7IEZlYXR1cmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBGRUFUVVJFX0RJUkVDVElWRVMgPSBbXG4gIC4uLkZFQVRVUkVfREVUQUlMU19ESVJFQ1RJVkVTLFxuICBGZWF0dXJlRm9ybUNvbXBvbmVudFxuXSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBpbXBvcnQgdGhlIGNvbXBvbmVudHMgZGlyZWN0bHkgb3IgdGhlIEZFQVRVUkVfRElSRUNUSVZFUyBmb3IgdGhlIHNldFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbLi4uRkVBVFVSRV9ESVJFQ1RJVkVTXSxcbiAgZXhwb3J0czogWy4uLkZFQVRVUkVfRElSRUNUSVZFU11cbn0pXG5leHBvcnQgY2xhc3MgSWdvRmVhdHVyZU1vZHVsZSB7fVxuIl19
@@ -1,10 +1,5 @@
1
- import { FEATURE_DETAILS_DIRECTIVES } from './feature-details';
2
- import { FeatureFormComponent } from './feature-form/feature-form.component';
3
1
  export * from './shared';
2
+ export * from './feature.module';
4
3
  export * from './feature-details';
5
4
  export * from './feature-form/feature-form.component';
6
- export const FEATURE_DIRECTIVES = [
7
- ...FEATURE_DETAILS_DIRECTIVES,
8
- FeatureFormComponent
9
- ];
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxHQUFHLDBCQUEwQjtJQUM3QixvQkFBb0I7Q0FDWixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkVBVFVSRV9ERVRBSUxTX0RJUkVDVElWRVMgfSBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscyc7XHJcbmltcG9ydCB7IEZlYXR1cmVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1kZXRhaWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLWZvcm0vZmVhdHVyZS1mb3JtLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgY29uc3QgRkVBVFVSRV9ESVJFQ1RJVkVTID0gW1xyXG4gIC4uLkZFQVRVUkVfREVUQUlMU19ESVJFQ1RJVkVTLFxyXG4gIEZlYXR1cmVGb3JtQ29tcG9uZW50XHJcbl0gYXMgY29uc3Q7XHJcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtZm9ybS9mZWF0dXJlLWZvcm0uY29tcG9uZW50JztcbiJdfQ==
@@ -24,4 +24,4 @@ export function tryBindStoreLayer(store, layer) {
24
24
  store.map.addLayer(store.layer);
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdG9yZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUtc3RvcmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3JFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFtQixFQUFFLEtBQW1CO0lBQ3hFLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM5QixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLEdBQUcsS0FBSztRQUNYLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDO1lBQ2QsTUFBTSxFQUFFLElBQUksaUJBQWlCLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ1AsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xyXG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcclxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XHJcblxyXG4vKipcclxuICogVHJ5IHRvIGJpbmQgYSBsYXllciB0byBhIHN0b3JlIGlmIG5vbmUgaXMgYm91bmQgYWxyZWFkeS5cclxuICogVGhlIGxheWVyIHdpbGwgYWxzbyBiZSBhZGRlZCB0byB0aGUgc3RvcmUncyBtYXAuXHJcbiAqIElmIG5vIGxheWVyIGlzIGdpdmVuIHRvIHRoYXQgZnVuY3Rpb24sIGEgYmFzaWMgb25lIHdpbGwgYmUgY3JlYXRlZC5cclxuICogQHBhcmFtIHN0b3JlIFRoZSBzdG9yZSB0byBiaW5kIHRoZSBsYXllclxyXG4gKiBAcGFyYW0gbGF5ZXIgQW4gb3B0aW9uYWwgVmVjdG9yTGF5ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0cnlCaW5kU3RvcmVMYXllcihzdG9yZTogRmVhdHVyZVN0b3JlLCBsYXllcj86IFZlY3RvckxheWVyKSB7XHJcbiAgaWYgKHN0b3JlLmxheWVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgIGlmIChzdG9yZS5sYXllci5tYXAgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzdG9yZS5tYXAuYWRkTGF5ZXIoc3RvcmUubGF5ZXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgbGF5ZXIgPSBsYXllclxyXG4gICAgPyBsYXllclxyXG4gICAgOiBuZXcgVmVjdG9yTGF5ZXIoe1xyXG4gICAgICAgIHNvdXJjZTogbmV3IEZlYXR1cmVEYXRhU291cmNlKClcclxuICAgICAgfSk7XHJcbiAgc3RvcmUuYmluZExheWVyKGxheWVyKTtcclxuICBpZiAoc3RvcmUubGF5ZXIubWFwID09PSB1bmRlZmluZWQpIHtcclxuICAgIHN0b3JlLm1hcC5hZGRMYXllcihzdG9yZS5sYXllcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdG9yZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUtc3RvcmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3JFOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFtQixFQUFFLEtBQW1CO0lBQ3hFLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM5QixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTztJQUNULENBQUM7SUFFRCxLQUFLLEdBQUcsS0FBSztRQUNYLENBQUMsQ0FBQyxLQUFLO1FBQ1AsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDO1lBQ2QsTUFBTSxFQUFFLElBQUksaUJBQWlCLEVBQUU7U0FDaEMsQ0FBQyxDQUFDO0lBQ1AsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuL3N0b3JlJztcblxuLyoqXG4gKiBUcnkgdG8gYmluZCBhIGxheWVyIHRvIGEgc3RvcmUgaWYgbm9uZSBpcyBib3VuZCBhbHJlYWR5LlxuICogVGhlIGxheWVyIHdpbGwgYWxzbyBiZSBhZGRlZCB0byB0aGUgc3RvcmUncyBtYXAuXG4gKiBJZiBubyBsYXllciBpcyBnaXZlbiB0byB0aGF0IGZ1bmN0aW9uLCBhIGJhc2ljIG9uZSB3aWxsIGJlIGNyZWF0ZWQuXG4gKiBAcGFyYW0gc3RvcmUgVGhlIHN0b3JlIHRvIGJpbmQgdGhlIGxheWVyXG4gKiBAcGFyYW0gbGF5ZXIgQW4gb3B0aW9uYWwgVmVjdG9yTGF5ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyeUJpbmRTdG9yZUxheWVyKHN0b3JlOiBGZWF0dXJlU3RvcmUsIGxheWVyPzogVmVjdG9yTGF5ZXIpIHtcbiAgaWYgKHN0b3JlLmxheWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoc3RvcmUubGF5ZXIubWFwID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0b3JlLm1hcC5hZGRMYXllcihzdG9yZS5sYXllcik7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGxheWVyID0gbGF5ZXJcbiAgICA/IGxheWVyXG4gICAgOiBuZXcgVmVjdG9yTGF5ZXIoe1xuICAgICAgICBzb3VyY2U6IG5ldyBGZWF0dXJlRGF0YVNvdXJjZSgpXG4gICAgICB9KTtcbiAgc3RvcmUuYmluZExheWVyKGxheWVyKTtcbiAgaWYgKHN0b3JlLmxheWVyLm1hcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgc3RvcmUubWFwLmFkZExheWVyKHN0b3JlLmxheWVyKTtcbiAgfVxufVxuIl19
@@ -6,4 +6,4 @@ export var FeatureMotion;
6
6
  FeatureMotion[FeatureMotion["Zoom"] = 2] = "Zoom";
7
7
  FeatureMotion[FeatureMotion["Default"] = 3] = "Default";
8
8
  })(FeatureMotion || (FeatureMotion = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcclxuXHJcbmV4cG9ydCBlbnVtIEZlYXR1cmVNb3Rpb24ge1xyXG4gIE5vbmUsXHJcbiAgTW92ZSxcclxuICBab29tLFxyXG4gIERlZmF1bHRcclxufVxyXG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVqQyxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLGlEQUFJLENBQUE7SUFDSixpREFBSSxDQUFBO0lBQ0osaURBQUksQ0FBQTtJQUNKLHVEQUFPLENBQUE7QUFDVCxDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRkVBVFVSRSA9ICdGZWF0dXJlJztcblxuZXhwb3J0IGVudW0gRmVhdHVyZU1vdGlvbiB7XG4gIE5vbmUsXG4gIE1vdmUsXG4gIFpvb20sXG4gIERlZmF1bHRcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBFbnRpdHlLZXksXHJcbiAgRW50aXR5U3RvcmVPcHRpb25zLFxyXG4gIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zXHJcbn0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XHJcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XHJcbmltcG9ydCBPbFJlbmRlckZlYXR1cmUgZnJvbSAnb2wvcmVuZGVyL0ZlYXR1cmUnO1xyXG5cclxuaW1wb3J0IHsgR2VvSnNvbkdlb21ldHJ5VHlwZXMgfSBmcm9tICdnZW9qc29uJztcclxuXHJcbmltcG9ydCB7IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgdHlwZSB7IElnb01hcCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmU8UCA9IHsgW2tleTogc3RyaW5nXTogYW55IH0+IHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgcHJvamVjdGlvbj86IHN0cmluZztcclxuICBnZW9tZXRyeT86IEZlYXR1cmVHZW9tZXRyeTtcclxuICBwcm9wZXJ0aWVzOiBQO1xyXG4gIGV4dGVudD86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xyXG4gIG1ldGE/OiBGZWF0dXJlTWV0YTtcclxuICBvbD86IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiB8IE9sUmVuZGVyRmVhdHVyZTtcclxuICBzb3VyY2VJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlTWV0YSB7XHJcbiAgaWQ6IEVudGl0eUtleTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtYXBUaXRsZT86IHN0cmluZztcclxuICBzb3VyY2VUaXRsZT86IHN0cmluZztcclxuICBvcmRlcj86IG51bWJlcjtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICBhbGlhcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XHJcbiAgcmV2aXNpb24/OiBudW1iZXI7XHJcbiAgZXhjbHVkZUF0dHJpYnV0ZT86IEFycmF5PHN0cmluZz47XHJcbiAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU/OiBBcnJheTxzdHJpbmc+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHZW9tZXRyeSB7XHJcbiAgdHlwZTogR2VvSnNvbkdlb21ldHJ5VHlwZXM7XHJcbiAgY29vcmRpbmF0ZXM6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVPcHRpb25zIGV4dGVuZHMgRW50aXR5U3RvcmVPcHRpb25zIHtcclxuICBtYXA6IElnb01hcDtcclxuICBsYXllcj86IFZlY3RvckxheWVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9uc1xyXG4gIGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnMge1xyXG4gIC8vIFdoZW4gdGhlIHN0b3JlIG1vdmVzIGZlYXR1cmVzIGludG8gdmlldywgdGhlIHZpZXcgZXh0ZW50LCB3aGljaCBpcyBhbHNvIHRoZSBmZWF0dXJlcyBleHRlbnQsXHJcbiAgLy8gaXMgc2NhbGVkIGJ5IHRob3NlIGZhY3RvcnMsIGVmZmVjdGl2ZWx5IHJlc3VsdGluZyBpbiBhIGRlY2VudGVyZWQgdmlldyBvciBhIG1vcmUgem9vbWVkIGluL291dCB2aWV3LlxyXG4gIC8vIFRoZXNlIGZhY3RvcnMgYXJlIGFwcGxpZWQgdG8gdGhlIHRvcCwgcmlnaHQsIGJvdHRvbSBhbmQgbGVmdCBkaXJlY3Rpb25zLCBpbiB0aGF0IG9yZGVyLlxyXG4gIC8vIEEgZmFjdG9yIG9mIDEgbWVhbnMgdGhlIGRpc3RhbmNlIGZyb20gdGhlIGNlbnRlciwgaW4gdGhhdCBkaXJlY3Rpb24sIGlzIGRvdWJsZWQuXHJcbiAgdmlld1NjYWxlPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcbiAgLy8gRmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IHJhdGlvIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdG9yZSBzaG91bGQgdHJpZ2dlclxyXG4gIC8vIGEgbWFwIHpvb20gd2hlbiBmZWF0dXJlcyBhcmUgYWRkZWQgdG8gaXQuXHJcbiAgYXJlYVJhdGlvPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZUxvYWRpbmdTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XHJcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcclxuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVByb3BlcnR5VHlwZVN0cmF0ZWd5T3B0aW9uc1xyXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcclxuICBtYXA6IElnb01hcDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZUluTWFwRXh0ZW50U3RyYXRlZ3lPcHRpb25zXHJcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBSZXNvbHV0aW9uU3RyYXRlZ3lPcHRpb25zXHJcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlTG9hZGluZ0xheWVyU3RyYXRlZ3lPcHRpb25zXHJcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlU2VhcmNoSW5kZXhTdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcclxuICBzb3VyY2VGaWVsZHM/OiBTb3VyY2VGaWVsZHNPcHRpb25zUGFyYW1zW107XHJcbiAgcGVyY2VudERpc3RpbmN0VmFsdWVSYXRpbz86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTZWxlY3Rpb25TdHJhdGVneU9wdGlvbnNcclxuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XHJcbiAgbWFwOiBJZ29NYXA7XHJcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcclxuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xyXG4gIGxheWVyPzogVmVjdG9yTGF5ZXI7XHJcbiAgbWFueT86IGJvb2xlYW47XHJcbiAgaGl0VG9sZXJhbmNlPzogbnVtYmVyO1xyXG4gIGRyYWdCb3g/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGb3JtU3VibWl0RXZlbnQge1xyXG4gIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgZmVhdHVyZTogRmVhdHVyZSB8IHVuZGVmaW5lZDtcclxuICBkYXRhOiBGZWF0dXJlO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIEVudGl0eVN0b3JlT3B0aW9ucyxcbiAgRW50aXR5U3RvcmVTdHJhdGVneU9wdGlvbnNcbn0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5cbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0IE9sUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XG5cbmltcG9ydCB7IEdlb0pzb25HZW9tZXRyeVR5cGVzIH0gZnJvbSAnZ2VvanNvbic7XG5cbmltcG9ydCB7IFNvdXJjZUZpZWxkc09wdGlvbnNQYXJhbXMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9sYXllcnMvdmVjdG9yLWxheWVyJztcbmltcG9ydCB0eXBlIHsgSWdvTWFwIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAnO1xuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZTxQID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4ge1xuICB0eXBlOiBzdHJpbmc7XG4gIHByb2plY3Rpb24/OiBzdHJpbmc7XG4gIGdlb21ldHJ5PzogRmVhdHVyZUdlb21ldHJ5O1xuICBwcm9wZXJ0aWVzOiBQO1xuICBleHRlbnQ/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgbWV0YT86IEZlYXR1cmVNZXRhO1xuICBvbD86IE9sRmVhdHVyZTxPbEdlb21ldHJ5PiB8IE9sUmVuZGVyRmVhdHVyZTtcbiAgc291cmNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZU1ldGEge1xuICBpZDogRW50aXR5S2V5O1xuICB0aXRsZT86IHN0cmluZztcbiAgbWFwVGl0bGU/OiBzdHJpbmc7XG4gIHNvdXJjZVRpdGxlPzogc3RyaW5nO1xuICBvcmRlcj86IG51bWJlcjtcbiAgaWNvbj86IHN0cmluZztcbiAgc3R5bGU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICBhbGlhcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJldmlzaW9uPzogbnVtYmVyO1xuICBleGNsdWRlQXR0cmlidXRlPzogQXJyYXk8c3RyaW5nPjtcbiAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU/OiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHZW9tZXRyeSB7XG4gIHR5cGU6IEdlb0pzb25HZW9tZXRyeVR5cGVzO1xuICBjb29yZGluYXRlczogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZU9wdGlvbnMgZXh0ZW5kcyBFbnRpdHlTdG9yZU9wdGlvbnMge1xuICBtYXA6IElnb01hcDtcbiAgbGF5ZXI/OiBWZWN0b3JMYXllcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBFbnRpdHlTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIC8vIFdoZW4gdGhlIHN0b3JlIG1vdmVzIGZlYXR1cmVzIGludG8gdmlldywgdGhlIHZpZXcgZXh0ZW50LCB3aGljaCBpcyBhbHNvIHRoZSBmZWF0dXJlcyBleHRlbnQsXG4gIC8vIGlzIHNjYWxlZCBieSB0aG9zZSBmYWN0b3JzLCBlZmZlY3RpdmVseSByZXN1bHRpbmcgaW4gYSBkZWNlbnRlcmVkIHZpZXcgb3IgYSBtb3JlIHpvb21lZCBpbi9vdXQgdmlldy5cbiAgLy8gVGhlc2UgZmFjdG9ycyBhcmUgYXBwbGllZCB0byB0aGUgdG9wLCByaWdodCwgYm90dG9tIGFuZCBsZWZ0IGRpcmVjdGlvbnMsIGluIHRoYXQgb3JkZXIuXG4gIC8vIEEgZmFjdG9yIG9mIDEgbWVhbnMgdGhlIGRpc3RhbmNlIGZyb20gdGhlIGNlbnRlciwgaW4gdGhhdCBkaXJlY3Rpb24sIGlzIGRvdWJsZWQuXG4gIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICAvLyBGZWF0dXJlcyBleHRlbnQgdG8gdmlldyBleHRlbnQgcmF0aW8gdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHN0b3JlIHNob3VsZCB0cmlnZ2VyXG4gIC8vIGEgbWFwIHpvb20gd2hlbiBmZWF0dXJlcyBhcmUgYWRkZWQgdG8gaXQuXG4gIGFyZWFSYXRpbz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nU3RyYXRlZ3lPcHRpb25zXG4gIGV4dGVuZHMgRmVhdHVyZVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgZ2V0RmVhdHVyZUlkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleTtcbiAgbW90aW9uPzogRmVhdHVyZU1vdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVQcm9wZXJ0eVR5cGVTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge1xuICBtYXA6IElnb01hcDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZVN0b3JlSW5NYXBFeHRlbnRTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVJbk1hcFJlc29sdXRpb25TdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVMb2FkaW5nTGF5ZXJTdHJhdGVneU9wdGlvbnNcbiAgZXh0ZW5kcyBGZWF0dXJlU3RvcmVTdHJhdGVneU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlU3RvcmVTZWFyY2hJbmRleFN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3lPcHRpb25zIHtcbiAgc291cmNlRmllbGRzPzogU291cmNlRmllbGRzT3B0aW9uc1BhcmFtc1tdO1xuICBwZXJjZW50RGlzdGluY3RWYWx1ZVJhdGlvPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVTdG9yZVNlbGVjdGlvblN0cmF0ZWd5T3B0aW9uc1xuICBleHRlbmRzIEZlYXR1cmVTdG9yZVN0cmF0ZWd5T3B0aW9ucyB7XG4gIG1hcDogSWdvTWFwO1xuICBnZXRGZWF0dXJlSWQ/OiAoRmVhdHVyZSkgPT4gRW50aXR5S2V5O1xuICBtb3Rpb24/OiBGZWF0dXJlTW90aW9uO1xuICBsYXllcj86IFZlY3RvckxheWVyO1xuICBtYW55PzogYm9vbGVhbjtcbiAgaGl0VG9sZXJhbmNlPzogbnVtYmVyO1xuICBkcmFnQm94PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlRm9ybVN1Ym1pdEV2ZW50IHtcbiAgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgZmVhdHVyZTogRmVhdHVyZSB8IHVuZGVmaW5lZDtcbiAgZGF0YTogRmVhdHVyZTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle } from '@igo2/common';
1
+ import { getEntityIcon, getEntityId, getEntityProperty, getEntityRevision, getEntityTitle } from '@igo2/common/entity';
2
2
  import { uuid } from '@igo2/utils';
3
3
  import * as olextent from 'ol/extent';
4
4
  import OlFormatGeoJSON from 'ol/format/GeoJSON';
@@ -330,4 +330,4 @@ export function computeOlFeaturesDiff(source, target) {
330
330
  remove: olFeaturesToRemove
331
331
  };
332
332
  }
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUduQyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUdoRCxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFHbEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFJcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd6RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUN6QixPQUFnQixFQUNoQixhQUFxQixFQUNyQixLQUE4QjtJQUU5QixLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1FBQzlDLGNBQWMsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUNsQyxpQkFBaUIsRUFBRSxhQUFhO0tBQ2pDLENBQUMsQ0FBQztJQUVILFNBQVMsQ0FBQyxLQUFL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QUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBZ0MsRUFBRSxFQUFFO1FBQ3pFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxHQUFHLEVBQUUsZUFBZTtRQUNwQixNQUFNLEVBQUUsa0JBQWtCO0tBQzNCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFbnRpdHlLZXksXHJcbiAgZ2V0RW50aXR5SWNvbixcclxuICBnZXRFbnRpdHlJZCxcclxuICBnZXRFbnRpdHlQcm9wZXJ0eSxcclxuICBnZXRFbnRpdHlSZXZpc2lvbixcclxuICBnZXRFbnRpdHlUaXRsZVxyXG59IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xyXG5pbXBvcnQgT2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcclxuaW1wb3J0IHR5cGUgeyBHZW9tZXRyeUxheW91dCB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XHJcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5pbXBvcnQgT2xQb2x5Z29uIGZyb20gJ29sL2dlb20vUG9seWdvbic7XHJcbmltcG9ydCBPbExheWVyIGZyb20gJ29sL2xheWVyL0xheWVyJztcclxuaW1wb3J0ICogYXMgb2xwcm9qIGZyb20gJ29sL3Byb2onO1xyXG5pbXBvcnQgT2xSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcclxuaW1wb3J0IE9sU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnO1xyXG5pbXBvcnQgKiBhcyBvbHN0eWxlIGZyb20gJ29sL3N0eWxlJztcclxuXHJcbmltcG9ydCB7IE1hcFZpZXdDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9jb250cm9sbGVycy92aWV3JztcclxuaW1wb3J0IHsgTWFwRXh0ZW50IH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9tYXAuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgRkVBVFVSRSwgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XHJcbmltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4vZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYW4gT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdCBvdXQgb2YgYSBmZWF0dXJlIGRlZmluaXRpb24uXHJcbiAqIFRoZSBvdXRwdXQgb2JqZWN0IGhhcyBhIHJlZmVyZW5jZSB0byB0aGUgZmVhdHVyZSBpZC5cclxuICogQHBhcmFtIGZlYXR1cmUgRmVhdHVyZSBkZWZpbml0aW9uXHJcbiAqIEBwYXJhbSBwcm9qZWN0aW9uT3V0IEZlYXR1cmUgb2JqZWN0IHByb2plY3Rpb25cclxuICogQHJldHVybnMgT3BlbkxheWVycyBmZWF0dXJlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVUb09sKFxyXG4gIGZlYXR1cmU6IEZlYXR1cmUsXHJcbiAgcHJvamVjdGlvbk91dDogc3RyaW5nLFxyXG4gIGdldElkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleVxyXG4pOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4ge1xyXG4gIGdldElkID0gZ2V0SWQgPyBnZXRJZCA6IGdldEVudGl0eUlkO1xyXG5cclxuICBjb25zdCBvbEZvcm1hdCA9IG5ldyBPbEZvcm1hdEdlb0pTT04oKTtcclxuICBjb25zdCBvbEZlYXR1cmUgPSBvbEZvcm1hdC5yZWFkRmVhdHVyZShmZWF0dXJlLCB7XHJcbiAgICBkYXRhUHJvamVjdGlvbjogZmVhdHVyZS5wcm9qZWN0aW9uLFxyXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25PdXRcclxuICB9KTtcclxuXHJcbiAgb2xGZWF0dXJlLnNldElkKGdldElkKGZlYXR1cmUpKTtcclxuXHJcbiAgY29uc3QgdGl0bGUgPSBnZXRFbnRpdHlUaXRsZShmZWF0dXJlKTtcclxuICBpZiAodGl0bGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX3RpdGxlJywgdGl0bGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZlYXR1cmUuZXh0ZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgIG9sRmVhdHVyZS5zZXQoJ19leHRlbnQnLCBmZWF0dXJlLmV4dGVudCwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpZiAoZmVhdHVyZS5wcm9qZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcclxuICAgIG9sRmVhdHVyZS5zZXQoJ19wcm9qZWN0aW9uJywgZmVhdHVyZS5wcm9qZWN0aW9uLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IG1hcFRpdGxlID0gZ2V0RW50aXR5UHJvcGVydHkoZmVhdHVyZSwgJ21ldGEubWFwVGl0bGUnKTtcclxuICBpZiAobWFwVGl0bGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX21hcFRpdGxlJywgbWFwVGl0bGUsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgb2xGZWF0dXJlLnNldCgnX2VudGl0eVJldmlzaW9uJywgZ2V0RW50aXR5UmV2aXNpb24oZmVhdHVyZSksIHRydWUpO1xyXG5cclxuICBjb25zdCBpY29uID0gZ2V0RW50aXR5SWNvbihmZWF0dXJlKTtcclxuICBpZiAoaWNvbiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBvbEZlYXR1cmUuc2V0KCdfaWNvbicsIGljb24sIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGZlYXR1cmUubWV0YSAmJiBmZWF0dXJlLm1ldGEuc3R5bGUpIHtcclxuICAgIG9sRmVhdHVyZS5zZXQoJ19zdHlsZScsIGZlYXR1cmUubWV0YS5zdHlsZSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpZiAoZmVhdHVyZS5zb3VyY2VJZCkge1xyXG4gICAgb2xGZWF0dXJlLnNldCgnX3NvdXJjZUlkJywgZmVhdHVyZS5zb3VyY2VJZCwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb2xGZWF0dXJlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRmVhdHVyZUZyb21PbChcclxuICBvbFJlbmRlckZlYXR1cmU6IE9sUmVuZGVyRmVhdHVyZSxcclxuICBwcm9qZWN0aW9uSW46IHN0cmluZyxcclxuICBvbExheWVyPzogT2xMYXllcjxPbFNvdXJjZT4sXHJcbiAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXHJcbik6IEZlYXR1cmUge1xyXG4gIGxldCBnZW9tO1xyXG4gIGxldCB0aXRsZTtcclxuICBsZXQgZXhjbHVkZTtcclxuICBsZXQgZXhjbHVkZU9mZmxpbmU7XHJcblxyXG4gIGlmIChvbExheWVyKSB7XHJcbiAgICB0aXRsZSA9IG9sTGF5ZXIuZ2V0KCd0aXRsZScpO1xyXG4gICAgaWYgKG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJykpIHtcclxuICAgICAgZXhjbHVkZSA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJykuZXhjbHVkZUF0dHJpYnV0ZTtcclxuICAgICAgZXhjbHVkZU9mZmxpbmUgPSBvbExheWVyLmdldCgnc291cmNlT3B0aW9ucycpLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0aXRsZSA9IG9sUmVuZGVyRmVhdHVyZS5nZXQoJ190aXRsZScpO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgT2xGb3JtYXRHZW9KU09OKCk7XHJcbiAgY29uc3QgcHJvcGVydGllcyA9IG9sUmVuZGVyRmVhdHVyZS5nZXRQcm9wZXJ0aWVzKCk7XHJcbiAgY29uc3QgZ2VvbWV0cnlUeXBlID0gb2xSZW5kZXJGZWF0dXJlLmdldFR5cGUoKTtcclxuXHJcbiAgaWYgKGdlb21ldHJ5VHlwZSA9PT0gJ1BvbHlnb24nKSB7XHJcbiAgICBjb25zdCBlbmRzID0gb2xSZW5kZXJGZWF0dXJlLmdldEVuZHMoKSBhcyBudW1iZXJbXTtcclxuICAgIGdlb20gPSBuZXcgT2xQb2x5Z29uKFxyXG4gICAgICBvbFJlbmRlckZlYXR1cmUuZ2V0RmxhdENvb3JkaW5hdGVzKCksXHJcbiAgICAgICdYWScgYXMgR2VvbWV0cnlMYXlvdXQsXHJcbiAgICAgIGVuZHNcclxuICAgICk7XHJcbiAgfSBlbHNlIGlmIChnZW9tZXRyeVR5cGUgPT09ICdQb2ludCcpIHtcclxuICAgIGdlb20gPSBuZXcgT2xQb2ludChcclxuICAgICAgb2xSZW5kZXJGZWF0dXJlLmdldEZsYXRDb29yZGluYXRlcygpLFxyXG4gICAgICAnWFknIGFzIEdlb21ldHJ5TGF5b3V0XHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoZ2VvbWV0cnlUeXBlID09PSAnTGluZVN0cmluZycpIHtcclxuICAgIGdlb20gPSBuZXcgT2xMaW5lU3RyaW5nKFxyXG4gICAgICBvbFJlbmRlckZlYXR1cmUuZ2V0RmxhdENvb3JkaW5hdGVzKCksXHJcbiAgICAgICdYWScgYXMgR2VvbWV0cnlMYXlvdXRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb25zdCBnZW9tZXRyeSA9IG9sRm9ybWF0LndyaXRlR2VvbWV0cnlPYmplY3QoZ2VvbSwge1xyXG4gICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXHJcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXHJcbiAgfSkgYXMgRmVhdHVyZUdlb21ldHJ5O1xyXG5cclxuICBjb25zdCBpZCA9IG9sUmVuZGVyRmVhdHVyZS5nZXRJZCgpID8gb2xSZW5kZXJGZWF0dXJlLmdldElkKCkgOiB1dWlkKCk7XHJcbiAgY29uc3QgbWFwVGl0bGUgPSBvbFJlbmRlckZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKTtcclxuICBjb25zdCBleHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxyXG4gICAgb2xSZW5kZXJGZWF0dXJlLmdldEV4dGVudCgpLFxyXG4gICAgcHJvamVjdGlvbkluLFxyXG4gICAgcHJvamVjdGlvbk91dFxyXG4gICkgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcbiAgcmV0dXJuIHtcclxuICAgIHR5cGU6IEZFQVRVUkUsXHJcbiAgICBwcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0LFxyXG4gICAgZXh0ZW50LFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZCxcclxuICAgICAgdGl0bGU6IHRpdGxlID8gdGl0bGUgOiBtYXBUaXRsZSA/IG1hcFRpdGxlIDogaWQsXHJcbiAgICAgIG1hcFRpdGxlLFxyXG4gICAgICBleGNsdWRlQXR0cmlidXRlOiBleGNsdWRlLFxyXG4gICAgICBleGNsdWRlQXR0cmlidXRlT2ZmbGluZTogZXhjbHVkZU9mZmxpbmVcclxuICAgIH0sXHJcbiAgICBwcm9wZXJ0aWVzLFxyXG4gICAgZ2VvbWV0cnksXHJcbiAgICBvbDogb2xSZW5kZXJGZWF0dXJlXHJcbiAgfTtcclxufVxyXG4vKipcclxuICogQ3JlYXRlIGEgZmVhdHVyZSBvYmplY3Qgb3V0IG9mIGFuIE9MIGZlYXR1cmVcclxuICogVGhlIG91dHB1dCBvYmplY3QgaGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBmZWF0dXJlIGlkLlxyXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIEZlYXR1cmVcclxuICogQHBhcmFtIHByb2plY3Rpb25JbiBPTCBmZWF0dXJlIHByb2plY3Rpb25cclxuICogQHBhcmFtIG9sTGF5ZXIgT0wgTGF5ZXJcclxuICogQHBhcmFtIHByb2plY3Rpb25PdXQgRmVhdHVyZSBwcm9qZWN0aW9uXHJcbiAqIEByZXR1cm5zIEZlYXR1cmVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlRnJvbU9sKFxyXG4gIG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gIHByb2plY3Rpb25Jbjogc3RyaW5nLFxyXG4gIG9sTGF5ZXI/OiBPbExheWVyPE9sU291cmNlPixcclxuICBwcm9qZWN0aW9uT3V0ID0gJ0VQU0c6NDMyNidcclxuKTogRmVhdHVyZSB7XHJcbiAgbGV0IHRpdGxlO1xyXG4gIGxldCBleGNsdWRlO1xyXG4gIGxldCBleGNsdWRlT2ZmbGluZTtcclxuICBsZXQgaWRDb2x1bW47IC8vIGZvciBhcmNnaXNyZXN0IGFuZCB0aWxlYXJjZ2lzcmVzdCBzb3VyY2VcclxuICBjb25zdCBvbEZvcm1hdCA9IG5ldyBPbEZvcm1hdEdlb0pTT04oKTtcclxuXHJcbiAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZS5nZXRLZXlzKCkuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgcmV0dXJuICFrZXkuc3RhcnRzV2l0aCgnXycpICYmIGtleSAhPT0gJ2dlb21ldHJ5JztcclxuICB9KTtcclxuICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cy5yZWR1Y2UoKGFjYzogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgYWNjW2tleV0gPSBvbEZlYXR1cmUuZ2V0KGtleSk7XHJcbiAgICByZXR1cm4gYWNjO1xyXG4gIH0sIHt9KTtcclxuXHJcbiAgY29uc3QgZ2VvbWV0cnkgPSBvbEZvcm1hdC53cml0ZUdlb21ldHJ5T2JqZWN0KG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpLCB7XHJcbiAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uSW5cclxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XHJcblxyXG4gIGlmIChvbExheWVyKSB7XHJcbiAgICB0aXRsZSA9IG9sTGF5ZXIuZ2V0KCd0aXRsZScpO1xyXG4gICAgY29uc3Qgc291cmNlT3B0aW9ucyA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJyk7XHJcbiAgICBpZiAoc291cmNlT3B0aW9ucykge1xyXG4gICAgICBleGNsdWRlID0gc291cmNlT3B0aW9ucy5leGNsdWRlQXR0cmlidXRlO1xyXG4gICAgICBleGNsdWRlT2ZmbGluZSA9IHNvdXJjZU9wdGlvbnMuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XHJcbiAgICAgIGlkQ29sdW1uID1cclxuICAgICAgICBzb3VyY2VPcHRpb25zLmlkQ29sdW1uIHx8XHJcbiAgICAgICAgKHNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ2FyY2dpc3Jlc3QnIHx8XHJcbiAgICAgICAgc291cmNlT3B0aW9ucy50eXBlID09PSAndGlsZWFyY2dpc3Jlc3QnXHJcbiAgICAgICAgICA/ICdPQkpFQ1RJRCdcclxuICAgICAgICAgIDogdW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgdGl0bGUgPSBvbEZlYXR1cmUuZ2V0KCdfdGl0bGUnKTtcclxuICB9XHJcbiAgY29uc3QgbWFwVGl0bGUgPSBvbEZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKTtcclxuICBjb25zdCBpZCA9IG9sRmVhdHVyZS5nZXRJZCgpXHJcbiAgICA/IG9sRmVhdHVyZS5nZXRJZCgpXHJcbiAgICA6IG9sRmVhdHVyZS5nZXQoaWRDb2x1bW4pXHJcbiAgICAgID8gb2xGZWF0dXJlLmdldChpZENvbHVtbilcclxuICAgICAgOiB1dWlkKCk7XHJcbiAgY29uc3QgbmV3RmVhdHVyZSA9IG9sRmVhdHVyZS5nZXQoJ19uZXdGZWF0dXJlJyk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB0eXBlOiBGRUFUVVJFLFxyXG4gICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcclxuICAgIGV4dGVudDogb2xGZWF0dXJlLmdldCgnX2V4dGVudCcpLFxyXG4gICAgbWV0YToge1xyXG4gICAgICBpZCxcclxuICAgICAgdGl0bGU6IHRpdGxlID8gdGl0bGUgOiBtYXBUaXRsZSA/IG1hcFRpdGxlIDogaWQsXHJcbiAgICAgIG1hcFRpdGxlLFxyXG4gICAgICByZXZpc2lvbjogb2xGZWF0dXJlLmdldFJldmlzaW9uKCksXHJcbiAgICAgIHN0eWxlOiBvbEZlYXR1cmUuZ2V0KCdfc3R5bGUnKSxcclxuICAgICAgZXhjbHVkZUF0dHJpYnV0ZTogZXhjbHVkZSxcclxuICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU6IGV4Y2x1ZGVPZmZsaW5lXHJcbiAgICB9LFxyXG4gICAgcHJvcGVydGllcyxcclxuICAgIGdlb21ldHJ5LFxyXG4gICAgb2w6IG9sRmVhdHVyZVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb21wdXRlIGFuIE9MIGZlYXR1cmUgZXh0ZW50IGluIGl0J3MgbWFwIHByb2plY3Rpb25cclxuICogQHBhcmFtIG1hcCBNYXBcclxuICogQHBhcmFtIG9sRmVhdHVyZSBPTCBmZWF0dXJlXHJcbiAqIEByZXR1cm5zIEV4dGVudCBpbiB0aGUgbWFwIHByb2plY3Rpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlT2xGZWF0dXJlRXh0ZW50KFxyXG4gIG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gIHByb2plY3Rpb246IG9scHJvai5Qcm9qZWN0aW9uXHJcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcclxuICBsZXQgb2xFeHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xyXG5cclxuICBjb25zdCBvbEZlYXR1cmVFeHRlbnQgPSBvbEZlYXR1cmUuZ2V0KCdfZXh0ZW50Jyk7XHJcbiAgY29uc3Qgb2xGZWF0dXJlUHJvamVjdGlvbiA9IG9sRmVhdHVyZS5nZXQoJ19wcm9qZWN0aW9uJyk7XHJcbiAgaWYgKG9sRmVhdHVyZUV4dGVudCAhPT0gdW5kZWZpbmVkICYmIG9sRmVhdHVyZVByb2plY3Rpb24gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgb2xFeHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxyXG4gICAgICBvbEZlYXR1cmVFeHRlbnQsXHJcbiAgICAgIG9sRmVhdHVyZVByb2plY3Rpb24sXHJcbiAgICAgIHByb2plY3Rpb25cclxuICAgICk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGNvbnN0IG9sR2VvbWV0cnkgPSBvbEZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcclxuICAgIGlmIChvbEdlb21ldHJ5ICE9PSBudWxsKSB7XHJcbiAgICAgIG9sRXh0ZW50ID0gb2xHZW9tZXRyeS5nZXRFeHRlbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBvbEV4dGVudCBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgYSBtdWx0aXBsZSBPTCBmZWF0dXJlcyBleHRlbnQgaW4gdGhlaXIgbWFwIHByb2plY3Rpb25cclxuICogQHBhcmFtIG1hcCBNYXBcclxuICogQHBhcmFtIG9sRmVhdHVyZXMgT0wgZmVhdHVyZXNcclxuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KFxyXG4gIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gIHByb2plY3Rpb246IG9scHJvai5Qcm9qZWN0aW9uXHJcbik6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdIHtcclxuICBjb25zdCBleHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xyXG5cclxuICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XHJcbiAgICBjb25zdCBmZWF0dXJlRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZUV4dGVudChvbEZlYXR1cmUsIHByb2plY3Rpb24pO1xyXG4gICAgb2xleHRlbnQuZXh0ZW5kKGV4dGVudCwgZmVhdHVyZUV4dGVudCk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBleHRlbnQgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTY2FsZSBhbiBleHRlbnQuXHJcbiAqIEBwYXJhbSBleHRlbnQgRXh0ZW50XHJcbiAqIEBwYXJhbSBTY2FsaW5nIGZhY3RvcnMgZm9yIHRvcCwgcmlnaHQsIGJvdHRvbSBhbmQgbGVmdCBkaXJlY3Rpb25zLCBpbiB0aGF0IG9yZGVyXHJcbiAqIEByZXR1cm5zIFNjYWxlZCBleHRlbnRcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzY2FsZUV4dGVudChcclxuICBleHRlbnQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxyXG4gIHNjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxyXG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XHJcbiAgY29uc3QgW3dpZHRoLCBoZWlnaHRdID0gb2xleHRlbnQuZ2V0U2l6ZShleHRlbnQpO1xyXG4gIHJldHVybiBbXHJcbiAgICBzY2FsZVszXSA/IGV4dGVudFswXSAtIHdpZHRoICogc2NhbGVbM10gOiBleHRlbnRbMF0sXHJcbiAgICBzY2FsZVsyXSA/IGV4dGVudFsxXSAtIGhlaWdodCAqIHNjYWxlWzJdIDogZXh0ZW50WzFdLFxyXG4gICAgc2NhbGVbMV0gPyBleHRlbnRbMl0gKyB3aWR0aCAqIHNjYWxlWzFdIDogZXh0ZW50WzJdLFxyXG4gICAgc2NhbGVbMF0gPyBleHRlbnRbM10gKyBoZWlnaHQgKiBzY2FsZVswXSA6IGV4dGVudFszXVxyXG4gIF07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgb3V0IG9mIHZpZXcuXHJcbiAqIElmIGZlYXR1cmVzIGFyZSB0b28gY2xvc2UgdG8gdGhlIGVkZ2UsIHRoZXkgYXJlIGNvbnNpZGVyZWQgb3V0IG9mIHZpZXcuXHJcbiAqIEJ5IGRlZmF1bHQsIHdlIGRlZmluZSB0aGUgZWRnZSBhcyA1JSAoMC4wNSkgb2YgdGhlIGV4dGVudCBzaXplLlxyXG4gKiBAcGFyYW0gbWFwIE1hcFxyXG4gKiBAcGFyYW0gZmVhdHVyZXNFeHRlbnQgVGhlIGZlYXR1cmVzJ3MgZXh0ZW50XHJcbiAqIEBwYXJhbSBlZGdlUmF0aW8gTnVtYmVyIG9yIE51bWJlcltdIFNpbmdsZSB2YWx1ZSBPUiBhbiBhcnJheSA9PlxyXG4gKiAgW3RvcCxyaWdodCxib3R0b20sbGVmdF0gZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlclxyXG4gKiBAcmV0dXJucyBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgb3V0IG9mIHZpZXdcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlc0FyZU91dE9mVmlldyhcclxuICBleHRlbnQ6IE1hcEV4dGVudCxcclxuICBmZWF0dXJlc0V4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXHJcbiAgZWRnZVJhdGlvOiBudW1iZXIgfCBudW1iZXJbXSA9IDAuMDVcclxuKSB7XHJcbiAgY29uc3QgZWRnZXNSYXRpbyA9IEFycmF5LmlzQXJyYXkoZWRnZVJhdGlvKVxyXG4gICAgPyBlZGdlUmF0aW9cclxuICAgIDogW2VkZ2VSYXRpbywgZWRnZVJhdGlvLCBlZGdlUmF0aW8sIGVkZ2VSYXRpb107XHJcbiAgY29uc3Qgc2NhbGUgPSBbLTEsIC0xLCAtMSwgLTFdLm1hcCgoeCwgaSkgPT4geCAqIGVkZ2VzUmF0aW9baV0pO1xyXG4gIGNvbnN0IHZpZXdFeHRlbnQgPSBzY2FsZUV4dGVudChcclxuICAgIGV4dGVudCxcclxuICAgIHNjYWxlIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuICFvbGV4dGVudC5jb250YWluc0V4dGVudCh2aWV3RXh0ZW50LCBmZWF0dXJlc0V4dGVudCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgdG9vIGRlZXAgaW50byB0aGUgdmlldy4gVGhpcyByZXN1bHRzXHJcbiAqIGluIGZlYXR1cmVzIGJlaW5nIHRvbyBzbWFsbC5cclxuICogRmVhdHVyZXMgYXJlIGNvbnNpZGVyZWQgdG9vIHNtYWxsIGlmIHRoZWlyIGV4dGVudCBvY2N1cGllcyBsZXNzIHRoYW5cclxuICogMSUgb2YgdGhlIG1hcCBleHRlbnQuXHJcbiAqIEBwYXJhbSBtYXAgTWFwXHJcbiAqIEBwYXJhbSBmZWF0dXJlc0V4dGVudCBUaGUgZmVhdHVyZXMncyBleHRlbnRcclxuICogQHBhcmFtIGFyZWFSYXRpbyBUaGUgZmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IGFjY2VwdGFibGUgcmF0aW9cclxuICogQHJldHVybnMgUmV0dXJuIHRydWUgaWYgZmVhdHVyZXMgYXJlIHRvbyBkZWVwIGluIHRoZSB2aWV3XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZXNBcmVUb29EZWVwSW5WaWV3KFxyXG4gIHZpZXdDb250cm9sbGVyOiBNYXBWaWV3Q29udHJvbGxlcixcclxuICBmZWF0dXJlc0V4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXHJcbiAgYXJlYVJhdGlvPzogbnVtYmVyXHJcbikge1xyXG4gIC8vIEFuIGFyZWEgcmF0aW8gb2YgMC4wMDQgbWVhbnMgdGhhdCB0aGUgZmVhdHVyZSBleHRlbnQncyB3aWR0aCBhbmQgaGVpZ2h0XHJcbiAgLy8gc2hvdWxkIGJlIGFib3V0IDEvMTYgb2YgdGhlIG1hcCBleHRlbnQncyB3aWR0aCBhbmQgaGVpZ2h0XHJcbiAgYXJlYVJhdGlvID0gYXJlYVJhdGlvID8gYXJlYVJhdGlvIDogMC4wMDQ7XHJcbiAgY29uc3QgbWFwRXh0ZW50ID0gdmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KCk7XHJcbiAgY29uc3QgbWFwRXh0ZW50QXJlYSA9IG9sZXh0ZW50LmdldEFyZWEobWFwRXh0ZW50KTtcclxuICBjb25zdCBmZWF0dXJlc0V4dGVudEFyZWEgPSBvbGV4dGVudC5nZXRBcmVhKGZlYXR1cmVzRXh0ZW50KTtcclxuXHJcbiAgaWYgKGZlYXR1cmVzRXh0ZW50QXJlYSA9PT0gMCAmJiB2aWV3Q29udHJvbGxlci5nZXRab29tKCkgPiAxMykge1xyXG4gICAgLy8gSW4gY2FzZSBpdCdzIGEgcG9pbnRcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBmZWF0dXJlc0V4dGVudEFyZWEgLyBtYXBFeHRlbnRBcmVhIDwgYXJlYVJhdGlvO1xyXG59XHJcblxyXG4vKipcclxuICogRml0IHZpZXcgdG8gaW5jbHVkZSB0aGUgZmVhdHVyZXMgZXh0ZW50LlxyXG4gKiBCeSBkZWZhdWx0LCB0aGlzIG1ldGhvZCB3aWxsIGxldCB0aGUgZmVhdHVyZXMgb2NjdXB5IGFib3V0IDUwJSBvZiB0aGUgdmlld3BvcnQuXHJcbiAqIEBwYXJhbSBtYXAgTWFwXHJcbiAqIEBwYXJhbSBvbEZlYXR1cmVzIE9MIGZlYXR1cmVzXHJcbiAqIEBwYXJhbSBtb3Rpb24gVG8gbW90aW9uIHRvIHRoZSBuZXcgbWFwIHZpZXdcclxuICogQHBhcmFtIHNjYWxlIElmIHRoaXMgaXMgZGVmaW5lZCwgdGhlIG9yaWdpbmFsIHZpZXcgd2lsbCBiZSBzY2FsZWRcclxuICogIGJ5IHRoYXQgZmFjdG9yIGJlZm9yZSBhbnkgbG9naWMgaXMgYXBwbGllZC5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBtb3ZlVG9PbEZlYXR1cmVzKFxyXG4gIHZpZXdDb250cm9sbGVyOiBNYXBWaWV3Q29udHJvbGxlcixcclxuICBvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcclxuICBtb3Rpb246IEZlYXR1cmVNb3Rpb24gPSBGZWF0dXJlTW90aW9uLkRlZmF1bHQsXHJcbiAgc2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICBhcmVhUmF0aW8/OiBudW1iZXJcclxuKSB7XHJcbiAgY29uc3QgZXh0ZW50ID0gdmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KCk7XHJcbiAgY29uc3QgcHJvamVjdGlvbiA9IHZpZXdDb250cm9sbGVyLmdldE9sUHJvamVjdGlvbigpO1xyXG4gIGNvbnN0IGZlYXR1cmVzRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQob2xGZWF0dXJlcywgcHJvamVjdGlvbik7XHJcbiAgbGV0IHZpZXdFeHRlbnQgPSBmZWF0dXJlc0V4dGVudDtcclxuICBpZiAoc2NhbGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgdmlld0V4dGVudCA9IHNjYWxlRXh0ZW50KHZpZXdFeHRlbnQsIHNjYWxlKTtcclxuICB9XHJcblxyXG4gIGlmIChtb3Rpb24gPT09IEZlYXR1cmVNb3Rpb24uWm9vbSkge1xyXG4gICAgdmlld0NvbnRyb2xsZXIuem9vbVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xyXG4gIH0gZWxzZSBpZiAobW90aW9uID09PSBGZWF0dXJlTW90aW9uLk1vdmUpIHtcclxuICAgIHZpZXdDb250cm9sbGVyLm1vdmVUb0V4dGVudCh2aWV3RXh0ZW50KTtcclxuICB9IGVsc2UgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5EZWZhdWx0KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGZlYXR1cmVzQXJlT3V0T2ZWaWV3KGV4dGVudCwgZmVhdHVyZXNFeHRlbnQpIHx8XHJcbiAgICAgIGZlYXR1cmVzQXJlVG9vRGVlcEluVmlldyh2aWV3Q29udHJvbGxlciwgZmVhdHVyZXNFeHRlbnQsIGFyZWFSYXRpbylcclxuICAgICkge1xyXG4gICAgICB2aWV3Q29udHJvbGxlci56b29tVG9FeHRlbnQodmlld0V4dGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSGlkZSBhbiBPTCBmZWF0dXJlXHJcbiAqIEBwYXJhbSBvbEZlYXR1cmUgT0wgZmVhdHVyZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGhpZGVPbEZlYXR1cmUob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pIHtcclxuICBvbEZlYXR1cmUuc2V0U3R5bGUobmV3IG9sc3R5bGUuU3R5bGUoe30pKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbXB1dGUgYSBkaWZmIGJldHdlZW4gYSBzb3VyY2UgYXJyYXkgb2YgT2wgZmVhdHVyZXMgYW5kIGEgdGFyZ2V0IGFycmF5XHJcbiAqIEBwYXJhbSBzb3VyY2UgU291cmNlIGFycmF5IG9mIE9MIGZlYXR1cmVzXHJcbiAqIEBwYXJhbSBzdGFyZ2V0IFRhcmdldCBhcnJheSBvZiBPTCBmZWF0dXJlc1xyXG4gKiBAcmV0dXJucyBGZWF0dXJlcyB0byBhZGQgYW5kIHJlbW92ZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVzRGlmZihcclxuICBzb3VyY2U6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxyXG4gIHRhcmdldDogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W11cclxuKToge1xyXG4gIGFkZDogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XHJcbiAgcmVtb3ZlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXTtcclxufSB7XHJcbiAgY29uc3Qgb2xGZWF0dXJlc01hcCA9IG5ldyBNYXAoKTtcclxuICB0YXJnZXQuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgIG9sRmVhdHVyZXNNYXAuc2V0KG9sRmVhdHVyZS5nZXRJZCgpLCBvbEZlYXR1cmUpO1xyXG4gIH0pO1xyXG5cclxuICBjb25zdCBvbEZlYXR1cmVzVG9SZW1vdmUgPSBbXTtcclxuICBzb3VyY2UuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgIGNvbnN0IG5ld09sRmVhdHVyZSA9IG9sRmVhdHVyZXNNYXAuZ2V0KG9sRmVhdHVyZS5nZXRJZCgpKTtcclxuICAgIGlmIChuZXdPbEZlYXR1cmUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBvbEZlYXR1cmVzVG9SZW1vdmUucHVzaChvbEZlYXR1cmUpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgbmV3T2xGZWF0dXJlLmdldCgnX2VudGl0eVJldmlzaW9uJykgIT09IG9sRmVhdHVyZS5nZXQoJ19lbnRpdHlSZXZpc2lvbicpXHJcbiAgICApIHtcclxuICAgICAgb2xGZWF0dXJlc1RvUmVtb3ZlLnB1c2gob2xGZWF0dXJlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG9sRmVhdHVyZXNNYXAuZGVsZXRlKG5ld09sRmVhdHVyZS5nZXRJZCgpKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgY29uc3Qgb2xGZWF0dXJlc1RvQWRkSWRzID0gQXJyYXkuZnJvbShvbEZlYXR1cmVzTWFwLmtleXMoKSk7XHJcbiAgY29uc3Qgb2xGZWF0dXJlc1RvQWRkID0gdGFyZ2V0LmZpbHRlcigob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcclxuICAgIHJldHVybiBvbEZlYXR1cmVzVG9BZGRJZHMuaW5kZXhPZihvbEZlYXR1cmUuZ2V0SWQoKSkgPj0gMDtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGFkZDogb2xGZWF0dXJlc1RvQWRkLFxyXG4gICAgcmVtb3ZlOiBvbEZlYXR1cmVzVG9SZW1vdmVcclxuICB9O1xyXG59XHJcbiJdfQ==
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGFBQWEsRUFDYixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25DLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sZUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sWUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUNwQyxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUV4QyxPQUFPLEtBQUssTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUdsQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUlwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLE9BQWdCLEVBQ2hCLGFBQXFCLEVBQ3JCLEtBQThCO0lBRTlCLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBRXBDLE1BQU0sUUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDdkMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7UUFDOUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxVQUFVO1FBQ2xDLGlCQUFpQixFQUFFLGFBQWE7S0FDakMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEtB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LENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFnQyxFQUFFLEVBQUU7UUFDekUsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTztRQUNMLEdBQUcsRUFBRSxlQUFlO1FBQ3BCLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlLZXksXG4gIGdldEVudGl0eUljb24sXG4gIGdldEVudGl0eUlkLFxuICBnZXRFbnRpdHlQcm9wZXJ0eSxcbiAgZ2V0RW50aXR5UmV2aXNpb24sXG4gIGdldEVudGl0eVRpdGxlXG59IGZyb20gJ0BpZ28yL2NvbW1vbi9lbnRpdHknO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCAqIGFzIG9sZXh0ZW50IGZyb20gJ29sL2V4dGVudCc7XG5pbXBvcnQgT2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcbmltcG9ydCB0eXBlIHsgR2VvbWV0cnlMYXlvdXQgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgT2xMaW5lU3RyaW5nIGZyb20gJ29sL2dlb20vTGluZVN0cmluZyc7XG5pbXBvcnQgT2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcbmltcG9ydCBPbFBvbHlnb24gZnJvbSAnb2wvZ2VvbS9Qb2x5Z29uJztcbmltcG9ydCBPbExheWVyIGZyb20gJ29sL2xheWVyL0xheWVyJztcbmltcG9ydCAqIGFzIG9scHJvaiBmcm9tICdvbC9wcm9qJztcbmltcG9ydCBPbFJlbmRlckZlYXR1cmUgZnJvbSAnb2wvcmVuZGVyL0ZlYXR1cmUnO1xuaW1wb3J0IE9sU291cmNlIGZyb20gJ29sL3NvdXJjZS9Tb3VyY2UnO1xuaW1wb3J0ICogYXMgb2xzdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5cbmltcG9ydCB7IE1hcFZpZXdDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZC9jb250cm9sbGVycy92aWV3JztcbmltcG9ydCB7IE1hcEV4dGVudCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQvbWFwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRUFUVVJFLCBGZWF0dXJlTW90aW9uIH0gZnJvbSAnLi9mZWF0dXJlLmVudW1zJztcbmltcG9ydCB7IEZlYXR1cmUsIEZlYXR1cmVHZW9tZXRyeSB9IGZyb20gJy4vZmVhdHVyZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBDcmVhdGUgYW4gT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdCBvdXQgb2YgYSBmZWF0dXJlIGRlZmluaXRpb24uXG4gKiBUaGUgb3V0cHV0IG9iamVjdCBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIGZlYXR1cmUgaWQuXG4gKiBAcGFyYW0gZmVhdHVyZSBGZWF0dXJlIGRlZmluaXRpb25cbiAqIEBwYXJhbSBwcm9qZWN0aW9uT3V0IEZlYXR1cmUgb2JqZWN0IHByb2plY3Rpb25cbiAqIEByZXR1cm5zIE9wZW5MYXllcnMgZmVhdHVyZSBvYmplY3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVUb09sKFxuICBmZWF0dXJlOiBGZWF0dXJlLFxuICBwcm9qZWN0aW9uT3V0OiBzdHJpbmcsXG4gIGdldElkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleVxuKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+IHtcbiAgZ2V0SWQgPSBnZXRJZCA/IGdldElkIDogZ2V0RW50aXR5SWQ7XG5cbiAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgT2xGb3JtYXRHZW9KU09OKCk7XG4gIGNvbnN0IG9sRmVhdHVyZSA9IG9sRm9ybWF0LnJlYWRGZWF0dXJlKGZlYXR1cmUsIHtcbiAgICBkYXRhUHJvamVjdGlvbjogZmVhdHVyZS5wcm9qZWN0aW9uLFxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBwcm9qZWN0aW9uT3V0XG4gIH0pO1xuXG4gIG9sRmVhdHVyZS5zZXRJZChnZXRJZChmZWF0dXJlKSk7XG5cbiAgY29uc3QgdGl0bGUgPSBnZXRFbnRpdHlUaXRsZShmZWF0dXJlKTtcbiAgaWYgKHRpdGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBvbEZlYXR1cmUuc2V0KCdfdGl0bGUnLCB0aXRsZSwgdHJ1ZSk7XG4gIH1cblxuICBpZiAoZmVhdHVyZS5leHRlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIG9sRmVhdHVyZS5zZXQoJ19leHRlbnQnLCBmZWF0dXJlLmV4dGVudCwgdHJ1ZSk7XG4gIH1cblxuICBpZiAoZmVhdHVyZS5wcm9qZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBvbEZlYXR1cmUuc2V0KCdfcHJvamVjdGlvbicsIGZlYXR1cmUucHJvamVjdGlvbiwgdHJ1ZSk7XG4gIH1cblxuICBjb25zdCBtYXBUaXRsZSA9IGdldEVudGl0eVByb3BlcnR5KGZlYXR1cmUsICdtZXRhLm1hcFRpdGxlJyk7XG4gIGlmIChtYXBUaXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX21hcFRpdGxlJywgbWFwVGl0bGUsIHRydWUpO1xuICB9XG5cbiAgb2xGZWF0dXJlLnNldCgnX2VudGl0eVJldmlzaW9uJywgZ2V0RW50aXR5UmV2aXNpb24oZmVhdHVyZSksIHRydWUpO1xuXG4gIGNvbnN0IGljb24gPSBnZXRFbnRpdHlJY29uKGZlYXR1cmUpO1xuICBpZiAoaWNvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX2ljb24nLCBpY29uLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChmZWF0dXJlLm1ldGEgJiYgZmVhdHVyZS5tZXRhLnN0eWxlKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX3N0eWxlJywgZmVhdHVyZS5tZXRhLnN0eWxlLCB0cnVlKTtcbiAgfVxuXG4gIGlmIChmZWF0dXJlLnNvdXJjZUlkKSB7XG4gICAgb2xGZWF0dXJlLnNldCgnX3NvdXJjZUlkJywgZmVhdHVyZS5zb3VyY2VJZCwgdHJ1ZSk7XG4gIH1cblxuICByZXR1cm4gb2xGZWF0dXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyRmVhdHVyZUZyb21PbChcbiAgb2xSZW5kZXJGZWF0dXJlOiBPbFJlbmRlckZlYXR1cmUsXG4gIHByb2plY3Rpb25Jbjogc3RyaW5nLFxuICBvbExheWVyPzogT2xMYXllcjxPbFNvdXJjZT4sXG4gIHByb2plY3Rpb25PdXQgPSAnRVBTRzo0MzI2J1xuKTogRmVhdHVyZSB7XG4gIGxldCBnZW9tO1xuICBsZXQgdGl0bGU7XG4gIGxldCBleGNsdWRlO1xuICBsZXQgZXhjbHVkZU9mZmxpbmU7XG5cbiAgaWYgKG9sTGF5ZXIpIHtcbiAgICB0aXRsZSA9IG9sTGF5ZXIuZ2V0KCd0aXRsZScpO1xuICAgIGlmIChvbExheWVyLmdldCgnc291cmNlT3B0aW9ucycpKSB7XG4gICAgICBleGNsdWRlID0gb2xMYXllci5nZXQoJ3NvdXJjZU9wdGlvbnMnKS5leGNsdWRlQXR0cmlidXRlO1xuICAgICAgZXhjbHVkZU9mZmxpbmUgPSBvbExheWVyLmdldCgnc291cmNlT3B0aW9ucycpLmV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB0aXRsZSA9IG9sUmVuZGVyRmVhdHVyZS5nZXQoJ190aXRsZScpO1xuICB9XG5cbiAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgT2xGb3JtYXRHZW9KU09OKCk7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBvbFJlbmRlckZlYXR1cmUuZ2V0UHJvcGVydGllcygpO1xuICBjb25zdCBnZW9tZXRyeVR5cGUgPSBvbFJlbmRlckZlYXR1cmUuZ2V0VHlwZSgpO1xuXG4gIGlmIChnZW9tZXRyeVR5cGUgPT09ICdQb2x5Z29uJykge1xuICAgIGNvbnN0IGVuZHMgPSBvbFJlbmRlckZlYXR1cmUuZ2V0RW5kcygpIGFzIG51bWJlcltdO1xuICAgIGdlb20gPSBuZXcgT2xQb2x5Z29uKFxuICAgICAgb2xSZW5kZXJGZWF0dXJlLmdldEZsYXRDb29yZGluYXRlcygpLFxuICAgICAgJ1hZJyBhcyBHZW9tZXRyeUxheW91dCxcbiAgICAgIGVuZHNcbiAgICApO1xuICB9IGVsc2UgaWYgKGdlb21ldHJ5VHlwZSA9PT0gJ1BvaW50Jykge1xuICAgIGdlb20gPSBuZXcgT2xQb2ludChcbiAgICAgIG9sUmVuZGVyRmVhdHVyZS5nZXRGbGF0Q29vcmRpbmF0ZXMoKSxcbiAgICAgICdYWScgYXMgR2VvbWV0cnlMYXlvdXRcbiAgICApO1xuICB9IGVsc2UgaWYgKGdlb21ldHJ5VHlwZSA9PT0gJ0xpbmVTdHJpbmcnKSB7XG4gICAgZ2VvbSA9IG5ldyBPbExpbmVTdHJpbmcoXG4gICAgICBvbFJlbmRlckZlYXR1cmUuZ2V0RmxhdENvb3JkaW5hdGVzKCksXG4gICAgICAnWFknIGFzIEdlb21ldHJ5TGF5b3V0XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGdlb21ldHJ5ID0gb2xGb3JtYXQud3JpdGVHZW9tZXRyeU9iamVjdChnZW9tLCB7XG4gICAgZGF0YVByb2plY3Rpb246IHByb2plY3Rpb25PdXQsXG4gICAgZmVhdHVyZVByb2plY3Rpb246IHByb2plY3Rpb25JblxuICB9KSBhcyBGZWF0dXJlR2VvbWV0cnk7XG5cbiAgY29uc3QgaWQgPSBvbFJlbmRlckZlYXR1cmUuZ2V0SWQoKSA/IG9sUmVuZGVyRmVhdHVyZS5nZXRJZCgpIDogdXVpZCgpO1xuICBjb25zdCBtYXBUaXRsZSA9IG9sUmVuZGVyRmVhdHVyZS5nZXQoJ19tYXBUaXRsZScpO1xuICBjb25zdCBleHRlbnQgPSBvbHByb2oudHJhbnNmb3JtRXh0ZW50KFxuICAgIG9sUmVuZGVyRmVhdHVyZS5nZXRFeHRlbnQoKSxcbiAgICBwcm9qZWN0aW9uSW4sXG4gICAgcHJvamVjdGlvbk91dFxuICApIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBleHRlbnQsXG4gICAgbWV0YToge1xuICAgICAgaWQsXG4gICAgICB0aXRsZTogdGl0bGUgPyB0aXRsZSA6IG1hcFRpdGxlID8gbWFwVGl0bGUgOiBpZCxcbiAgICAgIG1hcFRpdGxlLFxuICAgICAgZXhjbHVkZUF0dHJpYnV0ZTogZXhjbHVkZSxcbiAgICAgIGV4Y2x1ZGVBdHRyaWJ1dGVPZmZsaW5lOiBleGNsdWRlT2ZmbGluZVxuICAgIH0sXG4gICAgcHJvcGVydGllcyxcbiAgICBnZW9tZXRyeSxcbiAgICBvbDogb2xSZW5kZXJGZWF0dXJlXG4gIH07XG59XG4vKipcbiAqIENyZWF0ZSBhIGZlYXR1cmUgb2JqZWN0IG91dCBvZiBhbiBPTCBmZWF0dXJlXG4gKiBUaGUgb3V0cHV0IG9iamVjdCBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIGZlYXR1cmUgaWQuXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIEZlYXR1cmVcbiAqIEBwYXJhbSBwcm9qZWN0aW9uSW4gT0wgZmVhdHVyZSBwcm9qZWN0aW9uXG4gKiBAcGFyYW0gb2xMYXllciBPTCBMYXllclxuICogQHBhcmFtIHByb2plY3Rpb25PdXQgRmVhdHVyZSBwcm9qZWN0aW9uXG4gKiBAcmV0dXJucyBGZWF0dXJlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlRnJvbU9sKFxuICBvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PixcbiAgcHJvamVjdGlvbkluOiBzdHJpbmcsXG4gIG9sTGF5ZXI/OiBPbExheWVyPE9sU291cmNlPixcbiAgcHJvamVjdGlvbk91dCA9ICdFUFNHOjQzMjYnXG4pOiBGZWF0dXJlIHtcbiAgbGV0IHRpdGxlO1xuICBsZXQgZXhjbHVkZTtcbiAgbGV0IGV4Y2x1ZGVPZmZsaW5lO1xuICBsZXQgaWRDb2x1bW47IC8vIGZvciBhcmNnaXNyZXN0IGFuZCB0aWxlYXJjZ2lzcmVzdCBzb3VyY2VcbiAgY29uc3Qgb2xGb3JtYXQgPSBuZXcgT2xGb3JtYXRHZW9KU09OKCk7XG5cbiAgY29uc3Qga2V5cyA9IG9sRmVhdHVyZS5nZXRLZXlzKCkuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiAha2V5LnN0YXJ0c1dpdGgoJ18nKSAmJiBrZXkgIT09ICdnZW9tZXRyeSc7XG4gIH0pO1xuICBjb25zdCBwcm9wZXJ0aWVzID0ga2V5cy5yZWR1Y2UoKGFjYzogb2JqZWN0LCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGFjY1trZXldID0gb2xGZWF0dXJlLmdldChrZXkpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcblxuICBjb25zdCBnZW9tZXRyeSA9IG9sRm9ybWF0LndyaXRlR2VvbWV0cnlPYmplY3Qob2xGZWF0dXJlLmdldEdlb21ldHJ5KCksIHtcbiAgICBkYXRhUHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogcHJvamVjdGlvbkluXG4gIH0pIGFzIEZlYXR1cmVHZW9tZXRyeTtcblxuICBpZiAob2xMYXllcikge1xuICAgIHRpdGxlID0gb2xMYXllci5nZXQoJ3RpdGxlJyk7XG4gICAgY29uc3Qgc291cmNlT3B0aW9ucyA9IG9sTGF5ZXIuZ2V0KCdzb3VyY2VPcHRpb25zJyk7XG4gICAgaWYgKHNvdXJjZU9wdGlvbnMpIHtcbiAgICAgIGV4Y2x1ZGUgPSBzb3VyY2VPcHRpb25zLmV4Y2x1ZGVBdHRyaWJ1dGU7XG4gICAgICBleGNsdWRlT2ZmbGluZSA9IHNvdXJjZU9wdGlvbnMuZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU7XG4gICAgICBpZENvbHVtbiA9XG4gICAgICAgIHNvdXJjZU9wdGlvbnMuaWRDb2x1bW4gfHxcbiAgICAgICAgKHNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ2FyY2dpc3Jlc3QnIHx8XG4gICAgICAgIHNvdXJjZU9wdGlvbnMudHlwZSA9PT0gJ3RpbGVhcmNnaXNyZXN0J1xuICAgICAgICAgID8gJ09CSkVDVElEJ1xuICAgICAgICAgIDogdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGl0bGUgPSBvbEZlYXR1cmUuZ2V0KCdfdGl0bGUnKTtcbiAgfVxuICBjb25zdCBtYXBUaXRsZSA9IG9sRmVhdHVyZS5nZXQoJ19tYXBUaXRsZScpO1xuICBjb25zdCBpZCA9IG9sRmVhdHVyZS5nZXRJZCgpXG4gICAgPyBvbEZlYXR1cmUuZ2V0SWQoKVxuICAgIDogb2xGZWF0dXJlLmdldChpZENvbHVtbilcbiAgICAgID8gb2xGZWF0dXJlLmdldChpZENvbHVtbilcbiAgICAgIDogdXVpZCgpO1xuICBjb25zdCBuZXdGZWF0dXJlID0gb2xGZWF0dXJlLmdldCgnX25ld0ZlYXR1cmUnKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6IEZFQVRVUkUsXG4gICAgcHJvamVjdGlvbjogcHJvamVjdGlvbk91dCxcbiAgICBleHRlbnQ6IG9sRmVhdHVyZS5nZXQoJ19leHRlbnQnKSxcbiAgICBtZXRhOiB7XG4gICAgICBpZCxcbiAgICAgIHRpdGxlOiB0aXRsZSA/IHRpdGxlIDogbWFwVGl0bGUgPyBtYXBUaXRsZSA6IGlkLFxuICAgICAgbWFwVGl0bGUsXG4gICAgICByZXZpc2lvbjogb2xGZWF0dXJlLmdldFJldmlzaW9uKCksXG4gICAgICBzdHlsZTogb2xGZWF0dXJlLmdldCgnX3N0eWxlJyksXG4gICAgICBleGNsdWRlQXR0cmlidXRlOiBleGNsdWRlLFxuICAgICAgZXhjbHVkZUF0dHJpYnV0ZU9mZmxpbmU6IGV4Y2x1ZGVPZmZsaW5lXG4gICAgfSxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIGdlb21ldHJ5LFxuICAgIG9sOiBvbEZlYXR1cmVcbiAgfTtcbn1cblxuLyoqXG4gKiBDb21wdXRlIGFuIE9MIGZlYXR1cmUgZXh0ZW50IGluIGl0J3MgbWFwIHByb2plY3Rpb25cbiAqIEBwYXJhbSBtYXAgTWFwXG4gKiBAcGFyYW0gb2xGZWF0dXJlIE9MIGZlYXR1cmVcbiAqIEByZXR1cm5zIEV4dGVudCBpbiB0aGUgbWFwIHByb2plY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVFeHRlbnQoXG4gIG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxuICBwcm9qZWN0aW9uOiBvbHByb2ouUHJvamVjdGlvblxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBsZXQgb2xFeHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xuXG4gIGNvbnN0IG9sRmVhdHVyZUV4dGVudCA9IG9sRmVhdHVyZS5nZXQoJ19leHRlbnQnKTtcbiAgY29uc3Qgb2xGZWF0dXJlUHJvamVjdGlvbiA9IG9sRmVhdHVyZS5nZXQoJ19wcm9qZWN0aW9uJyk7XG4gIGlmIChvbEZlYXR1cmVFeHRlbnQgIT09IHVuZGVmaW5lZCAmJiBvbEZlYXR1cmVQcm9qZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBvbEV4dGVudCA9IG9scHJvai50cmFuc2Zvcm1FeHRlbnQoXG4gICAgICBvbEZlYXR1cmVFeHRlbnQsXG4gICAgICBvbEZlYXR1cmVQcm9qZWN0aW9uLFxuICAgICAgcHJvamVjdGlvblxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgb2xHZW9tZXRyeSA9IG9sRmVhdHVyZS5nZXRHZW9tZXRyeSgpO1xuICAgIGlmIChvbEdlb21ldHJ5ICE9PSBudWxsKSB7XG4gICAgICBvbEV4dGVudCA9IG9sR2VvbWV0cnkuZ2V0RXh0ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9sRXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xufVxuXG4vKipcbiAqIENvbXB1dGUgYSBtdWx0aXBsZSBPTCBmZWF0dXJlcyBleHRlbnQgaW4gdGhlaXIgbWFwIHByb2plY3Rpb25cbiAqIEBwYXJhbSBtYXAgTWFwXG4gKiBAcGFyYW0gb2xGZWF0dXJlcyBPTCBmZWF0dXJlc1xuICogQHJldHVybnMgRXh0ZW50IGluIHRoZSBtYXAgcHJvamVjdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQoXG4gIG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdLFxuICBwcm9qZWN0aW9uOiBvbHByb2ouUHJvamVjdGlvblxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBjb25zdCBleHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpO1xuXG4gIG9sRmVhdHVyZXMuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICBjb25zdCBmZWF0dXJlRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZUV4dGVudChvbEZlYXR1cmUsIHByb2plY3Rpb24pO1xuICAgIG9sZXh0ZW50LmV4dGVuZChleHRlbnQsIGZlYXR1cmVFeHRlbnQpO1xuICB9KTtcblxuICByZXR1cm4gZXh0ZW50IGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xufVxuXG4vKipcbiAqIFNjYWxlIGFuIGV4dGVudC5cbiAqIEBwYXJhbSBleHRlbnQgRXh0ZW50XG4gKiBAcGFyYW0gU2NhbGluZyBmYWN0b3JzIGZvciB0b3AsIHJpZ2h0LCBib3R0b20gYW5kIGxlZnQgZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlclxuICogQHJldHVybnMgU2NhbGVkIGV4dGVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2NhbGVFeHRlbnQoXG4gIGV4dGVudDogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gIHNjYWxlOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuKTogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0ge1xuICBjb25zdCBbd2lkdGgsIGhlaWdodF0gPSBvbGV4dGVudC5nZXRTaXplKGV4dGVudCk7XG4gIHJldHVybiBbXG4gICAgc2NhbGVbM10gPyBleHRlbnRbMF0gLSB3aWR0aCAqIHNjYWxlWzNdIDogZXh0ZW50WzBdLFxuICAgIHNjYWxlWzJdID8gZXh0ZW50WzFdIC0gaGVpZ2h0ICogc2NhbGVbMl0gOiBleHRlbnRbMV0sXG4gICAgc2NhbGVbMV0gPyBleHRlbnRbMl0gKyB3aWR0aCAqIHNjYWxlWzFdIDogZXh0ZW50WzJdLFxuICAgIHNjYWxlWzBdID8gZXh0ZW50WzNdICsgaGVpZ2h0ICogc2NhbGVbMF0gOiBleHRlbnRbM11cbiAgXTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgb3V0IG9mIHZpZXcuXG4gKiBJZiBmZWF0dXJlcyBhcmUgdG9vIGNsb3NlIHRvIHRoZSBlZGdlLCB0aGV5IGFyZSBjb25zaWRlcmVkIG91dCBvZiB2aWV3LlxuICogQnkgZGVmYXVsdCwgd2UgZGVmaW5lIHRoZSBlZGdlIGFzIDUlICgwLjA1KSBvZiB0aGUgZXh0ZW50IHNpemUuXG4gKiBAcGFyYW0gbWFwIE1hcFxuICogQHBhcmFtIGZlYXR1cmVzRXh0ZW50IFRoZSBmZWF0dXJlcydzIGV4dGVudFxuICogQHBhcmFtIGVkZ2VSYXRpbyBOdW1iZXIgb3IgTnVtYmVyW10gU2luZ2xlIHZhbHVlIE9SIGFuIGFycmF5ID0+XG4gKiAgW3RvcCxyaWdodCxib3R0b20sbGVmdF0gZGlyZWN0aW9ucywgaW4gdGhhdCBvcmRlclxuICogQHJldHVybnMgUmV0dXJuIHRydWUgaWYgZmVhdHVyZXMgYXJlIG91dCBvZiB2aWV3XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlc0FyZU91dE9mVmlldyhcbiAgZXh0ZW50OiBNYXBFeHRlbnQsXG4gIGZlYXR1cmVzRXh0ZW50OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgZWRnZVJhdGlvOiBudW1iZXIgfCBudW1iZXJbXSA9IDAuMDVcbikge1xuICBjb25zdCBlZGdlc1JhdGlvID0gQXJyYXkuaXNBcnJheShlZGdlUmF0aW8pXG4gICAgPyBlZGdlUmF0aW9cbiAgICA6IFtlZGdlUmF0aW8sIGVkZ2VSYXRpbywgZWRnZVJhdGlvLCBlZGdlUmF0aW9dO1xuICBjb25zdCBzY2FsZSA9IFstMSwgLTEsIC0xLCAtMV0ubWFwKCh4LCBpKSA9PiB4ICogZWRnZXNSYXRpb1tpXSk7XG4gIGNvbnN0IHZpZXdFeHRlbnQgPSBzY2FsZUV4dGVudChcbiAgICBleHRlbnQsXG4gICAgc2NhbGUgYXMgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgKTtcblxuICByZXR1cm4gIW9sZXh0ZW50LmNvbnRhaW5zRXh0ZW50KHZpZXdFeHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiBmZWF0dXJlcyBhcmUgdG9vIGRlZXAgaW50byB0aGUgdmlldy4gVGhpcyByZXN1bHRzXG4gKiBpbiBmZWF0dXJlcyBiZWluZyB0b28gc21hbGwuXG4gKiBGZWF0dXJlcyBhcmUgY29uc2lkZXJlZCB0b28gc21hbGwgaWYgdGhlaXIgZXh0ZW50IG9jY3VwaWVzIGxlc3MgdGhhblxuICogMSUgb2YgdGhlIG1hcCBleHRlbnQuXG4gKiBAcGFyYW0gbWFwIE1hcFxuICogQHBhcmFtIGZlYXR1cmVzRXh0ZW50IFRoZSBmZWF0dXJlcydzIGV4dGVudFxuICogQHBhcmFtIGFyZWFSYXRpbyBUaGUgZmVhdHVyZXMgZXh0ZW50IHRvIHZpZXcgZXh0ZW50IGFjY2VwdGFibGUgcmF0aW9cbiAqIEByZXR1cm5zIFJldHVybiB0cnVlIGlmIGZlYXR1cmVzIGFyZSB0b28gZGVlcCBpbiB0aGUgdmlld1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZXNBcmVUb29EZWVwSW5WaWV3KFxuICB2aWV3Q29udHJvbGxlcjogTWFwVmlld0NvbnRyb2xsZXIsXG4gIGZlYXR1cmVzRXh0ZW50OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYXJlYVJhdGlvPzogbnVtYmVyXG4pIHtcbiAgLy8gQW4gYXJlYSByYXRpbyBvZiAwLjAwNCBtZWFucyB0aGF0IHRoZSBmZWF0dXJlIGV4dGVudCdzIHdpZHRoIGFuZCBoZWlnaHRcbiAgLy8gc2hvdWxkIGJlIGFib3V0IDEvMTYgb2YgdGhlIG1hcCBleHRlbnQncyB3aWR0aCBhbmQgaGVpZ2h0XG4gIGFyZWFSYXRpbyA9IGFyZWFSYXRpbyA/IGFyZWFSYXRpbyA6IDAuMDA0O1xuICBjb25zdCBtYXBFeHRlbnQgPSB2aWV3Q29udHJvbGxlci5nZXRFeHRlbnQoKTtcbiAgY29uc3QgbWFwRXh0ZW50QXJlYSA9IG9sZXh0ZW50LmdldEFyZWEobWFwRXh0ZW50KTtcbiAgY29uc3QgZmVhdHVyZXNFeHRlbnRBcmVhID0gb2xleHRlbnQuZ2V0QXJlYShmZWF0dXJlc0V4dGVudCk7XG5cbiAgaWYgKGZlYXR1cmVzRXh0ZW50QXJlYSA9PT0gMCAmJiB2aWV3Q29udHJvbGxlci5nZXRab29tKCkgPiAxMykge1xuICAgIC8vIEluIGNhc2UgaXQncyBhIHBvaW50XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGZlYXR1cmVzRXh0ZW50QXJlYSAvIG1hcEV4dGVudEFyZWEgPCBhcmVhUmF0aW87XG59XG5cbi8qKlxuICogRml0IHZpZXcgdG8gaW5jbHVkZSB0aGUgZmVhdHVyZXMgZXh0ZW50LlxuICogQnkgZGVmYXVsdCwgdGhpcyBtZXRob2Qgd2lsbCBsZXQgdGhlIGZlYXR1cmVzIG9jY3VweSBhYm91dCA1MCUgb2YgdGhlIHZpZXdwb3J0LlxuICogQHBhcmFtIG1hcCBNYXBcbiAqIEBwYXJhbSBvbEZlYXR1cmVzIE9MIGZlYXR1cmVzXG4gKiBAcGFyYW0gbW90aW9uIFRvIG1vdGlvbiB0byB0aGUgbmV3IG1hcCB2aWV3XG4gKiBAcGFyYW0gc2NhbGUgSWYgdGhpcyBpcyBkZWZpbmVkLCB0aGUgb3JpZ2luYWwgdmlldyB3aWxsIGJlIHNjYWxlZFxuICogIGJ5IHRoYXQgZmFjdG9yIGJlZm9yZSBhbnkgbG9naWMgaXMgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vdmVUb09sRmVhdHVyZXMoXG4gIHZpZXdDb250cm9sbGVyOiBNYXBWaWV3Q29udHJvbGxlcixcbiAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXG4gIG1vdGlvbjogRmVhdHVyZU1vdGlvbiA9IEZlYXR1cmVNb3Rpb24uRGVmYXVsdCxcbiAgc2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcbiAgYXJlYVJhdGlvPzogbnVtYmVyXG4pIHtcbiAgY29uc3QgZXh0ZW50ID0gdmlld0NvbnRyb2xsZXIuZ2V0RXh0ZW50KCk7XG4gIGNvbnN0IHByb2plY3Rpb24gPSB2aWV3Q29udHJvbGxlci5nZXRPbFByb2plY3Rpb24oKTtcbiAgY29uc3QgZmVhdHVyZXNFeHRlbnQgPSBjb21wdXRlT2xGZWF0dXJlc0V4dGVudChvbEZlYXR1cmVzLCBwcm9qZWN0aW9uKTtcbiAgbGV0IHZpZXdFeHRlbnQgPSBmZWF0dXJlc0V4dGVudDtcbiAgaWYgKHNjYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICB2aWV3RXh0ZW50ID0gc2NhbGVFeHRlbnQodmlld0V4dGVudCwgc2NhbGUpO1xuICB9XG5cbiAgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5ab29tKSB7XG4gICAgdmlld0NvbnRyb2xsZXIuem9vbVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xuICB9IGVsc2UgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5Nb3ZlKSB7XG4gICAgdmlld0NvbnRyb2xsZXIubW92ZVRvRXh0ZW50KHZpZXdFeHRlbnQpO1xuICB9IGVsc2UgaWYgKG1vdGlvbiA9PT0gRmVhdHVyZU1vdGlvbi5EZWZhdWx0KSB7XG4gICAgaWYgKFxuICAgICAgZmVhdHVyZXNBcmVPdXRPZlZpZXcoZXh0ZW50LCBmZWF0dXJlc0V4dGVudCkgfHxcbiAgICAgIGZlYXR1cmVzQXJlVG9vRGVlcEluVmlldyh2aWV3Q29udHJvbGxlciwgZmVhdHVyZXNFeHRlbnQsIGFyZWFSYXRpbylcbiAgICApIHtcbiAgICAgIHZpZXdDb250cm9sbGVyLnpvb21Ub0V4dGVudCh2aWV3RXh0ZW50KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBIaWRlIGFuIE9MIGZlYXR1cmVcbiAqIEBwYXJhbSBvbEZlYXR1cmUgT0wgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGlkZU9sRmVhdHVyZShvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5Pikge1xuICBvbEZlYXR1cmUuc2V0U3R5bGUobmV3IG9sc3R5bGUuU3R5bGUoe30pKTtcbn1cblxuLyoqXG4gKiBDb21wdXRlIGEgZGlmZiBiZXR3ZWVuIGEgc291cmNlIGFycmF5IG9mIE9sIGZlYXR1cmVzIGFuZCBhIHRhcmdldCBhcnJheVxuICogQHBhcmFtIHNvdXJjZSBTb3VyY2UgYXJyYXkgb2YgT0wgZmVhdHVyZXNcbiAqIEBwYXJhbSBzdGFyZ2V0IFRhcmdldCBhcnJheSBvZiBPTCBmZWF0dXJlc1xuICogQHJldHVybnMgRmVhdHVyZXMgdG8gYWRkIGFuZCByZW1vdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVPbEZlYXR1cmVzRGlmZihcbiAgc291cmNlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSxcbiAgdGFyZ2V0OiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXVxuKToge1xuICBhZGQ6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdO1xuICByZW1vdmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdO1xufSB7XG4gIGNvbnN0IG9sRmVhdHVyZXNNYXAgPSBuZXcgTWFwKCk7XG4gIHRhcmdldC5mb3JFYWNoKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xuICAgIG9sRmVhdHVyZXNNYXAuc2V0KG9sRmVhdHVyZS5nZXRJZCgpLCBvbEZlYXR1cmUpO1xuICB9KTtcblxuICBjb25zdCBvbEZlYXR1cmVzVG9SZW1vdmUgPSBbXTtcbiAgc291cmNlLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgY29uc3QgbmV3T2xGZWF0dXJlID0gb2xGZWF0dXJlc01hcC5nZXQob2xGZWF0dXJlLmdldElkKCkpO1xuICAgIGlmIChuZXdPbEZlYXR1cmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb2xGZWF0dXJlc1RvUmVtb3ZlLnB1c2gob2xGZWF0dXJlKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbmV3T2xGZWF0dXJlLmdldCgnX2VudGl0eVJldmlzaW9uJykgIT09IG9sRmVhdHVyZS5nZXQoJ19lbnRpdHlSZXZpc2lvbicpXG4gICAgKSB7XG4gICAgICBvbEZlYXR1cmVzVG9SZW1vdmUucHVzaChvbEZlYXR1cmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbEZlYXR1cmVzTWFwLmRlbGV0ZShuZXdPbEZlYXR1cmUuZ2V0SWQoKSk7XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBvbEZlYXR1cmVzVG9BZGRJZHMgPSBBcnJheS5mcm9tKG9sRmVhdHVyZXNNYXAua2V5cygpKTtcbiAgY29uc3Qgb2xGZWF0dXJlc1RvQWRkID0gdGFyZ2V0LmZpbHRlcigob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICByZXR1cm4gb2xGZWF0dXJlc1RvQWRkSWRzLmluZGV4T2Yob2xGZWF0dXJlLmdldElkKCkpID49IDA7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgYWRkOiBvbEZlYXR1cmVzVG9BZGQsXG4gICAgcmVtb3ZlOiBvbEZlYXR1cmVzVG9SZW1vdmVcbiAgfTtcbn1cbiJdfQ==
@@ -5,4 +5,4 @@ export * from './feature-store.utils';
5
5
  export * from './store';
6
6
  export * from './strategies';
7
7
  export * from './strategies.utils';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS51dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1zdG9yZS51dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMudXRpbHMnO1xyXG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS1zdG9yZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyYXRlZ2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmF0ZWdpZXMudXRpbHMnO1xuIl19
@@ -1,4 +1,4 @@
1
- import { EntityStore, getEntityId } from '@igo2/common';
1
+ import { EntityStore, getEntityId } from '@igo2/common/entity';
2
2
  import * as olextent from 'ol/extent';
3
3
  import { FeatureMotion } from './feature.enums';
4
4
  import { computeOlFeaturesDiff, computeOlFeaturesExtent, featureFromOl, featureToOl, moveToOlFeatures } from './feature.utils';
@@ -140,4 +140,4 @@ export class FeatureStore extends EntityStore {
140
140
  });
141
141
  }
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRSxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQztBQVF0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsYUFBYSxFQUNiLFdBQVcsRUFDWCxnQkFBZ0IsRUFDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFlBQTBDLFNBQVEsV0FBYztJQUMzRTs7T0FFRztJQUNILEtBQUssQ0FBYztJQUVuQjs7T0FFRztJQUNNLEdBQUcsQ0FBUztJQUVyQjs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUs7WUFDZixDQUFDLENBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFnQztZQUM5QyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksY0FBYyxDQUFDLENBQWM7UUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNPLGVBQWUsQ0FBYztJQUVyQyxZQUFZLFFBQWEsRUFBRSxPQUE0QjtRQUNyRCxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMs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LEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlLZXksIEVudGl0eVN0b3JlLCBnZXRFbnRpdHlJZCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5cclxuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICdmbGV4c2VhcmNoJztcclxuXHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMnO1xyXG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XHJcbmltcG9ydCB7IElnb01hcCwgTWFwRXh0ZW50IH0gZnJvbSAnLi4vLi4vbWFwL3NoYXJlZCc7XHJcbmltcG9ydCB7IEZlYXR1cmVNb3Rpb24gfSBmcm9tICcuL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlU3RvcmVPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xyXG5pbXBvcnQge1xyXG4gIGNvbXB1dGVPbEZlYXR1cmVzRGlmZixcclxuICBjb21wdXRlT2xGZWF0dXJlc0V4dGVudCxcclxuICBmZWF0dXJlRnJvbU9sLFxyXG4gIGZlYXR1cmVUb09sLFxyXG4gIG1vdmVUb09sRmVhdHVyZXNcclxufSBmcm9tICcuL2ZlYXR1cmUudXRpbHMnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjbGFzcyBpcyBhIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYW4gRW50aXR5U3RvcmUgdGhhdCBzdG9yZXNcclxuICogZmVhdHVyZXMgYW5kIHRoZSBtYXAgbGF5ZXIgdG8gZGlzcGxheSB0aGVtIG9uLiBTeW5jaHJvbml6YXRpb25cclxuICogYmV0d2VlbiB0aGUgc3RvcmUgYW5kIHRoZSBsYXllciBpcyBoYW5kbGVkIGJ5IHN0cmF0ZWdpZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmVhdHVyZVN0b3JlPFQgZXh0ZW5kcyBGZWF0dXJlID0gRmVhdHVyZT4gZXh0ZW5kcyBFbnRpdHlTdG9yZTxUPiB7XHJcbiAgLyoqXHJcbiAgICogVmVjdG9yIGxheWVyIHRvIGRpc3BsYXkgdGhlIGZlYXR1cmVzIG9uXHJcbiAgICovXHJcbiAgbGF5ZXI6IFZlY3RvckxheWVyO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbWFwIHRoZSBsYXllciBpcyBib3VuZCB0b1xyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1hcDogSWdvTWFwO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgbGF5ZXIncyBkYXRhIHNvdXJjZVxyXG4gICAqL1xyXG4gIGdldCBzb3VyY2UoKTogRmVhdHVyZURhdGFTb3VyY2Uge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXJcclxuICAgICAgPyAodGhpcy5sYXllci5kYXRhU291cmNlIGFzIEZlYXR1cmVEYXRhU291cmNlKVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBzZWFyY2hhYmxlIGluZGV4IG9mIGxvYWRlZCBmZWF0dXJlLiBDb21wdXRlZCBpZiBzdHJhdGVneSBpcyBwcm92aWRlZFxyXG4gICAqL1xyXG4gIHNldCBzZWFyY2hEb2N1bWVudCh2OiBEb2N1bWVudDxUPikge1xyXG4gICAgdGhpcy5fc2VhcmNoRG9jdW1lbnQgPSB2O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlYXJjaERvY3VtZW50KCk6IERvY3VtZW50PFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hEb2N1bWVudDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VhcmNoRG9jdW1lbnQ6IERvY3VtZW50PFQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbnRpdGllczogVFtdLCBvcHRpb25zOiBGZWF0dXJlU3RvcmVPcHRpb25zKSB7XHJcbiAgICBzdXBlcihlbnRpdGllcywgb3B0aW9ucyk7XHJcbiAgICB0aGlzLm1hcCA9IG9wdGlvbnMubWFwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQmluZCB0aGlzIHN0b3JlIHRvIGEgdmVjdG9yIGxheWVyXHJcbiAgICogQHBhcmFtIGxheWVyIFZlY3RvciBsYXllclxyXG4gICAqIEByZXR1cm5zIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kTGF5ZXIobGF5ZXI6IFZlY3RvckxheWVyKTogRmVhdHVyZVN0b3JlIHtcclxuICAgIHRoaXMubGF5ZXIgPSBsYXllcjtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBsYXllcidzIGZlYXR1cmVzIGFuZCBwZXJmb3JtIGEgbW90aW9uIHRvIG1ha2UgdGhlbSB2aXNpYmxlLiBTdHJhdGVnaWVzXHJcbiAgICogbWFrZSBleHRlbnNpdmUgdXNlIG9mIHRoYXQgbWV0aG9kLlxyXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBGZWF0dXJlc1xyXG4gICAqIEBwYXJhbSBtb3Rpb24gT3B0aW9uYWw6IFRoZSB0eXBlIG9mIG1vdGlvbiB0byBwZXJmb3JtXHJcbiAgICovXHJcbiAgc2V0TGF5ZXJGZWF0dXJlcyhcclxuICAgIGZlYXR1cmVzOiBGZWF0dXJlW10sXHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24gPSBGZWF0dXJlTW90aW9uLkRlZmF1bHQsXHJcbiAgICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICAgIGFyZWFSYXRpbz86IG51bWJlcixcclxuICAgIGdldElkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleVxyXG4gICkge1xyXG4gICAgZ2V0SWQgPSBnZXRJZCA/IGdldElkIDogZ2V0RW50aXR5SWQ7XHJcbiAgICB0aGlzLmNoZWNrTGF5ZXIoKTtcclxuXHJcbiAgICBjb25zdCBvbEZlYXR1cmVzID0gZmVhdHVyZXMubWFwKChmZWF0dXJlOiBGZWF0dXJlKSA9PlxyXG4gICAgICBmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uLCBnZXRJZClcclxuICAgICk7XHJcbiAgICB0aGlzLnNldExheWVyT2xGZWF0dXJlcyhvbEZlYXR1cmVzLCBtb3Rpb24sIHZpZXdTY2FsZSwgYXJlYVJhdGlvKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgc3RvcmUncyBmZWF0dXJlcyBmcm9tIGFuIGFycmF5IG9mIE9MIGZlYXR1cmVzLlxyXG4gICAqIEBwYXJhbSBvbEZlYXR1cmVzIE9sIGZlYXR1cmVzXHJcbiAgICovXHJcbiAgc2V0U3RvcmVPbEZlYXR1cmVzKG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdKSB7XHJcbiAgICB0aGlzLmNoZWNrTGF5ZXIoKTtcclxuXHJcbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICBvbEZlYXR1cmUuc2V0KCdfZmVhdHVyZVN0b3JlJywgdGhpcywgdHJ1ZSk7XHJcbiAgICAgIHJldHVybiBmZWF0dXJlRnJvbU9sKG9sRmVhdHVyZSwgdGhpcy5sYXllci5tYXAucHJvamVjdGlvbik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubG9hZChmZWF0dXJlcyBhcyBUW10pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGFsbCBmZWF0dXJlcyBmcm9tIHRoZSBsYXllclxyXG4gICAqL1xyXG4gIGNsZWFyTGF5ZXIoKSB7XHJcbiAgICB0aGlzLmNoZWNrTGF5ZXIoKTtcclxuICAgIHRoaXMuc291cmNlLm9sLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayB3ZXRoZXIgYSBsYXllciBpcyBib3VuZCBvciBub3QgYW5kIHRocm93IGFuIGVycm9yIGlmIG5vdC5cclxuICAgKi9cclxuICBwcml2YXRlIGNoZWNrTGF5ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5sYXllciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBGZWF0dXJlU3RvcmUgaXMgbm90IGJvdW5kIHRvIGEgbGF5ZXIuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGxheWVyJ3MgZmVhdHVyZXMgYW5kIHBlcmZvcm0gYSBtb3Rpb24gdG8gbWFrZSB0aGVtIHZpc2libGUuXHJcbiAgICogQHBhcmFtIGZlYXR1cmVzIE9wZW5sYXllcnMgZmVhdHVyZSBvYmplY3RzXHJcbiAgICogQHBhcmFtIG1vdGlvbiBPcHRpb25hbDogVGhlIHR5cGUgb2YgbW90aW9uIHRvIHBlcmZvcm1cclxuICAgKi9cclxuICBwdWJsaWMgc2V0TGF5ZXJPbEZlYXR1cmVzKFxyXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXHJcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24gPSBGZWF0dXJlTW90aW9uLkRlZmF1bHQsXHJcbiAgICB2aWV3U2NhbGU/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSxcclxuICAgIGFyZWFSYXRpbz86IG51bWJlclxyXG4gICkge1xyXG4gICAgY29uc3Qgb2xTb3VyY2UgPSB0aGlzLmxheWVyLm9sLmdldFNvdXJjZSgpO1xyXG4gICAgY29uc3QgZGlmZiA9IGNvbXB1dGVPbEZlYXR1cmVzRGlmZihvbFNvdXJjZS5nZXRGZWF0dXJlcygpLCBvbEZlYXR1cmVzKTtcclxuICAgIGlmIChkaWZmLnJlbW92ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlT2xGZWF0dXJlc0Zyb21MYXllcihkaWZmLnJlbW92ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRpZmYuYWRkLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5hZGRPbEZlYXR1cmVzVG9MYXllcihkaWZmLmFkZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRpZmYuYWRkLmxlbmd0aCA+IDApIHtcclxuICAgICAgLy8gSWYgZmVhdHVyZXMgYXJlIGFkZGVkLCBkbyBhIG1vdGlvbiB0b3dhcmQgdGhlIG5ld2x5IGFkZGVkIGZlYXR1cmVzXHJcbiAgICAgIG1vdmVUb09sRmVhdHVyZXMoXHJcbiAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIsXHJcbiAgICAgICAgZGlmZi5hZGQsXHJcbiAgICAgICAgbW90aW9uLFxyXG4gICAgICAgIHZpZXdTY2FsZSxcclxuICAgICAgICBhcmVhUmF0aW9cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoZGlmZi5yZW1vdmUubGVuZ3RoID4gMCkge1xyXG4gICAgICAvLyBFbHNlLCBkbyBhIG1vdGlvbiB0b3dhcmQgYWxsIHRoZSBmZWF0dXJlc1xyXG4gICAgICBtb3ZlVG9PbEZlYXR1cmVzKFxyXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxyXG4gICAgICAgIG9sRmVhdHVyZXMsXHJcbiAgICAgICAgbW90aW9uLFxyXG4gICAgICAgIHZpZXdTY2FsZSxcclxuICAgICAgICBhcmVhUmF0aW9cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldExheWVyRXh0ZW50KCk6IHZvaWQge1xyXG4gICAgbGV0IGZlYXR1cmVzID0gdGhpcy5lbnRpdGllcyQuZ2V0VmFsdWUoKTtcclxuICAgIGxldCBleHRlbnQgPSBvbGV4dGVudC5jcmVhdGVFbXB0eSgpIGFzIE1hcEV4dGVudDtcclxuICAgIGxldCBvbEZlYXR1cmVzID0gW107XHJcblxyXG4gICAgZmVhdHVyZXMuZm9yRWFjaCgoZmVhdHVyZSkgPT4ge1xyXG4gICAgICBvbEZlYXR1cmVzLnB1c2goZmVhdHVyZVRvT2woZmVhdHVyZSwgdGhpcy5tYXAucHJvamVjdGlvbikpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmZWF0dXJlc0V4dGVudCA9IGNvbXB1dGVPbEZlYXR1cmVzRXh0ZW50KFxyXG4gICAgICBvbEZlYXR1cmVzLFxyXG4gICAgICB0aGlzLm1hcC52aWV3UHJvamVjdGlvblxyXG4gICAgKTtcclxuICAgIG9sZXh0ZW50LmV4dGVuZChleHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcclxuICAgIHRoaXMubGF5ZXIuc2V0RXh0ZW50KGV4dGVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFkZCBmZWF0dXJlcyB0byB0aGUgdGhlIGxheWVyXHJcbiAgICogQHBhcmFtIGZlYXR1cmVzIE9wZW5sYXllcnMgZmVhdHVyZSBvYmplY3RzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRPbEZlYXR1cmVzVG9MYXllcihvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSkge1xyXG4gICAgb2xGZWF0dXJlcy5mb3JFYWNoKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICBvbEZlYXR1cmUuc2V0KCdfZmVhdHVyZVN0b3JlJywgdGhpcywgdHJ1ZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc291cmNlLm9sLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGZlYXR1cmVzIGZyb20gdGhlIHRoZSBsYXllclxyXG4gICAqIEBwYXJhbSBmZWF0dXJlcyBPcGVubGF5ZXJzIGZlYXR1cmUgb2JqZWN0c1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVtb3ZlT2xGZWF0dXJlc0Zyb21MYXllcihvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSkge1xyXG4gICAgb2xGZWF0dXJlcy5mb3JFYWNoKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xyXG4gICAgICB0aGlzLnNvdXJjZS5vbC5yZW1vdmVGZWF0dXJlKG9sRmVhdHVyZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzFFLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBUXRDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixhQUFhLEVBQ2IsV0FBVyxFQUNYLGdCQUFnQixFQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sWUFBMEMsU0FBUSxXQUFjO0lBQzNFOztPQUVHO0lBQ0gsS0FBSyxDQUFjO0lBRW5COztPQUVHO0lBQ00sR0FBRyxDQUFTO0lBRXJCOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSztZQUNmLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQWdDO1lBQzlDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxjQUFjLENBQUMsQ0FBYztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ08sZUFBZSxDQUFjO0lBRXJDLFlBQVksUUFBYSxFQUFFLE9BQTRCO1FBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FB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Z0MsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eUtleSwgRW50aXR5U3RvcmUsIGdldEVudGl0eUlkIH0gZnJvbSAnQGlnbzIvY29tbW9uL2VudGl0eSc7XG5cbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgKiBhcyBvbGV4dGVudCBmcm9tICdvbC9leHRlbnQnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcblxuaW1wb3J0IHsgRG9jdW1lbnQgfSBmcm9tICdmbGV4c2VhcmNoJztcblxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcyc7XG5pbXBvcnQgeyBWZWN0b3JMYXllciB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZCc7XG5pbXBvcnQgeyBJZ29NYXAsIE1hcEV4dGVudCB9IGZyb20gJy4uLy4uL21hcC9zaGFyZWQnO1xuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4vZmVhdHVyZS5lbnVtcyc7XG5pbXBvcnQgeyBGZWF0dXJlLCBGZWF0dXJlU3RvcmVPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZU9sRmVhdHVyZXNEaWZmLFxuICBjb21wdXRlT2xGZWF0dXJlc0V4dGVudCxcbiAgZmVhdHVyZUZyb21PbCxcbiAgZmVhdHVyZVRvT2wsXG4gIG1vdmVUb09sRmVhdHVyZXNcbn0gZnJvbSAnLi9mZWF0dXJlLnV0aWxzJztcblxuLyoqXG4gKiBUaGUgY2xhc3MgaXMgYSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGFuIEVudGl0eVN0b3JlIHRoYXQgc3RvcmVzXG4gKiBmZWF0dXJlcyBhbmQgdGhlIG1hcCBsYXllciB0byBkaXNwbGF5IHRoZW0gb24uIFN5bmNocm9uaXphdGlvblxuICogYmV0d2VlbiB0aGUgc3RvcmUgYW5kIHRoZSBsYXllciBpcyBoYW5kbGVkIGJ5IHN0cmF0ZWdpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBGZWF0dXJlU3RvcmU8VCBleHRlbmRzIEZlYXR1cmUgPSBGZWF0dXJlPiBleHRlbmRzIEVudGl0eVN0b3JlPFQ+IHtcbiAgLyoqXG4gICAqIFZlY3RvciBsYXllciB0byBkaXNwbGF5IHRoZSBmZWF0dXJlcyBvblxuICAgKi9cbiAgbGF5ZXI6IFZlY3RvckxheWVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWFwIHRoZSBsYXllciBpcyBib3VuZCB0b1xuICAgKi9cbiAgcmVhZG9ubHkgbWFwOiBJZ29NYXA7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXllcidzIGRhdGEgc291cmNlXG4gICAqL1xuICBnZXQgc291cmNlKCk6IEZlYXR1cmVEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5sYXllclxuICAgICAgPyAodGhpcy5sYXllci5kYXRhU291cmNlIGFzIEZlYXR1cmVEYXRhU291cmNlKVxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlYXJjaGFibGUgaW5kZXggb2YgbG9hZGVkIGZlYXR1cmUuIENvbXB1dGVkIGlmIHN0cmF0ZWd5IGlzIHByb3ZpZGVkXG4gICAqL1xuICBzZXQgc2VhcmNoRG9jdW1lbnQodjogRG9jdW1lbnQ8VD4pIHtcbiAgICB0aGlzLl9zZWFyY2hEb2N1bWVudCA9IHY7XG4gIH1cblxuICBnZXQgc2VhcmNoRG9jdW1lbnQoKTogRG9jdW1lbnQ8VD4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hEb2N1bWVudDtcbiAgfVxuICBwcml2YXRlIF9zZWFyY2hEb2N1bWVudDogRG9jdW1lbnQ8VD47XG5cbiAgY29uc3RydWN0b3IoZW50aXRpZXM6IFRbXSwgb3B0aW9uczogRmVhdHVyZVN0b3JlT3B0aW9ucykge1xuICAgIHN1cGVyKGVudGl0aWVzLCBvcHRpb25zKTtcbiAgICB0aGlzLm1hcCA9IG9wdGlvbnMubWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmQgdGhpcyBzdG9yZSB0byBhIHZlY3RvciBsYXllclxuICAgKiBAcGFyYW0gbGF5ZXIgVmVjdG9yIGxheWVyXG4gICAqIEByZXR1cm5zIEZlYXR1cmUgc3RvcmVcbiAgICovXG4gIGJpbmRMYXllcihsYXllcjogVmVjdG9yTGF5ZXIpOiBGZWF0dXJlU3RvcmUge1xuICAgIHRoaXMubGF5ZXIgPSBsYXllcjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGxheWVyJ3MgZmVhdHVyZXMgYW5kIHBlcmZvcm0gYSBtb3Rpb24gdG8gbWFrZSB0aGVtIHZpc2libGUuIFN0cmF0ZWdpZXNcbiAgICogbWFrZSBleHRlbnNpdmUgdXNlIG9mIHRoYXQgbWV0aG9kLlxuICAgKiBAcGFyYW0gZmVhdHVyZXMgRmVhdHVyZXNcbiAgICogQHBhcmFtIG1vdGlvbiBPcHRpb25hbDogVGhlIHR5cGUgb2YgbW90aW9uIHRvIHBlcmZvcm1cbiAgICovXG4gIHNldExheWVyRmVhdHVyZXMoXG4gICAgZmVhdHVyZXM6IEZlYXR1cmVbXSxcbiAgICBtb3Rpb246IEZlYXR1cmVNb3Rpb24gPSBGZWF0dXJlTW90aW9uLkRlZmF1bHQsXG4gICAgdmlld1NjYWxlPzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl0sXG4gICAgYXJlYVJhdGlvPzogbnVtYmVyLFxuICAgIGdldElkPzogKEZlYXR1cmUpID0+IEVudGl0eUtleVxuICApIHtcbiAgICBnZXRJZCA9IGdldElkID8gZ2V0SWQgOiBnZXRFbnRpdHlJZDtcbiAgICB0aGlzLmNoZWNrTGF5ZXIoKTtcblxuICAgIGNvbnN0IG9sRmVhdHVyZXMgPSBmZWF0dXJlcy5tYXAoKGZlYXR1cmU6IEZlYXR1cmUpID0+XG4gICAgICBmZWF0dXJlVG9PbChmZWF0dXJlLCB0aGlzLm1hcC5wcm9qZWN0aW9uLCBnZXRJZClcbiAgICApO1xuICAgIHRoaXMuc2V0TGF5ZXJPbEZlYXR1cmVzKG9sRmVhdHVyZXMsIG1vdGlvbiwgdmlld1NjYWxlLCBhcmVhUmF0aW8pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgc3RvcmUncyBmZWF0dXJlcyBmcm9tIGFuIGFycmF5IG9mIE9MIGZlYXR1cmVzLlxuICAgKiBAcGFyYW0gb2xGZWF0dXJlcyBPbCBmZWF0dXJlc1xuICAgKi9cbiAgc2V0U3RvcmVPbEZlYXR1cmVzKG9sRmVhdHVyZXM6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PltdKSB7XG4gICAgdGhpcy5jaGVja0xheWVyKCk7XG5cbiAgICBjb25zdCBmZWF0dXJlcyA9IG9sRmVhdHVyZXMubWFwKChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4ge1xuICAgICAgb2xGZWF0dXJlLnNldCgnX2ZlYXR1cmVTdG9yZScsIHRoaXMsIHRydWUpO1xuICAgICAgcmV0dXJuIGZlYXR1cmVGcm9tT2wob2xGZWF0dXJlLCB0aGlzLmxheWVyLm1hcC5wcm9qZWN0aW9uKTtcbiAgICB9KTtcbiAgICB0aGlzLmxvYWQoZmVhdHVyZXMgYXMgVFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYWxsIGZlYXR1cmVzIGZyb20gdGhlIGxheWVyXG4gICAqL1xuICBjbGVhckxheWVyKCkge1xuICAgIHRoaXMuY2hlY2tMYXllcigpO1xuICAgIHRoaXMuc291cmNlLm9sLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2V0aGVyIGEgbGF5ZXIgaXMgYm91bmQgb3Igbm90IGFuZCB0aHJvdyBhbiBlcnJvciBpZiBub3QuXG4gICAqL1xuICBwcml2YXRlIGNoZWNrTGF5ZXIoKSB7XG4gICAgaWYgKHRoaXMubGF5ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIEZlYXR1cmVTdG9yZSBpcyBub3QgYm91bmQgdG8gYSBsYXllci4nKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBsYXllcidzIGZlYXR1cmVzIGFuZCBwZXJmb3JtIGEgbW90aW9uIHRvIG1ha2UgdGhlbSB2aXNpYmxlLlxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICogQHBhcmFtIG1vdGlvbiBPcHRpb25hbDogVGhlIHR5cGUgb2YgbW90aW9uIHRvIHBlcmZvcm1cbiAgICovXG4gIHB1YmxpYyBzZXRMYXllck9sRmVhdHVyZXMoXG4gICAgb2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10sXG4gICAgbW90aW9uOiBGZWF0dXJlTW90aW9uID0gRmVhdHVyZU1vdGlvbi5EZWZhdWx0LFxuICAgIHZpZXdTY2FsZT86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdLFxuICAgIGFyZWFSYXRpbz86IG51bWJlclxuICApIHtcbiAgICBjb25zdCBvbFNvdXJjZSA9IHRoaXMubGF5ZXIub2wuZ2V0U291cmNlKCk7XG4gICAgY29uc3QgZGlmZiA9IGNvbXB1dGVPbEZlYXR1cmVzRGlmZihvbFNvdXJjZS5nZXRGZWF0dXJlcygpLCBvbEZlYXR1cmVzKTtcbiAgICBpZiAoZGlmZi5yZW1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5yZW1vdmVPbEZlYXR1cmVzRnJvbUxheWVyKGRpZmYucmVtb3ZlKTtcbiAgICB9XG5cbiAgICBpZiAoZGlmZi5hZGQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hZGRPbEZlYXR1cmVzVG9MYXllcihkaWZmLmFkZCk7XG4gICAgfVxuXG4gICAgaWYgKGRpZmYuYWRkLmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIElmIGZlYXR1cmVzIGFyZSBhZGRlZCwgZG8gYSBtb3Rpb24gdG93YXJkIHRoZSBuZXdseSBhZGRlZCBmZWF0dXJlc1xuICAgICAgbW92ZVRvT2xGZWF0dXJlcyhcbiAgICAgICAgdGhpcy5tYXAudmlld0NvbnRyb2xsZXIsXG4gICAgICAgIGRpZmYuYWRkLFxuICAgICAgICBtb3Rpb24sXG4gICAgICAgIHZpZXdTY2FsZSxcbiAgICAgICAgYXJlYVJhdGlvXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAoZGlmZi5yZW1vdmUubGVuZ3RoID4gMCkge1xuICAgICAgLy8gRWxzZSwgZG8gYSBtb3Rpb24gdG93YXJkIGFsbCB0aGUgZmVhdHVyZXNcbiAgICAgIG1vdmVUb09sRmVhdHVyZXMoXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxuICAgICAgICBvbEZlYXR1cmVzLFxuICAgICAgICBtb3Rpb24sXG4gICAgICAgIHZpZXdTY2FsZSxcbiAgICAgICAgYXJlYVJhdGlvXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNldExheWVyRXh0ZW50KCk6IHZvaWQge1xuICAgIGxldCBmZWF0dXJlcyA9IHRoaXMuZW50aXRpZXMkLmdldFZhbHVlKCk7XG4gICAgbGV0IGV4dGVudCA9IG9sZXh0ZW50LmNyZWF0ZUVtcHR5KCkgYXMgTWFwRXh0ZW50O1xuICAgIGxldCBvbEZlYXR1cmVzID0gW107XG5cbiAgICBmZWF0dXJlcy5mb3JFYWNoKChmZWF0dXJlKSA9PiB7XG4gICAgICBvbEZlYXR1cmVzLnB1c2goZmVhdHVyZVRvT2woZmVhdHVyZSwgdGhpcy5tYXAucHJvamVjdGlvbikpO1xuICAgIH0pO1xuICAgIGNvbnN0IGZlYXR1cmVzRXh0ZW50ID0gY29tcHV0ZU9sRmVhdHVyZXNFeHRlbnQoXG4gICAgICBvbEZlYXR1cmVzLFxuICAgICAgdGhpcy5tYXAudmlld1Byb2plY3Rpb25cbiAgICApO1xuICAgIG9sZXh0ZW50LmV4dGVuZChleHRlbnQsIGZlYXR1cmVzRXh0ZW50KTtcbiAgICB0aGlzLmxheWVyLnNldEV4dGVudChleHRlbnQpO1xuICB9XG4gIC8qKlxuICAgKiBBZGQgZmVhdHVyZXMgdG8gdGhlIHRoZSBsYXllclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICovXG4gIHByaXZhdGUgYWRkT2xGZWF0dXJlc1RvTGF5ZXIob2xGZWF0dXJlczogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10pIHtcbiAgICBvbEZlYXR1cmVzLmZvckVhY2goKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgICBvbEZlYXR1cmUuc2V0KCdfZmVhdHVyZVN0b3JlJywgdGhpcywgdHJ1ZSk7XG4gICAgfSk7XG4gICAgdGhpcy5zb3VyY2Uub2wuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGZlYXR1cmVzIGZyb20gdGhlIHRoZSBsYXllclxuICAgKiBAcGFyYW0gZmVhdHVyZXMgT3BlbmxheWVycyBmZWF0dXJlIG9iamVjdHNcbiAgICovXG4gIHByaXZhdGUgcmVtb3ZlT2xGZWF0dXJlc0Zyb21MYXllcihvbEZlYXR1cmVzOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXSkge1xuICAgIG9sRmVhdHVyZXMuZm9yRWFjaCgob2xGZWF0dXJlOiBPbEZlYXR1cmU8T2xHZW9tZXRyeT4pID0+IHtcbiAgICAgIHRoaXMuc291cmNlLm9sLnJlbW92ZUZlYXR1cmUob2xGZWF0dXJlKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { EntityStoreStrategy } from '@igo2/common';
1
+ import { EntityStoreStrategy } from '@igo2/common/entity';
2
2
  import { ObjectUtils } from '@igo2/utils';
3
3
  import { debounceTime, pairwise } from 'rxjs';
4
4
  import { generateIdFromSourceOptions } from '../../../utils/id-generator';
@@ -213,4 +213,4 @@ export class GeoPropertiesStrategy extends EntityStoreStrategy {
213
213
  }
214
214
  }
215
215
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2dlby1wcm9wZXJ0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBZ0IsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUs1RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVMxRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG1CQUFtQjtJQWNoRDtJQUNGO0lBQ0E7SUFmVjs7T0FFRztJQUNLLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUMzQyxRQUFRLEdBQW1CLEVBQUUsQ0FBQztJQUM5QixPQUFPLENBQWU7SUFFOUI7O09BRUc7SUFDYyxHQUFHLENBQVM7SUFFN0IsWUFDWSxPQUFnRCxFQUNsRCwyQkFBd0QsRUFDeEQsbUJBQXdDO1FBRWhELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUpMLFlBQU8sR0FBUCxPQUFPLENBQXlDO1FBQ2xELGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNkI7UUFDeEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUdoRCxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFtQjtRQUMzQixLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsVUFB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Q0FBQyxLQUFtQjtRQUN0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssVUFBVTtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlTdG9yZVN0cmF0ZWd5IH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdAaWdvMi91dGlscyc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IENhcGFiaWxpdGllc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhc291cmNlL3NoYXJlZC9jYXBhYmlsaXRpZXMuc2VydmljZSc7XHJcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XHJcbmltcG9ydCB7IElnb01hcCB9IGZyb20gJy4uLy4uLy4uL21hcC9zaGFyZWQvbWFwJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgR2VvU2VydmljZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBGZWF0dXJlLFxyXG4gIEZlYXR1cmVTdG9yZVByb3BlcnR5VHlwZVN0cmF0ZWd5T3B0aW9uc1xyXG59IGZyb20gJy4uL2ZlYXR1cmUuaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIHN0cmF0ZWd5IG1haW50YWluIHRoZSBzdG9yZSBmZWF0dXJlcyB1cGRhdGVkIHRvIGRldGVjdCBnZW9wcm9wZXJ0aWVzXHJcbiAqICh3bXMvYXJjZ2lzLi4uIGxheWVyIGFuZCB1cmwpLlxyXG4gKiBUaGUgZmVhdHVyZXMncyBzdGF0ZSBpbnNpZGUgdGhlIG1hcCBhcmUgdGFnZ2VkIGhhdmVHZW9TZXJ2aWNlUHJvcGVydGllcyA9IHRydWU7XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgR2VvUHJvcGVydGllc1N0cmF0ZWd5IGV4dGVuZHMgRW50aXR5U3RvcmVTdHJhdGVneSB7XHJcbiAgLyoqXHJcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIE9MIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdG9yZXMkJCA9IG5ldyBNYXA8RmVhdHVyZVN0b3JlLCBzdHJpbmc+KCk7XHJcbiAgcHJpdmF0ZSBzdGF0ZXMkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIGVtcHR5JCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIG1hcCB0aGUgbGF5ZXIgaXMgYm91bmQgdG9cclxuICAgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IG1hcDogSWdvTWFwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBvcHRpb25zOiBGZWF0dXJlU3RvcmVQcm9wZXJ0eVR5cGVTdHJhdGVneU9wdGlvbnMsXHJcbiAgICBwcml2YXRlIHByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZTogUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuICAgIHRoaXMubWFwID0gb3B0aW9ucy5tYXA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHN0b3JlIEZlYXR1cmUgc3RvcmVcclxuICAgKi9cclxuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIuYmluZFN0b3JlKHN0b3JlKTtcclxuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVW5iaW5kIHRoaXMgc3RyYXRlZ3kgZnJvbSBhIHN0b3JlIGFuZCBzdG9wIHdhdGNoaW5nIGZvciBPbCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXHJcbiAgICovXHJcbiAgdW5iaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xyXG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XHJcbiAgICAgIHRoaXMudW53YXRjaFN0b3JlKHN0b3JlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXJ0IHdhdGNoaW5nIGFsbCBzdG9yZXMgYWxyZWFkeSBib3VuZCB0byB0aGF0IHN0cmF0ZWd5IGF0IG9uY2UuXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvQWN0aXZhdGUoKSB7XHJcbiAgICB0aGlzLnN0b3Jlcy5mb3JFYWNoKChzdG9yZTogRmVhdHVyZVN0b3JlKSA9PiB0aGlzLndhdGNoU3RvcmUoc3RvcmUpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0b3Agd2F0Y2hpbmcgYWxsIHN0b3JlcyBib3VuZCB0byB0aGF0IHN0cmF0ZWd5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcclxuICAgIHRoaXMudW53YXRjaEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2F0Y2ggZm9yIGEgc3RvcmUncyAgT0wgc291cmNlIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgd2F0Y2hTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XHJcbiAgICBpZiAodGhpcy5zdG9yZXMkJC5oYXMoc3RvcmUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZUVudGl0aWVzUHJvcGVydGllc1N0YXRlKHN0b3JlKTtcclxuICAgIHRoaXMuc3RhdGVzJCQucHVzaChcclxuICAgICAgdGhpcy5tYXAubGF5ZXJzJFxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgyNTApLCBwYWlyd2lzZSgpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKFtwcmV2TGF5ZXJzLCBjdXJyZW50TGF5ZXJzXSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHByZXZMYXllcnNJZDtcclxuICAgICAgICAgIGlmIChwcmV2TGF5ZXJzKSB7XHJcbiAgICAgICAgICAgIHByZXZMYXllcnNJZCA9IHByZXZMYXllcnMubWFwKChsKSA9PiBsLmlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IGxheWVycyA9IGN1cnJlbnRMYXllcnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAobCkgPT4gIXByZXZMYXllcnNJZC5pbmNsdWRlcyhsLmlkKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlRW50aXRpZXNQcm9wZXJ0aWVzU3RhdGUoc3RvcmUsIGxheWVycyk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLnN0YXRlcyQkLnB1c2goXHJcbiAgICAgIHN0b3JlLmVudGl0aWVzJC5waXBlKGRlYm91bmNlVGltZSgyNTApKS5zdWJzY3JpYmUoKGEpID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzUHJvcGVydGllc1N0YXRlKHN0b3JlKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUVudGl0aWVzUHJvcGVydGllc1N0YXRlKHN0b3JlOiBGZWF0dXJlU3RvcmUsIGxheWVycz86IExheWVyW10pIHtcclxuICAgIGNvbnN0IGxheWVyc0lkID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobCkgPT4gbC5pZCk7XHJcbiAgICBsZXQgZW50aXRpZXM6IEZlYXR1cmVbXSA9IFtdO1xyXG4gICAgaWYgKGxheWVycykge1xyXG4gICAgICBlbnRpdGllcyA9IHN0b3JlLmVudGl0aWVzJC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGFsbFNWID0gc3RvcmUuc3RhdGVWaWV3LmFsbCgpO1xyXG4gICAgICBlbnRpdGllcyA9IGFsbFNWLmxlbmd0aFxyXG4gICAgICAgID8gc3RvcmUuc3RhdGVWaWV3XHJcbiAgICAgICAgICAgIC5hbGwoKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChzKSA9PiAhcy5zdGF0ZS5nZW9TZXJ2aWNlKVxyXG4gICAgICAgICAgICAubWFwKChlKSA9PiBlLmVudGl0eSlcclxuICAgICAgICA6IHN0b3JlLmVudGl0aWVzJC52YWx1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNhbXBsaW5nID0gZW50aXRpZXMubGVuZ3RoID49IDI1MCA/IDI1MCA6IGVudGl0aWVzLmxlbmd0aDtcclxuICAgIGNvbnN0IGZpcnN0TiA9IGVudGl0aWVzLnNsaWNlKDAsIHNhbXBsaW5nKTtcclxuICAgIGxldCBhbGxLZXlzID0gW107XHJcbiAgICBmaXJzdE4ubWFwKChlKSA9PiB7XHJcbiAgICAgIGFsbEtleXMgPSBhbGxLZXlzLmNvbmNhdChPYmplY3Qua2V5cyhlLnByb3BlcnRpZXMgfHwge30pKTtcclxuICAgIH0pO1xyXG4gICAgYWxsS2V5cyA9IFsuLi5uZXcgU2V0KGFsbEtleXMpXTtcclxuICAgIGNvbnN0IGRpc3RpbmN0VmFsdWVzID0ge307XHJcbiAgICBhbGxLZXlzLm1hcCgoaykgPT4ge1xyXG4gICAgICBkaXN0aW5jdFZhbHVlc1trXSA9IFtcclxuICAgICAgICAuLi5uZXcgU2V0KGVudGl0aWVzLm1hcCgoaXRlbSkgPT4gaXRlbS5wcm9wZXJ0aWVzW2tdKSlcclxuICAgICAgXTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgY29udGFpbkdlb1NlcnZpY2VzID0ge307XHJcbiAgICBPYmplY3QuZW50cmllcyhkaXN0aW5jdFZhbHVlcykuZm9yRWFjaCgoZW50cnk6IFtzdHJpbmcsIFtdXSkgPT4ge1xyXG4gICAgICBjb25zdCBba2V5LCB2YWx1ZXNdID0gZW50cnk7XHJcbiAgICAgIGNvbnN0IHZhbHVlZEFyZUdlb3NlcnZpY2VzID0gdmFsdWVzLmZpbHRlcigodmFsdWUpID0+XHJcbiAgICAgICAgdGhpcy5wcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UuaXNHZW9TZXJ2aWNlKHZhbHVlKVxyXG4gICAgICApO1xyXG4gICAgICBpZiAodmFsdWVkQXJlR2Vvc2VydmljZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnRhaW5HZW9TZXJ2aWNlc1trZXldID0gdmFsdWVkQXJlR2Vvc2VydmljZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaW50ZXJmYWNlIEdlb1NlcnZpY2VBc3NvY2lhdGlvbiB7XHJcbiAgICAgIHVybDogc3RyaW5nO1xyXG4gICAgICBsYXllck5hbWVQcm9wZXJ0eTogc3RyaW5nO1xyXG4gICAgICB1cmxQcm9wZXJ0eTogc3RyaW5nO1xyXG4gICAgICBnZW9TZXJ2aWNlOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbjtcclxuICAgIH1cclxuICAgIGNvbnN0IGdlb1NlcnZpY2VBc3NvY2lhdGlvbnM6IEdlb1NlcnZpY2VBc3NvY2lhdGlvbltdID0gW107XHJcbiAgICBPYmplY3QuZW50cmllcyhjb250YWluR2VvU2VydmljZXMpLmZvckVhY2goKGVudHJ5OiBbc3RyaW5nLCBbXV0pID0+IHtcclxuICAgICAgY29uc3QgW2tleSwgdmFsdWVzXSA9IGVudHJ5O1xyXG4gICAgICB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGdlb1NlcnZpY2UgPSB0aGlzLnByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZS5nZXRHZW9TZXJ2aWNlKFxyXG4gICAgICAgICAgdmFsdWUsXHJcbiAgICAgICAgICBhbGxLZXlzXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAoZ2VvU2VydmljZSkge1xyXG4gICAgICAgICAgY29uc3QgcHJvcGVydGllc0ZvckxheWVyTmFtZSA9IGFsbEtleXMuZmlsdGVyKChwKSA9PlxyXG4gICAgICAgICAgICBnZW9TZXJ2aWNlLnByb3BlcnRpZXNGb3JMYXllck5hbWUuaW5jbHVkZXMocClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICAvLyBwcm92aWRpbmcgdGhlIHRoZSBmaXJzdCBtYXRjaGluZyByZWdleDtcclxuICAgICAgICAgIGNvbnN0IHByb3BlcnR5Rm9yTGF5ZXJOYW1lID0gcHJvcGVydGllc0ZvckxheWVyTmFtZS5sZW5ndGhcclxuICAgICAgICAgICAgPyBwcm9wZXJ0aWVzRm9yTGF5ZXJOYW1lWzBdXHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgaWYgKHByb3BlcnR5Rm9yTGF5ZXJOYW1lKSB7XHJcbiAgICAgICAgICAgIGdlb1NlcnZpY2VBc3NvY2lhdGlvbnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgdXJsOiB2YWx1ZSxcclxuICAgICAgICAgICAgICB1cmxQcm9wZXJ0eToga2V5LFxyXG4gICAgICAgICAgICAgIGxheWVyTmFtZVByb3BlcnR5OiBwcm9wZXJ0eUZvckxheWVyTmFtZSxcclxuICAgICAgICAgICAgICBnZW9TZXJ2aWNlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGdlb1NlcnZpY2VTdGF0ZXM6IHtcclxuICAgICAgZ2VvU2VydmljZUFzc29jaWF0aW9uOiBHZW9TZXJ2aWNlQXNzb2NpYXRpb247XHJcbiAgICAgIHN0YXRlOiBhbnk7XHJcbiAgICB9W10gPSBbXTtcclxuICAgIGdlb1NlcnZpY2VBc3NvY2lhdGlvbnMubWFwKChnZW9TZXJ2aWNlQXNzb2NpYXRpb24pID0+IHtcclxuICAgICAgY29uc3QgdXJsID0gZ2VvU2VydmljZUFzc29jaWF0aW9uLnVybDtcclxuICAgICAgY29uc3QgdHlwZSA9IGdlb1NlcnZpY2VBc3NvY2lhdGlvbi5nZW9TZXJ2aWNlLnR5cGUgfHwgJ3dtcyc7XHJcbiAgICAgIGRpc3RpbmN0VmFsdWVzW2dlb1NlcnZpY2VBc3NvY2lhdGlvbi5sYXllck5hbWVQcm9wZXJ0eV0ubWFwKFxyXG4gICAgICAgIChsYXllck5hbWUpID0+IHtcclxuICAgICAgICAgIGxldCBhcHBsaWVkTGF5ZXJOYW1lID0gbGF5ZXJOYW1lO1xyXG4gICAgICAgICAgbGV0IGFyY2dpc0xheWVyTmFtZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgWydhcmNnaXNyZXN0JywgJ2ltYWdlYXJjZ2lzcmVzdCcsICd0aWxlYXJjZ2lzcmVzdCddLmluY2x1ZGVzKHR5cGUpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgYXBwbGllZExheWVyTmFtZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgYXJjZ2lzTGF5ZXJOYW1lID0gbGF5ZXJOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3Qgc28gPSBPYmplY3RVdGlscy5yZW1vdmVVbmRlZmluZWQoe1xyXG4gICAgICAgICAgICBzb3VyY2VPcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogdHlwZSB8fCAnd21zJyxcclxuICAgICAgICAgICAgICB1cmwsXHJcbiAgICAgICAgICAgICAgb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXM6IHRydWUsXHJcbiAgICAgICAgICAgICAgb3B0aW9uc0Zyb21BcGk6IHRydWUsXHJcbiAgICAgICAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICAgICAgICBMQVlFUlM6IGFwcGxpZWRMYXllck5hbWUsXHJcbiAgICAgICAgICAgICAgICBMQVlFUjogYXJjZ2lzTGF5ZXJOYW1lXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IHBvdGVudGlhbExheWVySWQgPSBnZW5lcmF0ZUlkRnJvbVNvdXJjZU9wdGlvbnMoXHJcbiAgICAgICAgICAgIHNvLnNvdXJjZU9wdGlvbnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBnZW9TZXJ2aWNlU3RhdGVzLnB1c2goe1xyXG4gICAgICAgICAgICBnZW9TZXJ2aWNlQXNzb2NpYXRpb24sXHJcbiAgICAgICAgICAgIHN0YXRlOiB7XHJcbiAgICAgICAgICAgICAgYWRkZWQ6IGxheWVyc0lkLmZpbmQoKGwpID0+IGwgPT09IHBvdGVudGlhbExheWVySWQpICE9PSB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgaGF2ZUdlb1NlcnZpY2VQcm9wZXJ0aWVzOiB0cnVlLFxyXG4gICAgICAgICAgICAgIHR5cGUsXHJcbiAgICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICAgIGxheWVyTmFtZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIGdlb1NlcnZpY2VTdGF0ZXMubWFwKChnZW9TZXJ2aWNlU3RhdGUpID0+IHtcclxuICAgICAgY29uc3QgdXJsUHJvcGVydHkgPSBnZW9TZXJ2aWNlU3RhdGUuZ2VvU2VydmljZUFzc29jaWF0aW9uLnVybFByb3BlcnR5O1xyXG4gICAgICBjb25zdCBsYXllck5hbWVQcm9wZXJ0eSA9XHJcbiAgICAgICAgZ2VvU2VydmljZVN0YXRlLmdlb1NlcnZpY2VBc3NvY2lhdGlvbi5sYXllck5hbWVQcm9wZXJ0eTtcclxuXHJcbiAgICAgIGNvbnN0IHVybFZhbHVlID0gZ2VvU2VydmljZVN0YXRlLnN0YXRlLnVybDtcclxuICAgICAgY29uc3QgbGF5ZXJOYW1lVmFsdWUgPSBnZW9TZXJ2aWNlU3RhdGUuc3RhdGUubGF5ZXJOYW1lO1xyXG4gICAgICBjb25zdCBlbnRpdGllc1RvUHJvY2VzcyA9IGVudGl0aWVzLmZpbHRlcihcclxuICAgICAgICAoZSkgPT5cclxuICAgICAgICAgIGUucHJvcGVydGllc1t1cmxQcm9wZXJ0eV0gPT09IHVybFZhbHVlICYmXHJcbiAgICAgICAgICBlLnByb3BlcnRpZXNbbGF5ZXJOYW1lUHJvcGVydHldID09PSBsYXllck5hbWVWYWx1ZVxyXG4gICAgICApO1xyXG4gICAgICBjb25zdCBucyA9IHtcclxuICAgICAgICBnZW9TZXJ2aWNlOiBnZW9TZXJ2aWNlU3RhdGUuc3RhdGVcclxuICAgICAgfTtcclxuICAgICAgc3RvcmUuc3RhdGUudXBkYXRlTWFueShlbnRpdGllc1RvUHJvY2VzcywgbnMsIHRydWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBhIHN0b3JlJ3MgT0wgc291cmNlIGNoYW5nZXNcclxuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW53YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcclxuICAgIGNvbnN0IGtleSA9IHRoaXMuc3RvcmVzJCQuZ2V0KHN0b3JlKTtcclxuICAgIGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLnN0b3JlcyQkLmRlbGV0ZShzdG9yZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTdG9wIHdhdGNoaW5nIGZvciBPTCBzb3VyY2UgY2hhbmdlcyBpbiBhbGwgc3RvcmVzLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgdW53YXRjaEFsbCgpIHtcclxuICAgIHRoaXMuc3RvcmVzJCQuY2xlYXIoKTtcclxuICAgIHRoaXMuc3RhdGVzJCQubWFwKChzdGF0ZSkgPT4gc3RhdGUudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBpZiAodGhpcy5lbXB0eSQkKSB7XHJcbiAgICAgIHRoaXMuZW1wdHkkJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvLXByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9mZWF0dXJlL3NoYXJlZC9zdHJhdGVnaWVzL2dlby1wcm9wZXJ0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUMsT0FBTyxFQUFnQixZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSzVELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBUzFFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBY2hEO0lBQ0Y7SUFDQTtJQWZWOztPQUVHO0lBQ0ssUUFBUSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0lBQzNDLFFBQVEsR0FBbUIsRUFBRSxDQUFDO0lBQzlCLE9BQU8sQ0FBZTtJQUU5Qjs7T0FFRztJQUNjLEdBQUcsQ0FBUztJQUU3QixZQUNZLE9BQWdELEVBQ2xELDJCQUF3RCxFQUN4RCxtQkFBd0M7UUFFaEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSkwsWUFBTyxHQUFQLE9BQU8sQ0FBeUM7UUFDbEQsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBR2hELElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEtBQW1CO1FBQzNCLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxV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WSxDQUFDLEtBQW1CO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVN0b3JlU3RyYXRlZ3kgfSBmcm9tICdAaWdvMi9jb21tb24vZW50aXR5JztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgcGFpcndpc2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ2FwYWJpbGl0aWVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2NhcGFiaWxpdGllcy5zZXJ2aWNlJztcbmltcG9ydCB7IExheWVyIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sYXllcic7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBnZW5lcmF0ZUlkRnJvbVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pZC1nZW5lcmF0b3InO1xuaW1wb3J0IHsgR2VvU2VydmljZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi8uLi91dGlscy9wcm9wZXJ0eVR5cGVEZXRlY3Rvci9wcm9wZXJ0eVR5cGVEZXRlY3Rvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvcHJvcGVydHlUeXBlRGV0ZWN0b3IvcHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBGZWF0dXJlLFxuICBGZWF0dXJlU3RvcmVQcm9wZXJ0eVR5cGVTdHJhdGVneU9wdGlvbnNcbn0gZnJvbSAnLi4vZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZlYXR1cmVTdG9yZSB9IGZyb20gJy4uL3N0b3JlJztcblxuLyoqXG4gKiBUaGlzIHN0cmF0ZWd5IG1haW50YWluIHRoZSBzdG9yZSBmZWF0dXJlcyB1cGRhdGVkIHRvIGRldGVjdCBnZW9wcm9wZXJ0aWVzXG4gKiAod21zL2FyY2dpcy4uLiBsYXllciBhbmQgdXJsKS5cbiAqIFRoZSBmZWF0dXJlcydzIHN0YXRlIGluc2lkZSB0aGUgbWFwIGFyZSB0YWdnZWQgaGF2ZUdlb1NlcnZpY2VQcm9wZXJ0aWVzID0gdHJ1ZTtcbiAqL1xuZXhwb3J0IGNsYXNzIEdlb1Byb3BlcnRpZXNTdHJhdGVneSBleHRlbmRzIEVudGl0eVN0b3JlU3RyYXRlZ3kge1xuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIHRvIHRoZSBzdG9yZSdzIE9MIHNvdXJjZSBjaGFuZ2VzXG4gICAqL1xuICBwcml2YXRlIHN0b3JlcyQkID0gbmV3IE1hcDxGZWF0dXJlU3RvcmUsIHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBzdGF0ZXMkJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBlbXB0eSQkOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBtYXAgdGhlIGxheWVyIGlzIGJvdW5kIHRvXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IG1hcDogSWdvTWFwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvcHRpb25zOiBGZWF0dXJlU3RvcmVQcm9wZXJ0eVR5cGVTdHJhdGVneU9wdGlvbnMsXG4gICAgcHJpdmF0ZSBwcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2U6IFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGNhcGFiaWxpdGllc1NlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gICAgdGhpcy5tYXAgPSBvcHRpb25zLm1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kIHRoaXMgc3RyYXRlZ3kgdG8gYSBzdG9yZSBhbmQgc3RhcnQgd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICBiaW5kU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIHN1cGVyLmJpbmRTdG9yZShzdG9yZSk7XG4gICAgaWYgKHRoaXMuYWN0aXZlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLndhdGNoU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVbmJpbmQgdGhpcyBzdHJhdGVneSBmcm9tIGEgc3RvcmUgYW5kIHN0b3Agd2F0Y2hpbmcgZm9yIE9sIHNvdXJjZSBjaGFuZ2VzXG4gICAqIEBwYXJhbSBzdG9yZSBGZWF0dXJlIHN0b3JlXG4gICAqL1xuICB1bmJpbmRTdG9yZShzdG9yZTogRmVhdHVyZVN0b3JlKSB7XG4gICAgc3VwZXIudW5iaW5kU3RvcmUoc3RvcmUpO1xuICAgIGlmICh0aGlzLmFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy51bndhdGNoU3RvcmUoc3RvcmUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB3YXRjaGluZyBhbGwgc3RvcmVzIGFscmVhZHkgYm91bmQgdG8gdGhhdCBzdHJhdGVneSBhdCBvbmNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBkb0FjdGl2YXRlKCkge1xuICAgIHRoaXMuc3RvcmVzLmZvckVhY2goKHN0b3JlOiBGZWF0dXJlU3RvcmUpID0+IHRoaXMud2F0Y2hTdG9yZShzdG9yZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgYWxsIHN0b3JlcyBib3VuZCB0byB0aGF0IHN0cmF0ZWd5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIGRvRGVhY3RpdmF0ZSgpIHtcbiAgICB0aGlzLnVud2F0Y2hBbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYXRjaCBmb3IgYSBzdG9yZSdzICBPTCBzb3VyY2UgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSB3YXRjaFN0b3JlKHN0b3JlOiBGZWF0dXJlU3RvcmUpIHtcbiAgICBpZiAodGhpcy5zdG9yZXMkJC5oYXMoc3RvcmUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVFbnRpdGllc1Byb3BlcnRpZXNTdGF0ZShzdG9yZSk7XG4gICAgdGhpcy5zdGF0ZXMkJC5wdXNoKFxuICAgICAgdGhpcy5tYXAubGF5ZXJzJFxuICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjUwKSwgcGFpcndpc2UoKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW3ByZXZMYXllcnMsIGN1cnJlbnRMYXllcnNdKSA9PiB7XG4gICAgICAgICAgbGV0IHByZXZMYXllcnNJZDtcbiAgICAgICAgICBpZiAocHJldkxheWVycykge1xuICAgICAgICAgICAgcHJldkxheWVyc0lkID0gcHJldkxheWVycy5tYXAoKGwpID0+IGwuaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBsYXllcnMgPSBjdXJyZW50TGF5ZXJzLmZpbHRlcihcbiAgICAgICAgICAgIChsKSA9PiAhcHJldkxheWVyc0lkLmluY2x1ZGVzKGwuaWQpXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzUHJvcGVydGllc1N0YXRlKHN0b3JlLCBsYXllcnMpO1xuICAgICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zdGF0ZXMkJC5wdXNoKFxuICAgICAgc3RvcmUuZW50aXRpZXMkLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpLnN1YnNjcmliZSgoYSkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZUVudGl0aWVzUHJvcGVydGllc1N0YXRlKHN0b3JlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRW50aXRpZXNQcm9wZXJ0aWVzU3RhdGUoc3RvcmU6IEZlYXR1cmVTdG9yZSwgbGF5ZXJzPzogTGF5ZXJbXSkge1xuICAgIGNvbnN0IGxheWVyc0lkID0gdGhpcy5tYXAubGF5ZXJzLm1hcCgobCkgPT4gbC5pZCk7XG4gICAgbGV0IGVudGl0aWVzOiBGZWF0dXJlW10gPSBbXTtcbiAgICBpZiAobGF5ZXJzKSB7XG4gICAgICBlbnRpdGllcyA9IHN0b3JlLmVudGl0aWVzJC52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYWxsU1YgPSBzdG9yZS5zdGF0ZVZpZXcuYWxsKCk7XG4gICAgICBlbnRpdGllcyA9IGFsbFNWLmxlbmd0aFxuICAgICAgICA/IHN0b3JlLnN0YXRlVmlld1xuICAgICAgICAgICAgLmFsbCgpXG4gICAgICAgICAgICAuZmlsdGVyKChzKSA9PiAhcy5zdGF0ZS5nZW9TZXJ2aWNlKVxuICAgICAgICAgICAgLm1hcCgoZSkgPT4gZS5lbnRpdHkpXG4gICAgICAgIDogc3RvcmUuZW50aXRpZXMkLnZhbHVlO1xuICAgIH1cbiAgICBjb25zdCBzYW1wbGluZyA9IGVudGl0aWVzLmxlbmd0aCA+PSAyNTAgPyAyNTAgOiBlbnRpdGllcy5sZW5ndGg7XG4gICAgY29uc3QgZmlyc3ROID0gZW50aXRpZXMuc2xpY2UoMCwgc2FtcGxpbmcpO1xuICAgIGxldCBhbGxLZXlzID0gW107XG4gICAgZmlyc3ROLm1hcCgoZSkgPT4ge1xuICAgICAgYWxsS2V5cyA9IGFsbEtleXMuY29uY2F0KE9iamVjdC5rZXlzKGUucHJvcGVydGllcyB8fCB7fSkpO1xuICAgIH0pO1xuICAgIGFsbEtleXMgPSBbLi4ubmV3IFNldChhbGxLZXlzKV07XG4gICAgY29uc3QgZGlzdGluY3RWYWx1ZXMgPSB7fTtcbiAgICBhbGxLZXlzLm1hcCgoaykgPT4ge1xuICAgICAgZGlzdGluY3RWYWx1ZXNba10gPSBbXG4gICAgICAgIC4uLm5ldyBTZXQoZW50aXRpZXMubWFwKChpdGVtKSA9PiBpdGVtLnByb3BlcnRpZXNba10pKVxuICAgICAgXTtcbiAgICB9KTtcbiAgICBjb25zdCBjb250YWluR2VvU2VydmljZXMgPSB7fTtcbiAgICBPYmplY3QuZW50cmllcyhkaXN0aW5jdFZhbHVlcykuZm9yRWFjaCgoZW50cnk6IFtzdHJpbmcsIFtdXSkgPT4ge1xuICAgICAgY29uc3QgW2tleSwgdmFsdWVzXSA9IGVudHJ5O1xuICAgICAgY29uc3QgdmFsdWVkQXJlR2Vvc2VydmljZXMgPSB2YWx1ZXMuZmlsdGVyKCh2YWx1ZSkgPT5cbiAgICAgICAgdGhpcy5wcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UuaXNHZW9TZXJ2aWNlKHZhbHVlKVxuICAgICAgKTtcbiAgICAgIGlmICh2YWx1ZWRBcmVHZW9zZXJ2aWNlcz8ubGVuZ3RoKSB7XG4gICAgICAgIGNvbnRhaW5HZW9TZXJ2aWNlc1trZXldID0gdmFsdWVkQXJlR2Vvc2VydmljZXM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW50ZXJmYWNlIEdlb1NlcnZpY2VBc3NvY2lhdGlvbiB7XG4gICAgICB1cmw6IHN0cmluZztcbiAgICAgIGxheWVyTmFtZVByb3BlcnR5OiBzdHJpbmc7XG4gICAgICB1cmxQcm9wZXJ0eTogc3RyaW5nO1xuICAgICAgZ2VvU2VydmljZTogR2VvU2VydmljZURlZmluaXRpb247XG4gICAgfVxuICAgIGNvbnN0IGdlb1NlcnZpY2VBc3NvY2lhdGlvbnM6IEdlb1NlcnZpY2VBc3NvY2lhdGlvbltdID0gW107XG4gICAgT2JqZWN0LmVudHJpZXMoY29udGFpbkdlb1NlcnZpY2VzKS5mb3JFYWNoKChlbnRyeTogW3N0cmluZywgW11dKSA9PiB7XG4gICAgICBjb25zdCBba2V5LCB2YWx1ZXNdID0gZW50cnk7XG4gICAgICB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBnZW9TZXJ2aWNlID0gdGhpcy5wcm9wZXJ0eVR5cGVEZXRlY3RvclNlcnZpY2UuZ2V0R2VvU2VydmljZShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICBhbGxLZXlzXG4gICAgICAgICk7XG4gICAgICAgIGlmIChnZW9TZXJ2aWNlKSB7XG4gICAgICAgICAgY29uc3QgcHJvcGVydGllc0ZvckxheWVyTmFtZSA9IGFsbEtleXMuZmlsdGVyKChwKSA9PlxuICAgICAgICAgICAgZ2VvU2VydmljZS5wcm9wZXJ0aWVzRm9yTGF5ZXJOYW1lLmluY2x1ZGVzKHApXG4gICAgICAgICAgKTtcbiAgICAgICAgICAvLyBwcm92aWRpbmcgdGhlIHRoZSBmaXJzdCBtYXRjaGluZyByZWdleDtcbiAgICAgICAgICBjb25zdCBwcm9wZXJ0eUZvckxheWVyTmFtZSA9IHByb3BlcnRpZXNGb3JMYXllck5hbWUubGVuZ3RoXG4gICAgICAgICAgICA/IHByb3BlcnRpZXNGb3JMYXllck5hbWVbMF1cbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgIGlmIChwcm9wZXJ0eUZvckxheWVyTmFtZSkge1xuICAgICAgICAgICAgZ2VvU2VydmljZUFzc29jaWF0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgdXJsOiB2YWx1ZSxcbiAgICAgICAgICAgICAgdXJsUHJvcGVydHk6IGtleSxcbiAgICAgICAgICAgICAgbGF5ZXJOYW1lUHJvcGVydHk6IHByb3BlcnR5Rm9yTGF5ZXJOYW1lLFxuICAgICAgICAgICAgICBnZW9TZXJ2aWNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGdlb1NlcnZpY2VTdGF0ZXM6IHtcbiAgICAgIGdlb1NlcnZpY2VBc3NvY2lhdGlvbjogR2VvU2VydmljZUFzc29jaWF0aW9uO1xuICAgICAgc3RhdGU6IGFueTtcbiAgICB9W10gPSBbXTtcbiAgICBnZW9TZXJ2aWNlQXNzb2NpYXRpb25zLm1hcCgoZ2VvU2VydmljZUFzc29jaWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCB1cmwgPSBnZW9TZXJ2aWNlQXNzb2NpYXRpb24udXJsO1xuICAgICAgY29uc3QgdHlwZSA9IGdlb1NlcnZpY2VBc3NvY2lhdGlvbi5nZW9TZXJ2aWNlLnR5cGUgfHwgJ3dtcyc7XG4gICAgICBkaXN0aW5jdFZhbHVlc1tnZW9TZXJ2aWNlQXNzb2NpYXRpb24ubGF5ZXJOYW1lUHJvcGVydHldLm1hcChcbiAgICAgICAgKGxheWVyTmFtZSkgPT4ge1xuICAgICAgICAgIGxldCBhcHBsaWVkTGF5ZXJOYW1lID0gbGF5ZXJOYW1lO1xuICAgICAgICAgIGxldCBhcmNnaXNMYXllck5hbWUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgWydhcmNnaXNyZXN0JywgJ2ltYWdlYXJjZ2lzcmVzdCcsICd0aWxlYXJjZ2lzcmVzdCddLmluY2x1ZGVzKHR5cGUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBhcHBsaWVkTGF5ZXJOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgYXJjZ2lzTGF5ZXJOYW1lID0gbGF5ZXJOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBzbyA9IE9iamVjdFV0aWxzLnJlbW92ZVVuZGVmaW5lZCh7XG4gICAgICAgICAgICBzb3VyY2VPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHR5cGU6IHR5cGUgfHwgJ3dtcycsXG4gICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgb3B0aW9uc0Zyb21DYXBhYmlsaXRpZXM6IHRydWUsXG4gICAgICAgICAgICAgIG9wdGlvbnNGcm9tQXBpOiB0cnVlLFxuICAgICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgICBMQVlFUlM6IGFwcGxpZWRMYXllck5hbWUsXG4gICAgICAgICAgICAgICAgTEFZRVI6IGFyY2dpc0xheWVyTmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3QgcG90ZW50aWFsTGF5ZXJJZCA9IGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhcbiAgICAgICAgICAgIHNvLnNvdXJjZU9wdGlvbnNcbiAgICAgICAgICApO1xuICAgICAgICAgIGdlb1NlcnZpY2VTdGF0ZXMucHVzaCh7XG4gICAgICAgICAgICBnZW9TZXJ2aWNlQXNzb2NpYXRpb24sXG4gICAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgICBhZGRlZDogbGF5ZXJzSWQuZmluZCgobCkgPT4gbCA9PT0gcG90ZW50aWFsTGF5ZXJJZCkgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgaGF2ZUdlb1NlcnZpY2VQcm9wZXJ0aWVzOiB0cnVlLFxuICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgIGxheWVyTmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICAgIGdlb1NlcnZpY2VTdGF0ZXMubWFwKChnZW9TZXJ2aWNlU3RhdGUpID0+IHtcbiAgICAgIGNvbnN0IHVybFByb3BlcnR5ID0gZ2VvU2VydmljZVN0YXRlLmdlb1NlcnZpY2VBc3NvY2lhdGlvbi51cmxQcm9wZXJ0eTtcbiAgICAgIGNvbnN0IGxheWVyTmFtZVByb3BlcnR5ID1cbiAgICAgICAgZ2VvU2VydmljZVN0YXRlLmdlb1NlcnZpY2VBc3NvY2lhdGlvbi5sYXllck5hbWVQcm9wZXJ0eTtcblxuICAgICAgY29uc3QgdXJsVmFsdWUgPSBnZW9TZXJ2aWNlU3RhdGUuc3RhdGUudXJsO1xuICAgICAgY29uc3QgbGF5ZXJOYW1lVmFsdWUgPSBnZW9TZXJ2aWNlU3RhdGUuc3RhdGUubGF5ZXJOYW1lO1xuICAgICAgY29uc3QgZW50aXRpZXNUb1Byb2Nlc3MgPSBlbnRpdGllcy5maWx0ZXIoXG4gICAgICAgIChlKSA9PlxuICAgICAgICAgIGUucHJvcGVydGllc1t1cmxQcm9wZXJ0eV0gPT09IHVybFZhbHVlICYmXG4gICAgICAgICAgZS5wcm9wZXJ0aWVzW2xheWVyTmFtZVByb3BlcnR5XSA9PT0gbGF5ZXJOYW1lVmFsdWVcbiAgICAgICk7XG4gICAgICBjb25zdCBucyA9IHtcbiAgICAgICAgZ2VvU2VydmljZTogZ2VvU2VydmljZVN0YXRlLnN0YXRlXG4gICAgICB9O1xuICAgICAgc3RvcmUuc3RhdGUudXBkYXRlTWFueShlbnRpdGllc1RvUHJvY2VzcywgbnMsIHRydWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3Agd2F0Y2hpbmcgZm9yIGEgc3RvcmUncyBPTCBzb3VyY2UgY2hhbmdlc1xuICAgKiBAcGFyYW0gc3RvcmUgRmVhdHVyZSBzdG9yZVxuICAgKi9cbiAgcHJpdmF0ZSB1bndhdGNoU3RvcmUoc3RvcmU6IEZlYXR1cmVTdG9yZSkge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuc3RvcmVzJCQuZ2V0KHN0b3JlKTtcbiAgICBpZiAoa2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RvcmVzJCQuZGVsZXRlKHN0b3JlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyBmb3IgT0wgc291cmNlIGNoYW5nZXMgaW4gYWxsIHN0b3Jlcy5cbiAgICovXG4gIHByaXZhdGUgdW53YXRjaEFsbCgpIHtcbiAgICB0aGlzLnN0b3JlcyQkLmNsZWFyKCk7XG4gICAgdGhpcy5zdGF0ZXMkJC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS51bnN1YnNjcmliZSgpKTtcbiAgICBpZiAodGhpcy5lbXB0eSQkKSB7XG4gICAgICB0aGlzLmVtcHR5JCQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==