@igo2/geo 16.3.0 → 17.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +30 -14
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +35 -17
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +18 -11
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +8 -62
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +49 -20
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +22 -10
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +32 -16
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +8 -71
  9. package/esm2022/lib/catalog/catalog-library/index.mjs +9 -0
  10. package/esm2022/lib/catalog/catalog.module.mjs +9 -37
  11. package/esm2022/lib/catalog/index.mjs +7 -1
  12. package/esm2022/lib/catalog/shared/catalog.service.mjs +16 -9
  13. package/esm2022/lib/catalog/shared/index.mjs +1 -1
  14. package/esm2022/lib/datasource/index.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/capabilities.service.mjs +5 -5
  16. package/esm2022/lib/datasource/shared/datasource.service.mjs +11 -13
  17. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  18. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/data.service.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  24. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  30. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  31. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.interface.mjs +1 -1
  32. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  35. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  36. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +1 -1
  37. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  39. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  40. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/index.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  43. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +6 -6
  44. package/esm2022/lib/datasource/shared/options/options.service.mjs +1 -1
  45. package/esm2022/lib/datasource/utils/tilegrid.mjs +1 -1
  46. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +28 -13
  47. package/esm2022/lib/directions/directions-buttons/index.mjs +1 -1
  48. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +44 -19
  49. package/esm2022/lib/directions/directions-inputs/index.mjs +1 -1
  50. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +36 -16
  51. package/esm2022/lib/directions/directions-results/index.mjs +1 -1
  52. package/esm2022/lib/directions/directions-sources/directions-source.provider.mjs +2 -2
  53. package/esm2022/lib/directions/directions-sources/index.mjs +1 -1
  54. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +7 -7
  55. package/esm2022/lib/directions/directions.component.mjs +20 -12
  56. package/esm2022/lib/directions/directions.module.mjs +17 -70
  57. package/esm2022/lib/directions/index.mjs +1 -1
  58. package/esm2022/lib/directions/shared/directions-source.service.mjs +1 -1
  59. package/esm2022/lib/directions/shared/directions.enum.mjs +1 -1
  60. package/esm2022/lib/directions/shared/directions.service.mjs +13 -9
  61. package/esm2022/lib/directions/shared/directions.utils.mjs +1 -1
  62. package/esm2022/lib/directions/shared/index.mjs +1 -1
  63. package/esm2022/lib/download/download-button/download-button.component.mjs +21 -11
  64. package/esm2022/lib/download/download-button/index.mjs +1 -1
  65. package/esm2022/lib/download/download.module.mjs +10 -27
  66. package/esm2022/lib/download/index.mjs +1 -1
  67. package/esm2022/lib/download/shared/download.interface.mjs +1 -1
  68. package/esm2022/lib/download/shared/download.service.mjs +7 -7
  69. package/esm2022/lib/download/shared/index.mjs +1 -1
  70. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +21 -10
  71. package/esm2022/lib/draw/draw/draw-popup.component.mjs +41 -18
  72. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +19 -9
  73. package/esm2022/lib/draw/draw/draw.component.mjs +54 -24
  74. package/esm2022/lib/draw/draw/draw.module.mjs +7 -104
  75. package/esm2022/lib/draw/drawingTool.module.mjs +8 -7
  76. package/esm2022/lib/draw/index.mjs +1 -1
  77. package/esm2022/lib/draw/shared/draw-icon.service.mjs +7 -7
  78. package/esm2022/lib/draw/shared/draw.utils.mjs +1 -1
  79. package/esm2022/lib/draw/shared/index.mjs +1 -1
  80. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +28 -13
  81. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +8 -7
  82. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +8 -27
  83. package/esm2022/lib/feature/feature-details/index.mjs +9 -0
  84. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +8 -8
  85. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +8 -11
  86. package/esm2022/lib/feature/feature.module.mjs +9 -10
  87. package/esm2022/lib/feature/index.mjs +8 -2
  88. package/esm2022/lib/feature/shared/feature-store.utils.mjs +1 -1
  89. package/esm2022/lib/feature/shared/feature.enums.mjs +1 -1
  90. package/esm2022/lib/feature/shared/feature.utils.mjs +1 -1
  91. package/esm2022/lib/feature/shared/store.mjs +1 -1
  92. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +1 -1
  93. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +1 -1
  94. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +1 -1
  95. package/esm2022/lib/feature/shared/strategies/index.mjs +1 -1
  96. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  97. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  98. package/esm2022/lib/feature/shared/strategies/search.mjs +4 -4
  99. package/esm2022/lib/feature/shared/strategies/selection.mjs +1 -1
  100. package/esm2022/lib/feature/shared/strategies.utils.mjs +1 -1
  101. package/esm2022/lib/filter/filter.module.mjs +47 -177
  102. package/esm2022/lib/filter/index.mjs +36 -1
  103. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +29 -15
  104. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +46 -20
  105. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +54 -23
  106. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +13 -10
  107. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +45 -18
  108. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +18 -12
  109. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +42 -18
  110. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +8 -7
  111. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +21 -12
  112. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +6 -5
  113. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +5 -5
  114. package/esm2022/lib/filter/shared/ogc-filter.enum.mjs +1 -1
  115. package/esm2022/lib/filter/shared/ogc-filter.mjs +1 -1
  116. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +5 -5
  117. package/esm2022/lib/filter/shared/spatial-filter.enum.mjs +1 -1
  118. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +9 -7
  119. package/esm2022/lib/filter/shared/time-filter.enum.mjs +1 -1
  120. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  121. package/esm2022/lib/filter/shared/time-filter.service.mjs +5 -5
  122. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +66 -28
  123. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +34 -17
  124. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +34 -15
  125. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +28 -14
  126. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +47 -20
  127. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +31 -13
  128. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +8 -7
  129. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +16 -10
  130. package/esm2022/lib/geo.module.mjs +5 -43
  131. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  132. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +33 -16
  133. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +8 -43
  134. package/esm2022/lib/geometry/geometry-form-field/index.mjs +9 -0
  135. package/esm2022/lib/geometry/geometry.module.mjs +9 -10
  136. package/esm2022/lib/geometry/index.mjs +2 -3
  137. package/esm2022/lib/geometry/shared/controls/draw.mjs +1 -1
  138. package/esm2022/lib/geometry/shared/controls/index.mjs +1 -1
  139. package/esm2022/lib/geometry/shared/controls/modify.mjs +1 -1
  140. package/esm2022/lib/geometry/shared/controls/slice.mjs +1 -1
  141. package/esm2022/lib/geometry/shared/geometry.utils.mjs +1 -1
  142. package/esm2022/lib/geometry/shared/index.mjs +1 -1
  143. package/esm2022/lib/import-export/export-button/export-button.component.mjs +20 -10
  144. package/esm2022/lib/import-export/export-button/index.mjs +1 -1
  145. package/esm2022/lib/import-export/import-export/import-export.component.mjs +56 -22
  146. package/esm2022/lib/import-export/import-export/index.mjs +1 -1
  147. package/esm2022/lib/import-export/import-export.module.mjs +10 -81
  148. package/esm2022/lib/import-export/index.mjs +9 -1
  149. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +13 -10
  150. package/esm2022/lib/import-export/shared/export.errors.mjs +1 -1
  151. package/esm2022/lib/import-export/shared/export.service.mjs +7 -7
  152. package/esm2022/lib/import-export/shared/export.utils.mjs +1 -1
  153. package/esm2022/lib/import-export/shared/import.service.mjs +7 -7
  154. package/esm2022/lib/import-export/shared/import.utils.mjs +1 -1
  155. package/esm2022/lib/import-export/shared/index.mjs +1 -1
  156. package/esm2022/lib/layer/index.mjs +19 -1
  157. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +35 -16
  158. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +43 -17
  159. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +13 -11
  160. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +8 -7
  161. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +28 -13
  162. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +10 -9
  163. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +48 -18
  164. package/esm2022/lib/layer/layer-list/layer-list.enum.mjs +1 -1
  165. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +33 -14
  166. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +5 -5
  167. package/esm2022/lib/layer/layer.module.mjs +16 -93
  168. package/esm2022/lib/layer/shared/clusterParam.mjs +1 -1
  169. package/esm2022/lib/layer/shared/layer.service.mjs +8 -8
  170. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  171. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  172. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  173. package/esm2022/lib/layer/shared/layers/index.mjs +1 -1
  174. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  175. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  176. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  177. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +1 -1
  178. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  179. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +21 -11
  180. package/esm2022/lib/layer/utils/image-watcher.mjs +1 -1
  181. package/esm2022/lib/layer/utils/layer.utils.mjs +1 -1
  182. package/esm2022/lib/layer/utils/outputLegend.mjs +1 -1
  183. package/esm2022/lib/layer/utils/tile-watcher.mjs +1 -1
  184. package/esm2022/lib/layer/utils/vector-watcher.mjs +1 -1
  185. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +27 -14
  186. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +8 -8
  187. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +24 -13
  188. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +15 -11
  189. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +1 -1
  190. package/esm2022/lib/map/home-extent-button/index.mjs +1 -1
  191. package/esm2022/lib/map/index.mjs +32 -1
  192. package/esm2022/lib/map/info-section/info-section.component.mjs +7 -7
  193. package/esm2022/lib/map/map-browser/map-browser.component.mjs +8 -8
  194. package/esm2022/lib/map/map-center/map-center.component.mjs +6 -6
  195. package/esm2022/lib/map/map.module.mjs +36 -66
  196. package/esm2022/lib/map/menu-button/menu-button.component.mjs +23 -13
  197. package/esm2022/lib/map/offline-button/offline-button.component.mjs +21 -11
  198. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +23 -11
  199. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  200. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  201. package/esm2022/lib/map/shared/controllers/geolocation.mjs +1 -1
  202. package/esm2022/lib/map/shared/controllers/index.mjs +1 -1
  203. package/esm2022/lib/map/shared/controllers/view.mjs +1 -1
  204. package/esm2022/lib/map/shared/hover-feature.directive.mjs +10 -9
  205. package/esm2022/lib/map/shared/index.mjs +1 -1
  206. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +1 -1
  207. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +10 -9
  208. package/esm2022/lib/map/shared/map.interface.mjs +1 -1
  209. package/esm2022/lib/map/shared/map.mjs +1 -1
  210. package/esm2022/lib/map/shared/map.service.mjs +5 -5
  211. package/esm2022/lib/map/shared/map.utils.mjs +1 -1
  212. package/esm2022/lib/map/shared/mapOffline.directive.mjs +11 -8
  213. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  214. package/esm2022/lib/map/shared/projection.service.mjs +7 -7
  215. package/esm2022/lib/map/shared/projection.utils.mjs +1 -1
  216. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +6 -6
  217. package/esm2022/lib/map/utils/layer-watcher.mjs +1 -1
  218. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +23 -13
  219. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +13 -9
  220. package/esm2022/lib/measure/index.mjs +2 -3
  221. package/esm2022/lib/measure/measure.module.mjs +8 -5
  222. package/esm2022/lib/measure/measurer/index.mjs +6 -0
  223. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +6 -5
  224. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +18 -11
  225. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +27 -13
  226. package/esm2022/lib/measure/measurer/measurer.component.mjs +40 -20
  227. package/esm2022/lib/measure/measurer/measurer.module.mjs +7 -69
  228. package/esm2022/lib/measure/shared/index.mjs +1 -1
  229. package/esm2022/lib/measure/shared/measure.utils.mjs +1 -1
  230. package/esm2022/lib/metadata/index.mjs +6 -1
  231. package/esm2022/lib/metadata/metadata-button/index.mjs +1 -1
  232. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +35 -18
  233. package/esm2022/lib/metadata/metadata.module.mjs +10 -31
  234. package/esm2022/lib/metadata/shared/index.mjs +1 -1
  235. package/esm2022/lib/metadata/shared/metadata.service.mjs +5 -5
  236. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +7 -7
  237. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +8 -10
  238. package/esm2022/lib/offline/geoDB/index.mjs +1 -1
  239. package/esm2022/lib/offline/index.mjs +1 -1
  240. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +5 -5
  241. package/esm2022/lib/offline/shared/geo-network.service.mjs +7 -7
  242. package/esm2022/lib/offline/shared/index.mjs +1 -1
  243. package/esm2022/lib/overlay/index.mjs +1 -1
  244. package/esm2022/lib/overlay/overlay.module.mjs +10 -8
  245. package/esm2022/lib/overlay/shared/index.mjs +1 -1
  246. package/esm2022/lib/overlay/shared/overlay.directive.mjs +8 -7
  247. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  248. package/esm2022/lib/overlay/shared/overlay.service.mjs +5 -5
  249. package/esm2022/lib/print/index.mjs +1 -1
  250. package/esm2022/lib/print/print/print.component.mjs +7 -7
  251. package/esm2022/lib/print/print-form/index.mjs +1 -1
  252. package/esm2022/lib/print/print-form/print-form.component.mjs +36 -16
  253. package/esm2022/lib/print/print.module.mjs +10 -54
  254. package/esm2022/lib/print/shared/index.mjs +1 -1
  255. package/esm2022/lib/print/shared/print.service.mjs +18 -12
  256. package/esm2022/lib/query/index.mjs +1 -1
  257. package/esm2022/lib/query/query.module.mjs +7 -8
  258. package/esm2022/lib/query/shared/index.mjs +1 -1
  259. package/esm2022/lib/query/shared/query-search-source.mjs +6 -6
  260. package/esm2022/lib/query/shared/query-search-source.providers.mjs +2 -2
  261. package/esm2022/lib/query/shared/query.directive.mjs +8 -7
  262. package/esm2022/lib/query/shared/query.enums.mjs +1 -1
  263. package/esm2022/lib/query/shared/query.service.mjs +8 -10
  264. package/esm2022/lib/search/index.mjs +14 -5
  265. package/esm2022/lib/search/search-bar/search-bar.component.mjs +38 -18
  266. package/esm2022/lib/search/search-bar/search-bar.module.mjs +8 -61
  267. package/esm2022/lib/search/search-results/index.mjs +10 -0
  268. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +44 -19
  269. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +30 -16
  270. package/esm2022/lib/search/search-results/search-results-item.component.mjs +22 -12
  271. package/esm2022/lib/search/search-results/search-results.component.mjs +26 -14
  272. package/esm2022/lib/search/search-results/search-results.module.mjs +8 -91
  273. package/esm2022/lib/search/search-selector/search-selector.component.mjs +27 -12
  274. package/esm2022/lib/search/search-selector/search-selector.module.mjs +8 -44
  275. package/esm2022/lib/search/search-settings/search-settings.component.mjs +40 -15
  276. package/esm2022/lib/search/search-settings/search-settings.module.mjs +7 -47
  277. package/esm2022/lib/search/search.module.mjs +10 -13
  278. package/esm2022/lib/search/shared/index.mjs +1 -1
  279. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +10 -9
  280. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  281. package/esm2022/lib/search/shared/search.service.mjs +7 -7
  282. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  283. package/esm2022/lib/search/shared/sources/cadastre.mjs +12 -9
  284. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +4 -2
  285. package/esm2022/lib/search/shared/sources/coordinates.mjs +15 -13
  286. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +4 -2
  287. package/esm2022/lib/search/shared/sources/icherche.mjs +20 -18
  288. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +4 -2
  289. package/esm2022/lib/search/shared/sources/ilayer.mjs +14 -12
  290. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +4 -2
  291. package/esm2022/lib/search/shared/sources/nominatim.interfaces.mjs +1 -1
  292. package/esm2022/lib/search/shared/sources/nominatim.mjs +8 -8
  293. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +3 -2
  294. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  295. package/esm2022/lib/search/shared/sources/storedqueries.mjs +15 -13
  296. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +4 -2
  297. package/esm2022/lib/search/shared/sources/workspace.mjs +11 -10
  298. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +4 -2
  299. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +1 -1
  300. package/esm2022/lib/style/shared/datasource/index.mjs +1 -1
  301. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  302. package/esm2022/lib/style/shared/feature/index.mjs +1 -1
  303. package/esm2022/lib/style/shared/overlay/index.mjs +1 -1
  304. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +1 -1
  305. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +1 -1
  306. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +1 -1
  307. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  308. package/esm2022/lib/style/shared/vector/index.mjs +1 -1
  309. package/esm2022/lib/style/style-list/index.mjs +1 -1
  310. package/esm2022/lib/style/style-list/style-list.interface.mjs +1 -1
  311. package/esm2022/lib/style/style-list/style-list.module.mjs +5 -5
  312. package/esm2022/lib/style/style-list/style-list.service.mjs +5 -5
  313. package/esm2022/lib/style/style-modal/drawing/index.mjs +1 -1
  314. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +40 -17
  315. package/esm2022/lib/style/style-modal/index.mjs +1 -1
  316. package/esm2022/lib/style/style-modal/layer/index.mjs +1 -1
  317. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +28 -14
  318. package/esm2022/lib/style/style-modal/layer-button/index.mjs +1 -1
  319. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +13 -9
  320. package/esm2022/lib/style/style-modal/shared/index.mjs +1 -1
  321. package/esm2022/lib/style/style-service/draw-style.service.mjs +5 -5
  322. package/esm2022/lib/style/style-service/index.mjs +1 -1
  323. package/esm2022/lib/style/style-service/style.service.mjs +4 -4
  324. package/esm2022/lib/style/style.module.mjs +12 -57
  325. package/esm2022/lib/toast/index.mjs +1 -1
  326. package/esm2022/lib/toast/toast.component.mjs +19 -11
  327. package/esm2022/lib/toast/toast.module.mjs +10 -30
  328. package/esm2022/lib/utils/id-generator.mjs +1 -1
  329. package/esm2022/lib/utils/index.mjs +1 -1
  330. package/esm2022/lib/utils/propertyTypeDetector/index.mjs +1 -1
  331. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +7 -7
  332. package/esm2022/lib/wkt/index.mjs +1 -1
  333. package/esm2022/lib/wkt/shared/index.mjs +1 -1
  334. package/esm2022/lib/wkt/shared/wkt.service.mjs +5 -5
  335. package/esm2022/lib/wkt/wkt.module.mjs +8 -5
  336. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +11 -10
  337. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +8 -24
  338. package/esm2022/lib/workspace/index.mjs +1 -1
  339. package/esm2022/lib/workspace/shared/edition-workspace.mjs +1 -1
  340. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +15 -11
  341. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  342. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +12 -10
  343. package/esm2022/lib/workspace/shared/index.mjs +1 -1
  344. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  345. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +12 -10
  346. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +10 -8
  347. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  348. package/esm2022/lib/workspace/widgets/index.mjs +1 -1
  349. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +7 -7
  350. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +8 -13
  351. package/esm2022/lib/workspace/widgets/widgets.mjs +1 -1
  352. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -6
  353. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +8 -10
  354. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +7 -6
  355. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +8 -10
  356. package/esm2022/lib/workspace/workspace.module.mjs +10 -35
  357. package/esm2022/public_api.mjs +11 -12
  358. package/fesm2022/igo2-geo.mjs +34474 -34608
  359. package/fesm2022/igo2-geo.mjs.map +1 -1
  360. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +1 -1
  361. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +1 -1
  362. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +1 -1
  363. package/lib/catalog/catalog-browser/catalog-browser.module.d.ts +2 -14
  364. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +3 -2
  365. package/lib/catalog/catalog-library/catalog-library-item.component.d.ts +1 -1
  366. package/lib/catalog/catalog-library/catalog-library.component.d.ts +3 -2
  367. package/lib/catalog/catalog-library/catalog-library.module.d.ts +3 -18
  368. package/lib/catalog/catalog-library/index.d.ts +5 -0
  369. package/lib/catalog/catalog.module.d.ts +6 -9
  370. package/lib/catalog/index.d.ts +2 -0
  371. package/lib/catalog/shared/catalog.service.d.ts +3 -1
  372. package/lib/datasource/shared/datasource.service.d.ts +4 -5
  373. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  374. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +4 -2
  375. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +2 -2
  376. package/lib/directions/directions-results/directions-results.component.d.ts +2 -2
  377. package/lib/directions/directions-sources/directions-source.provider.d.ts +1 -1
  378. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  379. package/lib/directions/directions.component.d.ts +2 -2
  380. package/lib/directions/directions.module.d.ts +9 -20
  381. package/lib/directions/shared/directions.service.d.ts +3 -1
  382. package/lib/directions/shared/directions.utils.d.ts +1 -1
  383. package/lib/download/download-button/download-button.component.d.ts +1 -1
  384. package/lib/download/download.module.d.ts +4 -6
  385. package/lib/download/shared/download.service.d.ts +1 -1
  386. package/lib/draw/draw/draw-layer-popup.component.d.ts +1 -1
  387. package/lib/draw/draw/draw-popup.component.d.ts +5 -5
  388. package/lib/draw/draw/draw-shorcuts.component.d.ts +1 -1
  389. package/lib/draw/draw/draw.component.d.ts +2 -2
  390. package/lib/draw/draw/draw.module.d.ts +2 -25
  391. package/lib/draw/drawingTool.module.d.ts +3 -0
  392. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  393. package/lib/feature/feature-details/feature-details.component.d.ts +7 -4
  394. package/lib/feature/feature-details/feature-details.directive.d.ts +1 -1
  395. package/lib/feature/feature-details/feature-details.module.d.ts +2 -6
  396. package/lib/feature/feature-details/index.d.ts +5 -0
  397. package/lib/feature/feature-form/feature-form.component.d.ts +2 -2
  398. package/lib/feature/feature-form/feature-form.module.d.ts +2 -4
  399. package/lib/feature/feature.module.d.ts +6 -4
  400. package/lib/feature/index.d.ts +3 -1
  401. package/lib/filter/filter.module.d.ts +4 -28
  402. package/lib/filter/index.d.ts +16 -0
  403. package/lib/filter/ogc-filter-button/ogc-filter-button.component.d.ts +3 -3
  404. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  405. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +4 -4
  406. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  407. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +2 -2
  408. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +3 -3
  409. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +3 -3
  410. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  411. package/lib/filter/ogc-filterable-list/ogc-filterable-list.component.d.ts +3 -3
  412. package/lib/filter/shared/filterable-datasource.pipe.d.ts +1 -1
  413. package/lib/filter/shared/spatial-filter.service.d.ts +2 -1
  414. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +6 -5
  415. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +2 -2
  416. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +1 -1
  417. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  418. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +3 -3
  419. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +1 -1
  420. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  421. package/lib/filter/time-filter-list/time-filter-list.component.d.ts +1 -1
  422. package/lib/geo.module.d.ts +14 -24
  423. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +1 -1
  424. package/lib/geometry/geometry-form-field/geometry-form-field.component.d.ts +1 -1
  425. package/lib/geometry/geometry-form-field/geometry-form-field.module.d.ts +2 -10
  426. package/lib/geometry/geometry-form-field/index.d.ts +5 -0
  427. package/lib/geometry/geometry.module.d.ts +5 -3
  428. package/lib/geometry/index.d.ts +1 -2
  429. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  430. package/lib/import-export/import-export/import-export.component.d.ts +5 -2
  431. package/lib/import-export/import-export.module.d.ts +4 -15
  432. package/lib/import-export/index.d.ts +4 -0
  433. package/lib/import-export/shared/drop-geo-file.directive.d.ts +3 -2
  434. package/lib/import-export/shared/export.service.d.ts +1 -1
  435. package/lib/import-export/shared/export.utils.d.ts +1 -1
  436. package/lib/import-export/shared/import.service.d.ts +1 -1
  437. package/lib/import-export/shared/import.utils.d.ts +1 -1
  438. package/lib/layer/index.d.ts +8 -0
  439. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  440. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
  441. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  442. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  443. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +1 -1
  444. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  445. package/lib/layer/layer-list/layer-list.component.d.ts +1 -1
  446. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  447. package/lib/layer/layer.module.d.ts +4 -18
  448. package/lib/layer/shared/layer.service.d.ts +1 -1
  449. package/lib/layer/shared/layers/image-layer.d.ts +1 -1
  450. package/lib/layer/shared/layers/layer.d.ts +1 -1
  451. package/lib/layer/shared/layers/layer.interface.d.ts +1 -1
  452. package/lib/layer/shared/layers/tile-layer.d.ts +1 -1
  453. package/lib/layer/shared/layers/vector-layer.d.ts +1 -1
  454. package/lib/layer/shared/layers/vectortile-layer.d.ts +1 -1
  455. package/lib/layer/track-feature-button/track-feature-button.component.d.ts +1 -1
  456. package/lib/layer/utils/image-watcher.d.ts +1 -1
  457. package/lib/map/baselayers-switcher/baselayers-switcher.component.d.ts +2 -2
  458. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  459. package/lib/map/geolocate-button/geolocate-button.component.d.ts +2 -2
  460. package/lib/map/home-extent-button/home-extent-button.component.d.ts +2 -2
  461. package/lib/map/index.d.ts +14 -0
  462. package/lib/map/info-section/info-section.component.d.ts +1 -1
  463. package/lib/map/map-browser/map-browser.component.d.ts +2 -2
  464. package/lib/map/map-center/map-center.component.d.ts +1 -1
  465. package/lib/map/map.module.d.ts +4 -7
  466. package/lib/map/menu-button/menu-button.component.d.ts +2 -2
  467. package/lib/map/offline-button/offline-button.component.d.ts +2 -2
  468. package/lib/map/rotation-button/rotation-button.component.d.ts +1 -1
  469. package/lib/map/shared/controllers/geolocation.d.ts +2 -1
  470. package/lib/map/shared/hover-feature.directive.d.ts +2 -2
  471. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  472. package/lib/map/shared/map.d.ts +2 -1
  473. package/lib/map/shared/mapOffline.directive.d.ts +3 -2
  474. package/lib/map/shared/projection.service.d.ts +1 -1
  475. package/lib/map/swipe-control/swipe-control.component.d.ts +1 -1
  476. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +2 -2
  477. package/lib/map/zoom-button/zoom-button.component.d.ts +1 -1
  478. package/lib/measure/index.d.ts +1 -2
  479. package/lib/measure/measure.module.d.ts +3 -0
  480. package/lib/measure/measurer/index.d.ts +5 -0
  481. package/lib/measure/measurer/measure-format.pipe.d.ts +1 -1
  482. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  483. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  484. package/lib/measure/measurer/measurer.component.d.ts +4 -4
  485. package/lib/measure/measurer/measurer.module.d.ts +3 -18
  486. package/lib/measure/shared/measure.utils.d.ts +1 -1
  487. package/lib/metadata/index.d.ts +2 -0
  488. package/lib/metadata/metadata-button/metadata-button.component.d.ts +2 -2
  489. package/lib/metadata/metadata.module.d.ts +4 -7
  490. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  491. package/lib/offline/geoDB/geoDB.service.d.ts +2 -3
  492. package/lib/offline/shared/geo-network.service.d.ts +1 -1
  493. package/lib/overlay/overlay.module.d.ts +4 -1
  494. package/lib/overlay/shared/overlay.directive.d.ts +1 -1
  495. package/lib/print/print/print.component.d.ts +1 -1
  496. package/lib/print/print-form/print-form.component.d.ts +2 -2
  497. package/lib/print/print.module.d.ts +4 -12
  498. package/lib/print/shared/print.service.d.ts +4 -1
  499. package/lib/query/query.module.d.ts +4 -4
  500. package/lib/query/shared/query-search-source.providers.d.ts +1 -1
  501. package/lib/query/shared/query.directive.d.ts +1 -1
  502. package/lib/query/shared/query.service.d.ts +2 -3
  503. package/lib/search/index.d.ts +6 -4
  504. package/lib/search/search-bar/search-bar.component.d.ts +2 -2
  505. package/lib/search/search-bar/search-bar.module.d.ts +2 -16
  506. package/lib/search/search-results/index.d.ts +6 -0
  507. package/lib/search/search-results/save-feature-dialog.component.d.ts +2 -2
  508. package/lib/search/search-results/search-results-add-button.component.d.ts +2 -2
  509. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  510. package/lib/search/search-results/search-results.component.d.ts +2 -2
  511. package/lib/search/search-results/search-results.module.d.ts +3 -21
  512. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  513. package/lib/search/search-selector/search-selector.module.d.ts +2 -11
  514. package/lib/search/search-settings/search-settings.component.d.ts +3 -2
  515. package/lib/search/search-settings/search-settings.module.d.ts +2 -12
  516. package/lib/search/search.module.d.ts +6 -7
  517. package/lib/search/shared/search-pointer-summary.directive.d.ts +2 -2
  518. package/lib/search/shared/search.service.d.ts +1 -1
  519. package/lib/search/shared/sources/cadastre.d.ts +2 -1
  520. package/lib/search/shared/sources/cadastre.providers.d.ts +4 -2
  521. package/lib/search/shared/sources/coordinates.d.ts +2 -1
  522. package/lib/search/shared/sources/coordinates.providers.d.ts +4 -2
  523. package/lib/search/shared/sources/icherche.d.ts +2 -1
  524. package/lib/search/shared/sources/icherche.providers.d.ts +5 -3
  525. package/lib/search/shared/sources/ilayer.d.ts +2 -1
  526. package/lib/search/shared/sources/ilayer.providers.d.ts +4 -2
  527. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  528. package/lib/search/shared/sources/nominatim.providers.d.ts +3 -2
  529. package/lib/search/shared/sources/source.d.ts +1 -1
  530. package/lib/search/shared/sources/storedqueries.d.ts +2 -1
  531. package/lib/search/shared/sources/storedqueries.providers.d.ts +5 -3
  532. package/lib/search/shared/sources/workspace.d.ts +2 -1
  533. package/lib/search/shared/sources/workspace.providers.d.ts +4 -2
  534. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +1 -1
  535. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +1 -1
  536. package/lib/style/style-modal/layer-button/style-modal-layer-button.component.d.ts +1 -1
  537. package/lib/style/style.module.d.ts +5 -16
  538. package/lib/toast/toast.component.d.ts +1 -1
  539. package/lib/toast/toast.module.d.ts +4 -6
  540. package/lib/utils/propertyTypeDetector/propertyTypeDetector.service.d.ts +1 -1
  541. package/lib/wkt/wkt.module.d.ts +3 -0
  542. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +2 -2
  543. package/lib/workspace/confirmation-popup/confirmation-popup.module.d.ts +2 -6
  544. package/lib/workspace/shared/edition-workspace.d.ts +1 -1
  545. package/lib/workspace/shared/edition-workspace.service.d.ts +3 -1
  546. package/lib/workspace/shared/feature-workspace.service.d.ts +2 -1
  547. package/lib/workspace/shared/wfs-workspace.service.d.ts +2 -1
  548. package/lib/workspace/shared/wms-workspace.service.d.ts +2 -1
  549. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  550. package/lib/workspace/widgets/ogc-filter/ogc-filter.module.d.ts +2 -6
  551. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +1 -1
  552. package/lib/workspace/workspace-selector/workspace-selector.module.d.ts +2 -3
  553. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +1 -1
  554. package/lib/workspace/workspace-updator/workspace-updator.module.d.ts +2 -3
  555. package/lib/workspace/workspace.module.d.ts +5 -9
  556. package/locale/en.geo.json +3 -3
  557. package/locale/fr.geo.json +3 -3
  558. package/package.json +14 -12
  559. package/public_api.d.ts +10 -11
  560. package/src/geo-theme.scss +23 -23
  561. package/src/lib/filter/filter.theming.scss +13 -13
  562. package/src/lib/filter/ogc-filter-selection/ogc-filter-selection.theming.scss +18 -18
  563. package/src/lib/filter/time-filter-form/time-filter-form.theming.scss +5 -5
  564. package/src/lib/layer/layer-item/layer-item.theme.scss +33 -33
  565. package/src/lib/layer/layer-legend/layer-legend.theming.scss +10 -10
  566. package/src/lib/layer/layer-list-tool/layer-list-tool.theming.scss +34 -34
  567. package/src/lib/layer/layer.theming.scss +10 -10
  568. package/src/lib/map/map-browser/map-browser.theming.scss +46 -46
  569. package/src/lib/map/map.theming.scss +9 -9
  570. package/src/lib/map/menu-button/menu-button.theming.scss +20 -20
  571. package/src/lib/map/zoom-button/zoom-button.theming.scss +32 -32
  572. package/src/style/style.scss +1 -1
  573. package/esm2022/lib/datasource/datasource.module.mjs +0 -22
  574. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +0 -40
  575. package/lib/datasource/datasource.module.d.ts +0 -8
  576. package/lib/search/search-bar/search-url-param.directive.d.ts +0 -13
