@igo2/geo 17.0.0-next.6 → 17.0.0-next.8

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 (340) hide show
  1. package/assets/images/north-direction.png +0 -0
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +9 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +8 -7
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +6 -5
  5. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +6 -6
  7. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +7 -7
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +24 -8
  9. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +9 -5
  10. package/esm2022/lib/catalog/catalog-library/index.mjs +2 -7
  11. package/esm2022/lib/catalog/catalog.module.mjs +15 -8
  12. package/esm2022/lib/catalog/index.mjs +2 -7
  13. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  14. package/esm2022/lib/catalog/shared/catalog.service.mjs +3 -3
  15. package/esm2022/lib/datasource/shared/capabilities.service.mjs +3 -3
  16. package/esm2022/lib/datasource/shared/datasource.service.mjs +3 -3
  17. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +3 -3
  18. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +3 -3
  19. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +6 -6
  20. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  21. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +6 -6
  22. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +5 -2
  23. package/esm2022/lib/directions/directions-sources/directions-source.mjs +1 -1
  24. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +8 -1
  25. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +70 -39
  26. package/esm2022/lib/directions/directions.component.mjs +73 -19
  27. package/esm2022/lib/directions/directions.module.mjs +6 -12
  28. package/esm2022/lib/directions/directions.provider.mjs +16 -0
  29. package/esm2022/lib/directions/index.mjs +2 -1
  30. package/esm2022/lib/directions/shared/directions.service.mjs +28 -22
  31. package/esm2022/lib/directions/shared/directions.utils.mjs +2 -2
  32. package/esm2022/lib/directions/shared/store.mjs +2 -2
  33. package/esm2022/lib/download/download-button/download-button.component.mjs +6 -6
  34. package/esm2022/lib/download/download.module.mjs +4 -4
  35. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  36. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +6 -6
  37. package/esm2022/lib/draw/draw/draw-popup.component.mjs +6 -6
  38. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +7 -7
  39. package/esm2022/lib/draw/draw/draw.component.mjs +7 -7
  40. package/esm2022/lib/draw/draw/draw.module.mjs +4 -4
  41. package/esm2022/lib/draw/drawingTool.module.mjs +4 -4
  42. package/esm2022/lib/draw/shared/draw-icon.service.mjs +3 -3
  43. package/esm2022/lib/environment/environment.interface.mjs +1 -1
  44. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +8 -7
  45. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  46. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +13 -7
  47. package/esm2022/lib/feature/feature-details/index.mjs +2 -7
  48. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +6 -6
  49. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +4 -4
  50. package/esm2022/lib/feature/feature.module.mjs +15 -8
  51. package/esm2022/lib/feature/index.mjs +2 -7
  52. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  53. package/esm2022/lib/feature/shared/feature.utils.mjs +2 -2
  54. package/esm2022/lib/feature/shared/store.mjs +2 -2
  55. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +2 -2
  56. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +2 -2
  57. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +2 -2
  58. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +2 -2
  59. package/esm2022/lib/feature/shared/strategies/loading.mjs +2 -2
  60. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  61. package/esm2022/lib/feature/shared/strategies/selection.mjs +2 -2
  62. package/esm2022/lib/filter/filter.module.mjs +8 -8
  63. package/esm2022/lib/filter/index.mjs +2 -36
  64. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +7 -7
  65. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +6 -6
  66. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +8 -8
  67. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +3 -3
  68. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +20 -22
  69. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +5 -5
  70. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +7 -7
  71. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +3 -3
  72. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +7 -7
  73. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +3 -3
  74. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +3 -3
  75. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  76. package/esm2022/lib/filter/shared/ogc-filter.mjs +46 -3
  77. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +3 -3
  78. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +3 -3
  79. package/esm2022/lib/filter/shared/time-filter.service.mjs +3 -3
  80. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +7 -7
  81. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  82. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +7 -7
  83. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +7 -7
  84. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +7 -7
  85. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +7 -7
  86. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +3 -3
  87. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +5 -5
  88. package/esm2022/lib/geo.module.mjs +4 -4
  89. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +3 -3
  90. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +7 -7
  91. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +9 -5
  92. package/esm2022/lib/geometry/geometry-form-field/index.mjs +3 -8
  93. package/esm2022/lib/geometry/geometry.module.mjs +4 -4
  94. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  95. package/esm2022/lib/import-export/export-button/export-button.component.mjs +6 -6
  96. package/esm2022/lib/import-export/import-export/import-export.component.mjs +10 -8
  97. package/esm2022/lib/import-export/import-export.module.mjs +10 -5
  98. package/esm2022/lib/import-export/index.mjs +2 -9
  99. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +7 -6
  100. package/esm2022/lib/import-export/shared/export.service.mjs +11 -5
  101. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  102. package/esm2022/lib/import-export/shared/import.service.mjs +3 -3
  103. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  104. package/esm2022/lib/layer/index.mjs +2 -19
  105. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +6 -6
  106. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +9 -7
  107. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  108. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +3 -3
  109. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +7 -7
  110. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +3 -3
  111. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +9 -9
  112. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +7 -7
  113. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +3 -3
  114. package/esm2022/lib/layer/layer.module.mjs +16 -5
  115. package/esm2022/lib/layer/shared/layer.service.mjs +3 -3
  116. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +6 -6
  117. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +6 -6
  118. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
  119. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +6 -6
  120. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +6 -6
  121. package/esm2022/lib/map/index.mjs +1 -32
  122. package/esm2022/lib/map/info-section/info-section.component.mjs +3 -3
  123. package/esm2022/lib/map/map-browser/map-browser.component.mjs +3 -3
  124. package/esm2022/lib/map/map-center/map-center.component.mjs +3 -3
  125. package/esm2022/lib/map/map.module.mjs +36 -36
  126. package/esm2022/lib/map/menu-button/menu-button.component.mjs +6 -6
  127. package/esm2022/lib/map/offline-button/offline-button.component.mjs +6 -6
  128. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +6 -6
  129. package/esm2022/lib/map/shared/hover-feature.directive.mjs +5 -5
  130. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +3 -3
  131. package/esm2022/lib/map/shared/map.service.mjs +3 -3
  132. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  133. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  134. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  135. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +6 -6
  136. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +6 -6
  137. package/esm2022/lib/measure/measure.module.mjs +4 -4
  138. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +3 -3
  139. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +6 -6
  140. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +6 -6
  141. package/esm2022/lib/measure/measurer/measurer.component.mjs +7 -7
  142. package/esm2022/lib/measure/measurer/measurer.module.mjs +4 -4
  143. package/esm2022/lib/metadata/index.mjs +2 -6
  144. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +9 -9
  145. package/esm2022/lib/metadata/metadata.module.mjs +9 -5
  146. package/esm2022/lib/metadata/shared/metadata.service.mjs +3 -3
  147. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +3 -3
  148. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  149. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +3 -3
  150. package/esm2022/lib/offline/shared/geo-network.service.mjs +3 -3
  151. package/esm2022/lib/overlay/overlay.module.mjs +4 -4
  152. package/esm2022/lib/overlay/shared/overlay.directive.mjs +3 -3
  153. package/esm2022/lib/overlay/shared/overlay.service.mjs +3 -3
  154. package/esm2022/lib/print/print/print.component.mjs +5 -5
  155. package/esm2022/lib/print/print-form/print-form.component.mjs +20 -8
  156. package/esm2022/lib/print/print.module.mjs +4 -4
  157. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  158. package/esm2022/lib/print/shared/print.service.mjs +171 -124
  159. package/esm2022/lib/query/query.module.mjs +4 -4
  160. package/esm2022/lib/query/shared/index.mjs +2 -1
  161. package/esm2022/lib/query/shared/query-search-source.mjs +3 -3
  162. package/esm2022/lib/query/shared/query.directive.mjs +3 -3
  163. package/esm2022/lib/query/shared/query.service.mjs +3 -3
  164. package/esm2022/lib/search/index.mjs +2 -13
  165. package/esm2022/lib/search/search-bar/search-bar.component.mjs +11 -8
  166. package/esm2022/lib/search/search-bar/search-bar.module.mjs +4 -4
  167. package/esm2022/lib/search/search-results/index.mjs +2 -7
  168. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +7 -7
  169. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +9 -7
  170. package/esm2022/lib/search/search-results/search-results-item.component.mjs +6 -5
  171. package/esm2022/lib/search/search-results/search-results.component.mjs +9 -7
  172. package/esm2022/lib/search/search-results/search-results.directive.mjs +7 -0
  173. package/esm2022/lib/search/search-results/search-results.module.mjs +4 -4
  174. package/esm2022/lib/search/search-selector/search-selector.component.mjs +6 -6
  175. package/esm2022/lib/search/search-selector/search-selector.module.mjs +4 -4
  176. package/esm2022/lib/search/search-settings/search-settings.component.mjs +6 -6
  177. package/esm2022/lib/search/search-settings/search-settings.module.mjs +4 -4
  178. package/esm2022/lib/search/search.module.mjs +19 -5
  179. package/esm2022/lib/search/shared/index.mjs +2 -1
  180. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +5 -5
  181. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  182. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  183. package/esm2022/lib/search/shared/search.provider.mjs +20 -0
  184. package/esm2022/lib/search/shared/search.service.mjs +30 -11
  185. package/esm2022/lib/search/shared/sources/cadastre.mjs +3 -3
  186. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +8 -1
  187. package/esm2022/lib/search/shared/sources/coordinates.mjs +6 -6
  188. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +11 -1
  189. package/esm2022/lib/search/shared/sources/icherche-icons.mjs +2 -2
  190. package/esm2022/lib/search/shared/sources/icherche.mjs +11 -11
  191. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +20 -1
  192. package/esm2022/lib/search/shared/sources/ilayer.mjs +6 -6
  193. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +11 -1
  194. package/esm2022/lib/search/shared/sources/nominatim.mjs +3 -3
  195. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +8 -1
  196. package/esm2022/lib/search/shared/sources/source.interfaces.mjs +13 -2
  197. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  198. package/esm2022/lib/search/shared/sources/storedqueries.mjs +6 -6
  199. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +14 -1
  200. package/esm2022/lib/search/shared/sources/workspace.mjs +3 -3
  201. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +8 -1
  202. package/esm2022/lib/style/shared/feature/feature-style.mjs +3 -2
  203. package/esm2022/lib/style/style-list/style-list.module.mjs +4 -4
  204. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  205. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +7 -7
  206. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +7 -7
  207. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +6 -6
  208. package/esm2022/lib/style/style-service/draw-style.service.mjs +3 -3
  209. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  210. package/esm2022/lib/style/style.module.mjs +4 -4
  211. package/esm2022/lib/toast/toast.component.mjs +7 -5
  212. package/esm2022/lib/toast/toast.module.mjs +4 -4
  213. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +3 -3
  214. package/esm2022/lib/wkt/shared/wkt.service.mjs +3 -3
  215. package/esm2022/lib/wkt/wkt.module.mjs +4 -4
  216. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  217. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +4 -4
  218. package/esm2022/lib/workspace/shared/edition-workspace.mjs +2 -2
  219. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +6 -5
  220. package/esm2022/lib/workspace/shared/feature-workspace.mjs +2 -2
  221. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -5
  222. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +2 -2
  223. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -5
  224. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +6 -5
  225. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  226. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +4 -4
  227. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +4 -4
  228. package/esm2022/lib/workspace/widgets/widgets.mjs +2 -2
  229. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +6 -6
  230. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +4 -4
  231. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +4 -4
  232. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +4 -4
  233. package/esm2022/lib/workspace/workspace.module.mjs +6 -6
  234. package/fesm2022/igo2-geo.mjs +30505 -30182
  235. package/fesm2022/igo2-geo.mjs.map +1 -1
  236. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +2 -2
  237. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  238. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +1 -1
  239. package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -1
  240. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -0
  241. package/lib/catalog/catalog-library/index.d.ts +1 -3
  242. package/lib/catalog/catalog.module.d.ts +6 -3
  243. package/lib/catalog/index.d.ts +1 -2
  244. package/lib/catalog/shared/catalog.interface.d.ts +1 -1
  245. package/lib/directions/directions-sources/directions-source.d.ts +7 -3
  246. package/lib/directions/directions-sources/directions-source.interface.d.ts +19 -6
  247. package/lib/directions/directions-sources/directions-source.provider.d.ts +2 -0
  248. package/lib/directions/directions-sources/osrm-directions-source.d.ts +19 -10
  249. package/lib/directions/directions.component.d.ts +15 -3
  250. package/lib/directions/directions.module.d.ts +5 -6
  251. package/lib/directions/directions.provider.d.ts +3 -0
  252. package/lib/directions/index.d.ts +1 -0
  253. package/lib/directions/shared/directions.service.d.ts +4 -2
  254. package/lib/directions/shared/directions.utils.d.ts +1 -1
  255. package/lib/directions/shared/store.d.ts +1 -1
  256. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  257. package/lib/draw/draw/draw.component.d.ts +1 -1
  258. package/lib/environment/environment.interface.d.ts +2 -1
  259. package/lib/feature/feature-details/feature-details.component.d.ts +1 -1
  260. package/lib/feature/feature-details/feature-details.module.d.ts +3 -0
  261. package/lib/feature/feature-details/index.d.ts +1 -3
  262. package/lib/feature/feature-form/feature-form.component.d.ts +1 -2
  263. package/lib/feature/feature.module.d.ts +6 -3
  264. package/lib/feature/index.d.ts +1 -2
  265. package/lib/feature/shared/feature.interfaces.d.ts +1 -1
  266. package/lib/feature/shared/feature.utils.d.ts +1 -1
  267. package/lib/feature/shared/store.d.ts +1 -1
  268. package/lib/feature/shared/strategies/geo-properties.d.ts +1 -1
  269. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  270. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  271. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  272. package/lib/feature/shared/strategies/loading.d.ts +1 -1
  273. package/lib/feature/shared/strategies/search.d.ts +1 -1
  274. package/lib/feature/shared/strategies/selection.d.ts +1 -1
  275. package/lib/filter/filter.module.d.ts +19 -0
  276. package/lib/filter/index.d.ts +1 -16
  277. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +1 -1
  278. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +3 -3
  279. package/lib/filter/shared/ogc-filter.d.ts +7 -0
  280. package/lib/filter/shared/ogc-filter.interface.d.ts +1 -1
  281. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +1 -1
  282. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +1 -1
  283. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  284. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +3 -0
  285. package/lib/geometry/geometry-form-field/index.d.ts +2 -4
  286. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  287. package/lib/import-export/import-export/import-export.component.d.ts +2 -2
  288. package/lib/import-export/import-export.module.d.ts +4 -0
  289. package/lib/import-export/index.d.ts +1 -4
  290. package/lib/import-export/shared/drop-geo-file.directive.d.ts +2 -1
  291. package/lib/import-export/shared/export.utils.d.ts +1 -1
  292. package/lib/import-export/shared/import.utils.d.ts +1 -1
  293. package/lib/layer/index.d.ts +1 -8
  294. package/lib/layer/layer-list/layer-list.component.d.ts +0 -2
  295. package/lib/layer/layer.module.d.ts +10 -0
  296. package/lib/map/index.d.ts +0 -14
  297. package/lib/map/map.module.d.ts +32 -15
  298. package/lib/measure/measurer/measurer.component.d.ts +1 -1
  299. package/lib/metadata/index.d.ts +1 -2
  300. package/lib/metadata/metadata.module.d.ts +2 -0
  301. package/lib/print/print-form/print-form.component.d.ts +4 -1
  302. package/lib/print/shared/print.interface.d.ts +1 -0
  303. package/lib/print/shared/print.service.d.ts +27 -17
  304. package/lib/query/shared/index.d.ts +1 -0
  305. package/lib/search/index.d.ts +1 -5
  306. package/lib/search/search-bar/search-bar.component.d.ts +2 -1
  307. package/lib/search/search-results/index.d.ts +1 -3
  308. package/lib/search/search-results/search-results-add-button.component.d.ts +1 -1
  309. package/lib/search/search-results/search-results.component.d.ts +1 -1
  310. package/lib/search/search-results/search-results.directive.d.ts +3 -0
  311. package/lib/search/search.module.d.ts +8 -0
  312. package/lib/search/shared/index.d.ts +1 -0
  313. package/lib/search/shared/search-source.service.d.ts +1 -1
  314. package/lib/search/shared/search.interfaces.d.ts +1 -1
  315. package/lib/search/shared/search.provider.d.ts +8 -0
  316. package/lib/search/shared/search.service.d.ts +7 -2
  317. package/lib/search/shared/sources/cadastre.providers.d.ts +2 -0
  318. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -0
  319. package/lib/search/shared/sources/icherche-icons.d.ts +1 -1
  320. package/lib/search/shared/sources/icherche.providers.d.ts +6 -12
  321. package/lib/search/shared/sources/ilayer.providers.d.ts +2 -0
  322. package/lib/search/shared/sources/nominatim.providers.d.ts +2 -0
  323. package/lib/search/shared/sources/source.d.ts +1 -1
  324. package/lib/search/shared/sources/source.interfaces.d.ts +16 -0
  325. package/lib/search/shared/sources/storedqueries.providers.d.ts +3 -0
  326. package/lib/search/shared/sources/workspace.providers.d.ts +2 -0
  327. package/lib/toast/toast.component.d.ts +1 -1
  328. package/lib/wkt/shared/wkt.service.d.ts +1 -1
  329. package/lib/workspace/shared/edition-workspace.d.ts +1 -1
  330. package/lib/workspace/shared/feature-workspace.d.ts +1 -1
  331. package/lib/workspace/shared/wfs-workspace.d.ts +1 -1
  332. package/lib/workspace/shared/workspace.utils.d.ts +2 -1
  333. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +2 -1
  334. package/lib/workspace/widgets/widgets.d.ts +1 -1
  335. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  336. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  337. package/lib/workspace/workspace.module.d.ts +1 -1
  338. package/locale/en.geo.json +8 -2
  339. package/locale/fr.geo.json +8 -2
  340. package/package.json +6 -6
