@igo2/geo 1.11.0 → 1.12.1

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 (485) hide show
  1. package/assets/icons/cross_black_18px.svg +88 -88
  2. package/assets/icons/place_blue_36px.svg +55 -55
  3. package/assets/icons/place_green_36px.svg +55 -55
  4. package/assets/icons/place_red_36px.svg +55 -55
  5. package/assets/icons/place_yellow_36px.svg +55 -55
  6. package/bundles/igo2-geo.umd.js +3075 -1245
  7. package/bundles/igo2-geo.umd.js.map +1 -1
  8. package/esm2015/lib/catalog/catalog-browser/catalog-browser-group.component.js +1 -1
  9. package/esm2015/lib/catalog/catalog-browser/catalog-browser-layer.component.js +1 -1
  10. package/esm2015/lib/catalog/catalog-browser/catalog-browser.component.js +1 -1
  11. package/esm2015/lib/catalog/catalog-browser/catalog-browser.module.js +1 -1
  12. package/esm2015/lib/catalog/catalog-library/add-catalog-dialog.component.js +1 -1
  13. package/esm2015/lib/catalog/catalog-library/catalog-library-item.component.js +1 -1
  14. package/esm2015/lib/catalog/catalog-library/catalog-library.component.js +1 -1
  15. package/esm2015/lib/catalog/catalog-library/catalog-library.module.js +1 -1
  16. package/esm2015/lib/catalog/catalog.module.js +1 -1
  17. package/esm2015/lib/catalog/index.js +1 -1
  18. package/esm2015/lib/catalog/shared/catalog.abstract.js +1 -1
  19. package/esm2015/lib/catalog/shared/catalog.enum.js +1 -1
  20. package/esm2015/lib/catalog/shared/catalog.interface.js +1 -1
  21. package/esm2015/lib/catalog/shared/catalog.service.js +113 -42
  22. package/esm2015/lib/catalog/shared/index.js +1 -1
  23. package/esm2015/lib/datasource/datasource.module.js +1 -1
  24. package/esm2015/lib/datasource/index.js +1 -1
  25. package/esm2015/lib/datasource/shared/capabilities.service.js +1 -1
  26. package/esm2015/lib/datasource/shared/datasource.service.js +1 -1
  27. package/esm2015/lib/datasource/shared/datasources/any-datasource.interface.js +1 -1
  28. package/esm2015/lib/datasource/shared/datasources/any-datasource.js +1 -1
  29. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.interface.js +1 -1
  30. package/esm2015/lib/datasource/shared/datasources/arcgisrest-datasource.js +1 -1
  31. package/esm2015/lib/datasource/shared/datasources/carto-datasource.interface.js +1 -1
  32. package/esm2015/lib/datasource/shared/datasources/carto-datasource.js +1 -1
  33. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.interface.js +1 -1
  34. package/esm2015/lib/datasource/shared/datasources/cluster-datasource.js +1 -1
  35. package/esm2015/lib/datasource/shared/datasources/data.service.js +1 -1
  36. package/esm2015/lib/datasource/shared/datasources/datasource.interface.js +1 -1
  37. package/esm2015/lib/datasource/shared/datasources/datasource.js +1 -1
  38. package/esm2015/lib/datasource/shared/datasources/feature-datasource.interface.js +1 -1
  39. package/esm2015/lib/datasource/shared/datasources/feature-datasource.js +1 -1
  40. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.js +1 -1
  41. package/esm2015/lib/datasource/shared/datasources/imagearcgisrest-datasource.js +1 -1
  42. package/esm2015/lib/datasource/shared/datasources/index.js +1 -1
  43. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.interface.js +1 -1
  44. package/esm2015/lib/datasource/shared/datasources/mvt-datasource.js +1 -1
  45. package/esm2015/lib/datasource/shared/datasources/osm-datasource.interface.js +1 -1
  46. package/esm2015/lib/datasource/shared/datasources/osm-datasource.js +1 -1
  47. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.interface.js +1 -1
  48. package/esm2015/lib/datasource/shared/datasources/tilearcgisrest-datasource.js +1 -1
  49. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.interface.js +1 -1
  50. package/esm2015/lib/datasource/shared/datasources/tiledebug-datasource.js +1 -1
  51. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.interface.js +1 -1
  52. package/esm2015/lib/datasource/shared/datasources/websocket-datasource.js +1 -1
  53. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.interface.js +1 -1
  54. package/esm2015/lib/datasource/shared/datasources/wfs-datasource.js +4 -1
  55. package/esm2015/lib/datasource/shared/datasources/wfs.service.js +1 -1
  56. package/esm2015/lib/datasource/shared/datasources/wms-datasource.interface.js +1 -1
  57. package/esm2015/lib/datasource/shared/datasources/wms-datasource.js +5 -2
  58. package/esm2015/lib/datasource/shared/datasources/wms-wfs.utils.js +1 -1
  59. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.interface.js +1 -1
  60. package/esm2015/lib/datasource/shared/datasources/wmts-datasource.js +1 -1
  61. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.interface.js +1 -1
  62. package/esm2015/lib/datasource/shared/datasources/xyz-datasource.js +1 -1
  63. package/esm2015/lib/datasource/shared/index.js +1 -1
  64. package/esm2015/lib/datasource/shared/options/index.js +1 -1
  65. package/esm2015/lib/datasource/shared/options/options-api.interface.js +1 -1
  66. package/esm2015/lib/datasource/shared/options/options-api.providers.js +1 -1
  67. package/esm2015/lib/datasource/shared/options/options-api.service.js +1 -1
  68. package/esm2015/lib/datasource/shared/options/options.service.js +1 -1
  69. package/esm2015/lib/datasource/utils/esri-style-generator.js +1 -1
  70. package/esm2015/lib/datasource/utils/index.js +1 -1
  71. package/esm2015/lib/datasource/utils/tilegrid.js +1 -1
  72. package/esm2015/lib/directions/directions-buttons/directions-buttons.component.js +1 -1
  73. package/esm2015/lib/directions/directions-buttons/index.js +1 -1
  74. package/esm2015/lib/directions/directions-inputs/directions-inputs.component.js +1 -1
  75. package/esm2015/lib/directions/directions-inputs/index.js +1 -1
  76. package/esm2015/lib/directions/directions-results/directions-results.component.js +1 -1
  77. package/esm2015/lib/directions/directions-results/index.js +1 -1
  78. package/esm2015/lib/directions/directions-sources/directions-source.interface.js +1 -1
  79. package/esm2015/lib/directions/directions-sources/directions-source.js +1 -1
  80. package/esm2015/lib/directions/directions-sources/directions-source.provider.js +1 -1
  81. package/esm2015/lib/directions/directions-sources/index.js +1 -1
  82. package/esm2015/lib/directions/directions-sources/osrm-directions-source.js +1 -1
  83. package/esm2015/lib/directions/directions.component.js +1 -1
  84. package/esm2015/lib/directions/directions.module.js +1 -1
  85. package/esm2015/lib/directions/index.js +1 -1
  86. package/esm2015/lib/directions/shared/directions-source.service.js +1 -1
  87. package/esm2015/lib/directions/shared/directions.enum.js +1 -1
  88. package/esm2015/lib/directions/shared/directions.interface.js +1 -1
  89. package/esm2015/lib/directions/shared/directions.service.js +1 -1
  90. package/esm2015/lib/directions/shared/directions.utils.js +1 -1
  91. package/esm2015/lib/directions/shared/index.js +1 -1
  92. package/esm2015/lib/directions/shared/store.js +1 -1
  93. package/esm2015/lib/download/download-button/download-button.component.js +1 -1
  94. package/esm2015/lib/download/download-button/index.js +1 -1
  95. package/esm2015/lib/download/download.module.js +1 -1
  96. package/esm2015/lib/download/index.js +1 -1
  97. package/esm2015/lib/download/shared/download.interface.js +1 -1
  98. package/esm2015/lib/download/shared/download.service.js +1 -1
  99. package/esm2015/lib/download/shared/index.js +1 -1
  100. package/esm2015/lib/draw/draw/draw-popup.component.js +21 -15
  101. package/esm2015/lib/draw/draw/draw-shorcuts.component.js +1 -1
  102. package/esm2015/lib/draw/draw/draw.component.js +185 -77
  103. package/esm2015/lib/draw/draw/draw.module.js +1 -1
  104. package/esm2015/lib/draw/drawingTool.module.js +1 -1
  105. package/esm2015/lib/draw/index.js +1 -1
  106. package/esm2015/lib/draw/shared/draw-icon.service.js +1 -1
  107. package/esm2015/lib/draw/shared/draw-style.service.js +24 -5
  108. package/esm2015/lib/draw/shared/draw.enum.js +17 -1
  109. package/esm2015/lib/draw/shared/draw.interface.js +1 -1
  110. package/esm2015/lib/draw/shared/draw.utils.js +1 -1
  111. package/esm2015/lib/draw/shared/index.js +1 -1
  112. package/esm2015/lib/feature/feature-details/feature-details.component.js +119 -43
  113. package/esm2015/lib/feature/feature-details/feature-details.directive.js +2 -57
  114. package/esm2015/lib/feature/feature-details/feature-details.module.js +1 -1
  115. package/esm2015/lib/feature/feature-form/feature-form.component.js +1 -1
  116. package/esm2015/lib/feature/feature-form/feature-form.module.js +1 -1
  117. package/esm2015/lib/feature/feature.module.js +1 -1
  118. package/esm2015/lib/feature/index.js +1 -1
  119. package/esm2015/lib/feature/shared/feature.enums.js +1 -1
  120. package/esm2015/lib/feature/shared/feature.interfaces.js +1 -1
  121. package/esm2015/lib/feature/shared/feature.utils.js +1 -1
  122. package/esm2015/lib/feature/shared/index.js +1 -1
  123. package/esm2015/lib/feature/shared/store.js +1 -1
  124. package/esm2015/lib/feature/shared/strategies/in-map-extent.js +1 -1
  125. package/esm2015/lib/feature/shared/strategies/in-map-resolution.js +1 -1
  126. package/esm2015/lib/feature/shared/strategies/index.js +1 -1
  127. package/esm2015/lib/feature/shared/strategies/loading-layer.js +1 -1
  128. package/esm2015/lib/feature/shared/strategies/loading.js +1 -1
  129. package/esm2015/lib/feature/shared/strategies/selection.js +1 -1
  130. package/esm2015/lib/feature/shared/strategies.utils.js +1 -1
  131. package/esm2015/lib/filter/filter.module.js +6 -3
  132. package/esm2015/lib/filter/index.js +1 -1
  133. package/esm2015/lib/filter/ogc-filter-button/index.js +1 -1
  134. package/esm2015/lib/filter/ogc-filter-button/ogc-filter-button.component.js +32 -7
  135. package/esm2015/lib/filter/ogc-filter-form/index.js +1 -1
  136. package/esm2015/lib/filter/ogc-filter-form/ogc-filter-form.component.js +1 -1
  137. package/esm2015/lib/filter/ogc-filter-selection/index.js +1 -1
  138. package/esm2015/lib/filter/ogc-filter-selection/ogc-filter-selection.component.js +652 -290
  139. package/esm2015/lib/filter/ogc-filter-time/index.js +1 -1
  140. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.js +1 -1
  141. package/esm2015/lib/filter/ogc-filter-time/ogc-filter-time.component.js +1 -1
  142. package/esm2015/lib/filter/ogc-filterable-form/index.js +1 -1
  143. package/esm2015/lib/filter/ogc-filterable-form/ogc-filterable-form.component.js +1 -1
  144. package/esm2015/lib/filter/ogc-filterable-item/index.js +1 -1
  145. package/esm2015/lib/filter/ogc-filterable-item/ogc-filterable-item.component.js +3 -2
  146. package/esm2015/lib/filter/ogc-filterable-list/index.js +1 -1
  147. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.js +1 -1
  148. package/esm2015/lib/filter/ogc-filterable-list/ogc-filterable-list.component.js +1 -1
  149. package/esm2015/lib/filter/shared/filterable-datasource.pipe.js +3 -2
  150. package/esm2015/lib/filter/shared/index.js +1 -1
  151. package/esm2015/lib/filter/shared/ogc-filter-time.service.js +1 -1
  152. package/esm2015/lib/filter/shared/ogc-filter.enum.js +1 -1
  153. package/esm2015/lib/filter/shared/ogc-filter.interface.js +1 -1
  154. package/esm2015/lib/filter/shared/ogc-filter.js +17 -6
  155. package/esm2015/lib/filter/shared/ogc-filter.service.js +1 -1
  156. package/esm2015/lib/filter/shared/spatial-filter.enum.js +1 -1
  157. package/esm2015/lib/filter/shared/spatial-filter.interface.js +1 -1
  158. package/esm2015/lib/filter/shared/spatial-filter.service.js +1 -1
  159. package/esm2015/lib/filter/shared/time-filter.enum.js +1 -1
  160. package/esm2015/lib/filter/shared/time-filter.interface.js +1 -1
  161. package/esm2015/lib/filter/shared/time-filter.service.js +1 -1
  162. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/index.js +1 -1
  163. package/esm2015/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.js +1 -1
  164. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/index.js +1 -1
  165. package/esm2015/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.js +1 -1
  166. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/index.js +1 -1
  167. package/esm2015/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.js +1 -1
  168. package/esm2015/lib/filter/time-filter-button/index.js +1 -1
  169. package/esm2015/lib/filter/time-filter-button/time-filter-button.component.js +1 -1
  170. package/esm2015/lib/filter/time-filter-form/index.js +1 -1
  171. package/esm2015/lib/filter/time-filter-form/time-filter-form.component.js +1 -1
  172. package/esm2015/lib/filter/time-filter-item/index.js +1 -1
  173. package/esm2015/lib/filter/time-filter-item/time-filter-item.component.js +1 -1
  174. package/esm2015/lib/filter/time-filter-list/index.js +1 -1
  175. package/esm2015/lib/filter/time-filter-list/time-filter-list-binding.directive.js +1 -1
  176. package/esm2015/lib/filter/time-filter-list/time-filter-list.component.js +1 -1
  177. package/esm2015/lib/geo.module.js +1 -1
  178. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field-input.component.js +1 -1
  179. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.component.js +1 -1
  180. package/esm2015/lib/geometry/geometry-form-field/geometry-form-field.module.js +1 -1
  181. package/esm2015/lib/geometry/geometry.module.js +1 -1
  182. package/esm2015/lib/geometry/index.js +1 -1
  183. package/esm2015/lib/geometry/shared/controls/draw.js +1 -1
  184. package/esm2015/lib/geometry/shared/controls/index.js +1 -1
  185. package/esm2015/lib/geometry/shared/controls/modify.js +1 -1
  186. package/esm2015/lib/geometry/shared/controls/slice.js +1 -1
  187. package/esm2015/lib/geometry/shared/geometry.errors.js +1 -1
  188. package/esm2015/lib/geometry/shared/geometry.interfaces.js +1 -1
  189. package/esm2015/lib/geometry/shared/geometry.utils.js +1 -1
  190. package/esm2015/lib/geometry/shared/index.js +1 -1
  191. package/esm2015/lib/import-export/export-button/export-button.component.js +1 -1
  192. package/esm2015/lib/import-export/export-button/index.js +1 -1
  193. package/esm2015/lib/import-export/import-export/import-export.component.js +1 -1
  194. package/esm2015/lib/import-export/import-export/index.js +1 -1
  195. package/esm2015/lib/import-export/import-export.module.js +1 -1
  196. package/esm2015/lib/import-export/index.js +1 -1
  197. package/esm2015/lib/import-export/shared/drop-geo-file.directive.js +1 -1
  198. package/esm2015/lib/import-export/shared/export.errors.js +1 -1
  199. package/esm2015/lib/import-export/shared/export.interface.js +1 -1
  200. package/esm2015/lib/import-export/shared/export.service.js +10 -2
  201. package/esm2015/lib/import-export/shared/export.type.js +1 -1
  202. package/esm2015/lib/import-export/shared/export.utils.js +1 -1
  203. package/esm2015/lib/import-export/shared/import.errors.js +1 -1
  204. package/esm2015/lib/import-export/shared/import.interface.js +1 -1
  205. package/esm2015/lib/import-export/shared/import.service.js +1 -1
  206. package/esm2015/lib/import-export/shared/import.utils.js +65 -38
  207. package/esm2015/lib/import-export/shared/index.js +1 -1
  208. package/esm2015/lib/import-export/style-list/index.js +1 -1
  209. package/esm2015/lib/import-export/style-list/style-list.interface.js +1 -1
  210. package/esm2015/lib/import-export/style-list/style-list.module.js +1 -1
  211. package/esm2015/lib/import-export/style-list/style-list.provider.js +1 -1
  212. package/esm2015/lib/import-export/style-list/style-list.service.js +1 -1
  213. package/esm2015/lib/layer/index.js +1 -1
  214. package/esm2015/lib/layer/layer-item/index.js +1 -1
  215. package/esm2015/lib/layer/layer-item/layer-item.component.js +15 -8
  216. package/esm2015/lib/layer/layer-legend/index.js +1 -1
  217. package/esm2015/lib/layer/layer-legend/layer-legend.component.js +6 -5
  218. package/esm2015/lib/layer/layer-legend-item/index.js +1 -1
  219. package/esm2015/lib/layer/layer-legend-item/layer-legend-item.component.js +1 -1
  220. package/esm2015/lib/layer/layer-legend-list/index.js +1 -1
  221. package/esm2015/lib/layer/layer-legend-list/layer-legend-list-binding.directive.js +1 -1
  222. package/esm2015/lib/layer/layer-legend-list/layer-legend-list.component.js +1 -1
  223. package/esm2015/lib/layer/layer-list/index.js +1 -1
  224. package/esm2015/lib/layer/layer-list/layer-list-binding.directive.js +1 -1
  225. package/esm2015/lib/layer/layer-list/layer-list.component.js +2 -2
  226. package/esm2015/lib/layer/layer-list/layer-list.enum.js +1 -1
  227. package/esm2015/lib/layer/layer-list-tool/index.js +1 -1
  228. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.component.js +1 -1
  229. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.enum.js +1 -1
  230. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.interface.js +1 -1
  231. package/esm2015/lib/layer/layer-list-tool/layer-list-tool.service.js +1 -1
  232. package/esm2015/lib/layer/layer.module.js +1 -1
  233. package/esm2015/lib/layer/shared/clusterParam.js +1 -1
  234. package/esm2015/lib/layer/shared/index.js +1 -1
  235. package/esm2015/lib/layer/shared/layer.enums.js +1 -1
  236. package/esm2015/lib/layer/shared/layer.service.js +44 -20
  237. package/esm2015/lib/layer/shared/layers/any-layer.interface.js +1 -1
  238. package/esm2015/lib/layer/shared/layers/any-layer.js +1 -1
  239. package/esm2015/lib/layer/shared/layers/image-layer.interface.js +1 -1
  240. package/esm2015/lib/layer/shared/layers/image-layer.js +1 -1
  241. package/esm2015/lib/layer/shared/layers/index.js +1 -1
  242. package/esm2015/lib/layer/shared/layers/layer.interface.js +1 -1
  243. package/esm2015/lib/layer/shared/layers/layer.js +1 -1
  244. package/esm2015/lib/layer/shared/layers/tile-layer.interface.js +1 -1
  245. package/esm2015/lib/layer/shared/layers/tile-layer.js +1 -1
  246. package/esm2015/lib/layer/shared/layers/vector-layer.interface.js +1 -1
  247. package/esm2015/lib/layer/shared/layers/vector-layer.js +94 -43
  248. package/esm2015/lib/layer/shared/layers/vectortile-layer.interface.js +1 -1
  249. package/esm2015/lib/layer/shared/layers/vectortile-layer.js +1 -1
  250. package/esm2015/lib/layer/shared/style.service.js +80 -11
  251. package/esm2015/lib/layer/shared/vector-style.interface.js +1 -1
  252. package/esm2015/lib/layer/track-feature-button/index.js +1 -1
  253. package/esm2015/lib/layer/track-feature-button/track-feature-button.component.js +1 -1
  254. package/esm2015/lib/layer/utils/image-watcher.js +1 -1
  255. package/esm2015/lib/layer/utils/index.js +1 -1
  256. package/esm2015/lib/layer/utils/layer.utils.js +1 -1
  257. package/esm2015/lib/layer/utils/layerSync-watcher.js +4 -8
  258. package/esm2015/lib/layer/utils/outputLegend.js +5 -3
  259. package/esm2015/lib/layer/utils/tile-watcher.js +1 -1
  260. package/esm2015/lib/layer/utils/vector-watcher.js +1 -1
  261. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.animation.js +1 -1
  262. package/esm2015/lib/map/baselayers-switcher/baselayers-switcher.component.js +1 -1
  263. package/esm2015/lib/map/baselayers-switcher/index.js +1 -1
  264. package/esm2015/lib/map/baselayers-switcher/mini-basemap.component.js +1 -1
  265. package/esm2015/lib/map/geolocate-button/geolocate-button.component.js +52 -17
  266. package/esm2015/lib/map/geolocate-button/index.js +1 -1
  267. package/esm2015/lib/map/index.js +2 -1
  268. package/esm2015/lib/map/info-section/index.js +1 -1
  269. package/esm2015/lib/map/info-section/info-section.component.js +1 -1
  270. package/esm2015/lib/map/map-browser/index.js +1 -1
  271. package/esm2015/lib/map/map-browser/map-browser.component.js +2 -2
  272. package/esm2015/lib/map/map-center/index.js +1 -1
  273. package/esm2015/lib/map/map-center/map-center.component.js +1 -1
  274. package/esm2015/lib/map/map.module.js +6 -1
  275. package/esm2015/lib/map/menu-button/index.js +1 -1
  276. package/esm2015/lib/map/menu-button/menu-button.component.js +1 -1
  277. package/esm2015/lib/map/offline-button/index.js +1 -1
  278. package/esm2015/lib/map/offline-button/offline-button.component.js +1 -1
  279. package/esm2015/lib/map/rotation-button/index.js +1 -1
  280. package/esm2015/lib/map/rotation-button/rotation-button.component.js +1 -1
  281. package/esm2015/lib/map/shared/controllers/controller.js +1 -1
  282. package/esm2015/lib/map/shared/controllers/geolocation.js +310 -0
  283. package/esm2015/lib/map/shared/controllers/index.js +2 -1
  284. package/esm2015/lib/map/shared/controllers/view.js +17 -1
  285. package/esm2015/lib/map/shared/hover-feature.directive.js +8 -7
  286. package/esm2015/lib/map/shared/index.js +1 -1
  287. package/esm2015/lib/map/shared/map-pointer-position.directive.js +1 -1
  288. package/esm2015/lib/map/shared/map.enums.js +1 -1
  289. package/esm2015/lib/map/shared/map.interface.js +1 -1
  290. package/esm2015/lib/map/shared/map.js +15 -135
  291. package/esm2015/lib/map/shared/map.service.js +1 -1
  292. package/esm2015/lib/map/shared/map.utils.js +1 -1
  293. package/esm2015/lib/map/shared/mapOffline.directive.js +1 -1
  294. package/esm2015/lib/map/shared/projection.interfaces.js +1 -1
  295. package/esm2015/lib/map/shared/projection.service.js +1 -1
  296. package/esm2015/lib/map/shared/projection.utils.js +1 -1
  297. package/esm2015/lib/map/swipe-control/index.js +1 -1
  298. package/esm2015/lib/map/swipe-control/swipe-control.component.js +1 -1
  299. package/esm2015/lib/map/utils/layer-watcher.js +1 -1
  300. package/esm2015/lib/map/wake-lock-button/index.js +2 -0
  301. package/esm2015/lib/map/wake-lock-button/wake-lock-button.component.js +122 -0
  302. package/esm2015/lib/map/zoom-button/index.js +1 -1
  303. package/esm2015/lib/map/zoom-button/zoom-button.component.js +1 -1
  304. package/esm2015/lib/measure/index.js +1 -1
  305. package/esm2015/lib/measure/measure.module.js +1 -1
  306. package/esm2015/lib/measure/measurer/measure-format.pipe.js +1 -1
  307. package/esm2015/lib/measure/measurer/measurer-dialog.component.js +1 -1
  308. package/esm2015/lib/measure/measurer/measurer-item.component.js +1 -1
  309. package/esm2015/lib/measure/measurer/measurer.component.js +1 -1
  310. package/esm2015/lib/measure/measurer/measurer.module.js +1 -1
  311. package/esm2015/lib/measure/shared/index.js +1 -1
  312. package/esm2015/lib/measure/shared/measure.enum.js +1 -1
  313. package/esm2015/lib/measure/shared/measure.interfaces.js +1 -1
  314. package/esm2015/lib/measure/shared/measure.utils.js +1 -1
  315. package/esm2015/lib/metadata/index.js +1 -1
  316. package/esm2015/lib/metadata/metadata-button/index.js +1 -1
  317. package/esm2015/lib/metadata/metadata-button/metadata-button.component.js +13 -2
  318. package/esm2015/lib/metadata/metadata.module.js +1 -1
  319. package/esm2015/lib/metadata/shared/index.js +1 -1
  320. package/esm2015/lib/metadata/shared/metadata.interface.js +1 -1
  321. package/esm2015/lib/metadata/shared/metadata.service.js +1 -1
  322. package/esm2015/lib/offline/geoDB/geoDB.enums.js +6 -0
  323. package/esm2015/lib/offline/geoDB/geoDB.interface.js +2 -0
  324. package/esm2015/lib/offline/geoDB/geoDB.service.js +161 -0
  325. package/esm2015/lib/offline/geoDB/index.js +4 -0
  326. package/esm2015/lib/offline/index.js +3 -0
  327. package/esm2015/lib/offline/shared/geo-network.service.js +66 -0
  328. package/esm2015/lib/offline/shared/index.js +2 -0
  329. package/esm2015/lib/overlay/index.js +1 -1
  330. package/esm2015/lib/overlay/overlay.module.js +1 -1
  331. package/esm2015/lib/overlay/shared/index.js +1 -1
  332. package/esm2015/lib/overlay/shared/overlay-marker-style.utils.js +1 -1
  333. package/esm2015/lib/overlay/shared/overlay.directive.js +1 -1
  334. package/esm2015/lib/overlay/shared/overlay.enum.js +1 -1
  335. package/esm2015/lib/overlay/shared/overlay.js +1 -1
  336. package/esm2015/lib/overlay/shared/overlay.service.js +1 -1
  337. package/esm2015/lib/overlay/shared/overlay.utils.js +3 -3
  338. package/esm2015/lib/print/index.js +1 -1
  339. package/esm2015/lib/print/print/print.component.js +1 -1
  340. package/esm2015/lib/print/print-form/index.js +1 -1
  341. package/esm2015/lib/print/print-form/print-form.component.js +1 -1
  342. package/esm2015/lib/print/print.module.js +1 -1
  343. package/esm2015/lib/print/shared/index.js +1 -1
  344. package/esm2015/lib/print/shared/print.interface.js +1 -1
  345. package/esm2015/lib/print/shared/print.service.js +22 -16
  346. package/esm2015/lib/print/shared/print.type.js +1 -1
  347. package/esm2015/lib/query/index.js +1 -1
  348. package/esm2015/lib/query/query.module.js +5 -4
  349. package/esm2015/lib/query/shared/index.js +1 -1
  350. package/esm2015/lib/query/shared/query-search-source.js +1 -1
  351. package/esm2015/lib/query/shared/query-search-source.providers.js +1 -1
  352. package/esm2015/lib/query/shared/query.directive.js +1 -1
  353. package/esm2015/lib/query/shared/query.enums.js +1 -1
  354. package/esm2015/lib/query/shared/query.interfaces.js +1 -1
  355. package/esm2015/lib/query/shared/query.service.js +33 -6
  356. package/esm2015/lib/query/shared/query.utils.js +1 -1
  357. package/esm2015/lib/search/index.js +1 -1
  358. package/esm2015/lib/search/search-bar/search-bar.component.js +1 -1
  359. package/esm2015/lib/search/search-bar/search-bar.module.js +1 -1
  360. package/esm2015/lib/search/search-bar/search-url-param.directive.js +1 -1
  361. package/esm2015/lib/search/search-results/search-results-add-button.component.js +1 -1
  362. package/esm2015/lib/search/search-results/search-results-item.component.js +1 -1
  363. package/esm2015/lib/search/search-results/search-results.component.js +1 -1
  364. package/esm2015/lib/search/search-results/search-results.module.js +1 -1
  365. package/esm2015/lib/search/search-selector/search-selector.component.js +1 -1
  366. package/esm2015/lib/search/search-selector/search-selector.module.js +1 -1
  367. package/esm2015/lib/search/search-settings/search-settings.component.js +1 -1
  368. package/esm2015/lib/search/search-settings/search-settings.module.js +1 -1
  369. package/esm2015/lib/search/search.module.js +1 -1
  370. package/esm2015/lib/search/shared/index.js +1 -1
  371. package/esm2015/lib/search/shared/search-pointer-summary.directive.js +1 -1
  372. package/esm2015/lib/search/shared/search-source-service.providers.js +1 -1
  373. package/esm2015/lib/search/shared/search-source.service.js +1 -1
  374. package/esm2015/lib/search/shared/search.enums.js +1 -1
  375. package/esm2015/lib/search/shared/search.interfaces.js +1 -1
  376. package/esm2015/lib/search/shared/search.service.js +1 -1
  377. package/esm2015/lib/search/shared/search.utils.js +1 -1
  378. package/esm2015/lib/search/shared/sources/cadastre.js +1 -1
  379. package/esm2015/lib/search/shared/sources/cadastre.providers.js +1 -1
  380. package/esm2015/lib/search/shared/sources/coordinates.interfaces.js +1 -1
  381. package/esm2015/lib/search/shared/sources/coordinates.js +1 -1
  382. package/esm2015/lib/search/shared/sources/coordinates.providers.js +1 -1
  383. package/esm2015/lib/search/shared/sources/icherche.interfaces.js +1 -1
  384. package/esm2015/lib/search/shared/sources/icherche.js +1 -1
  385. package/esm2015/lib/search/shared/sources/icherche.providers.js +1 -1
  386. package/esm2015/lib/search/shared/sources/ilayer.interfaces.js +1 -1
  387. package/esm2015/lib/search/shared/sources/ilayer.js +1 -1
  388. package/esm2015/lib/search/shared/sources/ilayer.providers.js +1 -1
  389. package/esm2015/lib/search/shared/sources/index.js +1 -1
  390. package/esm2015/lib/search/shared/sources/nominatim.interfaces.js +1 -1
  391. package/esm2015/lib/search/shared/sources/nominatim.js +2 -2
  392. package/esm2015/lib/search/shared/sources/nominatim.providers.js +1 -1
  393. package/esm2015/lib/search/shared/sources/source.interfaces.js +1 -1
  394. package/esm2015/lib/search/shared/sources/source.js +2 -2
  395. package/esm2015/lib/search/shared/sources/storedqueries.interfaces.js +1 -1
  396. package/esm2015/lib/search/shared/sources/storedqueries.js +1 -1
  397. package/esm2015/lib/search/shared/sources/storedqueries.providers.js +1 -1
  398. package/esm2015/lib/toast/index.js +1 -1
  399. package/esm2015/lib/toast/toast.component.js +1 -1
  400. package/esm2015/lib/toast/toast.module.js +1 -1
  401. package/esm2015/lib/utils/commonVectorStyle.interface.js +1 -1
  402. package/esm2015/lib/utils/commonVectorStyle.js +1 -1
  403. package/esm2015/lib/utils/googleLinks.js +1 -1
  404. package/esm2015/lib/utils/id-generator.js +1 -1
  405. package/esm2015/lib/utils/index.js +1 -1
  406. package/esm2015/lib/utils/osmLinks.js +1 -1
  407. package/esm2015/lib/wkt/index.js +1 -1
  408. package/esm2015/lib/wkt/shared/index.js +1 -1
  409. package/esm2015/lib/wkt/shared/wkt.service.js +15 -15
  410. package/esm2015/lib/wkt/wkt.module.js +1 -1
  411. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.component.js +1 -1
  412. package/esm2015/lib/workspace/confirmation-popup/confirmation-popup.module.js +1 -1
  413. package/esm2015/lib/workspace/confirmation-popup/index.js +1 -1
  414. package/esm2015/lib/workspace/index.js +1 -1
  415. package/esm2015/lib/workspace/shared/edition-workspace.js +12 -4
  416. package/esm2015/lib/workspace/shared/edition-workspace.service.js +40 -13
  417. package/esm2015/lib/workspace/shared/feature-workspace.js +1 -1
  418. package/esm2015/lib/workspace/shared/feature-workspace.service.js +10 -5
  419. package/esm2015/lib/workspace/shared/index.js +1 -1
  420. package/esm2015/lib/workspace/shared/wfs-workspace.js +1 -1
  421. package/esm2015/lib/workspace/shared/wfs-workspace.service.js +10 -5
  422. package/esm2015/lib/workspace/shared/wms-workspace.service.js +31 -7
  423. package/esm2015/lib/workspace/shared/workspace.utils.js +1 -1
  424. package/esm2015/lib/workspace/widgets/index.js +1 -1
  425. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.component.js +1 -1
  426. package/esm2015/lib/workspace/widgets/ogc-filter/ogc-filter.module.js +1 -1
  427. package/esm2015/lib/workspace/widgets/widgets.js +1 -1
  428. package/esm2015/lib/workspace/workspace-selector/workspace-selector.directive.js +1 -1
  429. package/esm2015/lib/workspace/workspace-selector/workspace-selector.module.js +1 -1
  430. package/esm2015/lib/workspace/workspace-updator/workspace-updator.directive.js +1 -1
  431. package/esm2015/lib/workspace/workspace-updator/workspace-updator.module.js +1 -1
  432. package/esm2015/lib/workspace/workspace.module.js +1 -1
  433. package/esm2015/public_api.js +2 -1
  434. package/fesm2015/igo2-geo.js +2453 -946
  435. package/fesm2015/igo2-geo.js.map +1 -1
  436. package/lib/catalog/shared/catalog.interface.d.ts +9 -1
  437. package/lib/catalog/shared/catalog.service.d.ts +1 -0
  438. package/lib/datasource/shared/datasources/datasource.interface.d.ts +7 -1
  439. package/lib/draw/draw/draw-popup.component.d.ts +4 -2
  440. package/lib/draw/draw/draw.component.d.ts +19 -2
  441. package/lib/draw/shared/draw-style.service.d.ts +6 -0
  442. package/lib/draw/shared/draw.enum.d.ts +15 -0
  443. package/lib/feature/feature-details/feature-details.component.d.ts +12 -2
  444. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -13
  445. package/lib/filter/filter.module.d.ts +1 -1
  446. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +31 -13
  447. package/lib/filter/shared/ogc-filter.interface.d.ts +19 -2
  448. package/lib/import-export/shared/import.utils.d.ts +1 -1
  449. package/lib/layer/layer-item/layer-item.component.d.ts +1 -0
  450. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -2
  451. package/lib/layer/shared/layer.service.d.ts +6 -3
  452. package/lib/layer/shared/layers/layer.interface.d.ts +1 -0
  453. package/lib/layer/shared/layers/vector-layer.d.ts +5 -1
  454. package/lib/layer/shared/style.service.d.ts +38 -3
  455. package/lib/layer/shared/vector-style.interface.d.ts +11 -0
  456. package/lib/map/geolocate-button/geolocate-button.component.d.ts +8 -1
  457. package/lib/map/index.d.ts +1 -0
  458. package/lib/map/map.module.d.ts +13 -12
  459. package/lib/map/shared/controllers/geolocation.d.ts +112 -0
  460. package/lib/map/shared/controllers/index.d.ts +1 -0
  461. package/lib/map/shared/controllers/view.d.ts +7 -0
  462. package/lib/map/shared/hover-feature.directive.d.ts +1 -1
  463. package/lib/map/shared/map.d.ts +7 -19
  464. package/lib/map/shared/map.interface.d.ts +0 -1
  465. package/lib/map/wake-lock-button/index.d.ts +1 -0
  466. package/lib/map/wake-lock-button/wake-lock-button.component.d.ts +30 -0
  467. package/lib/offline/geoDB/geoDB.enums.d.ts +4 -0
  468. package/lib/offline/geoDB/geoDB.interface.d.ts +9 -0
  469. package/lib/offline/geoDB/geoDB.service.d.ts +35 -0
  470. package/lib/offline/geoDB/index.d.ts +3 -0
  471. package/lib/offline/index.d.ts +2 -0
  472. package/lib/offline/shared/geo-network.service.d.ts +28 -0
  473. package/lib/offline/shared/index.d.ts +1 -0
  474. package/lib/print/shared/print.service.d.ts +3 -2
  475. package/lib/query/query.module.d.ts +2 -1
  476. package/lib/query/shared/query.service.d.ts +7 -1
  477. package/lib/workspace/shared/edition-workspace.d.ts +2 -1
  478. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -2
  479. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -2
  480. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -2
  481. package/lib/workspace/shared/wms-workspace.service.d.ts +5 -2
  482. package/ngcc.config.js +3 -3
  483. package/package.json +7 -5
  484. package/public_api.d.ts +1 -0
  485. package/style/geo.theming.scss +12 -12