@@ -1,17 +1,28 @@
1
+ import { NgFor, NgIf, NgSwitch, NgSwitchCase } from '@angular/common';
1
2
  import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
- import { MediaService, StorageService } from '@igo2/core';
3
+ import { MatButtonModule } from '@angular/material/button';
4
+ import { MatCheckboxModule } from '@angular/material/checkbox';
5
+ import { MatDividerModule } from '@angular/material/divider';
6
+ import { MatIconModule } from '@angular/material/icon';
7
+ import { MatMenuModule } from '@angular/material/menu';
8
+ import { MatRadioModule } from '@angular/material/radio';
9
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
10
+ import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { MediaService } from '@igo2/core/media';
12
+ import { StorageService } from '@igo2/core/storage';
13
+ import { TranslateModule } from '@ngx-translate/core';
3
14
  import { SearchSourceService } from '../shared/search-source.service';
4
15
  import { sourceCanReverseSearch, sourceCanReverseSearchAsSummary, sourceCanSearch } from '../shared/search.utils';
5
16
  import * as i0 from "@angular/core";
6
17
  import * as i1 from "../shared/search-source.service";
7
- import * as i2 from "@igo2/core";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/material/tooltip";
10
- import * as i5 from "@angular/material/icon";
11
- import * as i6 from "@angular/material/button";
12
- import * as i7 from "@angular/material/menu";
13
- import * as i8 from "@angular/material/radio";
14
- import * as i9 from "@angular/material/checkbox";
18
+ import * as i2 from "@igo2/core/media";
19
+ import * as i3 from "@igo2/core/storage";
20
+ import * as i4 from "@angular/material/button";
21
+ import * as i5 from "@angular/material/tooltip";
22
+ import * as i6 from "@angular/material/menu";
23
+ import * as i7 from "@angular/material/icon";
24
+ import * as i8 from "@angular/material/checkbox";
25
+ import * as i9 from "@angular/material/radio";
15
26
  import * as i10 from "@angular/material/divider";