@@ -1,2 +1,13 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzZWFyY2hVcmw/OiBzdHJpbmc7XG4gIGF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBvcmRlcj86IG51bWJlcjtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIHBhcmFtcz86IElTZWFyY2hTb3VyY2VQYXJhbXM7XG4gIHNldHRpbmdzPzogU2VhcmNoU291cmNlU2V0dGluZ3NbXTtcbiAgc2hvd0luUG9pbnRlclN1bW1hcnk/OiBib29sZWFuO1xuICBzaG93SW5TZXR0aW5ncz86IGJvb2xlYW47XG4gIHNob3dBZHZhbmNlZFNldHRpbmdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTb3VyY2VTZXR0aW5ncyB7XG4gIHR5cGU6ICdyYWRpb2J1dHRvbicgfCAnY2hlY2tib3gnO1xuICB2YWx1ZXM6IFNldHRpbmdPcHRpb25zW107XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYWxsRW5hYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFNvdXJjZVBhcmFtcyB7XG4gIGxpbWl0Pzogc3RyaW5nO1xuICBkYXRhc2V0cz86IHN0cmluZztcbiAgZWNtYXg/OiBzdHJpbmc7XG4gIHBhZ2U/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGluZ09wdGlvbnMge1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBlbmFibGVkOiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBoYXNodGFncz86IHN0cmluZ1tdO1xuICBhdmFpbGFibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2hPcHRpb25zIHtcbiAgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgc2VhcmNoVHlwZT86ICdGZWF0dXJlJyB8ICdMYXllcic7IC8vIHJlZmVyIHRvIHNlYXJjaC5lbnVtLnRzIFNFQVJDSF9UWVBFUyA9IFtGRUFUVVJFLCBMQVlFUl07XG4gIGdldEVuYWJsZWRPbmx5PzogYm9vbGVhbjtcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHNvdXJjZUlkPzogc3RyaW5nO1xuICBmb3JjZU5BPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXZlcnNlU2VhcmNoT3B0aW9ucyB7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBjb25mPzogbnVtYmVyO1xuICB6b29tPzogbnVtYmVyO1xuICBwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuIl19
1
+ export var SearchSourceKind;
2
+ (function (SearchSourceKind) {
3
+ SearchSourceKind[SearchSourceKind["ICherche"] = 0] = "ICherche";
4
+ SearchSourceKind[SearchSourceKind["IChercheReverse"] = 1] = "IChercheReverse";
5
+ SearchSourceKind[SearchSourceKind["Cadastre"] = 2] = "Cadastre";
6
+ SearchSourceKind[SearchSourceKind["CoordinatesReverse"] = 3] = "CoordinatesReverse";
7
+ SearchSourceKind[SearchSourceKind["ILayer"] = 4] = "ILayer";
8
+ SearchSourceKind[SearchSourceKind["Nominatim"] = 5] = "Nominatim";
9
+ SearchSourceKind[SearchSourceKind["StoredQueries"] = 6] = "StoredQueries";
10
+ SearchSourceKind[SearchSourceKind["StoredQueriesReverse"] = 7] = "StoredQueriesReverse";
11
+ SearchSourceKind[SearchSourceKind["Workspace"] = 8] = "Workspace";
12
+ })(SearchSourceKind || (SearchSourceKind = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc291cmNlLmludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOERBLE1BQU0sQ0FBTixJQUFZLGdCQVVYO0FBVkQsV0FBWSxnQkFBZ0I7SUFDMUIsK0RBQVksQ0FBQTtJQUNaLDZFQUFtQixDQUFBO0lBQ25CLCtEQUFZLENBQUE7SUFDWixtRkFBc0IsQ0FBQTtJQUN0QiwyREFBVSxDQUFBO0lBQ1YsaUVBQWEsQ0FBQTtJQUNiLHlFQUFpQixDQUFBO0lBQ2pCLHVGQUF3QixDQUFBO0lBQ3hCLGlFQUFhLENBQUE7QUFDZixDQUFDLEVBVlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQVUzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoU291cmNlT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBzZWFyY2hVcmw/OiBzdHJpbmc7XG4gIGF2YWlsYWJsZT86IGJvb2xlYW47XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBvcmRlcj86IG51bWJlcjtcbiAgZGlzdGFuY2U/OiBudW1iZXI7XG4gIHBhcmFtcz86IElTZWFyY2hTb3VyY2VQYXJhbXM7XG4gIHNldHRpbmdzPzogU2VhcmNoU291cmNlU2V0dGluZ3NbXTtcbiAgc2hvd0luUG9pbnRlclN1bW1hcnk/OiBib29sZWFuO1xuICBzaG93SW5TZXR0aW5ncz86IGJvb2xlYW47XG4gIHNob3dBZHZhbmNlZFNldHRpbmdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hTb3VyY2VTZXR0aW5ncyB7XG4gIHR5cGU6ICdyYWRpb2J1dHRvbicgfCAnY2hlY2tib3gnO1xuICB2YWx1ZXM6IFNldHRpbmdPcHRpb25zW107XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgYWxsRW5hYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaFNvdXJjZVBhcmFtcyB7XG4gIGxpbWl0Pzogc3RyaW5nO1xuICBkYXRhc2V0cz86IHN0cmluZztcbiAgZWNtYXg/OiBzdHJpbmc7XG4gIHBhZ2U/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGluZ09wdGlvbnMge1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBlbmFibGVkOiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBoYXNodGFncz86IHN0cmluZ1tdO1xuICBhdmFpbGFibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTZWFyY2hPcHRpb25zIHtcbiAgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgc2VhcmNoVHlwZT86ICdGZWF0dXJlJyB8ICdMYXllcic7IC8vIHJlZmVyIHRvIHNlYXJjaC5lbnVtLnRzIFNFQVJDSF9UWVBFUyA9IFtGRUFUVVJFLCBMQVlFUl07XG4gIGdldEVuYWJsZWRPbmx5PzogYm9vbGVhbjtcbiAgZXh0ZW50PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHBhZ2U/OiBudW1iZXI7XG4gIHNvdXJjZUlkPzogc3RyaW5nO1xuICBmb3JjZU5BPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXZlcnNlU2VhcmNoT3B0aW9ucyB7XG4gIGRpc3RhbmNlPzogbnVtYmVyO1xuICBjb25mPzogbnVtYmVyO1xuICB6b29tPzogbnVtYmVyO1xuICBwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaFNvdXJjZUZlYXR1cmU8S2luZFQgZXh0ZW5kcyBTZWFyY2hTb3VyY2VLaW5kPiB7XG4gIGtpbmQ6IEtpbmRUO1xuICBwcm92aWRlcnM6IFByb3ZpZGVyW107XG59XG5cbmV4cG9ydCBlbnVtIFNlYXJjaFNvdXJjZUtpbmQge1xuICBJQ2hlcmNoZSA9IDAsXG4gIElDaGVyY2hlUmV2ZXJzZSA9IDEsXG4gIENhZGFzdHJlID0gMixcbiAgQ29vcmRpbmF0ZXNSZXZlcnNlID0gMyxcbiAgSUxheWVyID0gNCxcbiAgTm9taW5hdGltID0gNSxcbiAgU3RvcmVkUXVlcmllcyA9IDYsXG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlID0gNyxcbiAgV29ya3NwYWNlID0gOFxufVxuIl19
@@ -217,4 +217,4 @@ export class SearchSource {
217
217
  });
218
218
  }