@@ -2,19 +2,11 @@ import * as olStyle from 'ol/style';
2
2
  import { FeatureDataSource } from '../../datasource/shared/datasources/feature-datasource';
3
3
  import { featureToOl, moveToOlFeatures } from '../../feature/shared/feature.utils';
4
4
  import { VectorLayer } from '../../layer/shared/layers/vector-layer';
5
+ import { StyleService } from '../../layer/shared/style.service';
5
6
  import { ClusterDataSource } from '../../datasource/shared/datasources/cluster-datasource';
7
+ import { uuid } from '@igo2/utils';
6
8
  export function addLayerAndFeaturesToMap(features, map, layerTitle) {
7
9
  const olFeatures = features.map((feature) => featureToOl(feature, map.projection));
8
- const r = Math.floor(Math.random() * 255);
9
- const g = Math.floor(Math.random() * 255);
10
- const b = Math.floor(Math.random() * 255);
11
- const stroke = new olStyle.Stroke({
12
- color: [r, g, b, 1],
13
- width: 2
14
- });
15
- const fill = new olStyle.Fill({
16
- color: [r, g, b, 0.4]
17
- });
18
10
  const sourceOptions = {
19
11
  type: 'vector',
20
12
  queryable: true
@@ -23,53 +15,46 @@ export function addLayerAndFeaturesToMap(features, map, layerTitle) {
23
15
  source.ol.addFeatures(olFeatures);
24
16
  const layer = new VectorLayer({
25
17
  title: layerTitle,
18
+ isIgoInternalLayer: true,
26
19
  source,
27
- style: new olStyle.Style({
28
- stroke,
29
- fill,
30
- image: new olStyle.Circle({
31
- radius: 5,
32
- stroke,
33
- fill
34
- })
35
- })
20
+ style: createImportedLayerRandomStyle()
36
21
  });
37
22
  map.addLayer(layer);
38
23
  moveToOlFeatures(map, olFeatures);
39
24
  return layer;
40
25
  }
41
- export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleListService, styleService) {
26
+ export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleListService, styleService, layerId, imposedSourceOptions, imposedLayerOptions, zoomTo = true) {
42
27
  const olFeatures = features.map((feature) => featureToOl(feature, map.projection));
43
28
  let style;
44
29
  let distance;
45
30
  if (styleListService.getStyleList(layerTitle.toString() + '.styleByAttribute')) {
46
31
  const styleByAttribute = styleListService.getStyleList(layerTitle.toString() + '.styleByAttribute');
47
- style = feature => {
48
- return styleService.createStyleByAttribute(feature, styleByAttribute);
32
+ style = (feature, resolution) => {
33
+ return styleService.createStyleByAttribute(feature, styleByAttribute, resolution);
49
34
  };
50
35
  }
51
36
  else if (styleListService.getStyleList(layerTitle.toString() + '.clusterStyle')) {
52
37
  const clusterParam = styleListService.getStyleList(layerTitle.toString() + '.clusterParam');
53
38
  distance = styleListService.getStyleList(layerTitle.toString() + '.distance');
54
- const baseStyle = styleService.createStyle(styleListService.getStyleList(layerTitle.toString() + '.clusterStyle'));
55
- style = feature => {
56
- return styleService.createClusterStyle(feature, clusterParam, baseStyle);
39
+ style = (feature, resolution) => {
40
+ const baseStyle = styleService.createStyle(styleListService.getStyleList(layerTitle.toString() + '.clusterStyle'), feature, resolution);
41
+ return styleService.createClusterStyle(feature, resolution, clusterParam, baseStyle);
57
42
  };
58
43
  }
59
44
  else if (styleListService.getStyleList(layerTitle.toString() + '.style')) {
60
- style = styleService.createStyle(styleListService.getStyleList(layerTitle.toString() + '.style'));
45
+ style = (feature, resolution) => styleService.createStyle(styleListService.getStyleList(layerTitle.toString() + '.style'), feature, resolution);
61
46
  }
62
47
  else if (styleListService.getStyleList('default.clusterStyle') &&
63
48
  features[0].geometry.type === 'Point') {
64
49
  const clusterParam = styleListService.getStyleList('default.clusterParam');
65
50
  distance = styleListService.getStyleList('default.distance');
66
- const baseStyle = styleService.createStyle(styleListService.getStyleList('default.clusterStyle'));
67
- style = feature => {
68
- return styleService.createClusterStyle(feature, clusterParam, baseStyle);
51
+ style = (feature, resolution) => {
52
+ const baseStyle = styleService.createStyle(styleListService.getStyleList('default.clusterStyle'), feature, resolution);
53
+ return styleService.createClusterStyle(feature, resolution, clusterParam, baseStyle);
69
54
  };
70
55
  }
71
56
  else {
72
- style = styleService.createStyle(styleListService.getStyleList('default.style'));
57
+ style = (feature, resolution) => styleService.createStyle(styleListService.getStyleList('default.style'), feature, resolution);
73
58
  }
74
59
  let source;
75
60
  if (styleListService.getStyleList(layerTitle.toString() + '.clusterStyle')) {
@@ -78,7 +63,7 @@ export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleL
78
63
  type: 'cluster',
79
64
  queryable: true
80
65
  };
81
- source = new ClusterDataSource(sourceOptions);
66
+ source = new ClusterDataSource(Object.assign(sourceOptions, imposedSourceOptions));
82
67
  source.ol.source.addFeatures(olFeatures);
83
68
  }
84
69
  else if (styleListService.getStyleList(layerTitle.toString())) {
@@ -86,7 +71,7 @@ export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleL
86
71
  type: 'vector',
87
72
  queryable: true
88
73
  };
89
- source = new FeatureDataSource(sourceOptions);
74
+ source = new FeatureDataSource(Object.assign(sourceOptions, imposedSourceOptions));
90
75
  source.ol.addFeatures(olFeatures);
91
76
  }
92
77
  else if (styleListService.getStyleList('default.clusterStyle') &&
@@ -96,7 +81,7 @@ export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleL
96
81
  type: 'cluster',
97
82
  queryable: true
98
83
  };
99
- source = new ClusterDataSource(sourceOptions);
84
+ source = new ClusterDataSource(Object.assign(sourceOptions, imposedSourceOptions));
100
85
  source.ol.source.addFeatures(olFeatures);
101
86
  }
102
87
  else {
@@ -104,16 +89,20 @@ export function addLayerAndFeaturesStyledToMap(features, map, layerTitle, styleL
104
89
  type: 'vector',
105
90
  queryable: true
106
91
  };
107
- source = new FeatureDataSource(sourceOptions);
92
+ source = new FeatureDataSource(Object.assign(sourceOptions, imposedSourceOptions));
108
93
  source.ol.addFeatures(olFeatures);
109
94
  }
110
- const layer = new VectorLayer({
95
+ const layer = new VectorLayer(Object.assign({
111
96
  title: layerTitle,
97
+ id: layerId || uuid(),
98
+ isIgoInternalLayer: true,
112
99
  source,
113
100
  style
114
- });
101
+ }, imposedLayerOptions));
115
102
  map.addLayer(layer);
116
- moveToOlFeatures(map, olFeatures);
103
+ if (zoomTo) {
104
+ moveToOlFeatures(map, olFeatures);
105
+ }
117
106
  return layer;
118
107
  }
119
108
  export function handleFileImportSuccess(file, features, map, messageService, languageService, styleListService, styleService) {
@@ -204,4 +193,42 @@ export function getFileExtension(file) {
204
193
  export function computeLayerTitleFromFile(file) {
205
194
  return file.name.substr(0, file.name.lastIndexOf('.'));
206
195
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zaGFyZWQvaW1wb3J0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBSXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNGLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBT3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNGLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsUUFBbUIsRUFDbkIsR0FBVyxFQUNYLFVBQWtCO0lBRWxCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FDbkQsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ3JDLENBQUM7SUFFRixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxQyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLEtBQUssRUFBRSxDQUFDO0tBQ1QsQ0FBQyxDQUFDO0lBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQztLQUN0QixDQUFDLENBQUM7SUFDSCxNQUFNLGFBQWEsR0FBMEQ7UUFDM0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUsSUFBSTtLQUNoQixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRCxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUM1QixLQUFLLEVBQUUsVUFBVTtRQUNqQixNQUFNO1FBQ04sS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixNQUFNO1lBQ04sSUFBSTtZQUNKLEtBQUssRUFBRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ3hCLE1BQU0sRUFBRSxDQUFDO2dCQUNULE1BQU07Z0JBQ04sSUFBSTthQUNMLENBQUM7U0FDSCxDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFbEMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxRQUFtQixFQUNuQixHQUFXLEVBQ1gsVUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLFlBQTBCO0lBRTFCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FDbkQsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ3JDLENBQUM7SUFDRixJQUFJLEtBQUssQ0FBQztJQUNWLElBQUksUUFBZ0IsQ0FBQztJQUVyQixJQUNFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsbUJBQW1CLENBQUMsRUFDMUU7UUFDQSxNQUFNLGdCQUFnQixHQUFxQixnQkFBZ0IsQ0FBQyxZQUFZLENBQ3RFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxtQkFBbUIsQ0FDNUMsQ0FBQztRQUVGLEtBQUssR0FBRyxPQUFPLENBQUMsRUFBRTtZQUNoQixPQUFPLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUM7S0FDSDtTQUFNLElBQ0wsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFDdEU7UUFDQSxNQUFNLFlBQVksR0FBaUIsZ0JBQWdCLENBQUMsWUFBWSxDQUM5RCxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsZUFBZSxDQUN4QyxDQUFDO1FBQ0YsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FDdEMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLFdBQVcsQ0FDcEMsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3hDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsZUFBZSxDQUFDLENBQ3ZFLENBQUM7UUFFRixLQUFLLEdBQUcsT0FBTyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUM7S0FDSDtTQUFNLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRTtRQUMxRSxLQUFLLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FDOUIsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FDaEUsQ0FBQztLQUNIO1NBQU0sSUFDTCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7UUFDckQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUNyQztRQUNBLE1BQU0sWUFBWSxHQUFpQixnQkFBZ0IsQ0FBQyxZQUFZLENBQzlELHNCQUFzQixDQUN2QixDQUFDO1FBQ0YsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3hDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUN0RCxDQUFDO1FBRUYsS0FBSyxHQUFHLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDO0tBQ0g7U0FBTTtRQUNMLEtBQUssR0FBRyxZQUFZLENBQUMsV0FBVyxDQUM5QixnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLENBQy9DLENBQUM7S0FDSDtJQUVELElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUFFO1FBQzFFLE1BQU0sYUFBYSxHQUNZO1lBQzdCLFFBQVE7WUFDUixJQUFJLEVBQUUsU0FBUztZQUNmLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUM7UUFDRixNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDMUM7U0FBTSxJQUFJLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtRQUMvRCxNQUFNLGFBQWEsR0FBMEQ7WUFDM0UsSUFBSSxFQUFFLFFBQVE7WUFDZCxTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBQ0YsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDbkM7U0FBTSxJQUNMLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQztRQUNyRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQ3JDO1FBQ0EsTUFBTSxhQUFhLEdBQ1k7WUFDN0IsUUFBUTtZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztRQUNGLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMxQztTQUFNO1FBQ0wsTUFBTSxhQUFhLEdBQTBEO1lBQzNFLElBQUksRUFBRSxRQUFRO1lBQ2QsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztRQUNGLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ25DO0lBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDNUIsS0FBSyxFQUFFLFVBQVU7UUFDakIsTUFBTTtRQUNOLEtBQUs7S0FDTixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVsQyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLElBQVUsRUFDVixRQUFtQixFQUNuQixHQUFXLEVBQ1gsY0FBOEIsRUFDOUIsZUFBZ0MsRUFDaEMsZ0JBQW1DLEVBQ25DLFlBQTJCO0lBRTNCLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekIsMEJBQTBCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNsRSxPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVuRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7UUFDckIsd0JBQXdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztLQUNyRDtTQUFNO1FBQ0wsOEJBQThCLENBQzVCLFFBQVEsRUFDUixHQUFHLEVBQ0gsVUFBVSxFQUNWLGdCQUFnQixFQUNoQixZQUFZLENBQ2IsQ0FBQztLQUNIO0lBRUQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDNUUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRTtRQUNwRSxLQUFLLEVBQUUsVUFBVTtLQUNsQixDQUFDLENBQUM7SUFDSCxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxJQUFVLEVBQ1YsS0FBWSxFQUNaLGNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLE1BQWU7SUFFZixNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5QixNQUFNLFVBQVUsR0FBRztRQUNqQixjQUFjLEVBQUUsNEJBQTRCO1FBQzVDLG1CQUFtQixFQUFFLHlCQUF5QjtRQUM5QyxxQkFBcUIsRUFBRSw4QkFBOEI7UUFDckQsd0JBQXdCLEVBQUUsb0JBQW9CO1FBQzlDLHFCQUFxQixFQUFFLDJCQUEyQjtLQUNuRCxDQUFDO0lBQ0YsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDdkIsSUFBSSxFQUNKLEtBQUssRUFDTCxjQUFjLEVBQ2QsZUFBZSxFQUNmLE1BQU0sQ0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsSUFBVSxFQUNWLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUNyRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxFQUFFO1FBQ3BFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsSUFBVSxFQUNWLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN4RSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxFQUFFO1FBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxJQUFVLEVBQ1YsS0FBWSxFQUNaLGNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLE1BQWM7SUFFZCxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUN0RSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxFQUFFO1FBQ3JFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNoQixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUMsQ0FBQztJQUNILGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQ3hDLElBQVUsRUFDVixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNuRSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxFQUFFO1FBQ2xFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsSUFBVSxFQUNWLGNBQThCLEVBQzlCLGVBQWdDO0lBRWhDLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDNUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMscUNBQXFDLEVBQUU7UUFDdkUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO1FBQ2hCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtLQUNwQixDQUFDLENBQUM7SUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxJQUFVLEVBQ1YsS0FBWSxFQUNaLGNBQThCLEVBQzlCLGVBQWdDO0lBRWhDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDeEYsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN6RixjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVU7SUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSTtTQUNiLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLEVBQUU7U0FDTCxXQUFXLEVBQUUsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLElBQVU7SUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgb2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XHJcblxyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2ZlYXR1cmUtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtcclxuICBmZWF0dXJlVG9PbCxcclxuICBtb3ZlVG9PbEZlYXR1cmVzXHJcbn0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS51dGlscyc7XHJcbmltcG9ydCB7IFZlY3RvckxheWVyIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy92ZWN0b3ItbGF5ZXInO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XHJcbmltcG9ydCB7IFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTdHlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlQnlBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFN0eWxlTGlzdFNlcnZpY2UgfSBmcm9tICcuLi9zdHlsZS1saXN0L3N0eWxlLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IENsdXN0ZXJQYXJhbSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9jbHVzdGVyUGFyYW0nO1xyXG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZExheWVyQW5kRmVhdHVyZXNUb01hcChcclxuICBmZWF0dXJlczogRmVhdHVyZVtdLFxyXG4gIG1hcDogSWdvTWFwLFxyXG4gIGxheWVyVGl0bGU6IHN0cmluZ1xyXG4pOiBWZWN0b3JMYXllciB7XHJcbiAgY29uc3Qgb2xGZWF0dXJlcyA9IGZlYXR1cmVzLm1hcCgoZmVhdHVyZTogRmVhdHVyZSkgPT5cclxuICAgIGZlYXR1cmVUb09sKGZlYXR1cmUsIG1hcC5wcm9qZWN0aW9uKVxyXG4gICk7XHJcblxyXG4gIGNvbnN0IHIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG4gIGNvbnN0IGcgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG4gIGNvbnN0IGIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xyXG4gIGNvbnN0IHN0cm9rZSA9IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICBjb2xvcjogW3IsIGcsIGIsIDFdLFxyXG4gICAgd2lkdGg6IDJcclxuICB9KTtcclxuXHJcbiAgY29uc3QgZmlsbCA9IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgY29sb3I6IFtyLCBnLCBiLCAwLjRdXHJcbiAgfSk7XHJcbiAgY29uc3Qgc291cmNlT3B0aW9uczogRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zICYgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSB7XHJcbiAgICB0eXBlOiAndmVjdG9yJyxcclxuICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gIH07XHJcbiAgY29uc3Qgc291cmNlID0gbmV3IEZlYXR1cmVEYXRhU291cmNlKHNvdXJjZU9wdGlvbnMpO1xyXG4gIHNvdXJjZS5vbC5hZGRGZWF0dXJlcyhvbEZlYXR1cmVzKTtcclxuICBjb25zdCBsYXllciA9IG5ldyBWZWN0b3JMYXllcih7XHJcbiAgICB0aXRsZTogbGF5ZXJUaXRsZSxcclxuICAgIHNvdXJjZSxcclxuICAgIHN0eWxlOiBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgIHN0cm9rZSxcclxuICAgICAgZmlsbCxcclxuICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgcmFkaXVzOiA1LFxyXG4gICAgICAgIHN0cm9rZSxcclxuICAgICAgICBmaWxsXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH0pO1xyXG4gIG1hcC5hZGRMYXllcihsYXllcik7XHJcbiAgbW92ZVRvT2xGZWF0dXJlcyhtYXAsIG9sRmVhdHVyZXMpO1xyXG5cclxuICByZXR1cm4gbGF5ZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhZGRMYXllckFuZEZlYXR1cmVzU3R5bGVkVG9NYXAoXHJcbiAgZmVhdHVyZXM6IEZlYXR1cmVbXSxcclxuICBtYXA6IElnb01hcCxcclxuICBsYXllclRpdGxlOiBzdHJpbmcsXHJcbiAgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcclxuICBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZVxyXG4pOiBWZWN0b3JMYXllciB7XHJcbiAgY29uc3Qgb2xGZWF0dXJlcyA9IGZlYXR1cmVzLm1hcCgoZmVhdHVyZTogRmVhdHVyZSkgPT5cclxuICAgIGZlYXR1cmVUb09sKGZlYXR1cmUsIG1hcC5wcm9qZWN0aW9uKVxyXG4gICk7XHJcbiAgbGV0IHN0eWxlO1xyXG4gIGxldCBkaXN0YW5jZTogbnVtYmVyO1xyXG5cclxuICBpZiAoXHJcbiAgICBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChsYXllclRpdGxlLnRvU3RyaW5nKCkgKyAnLnN0eWxlQnlBdHRyaWJ1dGUnKVxyXG4gICkge1xyXG4gICAgY29uc3Qgc3R5bGVCeUF0dHJpYnV0ZTogU3R5bGVCeUF0dHJpYnV0ZSA9IHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KFxyXG4gICAgICBsYXllclRpdGxlLnRvU3RyaW5nKCkgKyAnLnN0eWxlQnlBdHRyaWJ1dGUnXHJcbiAgICApO1xyXG5cclxuICAgIHN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShmZWF0dXJlLCBzdHlsZUJ5QXR0cmlidXRlKTtcclxuICAgIH07XHJcbiAgfSBlbHNlIGlmIChcclxuICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuY2x1c3RlclN0eWxlJylcclxuICApIHtcclxuICAgIGNvbnN0IGNsdXN0ZXJQYXJhbTogQ2x1c3RlclBhcmFtID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXHJcbiAgICAgIGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuY2x1c3RlclBhcmFtJ1xyXG4gICAgKTtcclxuICAgIGRpc3RhbmNlID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXHJcbiAgICAgIGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuZGlzdGFuY2UnXHJcbiAgICApO1xyXG5cclxuICAgIGNvbnN0IGJhc2VTdHlsZSA9IHN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcclxuICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5jbHVzdGVyU3R5bGUnKVxyXG4gICAgKTtcclxuXHJcbiAgICBzdHlsZSA9IGZlYXR1cmUgPT4ge1xyXG4gICAgICByZXR1cm4gc3R5bGVTZXJ2aWNlLmNyZWF0ZUNsdXN0ZXJTdHlsZShmZWF0dXJlLCBjbHVzdGVyUGFyYW0sIGJhc2VTdHlsZSk7XHJcbiAgICB9O1xyXG4gIH0gZWxzZSBpZiAoc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5zdHlsZScpKSB7XHJcbiAgICBzdHlsZSA9IHN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcclxuICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5zdHlsZScpXHJcbiAgICApO1xyXG4gIH0gZWxzZSBpZiAoXHJcbiAgICBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdCgnZGVmYXVsdC5jbHVzdGVyU3R5bGUnKSAmJlxyXG4gICAgZmVhdHVyZXNbMF0uZ2VvbWV0cnkudHlwZSA9PT0gJ1BvaW50J1xyXG4gICkge1xyXG4gICAgY29uc3QgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChcclxuICAgICAgJ2RlZmF1bHQuY2x1c3RlclBhcmFtJ1xyXG4gICAgKTtcclxuICAgIGRpc3RhbmNlID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoJ2RlZmF1bHQuZGlzdGFuY2UnKTtcclxuXHJcbiAgICBjb25zdCBiYXNlU3R5bGUgPSBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXHJcbiAgICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KCdkZWZhdWx0LmNsdXN0ZXJTdHlsZScpXHJcbiAgICApO1xyXG5cclxuICAgIHN0eWxlID0gZmVhdHVyZSA9PiB7XHJcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlQ2x1c3RlclN0eWxlKGZlYXR1cmUsIGNsdXN0ZXJQYXJhbSwgYmFzZVN0eWxlKTtcclxuICAgIH07XHJcbiAgfSBlbHNlIHtcclxuICAgIHN0eWxlID0gc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxyXG4gICAgICBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdCgnZGVmYXVsdC5zdHlsZScpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbGV0IHNvdXJjZTtcclxuICBpZiAoc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5jbHVzdGVyU3R5bGUnKSkge1xyXG4gICAgY29uc3Qgc291cmNlT3B0aW9uczogQ2x1c3RlckRhdGFTb3VyY2VPcHRpb25zICZcclxuICAgICAgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSB7XHJcbiAgICAgIGRpc3RhbmNlLFxyXG4gICAgICB0eXBlOiAnY2x1c3RlcicsXHJcbiAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgfTtcclxuICAgIHNvdXJjZSA9IG5ldyBDbHVzdGVyRGF0YVNvdXJjZShzb3VyY2VPcHRpb25zKTtcclxuICAgIHNvdXJjZS5vbC5zb3VyY2UuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XHJcbiAgfSBlbHNlIGlmIChzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChsYXllclRpdGxlLnRvU3RyaW5nKCkpKSB7XHJcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zOiBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgJiBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ3ZlY3RvcicsXHJcbiAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgfTtcclxuICAgIHNvdXJjZSA9IG5ldyBGZWF0dXJlRGF0YVNvdXJjZShzb3VyY2VPcHRpb25zKTtcclxuICAgIHNvdXJjZS5vbC5hZGRGZWF0dXJlcyhvbEZlYXR1cmVzKTtcclxuICB9IGVsc2UgaWYgKFxyXG4gICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoJ2RlZmF1bHQuY2x1c3RlclN0eWxlJykgJiZcclxuICAgIGZlYXR1cmVzWzBdLmdlb21ldHJ5LnR5cGUgPT09ICdQb2ludCdcclxuICApIHtcclxuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyAmXHJcbiAgICAgIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID0ge1xyXG4gICAgICBkaXN0YW5jZSxcclxuICAgICAgdHlwZTogJ2NsdXN0ZXInLFxyXG4gICAgICBxdWVyeWFibGU6IHRydWVcclxuICAgIH07XHJcbiAgICBzb3VyY2UgPSBuZXcgQ2x1c3RlckRhdGFTb3VyY2Uoc291cmNlT3B0aW9ucyk7XHJcbiAgICBzb3VyY2Uub2wuc291cmNlLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zOiBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgJiBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyA9IHtcclxuICAgICAgdHlwZTogJ3ZlY3RvcicsXHJcbiAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxyXG4gICAgfTtcclxuICAgIHNvdXJjZSA9IG5ldyBGZWF0dXJlRGF0YVNvdXJjZShzb3VyY2VPcHRpb25zKTtcclxuICAgIHNvdXJjZS5vbC5hZGRGZWF0dXJlcyhvbEZlYXR1cmVzKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcclxuICAgIHRpdGxlOiBsYXllclRpdGxlLFxyXG4gICAgc291cmNlLFxyXG4gICAgc3R5bGVcclxuICB9KTtcclxuICBtYXAuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gIG1vdmVUb09sRmVhdHVyZXMobWFwLCBvbEZlYXR1cmVzKTtcclxuXHJcbiAgcmV0dXJuIGxheWVyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXHJcbiAgZmlsZTogRmlsZSxcclxuICBmZWF0dXJlczogRmVhdHVyZVtdLFxyXG4gIG1hcDogSWdvTWFwLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzdHlsZUxpc3RTZXJ2aWNlPzogU3R5bGVMaXN0U2VydmljZSxcclxuICBzdHlsZVNlcnZpY2U/OiBTdHlsZVNlcnZpY2VcclxuKSB7XHJcbiAgaWYgKGZlYXR1cmVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgaGFuZGxlTm90aGluZ1RvSW1wb3J0RXJyb3IoZmlsZSwgbWVzc2FnZVNlcnZpY2UsIGxhbmd1YWdlU2VydmljZSk7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBjb25zdCBsYXllclRpdGxlID0gY29tcHV0ZUxheWVyVGl0bGVGcm9tRmlsZShmaWxlKTtcclxuXHJcbiAgaWYgKCFzdHlsZUxpc3RTZXJ2aWNlKSB7XHJcbiAgICBhZGRMYXllckFuZEZlYXR1cmVzVG9NYXAoZmVhdHVyZXMsIG1hcCwgbGF5ZXJUaXRsZSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGFkZExheWVyQW5kRmVhdHVyZXNTdHlsZWRUb01hcChcclxuICAgICAgZmVhdHVyZXMsXHJcbiAgICAgIG1hcCxcclxuICAgICAgbGF5ZXJUaXRsZSxcclxuICAgICAgc3R5bGVMaXN0U2VydmljZSxcclxuICAgICAgc3R5bGVTZXJ2aWNlXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBjb25zdCBtZXNzYWdlVGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS5zdWNjZXNzLnRpdGxlJyk7XHJcbiAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLnN1Y2Nlc3MudGV4dCcsIHtcclxuICAgIHZhbHVlOiBsYXllclRpdGxlXHJcbiAgfSk7XHJcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhtZXNzYWdlLCBtZXNzYWdlVGl0bGUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUltcG9ydEVycm9yKFxyXG4gIGZpbGU6IEZpbGUsXHJcbiAgZXJyb3I6IEVycm9yLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzaXplTWI/OiBudW1iZXJcclxuKSB7XHJcbiAgc2l6ZU1iID0gc2l6ZU1iID8gc2l6ZU1iIDogMzA7XHJcbiAgY29uc3QgZXJyTWFwcGluZyA9IHtcclxuICAgICdJbnZhbGlkIGZpbGUnOiBoYW5kbGVJbnZhbGlkRmlsZUltcG9ydEVycm9yLFxyXG4gICAgJ0ZpbGUgaXMgdG9vIGxhcmdlJzogaGFuZGxlU2l6ZUZpbGVJbXBvcnRFcnJvcixcclxuICAgICdGYWlsZWQgdG8gcmVhZCBmaWxlJzogaGFuZGxlVW5yZWFkYmxlRmlsZUltcG9ydEVycm9yLFxyXG4gICAgJ0ludmFsaWQgU1JTIGRlZmluaXRpb24nOiBoYW5kbGVTUlNJbXBvcnRFcnJvcixcclxuICAgICdFcnJvciA1MDAgd2l0aCBPR1JFJzogaGFuZGxlT2dyZVNlcnZlckltcG9ydEVycm9yXHJcbiAgfTtcclxuICBlcnJNYXBwaW5nW2Vycm9yLm1lc3NhZ2VdKFxyXG4gICAgZmlsZSxcclxuICAgIGVycm9yLFxyXG4gICAgbWVzc2FnZVNlcnZpY2UsXHJcbiAgICBsYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBzaXplTWJcclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlSW52YWxpZEZpbGVJbXBvcnRFcnJvcihcclxuICBmaWxlOiBGaWxlLFxyXG4gIGVycm9yOiBFcnJvcixcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLmludmFsaWQudGl0bGUnKTtcclxuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuaW52YWxpZC50ZXh0Jywge1xyXG4gICAgdmFsdWU6IGZpbGUubmFtZSxcclxuICAgIG1pbWVUeXBlOiBmaWxlLnR5cGVcclxuICB9KTtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVVbnJlYWRibGVGaWxlSW1wb3J0RXJyb3IoXHJcbiAgZmlsZTogRmlsZSxcclxuICBlcnJvcjogRXJyb3IsXHJcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XHJcbiAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS51bnJlYWRhYmxlLnRpdGxlJyk7XHJcbiAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLnVucmVhZGFibGUudGV4dCcsIHtcclxuICAgIHZhbHVlOiBmaWxlLm5hbWVcclxuICB9KTtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTaXplRmlsZUltcG9ydEVycm9yKFxyXG4gIGZpbGU6IEZpbGUsXHJcbiAgZXJyb3I6IEVycm9yLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICBzaXplTWI6IG51bWJlclxyXG4pIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUudG9vTGFyZ2UudGl0bGUnKTtcclxuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUudG9vTGFyZ2UudGV4dCcsIHtcclxuICAgIHZhbHVlOiBmaWxlLm5hbWUsXHJcbiAgICBzaXplOiBzaXplTWJcclxuICB9KTtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVOb3RoaW5nVG9JbXBvcnRFcnJvcihcclxuICBmaWxlOiBGaWxlLFxyXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxyXG4pIHtcclxuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xyXG4gIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuZW1wdHkudGl0bGUnKTtcclxuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuZW1wdHkudGV4dCcsIHtcclxuICAgIHZhbHVlOiBmaWxlLm5hbWUsXHJcbiAgICBtaW1lVHlwZTogZmlsZS50eXBlXHJcbiAgfSk7XHJcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlU1JTSW1wb3J0RXJyb3IoXHJcbiAgZmlsZTogRmlsZSxcclxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2VcclxuKSB7XHJcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcclxuICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLmludmFsaWRTUlMudGl0bGUnKTtcclxuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuaW52YWxpZFNSUy50ZXh0Jywge1xyXG4gICAgdmFsdWU6IGZpbGUubmFtZSxcclxuICAgIG1pbWVUeXBlOiBmaWxlLnR5cGVcclxuICB9KTtcclxuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVPZ3JlU2VydmVySW1wb3J0RXJyb3IoXHJcbiAgZmlsZTogRmlsZSxcclxuICBlcnJvcjogRXJyb3IsXHJcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxyXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXHJcbikge1xyXG4gIGNvbnN0IHRpdGxlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLm9ncmVTZXJ2ZXIudGl0bGUnKTtcclxuICBjb25zdCBtZXNzYWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLm9ncmVTZXJ2ZXIudGV4dCcpO1xyXG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgcmV0dXJuIGZpbGUubmFtZVxyXG4gICAgLnNwbGl0KCcuJylcclxuICAgIC5wb3AoKVxyXG4gICAgLnRvTG93ZXJDYXNlKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gIHJldHVybiBmaWxlLm5hbWUuc3Vic3RyKDAsIGZpbGUubmFtZS5sYXN0SW5kZXhPZignLicpKTtcclxufVxyXG4iXX0=
196
+ function createImportedLayerRandomStyle() {
197
+ const r = Math.floor(Math.random() * 255);
198
+ const g = Math.floor(Math.random() * 255);
199
+ const b = Math.floor(Math.random() * 255);
200
+ const stroke = new olStyle.Stroke({
201
+ color: [r, g, b, 1],
202
+ width: 2
203
+ });
204
+ const fill = new olStyle.Fill({
205
+ color: [r, g, b, 0.4]
206
+ });
207
+ return (olFeature) => {
208
+ const customStyle = olFeature.get('_style');
209
+ if (customStyle) {
210
+ const styleService = new StyleService();
211
+ return styleService.createStyle(customStyle);
212
+ }
213
+ const style = new olStyle.Style({
214
+ stroke,
215
+ fill,
216
+ image: new olStyle.Circle({
217
+ radius: 5,
218
+ stroke,
219
+ fill
220
+ }),
221
+ text: olFeature.get('_mapTitle') ? new olStyle.Text({
222
+ text: olFeature.get('_mapTitle').toString(),
223
+ offsetX: 5,
224
+ offsetY: -5,
225
+ font: '12px Calibri,sans-serif',
226
+ fill: new olStyle.Fill({ color: '#000' }),
227
+ stroke: new olStyle.Stroke({ color: '#fff', width: 3 }),
228
+ overflow: true
229
+ }) : undefined
230
+ });
231
+ return style;
232
+ };
233
+ }
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zaGFyZWQvaW1wb3J0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBTXBDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRzNGLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2pCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3JFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUloRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUUzRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsUUFBbUIsRUFDbkIsR0FBVyxFQUNYLFVBQWtCO0lBRWxCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FDbkQsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ3JDLENBQUM7SUFFRixNQUFNLGFBQWEsR0FBMEQ7UUFDM0UsSUFBSSxFQUFFLFFBQVE7UUFDZCxTQUFTLEVBQUUsSUFBSTtLQUNoQixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRCxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUM1QixLQUFLLEVBQUUsVUFBVTtRQUNqQixrQkFBa0IsRUFBRSxJQUFJO1FBQ3hCLE1BQU07UUFDTixLQUFLLEVBQUUsOEJBQThCLEVBQUU7S0FDeEMsQ0FBQyxDQUFDO0lBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFFbEMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUM1QyxRQUFtQixFQUNuQixHQUFXLEVBQ1gsVUFBa0IsRUFDbEIsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLE9BQWdCLEVBQ2hCLG9CQUFxQixFQUNyQixtQkFBb0IsRUFDcEIsU0FBa0IsSUFBSTtJQUd0QixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQ25ELFdBQVcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUNyQyxDQUFDO0lBQ0YsSUFBSSxLQUFLLENBQUM7SUFDVixJQUFJLFFBQWdCLENBQUM7SUFFckIsSUFDRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLG1CQUFtQixDQUFDLEVBQzFFO1FBQ0EsTUFBTSxnQkFBZ0IsR0FBcUIsZ0JBQWdCLENBQUMsWUFBWSxDQUN0RSxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsbUJBQW1CLENBQzVDLENBQUM7UUFFRixLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUU7WUFDOUIsT0FBTyxZQUFZLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQztLQUNIO1NBQU0sSUFDTCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLGVBQWUsQ0FBQyxFQUN0RTtRQUNBLE1BQU0sWUFBWSxHQUFpQixnQkFBZ0IsQ0FBQyxZQUFZLENBQzlELFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQ3hDLENBQUM7UUFDRixRQUFRLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUN0QyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsV0FBVyxDQUNwQyxDQUFDO1FBRUYsS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQzlCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQ3hDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FDNUYsQ0FBQztZQUNGLE9BQU8sWUFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQztLQUNIO1NBQU0sSUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFO1FBQzFFLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQ3ZELGdCQUFnQixDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FDckYsQ0FBQztLQUNIO1NBQU0sSUFDTCxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7UUFDckQsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUNyQztRQUNBLE1BQU0sWUFBWSxHQUFpQixnQkFBZ0IsQ0FBQyxZQUFZLENBQzlELHNCQUFzQixDQUN2QixDQUFDO1FBQ0YsUUFBUSxHQUFHLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdELEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRTtZQUM5QixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUN4QyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUMzRSxDQUFDO1lBQ0YsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDO0tBQ0g7U0FBTTtRQUNMLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQ3ZELGdCQUFnQixDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUNwRSxDQUFDO0tBQ0g7SUFFRCxJQUFJLE1BQU0sQ0FBQztJQUNYLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFBRTtRQUMxRSxNQUFNLGFBQWEsR0FDWTtZQUM3QixRQUFRO1lBQ1IsSUFBSSxFQUFFLFNBQVM7WUFDZixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDO1FBQ0YsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUMxQztTQUFNLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFO1FBQy9ELE1BQU0sYUFBYSxHQUEwRDtZQUMzRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUM7UUFDRixNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDbkYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDbkM7U0FBTSxJQUNMLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQztRQUNyRCxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQ3JDO1FBQ0EsTUFBTSxhQUFhLEdBQ1k7WUFDN0IsUUFBUTtZQUNSLElBQUksRUFBRSxTQUFTO1lBQ2YsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQztRQUNGLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUNuRixNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDMUM7U0FBTTtRQUNMLE1BQU0sYUFBYSxHQUEwRDtZQUMzRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUM7UUFDRixNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDbkYsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDbkM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNaLEtBQUssRUFBRSxVQUFVO1FBQ2pCLEVBQUUsRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFO1FBQ3JCLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsTUFBTTtRQUNOLEtBQUs7S0FDTixFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLElBQUksTUFBTSxFQUFDO1FBQ1QsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxJQUFVLEVBQ1YsUUFBbUIsRUFDbkIsR0FBVyxFQUNYLGNBQThCLEVBQzlCLGVBQWdDLEVBQ2hDLGdCQUFtQyxFQUNuQyxZQUEyQjtJQUUzQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3pCLDBCQUEwQixDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEUsT0FBTztLQUNSO0lBRUQsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFbkQsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JCLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDckQ7U0FBTTtRQUNMLDhCQUE4QixDQUM1QixRQUFRLEVBQ1IsR0FBRyxFQUNILFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsWUFBWSxDQUNiLENBQUM7S0FDSDtJQUVELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUM7SUFDNUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsa0NBQWtDLEVBQUU7UUFDcEUsS0FBSyxFQUFFLFVBQVU7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FDbkMsSUFBVSxFQUNWLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxNQUFlO0lBRWYsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUIsTUFBTSxVQUFVLEdBQUc7UUFDakIsY0FBYyxFQUFFLDRCQUE0QjtRQUM1QyxtQkFBbUIsRUFBRSx5QkFBeUI7UUFDOUMscUJBQXFCLEVBQUUsOEJBQThCO1FBQ3JELHdCQUF3QixFQUFFLG9CQUFvQjtRQUM5QyxxQkFBcUIsRUFBRSwyQkFBMkI7S0FDbkQsQ0FBQztJQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQ3ZCLElBQUksRUFDSixLQUFLLEVBQ0wsY0FBYyxFQUNkLGVBQWUsRUFDZixNQUFNLENBQ1AsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQzFDLElBQVUsRUFDVixLQUFZLEVBQ1osY0FBOEIsRUFDOUIsZUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDckUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRTtRQUNwRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ3BCLENBQUMsQ0FBQztJQUNILGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLElBQVUsRUFDVixLQUFZLEVBQ1osY0FBOEIsRUFDOUIsZUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDeEUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFBRTtRQUN2RSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDakIsQ0FBQyxDQUFDO0lBQ0gsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsSUFBVSxFQUNWLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQyxFQUNoQyxNQUFjO0lBRWQsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdEUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsRUFBRTtRQUNyRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDaEIsSUFBSSxFQUFFLE1BQU07S0FDYixDQUFDLENBQUM7SUFDSCxjQUFjLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxJQUFVLEVBQ1YsY0FBOEIsRUFDOUIsZUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQztJQUM1QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDbkUsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsRUFBRTtRQUNsRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUk7UUFDaEIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ3BCLENBQUMsQ0FBQztJQUNILGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLElBQVUsRUFDVixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN4RSxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxFQUFFO1FBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7S0FDcEIsQ0FBQyxDQUFDO0lBQ0gsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsSUFBVSxFQUNWLEtBQVksRUFDWixjQUE4QixFQUM5QixlQUFnQztJQUVoQyxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3hGLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekYsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFVO0lBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUk7U0FDYixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxFQUFFO1NBQ0wsV0FBVyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFVO0lBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUNELFNBQVMsOEJBQThCO0lBQ3JDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNoQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkIsS0FBSyxFQUFFLENBQUM7S0FDVCxDQUFDLENBQUM7SUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0tBQ3RCLENBQUMsQ0FBQztJQUVILE9BQU8sQ0FBQyxTQUFnQyxFQUFFLEVBQUU7UUFDeEMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLFdBQVcsRUFBRTtZQUNmLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7WUFDeEMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzlCLE1BQU07WUFDTixJQUFJO1lBQ0osS0FBSyxFQUFFLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsTUFBTTtnQkFDTixJQUFJO2FBQ0wsQ0FBQztZQUNGLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2xELElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDWCxJQUFJLEVBQUUseUJBQXlCO2dCQUMvQixJQUFJLEVBQUUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUN6QyxNQUFNLEVBQUUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFBLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IE9sRmVhdHVyZSBmcm9tICdvbC9GZWF0dXJlJztcbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5cbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2UgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIGZlYXR1cmVUb09sLFxuICBtb3ZlVG9PbEZlYXR1cmVzXG59IGZyb20gJy4uLy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xuaW1wb3J0IHsgVmVjdG9yTGF5ZXIgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvbGF5ZXJzL3ZlY3Rvci1sYXllcic7XG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcCc7XG5pbXBvcnQgeyBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9zdHlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN0eWxlQnlBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9sYXllci9zaGFyZWQvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdHlsZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc3R5bGUtbGlzdC9zdHlsZS1saXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2x1c3RlclBhcmFtIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2NsdXN0ZXJQYXJhbSc7XG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZSB9IGZyb20gJy4uLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NsdXN0ZXItZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9jbHVzdGVyLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRMYXllckFuZEZlYXR1cmVzVG9NYXAoXG4gIGZlYXR1cmVzOiBGZWF0dXJlW10sXG4gIG1hcDogSWdvTWFwLFxuICBsYXllclRpdGxlOiBzdHJpbmdcbik6IFZlY3RvckxheWVyIHtcbiAgY29uc3Qgb2xGZWF0dXJlcyA9IGZlYXR1cmVzLm1hcCgoZmVhdHVyZTogRmVhdHVyZSkgPT5cbiAgICBmZWF0dXJlVG9PbChmZWF0dXJlLCBtYXAucHJvamVjdGlvbilcbiAgKTtcblxuICBjb25zdCBzb3VyY2VPcHRpb25zOiBGZWF0dXJlRGF0YVNvdXJjZU9wdGlvbnMgJiBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyA9IHtcbiAgICB0eXBlOiAndmVjdG9yJyxcbiAgICBxdWVyeWFibGU6IHRydWVcbiAgfTtcbiAgY29uc3Qgc291cmNlID0gbmV3IEZlYXR1cmVEYXRhU291cmNlKHNvdXJjZU9wdGlvbnMpO1xuICBzb3VyY2Uub2wuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XG4gIGNvbnN0IGxheWVyID0gbmV3IFZlY3RvckxheWVyKHtcbiAgICB0aXRsZTogbGF5ZXJUaXRsZSxcbiAgICBpc0lnb0ludGVybmFsTGF5ZXI6IHRydWUsXG4gICAgc291cmNlLFxuICAgIHN0eWxlOiBjcmVhdGVJbXBvcnRlZExheWVyUmFuZG9tU3R5bGUoKVxuICB9KTtcbiAgbWFwLmFkZExheWVyKGxheWVyKTtcbiAgbW92ZVRvT2xGZWF0dXJlcyhtYXAsIG9sRmVhdHVyZXMpO1xuXG4gIHJldHVybiBsYXllcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZExheWVyQW5kRmVhdHVyZXNTdHlsZWRUb01hcChcbiAgZmVhdHVyZXM6IEZlYXR1cmVbXSxcbiAgbWFwOiBJZ29NYXAsXG4gIGxheWVyVGl0bGU6IHN0cmluZyxcbiAgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcbiAgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gIGxheWVySWQ/OiBzdHJpbmcsXG4gIGltcG9zZWRTb3VyY2VPcHRpb25zPyxcbiAgaW1wb3NlZExheWVyT3B0aW9ucz8sXG4gIHpvb21UbzogYm9vbGVhbiA9IHRydWVcblxuKTogVmVjdG9yTGF5ZXIge1xuICBjb25zdCBvbEZlYXR1cmVzID0gZmVhdHVyZXMubWFwKChmZWF0dXJlOiBGZWF0dXJlKSA9PlxuICAgIGZlYXR1cmVUb09sKGZlYXR1cmUsIG1hcC5wcm9qZWN0aW9uKVxuICApO1xuICBsZXQgc3R5bGU7XG4gIGxldCBkaXN0YW5jZTogbnVtYmVyO1xuXG4gIGlmIChcbiAgICBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChsYXllclRpdGxlLnRvU3RyaW5nKCkgKyAnLnN0eWxlQnlBdHRyaWJ1dGUnKVxuICApIHtcbiAgICBjb25zdCBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXG4gICAgICBsYXllclRpdGxlLnRvU3RyaW5nKCkgKyAnLnN0eWxlQnlBdHRyaWJ1dGUnXG4gICAgKTtcblxuICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShmZWF0dXJlLCBzdHlsZUJ5QXR0cmlidXRlLCByZXNvbHV0aW9uKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKFxuICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuY2x1c3RlclN0eWxlJylcbiAgKSB7XG4gICAgY29uc3QgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChcbiAgICAgIGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuY2x1c3RlclBhcmFtJ1xuICAgICk7XG4gICAgZGlzdGFuY2UgPSBzdHlsZUxpc3RTZXJ2aWNlLmdldFN0eWxlTGlzdChcbiAgICAgIGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuZGlzdGFuY2UnXG4gICAgKTtcblxuICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHtcbiAgICAgIGNvbnN0IGJhc2VTdHlsZSA9IHN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcbiAgICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5jbHVzdGVyU3R5bGUnKSwgZmVhdHVyZSwgcmVzb2x1dGlvblxuICAgICAgKTtcbiAgICAgIHJldHVybiBzdHlsZVNlcnZpY2UuY3JlYXRlQ2x1c3RlclN0eWxlKGZlYXR1cmUsIHJlc29sdXRpb24sIGNsdXN0ZXJQYXJhbSwgYmFzZVN0eWxlKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuc3R5bGUnKSkge1xuICAgIHN0eWxlID0gKGZlYXR1cmUsIHJlc29sdXRpb24pID0+IHN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShcbiAgICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KGxheWVyVGl0bGUudG9TdHJpbmcoKSArICcuc3R5bGUnKSwgZmVhdHVyZSwgcmVzb2x1dGlvblxuICAgICk7XG4gIH0gZWxzZSBpZiAoXG4gICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoJ2RlZmF1bHQuY2x1c3RlclN0eWxlJykgJiZcbiAgICBmZWF0dXJlc1swXS5nZW9tZXRyeS50eXBlID09PSAnUG9pbnQnXG4gICkge1xuICAgIGNvbnN0IGNsdXN0ZXJQYXJhbTogQ2x1c3RlclBhcmFtID0gc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoXG4gICAgICAnZGVmYXVsdC5jbHVzdGVyUGFyYW0nXG4gICAgKTtcbiAgICBkaXN0YW5jZSA9IHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KCdkZWZhdWx0LmRpc3RhbmNlJyk7XG5cbiAgICBzdHlsZSA9IChmZWF0dXJlLCByZXNvbHV0aW9uKSA9PiB7XG4gICAgICBjb25zdCBiYXNlU3R5bGUgPSBzdHlsZVNlcnZpY2UuY3JlYXRlU3R5bGUoXG4gICAgICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KCdkZWZhdWx0LmNsdXN0ZXJTdHlsZScpLCBmZWF0dXJlLCByZXNvbHV0aW9uXG4gICAgICApO1xuICAgICAgcmV0dXJuIHN0eWxlU2VydmljZS5jcmVhdGVDbHVzdGVyU3R5bGUoZmVhdHVyZSwgcmVzb2x1dGlvbiwgY2x1c3RlclBhcmFtLCBiYXNlU3R5bGUpO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUgPSAoZmVhdHVyZSwgcmVzb2x1dGlvbikgPT4gc3R5bGVTZXJ2aWNlLmNyZWF0ZVN0eWxlKFxuICAgICAgc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QoJ2RlZmF1bHQuc3R5bGUnKSwgZmVhdHVyZSwgcmVzb2x1dGlvblxuICAgICk7XG4gIH1cblxuICBsZXQgc291cmNlO1xuICBpZiAoc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpICsgJy5jbHVzdGVyU3R5bGUnKSkge1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyAmXG4gICAgICBRdWVyeWFibGVEYXRhU291cmNlT3B0aW9ucyA9IHtcbiAgICAgIGRpc3RhbmNlLFxuICAgICAgdHlwZTogJ2NsdXN0ZXInLFxuICAgICAgcXVlcnlhYmxlOiB0cnVlXG4gICAgfTtcbiAgICBzb3VyY2UgPSBuZXcgQ2x1c3RlckRhdGFTb3VyY2UoT2JqZWN0LmFzc2lnbihzb3VyY2VPcHRpb25zLCBpbXBvc2VkU291cmNlT3B0aW9ucykpO1xuICAgIHNvdXJjZS5vbC5zb3VyY2UuYWRkRmVhdHVyZXMob2xGZWF0dXJlcyk7XG4gIH0gZWxzZSBpZiAoc3R5bGVMaXN0U2VydmljZS5nZXRTdHlsZUxpc3QobGF5ZXJUaXRsZS50b1N0cmluZygpKSkge1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucyAmIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID0ge1xuICAgICAgdHlwZTogJ3ZlY3RvcicsXG4gICAgICBxdWVyeWFibGU6IHRydWVcbiAgICB9O1xuICAgIHNvdXJjZSA9IG5ldyBGZWF0dXJlRGF0YVNvdXJjZShPYmplY3QuYXNzaWduKHNvdXJjZU9wdGlvbnMsIGltcG9zZWRTb3VyY2VPcHRpb25zKSk7XG4gICAgc291cmNlLm9sLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xuICB9IGVsc2UgaWYgKFxuICAgIHN0eWxlTGlzdFNlcnZpY2UuZ2V0U3R5bGVMaXN0KCdkZWZhdWx0LmNsdXN0ZXJTdHlsZScpICYmXG4gICAgZmVhdHVyZXNbMF0uZ2VvbWV0cnkudHlwZSA9PT0gJ1BvaW50J1xuICApIHtcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zOiBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnMgJlxuICAgICAgUXVlcnlhYmxlRGF0YVNvdXJjZU9wdGlvbnMgPSB7XG4gICAgICBkaXN0YW5jZSxcbiAgICAgIHR5cGU6ICdjbHVzdGVyJyxcbiAgICAgIHF1ZXJ5YWJsZTogdHJ1ZVxuICAgIH07XG4gICAgc291cmNlID0gbmV3IENsdXN0ZXJEYXRhU291cmNlKE9iamVjdC5hc3NpZ24oc291cmNlT3B0aW9ucywgaW1wb3NlZFNvdXJjZU9wdGlvbnMpKTtcbiAgICBzb3VyY2Uub2wuc291cmNlLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnM6IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucyAmIFF1ZXJ5YWJsZURhdGFTb3VyY2VPcHRpb25zID0ge1xuICAgICAgdHlwZTogJ3ZlY3RvcicsXG4gICAgICBxdWVyeWFibGU6IHRydWVcbiAgICB9O1xuICAgIHNvdXJjZSA9IG5ldyBGZWF0dXJlRGF0YVNvdXJjZShPYmplY3QuYXNzaWduKHNvdXJjZU9wdGlvbnMsIGltcG9zZWRTb3VyY2VPcHRpb25zKSk7XG4gICAgc291cmNlLm9sLmFkZEZlYXR1cmVzKG9sRmVhdHVyZXMpO1xuICB9XG5cbiAgY29uc3QgbGF5ZXIgPSBuZXcgVmVjdG9yTGF5ZXIoXG4gICAgT2JqZWN0LmFzc2lnbih7XG4gICAgICB0aXRsZTogbGF5ZXJUaXRsZSxcbiAgICAgIGlkOiBsYXllcklkIHx8IHV1aWQoKSxcbiAgICAgIGlzSWdvSW50ZXJuYWxMYXllcjogdHJ1ZSxcbiAgICAgIHNvdXJjZSxcbiAgICAgIHN0eWxlXG4gICAgfSwgaW1wb3NlZExheWVyT3B0aW9ucykpO1xuICBtYXAuYWRkTGF5ZXIobGF5ZXIpO1xuICBpZiAoem9vbVRvKXtcbiAgICBtb3ZlVG9PbEZlYXR1cmVzKG1hcCwgb2xGZWF0dXJlcyk7XG4gIH1cbiAgcmV0dXJuIGxheWVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUltcG9ydFN1Y2Nlc3MoXG4gIGZpbGU6IEZpbGUsXG4gIGZlYXR1cmVzOiBGZWF0dXJlW10sXG4gIG1hcDogSWdvTWFwLFxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxuICBzdHlsZUxpc3RTZXJ2aWNlPzogU3R5bGVMaXN0U2VydmljZSxcbiAgc3R5bGVTZXJ2aWNlPzogU3R5bGVTZXJ2aWNlXG4pIHtcbiAgaWYgKGZlYXR1cmVzLmxlbmd0aCA9PT0gMCkge1xuICAgIGhhbmRsZU5vdGhpbmdUb0ltcG9ydEVycm9yKGZpbGUsIG1lc3NhZ2VTZXJ2aWNlLCBsYW5ndWFnZVNlcnZpY2UpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxheWVyVGl0bGUgPSBjb21wdXRlTGF5ZXJUaXRsZUZyb21GaWxlKGZpbGUpO1xuXG4gIGlmICghc3R5bGVMaXN0U2VydmljZSkge1xuICAgIGFkZExheWVyQW5kRmVhdHVyZXNUb01hcChmZWF0dXJlcywgbWFwLCBsYXllclRpdGxlKTtcbiAgfSBlbHNlIHtcbiAgICBhZGRMYXllckFuZEZlYXR1cmVzU3R5bGVkVG9NYXAoXG4gICAgICBmZWF0dXJlcyxcbiAgICAgIG1hcCxcbiAgICAgIGxheWVyVGl0bGUsXG4gICAgICBzdHlsZUxpc3RTZXJ2aWNlLFxuICAgICAgc3R5bGVTZXJ2aWNlXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XG4gIGNvbnN0IG1lc3NhZ2VUaXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLnN1Y2Nlc3MudGl0bGUnKTtcbiAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLnN1Y2Nlc3MudGV4dCcsIHtcbiAgICB2YWx1ZTogbGF5ZXJUaXRsZVxuICB9KTtcbiAgbWVzc2FnZVNlcnZpY2Uuc3VjY2VzcyhtZXNzYWdlLCBtZXNzYWdlVGl0bGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlRmlsZUltcG9ydEVycm9yKFxuICBmaWxlOiBGaWxlLFxuICBlcnJvcjogRXJyb3IsXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2UsXG4gIHNpemVNYj86IG51bWJlclxuKSB7XG4gIHNpemVNYiA9IHNpemVNYiA/IHNpemVNYiA6IDMwO1xuICBjb25zdCBlcnJNYXBwaW5nID0ge1xuICAgICdJbnZhbGlkIGZpbGUnOiBoYW5kbGVJbnZhbGlkRmlsZUltcG9ydEVycm9yLFxuICAgICdGaWxlIGlzIHRvbyBsYXJnZSc6IGhhbmRsZVNpemVGaWxlSW1wb3J0RXJyb3IsXG4gICAgJ0ZhaWxlZCB0byByZWFkIGZpbGUnOiBoYW5kbGVVbnJlYWRibGVGaWxlSW1wb3J0RXJyb3IsXG4gICAgJ0ludmFsaWQgU1JTIGRlZmluaXRpb24nOiBoYW5kbGVTUlNJbXBvcnRFcnJvcixcbiAgICAnRXJyb3IgNTAwIHdpdGggT0dSRSc6IGhhbmRsZU9ncmVTZXJ2ZXJJbXBvcnRFcnJvclxuICB9O1xuICBlcnJNYXBwaW5nW2Vycm9yLm1lc3NhZ2VdKFxuICAgIGZpbGUsXG4gICAgZXJyb3IsXG4gICAgbWVzc2FnZVNlcnZpY2UsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHNpemVNYlxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlSW52YWxpZEZpbGVJbXBvcnRFcnJvcihcbiAgZmlsZTogRmlsZSxcbiAgZXJyb3I6IEVycm9yLFxuICBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlXG4pIHtcbiAgY29uc3QgdHJhbnNsYXRlID0gbGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZTtcbiAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS5pbnZhbGlkLnRpdGxlJyk7XG4gIGNvbnN0IG1lc3NhZ2UgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS5pbnZhbGlkLnRleHQnLCB7XG4gICAgdmFsdWU6IGZpbGUubmFtZSxcbiAgICBtaW1lVHlwZTogZmlsZS50eXBlXG4gIH0pO1xuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVVbnJlYWRibGVGaWxlSW1wb3J0RXJyb3IoXG4gIGZpbGU6IEZpbGUsXG4gIGVycm9yOiBFcnJvcixcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuKSB7XG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XG4gIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUudW5yZWFkYWJsZS50aXRsZScpO1xuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUudW5yZWFkYWJsZS50ZXh0Jywge1xuICAgIHZhbHVlOiBmaWxlLm5hbWVcbiAgfSk7XG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVNpemVGaWxlSW1wb3J0RXJyb3IoXG4gIGZpbGU6IEZpbGUsXG4gIGVycm9yOiBFcnJvcixcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcbiAgc2l6ZU1iOiBudW1iZXJcbikge1xuICBjb25zdCB0cmFuc2xhdGUgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlO1xuICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLnRvb0xhcmdlLnRpdGxlJyk7XG4gIGNvbnN0IG1lc3NhZ2UgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS50b29MYXJnZS50ZXh0Jywge1xuICAgIHZhbHVlOiBmaWxlLm5hbWUsXG4gICAgc2l6ZTogc2l6ZU1iXG4gIH0pO1xuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVOb3RoaW5nVG9JbXBvcnRFcnJvcihcbiAgZmlsZTogRmlsZSxcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuKSB7XG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XG4gIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuZW1wdHkudGl0bGUnKTtcbiAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uZ2VvLmRyb3BHZW9GaWxlLmVtcHR5LnRleHQnLCB7XG4gICAgdmFsdWU6IGZpbGUubmFtZSxcbiAgICBtaW1lVHlwZTogZmlsZS50eXBlXG4gIH0pO1xuICBtZXNzYWdlU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTUlNJbXBvcnRFcnJvcihcbiAgZmlsZTogRmlsZSxcbiAgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuKSB7XG4gIGNvbnN0IHRyYW5zbGF0ZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGU7XG4gIGNvbnN0IHRpdGxlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuaW52YWxpZFNSUy50aXRsZScpO1xuICBjb25zdCBtZXNzYWdlID0gdHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUuaW52YWxpZFNSUy50ZXh0Jywge1xuICAgIHZhbHVlOiBmaWxlLm5hbWUsXG4gICAgbWltZVR5cGU6IGZpbGUudHlwZVxuICB9KTtcbiAgbWVzc2FnZVNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlT2dyZVNlcnZlckltcG9ydEVycm9yKFxuICBmaWxlOiBGaWxlLFxuICBlcnJvcjogRXJyb3IsXG4gIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcbiAgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVNlcnZpY2Vcbikge1xuICBjb25zdCB0aXRsZSA9IGxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCgnaWdvLmdlby5kcm9wR2VvRmlsZS5vZ3JlU2VydmVyLnRpdGxlJyk7XG4gIGNvbnN0IG1lc3NhZ2UgPSBsYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoJ2lnby5nZW8uZHJvcEdlb0ZpbGUub2dyZVNlcnZlci50ZXh0Jyk7XG4gIG1lc3NhZ2VTZXJ2aWNlLmVycm9yKG1lc3NhZ2UsIHRpdGxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XG4gIHJldHVybiBmaWxlLm5hbWVcbiAgICAuc3BsaXQoJy4nKVxuICAgIC5wb3AoKVxuICAgIC50b0xvd2VyQ2FzZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZUxheWVyVGl0bGVGcm9tRmlsZShmaWxlOiBGaWxlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZpbGUubmFtZS5zdWJzdHIoMCwgZmlsZS5uYW1lLmxhc3RJbmRleE9mKCcuJykpO1xufVxuZnVuY3Rpb24gY3JlYXRlSW1wb3J0ZWRMYXllclJhbmRvbVN0eWxlKCk6IChvbEZlYXR1cmU6IE9sRmVhdHVyZTxPbEdlb21ldHJ5PikgPT4gb2xTdHlsZS5TdHlsZSB7XG4gIGNvbnN0IHIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNTUpO1xuICBjb25zdCBnID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjU1KTtcbiAgY29uc3QgYiA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDI1NSk7XG4gIGNvbnN0IHN0cm9rZSA9IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgY29sb3I6IFtyLCBnLCBiLCAxXSxcbiAgICB3aWR0aDogMlxuICB9KTtcbiAgY29uc3QgZmlsbCA9IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgIGNvbG9yOiBbciwgZywgYiwgMC40XVxuICB9KTtcblxuICByZXR1cm4gKG9sRmVhdHVyZTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+KSA9PiB7XG4gICAgICBjb25zdCBjdXN0b21TdHlsZSA9IG9sRmVhdHVyZS5nZXQoJ19zdHlsZScpO1xuICAgICAgaWYgKGN1c3RvbVN0eWxlKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlU2VydmljZSA9IG5ldyBTdHlsZVNlcnZpY2UoKTtcbiAgICAgICAgcmV0dXJuIHN0eWxlU2VydmljZS5jcmVhdGVTdHlsZShjdXN0b21TdHlsZSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0eWxlID0gbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICBzdHJva2UsXG4gICAgICAgIGZpbGwsXG4gICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xuICAgICAgICAgIHJhZGl1czogNSxcbiAgICAgICAgICBzdHJva2UsXG4gICAgICAgICAgZmlsbFxuICAgICAgICB9KSxcbiAgICAgICAgdGV4dDogb2xGZWF0dXJlLmdldCgnX21hcFRpdGxlJykgPyBuZXcgb2xTdHlsZS5UZXh0KHtcbiAgICAgICAgICB0ZXh0OiBvbEZlYXR1cmUuZ2V0KCdfbWFwVGl0bGUnKS50b1N0cmluZygpLFxuICAgICAgICAgIG9mZnNldFg6IDUsXG4gICAgICAgICAgb2Zmc2V0WTogLTUsXG4gICAgICAgICAgZm9udDogJzEycHggQ2FsaWJyaSxzYW5zLXNlcmlmJyxcbiAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHsgY29sb3I6ICcjMDAwJyB9KSxcbiAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7IGNvbG9yOiAnI2ZmZicsIHdpZHRoOiAzIH0pLFxuICAgICAgICAgIG92ZXJmbG93OiB0cnVlXG4gICAgICAgIH0pOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN0eWxlO1xuICB9O1xufVxuXG4iXX0=
@@ -8,4 +8,4 @@ export * from './import.errors';
8
8
  export * from './import.interface';
9
9
  export * from './import.service';
10
10
  export * from './import.utils';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V4cG9ydC5lcnJvcnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V4cG9ydC5pbnRlcmZhY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V4cG9ydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9leHBvcnQudHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0LnV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQuZXJyb3JzJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LnV0aWxzJztcclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcC1nZW8tZmlsZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBvcnQuZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2V4cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwb3J0LnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9leHBvcnQudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbXBvcnQuZXJyb3JzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2ltcG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaW1wb3J0LnV0aWxzJztcbiJdfQ==
@@ -2,4 +2,4 @@ export * from './style-list.module';
2
2
  export * from './style-list.service';
3
3
  export * from './style-list.provider';
4
4
  export * from './style-list.interface';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbGlzdC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0eWxlLWxpc3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbGlzdC5wcm92aWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbGlzdC5pbnRlcmZhY2UnO1xyXG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbGlzdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZS1saXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHlsZS1saXN0LnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUtbGlzdC5pbnRlcmZhY2UnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU3R5bGVMaXN0T3B0aW9ucyB7XHJcbiAgZGVmYXVsdD86IHsgW2tleTogc3RyaW5nXTogYW55IH07XHJcbiAgcGF0aD86IHN0cmluZztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU3R5bGVMaXN0T3B0aW9ucyB7XG4gIGRlZmF1bHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICBwYXRoPzogc3RyaW5nO1xufVxuIl19
@@ -20,4 +20,4 @@ IgoStyleListModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[]] }
20
20
  exports: []
21
21
  }]