16
27
  import * as i11 from "@angular/material/slide-toggle";
17
28
  import * as i12 from "@ngx-translate/core";
@@ -212,13 +223,27 @@ export class SearchSettingsComponent {
212
223
  this.reverseSearchCoordsFormatEnabled = event.checked;
213
224
  this.reverseSearchCoordsFormatStatus.emit(this.reverseSearchCoordsFormatEnabled);
214
225
  }
215
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchSettingsComponent, deps: [{ token: i1.SearchSourceService }, { token: i2.MediaService }, { token: i2.StorageService }], target: i0.ɵɵFactoryTarget.Component });
216
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SearchSettingsComponent, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\"\r\n >\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\r\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\r\n {{\r\n !searchSourcesAllEnabled\r\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\r\n : ('igo.geo.search.searchSources.selectAll' | translate)\r\n }}\r\n </button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"source\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\"\r\n >\r\n </mat-checkbox>\r\n <button\r\n *ngIf=\"source.settings.length > 0\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item\r\n >\r\n {{ source.title }}\r\n </button>\r\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\r\n {{ source.title }}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{\r\n 'igo.geo.search.searchSources.settings.' + setting.title\r\n | translate\r\n }}\r\n </button>\r\n <mat-menu\r\n #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\"\r\n >\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\"\r\n >\r\n <mat-radio-button\r\n *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedRadioButton(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\r\n <button\r\n mat-raised-button\r\n (click)=\"checkUncheckAll($event, source, setting)\"\r\n >\r\n {{\r\n setting.allEnabled || setting.allEnabled === undefined\r\n ? ('igo.geo.search.searchSources.settings.unselectAll'\r\n | translate)\r\n : ('igo.geo.search.searchSources.settings.selectAll'\r\n | translate)\r\n }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"igo-search-settings-sub-menu\"\r\n mat-menu-item\r\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n >\r\n <mat-checkbox\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"setting\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedCheckbox(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-checkbox>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container\">\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changePointerReverseSearch($event)\"\r\n tooltip-position=\"below\"\r\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"pointerSummaryEnabled\"\r\n >\r\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changeSearchResultsGeometry($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"searchResultsGeometryEnabled\"\r\n >\r\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"reverseSearchCoordsFormat($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n reverseSearchCoordsFormatEnabled\r\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\r\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"reverseSearchCoordsFormatEnabled\"\r\n >\r\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i8.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i8.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i9.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SearchSettingsComponent, deps: [{ token: i1.SearchSourceService }, { token: i2.MediaService }, { token: i3.StorageService }], target: i0.ɵɵFactoryTarget.Component });
227
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: SearchSettingsComponent, isStandalone: true, selector: "igo-search-settings", inputs: { pointerSummaryEnabled: "pointerSummaryEnabled", searchResultsGeometryEnabled: "searchResultsGeometryEnabled", reverseSearchCoordsFormatEnabled: "reverseSearchCoordsFormatEnabled" }, outputs: { searchSourceChange: "searchSourceChange", pointerSummaryStatus: "pointerSummaryStatus", searchResultsGeometryStatus: "searchResultsGeometryStatus", reverseSearchCoordsFormatStatus: "reverseSearchCoordsFormatStatus" }, host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" } }, ngImport: i0, template: "<div class=\"igo-search-settings\">\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\"\r\n >\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\r\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\r\n {{\r\n !searchSourcesAllEnabled\r\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\r\n : ('igo.geo.search.searchSources.selectAll' | translate)\r\n }}\r\n </button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"$any(source)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\"\r\n >\r\n </mat-checkbox>\r\n <button\r\n *ngIf=\"source.settings.length > 0\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item\r\n >\r\n {{ source.title }}\r\n </button>\r\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\r\n {{ source.title }}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{\r\n 'igo.geo.search.searchSources.settings.' + setting.title\r\n | translate\r\n }}\r\n </button>\r\n <mat-menu\r\n #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\"\r\n >\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\"\r\n >\r\n <mat-radio-button\r\n *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedRadioButton(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\r\n <button\r\n mat-raised-button\r\n (click)=\"checkUncheckAll($event, source, setting)\"\r\n >\r\n {{\r\n setting.allEnabled || setting.allEnabled === undefined\r\n ? ('igo.geo.search.searchSources.settings.unselectAll'\r\n | translate)\r\n : ('igo.geo.search.searchSources.settings.selectAll'\r\n | translate)\r\n }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"igo-search-settings-sub-menu\"\r\n mat-menu-item\r\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n >\r\n <mat-checkbox\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"$any(setting)\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedCheckbox(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-checkbox>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container\">\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changePointerReverseSearch($event)\"\r\n tooltip-position=\"below\"\r\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"pointerSummaryEnabled\"\r\n >\r\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changeSearchResultsGeometry($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"searchResultsGeometryEnabled\"\r\n >\r\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"reverseSearchCoordsFormat($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n reverseSearchCoordsFormatEnabled\r\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\r\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"reverseSearchCoordsFormatEnabled\"\r\n >\r\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i9.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i9.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i10.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i11.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
217
228
  }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SearchSettingsComponent, decorators: [{
229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SearchSettingsComponent, decorators: [{
219
230
  type: Component,
220
- args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"igo-search-settings\">\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\"\r\n >\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\r\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\r\n {{\r\n !searchSourcesAllEnabled\r\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\r\n : ('igo.geo.search.searchSources.selectAll' | translate)\r\n }}\r\n </button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"source\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\"\r\n >\r\n </mat-checkbox>\r\n <button\r\n *ngIf=\"source.settings.length > 0\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item\r\n >\r\n {{ source.title }}\r\n </button>\r\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\r\n {{ source.title }}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{\r\n 'igo.geo.search.searchSources.settings.' + setting.title\r\n | translate\r\n }}\r\n </button>\r\n <mat-menu\r\n #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\"\r\n >\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\"\r\n >\r\n <mat-radio-button\r\n *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedRadioButton(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\r\n <button\r\n mat-raised-button\r\n (click)=\"checkUncheckAll($event, source, setting)\"\r\n >\r\n {{\r\n setting.allEnabled || setting.allEnabled === undefined\r\n ? ('igo.geo.search.searchSources.settings.unselectAll'\r\n | translate)\r\n : ('igo.geo.search.searchSources.settings.selectAll'\r\n | translate)\r\n }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"igo-search-settings-sub-menu\"\r\n mat-menu-item\r\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n >\r\n <mat-checkbox\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"setting\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedCheckbox(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-checkbox>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container\">\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changePointerReverseSearch($event)\"\r\n tooltip-position=\"below\"\r\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"pointerSummaryEnabled\"\r\n >\r\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changeSearchResultsGeometry($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"searchResultsGeometryEnabled\"\r\n >\r\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"reverseSearchCoordsFormat($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n reverseSearchCoordsFormatEnabled\r\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\r\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"reverseSearchCoordsFormatEnabled\"\r\n >\r\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"] }]
221
- }], ctorParameters: function () { return [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i2.StorageService }]; }, propDecorators: { pointerSummaryEnabled: [{
231
+ args: [{ selector: 'igo-search-settings', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
232
+ MatButtonModule,
233
+ MatTooltipModule,
234
+ MatMenuModule,
235
+ MatIconModule,
236
+ NgIf,
237
+ NgFor,
238
+ MatCheckboxModule,
239
+ NgSwitch,
240
+ NgSwitchCase,
241
+ MatRadioModule,
242
+ MatDividerModule,
243
+ MatSlideToggleModule,
244
+ TranslateModule
245
+ ], template: "<div class=\"igo-search-settings\">\r\n <button\r\n mat-icon-button\r\n class=\"igo-search-settings-button\"\r\n color=\"primary\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"'igo.geo.search.menu.tooltip' | translate\"\r\n [matMenuTriggerFor]=\"searchSettingsMenu\"\r\n >\r\n <mat-icon svgIcon=\"chevron-down\"></mat-icon>\r\n </button>\r\n <mat-menu #searchSettingsMenu=\"matMenu\" class=\"no-border-radius\">\r\n <div class=\"checkAllButton\" *ngIf=\"getSearchSources().length > 4\">\r\n <button mat-raised-button (click)=\"checkUncheckAllSources($event)\">\r\n {{\r\n !searchSourcesAllEnabled\r\n ? ('igo.geo.search.searchSources.unselectAll' | translate)\r\n : ('igo.geo.search.searchSources.selectAll' | translate)\r\n }}\r\n </button>\r\n </div>\r\n <ng-container *ngFor=\"let source of getSearchSources()\">\r\n <span class=\"igo-search-settings-search-source\">\r\n <mat-checkbox\r\n class=\"igo-search-settings-checkbox\"\r\n [checked]=\"source.enabled\"\r\n [value]=\"$any(source)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"onCheckSearchSource($event, source)\"\r\n >\r\n </mat-checkbox>\r\n <button\r\n *ngIf=\"source.settings.length > 0\"\r\n [matMenuTriggerFor]=\"sub_menu\"\r\n mat-menu-item\r\n >\r\n {{ source.title }}\r\n </button>\r\n <button mat-menu-item *ngIf=\"source.settings.length === 0\">\r\n {{ source.title }}\r\n </button>\r\n </span>\r\n <mat-menu #sub_menu=\"matMenu\">\r\n <ng-container *ngFor=\"let setting of source.settings\">\r\n <button mat-menu-item [matMenuTriggerFor]=\"test_sub_menu\">\r\n {{\r\n 'igo.geo.search.searchSources.settings.' + setting.title\r\n | translate\r\n }}\r\n </button>\r\n <mat-menu\r\n #test_sub_menu=\"matMenu\"\r\n [ngSwitch]=\"setting.type\"\r\n yPosition=\"above\"\r\n >\r\n <span *ngSwitchCase=\"'radiobutton'\">\r\n <mat-radio-group\r\n class=\"igo-search-settings-radio-group\"\r\n [value]=\"setting\"\r\n >\r\n <mat-radio-button\r\n *ngFor=\"let settingValue of setting.values\"\r\n class=\"mat-typography\"\r\n [value]=\"settingValue\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n [checked]=\"settingValue.enabled\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedRadioButton(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n </span>\r\n <span *ngSwitchCase=\"'checkbox'\">\r\n <div class=\"checkAllButton\" *ngIf=\"setting.values.length > 3\">\r\n <button\r\n mat-raised-button\r\n (click)=\"checkUncheckAll($event, source, setting)\"\r\n >\r\n {{\r\n setting.allEnabled || setting.allEnabled === undefined\r\n ? ('igo.geo.search.searchSources.settings.unselectAll'\r\n | translate)\r\n : ('igo.geo.search.searchSources.settings.selectAll'\r\n | translate)\r\n }}\r\n </button>\r\n </div>\r\n <div\r\n class=\"igo-search-settings-sub-menu\"\r\n mat-menu-item\r\n *ngFor=\"let settingValue of getAvailableValues(setting)\"\r\n >\r\n <mat-checkbox\r\n [style.display]=\"displayBlock\"\r\n [checked]=\"settingValue.enabled\"\r\n [value]=\"$any(setting)\"\r\n [matTooltip]=\"getAvailableHashtagsValues(settingValue)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"\r\n settingsValueCheckedCheckbox(\r\n $event,\r\n source,\r\n setting,\r\n settingValue\r\n )\r\n \"\r\n >\r\n {{ settingValue.title | translate }}\r\n </mat-checkbox>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n </ng-container>\r\n </mat-menu>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <span class=\"pointer-summary-slide-toggle-container\">\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changePointerReverseSearch($event)\"\r\n tooltip-position=\"below\"\r\n *ngIf=\"hasPointerReverseSearchSource && !isTouchScreen\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.pointerSearchSummary.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"pointerSummaryEnabled\"\r\n >\r\n {{ 'igo.geo.search.pointerSearchSummary.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"changeSearchResultsGeometry($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n 'igo.geo.search.searchResultsGeometry.tooltip' | translate\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"searchResultsGeometryEnabled\"\r\n >\r\n {{ 'igo.geo.search.searchResultsGeometry.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n <div mat-menu-item>\r\n <mat-slide-toggle\r\n class=\"search-option\"\r\n (change)=\"reverseSearchCoordsFormat($event)\"\r\n tooltip-position=\"below\"\r\n matTooltipShowDelay=\"500\"\r\n [matTooltip]=\"\r\n reverseSearchCoordsFormatEnabled\r\n ? ('igo.geo.search.reverseCoordFormat.tooltipLatLon' | translate)\r\n : ('igo.geo.search.reverseCoordFormat.tooltipLonLat' | translate)\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n [checked]=\"reverseSearchCoordsFormatEnabled\"\r\n >\r\n {{ 'igo.geo.search.reverseCoordFormat.title' | translate }}\r\n </mat-slide-toggle>\r\n </div>\r\n </span>\r\n </mat-menu>\r\n</div>\r\n", styles: [":host{display:flex;align-items:center}.checkAllButton{text-align:center;padding:0 5px}.igo-search-settings-radio-group{display:flex;flex-direction:column;padding-right:16px}.igo-search-settings-checkbox mat-radio-button{display:flex}.igo-search-settings-search-source{display:flex;width:100%}.igo-search-settings-search-source mat-checkbox{display:flex;margin-left:5px;margin-right:5px}.search-option{display:block;margin-right:10px;margin-bottom:15px}.pointer-summary-slide-toggle-container{overflow-x:hidden}.pointer-summary-slide-toggle-container mat-slide-toggle{margin:10px 0}.igo-search-settings-button button,.igo-search-settings-button button .mat-ripple,.igo-search-settings-button button .mdc-icon-button__ripple{border-radius:0!important}.igo-search-settings-sub-menu{min-height:34px}\n"] }]
246
+ }], ctorParameters: () => [{ type: i1.SearchSourceService }, { type: i2.MediaService }, { type: i3.StorageService }], propDecorators: { pointerSummaryEnabled: [{
222
247
  type: Input
223
248
  }], searchResultsGeometryEnabled: [{
224
249
  type: Input
@@ -236,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
236
261
  type: HostListener,
237
262
  args: ['document:keydown', ['$event']]
238
263
  }] } });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLCtCQUErQixFQUMvQixlQUFlLEVBQ2hCLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBT2hDOzs7Ozs7O0dBT0c7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBOEN4QjtJQUNBO0lBQ0E7SUEvQ0gsNkJBQTZCLEdBQVksS0FBSyxDQUFDO0lBQy9DLHVCQUF1QixHQUFZLEtBQUssQ0FBQztJQUV6QyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QixZQUFZLEdBQUcsT0FBTyxDQUFDO0lBRTlCLElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRVEscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBQ3ZDLDRCQUE0QixHQUFZLEtBQUssQ0FBQztJQUM5Qyxn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QUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUN2QyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RDLENBQUM7SUFDSixDQUFDO3dHQWpPVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw0aUJDeENwQywwOU5BaUxBOzs0RkR6SWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNO2tLQWV0QyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUtHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFLRywrQkFBK0I7c0JBQXhDLE1BQU07Z0JBR1AsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb0NoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuXHJcbmltcG9ydCB7IE1lZGlhU2VydmljZSwgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoLFxyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnksXHJcbiAgc291cmNlQ2FuU2VhcmNoXHJcbn0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC51dGlscyc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7XHJcbiAgU2VhcmNoU291cmNlU2V0dGluZ3MsXHJcbiAgU2V0dGluZ09wdGlvbnNcclxufSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGEgdXNlciB0byBzZWxlY3QgYSBzZWFyY2ggdHlwZSB5byBlbmFibGUuIEluIGl0J3NcclxuICogY3VycmVudCB2ZXJzaW9uLCBvbmx5IG9uZSBzZWFyY2ggdHlwZSBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZSAocmFkaW8pLiBJZlxyXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcclxuICogdGhlIHNlYXJjaGJhciBjb21wb25lbnQgd291bGQgcmVxdWlyZSBhIHNtYWxsIGNoYW5nZSB0byBpdCdzXHJcbiAqIHBsYWNlaG9sZGVyIGdldHRlci4gVGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZSBhbHJlYWR5IHN1cHBvcnRzIGhhdmluZ1xyXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaFNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2VhcmNoU291cmNlc0FsbEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGJ1ZmZlciA9IFtdO1xyXG4gIHB1YmxpYyBsYXN0S2V5VGltZSA9IERhdGUubm93KCk7XHJcblxyXG4gIHB1YmxpYyBkaXNwbGF5QmxvY2sgPSAnYmxvY2snO1xyXG5cclxuICBnZXQgaXNUb3VjaFNjcmVlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc1RvdWNoU2NyZWVuKCk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBwb2ludGVyU3VtbWFyeUVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBlbmFibGVkIHNlYXJjaCBzb3VyY2UgY2hhbmdlc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hTb3VyY2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFNvdXJjZT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBwb2ludGVyIHN1bW1hcnkgaXMgYWN0aXZhdGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHBvaW50ZXJTdW1tYXJ5U3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNob3cgZ2VvbWV0cnkgc3VtbWFyeSBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBjb29yZHMgZm9ybWF0IGlzIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0YyJykge1xyXG4gICAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9ICF0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZDtcclxuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeVN0YXR1cy5lbWl0KHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZWFyY2hTb3VyY2VTZXJ2aWNlOiBTZWFyY2hTb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZWRpYVNlcnZpY2U6IE1lZGlhU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGFzUG9pbnRlclJldmVyc2VTZWFyY2hTb3VyY2UgPVxyXG4gICAgICB0aGlzLmhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBhbGwgc2VhcmNoIHNvdXJjZXNcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBnZXRTZWFyY2hTb3VyY2VzKCk6IFNlYXJjaFNvdXJjZVtdIHtcclxuICAgIGNvbnN0IHRleHRTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgIC5nZXRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihzb3VyY2VDYW5TZWFyY2gpXHJcbiAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0SWQoKSAhPT0gJ21hcCcgJiYgcy5zaG93SW5TZXR0aW5ncyk7XHJcblxyXG4gICAgY29uc3QgcmV2ZXJzZVNlYXJjaFNvdXJjZXMgPSB0aGlzLnNlYXJjaFNvdXJjZVNlcnZpY2VcclxuICAgICAgLmdldFNvdXJjZXMoKVxyXG4gICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2gpXHJcbiAgICAgIC5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICYmIHMuZ2V0SWQoKSAhPT0gJ21hcCcgJiYgcy5zaG93SW5TZXR0aW5ncyk7XHJcbiAgICBjb25zdCBzb3VyY2VzID0gdGV4dFNlYXJjaFNvdXJjZXMuY29uY2F0KHJldmVyc2VTZWFyY2hTb3VyY2VzKTtcclxuICAgIHRoaXMuY29tcHV0ZVNvdXJjZXNDaGVja0FsbEJlaGF2aW9yKHNvdXJjZXMpO1xyXG4gICAgcmV0dXJuIHNvdXJjZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzIHVzYWJsZSBmb3IgcG9pbnRlciBzdW1tYXJ5XHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgaGFzUmV2ZXJzZVNlYXJjaFNvdXJjZXNGb3JQb2ludGVyU3VtbWFyeSgpOiBib29sZWFuIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgICAgLmdldEVuYWJsZWRTb3VyY2VzKClcclxuICAgICAgICAuZmlsdGVyKHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnkpLmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcmVkIHdoZW4gYSBzZXR0aW5nIGlzIGNoZWNrZWQgKGNoZWNrYm94IHN0eWxlKVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXHJcbiAgICBldmVudDogTWF0Q2hlY2tib3hDaGFuZ2UsXHJcbiAgICBzb3VyY2U6IFNlYXJjaFNvdXJjZSxcclxuICAgIHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzLFxyXG4gICAgc2V0dGluZ1ZhbHVlOiBTZXR0aW5nT3B0aW9uc1xyXG4gICkge1xyXG4gICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNldHRpbmdzKVxyXG4gICAqIHJldHVybiB0cnVlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIGNoZWNrZWRcclxuICAgKiByZXR1cm4gZmFsc2UgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgdW5jaGVja2VkXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgY29tcHV0ZVNldHRpbmdDaGVja0FsbEJlaGF2aW9yKHNldHRpbmc6IFNlYXJjaFNvdXJjZVNldHRpbmdzKSB7XHJcbiAgICBpZiAoc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKHNldHRpbmcudmFsdWVzLmZpbmQoKHNldHRpbmdWYWx1ZSkgPT4gc2V0dGluZ1ZhbHVlLmVuYWJsZWQpKSB7XHJcbiAgICAgICAgc2V0dGluZy5hbGxFbmFibGVkID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2V0dGluZy5hbGxFbmFibGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2V0dGluZy5hbGxFbmFibGVkID0gIXNldHRpbmcuYWxsRW5hYmxlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluaW5nIHRoZSBhY3Rpb24gdG8gZG8gZm9yIGNoZWNrL3VuY2hlY2sgY2hlY2tib3hlcyAoc291cmNlcylcclxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXHJcbiAgICogcmV0dXJuIGZhbHNlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIHVuY2hlY2tlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVTb3VyY2VzQ2hlY2tBbGxCZWhhdmlvcihzb3VyY2VzOiBTZWFyY2hTb3VyY2VbXSkge1xyXG4gICAgY29uc3QgZW5hYmxlZFNvdXJjZXNDbnQgPSBzb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UuZW5hYmxlZCkubGVuZ3RoO1xyXG4gICAgY29uc3QgZGlzYWJsZWRTb3VyY2VzQ250ID0gc291cmNlcy5maWx0ZXIoXHJcbiAgICAgIChzb3VyY2UpID0+ICFzb3VyY2UuZW5hYmxlZFxyXG4gICAgKS5sZW5ndGg7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZXNBbGxFbmFibGVkID1cclxuICAgICAgZW5hYmxlZFNvdXJjZXNDbnQgPj0gZGlzYWJsZWRTb3VyY2VzQ250ID8gZmFsc2UgOiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjaGVja1VuY2hlY2tBbGwoZXZlbnQsIHNvdXJjZTogU2VhcmNoU291cmNlLCBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNvbXB1dGVTZXR0aW5nQ2hlY2tBbGxCZWhhdmlvcihzZXR0aW5nKTtcclxuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKHNldHRpbmdWYWx1ZSkgPT4ge1xyXG4gICAgICBzZXR0aW5nVmFsdWUuZW5hYmxlZCA9IHNldHRpbmcuYWxsRW5hYmxlZDtcclxuICAgIH0pO1xyXG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyZWQgd2hlbiB0aGUgY2hlY2sgYWxsIC8gdW5jaGVjayBhbGwgdHlwZSBpcyBjbGlja2VkLFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNoZWNrVW5jaGVja0FsbFNvdXJjZXMoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5nZXRTZWFyY2hTb3VyY2VzKCkubWFwKChzb3VyY2UpID0+IHtcclxuICAgICAgc291cmNlLmVuYWJsZWQgPSB0aGlzLnNlYXJjaFNvdXJjZXNBbGxFbmFibGVkO1xyXG4gICAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIGEgc2V0dGluZyBpcyBjaGVja2VkIChyYWRpb2J1dHRvbiBzdHlsZSlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZFJhZGlvQnV0dG9uKFxyXG4gICAgZXZlbnQ6IE1hdFJhZGlvQ2hhbmdlLFxyXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcclxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcclxuICApIHtcclxuICAgIHNldHRpbmcudmFsdWVzLmZvckVhY2goKGNvbmYpID0+IHtcclxuICAgICAgaWYgKGNvbmYudmFsdWUgIT09IHNldHRpbmdWYWx1ZS52YWx1ZSkge1xyXG4gICAgICAgIGNvbmYuZW5hYmxlZCA9ICFldmVudC5zb3VyY2UuY2hlY2tlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25mLmVuYWJsZWQgPSBldmVudC5zb3VyY2UuY2hlY2tlZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBzb3VyY2Uuc2V0UGFyYW1Gcm9tU2V0dGluZyhzZXR0aW5nKTtcclxuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcclxuICB9XHJcblxyXG4gIG9uQ2hlY2tTZWFyY2hTb3VyY2UoZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLCBzb3VyY2U6IFNlYXJjaFNvdXJjZSkge1xyXG4gICAgc291cmNlLmVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgY29uc3Qgc3RvcmFnZSA9ICh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldChzb3VyY2UuZ2V0SWQoKSArICcub3B0aW9ucycpIHx8XHJcbiAgICAgIHt9KSBhcyBTZXR0aW5nT3B0aW9ucztcclxuICAgIHN0b3JhZ2UuZW5hYmxlZCA9IHNvdXJjZS5lbmFibGVkO1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXQoc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnLCBzdG9yYWdlKTtcclxuICAgIHRoaXMuc2VhcmNoU291cmNlQ2hhbmdlLmVtaXQoc291cmNlKTtcclxuICB9XHJcblxyXG4gIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgcmV0dXJuIHNldHRpbmcudmFsdWVzLmZpbHRlcigocykgPT4gcy5hdmFpbGFibGUgIT09IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmc6IFNldHRpbmdPcHRpb25zKSB7XHJcbiAgICBpZiAoc2V0dGluZy5oYXNodGFncykge1xyXG4gICAgICByZXR1cm4gc2V0dGluZy5oYXNodGFncy5tYXAoKGgpID0+ICcjJyArIGgpLmpvaW4oJywgJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBzdG9wUHJvcGFnYXRpb24oZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goZXZlbnQpIHtcclxuICAgIHRoaXMucG9pbnRlclN1bW1hcnlFbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWFyY2hSZXN1bHRzR2VvbWV0cnkoZXZlbnQpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeVN0YXR1cy5lbWl0KHRoaXMuc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZCk7XHJcbiAgfVxyXG5cclxuICByZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KGV2ZW50KSB7XHJcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHRoaXMucmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdFN0YXR1cy5lbWl0KFxyXG4gICAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5nc1wiPlxyXG4gIDxidXR0b25cclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLWJ1dHRvblwiXHJcbiAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPVwiJ2lnby5nZW8uc2VhcmNoLm1lbnUudG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNlYXJjaFNldHRpbmdzTWVudVwiXHJcbiAgPlxyXG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJjaGV2cm9uLWRvd25cIj48L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjc2VhcmNoU2V0dGluZ3NNZW51PVwibWF0TWVudVwiIGNsYXNzPVwibm8tYm9yZGVyLXJhZGl1c1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJnZXRTZWFyY2hTb3VyY2VzKCkubGVuZ3RoID4gNFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGxTb3VyY2VzKCRldmVudClcIj5cclxuICAgICAgICB7e1xyXG4gICAgICAgICAgIXNlYXJjaFNvdXJjZXNBbGxFbmFibGVkXHJcbiAgICAgICAgICAgID8gKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnVuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2VsZWN0QWxsJyB8IHRyYW5zbGF0ZSlcclxuICAgICAgICB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc291cmNlIG9mIGdldFNlYXJjaFNvdXJjZXMoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc2VhcmNoLXNvdXJjZVwiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1jaGVja2JveFwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJzb3VyY2UuZW5hYmxlZFwiXHJcbiAgICAgICAgICBbdmFsdWVdPVwic291cmNlXCJcclxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkNoZWNrU2VhcmNoU291cmNlKCRldmVudCwgc291cmNlKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Yl9tZW51XCJcclxuICAgICAgICAgIG1hdC1tZW51LWl0ZW1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBzb3VyY2UudGl0bGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJzb3VyY2Uuc2V0dGluZ3MubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgICB7eyBzb3VyY2UudGl0bGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8bWF0LW1lbnUgI3N1Yl9tZW51PVwibWF0TWVudVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNldHRpbmcgb2Ygc291cmNlLnNldHRpbmdzXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRlc3Rfc3ViX21lbnVcIj5cclxuICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy5zZXR0aW5ncy4nICsgc2V0dGluZy50aXRsZVxyXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1tZW51XHJcbiAgICAgICAgICAgICN0ZXN0X3N1Yl9tZW51PVwibWF0TWVudVwiXHJcbiAgICAgICAgICAgIFtuZ1N3aXRjaF09XCJzZXR0aW5nLnR5cGVcIlxyXG4gICAgICAgICAgICB5UG9zaXRpb249XCJhYm92ZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIncmFkaW9idXR0b24nXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1yYWRpby1ncm91cFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXJhZGlvLWdyb3VwXCJcclxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIHNldHRpbmcudmFsdWVzXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nVmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcclxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZFJhZGlvQnV0dG9uKFxyXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdWYWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgc2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tBbGxCdXR0b25cIiAqbmdJZj1cInNldHRpbmcudmFsdWVzLmxlbmd0aCA+IDNcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoZWNrVW5jaGVja0FsbCgkZXZlbnQsIHNvdXJjZSwgc2V0dGluZylcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCB8fCBzZXR0aW5nLmFsbEVuYWJsZWQgPT09IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MudW5zZWxlY3RBbGwnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgOiAoJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3Muc2VsZWN0QWxsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1zdWItbWVudVwiXHJcbiAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2V0dGluZ1ZhbHVlIG9mIGdldEF2YWlsYWJsZVZhbHVlcyhzZXR0aW5nKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJkaXNwbGF5QmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZXR0aW5nVmFsdWUuZW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzZXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIHNldHRpbmdzVmFsdWVDaGVja2VkQ2hlY2tib3goXHJcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ1ZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBzZXR0aW5nVmFsdWUudGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwicG9pbnRlci1zdW1tYXJ5LXNsaWRlLXRvZ2dsZS1jb250YWluZXJcIj5cclxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VQb2ludGVyUmV2ZXJzZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlICYmICFpc1RvdWNoU2NyZWVuXCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5wb2ludGVyU2VhcmNoU3VtbWFyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwicG9pbnRlclN1bW1hcnlFbmFibGVkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyAnaWdvLmdlby5zZWFyY2gucG9pbnRlclNlYXJjaFN1bW1hcnkudGl0bGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VTZWFyY2hSZXN1bHRzR2VvbWV0cnkoJGV2ZW50KVwiXHJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJcclxuICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFJlc3VsdHNHZW9tZXRyeS50b29sdGlwJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwic2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFJlc3VsdHNHZW9tZXRyeS50aXRsZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcclxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLW9wdGlvblwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cInJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJcclxuICAgICAgICAgICAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcclxuICAgICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMYXRMb24nIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5yZXZlcnNlQ29vcmRGb3JtYXQudG9vbHRpcExvbkxhdCcgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50aXRsZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9zcGFuPlxyXG4gIDwvbWF0LW1lbnU+XHJcbjwvZGl2PlxyXG4iXX0=
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFFTCxpQkFBaUIsRUFDbEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBa0IsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVw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QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixhQUFhO3dCQUNiLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxpQkFBaUI7d0JBQ2pCLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixlQUFlO3FCQUNoQjtnSkFlUSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNHLGdDQUFnQztzQkFBeEMsS0FBSztnQkFLSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUtHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFLRywrQkFBK0I7c0JBQXhDLE1BQU07Z0JBR1AsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHtcclxuICBNYXRDaGVja2JveENoYW5nZSxcclxuICBNYXRDaGVja2JveE1vZHVsZVxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWF0UmFkaW9DaGFuZ2UsIE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvbWVkaWEnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJ0BpZ28yL2NvcmUvc3RvcmFnZSc7XHJcblxyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBzb3VyY2VDYW5SZXZlcnNlU2VhcmNoLFxyXG4gIHNvdXJjZUNhblJldmVyc2VTZWFyY2hBc1N1bW1hcnksXHJcbiAgc291cmNlQ2FuU2VhcmNoXHJcbn0gZnJvbSAnLi4vc2hhcmVkL3NlYXJjaC51dGlscyc7XHJcbmltcG9ydCB7IFNlYXJjaFNvdXJjZSB9IGZyb20gJy4uL3NoYXJlZC9zb3VyY2VzL3NvdXJjZSc7XHJcbmltcG9ydCB7XHJcbiAgU2VhcmNoU291cmNlU2V0dGluZ3MsXHJcbiAgU2V0dGluZ09wdGlvbnNcclxufSBmcm9tICcuLi9zaGFyZWQvc291cmNlcy9zb3VyY2UuaW50ZXJmYWNlcyc7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgYWxsb3dzIGEgdXNlciB0byBzZWxlY3QgYSBzZWFyY2ggdHlwZSB5byBlbmFibGUuIEluIGl0J3NcclxuICogY3VycmVudCB2ZXJzaW9uLCBvbmx5IG9uZSBzZWFyY2ggdHlwZSBjYW4gYmUgc2VsZWN0ZWQgYXQgb25jZSAocmFkaW8pLiBJZlxyXG4gKiB0aGlzIGNvbXBvbmVudCB3ZXJlIHRvIHN1cHBvcnQgbW9yZSB0aGFuIG9uZSBzZWFyY2ggc291cmNlIGVuYWJsZWQgKGNoZWNrYm94KSxcclxuICogdGhlIHNlYXJjaGJhciBjb21wb25lbnQgd291bGQgcmVxdWlyZSBhIHNtYWxsIGNoYW5nZSB0byBpdCdzXHJcbiAqIHBsYWNlaG9sZGVyIGdldHRlci4gVGhlIHNlYXJjaCBzb3VyY2Ugc2VydmljZSBhbHJlYWR5IHN1cHBvcnRzIGhhdmluZ1xyXG4gKiBtb3JlIHRoYW4gb25lIHNlYXJjaCBzb3VyY2UgZW5hYmxlZC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWdvLXNlYXJjaC1zZXR0aW5ncycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBOZ0lmLFxyXG4gICAgTmdGb3IsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE5nU3dpdGNoLFxyXG4gICAgTmdTd2l0Y2hDYXNlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIGhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlYXJjaFNvdXJjZXNBbGxFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBidWZmZXIgPSBbXTtcclxuICBwdWJsaWMgbGFzdEtleVRpbWUgPSBEYXRlLm5vdygpO1xyXG5cclxuICBwdWJsaWMgZGlzcGxheUJsb2NrID0gJ2Jsb2NrJztcclxuXHJcbiAgZ2V0IGlzVG91Y2hTY3JlZW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tZWRpYVNlcnZpY2UuaXNUb3VjaFNjcmVlbigpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgcG9pbnRlclN1bW1hcnlFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VhcmNoUmVzdWx0c0dlb21ldHJ5RW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZW5hYmxlZCBzZWFyY2ggc291cmNlIGNoYW5nZXNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgc2VhcmNoU291cmNlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hTb3VyY2U+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgcG9pbnRlciBzdW1tYXJ5IGlzIGFjdGl2YXRlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwb2ludGVyU3VtbWFyeVN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaG93IGdlb21ldHJ5IHN1bW1hcnkgaXMgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY29vcmRzIGZvcm1hdCBpcyBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdGMicpIHtcclxuICAgICAgdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQgPSAhdGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQ7XHJcbiAgICAgIHRoaXMucG9pbnRlclN1bW1hcnlTdGF0dXMuZW1pdCh0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VhcmNoU291cmNlU2VydmljZTogU2VhcmNoU291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhhc1BvaW50ZXJSZXZlcnNlU2VhcmNoU291cmNlID1cclxuICAgICAgdGhpcy5oYXNSZXZlcnNlU2VhcmNoU291cmNlc0ZvclBvaW50ZXJTdW1tYXJ5KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgYWxsIHNlYXJjaCBzb3VyY2VzXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoU291cmNlcygpOiBTZWFyY2hTb3VyY2VbXSB7XHJcbiAgICBjb25zdCB0ZXh0U2VhcmNoU291cmNlcyA9IHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAuZ2V0U291cmNlcygpXHJcbiAgICAgIC5maWx0ZXIoc291cmNlQ2FuU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG5cclxuICAgIGNvbnN0IHJldmVyc2VTZWFyY2hTb3VyY2VzID0gdGhpcy5zZWFyY2hTb3VyY2VTZXJ2aWNlXHJcbiAgICAgIC5nZXRTb3VyY2VzKClcclxuICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoKVxyXG4gICAgICAuZmlsdGVyKChzKSA9PiBzLmF2YWlsYWJsZSAmJiBzLmdldElkKCkgIT09ICdtYXAnICYmIHMuc2hvd0luU2V0dGluZ3MpO1xyXG4gICAgY29uc3Qgc291cmNlcyA9IHRleHRTZWFyY2hTb3VyY2VzLmNvbmNhdChyZXZlcnNlU2VhcmNoU291cmNlcyk7XHJcbiAgICB0aGlzLmNvbXB1dGVTb3VyY2VzQ2hlY2tBbGxCZWhhdmlvcihzb3VyY2VzKTtcclxuICAgIHJldHVybiBzb3VyY2VzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBzZWFyY2ggc291cmNlcyB1c2FibGUgZm9yIHBvaW50ZXIgc3VtbWFyeVxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGhhc1JldmVyc2VTZWFyY2hTb3VyY2VzRm9yUG9pbnRlclN1bW1hcnkoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VhcmNoU291cmNlU2VydmljZVxyXG4gICAgICAgIC5nZXRFbmFibGVkU291cmNlcygpXHJcbiAgICAgICAgLmZpbHRlcihzb3VyY2VDYW5SZXZlcnNlU2VhcmNoQXNTdW1tYXJ5KS5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIGEgc2V0dGluZyBpcyBjaGVja2VkIChjaGVja2JveCBzdHlsZSlcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxyXG4gICAgZXZlbnQ6IE1hdENoZWNrYm94Q2hhbmdlLFxyXG4gICAgc291cmNlOiBTZWFyY2hTb3VyY2UsXHJcbiAgICBzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncyxcclxuICAgIHNldHRpbmdWYWx1ZTogU2V0dGluZ09wdGlvbnNcclxuICApIHtcclxuICAgIHNldHRpbmdWYWx1ZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmaW5pbmcgdGhlIGFjdGlvbiB0byBkbyBmb3IgY2hlY2svdW5jaGVjayBjaGVja2JveGVzIChzZXR0aW5ncylcclxuICAgKiByZXR1cm4gdHJ1ZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSBjaGVja2VkXHJcbiAgICogcmV0dXJuIGZhbHNlIGlmIGFsbCBjaGVja2JveCBtdXN0IGJlIHVuY2hlY2tlZFxyXG4gICAqIEBpbnRlcm5hbFxyXG4gICAqL1xyXG4gIGNvbXB1dGVTZXR0aW5nQ2hlY2tBbGxCZWhhdmlvcihzZXR0aW5nOiBTZWFyY2hTb3VyY2VTZXR0aW5ncykge1xyXG4gICAgaWYgKHNldHRpbmcuYWxsRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGlmIChzZXR0aW5nLnZhbHVlcy5maW5kKChzZXR0aW5nVmFsdWUpID0+IHNldHRpbmdWYWx1ZS5lbmFibGVkKSkge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNldHRpbmcuYWxsRW5hYmxlZCA9ICFzZXR0aW5nLmFsbEVuYWJsZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmluZyB0aGUgYWN0aW9uIHRvIGRvIGZvciBjaGVjay91bmNoZWNrIGNoZWNrYm94ZXMgKHNvdXJjZXMpXHJcbiAgICogcmV0dXJuIHRydWUgaWYgYWxsIGNoZWNrYm94IG11c3QgYmUgY2hlY2tlZFxyXG4gICAqIHJldHVybiBmYWxzZSBpZiBhbGwgY2hlY2tib3ggbXVzdCBiZSB1bmNoZWNrZWRcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjb21wdXRlU291cmNlc0NoZWNrQWxsQmVoYXZpb3Ioc291cmNlczogU2VhcmNoU291cmNlW10pIHtcclxuICAgIGNvbnN0IGVuYWJsZWRTb3VyY2VzQ250ID0gc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLmVuYWJsZWQpLmxlbmd0aDtcclxuICAgIGNvbnN0IGRpc2FibGVkU291cmNlc0NudCA9IHNvdXJjZXMuZmlsdGVyKFxyXG4gICAgICAoc291cmNlKSA9PiAhc291cmNlLmVuYWJsZWRcclxuICAgICkubGVuZ3RoO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZCA9XHJcbiAgICAgIGVuYWJsZWRTb3VyY2VzQ250ID49IGRpc2FibGVkU291cmNlc0NudCA/IGZhbHNlIDogdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBjaGVjayBhbGwgLyB1bmNoZWNrIGFsbCB0eXBlIGlzIGNsaWNrZWQsXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgY2hlY2tVbmNoZWNrQWxsKGV2ZW50LCBzb3VyY2U6IFNlYXJjaFNvdXJjZSwgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jb21wdXRlU2V0dGluZ0NoZWNrQWxsQmVoYXZpb3Ioc2V0dGluZyk7XHJcbiAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChzZXR0aW5nVmFsdWUpID0+IHtcclxuICAgICAgc2V0dGluZ1ZhbHVlLmVuYWJsZWQgPSBzZXR0aW5nLmFsbEVuYWJsZWQ7XHJcbiAgICB9KTtcclxuICAgIHNvdXJjZS5zZXRQYXJhbUZyb21TZXR0aW5nKHNldHRpbmcpO1xyXG4gICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIGNoZWNrIGFsbCAvIHVuY2hlY2sgYWxsIHR5cGUgaXMgY2xpY2tlZCxcclxuICAgKiBAaW50ZXJuYWxcclxuICAgKi9cclxuICBjaGVja1VuY2hlY2tBbGxTb3VyY2VzKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuZ2V0U2VhcmNoU291cmNlcygpLm1hcCgoc291cmNlKSA9PiB7XHJcbiAgICAgIHNvdXJjZS5lbmFibGVkID0gdGhpcy5zZWFyY2hTb3VyY2VzQWxsRW5hYmxlZDtcclxuICAgICAgdGhpcy5zZWFyY2hTb3VyY2VDaGFuZ2UuZW1pdChzb3VyY2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmlnZ2VyZWQgd2hlbiBhIHNldHRpbmcgaXMgY2hlY2tlZCAocmFkaW9idXR0b24gc3R5bGUpXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcclxuICAgIGV2ZW50OiBNYXRSYWRpb0NoYW5nZSxcclxuICAgIHNvdXJjZTogU2VhcmNoU291cmNlLFxyXG4gICAgc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MsXHJcbiAgICBzZXR0aW5nVmFsdWU6IFNldHRpbmdPcHRpb25zXHJcbiAgKSB7XHJcbiAgICBzZXR0aW5nLnZhbHVlcy5mb3JFYWNoKChjb25mKSA9PiB7XHJcbiAgICAgIGlmIChjb25mLnZhbHVlICE9PSBzZXR0aW5nVmFsdWUudmFsdWUpIHtcclxuICAgICAgICBjb25mLmVuYWJsZWQgPSAhZXZlbnQuc291cmNlLmNoZWNrZWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uZi5lbmFibGVkID0gZXZlbnQuc291cmNlLmNoZWNrZWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc291cmNlLnNldFBhcmFtRnJvbVNldHRpbmcoc2V0dGluZyk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrU2VhcmNoU291cmNlKGV2ZW50OiBNYXRDaGVja2JveENoYW5nZSwgc291cmNlOiBTZWFyY2hTb3VyY2UpIHtcclxuICAgIHNvdXJjZS5lbmFibGVkID0gZXZlbnQuY2hlY2tlZDtcclxuICAgIGNvbnN0IHN0b3JhZ2UgPSAodGhpcy5zdG9yYWdlU2VydmljZS5nZXQoc291cmNlLmdldElkKCkgKyAnLm9wdGlvbnMnKSB8fFxyXG4gICAgICB7fSkgYXMgU2V0dGluZ09wdGlvbnM7XHJcbiAgICBzdG9yYWdlLmVuYWJsZWQgPSBzb3VyY2UuZW5hYmxlZDtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0KHNvdXJjZS5nZXRJZCgpICsgJy5vcHRpb25zJywgc3RvcmFnZSk7XHJcbiAgICB0aGlzLnNlYXJjaFNvdXJjZUNoYW5nZS5lbWl0KHNvdXJjZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZzogU2VhcmNoU291cmNlU2V0dGluZ3MpIHtcclxuICAgIHJldHVybiBzZXR0aW5nLnZhbHVlcy5maWx0ZXIoKHMpID0+IHMuYXZhaWxhYmxlICE9PSBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBnZXRBdmFpbGFibGVIYXNodGFnc1ZhbHVlcyhzZXR0aW5nOiBTZXR0aW5nT3B0aW9ucykge1xyXG4gICAgaWYgKHNldHRpbmcuaGFzaHRhZ3MpIHtcclxuICAgICAgcmV0dXJuIHNldHRpbmcuaGFzaHRhZ3MubWFwKChoKSA9PiAnIycgKyBoKS5qb2luKCcsICcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVBvaW50ZXJSZXZlcnNlU2VhcmNoKGV2ZW50KSB7XHJcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnBvaW50ZXJTdW1tYXJ5U3RhdHVzLmVtaXQodGhpcy5wb2ludGVyU3VtbWFyeUVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KGV2ZW50KSB7XHJcbiAgICB0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQgPSBldmVudC5jaGVja2VkO1xyXG4gICAgdGhpcy5zZWFyY2hSZXN1bHRzR2VvbWV0cnlTdGF0dXMuZW1pdCh0aGlzLnNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWQpO1xyXG4gIH1cclxuXHJcbiAgcmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdChldmVudCkge1xyXG4gICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZCA9IGV2ZW50LmNoZWNrZWQ7XHJcbiAgICB0aGlzLnJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRTdGF0dXMuZW1pdChcclxuICAgICAgdGhpcy5yZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0RW5hYmxlZFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3NcIj5cclxuICA8YnV0dG9uXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1idXR0b25cIlxyXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cIidpZ28uZ2VvLnNlYXJjaC5tZW51LnRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcclxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZWFyY2hTZXR0aW5nc01lbnVcIlxyXG4gID5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiY2hldnJvbi1kb3duXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI3NlYXJjaFNldHRpbmdzTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIm5vLWJvcmRlci1yYWRpdXNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjaGVja0FsbEJ1dHRvblwiICpuZ0lmPVwiZ2V0U2VhcmNoU291cmNlcygpLmxlbmd0aCA+IDRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiY2hlY2tVbmNoZWNrQWxsU291cmNlcygkZXZlbnQpXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgICFzZWFyY2hTb3VyY2VzQWxsRW5hYmxlZFxyXG4gICAgICAgICAgICA/ICgnaWdvLmdlby5zZWFyY2guc2VhcmNoU291cmNlcy51bnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNlbGVjdEFsbCcgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNvdXJjZSBvZiBnZXRTZWFyY2hTb3VyY2VzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJpZ28tc2VhcmNoLXNldHRpbmdzLXNlYXJjaC1zb3VyY2VcIj5cclxuICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3MtY2hlY2tib3hcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwic291cmNlLmVuYWJsZWRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIiRhbnkoc291cmNlKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25DaGVja1NlYXJjaFNvdXJjZSgkZXZlbnQsIHNvdXJjZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cInNvdXJjZS5zZXR0aW5ncy5sZW5ndGggPiAwXCJcclxuICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJfbWVudVwiXHJcbiAgICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwic291cmNlLnNldHRpbmdzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgICAge3sgc291cmNlLnRpdGxlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPG1hdC1tZW51ICNzdWJfbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZXR0aW5nIG9mIHNvdXJjZS5zZXR0aW5nc1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0ZXN0X3N1Yl9tZW51XCI+XHJcbiAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgJ2lnby5nZW8uc2VhcmNoLnNlYXJjaFNvdXJjZXMuc2V0dGluZ3MuJyArIHNldHRpbmcudGl0bGVcclxuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxtYXQtbWVudVxyXG4gICAgICAgICAgICAjdGVzdF9zdWJfbWVudT1cIm1hdE1lbnVcIlxyXG4gICAgICAgICAgICBbbmdTd2l0Y2hdPVwic2V0dGluZy50eXBlXCJcclxuICAgICAgICAgICAgeVBvc2l0aW9uPVwiYWJvdmVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3JhZGlvYnV0dG9uJ1wiPlxyXG4gICAgICAgICAgICAgIDxtYXQtcmFkaW8tZ3JvdXBcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaWdvLXNlYXJjaC1zZXR0aW5ncy1yYWRpby1ncm91cFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1yYWRpby1idXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBzZXR0aW5nLnZhbHVlc1wiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2V0dGluZ1ZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0QXZhaWxhYmxlSGFzaHRhZ3NWYWx1ZXMoc2V0dGluZ1ZhbHVlKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNldHRpbmdWYWx1ZS5lbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3NWYWx1ZUNoZWNrZWRSYWRpb0J1dHRvbihcclxuICAgICAgICAgICAgICAgICAgICAgICRldmVudCxcclxuICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nVmFsdWVcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IHNldHRpbmdWYWx1ZS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrQWxsQnV0dG9uXCIgKm5nSWY9XCJzZXR0aW5nLnZhbHVlcy5sZW5ndGggPiAzXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGVja1VuY2hlY2tBbGwoJGV2ZW50LCBzb3VyY2UsIHNldHRpbmcpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nLmFsbEVuYWJsZWQgfHwgc2V0dGluZy5hbGxFbmFibGVkID09PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgICAgICAgICAgID8gKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnVuc2VsZWN0QWxsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgICAgICAgICAgIDogKCdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hTb3VyY2VzLnNldHRpbmdzLnNlbGVjdEFsbCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImlnby1zZWFyY2gtc2V0dGluZ3Mtc3ViLW1lbnVcIlxyXG4gICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNldHRpbmdWYWx1ZSBvZiBnZXRBdmFpbGFibGVWYWx1ZXMoc2V0dGluZylcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiZGlzcGxheUJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwic2V0dGluZ1ZhbHVlLmVuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiJGFueShzZXR0aW5nKVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldEF2YWlsYWJsZUhhc2h0YWdzVmFsdWVzKHNldHRpbmdWYWx1ZSlcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcclxuICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1ZhbHVlQ2hlY2tlZENoZWNrYm94KFxyXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgc2V0dGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdWYWx1ZVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgc2V0dGluZ1ZhbHVlLnRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cInBvaW50ZXItc3VtbWFyeS1zbGlkZS10b2dnbGUtY29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlUG9pbnRlclJldmVyc2VTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gICAgICAgICAgKm5nSWY9XCJoYXNQb2ludGVyUmV2ZXJzZVNlYXJjaFNvdXJjZSAmJiAhaXNUb3VjaFNjcmVlblwiXHJcbiAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIlxyXG4gICAgICAgICAgICAnaWdvLmdlby5zZWFyY2gucG9pbnRlclNlYXJjaFN1bW1hcnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIFtjaGVja2VkXT1cInBvaW50ZXJTdW1tYXJ5RW5hYmxlZFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgJ2lnby5nZW8uc2VhcmNoLnBvaW50ZXJTZWFyY2hTdW1tYXJ5LnRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgICAgY2xhc3M9XCJzZWFyY2gtb3B0aW9uXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwiY2hhbmdlU2VhcmNoUmVzdWx0c0dlb21ldHJ5KCRldmVudClcIlxyXG4gICAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudG9vbHRpcCcgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgIFtjaGVja2VkXT1cInNlYXJjaFJlc3VsdHNHZW9tZXRyeUVuYWJsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5zZWFyY2hSZXN1bHRzR2VvbWV0cnkudGl0bGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1vcHRpb25cIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJyZXZlcnNlU2VhcmNoQ29vcmRzRm9ybWF0KCRldmVudClcIlxyXG4gICAgICAgICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgICAgICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgIHJldmVyc2VTZWFyY2hDb29yZHNGb3JtYXRFbmFibGVkXHJcbiAgICAgICAgICAgICAgPyAoJ2lnby5nZW8uc2VhcmNoLnJldmVyc2VDb29yZEZvcm1hdC50b29sdGlwTGF0TG9uJyB8IHRyYW5zbGF0ZSlcclxuICAgICAgICAgICAgICA6ICgnaWdvLmdlby5zZWFyY2gucmV2ZXJzZUNvb3JkRm9ybWF0LnRvb2x0aXBMb25MYXQnIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwicmV2ZXJzZVNlYXJjaENvb3Jkc0Zvcm1hdEVuYWJsZWRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7ICdpZ28uZ2VvLnNlYXJjaC5yZXZlcnNlQ29vcmRGb3JtYXQudGl0bGUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvc3Bhbj5cclxuICA8L21hdC1tZW51PlxyXG48L2Rpdj5cclxuIl19
@@ -1,59 +1,19 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
- import { MatButtonModule } from '@angular/material/button';
4
- import { MatCheckboxModule } from '@angular/material/checkbox';
5
- import { MatDividerModule } from '@angular/material/divider';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatMenuModule } from '@angular/material/menu';
8
- import { MatRadioModule } from '@angular/material/radio';
9
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
10
- import { MatTooltipModule } from '@angular/material/tooltip';
11
- import { IgoLanguageModule } from '@igo2/core';
12
2
  import { SearchSettingsComponent } from './search-settings.component';
13
3
  import * as i0 from "@angular/core";
14
4
  /**
15
- * @ignore
5
+ * @deprecated import the SearchSettingsComponent directly
16
6
  */
17
7
  export class IgoSearchSettingsModule {
18
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchSettingsModule, declarations: [SearchSettingsComponent], imports: [CommonModule,
20
- MatTooltipModule,
21
- MatIconModule,
22
- MatButtonModule,
23
- MatMenuModule,
24
- MatRadioModule,
25
- MatCheckboxModule,
26
- MatDividerModule,
27
- MatSlideToggleModule,
28
- IgoLanguageModule], exports: [SearchSettingsComponent] });
29
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchSettingsModule, imports: [CommonModule,
30
- MatTooltipModule,
31
- MatIconModule,
32
- MatButtonModule,
33
- MatMenuModule,
34
- MatRadioModule,
35
- MatCheckboxModule,
36
- MatDividerModule,
37
- MatSlideToggleModule,
38
- IgoLanguageModule] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchSettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchSettingsModule, imports: [SearchSettingsComponent], exports: [SearchSettingsComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchSettingsModule, imports: [SearchSettingsComponent] });
39
11
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchSettingsModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchSettingsModule, decorators: [{
41
13
  type: NgModule,
42
14
  args: [{
43
- declarations: [SearchSettingsComponent],
44
- imports: [
45
- CommonModule,
46
- MatTooltipModule,
47
- MatIconModule,
48
- MatButtonModule,
49
- MatMenuModule,
50
- MatRadioModule,
51
- MatCheckboxModule,
52
- MatDividerModule,
53
- MatSlideToggleModule,
54
- IgoLanguageModule
55
- ],
15
+ imports: [SearchSettingsComponent],
56
16
  exports: [SearchSettingsComponent]
57
17
  }]
58
18
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQWlCSCxNQUFNLE9BQU8sdUJBQXVCO3dHQUF2Qix1QkFBdUI7eUdBQXZCLHVCQUF1QixpQkFmbkIsdUJBQXVCLGFBRXBDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGlCQUFpQixhQUVULHVCQUF1Qjt5R0FFdEIsdUJBQXVCLFlBYmhDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGlCQUFpQjs7NEZBSVIsdUJBQXVCO2tCQWhCbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IElnb0xhbmd1YWdlTW9kdWxlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGlnbm9yZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtTZWFyY2hTZXR0aW5nc0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRNZW51TW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbU2VhcmNoU2V0dGluZ3NDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSB7fVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNldHRpbmdzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUV0RTs7R0FFRztBQUtILE1BQU0sT0FBTyx1QkFBdUI7dUdBQXZCLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLFlBSHhCLHVCQUF1QixhQUN2Qix1QkFBdUI7d0dBRXRCLHVCQUF1QixZQUh4Qix1QkFBdUI7OzJGQUd0Qix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgaW1wb3J0IHRoZSBTZWFyY2hTZXR0aW5nc0NvbXBvbmVudCBkaXJlY3RseVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbU2VhcmNoU2V0dGluZ3NDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtTZWFyY2hTZXR0aW5nc0NvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,4 +1,3 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { NgModule } from '@angular/core';
3
2
  import { IgoSearchBarModule } from './search-bar/search-bar.module';
4
3
  import { IgoSearchResultsModule } from './search-results/search-results.module';
@@ -24,18 +23,17 @@ export class IgoSearchModule {
24
23
  ]
25
24
  };
26
25
  }
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchModule, declarations: [SearchPointerSummaryDirective], imports: [CommonModule,
29
- IgoSearchBarModule,
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchModule, imports: [IgoSearchBarModule,
30
28
  IgoSearchSelectorModule,
31
29
  IgoSearchResultsModule,
32
- IgoSearchSettingsModule], exports: [IgoSearchBarModule,
30
+ IgoSearchSettingsModule,
31
+ SearchPointerSummaryDirective], exports: [IgoSearchBarModule,
33
32
  IgoSearchSelectorModule,
34
33
  IgoSearchResultsModule,
35
34
  IgoSearchSettingsModule,
36
35
  SearchPointerSummaryDirective] });