219
219
  }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFrTGI7SUFqTFY7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFZjs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVqQjs7O09BR0c7SUFDTyxPQUFPLENBQXNCO0lBRXZDOzs7T0FHRztJQUNILEtBQUs7UUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNEOzs7T0FHRztJQUNILE9BQU87UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQjtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FB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LEtBQUssQ0FBQyxDQUFDLEVBQ3RELENBQUM7b0JBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzNDLENBQUMsS0FBMkIsRUFBRSxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBGZWF0dXJlU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mZWF0dXJlL3NoYXJlZC9zdG9yZSc7XG5pbXBvcnQge1xuICBJU2VhcmNoU291cmNlUGFyYW1zLFxuICBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICBTZWFyY2hTb3VyY2VTZXR0aW5nc1xufSBmcm9tICcuL3NvdXJjZS5pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBCYXNlIHNlYXJjaCBzb3VyY2UgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIFNlYXJjaFNvdXJjZSB7XG4gIC8qKlxuICAgKiBTZWFyY2ggc291cmNlIElEXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc3RhdGljIGlkID0gJyc7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBzb3VyY2UgdHlwZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyB0eXBlID0gJyc7XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBzb3VyY2Ugb3B0aW9uc1xuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBHZXQgc2VhcmNoIHNvdXJjZSdzIGlkXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UncyBpZFxuICAgKi9cbiAgZ2V0SWQoKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0SWRcIi4nKTtcbiAgfVxuICAvKipcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyB0eXBlXG4gICAqIEByZXR1cm5zIFNlYXJjaCBzb3VyY2UncyB0eXBlXG4gICAqL1xuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIG1ldGhvZCBcImdldFR5cGVcIi4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc2VhcmNoIHNvdXJjZSdzIGRlZmF1bHQgb3B0aW9uc1xuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGdldERlZmF1bHRPcHRpb25zKCk6IFNlYXJjaFNvdXJjZU9wdGlvbnMge1xuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXREZWZhdWx0T3B0aW9uc1wiLicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBzb3VyY2UncyB0aXRsZVxuICAgKi9cbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy50aXRsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzZWFyY2ggc291cmNlIGlzIGF2YWlsYWJsZVxuICAgKi9cbiAgZ2V0IGF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmF2YWlsYWJsZSAhPT0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBlbmFibGVkXG4gICAqL1xuICBzZXQgZW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMub3B0aW9ucy5lbmFibGVkID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXZhaWxhYmxlICYmIHRoaXMub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93SW5Qb2ludGVyU3VtbWFyeSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaG93SW5Qb2ludGVyU3VtbWFyeSA9IHRoaXMub3B0aW9ucy5zaG93SW5Qb2ludGVyU3VtbWFyeTtcbiAgICByZXR1cm4gc2hvd0luUG9pbnRlclN1bW1hcnkgPyBzaG93SW5Qb2ludGVyU3VtbWFyeSA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHNob3dJblNldHRpbmdzKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dJblNldHRpbmdzID0gdGhpcy5vcHRpb25zLnNob3dJblNldHRpbmdzO1xuICAgIHJldHVybiBzaG93SW5TZXR0aW5ncyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHNob3dJblNldHRpbmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCB1cmxcbiAgICovXG4gIGdldCBzZWFyY2hVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNlYXJjaFVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggcXVlcnkgcGFyYW1zXG4gICAqL1xuICBnZXQgcGFyYW1zKCk6IElTZWFyY2hTb3VyY2VQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggc2V0dGluZ3NcbiAgICovXG4gIGdldCBzZXR0aW5ncygpOiBTZWFyY2hTb3VyY2VTZXR0aW5nc1tdIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNldHRpbmdzID09PSB1bmRlZmluZWQgPyBbXSA6IHRoaXMub3B0aW9ucy5zZXR0aW5ncztcbiAgfVxuXG4gIHNldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KHN0b3Jlc1dpdGhJbmRleDogRmVhdHVyZVN0b3JlW10pIHtcbiAgICB0aGlzLl9mZWF0dXJlU3RvcmVzV2l0aEluZGV4ID0gc3RvcmVzV2l0aEluZGV4O1xuICB9XG4gIGdldCBmZWF0dXJlU3RvcmVzV2l0aEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLl9mZWF0dXJlU3RvcmVzV2l0aEluZGV4O1xuICB9XG4gIHByaXZhdGUgX2ZlYXR1cmVTdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdO1xuXG4gIHNldFdvcmtzcGFjZXMod29ya3NwYWNlczogV29ya3NwYWNlW10pIHtcbiAgICBpZiAoXG4gICAgICB3b3Jrc3BhY2VzLmZpbHRlcigoZncpID0+IChmdy5lbnRpdHlTdG9yZSBhcyBGZWF0dXJlU3RvcmUpLnNlYXJjaERvY3VtZW50KVxuICAgICAgICAubGVuZ3RoID49IDFcbiAgICApIHtcbiAgICAgIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlcyA9IFtdO1xuICAgIHRoaXMuZmVhdHVyZVN0b3Jlc1dpdGhJbmRleCA9IHdvcmtzcGFjZXNcbiAgICAgIC5maWx0ZXIoKGZ3KSA9PiAoZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlKS5zZWFyY2hEb2N1bWVudClcbiAgICAgIC5tYXAoKGZ3KSA9PiB7XG4gICAgICAgIHZhbHVlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogZncudGl0bGUsXG4gICAgICAgICAgdmFsdWU6IGZ3LnRpdGxlLFxuICAgICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmdy5lbnRpdHlTdG9yZSBhcyBGZWF0dXJlU3RvcmU7XG4gICAgICB9KTtcbiAgICBjb25zdCBkYXRhc2V0cyA9IHRoaXMub3B0aW9ucy5zZXR0aW5ncy5maW5kKChzKSA9PiBzLnRpdGxlID09PSAnZGF0YXNldHMnKTtcbiAgICBpZiAoZGF0YXNldHMpIHtcbiAgICAgIGRhdGFzZXRzLnZhbHVlcyA9IHZhbHVlcztcbiAgICB9XG4gICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKGRhdGFzZXRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcGFyYW1zIGZyb20gc2VsZWN0ZWQgc2V0dGluZ3NcbiAgICovXG4gIHNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MsIHNhdmVJblN0b3JhZ2UgPSB0cnVlKSB7XG4gICAgc3dpdGNoIChzZXR0aW5nLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3JhZGlvYnV0dG9uJzpcbiAgICAgICAgc2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgICAgIGlmIChjb25mLmVuYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXMgPSBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucy5wYXJhbXMgfHwge30sIHtcbiAgICAgICAgICAgICAgW3NldHRpbmcubmFtZV06IGNvbmYudmFsdWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2hlY2tib3gnOlxuICAgICAgICBsZXQgY29uZlZhbHVlID0gJyc7XG4gICAgICAgIHNldHRpbmcudmFsdWVzXG4gICAgICAgICAgLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgIT09IGZhbHNlKVxuICAgICAgICAgIC5mb3JFYWNoKChjb25mKSA9PiB7XG4gICAgICAgICAgICBpZiAoY29uZi5lbmFibGVkKSB7XG4gICAgICAgICAgICAgIGNvbmZWYWx1ZSArPSBjb25mLnZhbHVlICsgJywnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICBjb25mVmFsdWUgPSBjb25mVmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XG4gICAgICAgICAgW3NldHRpbmcubmFtZV06IGNvbmZWYWx1ZVxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHNhdmVJblN0b3JhZ2UgJiYgdGhpcy5zdG9yYWdlU2VydmljZSkge1xuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQodGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJywge1xuICAgICAgICBwYXJhbXM6IHRoaXMub3B0aW9ucy5wYXJhbXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggcmVzdWx0cyBkaXNwbGF5IG9yZGVyXG4gICAqL1xuICBnZXQgZGlzcGxheU9yZGVyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5vcmRlciA9PT0gdW5kZWZpbmVkID8gOTkgOiB0aGlzLm9wdGlvbnMub3JkZXI7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBTZWFyY2hTb3VyY2VPcHRpb25zLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U/OiBTdG9yYWdlU2VydmljZVxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIGlmICh0aGlzLnN0b3JhZ2VTZXJ2aWNlKSB7XG4gICAgICBjb25zdCBzdG9yYWdlT3B0aW9ucyA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0KFxuICAgICAgICB0aGlzLmdldElkKCkgKyAnLm9wdGlvbnMnXG4gICAgICApIGFzIG9iamVjdDtcbiAgICAgIGlmIChzdG9yYWdlT3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3RVdGlscy5tZXJnZURlZXAodGhpcy5vcHRpb25zLCBzdG9yYWdlT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKFxuICAgICAgdGhpcy5nZXREZWZhdWx0T3B0aW9ucygpLFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKTtcblxuICAgIC8vIFNldCBEZWZhdWx0IFBhcmFtcyBmcm9tIFNldHRpbmdzXG4gICAgdGhpcy5zZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XG4gICAgICB0aGlzLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZywgZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBoYXNodGFncyB2YWxpZFxuICAgKiBAcGFyYW0gaGFzaHRhZyBoYXNodGFnIGZyb20gcXVlcnlcbiAgICovXG4gIGdldEhhc2h0YWdzVmFsaWQodGVybTogc3RyaW5nLCBzZXR0aW5nc05hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBoYXNodGFncyA9IHRlcm0ubWF0Y2goLygjW0EtWmEtesOALcO/LStdKykvZyk7XG4gICAgaWYgKCFoYXNodGFncykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hTb3VyY2VTZXR0aW5nID0gdGhpcy5nZXRTZXR0aW5nc1ZhbHVlcyhzZXR0aW5nc05hbWUpO1xuICAgIGNvbnN0IGhhc2h0YWdzVmFsaWQgPSBbXTtcbiAgICBoYXNodGFncy5mb3JFYWNoKChoYXNodGFnKSA9PiB7XG4gICAgICBzZWFyY2hTb3VyY2VTZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChjb25mKSA9PiB7XG4gICAgICAgIGNvbnN0IGhhc2h0YWdLZXkgPSBoYXNodGFnLnN1YnN0cmluZygxKTtcbiAgICAgICAgaWYgKHR5cGVvZiBjb25mLnZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGNvbnN0IHR5cGVzID0gY29uZi52YWx1ZVxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAgICAgICAuc3BsaXQoJywnKTtcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHR5cGVzLmluZGV4T2YoXG4gICAgICAgICAgICBoYXNodGFnS2V5XG4gICAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAgIC5ub3JtYWxpemUoJ05GRCcpXG4gICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJylcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGhhc2h0YWdzVmFsaWQucHVzaCh0eXBlc1tpbmRleF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgY29uZi5oYXNodGFncyAmJlxuICAgICAgICAgIGNvbmYuaGFzaHRhZ3MuaW5kZXhPZihoYXNodGFnS2V5LnRvTG93ZXJDYXNlKCkpICE9PSAtMVxuICAgICAgICApIHtcbiAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2goY29uZi52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGhhc2h0YWdzVmFsaWQuZmlsdGVyKChhLCBiKSA9PiBoYXNodGFnc1ZhbGlkLmluZGV4T2YoYSkgPT09IGIpO1xuICB9XG5cbiAgZ2V0U2V0dGluZ3NWYWx1ZXMoc2VhcmNoOiBzdHJpbmcpOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKS5zZXR0aW5ncy5maW5kKFxuICAgICAgKHZhbHVlOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUubmFtZSA9PT0gc2VhcmNoO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc2VhcmNoL3NoYXJlZC9zb3VyY2VzL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUzFDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFrTGI7SUFqTFY7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFFZjs7O09BR0c7SUFDSCxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVqQjs7O09BR0c7SUFDTyxPQUFPLENBQXNCO0lBRXZDOzs7T0FHRztJQUNILEtBQUs7UUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNEOzs7T0FHRztJQUNILE9BQU87UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGlCQUFpQjtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxLQUFLLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FB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LEtBQUssQ0FBQyxDQUFDLEVBQ3RELENBQUM7b0JBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYztRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzNDLENBQUMsS0FBMkIsRUFBRSxFQUFFO1lBQzlCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7UUFDL0IsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV29ya3NwYWNlIH0gZnJvbSAnQGlnbzIvY29tbW9uL3dvcmtzcGFjZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IHsgRmVhdHVyZVN0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZmVhdHVyZS9zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHtcbiAgSVNlYXJjaFNvdXJjZVBhcmFtcyxcbiAgU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgU2VhcmNoU291cmNlU2V0dGluZ3Ncbn0gZnJvbSAnLi9zb3VyY2UuaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogQmFzZSBzZWFyY2ggc291cmNlIGNsYXNzXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWFyY2hTb3VyY2Uge1xuICAvKipcbiAgICogU2VhcmNoIHNvdXJjZSBJRFxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHN0YXRpYyBpZCA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggc291cmNlIHR5cGVcbiAgICogQGludGVybmFsXG4gICAqL1xuICBzdGF0aWMgdHlwZSA9ICcnO1xuXG4gIC8qKlxuICAgKiBTZWFyY2ggc291cmNlIG9wdGlvbnNcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucztcblxuICAvKipcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBpZFxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlJ3MgaWRcbiAgICovXG4gIGdldElkKCk6IHN0cmluZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIG1ldGhvZCBcImdldElkXCIuJyk7XG4gIH1cbiAgLyoqXG4gICAqIEdldCBzZWFyY2ggc291cmNlJ3MgdHlwZVxuICAgKiBAcmV0dXJucyBTZWFyY2ggc291cmNlJ3MgdHlwZVxuICAgKi9cbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xuICAgIHRocm93IG5ldyBFcnJvcignWW91IGhhdmUgdG8gaW1wbGVtZW50IHRoZSBtZXRob2QgXCJnZXRUeXBlXCIuJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHNlYXJjaCBzb3VyY2UncyBkZWZhdWx0IG9wdGlvbnNcbiAgICogQHJldHVybnMgU2VhcmNoIHNvdXJjZSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0T3B0aW9ucygpOiBTZWFyY2hTb3VyY2VPcHRpb25zIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBoYXZlIHRvIGltcGxlbWVudCB0aGUgbWV0aG9kIFwiZ2V0RGVmYXVsdE9wdGlvbnNcIi4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggc291cmNlJ3MgdGl0bGVcbiAgICovXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2VhcmNoIHNvdXJjZSBpcyBhdmFpbGFibGVcbiAgICovXG4gIGdldCBhdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5hdmFpbGFibGUgIT09IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNlYXJjaCBzb3VyY2UgaXMgZW5hYmxlZFxuICAgKi9cbiAgc2V0IGVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm9wdGlvbnMuZW5hYmxlZCA9IHZhbHVlO1xuICB9XG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZSAmJiB0aGlzLm9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2U7XG4gIH1cblxuICBnZXQgc2hvd0luUG9pbnRlclN1bW1hcnkoKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2hvd0luUG9pbnRlclN1bW1hcnkgPSB0aGlzLm9wdGlvbnMuc2hvd0luUG9pbnRlclN1bW1hcnk7XG4gICAgcmV0dXJuIHNob3dJblBvaW50ZXJTdW1tYXJ5ID8gc2hvd0luUG9pbnRlclN1bW1hcnkgOiBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93SW5TZXR0aW5ncygpOiBib29sZWFuIHtcbiAgICBjb25zdCBzaG93SW5TZXR0aW5ncyA9IHRoaXMub3B0aW9ucy5zaG93SW5TZXR0aW5ncztcbiAgICByZXR1cm4gc2hvd0luU2V0dGluZ3MgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBzaG93SW5TZXR0aW5ncztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWFyY2ggdXJsXG4gICAqL1xuICBnZXQgc2VhcmNoVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZWFyY2hVcmw7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHF1ZXJ5IHBhcmFtc1xuICAgKi9cbiAgZ2V0IHBhcmFtcygpOiBJU2VhcmNoU291cmNlUGFyYW1zIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5wYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHNldHRpbmdzXG4gICAqL1xuICBnZXQgc2V0dGluZ3MoKTogU2VhcmNoU291cmNlU2V0dGluZ3NbXSB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zZXR0aW5ncyA9PT0gdW5kZWZpbmVkID8gW10gOiB0aGlzLm9wdGlvbnMuc2V0dGluZ3M7XG4gIH1cblxuICBzZXQgZmVhdHVyZVN0b3Jlc1dpdGhJbmRleChzdG9yZXNXaXRoSW5kZXg6IEZlYXR1cmVTdG9yZVtdKSB7XG4gICAgdGhpcy5fZmVhdHVyZVN0b3Jlc1dpdGhJbmRleCA9IHN0b3Jlc1dpdGhJbmRleDtcbiAgfVxuICBnZXQgZmVhdHVyZVN0b3Jlc1dpdGhJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmVhdHVyZVN0b3Jlc1dpdGhJbmRleDtcbiAgfVxuICBwcml2YXRlIF9mZWF0dXJlU3RvcmVzV2l0aEluZGV4OiBGZWF0dXJlU3RvcmVbXTtcblxuICBzZXRXb3Jrc3BhY2VzKHdvcmtzcGFjZXM6IFdvcmtzcGFjZVtdKSB7XG4gICAgaWYgKFxuICAgICAgd29ya3NwYWNlcy5maWx0ZXIoKGZ3KSA9PiAoZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlKS5zZWFyY2hEb2N1bWVudClcbiAgICAgICAgLmxlbmd0aCA+PSAxXG4gICAgKSB7XG4gICAgICB0aGlzLm9wdGlvbnMuYXZhaWxhYmxlID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcHRpb25zLmF2YWlsYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZXMgPSBbXTtcbiAgICB0aGlzLmZlYXR1cmVTdG9yZXNXaXRoSW5kZXggPSB3b3Jrc3BhY2VzXG4gICAgICAuZmlsdGVyKChmdykgPT4gKGZ3LmVudGl0eVN0b3JlIGFzIEZlYXR1cmVTdG9yZSkuc2VhcmNoRG9jdW1lbnQpXG4gICAgICAubWFwKChmdykgPT4ge1xuICAgICAgICB2YWx1ZXMucHVzaCh7XG4gICAgICAgICAgdGl0bGU6IGZ3LnRpdGxlLFxuICAgICAgICAgIHZhbHVlOiBmdy50aXRsZSxcbiAgICAgICAgICBlbmFibGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gZncuZW50aXR5U3RvcmUgYXMgRmVhdHVyZVN0b3JlO1xuICAgICAgfSk7XG4gICAgY29uc3QgZGF0YXNldHMgPSB0aGlzLm9wdGlvbnMuc2V0dGluZ3MuZmluZCgocykgPT4gcy50aXRsZSA9PT0gJ2RhdGFzZXRzJyk7XG4gICAgaWYgKGRhdGFzZXRzKSB7XG4gICAgICBkYXRhc2V0cy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgfVxuICAgIHRoaXMuc2V0UGFyYW1Gcm9tU2V0dGluZyhkYXRhc2V0cyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHBhcmFtcyBmcm9tIHNlbGVjdGVkIHNldHRpbmdzXG4gICAqL1xuICBzZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLCBzYXZlSW5TdG9yYWdlID0gdHJ1ZSkge1xuICAgIHN3aXRjaCAoc2V0dGluZy50eXBlKSB7XG4gICAgICBjYXNlICdyYWRpb2J1dHRvbic6XG4gICAgICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKGNvbmYpID0+IHtcbiAgICAgICAgICBpZiAoY29uZi5lbmFibGVkKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMucGFyYW1zID0gT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMucGFyYW1zIHx8IHt9LCB7XG4gICAgICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mLnZhbHVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NoZWNrYm94JzpcbiAgICAgICAgbGV0IGNvbmZWYWx1ZSA9ICcnO1xuICAgICAgICBzZXR0aW5nLnZhbHVlc1xuICAgICAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSlcbiAgICAgICAgICAuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbmYuZW5hYmxlZCkge1xuICAgICAgICAgICAgICBjb25mVmFsdWUgKz0gY29uZi52YWx1ZSArICcsJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgY29uZlZhbHVlID0gY29uZlZhbHVlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcyA9IE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLnBhcmFtcyB8fCB7fSwge1xuICAgICAgICAgIFtzZXR0aW5nLm5hbWVdOiBjb25mVmFsdWVcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChzYXZlSW5TdG9yYWdlICYmIHRoaXMuc3RvcmFnZVNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KHRoaXMuZ2V0SWQoKSArICcub3B0aW9ucycsIHtcbiAgICAgICAgcGFyYW1zOiB0aGlzLm9wdGlvbnMucGFyYW1zXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIHJlc3VsdHMgZGlzcGxheSBvcmRlclxuICAgKi9cbiAgZ2V0IGRpc3BsYXlPcmRlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMub3JkZXIgPT09IHVuZGVmaW5lZCA/IDk5IDogdGhpcy5vcHRpb25zLm9yZGVyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9uczogU2VhcmNoU291cmNlT3B0aW9ucyxcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlPzogU3RvcmFnZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZSkge1xuICAgICAgY29uc3Qgc3RvcmFnZU9wdGlvbnMgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChcbiAgICAgICAgdGhpcy5nZXRJZCgpICsgJy5vcHRpb25zJ1xuICAgICAgKSBhcyBvYmplY3Q7XG4gICAgICBpZiAoc3RvcmFnZU9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0VXRpbHMubWVyZ2VEZWVwKHRoaXMub3B0aW9ucywgc3RvcmFnZU9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcChcbiAgICAgIHRoaXMuZ2V0RGVmYXVsdE9wdGlvbnMoKSxcbiAgICAgIHRoaXMub3B0aW9uc1xuICAgICk7XG5cbiAgICAvLyBTZXQgRGVmYXVsdCBQYXJhbXMgZnJvbSBTZXR0aW5nc1xuICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xuICAgICAgdGhpcy5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgaGFzaHRhZ3MgdmFsaWRcbiAgICogQHBhcmFtIGhhc2h0YWcgaGFzaHRhZyBmcm9tIHF1ZXJ5XG4gICAqL1xuICBnZXRIYXNodGFnc1ZhbGlkKHRlcm06IHN0cmluZywgc2V0dGluZ3NOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaGFzaHRhZ3MgPSB0ZXJtLm1hdGNoKC8oI1tBLVphLXrDgC3Dvy0rXSspL2cpO1xuICAgIGlmICghaGFzaHRhZ3MpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoU291cmNlU2V0dGluZyA9IHRoaXMuZ2V0U2V0dGluZ3NWYWx1ZXMoc2V0dGluZ3NOYW1lKTtcbiAgICBjb25zdCBoYXNodGFnc1ZhbGlkID0gW107XG4gICAgaGFzaHRhZ3MuZm9yRWFjaCgoaGFzaHRhZykgPT4ge1xuICAgICAgc2VhcmNoU291cmNlU2V0dGluZy52YWx1ZXMuZm9yRWFjaCgoY29uZikgPT4ge1xuICAgICAgICBjb25zdCBoYXNodGFnS2V5ID0gaGFzaHRhZy5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGlmICh0eXBlb2YgY29uZi52YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCB0eXBlcyA9IGNvbmYudmFsdWVcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1tcXHUwMzAwLVxcdTAzNmZdL2csICcnKVxuICAgICAgICAgICAgLnNwbGl0KCcsJyk7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0eXBlcy5pbmRleE9mKFxuICAgICAgICAgICAgaGFzaHRhZ0tleVxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAubm9ybWFsaXplKCdORkQnKVxuICAgICAgICAgICAgICAucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgICBoYXNodGFnc1ZhbGlkLnB1c2godHlwZXNbaW5kZXhdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNvbmYuaGFzaHRhZ3MgJiZcbiAgICAgICAgICBjb25mLmhhc2h0YWdzLmluZGV4T2YoaGFzaHRhZ0tleS50b0xvd2VyQ2FzZSgpKSAhPT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgaGFzaHRhZ3NWYWxpZC5wdXNoKGNvbmYudmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBoYXNodGFnc1ZhbGlkLmZpbHRlcigoYSwgYikgPT4gaGFzaHRhZ3NWYWxpZC5pbmRleE9mKGEpID09PSBiKTtcbiAgfVxuXG4gIGdldFNldHRpbmdzVmFsdWVzKHNlYXJjaDogc3RyaW5nKTogU2VhcmNoU291cmNlU2V0dGluZ3Mge1xuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRPcHRpb25zKCkuc2V0dGluZ3MuZmluZChcbiAgICAgICh2YWx1ZTogU2VhcmNoU291cmNlU2V0dGluZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLm5hbWUgPT09IHNlYXJjaDtcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