22
22
  }], null, null); })();
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBT3hGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1NBQ25FLENBQUM7SUFDSixDQUFDOztvRkFOVSxrQkFBa0I7b0VBQWxCLGtCQUFrQjt3RUFKcEIsRUFBRTt1RkFJQSxrQkFBa0I7Y0FMOUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcHJvdmlkZVN0eWxlTGlzdE9wdGlvbnMsIHByb3ZpZGVTdHlsZUxpc3RMb2FkZXIgfSBmcm9tICcuL3N0eWxlLWxpc3QucHJvdmlkZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG4gIGV4cG9ydHM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TdHlsZUxpc3RNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU3R5bGVMaXN0TW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvU3R5bGVMaXN0TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlU3R5bGVMaXN0T3B0aW9ucyh7fSksIHByb3ZpZGVTdHlsZUxpc3RMb2FkZXIoKV1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9pbXBvcnQtZXhwb3J0L3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBT3hGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1NBQ25FLENBQUM7SUFDSixDQUFDOztvRkFOVSxrQkFBa0I7b0VBQWxCLGtCQUFrQjt3RUFKcEIsRUFBRTt1RkFJQSxrQkFBa0I7Y0FMOUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUUsRUFBRTthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVTdHlsZUxpc3RPcHRpb25zLCBwcm92aWRlU3R5bGVMaXN0TG9hZGVyIH0gZnJvbSAnLi9zdHlsZS1saXN0LnByb3ZpZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIElnb1N0eWxlTGlzdE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvU3R5bGVMaXN0TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29TdHlsZUxpc3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtwcm92aWRlU3R5bGVMaXN0T3B0aW9ucyh7fSksIHByb3ZpZGVTdHlsZUxpc3RMb2FkZXIoKV1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -18,4 +18,4 @@ export function provideStyleListLoader() {
18
18
  deps: [StyleListService, STYLELIST_OPTIONS]
19
19
  };
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc3R5bGUtbGlzdC9zdHlsZS1saXN0LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFtQixrQkFBa0IsQ0FBQyxDQUFDO0FBRXhGLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUF5QjtJQUMvRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsZ0JBQWtDLEVBQ2xDLE9BQXlCO0lBRXpCLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTCxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsZ0JBQWdCO1FBQzVCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7S0FDNUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTdHlsZUxpc3RTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1saXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdHlsZUxpc3RPcHRpb25zIH0gZnJvbSAnLi9zdHlsZS1saXN0LmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgbGV0IFNUWUxFTElTVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFN0eWxlTGlzdE9wdGlvbnM+KCdzdHlsZUxpc3RPcHRpb25zJyk7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVN0eWxlTGlzdE9wdGlvbnMob3B0aW9uczogU3R5bGVMaXN0T3B0aW9ucykge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBTVFlMRUxJU1RfT1BUSU9OUyxcclxuICAgIHVzZVZhbHVlOiBvcHRpb25zXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN0eWxlTGlzdEZhY3RvcnkoXHJcbiAgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcclxuICBvcHRpb25zOiBTdHlsZUxpc3RPcHRpb25zXHJcbikge1xyXG4gIHJldHVybiAoKSA9PiBzdHlsZUxpc3RTZXJ2aWNlLmxvYWQob3B0aW9ucyk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3R5bGVMaXN0TG9hZGVyKCkge1xyXG4gIHJldHVybiB7XHJcbiAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICB1c2VGYWN0b3J5OiBzdHlsZUxpc3RGYWN0b3J5LFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICBkZXBzOiBbU3R5bGVMaXN0U2VydmljZSwgU1RZTEVMSVNUX09QVElPTlNdXHJcbiAgfTtcclxufVxyXG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2ltcG9ydC1leHBvcnQvc3R5bGUtbGlzdC9zdHlsZS1saXN0LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3hELE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFtQixrQkFBa0IsQ0FBQyxDQUFDO0FBRXhGLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxPQUF5QjtJQUMvRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixRQUFRLEVBQUUsT0FBTztLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsZ0JBQWtDLEVBQ2xDLE9BQXlCO0lBRXpCLE9BQU8sR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTCxPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsZ0JBQWdCO1FBQzVCLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUM7S0FDNUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN0eWxlTGlzdFNlcnZpY2UgfSBmcm9tICcuL3N0eWxlLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBTdHlsZUxpc3RPcHRpb25zIH0gZnJvbSAnLi9zdHlsZS1saXN0LmludGVyZmFjZSc7XG5cbmV4cG9ydCBsZXQgU1RZTEVMSVNUX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3R5bGVMaXN0T3B0aW9ucz4oJ3N0eWxlTGlzdE9wdGlvbnMnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTdHlsZUxpc3RPcHRpb25zKG9wdGlvbnM6IFN0eWxlTGlzdE9wdGlvbnMpIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBTVFlMRUxJU1RfT1BUSU9OUyxcbiAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3R5bGVMaXN0RmFjdG9yeShcbiAgc3R5bGVMaXN0U2VydmljZTogU3R5bGVMaXN0U2VydmljZSxcbiAgb3B0aW9uczogU3R5bGVMaXN0T3B0aW9uc1xuKSB7XG4gIHJldHVybiAoKSA9PiBzdHlsZUxpc3RTZXJ2aWNlLmxvYWQob3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlU3R5bGVMaXN0TG9hZGVyKCkge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICB1c2VGYWN0b3J5OiBzdHlsZUxpc3RGYWN0b3J5LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtTdHlsZUxpc3RTZXJ2aWNlLCBTVFlMRUxJU1RfT1BUSU9OU11cbiAgfTtcbn1cbiJdfQ==
@@ -48,4 +48,4 @@ StyleListService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StyleLi
48
48
  providedIn: 'root'