37
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchModule, imports: [CommonModule,
38
- IgoSearchBarModule,
36
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchModule, imports: [IgoSearchBarModule,
39
37
  IgoSearchSelectorModule,
40
38
  IgoSearchResultsModule,
41
39
  IgoSearchSettingsModule, IgoSearchBarModule,
@@ -43,15 +41,15 @@ export class IgoSearchModule {
43
41
  IgoSearchResultsModule,
44
42
  IgoSearchSettingsModule] });
45
43
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IgoSearchModule, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: IgoSearchModule, decorators: [{
47
45
  type: NgModule,
48
46
  args: [{
49
47
  imports: [
50
- CommonModule,
51
48
  IgoSearchBarModule,
52
49
  IgoSearchSelectorModule,
53
50
  IgoSearchResultsModule,
54
- IgoSearchSettingsModule
51
+ IgoSearchSettingsModule,
52
+ SearchPointerSummaryDirective
55
53
  ],
56
54
  exports: [
57
55
  IgoSearchBarModule,
@@ -59,8 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
59
57
  IgoSearchResultsModule,
60
58
  IgoSearchSettingsModule,
61
59
  SearchPointerSummaryDirective
62
- ],
63
- declarations: [SearchPointerSummaryDirective]
60
+ ]
64
61
  }]
65
62
  }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEcsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBbUJ2RixNQUFNLE9BQU8sZUFBZTtJQUMxQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYiwwQkFBMEIsRUFBRTtnQkFDNUIsMkNBQTJDLEVBQUU7Z0JBQzdDLDhDQUE4QyxFQUFFO2dCQUNoRCxrQ0FBa0MsRUFBRTthQUNyQztTQUNGLENBQUM7SUFDSixDQUFDO3dHQVpVLGVBQWU7eUdBQWYsZUFBZSxpQkFGWCw2QkFBNkIsYUFiMUMsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHVCQUF1QixhQUd2QixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsNkJBQTZCO3lHQUlwQixlQUFlLFlBZnhCLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix1QkFBdUIsRUFHdkIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsdUJBQXVCOzs0RkFLZCxlQUFlO2tCQWpCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2QjtxQkFDOUI7b0JBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IElnb1NlYXJjaEJhck1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWJhci9zZWFyY2gtYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFJlc3VsdHNNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2VsZWN0b3Ivc2VhcmNoLXNlbGVjdG9yLm1vZHVsZSc7XHJcbmltcG9ydCB7IElnb1NlYXJjaFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtc2V0dGluZ3Mvc2VhcmNoLXNldHRpbmdzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSB9IGZyb20gJy4vc2hhcmVkL3NlYXJjaC1zb3VyY2Utc2VydmljZS5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9jb29yZGluYXRlcy5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlRGVmYXVsdElDaGVyY2hlU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9pY2hlcmNoZS5wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBwcm92aWRlSUxheWVyU2VhcmNoUmVzdWx0Rm9ybWF0dGVyIH0gZnJvbSAnLi9zaGFyZWQvc291cmNlcy9pbGF5ZXIucHJvdmlkZXJzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoQmFyTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hSZXN1bHRzTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIElnb1NlYXJjaEJhck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFNlbGVjdG9yTW9kdWxlLFxyXG4gICAgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSxcclxuICAgIElnb1NlYXJjaFNldHRpbmdzTW9kdWxlLFxyXG4gICAgU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1NlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1NlYXJjaE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb1NlYXJjaE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgU2VhcmNoU2VydmljZSxcclxuICAgICAgICBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSgpLFxyXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKSxcclxuICAgICAgICBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCksXHJcbiAgICAgICAgcHJvdmlkZUlMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlcigpXHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3NlYXJjaC9zZWFyY2gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RyxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFrQnZGLE1BQU0sT0FBTyxlQUFlO0lBQzFCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLFNBQVMsRUFBRTtnQkFDVCxhQUFhO2dCQUNiLDBCQUEwQixFQUFFO2dCQUM1QiwyQ0FBMkMsRUFBRTtnQkFDN0MsOENBQThDLEVBQUU7Z0JBQ2hELGtDQUFrQyxFQUFFO2FBQ3JDO1NBQ0YsQ0FBQztJQUNKLENBQUM7dUdBWlUsZUFBZTt3R0FBZixlQUFlLFlBZHhCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qiw2QkFBNkIsYUFHN0Isa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsdUJBQXVCO1lBQ3ZCLDZCQUE2Qjt3R0FHcEIsZUFBZSxZQWR4QixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLHNCQUFzQjtZQUN0Qix1QkFBdUIsRUFJdkIsa0JBQWtCO1lBQ2xCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsdUJBQXVCOzsyRkFJZCxlQUFlO2tCQWhCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLDZCQUE2QjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWdvU2VhcmNoQmFyTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gtYmFyL3NlYXJjaC1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgSWdvU2VhcmNoUmVzdWx0c01vZHVsZSB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMvc2VhcmNoLXJlc3VsdHMubW9kdWxlJztcclxuaW1wb3J0IHsgSWdvU2VhcmNoU2VsZWN0b3JNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1zZWxlY3Rvci9zZWFyY2gtc2VsZWN0b3IubW9kdWxlJztcclxuaW1wb3J0IHsgSWdvU2VhcmNoU2V0dGluZ3NNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC1zZXR0aW5ncy9zZWFyY2gtc2V0dGluZ3MubW9kdWxlJztcclxuaW1wb3J0IHsgU2VhcmNoUG9pbnRlclN1bW1hcnlEaXJlY3RpdmUgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtcG9pbnRlci1zdW1tYXJ5LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IHByb3ZpZGVTZWFyY2hTb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQvc2VhcmNoLXNvdXJjZS1zZXJ2aWNlLnByb3ZpZGVycyc7XHJcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC9zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IHByb3ZpZGVEZWZhdWx0Q29vcmRpbmF0ZXNTZWFyY2hSZXN1bHRGb3JtYXR0ZXIgfSBmcm9tICcuL3NoYXJlZC9zb3VyY2VzL2Nvb3JkaW5hdGVzLnByb3ZpZGVycyc7XHJcbmltcG9ydCB7IHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIgfSBmcm9tICcuL3NoYXJlZC9zb3VyY2VzL2ljaGVyY2hlLnByb3ZpZGVycyc7XHJcbmltcG9ydCB7IHByb3ZpZGVJTGF5ZXJTZWFyY2hSZXN1bHRGb3JtYXR0ZXIgfSBmcm9tICcuL3NoYXJlZC9zb3VyY2VzL2lsYXllci5wcm92aWRlcnMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSxcclxuICAgIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29TZWFyY2hCYXJNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZWxlY3Rvck1vZHVsZSxcclxuICAgIElnb1NlYXJjaFJlc3VsdHNNb2R1bGUsXHJcbiAgICBJZ29TZWFyY2hTZXR0aW5nc01vZHVsZSxcclxuICAgIFNlYXJjaFBvaW50ZXJTdW1tYXJ5RGlyZWN0aXZlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvU2VhcmNoTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1NlYXJjaE1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb1NlYXJjaE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgU2VhcmNoU2VydmljZSxcclxuICAgICAgICBwcm92aWRlU2VhcmNoU291cmNlU2VydmljZSgpLFxyXG4gICAgICAgIHByb3ZpZGVEZWZhdWx0SUNoZXJjaGVTZWFyY2hSZXN1bHRGb3JtYXR0ZXIoKSxcclxuICAgICAgICBwcm92aWRlRGVmYXVsdENvb3JkaW5hdGVzU2VhcmNoUmVzdWx0Rm9ybWF0dGVyKCksXHJcbiAgICAgICAgcHJvdmlkZUlMYXllclNlYXJjaFJlc3VsdEZvcm1hdHRlcigpXHJcbiAgICAgIF1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6,4 +6,4 @@ export * from './search-source.service';
6
6
  export * from './search-source-service.providers';
7
7
  export * from './search.utils';
8
8
  export * from './sources';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlYXJjaC5lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXBvaW50ZXItc3VtbWFyeS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1zb3VyY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1zb3VyY2Utc2VydmljZS5wcm92aWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3VyY2VzJztcbiJdfQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9zZWFyY2gvc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlYXJjaC5lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLmludGVyZmFjZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1wb2ludGVyLXN1bW1hcnkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLXNvdXJjZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtc291cmNlLXNlcnZpY2UucHJvdmlkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvdXJjZXMnO1xyXG4iXX0=