@@ -269,8 +269,8 @@ export class StoredQueriesSearchSource extends SearchSource {
269
269
  });
270
270
  return properties;
271
271
  }
272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesSearchSource, deps: [{ token: i1.HttpClient }, { token: i2.LanguageService }, { token: i3.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
273
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesSearchSource });
272
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesSearchSource, deps: [{ token: i1.HttpClient }, { token: i2.LanguageService }, { token: i3.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
273
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesSearchSource });
274
274
  }
275
275
  __decorate([
276
276
  Cacheable({
@@ -281,7 +281,7 @@ __decorate([
281
281
  __metadata("design:paramtypes", [String, HttpParams]),
282
282
  __metadata("design:returntype", Observable)
283
283
  ], StoredQueriesSearchSource.prototype, "getSearch", null);
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesSearchSource, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesSearchSource, decorators: [{
285
285
  type: Injectable
286
286
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.LanguageService }, { type: i3.StorageService }, { type: undefined, decorators: [{
287
287
  type: Inject,
@@ -436,8 +436,8 @@ export class StoredQueriesReverseSearchSource extends SearchSource {
436
436
  };
437
437
  return Object.assign(properties, { type: data.properties.doc_type }, routing);
438
438
  }
439
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesReverseSearchSource, deps: [{ token: i1.HttpClient }, { token: i2.LanguageService }, { token: i3.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
440
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesReverseSearchSource });
439
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesReverseSearchSource, deps: [{ token: i1.HttpClient }, { token: i2.LanguageService }, { token: i3.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
440
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesReverseSearchSource });
441
441
  }
442
442
  __decorate([
443
443
  Cacheable({
@@ -448,7 +448,7 @@ __decorate([
448
448
  __metadata("design:paramtypes", [HttpParams]),
449
449
  __metadata("design:returntype", Observable)
450
450
  ], StoredQueriesReverseSearchSource.prototype, "getReverseSearch", null);
451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StoredQueriesReverseSearchSource, decorators: [{
451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StoredQueriesReverseSearchSource, decorators: [{
452
452
  type: Injectable
453
453
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.LanguageService }, { type: i3.StorageService }, { type: undefined, decorators: [{
454
454
  type: Inject,
@@ -3,6 +3,7 @@ import { ConfigService } from '@igo2/core/config';
3
3
  import { LanguageService } from '@igo2/core/language';
4
4
  import { StorageService } from '@igo2/core/storage';
5
5
  import { SearchSource } from './source';
6
+ import { SearchSourceKind } from './source.interfaces';
6
7
  import { StoredQueriesReverseSearchSource, StoredQueriesSearchSource } from './storedqueries';
7
8
  /**
8
9
  * StoredQueries search source factory
@@ -22,6 +23,12 @@ export function provideStoredQueriesSearchSource() {
22
23
  deps: [HttpClient, LanguageService, StorageService, ConfigService]
23
24
  };
24
25
  }
26
+ export function withStoredQueriesSource() {
27
+ return {
28
+ kind: SearchSourceKind.StoredQueries,
29
+ providers: [provideStoredQueriesSearchSource()]
30
+ };
31
+ }
25
32
  /**
26
33
  * StoredQueriesReverse search source factory
27
34
  * @ignore
@@ -40,4 +47,10 @@ export function provideStoredQueriesReverseSearchSource() {
40
47
  deps: [HttpClient, LanguageService, StorageService, ConfigService]
41
48
  };
42
49
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc3RvcmVkcXVlcmllcy5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUNMLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qjs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLElBQWdCLEVBQ2hCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSx5QkFBeUIsQ0FDbEMsSUFBSSxFQUNKLGVBQWUsRUFDZixjQUFjLEVBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIseUJBQXlCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDbEUsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0M7SUFDOUMsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSxnQ0FBZ0M7UUFDNUMsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFFSCxNQUFNLFVBQVUsdUNBQXVDLENBQ3JELElBQWdCLEVBQ2hCLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxnQ0FBZ0MsQ0FDekMsSUFBSSxFQUNKLGVBQWUsRUFDZixjQUFjLEVBQ2QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsZ0NBQWdDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDekUsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx1Q0FBdUM7SUFDckQsT0FBTztRQUNMLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsS0FBSyxFQUFFLElBQUk7UUFDWCxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7S0FDbkUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7XG4gIFN0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLFxuICBTdG9yZWRRdWVyaWVzU2VhcmNoU291cmNlXG59IGZyb20gJy4vc3RvcmVkcXVlcmllcyc7XG5cbi8qKlxuICogU3RvcmVkUXVlcmllcyBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0b3JlZHF1ZXJpZXNTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBodHRwOiBIdHRwQ2xpZW50LFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UoXG4gICAgaHR0cCxcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke1N0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UuaWR9YClcbiAgKTtcbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0aGF0IHJldHVybnMgYSBwcm92aWRlciBmb3IgdGhlIFN0b3JlZFF1ZXJpZXMgc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2UoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IHN0b3JlZHF1ZXJpZXNTZWFyY2hTb3VyY2VGYWN0b3J5LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtIdHRwQ2xpZW50LCBMYW5ndWFnZVNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlLCBDb25maWdTZXJ2aWNlXVxuICB9O1xufVxuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXNSZXZlcnNlIHNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9yZWRxdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UoXG4gICAgaHR0cCxcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke1N0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLmlkfWApXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBTdG9yZWRRdWVyaWVzUmV2ZXJzZSBzZWFyY2ggc291cmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IHN0b3JlZHF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZV1cbiAgfTtcbn1cbiJdfQ==
50
+ export function withStoredQueriesReverseSource() {
51
+ return {
52
+ kind: SearchSourceKind.StoredQueriesReverse,
53
+ providers: [provideStoredQueriesReverseSearchSource()]
54
+ };
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkcXVlcmllcy5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL3NvdXJjZXMvc3RvcmVkcXVlcmllcy5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUF1QixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMseUJBQXlCLEVBQzFCLE1BQU0saUJBQWlCLENBQUM7QUFFekI7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxJQUFnQixFQUNoQixlQUFnQyxFQUNoQyxjQUE4QixFQUM5QixNQUFxQjtJQUVyQixPQUFPLElBQUkseUJBQXlCLENBQ2xDLElBQUksRUFDSixlQUFlLEVBQ2YsY0FBYyxFQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQ2xFLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzlDLE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsZ0NBQWdDO1FBQzVDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDO0tBQ25FLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QjtJQUNyQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLGdCQUFnQixDQUFDLGFBQWE7UUFDcEMsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztLQUNoRCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7R0FHRztBQUVILE1BQU0sVUFBVSx1Q0FBdUMsQ0FDckQsSUFBZ0IsRUFDaEIsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUI7SUFFckIsT0FBTyxJQUFJLGdDQUFnQyxDQUN6QyxJQUFJLEVBQ0osZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixnQ0FBZ0MsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUN6RSxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVDQUF1QztJQUNyRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQztLQUNuRSxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEI7SUFDNUMsT0FBTztRQUNMLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxvQkFBb0I7UUFDM0MsU0FBUyxFQUFFLENBQUMsdUNBQXVDLEVBQUUsQ0FBQztLQUN2RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlRmVhdHVyZSwgU2VhcmNoU291cmNlS2luZCB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UsXG4gIFN0b3JlZFF1ZXJpZXNTZWFyY2hTb3VyY2Vcbn0gZnJvbSAnLi9zdG9yZWRxdWVyaWVzJztcblxuLyoqXG4gKiBTdG9yZWRRdWVyaWVzIHNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RvcmVkcXVlcmllc1NlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZShcbiAgICBodHRwLFxuICAgIGxhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZSxcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7U3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZS5pZH1gKVxuICApO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgU3RvcmVkUXVlcmllcyBzZWFyY2ggc291cmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogc3RvcmVkcXVlcmllc1NlYXJjaFNvdXJjZUZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0h0dHBDbGllbnQsIExhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2VdXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3aXRoU3RvcmVkUXVlcmllc1NvdXJjZSgpOiBTZWFyY2hTb3VyY2VGZWF0dXJlPFNlYXJjaFNvdXJjZUtpbmQuU3RvcmVkUXVlcmllcz4ge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IFNlYXJjaFNvdXJjZUtpbmQuU3RvcmVkUXVlcmllcyxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlU3RvcmVkUXVlcmllc1NlYXJjaFNvdXJjZSgpXVxuICB9O1xufVxuXG4vKipcbiAqIFN0b3JlZFF1ZXJpZXNSZXZlcnNlIHNlYXJjaCBzb3VyY2UgZmFjdG9yeVxuICogQGlnbm9yZVxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9yZWRxdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGh0dHA6IEh0dHBDbGllbnQsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UoXG4gICAgaHR0cCxcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke1N0b3JlZFF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlLmlkfWApXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBTdG9yZWRRdWVyaWVzUmV2ZXJzZSBzZWFyY2ggc291cmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3RvcmVkUXVlcmllc1JldmVyc2VTZWFyY2hTb3VyY2UoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IHN0b3JlZHF1ZXJpZXNSZXZlcnNlU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbSHR0cENsaWVudCwgTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZV1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTdG9yZWRRdWVyaWVzUmV2ZXJzZVNvdXJjZSgpOiBTZWFyY2hTb3VyY2VGZWF0dXJlPFNlYXJjaFNvdXJjZUtpbmQuU3RvcmVkUXVlcmllc1JldmVyc2U+IHtcbiAgcmV0dXJuIHtcbiAgICBraW5kOiBTZWFyY2hTb3VyY2VLaW5kLlN0b3JlZFF1ZXJpZXNSZXZlcnNlLFxuICAgIHByb3ZpZGVyczogW3Byb3ZpZGVTdG9yZWRRdWVyaWVzUmV2ZXJzZVNlYXJjaFNvdXJjZSgpXVxuICB9O1xufVxuIl19
@@ -180,10 +180,10 @@ export class WorkspaceSearchSource extends SearchSource {
180
180
  };
181
181
  return Object.assign({ type: data.feature.sourceId }, data.feature.properties, googleLinksProperties, routing);
182
182
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WorkspaceSearchSource, deps: [{ token: i1.LanguageService }, { token: i2.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
184
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WorkspaceSearchSource });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WorkspaceSearchSource, deps: [{ token: i1.LanguageService }, { token: i2.StorageService }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
184
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WorkspaceSearchSource });
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: WorkspaceSearchSource, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WorkspaceSearchSource, decorators: [{
187
187
  type: Injectable
188
188
  }], ctorParameters: () => [{ type: i1.LanguageService }, { type: i2.StorageService }, { type: undefined, decorators: [{
189
189
  type: Inject,
@@ -2,6 +2,7 @@ import { ConfigService } from '@igo2/core/config';
2
2
  import { LanguageService } from '@igo2/core/language';
3
3
  import { StorageService } from '@igo2/core/storage';
4
4
  import { SearchSource } from './source';
5
+ import { SearchSourceKind } from './source.interfaces';
5
6
  import { WorkspaceSearchSource } from './workspace';
6
7
  /**
7
8
  * Workspace search source factory
@@ -21,4 +22,10 @@ export function provideWorkspaceSearchSource() {
21
22
  deps: [LanguageService, StorageService, ConfigService]
22
23
  };
23
24
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy93b3Jrc3BhY2UucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBEOzs7R0FHRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsTUFBcUI7SUFFckIsT0FBTyxJQUFJLHFCQUFxQixDQUM5QixlQUFlLEVBQ2YsY0FBYyxFQUNkLE1BQU0sQ0FBQyxTQUFTLENBQUMsaUJBQWlCLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzlELENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCO0lBQzFDLE9BQU87UUFDTCxPQUFPLEVBQUUsWUFBWTtRQUNyQixVQUFVLEVBQUUsNEJBQTRCO1FBQ3hDLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7S0FDdkQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XG5cbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFdvcmtzcGFjZVNlYXJjaFNvdXJjZSB9IGZyb20gJy4vd29ya3NwYWNlJztcblxuLyoqXG4gKiBXb3Jrc3BhY2Ugc2VhcmNoIHNvdXJjZSBmYWN0b3J5XG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3b3Jrc3BhY2VTZWFyY2hTb3VyY2VGYWN0b3J5KFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxuICBjb25maWc6IENvbmZpZ1NlcnZpY2Vcbikge1xuICByZXR1cm4gbmV3IFdvcmtzcGFjZVNlYXJjaFNvdXJjZShcbiAgICBsYW5ndWFnZVNlcnZpY2UsXG4gICAgc3RvcmFnZVNlcnZpY2UsXG4gICAgY29uZmlnLmdldENvbmZpZyhgc2VhcmNoU291cmNlcy4ke1dvcmtzcGFjZVNlYXJjaFNvdXJjZS5pZH1gKVxuICApO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb3ZpZGVyIGZvciB0aGUgV29ya3NwYWNlIHNlYXJjaCBzb3VyY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVXb3Jrc3BhY2VTZWFyY2hTb3VyY2UoKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogU2VhcmNoU291cmNlLFxuICAgIHVzZUZhY3Rvcnk6IHdvcmtzcGFjZVNlYXJjaFNvdXJjZUZhY3RvcnksXG4gICAgbXVsdGk6IHRydWUsXG4gICAgZGVwczogW0xhbmd1YWdlU2VydmljZSwgU3RvcmFnZVNlcnZpY2UsIENvbmZpZ1NlcnZpY2VdXG4gIH07XG59XG4iXX0=
25
+ export function withWorkspaceSource() {
26
+ return {
27
+ kind: SearchSourceKind.Workspace,
28
+ providers: [provideWorkspaceSearchSource()]
29
+ };
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zaGFyZWQvc291cmNlcy93b3Jrc3BhY2UucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUF1QixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLE1BQXFCO0lBRXJCLE9BQU8sSUFBSSxxQkFBcUIsQ0FDOUIsZUFBZSxFQUNmLGNBQWMsRUFDZCxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixxQkFBcUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUM5RCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QjtJQUMxQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVk7UUFDckIsVUFBVSxFQUFFLDRCQUE0QjtRQUN4QyxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDO0tBQ3ZELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPO1FBQ0wsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFNBQVM7UUFDaEMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztLQUM1QyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2xhbmd1YWdlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZS9zdG9yYWdlJztcblxuaW1wb3J0IHsgU2VhcmNoU291cmNlIH0gZnJvbSAnLi9zb3VyY2UnO1xuaW1wb3J0IHsgU2VhcmNoU291cmNlRmVhdHVyZSwgU2VhcmNoU291cmNlS2luZCB9IGZyb20gJy4vc291cmNlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgV29ya3NwYWNlU2VhcmNoU291cmNlIH0gZnJvbSAnLi93b3Jrc3BhY2UnO1xuXG4vKipcbiAqIFdvcmtzcGFjZSBzZWFyY2ggc291cmNlIGZhY3RvcnlcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdvcmtzcGFjZVNlYXJjaFNvdXJjZUZhY3RvcnkoXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gIGNvbmZpZzogQ29uZmlnU2VydmljZVxuKSB7XG4gIHJldHVybiBuZXcgV29ya3NwYWNlU2VhcmNoU291cmNlKFxuICAgIGxhbmd1YWdlU2VydmljZSxcbiAgICBzdG9yYWdlU2VydmljZSxcbiAgICBjb25maWcuZ2V0Q29uZmlnKGBzZWFyY2hTb3VyY2VzLiR7V29ya3NwYWNlU2VhcmNoU291cmNlLmlkfWApXG4gICk7XG59XG5cbi8qKlxuICogRnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvdmlkZXIgZm9yIHRoZSBXb3Jrc3BhY2Ugc2VhcmNoIHNvdXJjZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVdvcmtzcGFjZVNlYXJjaFNvdXJjZSgpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTZWFyY2hTb3VyY2UsXG4gICAgdXNlRmFjdG9yeTogd29ya3NwYWNlU2VhcmNoU291cmNlRmFjdG9yeSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgICBkZXBzOiBbTGFuZ3VhZ2VTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSwgQ29uZmlnU2VydmljZV1cbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhXb3Jrc3BhY2VTb3VyY2UoKTogU2VhcmNoU291cmNlRmVhdHVyZTxTZWFyY2hTb3VyY2VLaW5kLldvcmtzcGFjZT4ge1xuICByZXR1cm4ge1xuICAgIGtpbmQ6IFNlYXJjaFNvdXJjZUtpbmQuV29ya3NwYWNlLFxuICAgIHByb3ZpZGVyczogW3Byb3ZpZGVXb3Jrc3BhY2VTZWFyY2hTb3VyY2UoKV1cbiAgfTtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
+ import { isValidJSON } from '@igo2/utils';
1
2
  import * as olStyle from 'ol/style';
2
3
  import { StyleService } from '../../style-service/style.service';
3
4
  export function featureRandomStyleFunction() {
@@ -13,7 +14,7 @@ export function featureRandomStyleFunction() {
13
14
  });
14
15
  return (olFeature, resolution) => {
15
16
  const customStyle = olFeature.get('_style');
16
- if (customStyle) {
17
+ if (customStyle && isValidJSON(customStyle)) {
17
18
  if (customStyle.circle &&
18
19
  olFeature.get('rad') &&
19
20
  olFeature.get('longitude') &&
@@ -158,4 +159,4 @@ export function pointerPositionSummaryMarkerStyle(feature, resolution) {
158
159
  })
159
160
  });
160
161
  }
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3NoYXJlZC9mZWF0dXJlL2ZlYXR1cmUtc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpFLE1BQU0sVUFBVSwwQkFBMEI7SUFJeEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQ2hDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixLQUFLLEVBQUUsQ0FBQztLQUNULENBQUMsQ0FBQztJQUNILE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztRQUM1QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUM7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLFNBQWdDLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1FBQzlELE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxXQUFXLEVBQUUs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dEIsR0FBRyxFQUFFLDhDQUE4QztTQUNwRCxDQUFDO1FBRUYsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUUsUUFBUTtZQUN0QixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekMsY0FBYyxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3ZFLGdCQUFnQixFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDbkMsS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZELFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzlCLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCAqIGFzIG9sR2VvbSBmcm9tICdvbC9nZW9tJztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgKiBhcyBvbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcblxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVSYW5kb21TdHlsZUZ1bmN0aW9uKCk6IChcbiAgb2xGZWF0dXJlOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT4sXG4gIHJlc29sdXRpb246IG51bWJlclxuKSA9PiBvbFN0eWxlLlN0eWxlIHtcbiAgY29uc3QgciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IGcgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBiID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3Qgc3Ryb2tlID0gbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICBjb2xvcjogW3IsIGcsIGIsIDFdLFxuICAgIHdpZHRoOiAyXG4gIH0pO1xuICBjb25zdCBmaWxsID0gbmV3IG9sU3R5bGUuRmlsbCh7XG4gICAgY29sb3I6IFtyLCBnLCBiLCAwLjRdXG4gIH0pO1xuICByZXR1cm4gKG9sRmVhdHVyZTogb2xGZWF0dXJlPE9sR2VvbWV0cnk+LCByZXNvbHV0aW9uOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBjdXN0b21TdHlsZSA9IG9sRmVhdHVyZS5nZXQoJ19zdHlsZScpO1xuICAgIGlmIChjdXN0b21TdHlsZSkge1xuICAgICAgaWYgKFxuICAgICAgICBjdXN0b21TdHlsZS5jaXJjbGUgJiZcbiAgICAgICAgb2xGZWF0dXJlLmdldCgncmFkJykgJiZcbiAgICAgICAgb2xGZWF0dXJlLmdldCgnbG9uZ2l0dWRlJykgJiZcbiAgICAgICAgb2xGZWF0dXJlLmdldCgnbGF0aXR1ZGUnKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGxvbkxhdDogW251bWJlciwgbnVtYmVyXSA9IFtcbiAgICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsb25naXR1ZGUnKSxcbiAgICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsYXRpdHVkZScpXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IHJhZGl1cyA9XG4gICAgICAgICAgb2xGZWF0dXJlLmdldCgncmFkJykgL1xuICAgICAgICAgIE1hdGguY29zKChNYXRoLlBJIC8gMTgwKSAqIGxvbkxhdFsxXSkgL1xuICAgICAgICAgIHJlc29sdXRpb247XG4gICAgICAgIGN1c3RvbVN0eWxlLmNpcmNsZS5yYWRpdXMgPSByYWRpdXM7XG4gICAgICB9XG4gICAgICBjb25zdCBzdHlsZVNlcnZpY2UgPSBuZXcgU3R5bGVTZXJ2aWNlKCk7XG4gICAgICByZXR1cm4gc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKGN1c3RvbVN0eWxlLCB1bmRlZmluZWQsIHJlc29sdXRpb24pO1xuICAgIH1cbiAgICBjb25zdCBzdHlsZSA9IG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICAgIHN0cm9rZSxcbiAgICAgIGZpbGwsXG4gICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcbiAgICAgICAgcmFkaXVzOiA1LFxuICAgICAgICBzdHJva2UsXG4gICAgICAgIGZpbGxcbiAgICAgIH0pLFxuICAgICAgdGV4dDogb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJylcbiAgICAgICAgPyBuZXcgb2xTdHlsZS5UZXh0KHtcbiAgICAgICAgICAgIHRleHQ6IG9sRmVhdHVyZS5nZXQoJ19tYXBUaXRsZScpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBvZmZzZXRYOiA1LFxuICAgICAgICAgICAgb2Zmc2V0WTogLTUsXG4gICAgICAgICAgICBmb250OiAnMTJweCBDYWxpYnJpLHNhbnMtc2VyaWYnLFxuICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7IGNvbG9yOiAnIzAwMCcgfSksXG4gICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI2ZmZicsIHdpZHRoOiAzIH0pLFxuICAgICAgICAgICAgb3ZlcmZsb3c6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH0pO1xuICAgIHJldHVybiBzdHlsZTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZlYXR1cmVSYW5kb21TdHlsZSgpOiBvbFN0eWxlLlN0eWxlIHtcbiAgY29uc3QgciA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IGcgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBiID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3Qgc3Ryb2tlID0gbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICBjb2xvcjogW3IsIGcsIGIsIDFdLFxuICAgIHdpZHRoOiAyXG4gIH0pO1xuICBjb25zdCBmaWxsID0gbmV3IG9sU3R5bGUuRmlsbCh7XG4gICAgY29sb3I6IFtyLCBnLCBiLCAwLjRdXG4gIH0pO1xuXG4gIGNvbnN0IHN0eWxlID0gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgIHN0cm9rZSxcbiAgICBmaWxsLFxuICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgcmFkaXVzOiA1LFxuICAgICAgc3Ryb2tlLFxuICAgICAgZmlsbFxuICAgIH0pXG4gIH0pO1xuICByZXR1cm4gc3R5bGU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCBzdHlsZSBmb3IgdGhlIHBvaW50ZXIgcG9zaXRpb24gYW5kIGl0J3MgbGFiZWwgc3VtbWFyeS5cbiAqIEBwYXJhbSBmZWF0dXJlIG9sRmVhdHVyZVxuICogQHJldHVybnMgT0wgc3R5bGUgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhvdmVyRmVhdHVyZU1hcmtlclN0eWxlKFxuICBmZWF0dXJlOiBvbEZlYXR1cmU8b2xHZW9tLkdlb21ldHJ5PixcbiAgcmVzb2x1dGlvbjogbnVtYmVyXG4pOiBvbFN0eWxlLlN0eWxlW10ge1xuICBjb25zdCBvbFN0eWxlVGV4dCA9IG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICB0ZXh0OiBuZXcgb2xTdHlsZS5UZXh0KHtcbiAgICAgIHRleHQ6IGZlYXR1cmUuZ2V0KCdob3ZlclN1bW1hcnknKSxcbiAgICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICAgICAgdGV4dEJhc2VsaW5lOiAndG9wJyxcbiAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXG4gICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgIGJhY2tncm91bmRGaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIH0pLFxuICAgICAgYmFja2dyb3VuZFN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgY29sb3I6ICdyZ2JhKDIwMCwgMjAwLCAyMDAsIDAuNzUpJyxcbiAgICAgICAgd2lkdGg6IDJcbiAgICAgIH0pLFxuICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2UoeyBjb2xvcjogJyNmZmYnLCB3aWR0aDogMyB9KSxcbiAgICAgIG92ZXJmbG93OiB0cnVlLFxuICAgICAgb2Zmc2V0WDogMTAsXG4gICAgICBvZmZzZXRZOiAyMCxcbiAgICAgIHBhZGRpbmc6IFsyLjUsIDIuNSwgMi41LCAyLjVdXG4gICAgfSlcbiAgfSk7XG4gIGNvbnN0IG9sU3R5bGVzID0gW29sU3R5bGVUZXh0XTtcbiAgc3dpdGNoIChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpKSB7XG4gICAgY2FzZSAnUG9pbnQnOlxuICAgICAgb2xTdHlsZXMucHVzaChcbiAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgICAgICAgcmFkaXVzOiAxMCxcbiAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgICAgY29sb3I6ICdibHVlJyxcbiAgICAgICAgICAgICAgd2lkdGg6IDNcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgb2xTdHlsZXMucHVzaChcbiAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgd2lkdGg6IDVcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIG9sU3R5bGVzLnB1c2goXG4gICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgICAgICAgd2lkdGg6IDNcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIHJldHVybiBvbFN0eWxlcztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcG9pbnRlciBwb3NpdGlvbiBhbmQgaXQncyBsYWJlbCBzdW1tYXJ5LlxuICogQHBhcmFtIGZlYXR1cmUgb2xGZWF0dXJlXG4gKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gcG9pbnRlclBvc2l0aW9uU3VtbWFyeU1hcmtlclN0eWxlKFxuICBmZWF0dXJlOiBvbEZlYXR1cmU8T2xHZW9tZXRyeT4sXG4gIHJlc29sdXRpb246IG51bWJlclxuKTogb2xTdHlsZS5TdHlsZSB7XG4gIHJldHVybiBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkljb24oe1xuICAgICAgc3JjOiAnLi9hc3NldHMvaWdvMi9nZW8vaWNvbnMvY3Jvc3NfYmxhY2tfMThweC5zdmcnXG4gICAgfSksXG5cbiAgICB0ZXh0OiBuZXcgb2xTdHlsZS5UZXh0KHtcbiAgICAgIHRleHQ6IGZlYXR1cmUuZ2V0KCdwb2ludGVyU3VtbWFyeScpLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0QmFzZWxpbmU6ICdib3R0b20nLFxuICAgICAgZm9udDogJzEycHggQ2FsaWJyaSxzYW5zLXNlcmlmJyxcbiAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoeyBjb2xvcjogJyMwMDAnIH0pLFxuICAgICAgYmFja2dyb3VuZEZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoeyBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgfSksXG4gICAgICBiYWNrZ3JvdW5kU3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwMCwgMC43NSknLFxuICAgICAgICB3aWR0aDogMlxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI2ZmZicsIHdpZHRoOiAzIH0pLFxuICAgICAgb3ZlcmZsb3c6IHRydWUsXG4gICAgICBvZmZzZXRYOiAxMCxcbiAgICAgIG9mZnNldFk6IC0xMCxcbiAgICAgIHBhZGRpbmc6IFsyLjUsIDIuNSwgMi41LCAyLjVdXG4gICAgfSlcbiAgfSk7XG59XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3NoYXJlZC9mZWF0dXJlL2ZlYXR1cmUtc3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUsxQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUVwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakUsTUFBTSxVQUFVLDBCQUEwQjtJQUl4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEtBQUssRUFBRSxDQUFDO0tBQ1QsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFDSCxPQUFPLENBQUMsU0FBZ0MsRUFBRSxVQUFrQixFQUFFLEVBQUU7UUFDOUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcs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SSxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLEtBQUssRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDdEIsR0FBRyxFQUFFLDhDQUE4QztTQUNwRCxDQUFDO1FBRUYsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQztZQUNyQixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQztZQUNuQyxTQUFTLEVBQUUsTUFBTTtZQUNqQixZQUFZLEVBQUUsUUFBUTtZQUN0QixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekMsY0FBYyxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3ZFLGdCQUFnQixFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDbkMsS0FBSyxFQUFFLDJCQUEyQjtnQkFDbEMsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDO1lBQ0YsTUFBTSxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZELFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsQ0FBQyxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO1NBQzlCLENBQUM7S0FDSCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNWYWxpZEpTT04gfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgKiBhcyBvbEdlb20gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xuaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5cbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmZWF0dXJlUmFuZG9tU3R5bGVGdW5jdGlvbigpOiAoXG4gIG9sRmVhdHVyZTogb2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxuICByZXNvbHV0aW9uOiBudW1iZXJcbikgPT4gb2xTdHlsZS5TdHlsZSB7XG4gIGNvbnN0IHIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBnID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3QgYiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IHN0cm9rZSA9IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgY29sb3I6IFtyLCBnLCBiLCAxXSxcbiAgICB3aWR0aDogMlxuICB9KTtcbiAgY29uc3QgZmlsbCA9IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgIGNvbG9yOiBbciwgZywgYiwgMC40XVxuICB9KTtcbiAgcmV0dXJuIChvbEZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PiwgcmVzb2x1dGlvbjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgY3VzdG9tU3R5bGUgPSBvbEZlYXR1cmUuZ2V0KCdfc3R5bGUnKTtcbiAgICBpZiAoY3VzdG9tU3R5bGUgJiYgaXNWYWxpZEpTT04oY3VzdG9tU3R5bGUpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGN1c3RvbVN0eWxlLmNpcmNsZSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdyYWQnKSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsb25naXR1ZGUnKSAmJlxuICAgICAgICBvbEZlYXR1cmUuZ2V0KCdsYXRpdHVkZScpXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbG9uTGF0OiBbbnVtYmVyLCBudW1iZXJdID0gW1xuICAgICAgICAgIG9sRmVhdHVyZS5nZXQoJ2xvbmdpdHVkZScpLFxuICAgICAgICAgIG9sRmVhdHVyZS5nZXQoJ2xhdGl0dWRlJylcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgcmFkaXVzID1cbiAgICAgICAgICBvbEZlYXR1cmUuZ2V0KCdyYWQnKSAvXG4gICAgICAgICAgTWF0aC5jb3MoKE1hdGguUEkgLyAxODApICogbG9uTGF0WzFdKSAvXG4gICAgICAgICAgcmVzb2x1dGlvbjtcbiAgICAgICAgY3VzdG9tU3R5bGUuY2lyY2xlLnJhZGl1cyA9IHJhZGl1cztcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0eWxlU2VydmljZSA9IG5ldyBTdHlsZVNlcnZpY2UoKTtcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoY3VzdG9tU3R5bGUsIHVuZGVmaW5lZCwgcmVzb2x1dGlvbik7XG4gICAgfVxuICAgIGNvbnN0IHN0eWxlID0gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgc3Ryb2tlLFxuICAgICAgZmlsbCxcbiAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgICByYWRpdXM6IDUsXG4gICAgICAgIHN0cm9rZSxcbiAgICAgICAgZmlsbFxuICAgICAgfSksXG4gICAgICB0ZXh0OiBvbEZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKVxuICAgICAgICA/IG5ldyBvbFN0eWxlLlRleHQoe1xuICAgICAgICAgICAgdGV4dDogb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJykudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIG9mZnNldFg6IDUsXG4gICAgICAgICAgICBvZmZzZXRZOiAtNSxcbiAgICAgICAgICAgIGZvbnQ6ICcxMnB4IENhbGlicmksc2Fucy1zZXJpZicsXG4gICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6ICcjZmZmJywgd2lkdGg6IDMgfSksXG4gICAgICAgICAgICBvdmVyZmxvdzogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIDogdW5kZWZpbmVkXG4gICAgfSk7XG4gICAgcmV0dXJuIHN0eWxlO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmVhdHVyZVJhbmRvbVN0eWxlKCk6IG9sU3R5bGUuU3R5bGUge1xuICBjb25zdCByID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3QgZyA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IGIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBzdHJva2UgPSBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgIGNvbG9yOiBbciwgZywgYiwgMV0sXG4gICAgd2lkdGg6IDJcbiAgfSk7XG4gIGNvbnN0IGZpbGwgPSBuZXcgb2xTdHlsZS5GaWxsKHtcbiAgICBjb2xvcjogW3IsIGcsIGIsIDAuNF1cbiAgfSk7XG5cbiAgY29uc3Qgc3R5bGUgPSBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgc3Ryb2tlLFxuICAgIGZpbGwsXG4gICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XG4gICAgICByYWRpdXM6IDUsXG4gICAgICBzdHJva2UsXG4gICAgICBmaWxsXG4gICAgfSlcbiAgfSk7XG4gIHJldHVybiBzdHlsZTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHN0eWxlIGZvciB0aGUgcG9pbnRlciBwb3NpdGlvbiBhbmQgaXQncyBsYWJlbCBzdW1tYXJ5LlxuICogQHBhcmFtIGZlYXR1cmUgb2xGZWF0dXJlXG4gKiBAcmV0dXJucyBPTCBzdHlsZSBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaG92ZXJGZWF0dXJlTWFya2VyU3R5bGUoXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxvbEdlb20uR2VvbWV0cnk+LFxuICByZXNvbHV0aW9uOiBudW1iZXJcbik6IG9sU3R5bGUuU3R5bGVbXSB7XG4gIGNvbnN0IG9sU3R5bGVUZXh0ID0gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgIHRleHQ6IG5ldyBvbFN0eWxlLlRleHQoe1xuICAgICAgdGV4dDogZmVhdHVyZS5nZXQoJ2hvdmVyU3VtbWFyeScpLFxuICAgICAgdGV4dEFsaWduOiAnbGVmdCcsXG4gICAgICB0ZXh0QmFzZWxpbmU6ICd0b3AnLFxuICAgICAgZm9udDogJzEycHggQ2FsaWJyaSxzYW5zLXNlcmlmJyxcbiAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoeyBjb2xvcjogJyMwMDAnIH0pLFxuICAgICAgYmFja2dyb3VuZEZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoeyBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC41KScgfSksXG4gICAgICBiYWNrZ3JvdW5kU3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICBjb2xvcjogJ3JnYmEoMjAwLCAyMDAsIDIwMCwgMC43NSknLFxuICAgICAgICB3aWR0aDogMlxuICAgICAgfSksXG4gICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI2ZmZicsIHdpZHRoOiAzIH0pLFxuICAgICAgb3ZlcmZsb3c6IHRydWUsXG4gICAgICBvZmZzZXRYOiAxMCxcbiAgICAgIG9mZnNldFk6IDIwLFxuICAgICAgcGFkZGluZzogWzIuNSwgMi41LCAyLjUsIDIuNV1cbiAgICB9KVxuICB9KTtcbiAgY29uc3Qgb2xTdHlsZXMgPSBbb2xTdHlsZVRleHRdO1xuICBzd2l0Y2ggKGZlYXR1cmUuZ2V0R2VvbWV0cnkoKS5nZXRUeXBlKCkpIHtcbiAgICBjYXNlICdQb2ludCc6XG4gICAgICBvbFN0eWxlcy5wdXNoKFxuICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgICByYWRpdXM6IDEwLFxuICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICBjb2xvcjogJ2JsdWUnLFxuICAgICAgICAgICAgICB3aWR0aDogM1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICBvbFN0eWxlcy5wdXNoKFxuICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICB3aWR0aDogNVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgb2xTdHlsZXMucHVzaChcbiAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiAnYmx1ZScsXG4gICAgICAgICAgICB3aWR0aDogM1xuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcmV0dXJuIG9sU3R5bGVzO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgc3R5bGUgZm9yIHRoZSBwb2ludGVyIHBvc2l0aW9uIGFuZCBpdCdzIGxhYmVsIHN1bW1hcnkuXG4gKiBAcGFyYW0gZmVhdHVyZSBvbEZlYXR1cmVcbiAqIEByZXR1cm5zIE9MIHN0eWxlIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb2ludGVyUG9zaXRpb25TdW1tYXJ5TWFya2VyU3R5bGUoXG4gIGZlYXR1cmU6IG9sRmVhdHVyZTxPbEdlb21ldHJ5PixcbiAgcmVzb2x1dGlvbjogbnVtYmVyXG4pOiBvbFN0eWxlLlN0eWxlIHtcbiAgcmV0dXJuIG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICBpbWFnZTogbmV3IG9sU3R5bGUuSWNvbih7XG4gICAgICBzcmM6ICcuL2Fzc2V0cy9pZ28yL2dlby9pY29ucy9jcm9zc19ibGFja18xOHB4LnN2ZydcbiAgICB9KSxcblxuICAgIHRleHQ6IG5ldyBvbFN0eWxlLlRleHQoe1xuICAgICAgdGV4dDogZmVhdHVyZS5nZXQoJ3BvaW50ZXJTdW1tYXJ5JyksXG4gICAgICB0ZXh0QWxpZ246ICdsZWZ0JyxcbiAgICAgIHRleHRCYXNlbGluZTogJ2JvdHRvbScsXG4gICAgICBmb250OiAnMTJweCBDYWxpYnJpLHNhbnMtc2VyaWYnLFxuICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7IGNvbG9yOiAnIzAwMCcgfSksXG4gICAgICBiYWNrZ3JvdW5kRmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7IGNvbG9yOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpJyB9KSxcbiAgICAgIGJhY2tncm91bmRTdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgIGNvbG9yOiAncmdiYSgyMDAsIDIwMCwgMjAwLCAwLjc1KScsXG4gICAgICAgIHdpZHRoOiAyXG4gICAgICB9KSxcbiAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHsgY29sb3I6ICcjZmZmJywgd2lkdGg6IDMgfSksXG4gICAgICBvdmVyZmxvdzogdHJ1ZSxcbiAgICAgIG9mZnNldFg6IDEwLFxuICAgICAgb2Zmc2V0WTogLTEwLFxuICAgICAgcGFkZGluZzogWzIuNSwgMi41LCAyLjUsIDIuNV1cbiAgICB9KVxuICB9KTtcbn1cbiJdfQ==
@@ -8,11 +8,11 @@ export class IgoStyleListModule {
8
8
  providers: [provideStyleListOptions({}), provideStyleListLoader()]
9
9
  };
10
10
  }
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoStyleListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoStyleListModule });
13
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoStyleListModule });
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoStyleListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IgoStyleListModule });
13
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoStyleListModule });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoStyleListModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IgoStyleListModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [],
@@ -40,10 +40,10 @@ export class StyleListService {
40
40
  });
41
41
  });
42
42
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StyleListService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
44
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StyleListService, providedIn: 'root' });
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StyleListService, deps: [{ token: i1.HttpBackend }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StyleListService, providedIn: 'root' });
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StyleListService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StyleListService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root'
@@ -8,8 +8,8 @@ import { MatFormFieldModule } from '@angular/material/form-field';
8
8
  import { MatIconModule } from '@angular/material/icon';
9
9
  import { MatInputModule } from '@angular/material/input';
10
10
  import { MatSelectModule } from '@angular/material/select';
11
- import { ColorPickerFormFieldComponent } from '@igo2/common';
12
- import { TranslateModule } from '@ngx-translate/core';
11
+ import { ColorPickerFormFieldComponent } from '@igo2/common/color';
12
+ import { IgoLanguageModule } from '@igo2/core/language';
13
13
  import { FontType } from '../../shared/font.enum';
14
14
  import { DrawStyleService } from '../../style-service/draw-style.service';
15
15
  import * as i0 from "@angular/core";
@@ -162,10 +162,10 @@ export class StyleModalDrawingComponent {
162
162
  closePicker() {
163
163
  this.dialogRef.disableClose = false;
164
164
  }
165
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StyleModalDrawingComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }, { token: i3.DrawStyleService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
166
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: StyleModalDrawingComponent, isStandalone: true, selector: "igo-style-modal-drawing", inputs: { confirmFlag: "confirmFlag" }, ngImport: i0, template: "<h2 mat-dialog-title>\n {{ 'igo.geo.style.styleModal' | translate }}\n</h2>\n<div\n class=\"edition-drawing\"\n mat-dialog-content\n [hidden]=\"data.features.length === 0\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"color-picker\">\n <ng-container *ngIf=\"linestringOnly !== true\">\n <span>\n <mat-icon class=\"stroke-palette-icon\">format_color_fill</mat-icon>\n {{ 'igo.geo.style.fill' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"fill\"\n ></igo-color-picker-form-field>\n </ng-container>\n\n <span>\n <mat-icon class=\"stroke-palette-icon\">border_color </mat-icon>\n {{ 'igo.geo.style.stroke' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"stroke\"\n ></igo-color-picker-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureFontSize()\"\n (input)=\"styleModalData.fontSize = $any($event.target).value\"\n />\n <span matTextSuffix>px</span>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"getFeatureFontStyle()\"\n (selectionChange)=\"styleModalData.fontStyle = $event.value\"\n >\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\"\n >\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetX' | translate }}</mat-label>\n <input\n matInput\n #offsetXInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetX()\"\n (input)=\"styleModalData.offsetX = $any($event.target).value\"\n />\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetY' | translate }}</mat-label>\n <input\n matInput\n #offsetYInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetY()\"\n (input)=\"styleModalData.offsetY = $any($event.target).value\"\n />\n </mat-form-field>\n </div>\n </form>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.style.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">OK</button>\n</div>\n", styles: [":host h2{margin:0 0 1px}:host form{padding-top:16px}:host .fill-field,:host .stroke-field{width:140px}:host .color-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;margin-bottom:16px}:host .color-picker span{display:flex;align-items:center}:host .color-picker span mat-icon{margin-right:8px}:host .box{width:25px;height:25px}:host .igo-input-container{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px}:host .igo-form-input-box{width:150px}:host button{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ColorPickerFormFieldComponent, selector: "igo-color-picker-form-field", inputs: ["outputFormat"], outputs: ["colorChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StyleModalDrawingComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.UntypedFormBuilder }, { token: i3.DrawStyleService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: StyleModalDrawingComponent, isStandalone: true, selector: "igo-style-modal-drawing", inputs: { confirmFlag: "confirmFlag" }, ngImport: i0, template: "<h2 mat-dialog-title>\n {{ 'igo.geo.style.styleModal' | translate }}\n</h2>\n<div\n class=\"edition-drawing\"\n mat-dialog-content\n [hidden]=\"data.features.length === 0\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"color-picker\">\n <ng-container *ngIf=\"linestringOnly !== true\">\n <span>\n <mat-icon class=\"stroke-palette-icon\">format_color_fill</mat-icon>\n {{ 'igo.geo.style.fill' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"fill\"\n ></igo-color-picker-form-field>\n </ng-container>\n\n <span>\n <mat-icon class=\"stroke-palette-icon\">border_color </mat-icon>\n {{ 'igo.geo.style.stroke' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"stroke\"\n ></igo-color-picker-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureFontSize()\"\n (input)=\"styleModalData.fontSize = $any($event.target).value\"\n />\n <span matTextSuffix>px</span>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"getFeatureFontStyle()\"\n (selectionChange)=\"styleModalData.fontStyle = $event.value\"\n >\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\"\n >\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetX' | translate }}</mat-label>\n <input\n matInput\n #offsetXInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetX()\"\n (input)=\"styleModalData.offsetX = $any($event.target).value\"\n />\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetY' | translate }}</mat-label>\n <input\n matInput\n #offsetYInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetY()\"\n (input)=\"styleModalData.offsetY = $any($event.target).value\"\n />\n </mat-form-field>\n </div>\n </form>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.style.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">OK</button>\n</div>\n", styles: [":host h2{margin:0 0 1px}:host form{padding-top:16px}:host .fill-field,:host .stroke-field{width:140px}:host .color-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;margin-bottom:16px}:host .color-picker span{display:flex;align-items:center}:host .color-picker span mat-icon{margin-right:8px}:host .box{width:25px;height:25px}:host .igo-input-container{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px}:host .igo-form-input-box{width:150px}:host button{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ColorPickerFormFieldComponent, selector: "igo-color-picker-form-field", inputs: ["outputFormat"], outputs: ["colorChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] });
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StyleModalDrawingComponent, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: StyleModalDrawingComponent, decorators: [{
169
169
  type: Component,
170
170
  args: [{ selector: 'igo-style-modal-drawing', standalone: true, imports: [
171
171
  MatDialogTitle,
@@ -182,7 +182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
182
182
  MatOptionModule,
183
183
  MatDialogActions,
184
184
  MatButtonModule,
185
- TranslateModule
185
+ IgoLanguageModule
186
186
  ], template: "<h2 mat-dialog-title>\n {{ 'igo.geo.style.styleModal' | translate }}\n</h2>\n<div\n class=\"edition-drawing\"\n mat-dialog-content\n [hidden]=\"data.features.length === 0\"\n>\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"color-picker\">\n <ng-container *ngIf=\"linestringOnly !== true\">\n <span>\n <mat-icon class=\"stroke-palette-icon\">format_color_fill</mat-icon>\n {{ 'igo.geo.style.fill' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"fill\"\n ></igo-color-picker-form-field>\n </ng-container>\n\n <span>\n <mat-icon class=\"stroke-palette-icon\">border_color </mat-icon>\n {{ 'igo.geo.style.stroke' | translate }}\n </span>\n\n <igo-color-picker-form-field\n formControlName=\"stroke\"\n ></igo-color-picker-form-field>\n </div>\n\n <div class=\"igo-input-container\">\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontSize' | translate }}</mat-label>\n <input\n matInput\n #testFontSize\n type=\"number\"\n placeholder=\"10\"\n min=\"10\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureFontSize()\"\n (input)=\"styleModalData.fontSize = $any($event.target).value\"\n />\n <span matTextSuffix>px</span>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.fontStyle' | translate }}</mat-label>\n <mat-select\n #testFontStyle\n [value]=\"getFeatureFontStyle()\"\n (selectionChange)=\"styleModalData.fontStyle = $event.value\"\n >\n <mat-option\n *ngFor=\"let fontSelect of allFontStyles\"\n [value]=\"fontSelect\"\n >\n {{ fontSelect }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetX' | translate }}</mat-label>\n <input\n matInput\n #offsetXInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetX()\"\n (input)=\"styleModalData.offsetX = $any($event.target).value\"\n />\n </mat-form-field>\n <mat-form-field class=\"igo-form-input-box\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'igo.geo.style.offsetY' | translate }}</mat-label>\n <input\n matInput\n #offsetYInput\n type=\"number\"\n onkeydown=\"return event.keyCode !== 69\"\n [value]=\"getFeatureOffsetY()\"\n (input)=\"styleModalData.offsetY = $any($event.target).value\"\n />\n </mat-form-field>\n </div>\n </form>\n</div>\n<div mat-dialog-actions>\n <button mat-raised-button (click)=\"cancelDrawing()\">\n {{ 'igo.geo.style.cancel' | translate }}\n </button>\n <button mat-raised-button color=\"primary\" (click)=\"confirm()\">OK</button>\n</div>\n", styles: [":host h2{margin:0 0 1px}:host form{padding-top:16px}:host .fill-field,:host .stroke-field{width:140px}:host .color-picker{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:16px;margin-bottom:16px}:host .color-picker span{display:flex;align-items:center}:host .color-picker span mat-icon{margin-right:8px}:host .box{width:25px;height:25px}:host .igo-input-container{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px}:host .igo-form-input-box{width:150px}:host button{margin-right:5px}\n"] }]
187
187
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: i2.UntypedFormBuilder }, { type: i3.DrawStyleService }, { type: undefined, decorators: [{
188
188
  type: Inject,
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
190
190
  }] }], propDecorators: { confirmFlag: [{
191
191
  type: Input
192
192
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9kcmF3aW5nL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUNMLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0QsT0FBTyxF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LGFBQWE7d0JBQ2IsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCOzswQkFjRSxNQUFNOzJCQUFDLGVBQWU7eUNBWGhCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFVudHlwZWRGb3JtQnVpbGRlcixcbiAgVW50eXBlZEZvcm1Hcm91cFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge1xuICBNQVRfRElBTE9HX0RBVEEsXG4gIE1hdERpYWxvZ0FjdGlvbnMsXG4gIE1hdERpYWxvZ0NvbnRlbnQsXG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nVGl0bGVcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5pbXBvcnQgeyBDb2xvclBpY2tlckZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBGb250VHlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb250LmVudW0nO1xuaW1wb3J0IHsgRHJhd1N0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3N0eWxlLXNlcnZpY2UvZHJhdy1zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIERyYXdpbmdNYXREaWFsb2dEYXRhLFxuICBTdHlsZU1vZGFsRGF0YVxufSBmcm9tICcuLi9zaGFyZWQvc3R5bGUtbW9kYWwuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLXN0eWxlLW1vZGFsLWRyYXdpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdERpYWxvZ1RpdGxlLFxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ0lmLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgQ29sb3JQaWNrZXJGb3JtRmllbGRDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBOZ0ZvcixcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nQWN0aW9ucyxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb25maXJtRmxhZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBzdHlsZU1vZGFsRGF0YTogU3R5bGVNb2RhbERhdGE7XG4gIHB1YmxpYyBsaW5lc3RyaW5nT25seTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQ+LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRyYXdTdHlsZVNlcnZpY2U6IERyYXdTdHlsZVNlcnZpY2UsXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBEcmF3aW5nTWF0RGlhbG9nRGF0YVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saW5lc3RyaW5nT25seSA9IHRydWU7XG4gICAgZm9yIChjb25zdCBmZWF0dXJlIG9mIHRoaXMuZGF0YS5mZWF0dXJlcykge1xuICAgICAgaWYgKGZlYXR1cmUuZ2VvbWV0cnkudHlwZSAhPT0gJ0xpbmVTdHJpbmcnKSB7XG4gICAgICAgIHRoaXMubGluZXN0cmluZ09ubHkgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5idWlsZFN0eWxlRGF0YSgpO1xuICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybSgpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGZpbGw6IFt0aGlzLmdldEZlYXR1cmVGaWxsQ29sb3IoKV0sXG4gICAgICBzdHJva2U6IFt0aGlzLmdldEZlYXR1cmVTdHJva2VDb2xvcigpXVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFN0eWxlRGF0YSgpIHtcbiAgICB0aGlzLnN0eWxlTW9kYWxEYXRhID0ge1xuICAgICAgZmlsbENvbG9yOlxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZHJhd2luZ1N0eWxlLmZpbGxcbiAgICAgICAgICA6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknLFxuICAgICAgc3Ryb2tlQ29sb3I6XG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5kcmF3aW5nU3R5bGUuc3Ryb2tlXG4gICAgICAgICAgOiAncmdiYSgxNDMsNyw3LDEpJyxcbiAgICAgIGZvbnRTaXplOlxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlXG4gICAgICAgICAgICAgIC5zcGxpdCgnICcpWzBdXG4gICAgICAgICAgICAgIC5yZXBsYWNlKCdweCcsICcnKVxuICAgICAgICAgIDogJzIwJyxcbiAgICAgIGZvbnRTdHlsZTpcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZS5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZS5pbmRleE9mKCcgJykgKyAxXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBGb250VHlwZS5BcmlhbCxcbiAgICAgIG9mZnNldFg6XG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5vZmZzZXRYXG4gICAgICAgICAgOiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0T2Zmc2V0WCgpLFxuICAgICAgb2Zmc2V0WTpcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLm9mZnNldFlcbiAgICAgICAgICA6IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRPZmZzZXRZKClcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGFsbEZvbnRTdHlsZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKEZvbnRUeXBlKTtcbiAgfVxuXG4gIGdldEZlYXR1cmVGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5mb250U2l6ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlXG4gICAgICAgICAgICAuc3BsaXQoJyAnKVswXVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3B4JywgJycpXG4gICAgICAgIDogJzIwJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEuZm9udFNpemU7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmVhdHVyZUZvbnRTdHlsZSgpIHtcbiAgICBpZiAoIXRoaXMuc3R5bGVNb2RhbERhdGEuZm9udFN0eWxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5mb250U3R5bGUuc3Vic3RyaW5nKFxuICAgICAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlLmluZGV4T2YoJyAnKSArIDFcbiAgICAgICAgICApXG4gICAgICAgIDogRm9udFR5cGUuQXJpYWw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLmZvbnRTdHlsZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVGaWxsQ29sb3IoKSB7XG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLmZpbGxDb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZHJhd2luZ1N0eWxlLmZpbGxcbiAgICAgICAgOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEuZmlsbENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmVhdHVyZVN0cm9rZUNvbG9yKCkge1xuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5zdHJva2VDb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZHJhd2luZ1N0eWxlLnN0cm9rZVxuICAgICAgICA6ICdyZ2JhKDE0Myw3LDcsMSknO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5zdHJva2VDb2xvcjtcbiAgICB9XG4gIH1cblxuICBnZXRGZWF0dXJlT2Zmc2V0WCgpIHtcbiAgICBpZiAoIXRoaXMuc3R5bGVNb2RhbERhdGEub2Zmc2V0WCkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMub2Zmc2V0WFxuICAgICAgICA6IHRoaXMuZHJhd1N0eWxlU2VydmljZS5nZXRPZmZzZXRYKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLm9mZnNldFg7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmVhdHVyZU9mZnNldFkoKSB7XG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLm9mZnNldFkpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLm9mZnNldFlcbiAgICAgICAgOiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0T2Zmc2V0WSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5vZmZzZXRZO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbERyYXdpbmcoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jb25maXJtRmxhZyA9IHRydWU7XG4gICAgaWYgKHRoaXMuZm9ybS5nZXQoJ2ZpbGwnKS52YWx1ZSkge1xuICAgICAgdGhpcy5zdHlsZU1vZGFsRGF0YS5maWxsQ29sb3IgPSB0aGlzLmZvcm0uZ2V0KCdmaWxsJykudmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9ybS5nZXQoJ3N0cm9rZScpLnZhbHVlKSB7XG4gICAgICB0aGlzLnN0eWxlTW9kYWxEYXRhLnN0cm9rZUNvbG9yID0gdGhpcy5mb3JtLmdldCgnc3Ryb2tlJykudmFsdWU7XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuc3R5bGVNb2RhbERhdGEpO1xuICB9XG5cbiAgb3BlblBpY2tlcigpIHtcbiAgICB0aGlzLmRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICB9XG5cbiAgY2xvc2VQaWNrZXIoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlPlxuICB7eyAnaWdvLmdlby5zdHlsZS5zdHlsZU1vZGFsJyB8IHRyYW5zbGF0ZSB9fVxuPC9oMj5cbjxkaXZcbiAgY2xhc3M9XCJlZGl0aW9uLWRyYXdpbmdcIlxuICBtYXQtZGlhbG9nLWNvbnRlbnRcbiAgW2hpZGRlbl09XCJkYXRhLmZlYXR1cmVzLmxlbmd0aCA9PT0gMFwiXG4+XG4gIDxmb3JtIGNsYXNzPVwiaWdvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sb3ItcGlja2VyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGluZXN0cmluZ09ubHkgIT09IHRydWVcIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3Ryb2tlLXBhbGV0dGUtaWNvblwiPmZvcm1hdF9jb2xvcl9maWxsPC9tYXQtaWNvbj5cbiAgICAgICAgICB7eyAnaWdvLmdlby5zdHlsZS5maWxsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGlnby1jb2xvci1waWNrZXItZm9ybS1maWVsZFxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImZpbGxcIlxuICAgICAgICA+PC9pZ28tY29sb3ItcGlja2VyLWZvcm0tZmllbGQ+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHNwYW4+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN0cm9rZS1wYWxldHRlLWljb25cIj5ib3JkZXJfY29sb3IgPC9tYXQtaWNvbj5cbiAgICAgICAge3sgJ2lnby5nZW8uc3R5bGUuc3Ryb2tlJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8aWdvLWNvbG9yLXBpY2tlci1mb3JtLWZpZWxkXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0cm9rZVwiXG4gICAgICA+PC9pZ28tY29sb3ItcGlja2VyLWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaWdvLWlucHV0LWNvbnRhaW5lclwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaWdvLWZvcm0taW5wdXQtYm94XCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdpZ28uZ2VvLnN0eWxlLmZvbnRTaXplJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICN0ZXN0Rm9udFNpemVcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIjEwXCJcbiAgICAgICAgICBtaW49XCIxMFwiXG4gICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDY5XCJcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0RmVhdHVyZUZvbnRTaXplKClcIlxuICAgICAgICAgIChpbnB1dCk9XCJzdHlsZU1vZGFsRGF0YS5mb250U2l6ZSA9ICRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWVcIlxuICAgICAgICAvPlxuICAgICAgICA8c3BhbiBtYXRUZXh0U3VmZml4PnB4PC9zcGFuPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1mb3JtLWlucHV0LWJveFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zdHlsZS5mb250U3R5bGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0XG4gICAgICAgICAgI3Rlc3RGb250U3R5bGVcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0RmVhdHVyZUZvbnRTdHlsZSgpXCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInN0eWxlTW9kYWxEYXRhLmZvbnRTdHlsZSA9ICRldmVudC52YWx1ZVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZvbnRTZWxlY3Qgb2YgYWxsRm9udFN0eWxlc1wiXG4gICAgICAgICAgICBbdmFsdWVdPVwiZm9udFNlbGVjdFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgZm9udFNlbGVjdCB9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1mb3JtLWlucHV0LWJveFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zdHlsZS5vZmZzZXRYJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICNvZmZzZXRYSW5wdXRcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gNjlcIlxuICAgICAgICAgIFt2YWx1ZV09XCJnZXRGZWF0dXJlT2Zmc2V0WCgpXCJcbiAgICAgICAgICAoaW5wdXQpPVwic3R5bGVNb2RhbERhdGEub2Zmc2V0WCA9ICRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWVcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1mb3JtLWlucHV0LWJveFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zdHlsZS5vZmZzZXRZJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICNvZmZzZXRZSW5wdXRcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gNjlcIlxuICAgICAgICAgIFt2YWx1ZV09XCJnZXRGZWF0dXJlT2Zmc2V0WSgpXCJcbiAgICAgICAgICAoaW5wdXQpPVwic3R5bGVNb2RhbERhdGEub2Zmc2V0WSA9ICRhbnkoJGV2ZW50LnRhcmdldCkudmFsdWVcIlxuICAgICAgICAvPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsRHJhd2luZygpXCI+XG4gICAge3sgJ2lnby5nZW8uc3R5bGUuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiY29uZmlybSgpXCI+T0s8L2J1dHRvbj5cbjwvZGl2PlxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zdHlsZS9zdHlsZS1tb2RhbC9kcmF3aW5nL3N0eWxlLW1vZGFsLWRyYXdpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUVuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUNMLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFP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O3dCQUNKLGFBQWE7d0JBQ2IsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixLQUFLO3dCQUNMLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDbEI7OzBCQWNFLE1BQU07MkJBQUMsZUFBZTt5Q0FYaEIsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3Jtc01vZHVsZSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVW50eXBlZEZvcm1CdWlsZGVyLFxuICBVbnR5cGVkRm9ybUdyb3VwXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIE1BVF9ESUFMT0dfREFUQSxcbiAgTWF0RGlhbG9nQWN0aW9ucyxcbiAgTWF0RGlhbG9nQ29udGVudCxcbiAgTWF0RGlhbG9nUmVmLFxuICBNYXREaWFsb2dUaXRsZVxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IENvbG9yUGlja2VyRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGlnbzIvY29tbW9uL2NvbG9yJztcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZS9sYW5ndWFnZSc7XG5cbmltcG9ydCB7IEZvbnRUeXBlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2ZvbnQuZW51bSc7XG5pbXBvcnQgeyBEcmF3U3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc3R5bGUtc2VydmljZS9kcmF3LXN0eWxlLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRHJhd2luZ01hdERpYWxvZ0RhdGEsXG4gIFN0eWxlTW9kYWxEYXRhXG59IGZyb20gJy4uL3NoYXJlZC9zdHlsZS1tb2RhbC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tc3R5bGUtbW9kYWwtZHJhd2luZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0RGlhbG9nVGl0bGUsXG4gICAgTWF0RGlhbG9nQ29udGVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nSWYsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBDb2xvclBpY2tlckZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE5nRm9yLFxuICAgIE1hdE9wdGlvbk1vZHVsZSxcbiAgICBNYXREaWFsb2dBY3Rpb25zLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBJZ29MYW5ndWFnZU1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFN0eWxlTW9kYWxEcmF3aW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlybUZsYWc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcblxuICBwdWJsaWMgc3R5bGVNb2RhbERhdGE6IFN0eWxlTW9kYWxEYXRhO1xuICBwdWJsaWMgbGluZXN0cmluZ09ubHk6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFN0eWxlTW9kYWxEcmF3aW5nQ29tcG9uZW50PixcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBkcmF3U3R5bGVTZXJ2aWNlOiBEcmF3U3R5bGVTZXJ2aWNlLFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRHJhd2luZ01hdERpYWxvZ0RhdGFcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGluZXN0cmluZ09ubHkgPSB0cnVlO1xuICAgIGZvciAoY29uc3QgZmVhdHVyZSBvZiB0aGlzLmRhdGEuZmVhdHVyZXMpIHtcbiAgICAgIGlmIChmZWF0dXJlLmdlb21ldHJ5LnR5cGUgIT09ICdMaW5lU3RyaW5nJykge1xuICAgICAgICB0aGlzLmxpbmVzdHJpbmdPbmx5ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYnVpbGRTdHlsZURhdGEoKTtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZvcm0oKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBmaWxsOiBbdGhpcy5nZXRGZWF0dXJlRmlsbENvbG9yKCldLFxuICAgICAgc3Ryb2tlOiBbdGhpcy5nZXRGZWF0dXJlU3Ryb2tlQ29sb3IoKV1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRTdHlsZURhdGEoKSB7XG4gICAgdGhpcy5zdHlsZU1vZGFsRGF0YSA9IHtcbiAgICAgIGZpbGxDb2xvcjpcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmRyYXdpbmdTdHlsZS5maWxsXG4gICAgICAgICAgOiAncmdiYSgyNTUsMjU1LDI1NSwwLjQpJyxcbiAgICAgIHN0cm9rZUNvbG9yOlxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZHJhd2luZ1N0eWxlLnN0cm9rZVxuICAgICAgICAgIDogJ3JnYmEoMTQzLDcsNywxKScsXG4gICAgICBmb250U2l6ZTpcbiAgICAgICAgdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZVxuICAgICAgICAgICAgICAuc3BsaXQoJyAnKVswXVxuICAgICAgICAgICAgICAucmVwbGFjZSgncHgnLCAnJylcbiAgICAgICAgICA6ICcyMCcsXG4gICAgICBmb250U3R5bGU6XG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5mb250U3R5bGUuc3Vic3RyaW5nKFxuICAgICAgICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5mb250U3R5bGUuaW5kZXhPZignICcpICsgMVxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogRm9udFR5cGUuQXJpYWwsXG4gICAgICBvZmZzZXRYOlxuICAgICAgICB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMub2Zmc2V0WFxuICAgICAgICAgIDogdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldE9mZnNldFgoKSxcbiAgICAgIG9mZnNldFk6XG4gICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5vZmZzZXRZXG4gICAgICAgICAgOiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0T2Zmc2V0WSgpXG4gICAgfTtcbiAgfVxuXG4gIGdldCBhbGxGb250U3R5bGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhGb250VHlwZSk7XG4gIH1cblxuICBnZXRGZWF0dXJlRm9udFNpemUoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuc3R5bGVNb2RhbERhdGEuZm9udFNpemUpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZVxuICAgICAgICAgICAgLnNwbGl0KCcgJylbMF1cbiAgICAgICAgICAgIC5yZXBsYWNlKCdweCcsICcnKVxuICAgICAgICA6ICcyMCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLmZvbnRTaXplO1xuICAgIH1cbiAgfVxuXG4gIGdldEZlYXR1cmVGb250U3R5bGUoKSB7XG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLmZvbnRTdHlsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGF0YS5mZWF0dXJlcy5sZW5ndGggPiAwXG4gICAgICAgID8gdGhpcy5kYXRhLmZlYXR1cmVzWzBdLnByb3BlcnRpZXMuZm9udFN0eWxlLnN1YnN0cmluZyhcbiAgICAgICAgICAgIHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmZvbnRTdHlsZS5pbmRleE9mKCcgJykgKyAxXG4gICAgICAgICAgKVxuICAgICAgICA6IEZvbnRUeXBlLkFyaWFsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5mb250U3R5bGU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGZWF0dXJlRmlsbENvbG9yKCkge1xuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5maWxsQ29sb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmRyYXdpbmdTdHlsZS5maWxsXG4gICAgICAgIDogJ3JnYmEoMjU1LDI1NSwyNTUsMC40KSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnN0eWxlTW9kYWxEYXRhLmZpbGxDb2xvcjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEZlYXR1cmVTdHJva2VDb2xvcigpIHtcbiAgICBpZiAoIXRoaXMuc3R5bGVNb2RhbERhdGEuc3Ryb2tlQ29sb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLmRyYXdpbmdTdHlsZS5zdHJva2VcbiAgICAgICAgOiAncmdiYSgxNDMsNyw3LDEpJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEuc3Ryb2tlQ29sb3I7XG4gICAgfVxuICB9XG5cbiAgZ2V0RmVhdHVyZU9mZnNldFgoKSB7XG4gICAgaWYgKCF0aGlzLnN0eWxlTW9kYWxEYXRhLm9mZnNldFgpIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuZmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMuZGF0YS5mZWF0dXJlc1swXS5wcm9wZXJ0aWVzLm9mZnNldFhcbiAgICAgICAgOiB0aGlzLmRyYXdTdHlsZVNlcnZpY2UuZ2V0T2Zmc2V0WCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHlsZU1vZGFsRGF0YS5vZmZzZXRYO1xuICAgIH1cbiAgfVxuXG4gIGdldEZlYXR1cmVPZmZzZXRZKCkge1xuICAgIGlmICghdGhpcy5zdHlsZU1vZGFsRGF0YS5vZmZzZXRZKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRhLmZlYXR1cmVzLmxlbmd0aCA+IDBcbiAgICAgICAgPyB0aGlzLmRhdGEuZmVhdHVyZXNbMF0ucHJvcGVydGllcy5vZmZzZXRZXG4gICAgICAgIDogdGhpcy5kcmF3U3R5bGVTZXJ2aWNlLmdldE9mZnNldFkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc3R5bGVNb2RhbERhdGEub2Zmc2V0WTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWxEcmF3aW5nKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gIH1cblxuICBjb25maXJtKCkge1xuICAgIHRoaXMuY29uZmlybUZsYWcgPSB0cnVlO1xuICAgIGlmICh0aGlzLmZvcm0uZ2V0KCdmaWxsJykudmFsdWUpIHtcbiAgICAgIHRoaXMuc3R5bGVNb2RhbERhdGEuZmlsbENvbG9yID0gdGhpcy5mb3JtLmdldCgnZmlsbCcpLnZhbHVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm0uZ2V0KCdzdHJva2UnKS52YWx1ZSkge1xuICAgICAgdGhpcy5zdHlsZU1vZGFsRGF0YS5zdHJva2VDb2xvciA9IHRoaXMuZm9ybS5nZXQoJ3N0cm9rZScpLnZhbHVlO1xuICAgIH1cbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0aGlzLnN0eWxlTW9kYWxEYXRhKTtcbiAgfVxuXG4gIG9wZW5QaWNrZXIoKSB7XG4gICAgdGhpcy5kaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcbiAgfVxuXG4gIGNsb3NlUGlja2VyKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT5cbiAge3sgJ2lnby5nZW8uc3R5bGUuc3R5bGVNb2RhbCcgfCB0cmFuc2xhdGUgfX1cbjwvaDI+XG48ZGl2XG4gIGNsYXNzPVwiZWRpdGlvbi1kcmF3aW5nXCJcbiAgbWF0LWRpYWxvZy1jb250ZW50XG4gIFtoaWRkZW5dPVwiZGF0YS5mZWF0dXJlcy5sZW5ndGggPT09IDBcIlxuPlxuICA8Zm9ybSBjbGFzcz1cImlnby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yLXBpY2tlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmVzdHJpbmdPbmx5ICE9PSB0cnVlXCI+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN0cm9rZS1wYWxldHRlLWljb25cIj5mb3JtYXRfY29sb3JfZmlsbDwvbWF0LWljb24+XG4gICAgICAgICAge3sgJ2lnby5nZW8uc3R5bGUuZmlsbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxpZ28tY29sb3ItcGlja2VyLWZvcm0tZmllbGRcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJmaWxsXCJcbiAgICAgICAgPjwvaWdvLWNvbG9yLXBpY2tlci1mb3JtLWZpZWxkPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxzcGFuPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdHJva2UtcGFsZXR0ZS1pY29uXCI+Ym9yZGVyX2NvbG9yIDwvbWF0LWljb24+XG4gICAgICAgIHt7ICdpZ28uZ2VvLnN0eWxlLnN0cm9rZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPGlnby1jb2xvci1waWNrZXItZm9ybS1maWVsZFxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdHJva2VcIlxuICAgICAgPjwvaWdvLWNvbG9yLXBpY2tlci1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImlnby1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImlnby1mb3JtLWlucHV0LWJveFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnaWdvLmdlby5zdHlsZS5mb250U2l6ZScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAjdGVzdEZvbnRTaXplXG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCIxMFwiXG4gICAgICAgICAgbWluPVwiMTBcIlxuICAgICAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSA2OVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImdldEZlYXR1cmVGb250U2l6ZSgpXCJcbiAgICAgICAgICAoaW5wdXQpPVwic3R5bGVNb2RhbERhdGEuZm9udFNpemUgPSAkYW55KCRldmVudC50YXJnZXQpLnZhbHVlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4gbWF0VGV4dFN1ZmZpeD5weDwvc3Bhbj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpZ28tZm9ybS1pbnB1dC1ib3hcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uc3R5bGUuZm9udFN0eWxlJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICN0ZXN0Rm9udFN0eWxlXG4gICAgICAgICAgW3ZhbHVlXT1cImdldEZlYXR1cmVGb250U3R5bGUoKVwiXG4gICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzdHlsZU1vZGFsRGF0YS5mb250U3R5bGUgPSAkZXZlbnQudmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmb250U2VsZWN0IG9mIGFsbEZvbnRTdHlsZXNcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cImZvbnRTZWxlY3RcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGZvbnRTZWxlY3QgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpZ28tZm9ybS1pbnB1dC1ib3hcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uc3R5bGUub2Zmc2V0WCcgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAjb2Zmc2V0WElucHV0XG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDY5XCJcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0RmVhdHVyZU9mZnNldFgoKVwiXG4gICAgICAgICAgKGlucHV0KT1cInN0eWxlTW9kYWxEYXRhLm9mZnNldFggPSAkYW55KCRldmVudC50YXJnZXQpLnZhbHVlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpZ28tZm9ybS1pbnB1dC1ib3hcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ2lnby5nZW8uc3R5bGUub2Zmc2V0WScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAjb2Zmc2V0WUlucHV0XG4gICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDY5XCJcbiAgICAgICAgICBbdmFsdWVdPVwiZ2V0RmVhdHVyZU9mZnNldFkoKVwiXG4gICAgICAgICAgKGlucHV0KT1cInN0eWxlTW9kYWxEYXRhLm9mZnNldFkgPSAkYW55KCRldmVudC50YXJnZXQpLnZhbHVlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImNhbmNlbERyYXdpbmcoKVwiPlxuICAgIHt7ICdpZ28uZ2VvLnN0eWxlLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPk9LPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==