49
49
  }]
50
50
  }], function () { return [{ type: i0.Injector }]; }, null); })();
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zdHlsZS1saXN0L3N0eWxlLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztJQUVVLENBQUM7SUFFMUM7O09BRUc7SUFDSSxZQUFZLENBQUMsR0FBVztRQUM3QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsT0FBeUI7UUFDbkMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSTtpQkFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDakIsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBTyxFQUFFO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixPQUFPLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxpQkFBeUIsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0ZBdkNVLGdCQUFnQjtzRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNO3VGQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFN0eWxlTGlzdE9wdGlvbnMgfSBmcm9tICcuL3N0eWxlLWxpc3QuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlTGlzdFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc3R5bGVMaXN0OiBvYmplY3QgPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZSB0byBnZXQgdGhlIGRhdGEgZm91bmQgaW4gc3R5bGVMaXN0IGZpbGVcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0U3R5bGVMaXN0KGtleTogc3RyaW5nKTogYW55IHtcclxuICAgIHJldHVybiBPYmplY3RVdGlscy5yZXNvbHZlKHRoaXMuc3R5bGVMaXN0LCBrZXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2QgbG9hZHMgXCJbcGF0aF1cIiB0byBnZXQgYWxsIHN0eWxlTGlzdCdzIHZhcmlhYmxlc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2FkKG9wdGlvbnM6IFN0eWxlTGlzdE9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGJhc2VTdHlsZUxpc3QgPSBvcHRpb25zLmRlZmF1bHQgfHwge307XHJcbiAgICBpZiAoIW9wdGlvbnMucGF0aCkge1xyXG4gICAgICB0aGlzLnN0eWxlTGlzdCA9IGJhc2VTdHlsZUxpc3Q7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGh0dHAgPSB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KTtcclxuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIF9yZWplY3QpID0+IHtcclxuICAgICAgaHR0cFxyXG4gICAgICAgIC5nZXQob3B0aW9ucy5wYXRoKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IGFueSk6IGFueSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTdHlsZUxpc3QgZmlsZSAke29wdGlvbnMucGF0aH0gY291bGQgbm90IGJlIHJlYWRgKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IuZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoc3R5bGVMaXN0UmVzcG9uc2U6IG9iamVjdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdHlsZUxpc3QgPSBPYmplY3RVdGlscy5tZXJnZURlZXAoYmFzZVN0eWxlTGlzdCwgc3R5bGVMaXN0UmVzcG9uc2UpO1xyXG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvaW1wb3J0LWV4cG9ydC9zdHlsZS1saXN0L3N0eWxlLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFGOUIsY0FBUyxHQUFXLEVBQUUsQ0FBQztJQUVVLENBQUM7SUFFMUM7O09BRUc7SUFDSSxZQUFZLENBQUMsR0FBVztRQUM3QixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsT0FBeUI7UUFDbkMsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEMsSUFBSTtpQkFDRCxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDakIsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEtBQVUsRUFBTyxFQUFFO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixPQUFPLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2QsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FDSDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxpQkFBeUIsRUFBRSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0ZBdkNVLGdCQUFnQjtzRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQixtQkFGZixNQUFNO3VGQUVQLGdCQUFnQjtjQUg1QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgeyBTdHlsZUxpc3RPcHRpb25zIH0gZnJvbSAnLi9zdHlsZS1saXN0LmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFN0eWxlTGlzdFNlcnZpY2Uge1xuICBwcml2YXRlIHN0eWxlTGlzdDogb2JqZWN0ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgLyoqXG4gICAqIFVzZSB0byBnZXQgdGhlIGRhdGEgZm91bmQgaW4gc3R5bGVMaXN0IGZpbGVcbiAgICovXG4gIHB1YmxpYyBnZXRTdHlsZUxpc3Qoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBPYmplY3RVdGlscy5yZXNvbHZlKHRoaXMuc3R5bGVMaXN0LCBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGxvYWRzIFwiW3BhdGhdXCIgdG8gZ2V0IGFsbCBzdHlsZUxpc3QncyB2YXJpYWJsZXNcbiAgICovXG4gIHB1YmxpYyBsb2FkKG9wdGlvbnM6IFN0eWxlTGlzdE9wdGlvbnMpIHtcbiAgICBjb25zdCBiYXNlU3R5bGVMaXN0ID0gb3B0aW9ucy5kZWZhdWx0IHx8IHt9O1xuICAgIGlmICghb3B0aW9ucy5wYXRoKSB7XG4gICAgICB0aGlzLnN0eWxlTGlzdCA9IGJhc2VTdHlsZUxpc3Q7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBodHRwID0gdGhpcy5pbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIF9yZWplY3QpID0+IHtcbiAgICAgIGh0dHBcbiAgICAgICAgLmdldChvcHRpb25zLnBhdGgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFN0eWxlTGlzdCBmaWxlICR7b3B0aW9ucy5wYXRofSBjb3VsZCBub3QgYmUgcmVhZGApO1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yLmVycm9yIHx8ICdTZXJ2ZXIgZXJyb3InKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHN0eWxlTGlzdFJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLnN0eWxlTGlzdCA9IE9iamVjdFV0aWxzLm1lcmdlRGVlcChiYXNlU3R5bGVMaXN0LCBzdHlsZUxpc3RSZXNwb25zZSk7XG4gICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -7,4 +7,4 @@ export * from './layer-list';
7
7
  export * from './layer-list-tool';
8
8
  export * from './track-feature-button';
9
9
  export * from './utils';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItaXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGVnZW5kJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXllci1sZWdlbmQtaXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGVnZW5kLWxpc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheWVyLWxpc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xheWVyLWxpc3QtdG9vbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHJhY2stZmVhdHVyZS1idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoYXJlZCc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci1sZWdlbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci1sZWdlbmQtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLWxlZ2VuZC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xheWVyLWxpc3QtdG9vbCc7XG5leHBvcnQgKiBmcm9tICcuL3RyYWNrLWZlYXR1cmUtYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './layer-item.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1pdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheWVyLWl0ZW0uY29tcG9uZW50JztcclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1pdGVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xheWVyLWl0ZW0uY29tcG9uZW50JztcbiJdfQ==
@@ -19,17 +19,16 @@ function LayerItemComponent_button_4_Template(rf, ctx) { if (rf & 1) {
19
19
  i0.ɵɵelementStart(0, "button", 10);
20
20
  i0.ɵɵlistener("click", function LayerItemComponent_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(); return ctx_r8.toggleVisibility(); });
21
21
  i0.ɵɵpipe(1, "translate");
22
- i0.ɵɵpipe(2, "translate");
23
- i0.ɵɵelement(3, "mat-icon", 11);
22
+ i0.ɵɵelement(2, "mat-icon", 11);
23
+ i0.ɵɵpipe(3, "async");
24
24
  i0.ɵɵpipe(4, "async");
25
25
  i0.ɵɵpipe(5, "async");
26
- i0.ɵɵpipe(6, "async");
27
26
  i0.ɵɵelementEnd();
28
27
  } if (rf & 2) {
29
28
  const ctx_r1 = i0.ɵɵnextContext();
30
- i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", ctx_r1.layer.visible ? i0.ɵɵpipeBind1(1, 5, "igo.geo.layer.hideLayer") : i0.ɵɵpipeBind1(2, 7, "igo.geo.layer.showLayer"));
31
- i0.ɵɵadvance(3);
32
- i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(4, 9, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(15, _c0, i0.ɵɵpipeBind1(5, 11, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(6, 13, ctx_r1.layer.visible$) ? "eye" : "eye-off");
29
+ i0.ɵɵproperty("color", ctx_r1.layer.visible ? "primary" : "default")("matTooltip", i0.ɵɵpipeBind1(1, 5, ctx_r1.eyeTooltip));
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵproperty("matBadgeHidden", i0.ɵɵpipeBind1(3, 7, ctx_r1.queryBadgeHidden$))("ngClass", i0.ɵɵpureFunction1(13, _c0, i0.ɵɵpipeBind1(4, 9, ctx_r1.inResolutionRange$) === false))("svgIcon", i0.ɵɵpipeBind1(5, 11, ctx_r1.layer.visible$) ? "eye" : "eye-off");
33
32
  } }
34
33
  function LayerItemComponent_button_5_Template(rf, ctx) { if (rf & 1) {
35
34
  const _r11 = i0.ɵɵgetCurrentView();
@@ -120,6 +119,14 @@ export class LayerItemComponent {
120
119
  set opacity(opacity) {
121
120
  this.layer.opacity = opacity / 100;
122
121
  }
122
+ get eyeTooltip() {
123
+ if (this.inResolutionRange$.getValue() === false) {
124
+ return 'igo.geo.layer.notInResolution';
125
+ }
126
+ else {
127
+ return this.layer.visible ? 'igo.geo.layer.hideLayer' : 'igo.geo.layer.showLayer';
128
+ }
129
+ }
123
130
  ngOnInit() {
124
131
  if (this.layer.visible &&
125
132
  this.expandLegendIfVisible &&
@@ -232,7 +239,7 @@ LayerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerIte
232
239
  i0.ɵɵlistener("click", function LayerItemComponent_Template_h4_click_2_listener() { return ctx.toggleLegendOnClick(); });
233
240
  i0.ɵɵtext(3);
234
241
  i0.ɵɵelementEnd();
235
- i0.ɵɵtemplate(4, LayerItemComponent_button_4_Template, 7, 17, "button", 3);
242
+ i0.ɵɵtemplate(4, LayerItemComponent_button_4_Template, 6, 15, "button", 3);
236
243
  i0.ɵɵtemplate(5, LayerItemComponent_button_5_Template, 6, 15, "button", 4);
237
244
  i0.ɵɵtemplate(6, LayerItemComponent_button_6_Template, 3, 3, "button", 5);
238
245
  i0.ɵɵelementEnd();
@@ -295,4 +302,4 @@ LayerItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LayerIte
295
302
  }], checkbox: [{
296
303
  type: Output
297
304
  }] }); })();
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1pdGVtL2xheWVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItaXRlbS9sYXllci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sWUFBWSxFQUliLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7SUNmcEQsdUNBSXlCO0lBRHZCLGtNQUFrQjtJQUVwQixpQkFBZTs7O0lBRGIsMkNBQXNCOzs7OztJQUl4QixrQ0FTK0I7SUFBN0IsK0xBQTRCOzs7SUFDNUIsK0JBUVc7Ozs7SUFDYixpQkFBUzs7O0lBakJQLG9FQUErQyx3SUFBQTtJQWE3QyxlQUE0QztJQUE1QywrRUFBNEMsb0dBQUEsNkVBQUE7Ozs7SUFNaEQsa0NBUzZCO0lBQTdCLGtNQUE0Qjs7O0lBQzVCLCtCQVFXOzs7SUFDYixpQkFBUzs7O0lBakJQLG9FQUErQyx3SUFBQTtJQWE3QyxlQUE0QztJQUE1QywrRUFBNEMsb0dBQUEscURBQUE7Ozs7SUFNOUMsa0NBTzhCO0lBQTVCLGlNQUEyQjs7SUFDM0IsK0JBQStDO0lBQ2pELGlCQUFTOztJQUxQLDhFQUF1RDs7O0lBU3pELHVDQUltQjs7O0lBRmpCLG9DQUFlLHlFQUFBOztBRHpDbkIsTUFBTSxPQUFPLGtCQUFrQjtJQTBGN0IsWUFD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TztRQUVQLHlFQVNTO1FBQ1gsaUJBQWdCO1FBRWhCLGlDQUFnRDtRQUM5Qyw2RkFJbUI7O1FBQ3JCLGlCQUFNOztRQXBFVyxlQUFtQjtRQUFuQix3Q0FBbUI7UUFNa0MsZUFBMEI7UUFBMUIsNENBQTBCO1FBQTJCLGVBQWU7UUFBZixxQ0FBZTtRQUUvSCxlQUFvQjtRQUFwQix5Q0FBb0I7UUFxQnBCLGVBQW1CO1FBQW5CLHdDQUFtQjtRQXFCbkIsZUFBb0I7UUFBcEIseUNBQW9CO1FBYzFCLGVBQXlCO1FBQXpCLDZEQUF5Qjs7dUZEeENqQixrQkFBa0I7Y0FOOUIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFdBQVcsRUFBRSw2QkFBNkI7Z0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2dCQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDtrSkFLSyxXQUFXO2tCQURkLEtBQUs7WUEyQkYsU0FBUztrQkFEWixLQUFLO1lBWUcsVUFBVTtrQkFBbEIsS0FBSztZQVNGLEtBQUs7a0JBRFIsS0FBSztZQVVHLDhCQUE4QjtrQkFBdEMsS0FBSztZQUVHLHFCQUFxQjtrQkFBN0IsS0FBSztZQUVHLDhCQUE4QjtrQkFBdEMsS0FBSztZQUVHLFNBQVM7a0JBQWpCLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBRUcsYUFBYTtrQkFBckIsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBRUcsZUFBZTtrQkFBdkIsS0FBSztZQVNJLE1BQU07a0JBQWYsTUFBTTtZQUNHLFFBQVE7a0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IE1ldGFkYXRhTGF5ZXJPcHRpb25zIH0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvc2hhcmVkL21ldGFkYXRhLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IGxheWVySXNRdWVyeWFibGUgfSBmcm9tICcuLi8uLi9xdWVyeS9zaGFyZWQvcXVlcnkudXRpbHMnO1xyXG5pbXBvcnQgeyBMYXllciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzJztcclxuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UsIENvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbGF5ZXItaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xheWVyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xheWVyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyBmb2N1c2VkQ2xzID0gJ2lnby1sYXllci1pdGVtLWZvY3VzZWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBhY3RpdmVMYXllcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9hY3RpdmVMYXllcjtcclxuICB9XHJcbiAgc2V0IGFjdGl2ZUxheWVyKHZhbHVlKSB7XHJcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5sYXllciAmJiB2YWx1ZS5pZCA9PT0gdGhpcy5sYXllci5pZCAmJiAhdGhpcy5zZWxlY3Rpb25Nb2RlKSB7XHJcbiAgICAgIHRoaXMubGF5ZXJUb29sJC5uZXh0KHRydWUpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmZvY3VzZWRDbHMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hY3RpdmVMYXllcjtcclxuXHJcbiAgbGF5ZXJUb29sJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcblxyXG4gIHNob3dMZWdlbmQkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xyXG5cclxuICBpblJlc29sdXRpb25SYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XHJcblxyXG4gIHF1ZXJ5QmFkZ2VIaWRkZW4kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpO1xyXG5cclxuICB0b29sdGlwVGV4dDogc3RyaW5nO1xyXG5cclxuICBzdGF0ZTogQ29ubmVjdGlvblN0YXRlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzZWxlY3RBbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0QWxsO1xyXG4gIH1cclxuICBzZXQgc2VsZWN0QWxsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RBbGwgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLmxheWVyQ2hlY2sgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RBbGwgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF5ZXJDaGVjaztcclxuXHJcbiAgcHJpdmF0ZSByZXNvbHV0aW9uJCQ6IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIG5ldHdvcmskJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgbGF5ZXJzJDogQmVoYXZpb3JTdWJqZWN0PExheWVyPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+KHVuZGVmaW5lZCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGxheWVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xyXG4gIH1cclxuICBzZXQgbGF5ZXIodmFsdWUpIHtcclxuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XHJcbiAgICB0aGlzLmxheWVycyQubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xheWVyO1xyXG5cclxuICBASW5wdXQoKSB0b2dnbGVMZWdlbmRPblZpc2liaWxpdHlDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZXhwYW5kTGVnZW5kSWZWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBvcmRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBsb3dlckRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIHJhaXNlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcXVlcnlCYWRnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlO1xyXG5cclxuICBASW5wdXQoKSBjaGFuZ2VEZXRlY3Rpb247XHJcblxyXG4gIGdldCBvcGFjaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGF5ZXIub3BhY2l0eSAqIDEwMDtcclxuICB9XHJcbiAgc2V0IG9wYWNpdHkob3BhY2l0eTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmxheWVyLm9wYWNpdHkgPSBvcGFjaXR5IC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGFjdGlvbjogRXZlbnRFbWl0dGVyPExheWVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8TGF5ZXI+KHVuZGVmaW5lZCk7XHJcbiAgQE91dHB1dCgpIGNoZWNrYm94ID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBsYXllcjogTGF5ZXI7XHJcbiAgICBjaGVjazogYm9vbGVhbjtcclxuICB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5sYXllci52aXNpYmxlICYmXHJcbiAgICAgIHRoaXMuZXhwYW5kTGVnZW5kSWZWaXNpYmxlICYmXHJcbiAgICAgIHRoaXMubGF5ZXIuZmlyc3RMb2FkQ29tcG9uZW50ID09PSB0cnVlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5sYXllci5maXJzdExvYWRDb21wb25lbnQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlTGVnZW5kKHRoaXMubGF5ZXIubGVnZW5kQ29sbGFwc2VkKTtcclxuICAgIHRoaXMudXBkYXRlUXVlcnlCYWRnZSgpO1xyXG5cclxuICAgIGNvbnN0IHJlc29sdXRpb24kID0gdGhpcy5sYXllci5tYXAudmlld0NvbnRyb2xsZXIucmVzb2x1dGlvbiQ7XHJcbiAgICB0aGlzLnJlc29sdXRpb24kJCA9IHJlc29sdXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25SZXNvbHV0aW9uQ2hhbmdlKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudG9vbHRpcFRleHQgPSB0aGlzLmNvbXB1dGVUb29sdGlwKCk7XHJcblxyXG4gICAgdGhpcy5uZXR3b3JrJCQgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmN1cnJlbnRTdGF0ZSgpLnN1YnNjcmliZSgoc3RhdGU6IENvbm5lY3Rpb25TdGF0ZSkgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XHJcbiAgICAgIHRoaXMub25SZXNvbHV0aW9uQ2hhbmdlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmxheWVycyQkID0gdGhpcy5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxheWVyICYmIHRoaXMubGF5ZXIub3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgICB0aGlzLmxheWVyVG9vbCQubmV4dCh0cnVlKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMuY2hhbmdlRGV0ZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVzb2x1dGlvbiQkLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm5ldHdvcmskJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlTGVnZW5kKGNvbGxhcHNlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5sYXllci5sZWdlbmRDb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XHJcbiAgICB0aGlzLnNob3dMZWdlbmQkLm5leHQoIWNvbGxhcHNlZCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMZWdlbmRPbkNsaWNrKCkge1xyXG4gICAgdGhpcy50b2dnbGVMZWdlbmQodGhpcy5zaG93TGVnZW5kJC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVWaXNpYmlsaXR5KCkge1xyXG4gICAgdGhpcy5sYXllci52aXNpYmxlID0gIXRoaXMubGF5ZXIudmlzaWJsZTtcclxuICAgIGlmICh0aGlzLnRvZ2dsZUxlZ2VuZE9uVmlzaWJpbGl0eUNoYW5nZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUxlZ2VuZCghdGhpcy5sYXllci52aXNpYmxlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlUXVlcnlCYWRnZSgpO1xyXG4gIH1cclxuXHJcbiAgY29tcHV0ZVRvb2x0aXAoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMubGF5ZXIub3B0aW9ucztcclxuICAgIGlmICghbGF5ZXJPcHRpb25zLnRvb2x0aXApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsYXllclRvb2x0aXAgPSBsYXllck9wdGlvbnMudG9vbHRpcDtcclxuICAgIGNvbnN0IGxheWVyTWV0YWRhdGEgPSAobGF5ZXJPcHRpb25zIGFzIE1ldGFkYXRhTGF5ZXJPcHRpb25zKS5tZXRhZGF0YTtcclxuICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnRvb2x0aXAudHlwZSkge1xyXG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLlRJVExFOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xyXG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLkFCU1RSQUNUOlxyXG4gICAgICAgIGlmIChsYXllck1ldGFkYXRhICYmIGxheWVyTWV0YWRhdGEuYWJzdHJhY3QpIHtcclxuICAgICAgICAgIHJldHVybiBsYXllck1ldGFkYXRhLmFic3RyYWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQ1VTVE9NOlxyXG4gICAgICAgIGlmIChsYXllclRvb2x0aXAgJiYgbGF5ZXJUb29sdGlwLnRleHQpIHtcclxuICAgICAgICAgIHJldHVybiBsYXllclRvb2x0aXAudGV4dDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblJlc29sdXRpb25DaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBpblJlc29sdXRpb25SYW5nZSA9IHRoaXMubGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2U7XHJcbiAgICBpZiAoXHJcbiAgICAgIGluUmVzb2x1dGlvblJhbmdlID09PSBmYWxzZSAmJlxyXG4gICAgICB0aGlzLnVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZSA9PT0gdHJ1ZVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlTGVnZW5kKHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pblJlc29sdXRpb25SYW5nZSQubmV4dChpblJlc29sdXRpb25SYW5nZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVF1ZXJ5QmFkZ2UoKSB7XHJcbiAgICBjb25zdCBoaWRkZW4gPVxyXG4gICAgICB0aGlzLnF1ZXJ5QmFkZ2UgPT09IGZhbHNlIHx8XHJcbiAgICAgIHRoaXMubGF5ZXIudmlzaWJsZSA9PT0gZmFsc2UgfHxcclxuICAgICAgIWxheWVySXNRdWVyeWFibGUodGhpcy5sYXllcik7XHJcbiAgICB0aGlzLnF1ZXJ5QmFkZ2VIaWRkZW4kLm5leHQoaGlkZGVuKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUxheWVyVG9vbCgpIHtcclxuICAgIHRoaXMubGF5ZXJUb29sJC5uZXh0KCF0aGlzLmxheWVyVG9vbCQuZ2V0VmFsdWUoKSk7XHJcbiAgICBpZiAodGhpcy5sYXllclRvb2wkLmdldFZhbHVlKCkgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9jdXNlZENscyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aW9uLmVtaXQodGhpcy5sYXllcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2soKSB7XHJcbiAgICB0aGlzLmxheWVyQ2hlY2sgPSAhdGhpcy5sYXllckNoZWNrO1xyXG4gICAgdGhpcy5jaGVja2JveC5lbWl0KHtsYXllcjogdGhpcy5sYXllciwgY2hlY2s6IHRoaXMubGF5ZXJDaGVja30pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWxpc3QtaXRlbSBjbGFzcz0gXCJpZ28tbGF5ZXItbGlzdC1pdGVtXCI+XHJcbiAgPG1hdC1jaGVja2JveCAqbmdJZj1cInNlbGVjdGlvbk1vZGVcIlxyXG4gICAgY2xhc3M9XCJsYXllckNoZWNrXCJcclxuICAgIG1hdC1saXN0LWljb25cclxuICAgIChjaGFuZ2UpPVwiY2hlY2soKVwiXHJcbiAgICBbY2hlY2tlZF09XCJsYXllckNoZWNrXCI+XHJcbiAgPC9tYXQtY2hlY2tib3g+XHJcbiAgPGg0IChjbGljayk9XCJ0b2dnbGVMZWdlbmRPbkNsaWNrKClcIiBtYXRMaW5lIGNsYXNzPVwiaWdvLWxheWVyLXRpdGxlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcFRleHRcIiBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCI+e3tsYXllci50aXRsZX19PC9oND5cclxuXHJcbiAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3Rpb25Nb2RlXCJcclxuICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgW2NvbG9yXT1cImxheWVyLnZpc2libGUgPyAncHJpbWFyeScgOiAnZGVmYXVsdCdcIlxyXG4gICAgY29sbGFwc2libGVCdXR0b25cclxuICAgIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXHJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcclxuICAgIFttYXRUb29sdGlwXT1cImxheWVyLnZpc2libGUgP1xyXG4gICAgICAgICAgICAgICAgICAoJ2lnby5nZW8ubGF5ZXIuaGlkZUxheWVyJyB8IHRyYW5zbGF0ZSkgOlxyXG4gICAgICAgICAgICAgICAgICAoJ2lnby5nZW8ubGF5ZXIuc2hvd0xheWVyJyB8IHRyYW5zbGF0ZSlcIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZVZpc2liaWxpdHkoKVwiPlxyXG4gICAgPG1hdC1pY29uXHJcbiAgICAgIG1hdEJhZGdlPVwiP1wiXHJcbiAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXHJcbiAgICAgIG1hdEJhZGdlUG9zaXRpb249XCJhZnRlclwiXHJcbiAgICAgIFttYXRCYWRnZUhpZGRlbl09XCJxdWVyeUJhZGdlSGlkZGVuJCB8IGFzeW5jXCJcclxuICAgICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiAoaW5SZXNvbHV0aW9uUmFuZ2UkIHwgYXN5bmMpPT09ZmFsc2V9XCJcclxuICAgICAgW3N2Z0ljb25dPVwiKGxheWVyLnZpc2libGUkIHwgYXN5bmMpID8gJ2V5ZScgOiAnZXllLW9mZidcIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDxidXR0b24gKm5nSWY9XCJzZWxlY3Rpb25Nb2RlXCIgY2xhc3M9XCJzZWxlY3Rpb24tZXllXCJcclxuICBtYXQtaWNvbi1idXR0b25cclxuICBbY29sb3JdPVwibGF5ZXIudmlzaWJsZSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXHJcbiAgY29sbGFwc2libGVCdXR0b25cclxuICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxyXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gIFttYXRUb29sdGlwXT1cImxheWVyLnZpc2libGUgP1xyXG4gICAgICAgICAgICAgICAgKCdpZ28uZ2VvLmxheWVyLmhpZGVMYXllcicgfCB0cmFuc2xhdGUpIDpcclxuICAgICAgICAgICAgICAgICgnaWdvLmdlby5sYXllci5zaG93TGF5ZXInIHwgdHJhbnNsYXRlKVwiXHJcbiAgKGNsaWNrKT1cInRvZ2dsZVZpc2liaWxpdHkoKVwiPlxyXG4gIDxtYXQtaWNvblxyXG4gICAgbWF0QmFkZ2U9XCI/XCJcclxuICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIlxyXG4gICAgbWF0QmFkZ2VTaXplPVwic21hbGxcIlxyXG4gICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcclxuICAgIFttYXRCYWRnZUhpZGRlbl09XCJxdWVyeUJhZGdlSGlkZGVuJCB8IGFzeW5jXCJcclxuICAgIFtuZ0NsYXNzXT1cIntkaXNhYmxlZDogKGluUmVzb2x1dGlvblJhbmdlJCB8IGFzeW5jKT09PWZhbHNlfVwiXHJcbiAgICBbc3ZnSWNvbl09XCJsYXllci52aXNpYmxlID8gJ2V5ZScgOiAnZXllLW9mZidcIj5cclxuICA8L21hdC1pY29uPlxyXG48L2J1dHRvbj5cclxuXHJcbiAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3Rpb25Nb2RlXCJcclxuICAgIGNsYXNzPVwiYWN0aW9ucy1idXR0b25cIlxyXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcclxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxyXG4gICAgW21hdFRvb2x0aXBdPSBcIidpZ28uZ2VvLmxheWVyLm1vcmVPcHRpb25zJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBtYXQtaWNvbi1idXR0b25cclxuICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAoY2xpY2spPVwidG9nZ2xlTGF5ZXJUb29sKClcIj5cclxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZG90cy1ob3Jpem9udGFsXCI+PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9tYXQtbGlzdC1pdGVtPlxyXG5cclxuPGRpdiAjbGVnZW5kIGNsYXNzPVwiaWdvLWxheWVyLWxlZ2VuZC1jb250YWluZXJcIj5cclxuICA8aWdvLWxheWVyLWxlZ2VuZFxyXG4gICAgKm5nSWY9XCJzaG93TGVnZW5kJCB8IGFzeW5jXCJcclxuICAgIFtsYXllcl09XCJsYXllclwiXHJcbiAgICBbdXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXT1cInVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZVwiPlxyXG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cclxuPC9kaXY+XHJcbiJdfQ==
305
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXItaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1pdGVtL2xheWVyLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvbGF5ZXIvbGF5ZXItaXRlbS9sYXllci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sWUFBWSxFQUliLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBUyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7SUNmcEQsdUNBSXlCO0lBRHZCLGtNQUFrQjtJQUVwQixpQkFBZTs7O0lBRGIsMkNBQXNCOzs7OztJQUl4QixrQ0FPK0I7SUFBN0IsK0xBQTRCOztJQUM1QiwrQkFRVzs7OztJQUNiLGlCQUFTOzs7SUFmUCxvRUFBK0MsdURBQUE7SUFXN0MsZUFBNEM7SUFBNUMsK0VBQTRDLG1HQUFBLDZFQUFBOzs7O0lBTWhELGtDQVM2QjtJQUE3QixrTUFBNEI7OztJQUM1QiwrQkFRVzs7O0lBQ2IsaUJBQVM7OztJQWpCUCxvRUFBK0Msd0lBQUE7SUFhN0MsZUFBNEM7SUFBNUMsK0VBQTRDLG9HQUFBLHFEQUFBOzs7O0lBTTlDLGtDQU84QjtJQUE1QixpTUFBMkI7O0lBQzNCLCtCQUErQztJQUNqRCxpQkFBUzs7SUFMUCw4RUFBdUQ7OztJQVN6RCx1Q0FJbUI7OztJQUZqQixvQ0FBZSx5RUFBQTs7QUR2Q25CLE1BQU0sT0FBTyxrQkFBa0I7SUFrRzdCLFlBQ1Us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QkFBZixNQUFNO1lBQ0csUUFBUTtrQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNZXRhZGF0YUxheWVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21ldGFkYXRhL3NoYXJlZC9tZXRhZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgbGF5ZXJJc1F1ZXJ5YWJsZSB9IGZyb20gJy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS51dGlscyc7XG5pbXBvcnQgeyBMYXllciwgVG9vbHRpcFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvbGF5ZXJzJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAaWdvMi9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWxheWVyLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGF5ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xheWVyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGF5ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgZm9jdXNlZENscyA9ICdpZ28tbGF5ZXItaXRlbS1mb2N1c2VkJztcblxuICBASW5wdXQoKVxuICBnZXQgYWN0aXZlTGF5ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUxheWVyO1xuICB9XG4gIHNldCBhY3RpdmVMYXllcih2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLmxheWVyICYmIHZhbHVlLmlkID09PSB0aGlzLmxheWVyLmlkICYmICF0aGlzLnNlbGVjdGlvbk1vZGUpIHtcbiAgICAgIHRoaXMubGF5ZXJUb29sJC5uZXh0KHRydWUpO1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9jdXNlZENscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmZvY3VzZWRDbHMpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9hY3RpdmVMYXllcjtcblxuICBsYXllclRvb2wkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBzaG93TGVnZW5kJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKTtcblxuICBpblJlc29sdXRpb25SYW5nZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG5cbiAgcXVlcnlCYWRnZUhpZGRlbiQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QodHJ1ZSk7XG5cbiAgdG9vbHRpcFRleHQ6IHN0cmluZztcblxuICBzdGF0ZTogQ29ubmVjdGlvblN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzZWxlY3RBbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdEFsbDtcbiAgfVxuICBzZXQgc2VsZWN0QWxsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VsZWN0QWxsID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICB0aGlzLmxheWVyQ2hlY2sgPSB0cnVlO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9zZWxlY3RBbGwgPSBmYWxzZTtcblxuICBASW5wdXQoKSBsYXllckNoZWNrO1xuXG4gIHByaXZhdGUgcmVzb2x1dGlvbiQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbmV0d29yayQkOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgbGF5ZXJzJCQ6IFN1YnNjcmlwdGlvbjtcblxuICBsYXllcnMkOiBCZWhhdmlvclN1YmplY3Q8TGF5ZXI+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYXllcj4odW5kZWZpbmVkKTtcblxuICBASW5wdXQoKVxuICBnZXQgbGF5ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xheWVyO1xuICB9XG4gIHNldCBsYXllcih2YWx1ZSkge1xuICAgIHRoaXMuX2xheWVyID0gdmFsdWU7XG4gICAgdGhpcy5sYXllcnMkLm5leHQodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX2xheWVyO1xuXG4gIEBJbnB1dCgpIHRvZ2dsZUxlZ2VuZE9uVmlzaWJpbGl0eUNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGV4cGFuZExlZ2VuZElmVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG9yZGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCkgbG93ZXJEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHJhaXNlRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBxdWVyeUJhZGdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgc2VsZWN0aW9uTW9kZTtcblxuICBASW5wdXQoKSBjaGFuZ2VEZXRlY3Rpb247XG5cbiAgZ2V0IG9wYWNpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMubGF5ZXIub3BhY2l0eSAqIDEwMDtcbiAgfVxuICBzZXQgb3BhY2l0eShvcGFjaXR5OiBudW1iZXIpIHtcbiAgICB0aGlzLmxheWVyLm9wYWNpdHkgPSBvcGFjaXR5IC8gMTAwO1xuICB9XG5cbiAgZ2V0IGV5ZVRvb2x0aXAoKSB7XG4gICAgaWYgKHRoaXMuaW5SZXNvbHV0aW9uUmFuZ2UkLmdldFZhbHVlKCkgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gJ2lnby5nZW8ubGF5ZXIubm90SW5SZXNvbHV0aW9uJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudmlzaWJsZSA/ICdpZ28uZ2VvLmxheWVyLmhpZGVMYXllcicgOiAnaWdvLmdlby5sYXllci5zaG93TGF5ZXInO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBhY3Rpb246IEV2ZW50RW1pdHRlcjxMYXllcj4gPSBuZXcgRXZlbnRFbWl0dGVyPExheWVyPih1bmRlZmluZWQpO1xuICBAT3V0cHV0KCkgY2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBsYXllcjogTGF5ZXI7XG4gICAgY2hlY2s6IGJvb2xlYW47XG4gIH0+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5sYXllci52aXNpYmxlICYmXG4gICAgICB0aGlzLmV4cGFuZExlZ2VuZElmVmlzaWJsZSAmJlxuICAgICAgdGhpcy5sYXllci5maXJzdExvYWRDb21wb25lbnQgPT09IHRydWVcbiAgICApIHtcbiAgICAgIHRoaXMubGF5ZXIuZmlyc3RMb2FkQ29tcG9uZW50ID0gZmFsc2U7XG4gICAgICB0aGlzLmxheWVyLmxlZ2VuZENvbGxhcHNlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUxlZ2VuZCh0aGlzLmxheWVyLmxlZ2VuZENvbGxhcHNlZCk7XG4gICAgdGhpcy51cGRhdGVRdWVyeUJhZGdlKCk7XG5cbiAgICBjb25zdCByZXNvbHV0aW9uJCA9IHRoaXMubGF5ZXIubWFwLnZpZXdDb250cm9sbGVyLnJlc29sdXRpb24kO1xuICAgIHRoaXMucmVzb2x1dGlvbiQkID0gcmVzb2x1dGlvbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25SZXNvbHV0aW9uQ2hhbmdlKCk7XG4gICAgfSk7XG4gICAgdGhpcy50b29sdGlwVGV4dCA9IHRoaXMuY29tcHV0ZVRvb2x0aXAoKTtcblxuICAgIHRoaXMubmV0d29yayQkID0gdGhpcy5uZXR3b3JrU2VydmljZS5jdXJyZW50U3RhdGUoKS5zdWJzY3JpYmUoKHN0YXRlOiBDb25uZWN0aW9uU3RhdGUpID0+IHtcbiAgICAgIHRoaXMuc3RhdGUgPSBzdGF0ZTtcbiAgICAgIHRoaXMub25SZXNvbHV0aW9uQ2hhbmdlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmxheWVycyQkID0gdGhpcy5sYXllcnMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sYXllciAmJiB0aGlzLmxheWVyLm9wdGlvbnMuYWN0aXZlKSB7XG4gICAgICAgIHRoaXMubGF5ZXJUb29sJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5mb2N1c2VkQ2xzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNoYW5nZURldGVjdGlvbikge1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rpb24uc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlc29sdXRpb24kJC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubmV0d29yayQkLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5sYXllcnMkJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdG9nZ2xlTGVnZW5kKGNvbGxhcHNlZDogYm9vbGVhbikge1xuICAgIHRoaXMubGF5ZXIubGVnZW5kQ29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgIHRoaXMuc2hvd0xlZ2VuZCQubmV4dCghY29sbGFwc2VkKTtcbiAgfVxuXG4gIHRvZ2dsZUxlZ2VuZE9uQ2xpY2soKSB7XG4gICAgdGhpcy50b2dnbGVMZWdlbmQodGhpcy5zaG93TGVnZW5kJC52YWx1ZSk7XG4gIH1cblxuICB0b2dnbGVWaXNpYmlsaXR5KCkge1xuICAgIHRoaXMubGF5ZXIudmlzaWJsZSA9ICF0aGlzLmxheWVyLnZpc2libGU7XG4gICAgaWYgKHRoaXMudG9nZ2xlTGVnZW5kT25WaXNpYmlsaXR5Q2hhbmdlKSB7XG4gICAgICB0aGlzLnRvZ2dsZUxlZ2VuZCghdGhpcy5sYXllci52aXNpYmxlKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVRdWVyeUJhZGdlKCk7XG4gIH1cblxuICBjb21wdXRlVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMubGF5ZXIub3B0aW9ucztcbiAgICBpZiAoIWxheWVyT3B0aW9ucy50b29sdGlwKSB7XG4gICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICB9XG4gICAgY29uc3QgbGF5ZXJUb29sdGlwID0gbGF5ZXJPcHRpb25zLnRvb2x0aXA7XG4gICAgY29uc3QgbGF5ZXJNZXRhZGF0YSA9IChsYXllck9wdGlvbnMgYXMgTWV0YWRhdGFMYXllck9wdGlvbnMpLm1ldGFkYXRhO1xuICAgIHN3aXRjaCAobGF5ZXJPcHRpb25zLnRvb2x0aXAudHlwZSkge1xuICAgICAgY2FzZSBUb29sdGlwVHlwZS5USVRMRTpcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICBjYXNlIFRvb2x0aXBUeXBlLkFCU1RSQUNUOlxuICAgICAgICBpZiAobGF5ZXJNZXRhZGF0YSAmJiBsYXllck1ldGFkYXRhLmFic3RyYWN0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyTWV0YWRhdGEuYWJzdHJhY3Q7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMubGF5ZXIudGl0bGU7XG4gICAgICAgIH1cbiAgICAgIGNhc2UgVG9vbHRpcFR5cGUuQ1VTVE9NOlxuICAgICAgICBpZiAobGF5ZXJUb29sdGlwICYmIGxheWVyVG9vbHRpcC50ZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIGxheWVyVG9vbHRpcC50ZXh0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB0aGlzLmxheWVyLnRpdGxlO1xuICAgICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5sYXllci50aXRsZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uUmVzb2x1dGlvbkNoYW5nZSgpIHtcbiAgICBjb25zdCBpblJlc29sdXRpb25SYW5nZSA9IHRoaXMubGF5ZXIuaXNJblJlc29sdXRpb25zUmFuZ2U7XG4gICAgaWYgKFxuICAgICAgaW5SZXNvbHV0aW9uUmFuZ2UgPT09IGZhbHNlICYmXG4gICAgICB0aGlzLnVwZGF0ZUxlZ2VuZE9uUmVzb2x1dGlvbkNoYW5nZSA9PT0gdHJ1ZVxuICAgICkge1xuICAgICAgdGhpcy50b2dnbGVMZWdlbmQodHJ1ZSk7XG4gICAgfVxuICAgIHRoaXMuaW5SZXNvbHV0aW9uUmFuZ2UkLm5leHQoaW5SZXNvbHV0aW9uUmFuZ2UpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVRdWVyeUJhZGdlKCkge1xuICAgIGNvbnN0IGhpZGRlbiA9XG4gICAgICB0aGlzLnF1ZXJ5QmFkZ2UgPT09IGZhbHNlIHx8XG4gICAgICB0aGlzLmxheWVyLnZpc2libGUgPT09IGZhbHNlIHx8XG4gICAgICAhbGF5ZXJJc1F1ZXJ5YWJsZSh0aGlzLmxheWVyKTtcbiAgICB0aGlzLnF1ZXJ5QmFkZ2VIaWRkZW4kLm5leHQoaGlkZGVuKTtcbiAgfVxuXG4gIHRvZ2dsZUxheWVyVG9vbCgpIHtcbiAgICB0aGlzLmxheWVyVG9vbCQubmV4dCghdGhpcy5sYXllclRvb2wkLmdldFZhbHVlKCkpO1xuICAgIGlmICh0aGlzLmxheWVyVG9vbCQuZ2V0VmFsdWUoKSA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZm9jdXNlZENscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmZvY3VzZWRDbHMpO1xuICAgIH1cbiAgICB0aGlzLmFjdGlvbi5lbWl0KHRoaXMubGF5ZXIpO1xuICB9XG5cbiAgcHVibGljIGNoZWNrKCkge1xuICAgIHRoaXMubGF5ZXJDaGVjayA9ICF0aGlzLmxheWVyQ2hlY2s7XG4gICAgdGhpcy5jaGVja2JveC5lbWl0KHtsYXllcjogdGhpcy5sYXllciwgY2hlY2s6IHRoaXMubGF5ZXJDaGVja30pO1xuICB9XG59XG4iLCI8bWF0LWxpc3QtaXRlbSBjbGFzcz0gXCJpZ28tbGF5ZXItbGlzdC1pdGVtXCI+XG4gIDxtYXQtY2hlY2tib3ggKm5nSWY9XCJzZWxlY3Rpb25Nb2RlXCJcbiAgICBjbGFzcz1cImxheWVyQ2hlY2tcIlxuICAgIG1hdC1saXN0LWljb25cbiAgICAoY2hhbmdlKT1cImNoZWNrKClcIlxuICAgIFtjaGVja2VkXT1cImxheWVyQ2hlY2tcIj5cbiAgPC9tYXQtY2hlY2tib3g+XG4gIDxoNCAoY2xpY2spPVwidG9nZ2xlTGVnZW5kT25DbGljaygpXCIgbWF0TGluZSBjbGFzcz1cImlnby1sYXllci10aXRsZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXBUZXh0XCIgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiPnt7bGF5ZXIudGl0bGV9fTwvaDQ+XG5cbiAgPGJ1dHRvbiAqbmdJZj1cIiFzZWxlY3Rpb25Nb2RlXCJcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBbY29sb3JdPVwibGF5ZXIudmlzaWJsZSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gICAgY29sbGFwc2libGVCdXR0b25cbiAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICAgIFttYXRUb29sdGlwXT1cImV5ZVRvb2x0aXAgfCB0cmFuc2xhdGVcIlxuICAgIChjbGljayk9XCJ0b2dnbGVWaXNpYmlsaXR5KClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgIG1hdEJhZGdlPVwiP1wiXG4gICAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICAgIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCJcbiAgICAgIG1hdEJhZGdlUG9zaXRpb249XCJhZnRlclwiXG4gICAgICBbbWF0QmFkZ2VIaWRkZW5dPVwicXVlcnlCYWRnZUhpZGRlbiQgfCBhc3luY1wiXG4gICAgICBbbmdDbGFzc109XCJ7ZGlzYWJsZWQ6IChpblJlc29sdXRpb25SYW5nZSQgfCBhc3luYyk9PT1mYWxzZX1cIlxuICAgICAgW3N2Z0ljb25dPVwiKGxheWVyLnZpc2libGUkIHwgYXN5bmMpID8gJ2V5ZScgOiAnZXllLW9mZidcIj5cbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8YnV0dG9uICpuZ0lmPVwic2VsZWN0aW9uTW9kZVwiIGNsYXNzPVwic2VsZWN0aW9uLWV5ZVwiXG4gIG1hdC1pY29uLWJ1dHRvblxuICBbY29sb3JdPVwibGF5ZXIudmlzaWJsZSA/ICdwcmltYXJ5JyA6ICdkZWZhdWx0J1wiXG4gIGNvbGxhcHNpYmxlQnV0dG9uXG4gIHRvb2x0aXAtcG9zaXRpb249XCJiZWxvd1wiXG4gIG1hdFRvb2x0aXBTaG93RGVsYXk9XCI1MDBcIlxuICBbbWF0VG9vbHRpcF09XCJsYXllci52aXNpYmxlID9cbiAgICAgICAgICAgICAgICAoJ2lnby5nZW8ubGF5ZXIuaGlkZUxheWVyJyB8IHRyYW5zbGF0ZSkgOlxuICAgICAgICAgICAgICAgICgnaWdvLmdlby5sYXllci5zaG93TGF5ZXInIHwgdHJhbnNsYXRlKVwiXG4gIChjbGljayk9XCJ0b2dnbGVWaXNpYmlsaXR5KClcIj5cbiAgPG1hdC1pY29uXG4gICAgbWF0QmFkZ2U9XCI/XCJcbiAgICBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCJcbiAgICBtYXRCYWRnZVNpemU9XCJzbWFsbFwiXG4gICAgbWF0QmFkZ2VQb3NpdGlvbj1cImFmdGVyXCJcbiAgICBbbWF0QmFkZ2VIaWRkZW5dPVwicXVlcnlCYWRnZUhpZGRlbiQgfCBhc3luY1wiXG4gICAgW25nQ2xhc3NdPVwie2Rpc2FibGVkOiAoaW5SZXNvbHV0aW9uUmFuZ2UkIHwgYXN5bmMpPT09ZmFsc2V9XCJcbiAgICBbc3ZnSWNvbl09XCJsYXllci52aXNpYmxlID8gJ2V5ZScgOiAnZXllLW9mZidcIj5cbiAgPC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG4gIDxidXR0b24gKm5nSWY9XCIhc2VsZWN0aW9uTW9kZVwiXG4gICAgY2xhc3M9XCJhY3Rpb25zLWJ1dHRvblwiXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09IFwiJ2lnby5nZW8ubGF5ZXIubW9yZU9wdGlvbnMnIHwgdHJhbnNsYXRlXCJcbiAgICBtYXQtaWNvbi1idXR0b25cbiAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgIChjbGljayk9XCJ0b2dnbGVMYXllclRvb2woKVwiPlxuICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiZG90cy1ob3Jpem9udGFsXCI+PC9tYXQtaWNvbj5cbiAgPC9idXR0b24+XG48L21hdC1saXN0LWl0ZW0+XG5cbjxkaXYgI2xlZ2VuZCBjbGFzcz1cImlnby1sYXllci1sZWdlbmQtY29udGFpbmVyXCI+XG4gIDxpZ28tbGF5ZXItbGVnZW5kXG4gICAgKm5nSWY9XCJzaG93TGVnZW5kJCB8IGFzeW5jXCJcbiAgICBbbGF5ZXJdPVwibGF5ZXJcIlxuICAgIFt1cGRhdGVMZWdlbmRPblJlc29sdXRpb25DaGFuZ2VdPVwidXBkYXRlTGVnZW5kT25SZXNvbHV0aW9uQ2hhbmdlXCI+XG4gIDwvaWdvLWxheWVyLWxlZ2VuZD5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './layer-legend.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1sZWdlbmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGVnZW5kLmNvbXBvbmVudCc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9sYXllci9sYXllci1sZWdlbmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF5ZXItbGVnZW5kLmNvbXBvbmVudCc7XG4iXX0=