@igo2/geo 16.0.0-rc.1 → 16.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +7 -7
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +7 -7
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +6 -6
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +4 -4
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +2 -2
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +2 -2
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +13 -13
  9. package/esm2022/lib/catalog/catalog.module.mjs +3 -3
  10. package/esm2022/lib/catalog/shared/catalog.abstract.mjs +1 -1
  11. package/esm2022/lib/catalog/shared/catalog.enum.mjs +1 -1
  12. package/esm2022/lib/catalog/shared/catalog.interface.mjs +1 -1
  13. package/esm2022/lib/catalog/shared/catalog.service.mjs +7 -8
  14. package/esm2022/lib/catalog/shared/catalogs.mjs +1 -1
  15. package/esm2022/lib/datasource/datasource.module.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/capabilities.service.mjs +10 -10
  17. package/esm2022/lib/datasource/shared/datasource.service.mjs +9 -9
  18. package/esm2022/lib/datasource/shared/datasources/any-datasource.interface.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/any-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +2 -2
  21. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +2 -2
  22. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.interface.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +2 -2
  24. package/esm2022/lib/datasource/shared/datasources/datasource.interface.mjs +1 -1
  25. package/esm2022/lib/datasource/shared/datasources/datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/feature-datasource.interface.mjs +1 -1
  27. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +2 -2
  28. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +2 -2
  30. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +4 -4
  31. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +2 -2
  32. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.interface.mjs +1 -1
  33. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  34. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.interface.mjs +1 -1
  35. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +4 -19
  36. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +5 -5
  37. package/esm2022/lib/datasource/shared/datasources/wms-datasource.interface.mjs +1 -1
  38. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +5 -5
  39. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -7
  40. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.interface.mjs +1 -1
  41. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.interface.mjs +1 -1
  42. package/esm2022/lib/datasource/shared/options/options-api.providers.mjs +2 -2
  43. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +2 -2
  44. package/esm2022/lib/datasource/utils/tilegrid.mjs +3 -3
  45. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  46. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +6 -6
  47. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +4 -4
  48. package/esm2022/lib/directions/directions-sources/directions-source.interface.mjs +1 -1
  49. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +4 -4
  50. package/esm2022/lib/directions/directions.component.mjs +9 -9
  51. package/esm2022/lib/directions/directions.module.mjs +7 -7
  52. package/esm2022/lib/directions/shared/directions.interface.mjs +1 -1
  53. package/esm2022/lib/directions/shared/directions.service.mjs +10 -11
  54. package/esm2022/lib/directions/shared/directions.utils.mjs +7 -7
  55. package/esm2022/lib/directions/shared/store.mjs +1 -1
  56. package/esm2022/lib/download/download-button/download-button.component.mjs +2 -2
  57. package/esm2022/lib/download/download.module.mjs +2 -2
  58. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  59. package/esm2022/lib/draw/draw/draw-popup.component.mjs +8 -8
  60. package/esm2022/lib/draw/draw/draw.component.mjs +29 -29
  61. package/esm2022/lib/draw/draw/draw.module.mjs +15 -15
  62. package/esm2022/lib/draw/drawingTool.module.mjs +1 -1
  63. package/esm2022/lib/draw/shared/draw-icon.service.mjs +1 -1
  64. package/esm2022/lib/draw/shared/draw.interface.mjs +1 -1
  65. package/esm2022/lib/draw/shared/draw.utils.mjs +6 -6
  66. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  67. package/esm2022/lib/environment/index.mjs +2 -0
  68. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +9 -9
  69. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  70. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +3 -3
  71. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  72. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +2 -2
  73. package/esm2022/lib/feature/feature.module.mjs +2 -2
  74. package/esm2022/lib/feature/shared/feature.interfaces.mjs +1 -1
  75. package/esm2022/lib/feature/shared/feature.utils.mjs +7 -7
  76. package/esm2022/lib/feature/shared/store.mjs +3 -3
  77. package/esm2022/lib/feature/shared/strategies/geo-properties.mjs +4 -4
  78. package/esm2022/lib/feature/shared/strategies/in-map-extent.mjs +10 -22
  79. package/esm2022/lib/feature/shared/strategies/in-map-resolution.mjs +5 -2
  80. package/esm2022/lib/feature/shared/strategies/loading-layer.mjs +1 -1
  81. package/esm2022/lib/feature/shared/strategies/loading.mjs +1 -1
  82. package/esm2022/lib/feature/shared/strategies/search.mjs +2 -2
  83. package/esm2022/lib/feature/shared/strategies/selection.mjs +5 -5
  84. package/esm2022/lib/feature/shared/strategies.utils.mjs +2 -2
  85. package/esm2022/lib/filter/filter.module.mjs +21 -21
  86. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +2 -2
  87. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  88. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +7 -7
  89. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +6 -6
  90. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  91. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
  92. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +4 -4
  93. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +1 -1
  94. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +2 -2
  95. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +1 -1
  96. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +1 -1
  97. package/esm2022/lib/filter/shared/ogc-filter.interface.mjs +1 -1
  98. package/esm2022/lib/filter/shared/ogc-filter.mjs +5 -5
  99. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +2 -2
  100. package/esm2022/lib/filter/shared/time-filter.interface.mjs +1 -1
  101. package/esm2022/lib/filter/shared/time-filter.service.mjs +2 -2
  102. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +15 -15
  103. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +7 -7
  104. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  105. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +2 -2
  106. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  107. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +2 -2
  108. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +1 -1
  109. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +2 -2
  110. package/esm2022/lib/geo.module.mjs +4 -4
  111. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +7 -7
  112. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +1 -1
  113. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +3 -3
  114. package/esm2022/lib/geometry/geometry.module.mjs +2 -2
  115. package/esm2022/lib/geometry/shared/controls/draw.mjs +6 -6
  116. package/esm2022/lib/geometry/shared/controls/modify.mjs +8 -8
  117. package/esm2022/lib/geometry/shared/controls/slice.mjs +2 -2
  118. package/esm2022/lib/geometry/shared/geometry.interfaces.mjs +1 -1
  119. package/esm2022/lib/geometry/shared/geometry.utils.mjs +5 -5
  120. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  121. package/esm2022/lib/import-export/import-export/import-export.component.mjs +37 -37
  122. package/esm2022/lib/import-export/import-export.module.mjs +3 -3
  123. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +10 -21
  124. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  125. package/esm2022/lib/import-export/shared/export.service.mjs +4 -4
  126. package/esm2022/lib/import-export/shared/export.utils.mjs +2 -2
  127. package/esm2022/lib/import-export/shared/import.interface.mjs +1 -1
  128. package/esm2022/lib/import-export/shared/import.service.mjs +4 -4
  129. package/esm2022/lib/import-export/shared/import.utils.mjs +5 -5
  130. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  131. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +6 -6
  132. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  133. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +2 -2
  134. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
  135. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +4 -4
  136. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +8 -8
  137. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +2 -2
  138. package/esm2022/lib/layer/layer.module.mjs +9 -9
  139. package/esm2022/lib/layer/shared/layer.service.mjs +16 -16
  140. package/esm2022/lib/layer/shared/layers/any-layer.interface.mjs +1 -1
  141. package/esm2022/lib/layer/shared/layers/any-layer.mjs +1 -1
  142. package/esm2022/lib/layer/shared/layers/image-layer.interface.mjs +1 -1
  143. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  144. package/esm2022/lib/layer/shared/layers/layer.interface.mjs +1 -1
  145. package/esm2022/lib/layer/shared/layers/layer.mjs +1 -1
  146. package/esm2022/lib/layer/shared/layers/tile-layer.interface.mjs +1 -1
  147. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  148. package/esm2022/lib/layer/shared/layers/vector-layer.interface.mjs +1 -1
  149. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +44 -33
  150. package/esm2022/lib/layer/shared/layers/vectortile-layer.interface.mjs +1 -1
  151. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +2 -2
  152. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +2 -2
  153. package/esm2022/lib/layer/utils/image-watcher.mjs +2 -2
  154. package/esm2022/lib/layer/utils/tile-watcher.mjs +2 -2
  155. package/esm2022/lib/layer/utils/vector-watcher.mjs +2 -2
  156. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.animation.mjs +2 -2
  157. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +4 -4
  158. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +2 -2
  159. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +2 -2
  160. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +7 -9
  161. package/esm2022/lib/map/home-extent-button/home-extent-button.interface.mjs +2 -0
  162. package/esm2022/lib/map/home-extent-button/index.mjs +2 -1
  163. package/esm2022/lib/map/map-browser/map-browser.component.mjs +2 -2
  164. package/esm2022/lib/map/map-center/map-center.component.mjs +1 -1
  165. package/esm2022/lib/map/map.module.mjs +14 -14
  166. package/esm2022/lib/map/offline-button/offline-button.component.mjs +1 -1
  167. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +2 -2
  168. package/esm2022/lib/map/shared/controllers/controller.mjs +1 -1
  169. package/esm2022/lib/map/shared/controllers/geolocation.interface.mjs +1 -1
  170. package/esm2022/lib/map/shared/controllers/geolocation.mjs +8 -8
  171. package/esm2022/lib/map/shared/controllers/view.mjs +3 -3
  172. package/esm2022/lib/map/shared/hover-feature.directive.mjs +15 -15
  173. package/esm2022/lib/map/shared/linkedLayers.utils.mjs +4 -4
  174. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +4 -4
  175. package/esm2022/lib/map/shared/map.abstract.mjs +1 -1
  176. package/esm2022/lib/map/shared/map.mjs +9 -6
  177. package/esm2022/lib/map/shared/map.utils.mjs +3 -3
  178. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  179. package/esm2022/lib/map/shared/projection.interfaces.mjs +1 -1
  180. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  181. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +2 -2
  182. package/esm2022/lib/map/utils/layer-watcher.mjs +2 -2
  183. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +3 -3
  184. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +1 -1
  185. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +2 -2
  186. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +2 -2
  187. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  188. package/esm2022/lib/measure/measurer/measurer.component.mjs +12 -12
  189. package/esm2022/lib/measure/measurer/measurer.module.mjs +6 -6
  190. package/esm2022/lib/measure/shared/measure.utils.mjs +7 -7
  191. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +3 -3
  192. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  193. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +5 -5
  194. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  195. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +2 -2
  196. package/esm2022/lib/offline/shared/geo-network.service.mjs +1 -8
  197. package/esm2022/lib/overlay/overlay.module.mjs +1 -1
  198. package/esm2022/lib/overlay/shared/overlay.directive.mjs +1 -1
  199. package/esm2022/lib/overlay/shared/overlay.mjs +1 -1
  200. package/esm2022/lib/overlay/shared/overlay.service.mjs +1 -1
  201. package/esm2022/lib/print/print/print.component.mjs +2 -2
  202. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  203. package/esm2022/lib/print/print.module.mjs +4 -4
  204. package/esm2022/lib/print/shared/print.interface.mjs +1 -1
  205. package/esm2022/lib/print/shared/print.service.mjs +9 -9
  206. package/esm2022/lib/query/query.module.mjs +3 -3
  207. package/esm2022/lib/query/shared/query-search-source.mjs +2 -2
  208. package/esm2022/lib/query/shared/query-search-source.providers.mjs +1 -1
  209. package/esm2022/lib/query/shared/query.directive.mjs +7 -7
  210. package/esm2022/lib/query/shared/query.interfaces.mjs +1 -1
  211. package/esm2022/lib/query/shared/query.service.mjs +10 -10
  212. package/esm2022/lib/search/search-bar/search-bar.component.mjs +5 -5
  213. package/esm2022/lib/search/search-bar/search-bar.module.mjs +2 -2
  214. package/esm2022/lib/search/search-bar/search-url-param.directive.mjs +2 -2
  215. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +4 -4
  216. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +14 -14
  217. package/esm2022/lib/search/search-results/search-results-item.component.mjs +5 -5
  218. package/esm2022/lib/search/search-results/search-results.component.mjs +7 -7
  219. package/esm2022/lib/search/search-results/search-results.module.mjs +11 -11
  220. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  221. package/esm2022/lib/search/search-selector/search-selector.module.mjs +2 -2
  222. package/esm2022/lib/search/search-settings/search-settings.component.mjs +4 -4
  223. package/esm2022/lib/search/search-settings/search-settings.module.mjs +3 -3
  224. package/esm2022/lib/search/search.module.mjs +8 -8
  225. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +14 -14
  226. package/esm2022/lib/search/shared/search-source-service.providers.mjs +2 -2
  227. package/esm2022/lib/search/shared/search-source.service.mjs +1 -1
  228. package/esm2022/lib/search/shared/search.interfaces.mjs +1 -1
  229. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  230. package/esm2022/lib/search/shared/search.utils.mjs +1 -1
  231. package/esm2022/lib/search/shared/sources/cadastre.mjs +7 -7
  232. package/esm2022/lib/search/shared/sources/cadastre.providers.mjs +2 -2
  233. package/esm2022/lib/search/shared/sources/coordinates.mjs +11 -11
  234. package/esm2022/lib/search/shared/sources/coordinates.providers.mjs +3 -3
  235. package/esm2022/lib/search/shared/sources/icherche.mjs +6 -6
  236. package/esm2022/lib/search/shared/sources/icherche.providers.mjs +3 -3
  237. package/esm2022/lib/search/shared/sources/ilayer.interfaces.mjs +1 -1
  238. package/esm2022/lib/search/shared/sources/ilayer.mjs +8 -8
  239. package/esm2022/lib/search/shared/sources/ilayer.providers.mjs +2 -2
  240. package/esm2022/lib/search/shared/sources/nominatim.mjs +7 -7
  241. package/esm2022/lib/search/shared/sources/nominatim.providers.mjs +2 -2
  242. package/esm2022/lib/search/shared/sources/source.mjs +1 -1
  243. package/esm2022/lib/search/shared/sources/storedqueries.mjs +7 -7
  244. package/esm2022/lib/search/shared/sources/storedqueries.providers.mjs +2 -2
  245. package/esm2022/lib/search/shared/sources/workspace.mjs +6 -6
  246. package/esm2022/lib/search/shared/sources/workspace.providers.mjs +1 -1
  247. package/esm2022/lib/style/shared/datasource/esri-style-generator.mjs +2 -2
  248. package/esm2022/lib/style/shared/feature/feature-style.mjs +1 -1
  249. package/esm2022/lib/style/shared/overlay/overlay-marker-style.utils.mjs +2 -2
  250. package/esm2022/lib/style/shared/overlay/overlay-style.utils.mjs +2 -2
  251. package/esm2022/lib/style/shared/vector/commonVectorStyle.mjs +2 -2
  252. package/esm2022/lib/style/shared/vector/conversion.utils.mjs +1 -1
  253. package/esm2022/lib/style/shared/vector/vector-style.interface.mjs +1 -1
  254. package/esm2022/lib/style/style-list/style-list.module.mjs +2 -2
  255. package/esm2022/lib/style/style-list/style-list.provider.mjs +1 -1
  256. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  257. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +24 -33
  258. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +17 -25
  259. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +2 -2
  260. package/esm2022/lib/style/style-service/draw-style.service.mjs +2 -2
  261. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  262. package/esm2022/lib/style/style.module.mjs +4 -4
  263. package/esm2022/lib/toast/toast.component.mjs +2 -2
  264. package/esm2022/lib/toast/toast.module.mjs +3 -3
  265. package/esm2022/lib/utils/id-generator.mjs +2 -2
  266. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +1 -1
  267. package/esm2022/lib/wkt/shared/wkt.service.mjs +16 -16
  268. package/esm2022/lib/wkt/wkt.module.mjs +1 -1
  269. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  270. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +2 -2
  271. package/esm2022/lib/workspace/shared/edition-workspace.mjs +10 -15
  272. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +7 -7
  273. package/esm2022/lib/workspace/shared/feature-workspace.mjs +1 -1
  274. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +6 -6
  275. package/esm2022/lib/workspace/shared/wfs-workspace.mjs +1 -1
  276. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +6 -6
  277. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +5 -5
  278. package/esm2022/lib/workspace/shared/workspace.utils.mjs +2 -2
  279. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +2 -2
  280. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +2 -2
  281. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +7 -7
  282. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  283. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +5 -5
  284. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +2 -2
  285. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  286. package/esm2022/public_api.mjs +2 -1
  287. package/fesm2022/igo2-geo.mjs +34181 -34233
  288. package/fesm2022/igo2-geo.mjs.map +1 -1
  289. package/geo-theme.scss +23 -21
  290. package/lib/catalog/catalog-browser/catalog-browser-group.component.d.ts +3 -3
  291. package/lib/catalog/catalog-browser/catalog-browser-layer.component.d.ts +2 -2
  292. package/lib/catalog/catalog-browser/catalog-browser.component.d.ts +3 -3
  293. package/lib/catalog/catalog-browser/catalog-browser.theming.scss +22 -0
  294. package/lib/catalog/catalog-library/add-catalog-dialog.component.d.ts +4 -4
  295. package/lib/catalog/catalog-library/catalog-library.component.d.ts +1 -1
  296. package/lib/catalog/catalog.theming.scss +5 -0
  297. package/lib/catalog/shared/catalog.abstract.d.ts +2 -2
  298. package/lib/catalog/shared/catalog.enum.d.ts +4 -0
  299. package/lib/catalog/shared/catalog.interface.d.ts +10 -5
  300. package/lib/catalog/shared/catalog.service.d.ts +2 -2
  301. package/lib/datasource/shared/capabilities.service.d.ts +2 -2
  302. package/lib/datasource/shared/datasource.service.d.ts +6 -6
  303. package/lib/datasource/shared/datasources/any-datasource.d.ts +11 -11
  304. package/lib/datasource/shared/datasources/any-datasource.interface.d.ts +10 -10
  305. package/lib/datasource/shared/datasources/arcgisrest-datasource.d.ts +2 -2
  306. package/lib/datasource/shared/datasources/carto-datasource.d.ts +1 -1
  307. package/lib/datasource/shared/datasources/cluster-datasource.d.ts +1 -1
  308. package/lib/datasource/shared/datasources/cluster-datasource.interface.d.ts +1 -1
  309. package/lib/datasource/shared/datasources/datasource.d.ts +4 -4
  310. package/lib/datasource/shared/datasources/datasource.interface.d.ts +2 -2
  311. package/lib/datasource/shared/datasources/feature-datasource.d.ts +1 -1
  312. package/lib/datasource/shared/datasources/feature-datasource.interface.d.ts +2 -2
  313. package/lib/datasource/shared/datasources/imagearcgisrest-datasource.interface.d.ts +1 -1
  314. package/lib/datasource/shared/datasources/tiledebug-datasource.interface.d.ts +1 -1
  315. package/lib/datasource/shared/datasources/websocket-datasource.d.ts +1 -1
  316. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +3 -4
  317. package/lib/datasource/shared/datasources/wfs-datasource.interface.d.ts +2 -2
  318. package/lib/datasource/shared/datasources/wfs.service.d.ts +1 -1
  319. package/lib/datasource/shared/datasources/wms-datasource.d.ts +5 -5
  320. package/lib/datasource/shared/datasources/wms-datasource.interface.d.ts +2 -2
  321. package/lib/datasource/shared/datasources/wms-wfs.utils.d.ts +4 -3
  322. package/lib/datasource/shared/options/options-api.providers.d.ts +1 -1
  323. package/lib/datasource/shared/options/options-api.service.d.ts +1 -1
  324. package/lib/directions/directions-buttons/directions-buttons.component.d.ts +2 -2
  325. package/lib/directions/directions-inputs/directions-inputs.component.d.ts +3 -3
  326. package/lib/directions/directions-sources/directions-source.interface.d.ts +12 -8
  327. package/lib/directions/directions-sources/osrm-directions-source.d.ts +1 -1
  328. package/lib/directions/directions.component.d.ts +3 -3
  329. package/lib/directions/shared/directions.interface.d.ts +1 -1
  330. package/lib/directions/shared/directions.service.d.ts +5 -5
  331. package/lib/directions/shared/directions.utils.d.ts +3 -3
  332. package/lib/draw/draw/draw-popup.component.d.ts +3 -3
  333. package/lib/draw/draw/draw.component.d.ts +12 -12
  334. package/lib/draw/shared/draw-icon.service.d.ts +1 -1
  335. package/lib/draw/shared/draw.interface.d.ts +3 -3
  336. package/lib/draw/shared/draw.utils.d.ts +4 -4
  337. package/lib/environment/environment.interface.d.ts +48 -0
  338. package/lib/environment/index.d.ts +1 -0
  339. package/lib/feature/feature-details/feature-details.component.d.ts +6 -6
  340. package/lib/feature/feature-details/feature-details.directive.d.ts +2 -2
  341. package/lib/feature/feature-form/feature-form.component.d.ts +1 -1
  342. package/lib/feature/shared/feature.interfaces.d.ts +5 -5
  343. package/lib/feature/shared/feature.utils.d.ts +4 -4
  344. package/lib/feature/shared/store.d.ts +1 -1
  345. package/lib/feature/shared/strategies/geo-properties.d.ts +2 -2
  346. package/lib/feature/shared/strategies/in-map-extent.d.ts +1 -1
  347. package/lib/feature/shared/strategies/in-map-resolution.d.ts +1 -1
  348. package/lib/feature/shared/strategies/loading-layer.d.ts +1 -1
  349. package/lib/feature/shared/strategies/search.d.ts +1 -1
  350. package/lib/feature/shared/strategies/selection.d.ts +2 -2
  351. package/lib/feature/shared/strategies.utils.d.ts +1 -1
  352. package/lib/filter/filter.theming.scss +0 -3
  353. package/lib/filter/ogc-filter-form/ogc-filter-form.component.d.ts +3 -3
  354. package/lib/filter/ogc-filter-selection/ogc-filter-selection.component.d.ts +5 -5
  355. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.d.ts +1 -1
  356. package/lib/filter/ogc-filter-time/ogc-filter-time.component.d.ts +1 -1
  357. package/lib/filter/ogc-filterable-form/ogc-filterable-form.component.d.ts +1 -1
  358. package/lib/filter/ogc-filterable-item/ogc-filterable-item.component.d.ts +2 -2
  359. package/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.d.ts +1 -1
  360. package/lib/filter/shared/ogc-filter.d.ts +5 -4
  361. package/lib/filter/shared/ogc-filter.interface.d.ts +3 -3
  362. package/lib/filter/shared/spatial-filter.service.d.ts +1 -1
  363. package/lib/filter/shared/time-filter.interface.d.ts +1 -1
  364. package/lib/filter/shared/time-filter.service.d.ts +1 -1
  365. package/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.d.ts +13 -13
  366. package/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.d.ts +6 -6
  367. package/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.d.ts +3 -3
  368. package/lib/filter/time-filter-button/time-filter-button.component.d.ts +1 -1
  369. package/lib/filter/time-filter-form/time-filter-form.component.d.ts +2 -2
  370. package/lib/filter/time-filter-item/time-filter-item.component.d.ts +2 -2
  371. package/lib/filter/time-filter-list/time-filter-list-binding.directive.d.ts +1 -1
  372. package/lib/geometry/geometry-form-field/geometry-form-field-input.component.d.ts +4 -4
  373. package/lib/geometry/shared/controls/draw.d.ts +4 -4
  374. package/lib/geometry/shared/controls/modify.d.ts +4 -4
  375. package/lib/geometry/shared/controls/slice.d.ts +3 -3
  376. package/lib/geometry/shared/geometry.interfaces.d.ts +1 -1
  377. package/lib/geometry/shared/geometry.utils.d.ts +2 -2
  378. package/lib/import-export/export-button/export-button.component.d.ts +1 -1
  379. package/lib/import-export/import-export/import-export.component.d.ts +14 -14
  380. package/lib/import-export/shared/drop-geo-file.directive.d.ts +6 -6
  381. package/lib/import-export/shared/export.interface.d.ts +1 -1
  382. package/lib/import-export/shared/export.service.d.ts +2 -2
  383. package/lib/import-export/shared/import.interface.d.ts +1 -0
  384. package/lib/import-export/shared/import.utils.d.ts +3 -3
  385. package/lib/layer/layer-item/layer-item.component.d.ts +2 -2
  386. package/lib/layer/layer-legend/layer-legend.component.d.ts +3 -3
  387. package/lib/layer/layer-legend-item/layer-legend-item.component.d.ts +2 -2
  388. package/lib/layer/layer-legend-list/layer-legend-list-binding.directive.d.ts +1 -1
  389. package/lib/layer/layer-legend-list/layer-legend-list.component.d.ts +2 -2
  390. package/lib/layer/layer-list/layer-list-binding.directive.d.ts +2 -2
  391. package/lib/layer/layer-list/layer-list.component.d.ts +5 -5
  392. package/lib/layer/layer-list-tool/layer-list-tool.component.d.ts +1 -1
  393. package/lib/layer/layer.theming.scss +17 -24
  394. package/lib/layer/shared/layer.service.d.ts +5 -5
  395. package/lib/layer/shared/layers/any-layer.d.ts +1 -1
  396. package/lib/layer/shared/layers/any-layer.interface.d.ts +1 -1
  397. package/lib/layer/shared/layers/image-layer.d.ts +5 -5
  398. package/lib/layer/shared/layers/image-layer.interface.d.ts +3 -3
  399. package/lib/layer/shared/layers/layer.d.ts +6 -6
  400. package/lib/layer/shared/layers/layer.interface.d.ts +2 -2
  401. package/lib/layer/shared/layers/tile-layer.d.ts +6 -6
  402. package/lib/layer/shared/layers/tile-layer.interface.d.ts +8 -8
  403. package/lib/layer/shared/layers/vector-layer.d.ts +18 -11
  404. package/lib/layer/shared/layers/vector-layer.interface.d.ts +13 -13
  405. package/lib/layer/shared/layers/vectortile-layer.d.ts +3 -3
  406. package/lib/layer/shared/layers/vectortile-layer.interface.d.ts +4 -4
  407. package/lib/layer/utils/image-watcher.d.ts +1 -1
  408. package/lib/map/baselayers-switcher/mini-basemap.component.d.ts +1 -1
  409. package/lib/map/geolocate-button/geolocate-button.component.d.ts +1 -1
  410. package/lib/map/home-extent-button/home-extent-button.interface.d.ts +6 -0
  411. package/lib/map/home-extent-button/index.d.ts +1 -0
  412. package/lib/map/map-browser/map-browser.component.d.ts +1 -1
  413. package/lib/map/shared/controllers/controller.d.ts +1 -1
  414. package/lib/map/shared/controllers/geolocation.d.ts +5 -5
  415. package/lib/map/shared/controllers/geolocation.interface.d.ts +8 -0
  416. package/lib/map/shared/controllers/view.d.ts +2 -2
  417. package/lib/map/shared/hover-feature.directive.d.ts +8 -8
  418. package/lib/map/shared/map-pointer-position.directive.d.ts +2 -2
  419. package/lib/map/shared/map.abstract.d.ts +5 -5
  420. package/lib/map/shared/map.d.ts +14 -10
  421. package/lib/map/shared/mapOffline.directive.d.ts +2 -2
  422. package/lib/map/shared/projection.interfaces.d.ts +1 -3
  423. package/lib/map/utils/layer-watcher.d.ts +2 -2
  424. package/lib/measure/measurer/measurer-dialog.component.d.ts +1 -1
  425. package/lib/measure/measurer/measurer-item.component.d.ts +1 -1
  426. package/lib/measure/measurer/measurer.component.d.ts +5 -5
  427. package/lib/measure/shared/measure.utils.d.ts +5 -5
  428. package/lib/metadata/metadata-button/metadata-button.component.d.ts +1 -1
  429. package/lib/offline/geoDB/configFileToGeoDB.service.d.ts +1 -1
  430. package/lib/offline/geoDB/geoDB.service.d.ts +1 -1
  431. package/lib/offline/shared/geo-network.service.d.ts +2 -1
  432. package/lib/overlay/shared/overlay.d.ts +1 -1
  433. package/lib/overlay/shared/overlay.directive.d.ts +2 -2
  434. package/lib/print/print/print.component.d.ts +1 -1
  435. package/lib/print/print-form/print-form.component.d.ts +2 -2
  436. package/lib/print/shared/print.interface.d.ts +1 -1
  437. package/lib/print/shared/print.service.d.ts +2 -2
  438. package/lib/query/shared/query.directive.d.ts +4 -4
  439. package/lib/query/shared/query.interfaces.d.ts +3 -3
  440. package/lib/query/shared/query.service.d.ts +3 -3
  441. package/lib/search/search-bar/search-bar.component.d.ts +5 -5
  442. package/lib/search/search-bar/search-url-param.directive.d.ts +1 -1
  443. package/lib/search/search-results/save-feature-dialog.component.d.ts +3 -3
  444. package/lib/search/search-results/search-results-add-button.component.d.ts +7 -7
  445. package/lib/search/search-results/search-results-item.component.d.ts +1 -1
  446. package/lib/search/search-results/search-results.component.d.ts +4 -4
  447. package/lib/search/search-selector/search-selector.component.d.ts +1 -1
  448. package/lib/search/search-settings/search-settings.component.d.ts +2 -2
  449. package/lib/search/shared/search-pointer-summary.directive.d.ts +5 -5
  450. package/lib/search/shared/search-source-service.providers.d.ts +1 -1
  451. package/lib/search/shared/search.interfaces.d.ts +1 -1
  452. package/lib/search/shared/search.service.d.ts +2 -2
  453. package/lib/search/shared/search.utils.d.ts +1 -1
  454. package/lib/search/shared/sources/cadastre.d.ts +1 -1
  455. package/lib/search/shared/sources/cadastre.providers.d.ts +1 -1
  456. package/lib/search/shared/sources/coordinates.d.ts +5 -5
  457. package/lib/search/shared/sources/coordinates.providers.d.ts +2 -2
  458. package/lib/search/shared/sources/icherche.d.ts +4 -4
  459. package/lib/search/shared/sources/icherche.providers.d.ts +2 -2
  460. package/lib/search/shared/sources/ilayer.d.ts +2 -2
  461. package/lib/search/shared/sources/ilayer.interfaces.d.ts +1 -1
  462. package/lib/search/shared/sources/ilayer.providers.d.ts +1 -1
  463. package/lib/search/shared/sources/nominatim.d.ts +1 -1
  464. package/lib/search/shared/sources/nominatim.providers.d.ts +1 -1
  465. package/lib/search/shared/sources/source.d.ts +2 -2
  466. package/lib/search/shared/sources/storedqueries.d.ts +4 -4
  467. package/lib/search/shared/sources/storedqueries.providers.d.ts +1 -1
  468. package/lib/search/shared/sources/workspace.d.ts +1 -1
  469. package/lib/style/shared/feature/feature-style.d.ts +2 -2
  470. package/lib/style/shared/overlay/overlay-style.utils.d.ts +1 -1
  471. package/lib/style/shared/vector/conversion.utils.d.ts +1 -1
  472. package/lib/style/shared/vector/vector-style.interface.d.ts +6 -1
  473. package/lib/style/style-list/style-list.provider.d.ts +1 -1
  474. package/lib/style/style-modal/drawing/style-modal-drawing.component.d.ts +3 -3
  475. package/lib/style/style-modal/layer/style-modal-layer.component.d.ts +3 -3
  476. package/lib/style/style-service/draw-style.service.d.ts +1 -1
  477. package/lib/style/style-service/style.service.d.ts +3 -3
  478. package/lib/utils/id-generator.d.ts +2 -2
  479. package/lib/workspace/confirmation-popup/confirmation-popup.component.d.ts +1 -1
  480. package/lib/workspace/shared/edition-workspace.d.ts +7 -9
  481. package/lib/workspace/shared/edition-workspace.service.d.ts +5 -5
  482. package/lib/workspace/shared/feature-workspace.service.d.ts +3 -3
  483. package/lib/workspace/shared/wfs-workspace.service.d.ts +3 -3
  484. package/lib/workspace/shared/wms-workspace.service.d.ts +4 -4
  485. package/lib/workspace/shared/workspace.utils.d.ts +4 -4
  486. package/lib/workspace/widgets/ogc-filter/ogc-filter.component.d.ts +1 -1
  487. package/lib/workspace/workspace-selector/workspace-selector.directive.d.ts +4 -4
  488. package/lib/workspace/workspace-updator/workspace-updator.directive.d.ts +3 -3
  489. package/locale/en.geo.json +9 -3
  490. package/locale/fr.geo.json +9 -3
  491. package/package.json +4 -4
  492. package/public_api.d.ts +1 -0
  493. package/style/style.css +0 -1
  494. package/lib/filter/ogc-filter-time/ogc-filter-time-slider.theming.scss +0 -15
@@ -1,7 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
- import * as OlStyle from 'ol/style';
3
2
  import OlPoint from 'ol/geom/Point';
4
3
  import { transform } from 'ol/proj';
4
+ import * as OlStyle from 'ol/style';
5
5
  import { FontType } from '../shared/font.enum';
6
6
  import * as i0 from "@angular/core";
7
7
  export class DrawStyleService {
@@ -253,4 +253,4 @@ export class DrawStyleService {
253
253
  providedIn: 'root'
254
254
  }]
255
255
  }], function () { return []; }, null); })();
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zdHlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtc2VydmljZS9kcmF3LXN0eWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBUztJQUNiLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsU0FBUyxHQUFXLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRTVCLGdCQUFlLENBQUM7SUFFaEIsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FB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VSxnQkFBZ0I7Z0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7dUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0ICogYXMgT2xTdHlsZSBmcm9tICdvbC9zdHlsZSc7XG5pbXBvcnQgT2xQb2ludCBmcm9tICdvbC9nZW9tL1BvaW50JztcbmltcG9ydCB7IFByb2plY3Rpb25MaWtlLCB0cmFuc2Zvcm0gfSBmcm9tICdvbC9wcm9qJztcbmltcG9ydCB7IEZvbnRUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2ZvbnQuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERyYXdTdHlsZVNlcnZpY2Uge1xuICBwcml2YXRlIGZpbGxDb2xvciA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknO1xuICBwcml2YXRlIHN0cm9rZUNvbG9yID0gJ3JnYmEoMTQzLDcsNywxKSc7XG4gIHByaXZhdGUgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDE7XG4gIHByaXZhdGUgbGFiZWxzQXJlU2hvd24gPSB0cnVlO1xuICBwcml2YXRlIGljb246IHN0cmluZztcbiAgcHJpdmF0ZSBmb250U2l6ZTogc3RyaW5nID0gJzE1JztcbiAgcHJpdmF0ZSBmb250U3R5bGU6IHN0cmluZyA9IEZvbnRUeXBlLkFyaWFsLnRvU3RyaW5nKCk7XG4gIHByaXZhdGUgb2Zmc2V0WDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBvZmZzZXRZOiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRGaWxsQ29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWxsQ29sb3I7XG4gIH1cblxuICBzZXRGaWxsQ29sb3IoZmlsbENvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbGxDb2xvciA9IGZpbGxDb2xvcjtcbiAgfVxuXG4gIGdldFN0cm9rZUNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc3Ryb2tlQ29sb3I7XG4gIH1cblxuICBzZXRTdHJva2VDb2xvcihzdHJva2VDb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5zdHJva2VDb2xvciA9IHN0cm9rZUNvbG9yO1xuICB9XG5cbiAgZ2V0U3Ryb2tlV2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdHJva2VXaWR0aDtcbiAgfVxuXG4gIGdldExhYmVsc0FyZVNob3duKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsc0FyZVNob3duO1xuICB9XG5cbiAgdG9nZ2xlTGFiZWxzQXJlU2hvd24oKSB7XG4gICAgdGhpcy5sYWJlbHNBcmVTaG93biA9ICF0aGlzLmxhYmVsc0FyZVNob3duO1xuICB9XG5cbiAgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICB9XG5cbiAgZ2V0SWNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pY29uO1xuICB9XG5cbiAgLy8gVG8gZWRpdCB0aGUgbGFiZWwgb2YgZHJhd2luZ1xuICBnZXRGb250U2l6ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mb250U2l6ZTtcbiAgfVxuXG4gIHNldEZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZvbnRTaXplID0gZm9udFNpemU7XG4gIH1cblxuICBnZXRGb250U3R5bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9udFN0eWxlO1xuICB9XG5cbiAgc2V0Rm9udFN0eWxlKGZvbnRTdHlsZTogc3RyaW5nKSB7XG4gICAgdGhpcy5mb250U3R5bGUgPSBmb250U3R5bGU7XG4gIH1cblxuICBnZXRPZmZzZXRYKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMub2Zmc2V0WDtcbiAgfVxuXG4gIHNldE9mZnNldFgob2Zmc2V0WDogbnVtYmVyKSB7XG4gICAgdGhpcy5vZmZzZXRYID0gb2Zmc2V0WDtcbiAgfVxuXG4gIGdldE9mZnNldFkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vZmZzZXRZO1xuICB9XG5cbiAgc2V0T2Zmc2V0WShvZmZzZXRZOiBudW1iZXIpIHtcbiAgICB0aGlzLm9mZnNldFkgPSBvZmZzZXRZO1xuICB9XG5cbiAgY3JlYXRlSW5kaXZpZHVhbEVsZW1lbnRTdHlsZShcbiAgICBmZWF0dXJlLFxuICAgIHJlc29sdXRpb24sXG4gICAgbGFiZWxzQXJlU2hvd246IGJvb2xlYW4sXG4gICAgZm9udFNpemVBbmRTdHlsZTogc3RyaW5nLFxuICAgIGZpbGxDb2xvcjogc3RyaW5nLFxuICAgIHN0cm9rZUNvbG9yOiBzdHJpbmcsXG4gICAgb2Zmc2V0WDogbnVtYmVyLFxuICAgIG9mZnNldFk6IG51bWJlcixcbiAgICBwcm9qOiBQcm9qZWN0aW9uTGlrZSxcbiAgICBpY29uPzogc3RyaW5nXG4gICk6IE9sU3R5bGUuU3R5bGUge1xuICAgIGxldCBzdHlsZTtcbiAgICBsZXQgbGFiZWxzQXJlT2Zmc2V0OiBib29sZWFuID0gZmFsc2U7XG4gICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcblxuICAgIGlmIChnZW9tIGluc3RhbmNlb2YgT2xQb2ludCkge1xuICAgICAgbGFiZWxzQXJlT2Zmc2V0ID0gIWxhYmVsc0FyZU9mZnNldDtcbiAgICB9XG4gICAgY29uc3QgdGV4dFRvU2hvdyA9IGxhYmVsc0FyZVNob3duID8gZmVhdHVyZS5nZXQoJ2RyYXcnKSA6ICcnO1xuICAgIGZlYXR1cmUuc2V0KCdfbWFwVGl0bGUnLCB0ZXh0VG9TaG93KTtcbiAgICBjb25zdCB0ZXh0SWdvU3R5bGVPYmplY3QgPSB7XG4gICAgICB0ZXh0OiB0ZXh0VG9TaG93LFxuICAgICAgc3Ryb2tlOiB7XG4gICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICB3aWR0aDogMC43NVxuICAgICAgfSxcbiAgICAgIGZpbGw6IHsgY29sb3I6ICdibGFjaycgfSxcbiAgICAgIGZvbnQ6IGZvbnRTaXplQW5kU3R5bGUsXG4gICAgICBvdmVyZmxvdzogdHJ1ZSxcbiAgICAgIG9mZnNldFg6IG9mZnNldFgsXG4gICAgICBvZmZzZXRZOiBvZmZzZXRZXG4gICAgfTtcblxuICAgIGxldCBpZ29TdHlsZU9iamVjdDtcblxuICAgIC8vIGlmIGZlYXR1cmUgaXMgYSBjaXJjbGVcbiAgICBpZiAoZmVhdHVyZS5nZXQoJ3JhZCcpKSB7XG4gICAgICBjb25zdCBjb29yZGluYXRlcyA9IHRyYW5zZm9ybShcbiAgICAgICAgZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmZsYXRDb29yZGluYXRlcyxcbiAgICAgICAgcHJvaixcbiAgICAgICAgJ0VQU0c6NDMyNidcbiAgICAgICk7XG4gICAgICBjb25zdCByYWRpdXMgPVxuICAgICAgICBmZWF0dXJlLmdldCgncmFkJykgL1xuICAgICAgICBNYXRoLmNvcygoTWF0aC5QSSAvIDE4MCkgKiBjb29yZGluYXRlc1sxXSkgL1xuICAgICAgICByZXNvbHV0aW9uO1xuICAgICAgaWdvU3R5bGVPYmplY3QgPSB7XG4gICAgICAgIHRleHQ6IHRleHRJZ29TdHlsZU9iamVjdCxcbiAgICAgICAgY2lyY2xlOiB7XG4gICAgICAgICAgcmFkaXVzLFxuICAgICAgICAgIHN0cm9rZToge1xuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yID8gc3Ryb2tlQ29sb3IgOiB0aGlzLnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpbGw6IHtcbiAgICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBmZWF0dXJlLnNldCgnX3N0eWxlJywgaWdvU3R5bGVPYmplY3QpO1xuXG4gICAgICBzdHlsZSA9IG5ldyBPbFN0eWxlLlN0eWxlKHtcbiAgICAgICAgdGV4dDogbmV3IE9sU3R5bGUuVGV4dCh7XG4gICAgICAgICAgdGV4dDogdGV4dFRvU2hvdyxcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgIHdpZHRoOiAwLjc1XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcbiAgICAgICAgICBvdmVyZmxvdzogdHJ1ZSxcbiAgICAgICAgICBvZmZzZXRYOiBvZmZzZXRYLFxuICAgICAgICAgIG9mZnNldFk6IG9mZnNldFlcbiAgICAgICAgfSksXG5cbiAgICAgICAgaW1hZ2U6IG5ldyBPbFN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgcmFkaXVzLFxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvciA/IHN0cm9rZUNvbG9yIDogdGhpcy5zdHJva2VDb2xvcixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN0eWxlO1xuXG4gICAgICAvLyBpZiBmZWF0dXJlIGlzIGFuIGljb25cbiAgICB9IGVsc2UgaWYgKGljb24pIHtcbiAgICAgIHRoaXMub2Zmc2V0WSA9IC0yNjtcbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xuICAgICAgY29uc3QgaWdvU3R5bGVPYmplY3QgPSB7XG4gICAgICAgIHRleHQ6IHRleHRJZ29TdHlsZU9iamVjdCxcbiAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGw6IHtcbiAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXG4gICAgICAgIH0sXG4gICAgICAgIGljb246IHtcbiAgICAgICAgICBzcmM6IGljb25cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGZlYXR1cmUuc2V0KCdfc3R5bGUnLCBpZ29TdHlsZU9iamVjdCk7XG5cbiAgICAgIHN0eWxlID0gbmV3IE9sU3R5bGUuU3R5bGUoe1xuICAgICAgICB0ZXh0OiBuZXcgT2xTdHlsZS5UZXh0KHtcbiAgICAgICAgICB0ZXh0OiBsYWJlbHNBcmVTaG93biA/IGZlYXR1cmUuZ2V0KCdkcmF3JykgOiAnJyxcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAgICAgICAgIHdpZHRoOiAwLjc1XG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZvbnQ6IGZvbnRTaXplQW5kU3R5bGUsXG4gICAgICAgICAgb3ZlcmZsb3c6IHRydWUsXG4gICAgICAgICAgb2Zmc2V0WDogb2Zmc2V0WCxcbiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZXG4gICAgICAgIH0pLFxuXG4gICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXG4gICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcbiAgICAgICAgfSksXG5cbiAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxuICAgICAgICB9KSxcblxuICAgICAgICBpbWFnZTogbmV3IE9sU3R5bGUuSWNvbih7XG4gICAgICAgICAgc3JjOiBpY29uXG4gICAgICAgIH0pXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBzdHlsZTtcblxuICAgICAgLy8gaWYgZmVhdHVyZSBpcyBhIHBvaW50LCBhIGxpbmVzdHJpbmcgb3IgYSBwb2x5Z29uXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub2Zmc2V0WSA9IGxhYmVsc0FyZU9mZnNldCA/IC0xNSA6IDA7XG5cbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xuICAgICAgY29uc3QgaWdvU3R5bGVPYmplY3QgPSB7XG4gICAgICAgIHRleHQ6IHRleHRJZ29TdHlsZU9iamVjdCxcbiAgICAgICAgc3Ryb2tlOiB7XG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGw6IHtcbiAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXG4gICAgICAgIH0sXG4gICAgICAgIGNpcmNsZToge1xuICAgICAgICAgIHJhZGl1czogNSxcbiAgICAgICAgICBzdHJva2U6IHtcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgICAgfSxcbiAgICAgICAgICBmaWxsOiB7XG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgZmVhdHVyZS5zZXQoJ19zdHlsZScsIGlnb1N0eWxlT2JqZWN0KTtcblxuICAgICAgc3R5bGUgPSBuZXcgT2xTdHlsZS5TdHlsZSh7XG4gICAgICAgIHRleHQ6IG5ldyBPbFN0eWxlLlRleHQoe1xuICAgICAgICAgIHRleHQ6IGxhYmVsc0FyZVNob3duID8gZmVhdHVyZS5nZXQoJ2RyYXcnKSA6ICcnLFxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgd2lkdGg6IDAuNzVcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcbiAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcbiAgICAgICAgICBvdmVyZmxvdzogdHJ1ZSxcblxuICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsXG4gICAgICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxuICAgICAgICB9KSxcblxuICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgIH0pLFxuXG4gICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcbiAgICAgICAgfSksXG5cbiAgICAgICAgaW1hZ2U6IG5ldyBPbFN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgcmFkaXVzOiA1LFxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmlsbDogbmV3IE9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cbiAgfVxufVxuIl19
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhdy1zdHlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUtc2VydmljZS9kcmF3LXN0eWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDcEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxVQUFVLENBQUM7QUFFcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQ25CLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQztJQUNwQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDaEMsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLElBQUksQ0FBUztJQUNiLFFBQVEsR0FBVyxJQUFJLENBQUM7SUFDeEIsU0FBUyxHQUFXLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUMsT0FBTyxHQUFXLENBQUMsQ0FBQztJQUNwQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRTVCLGdCQUFlLENBQUM7SUFFaEIsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FB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VSxnQkFBZ0I7Z0VBQWhCLGdCQUFnQixXQUFoQixnQkFBZ0IsbUJBRmYsTUFBTTs7dUZBRVAsZ0JBQWdCO2NBSDVCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCBPbFBvaW50IGZyb20gJ29sL2dlb20vUG9pbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0aW9uTGlrZSwgdHJhbnNmb3JtIH0gZnJvbSAnb2wvcHJvaic7XHJcbmltcG9ydCAqIGFzIE9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5cclxuaW1wb3J0IHsgRm9udFR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZm9udC5lbnVtJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdTdHlsZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgZmlsbENvbG9yID0gJ3JnYmEoMjU1LDI1NSwyNTUsMC40KSc7XHJcbiAgcHJpdmF0ZSBzdHJva2VDb2xvciA9ICdyZ2JhKDE0Myw3LDcsMSknO1xyXG4gIHByaXZhdGUgc3Ryb2tlV2lkdGg6IG51bWJlciA9IDE7XHJcbiAgcHJpdmF0ZSBsYWJlbHNBcmVTaG93biA9IHRydWU7XHJcbiAgcHJpdmF0ZSBpY29uOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBmb250U2l6ZTogc3RyaW5nID0gJzE1JztcclxuICBwcml2YXRlIGZvbnRTdHlsZTogc3RyaW5nID0gRm9udFR5cGUuQXJpYWwudG9TdHJpbmcoKTtcclxuICBwcml2YXRlIG9mZnNldFg6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBvZmZzZXRZOiBudW1iZXIgPSAwO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGdldEZpbGxDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsbENvbG9yO1xyXG4gIH1cclxuXHJcbiAgc2V0RmlsbENvbG9yKGZpbGxDb2xvcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbGxDb2xvciA9IGZpbGxDb2xvcjtcclxuICB9XHJcblxyXG4gIGdldFN0cm9rZUNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHJva2VDb2xvcjtcclxuICB9XHJcblxyXG4gIHNldFN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3Ryb2tlQ29sb3IgPSBzdHJva2VDb2xvcjtcclxuICB9XHJcblxyXG4gIGdldFN0cm9rZVdpZHRoKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHJva2VXaWR0aDtcclxuICB9XHJcblxyXG4gIGdldExhYmVsc0FyZVNob3duKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFiZWxzQXJlU2hvd247XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMYWJlbHNBcmVTaG93bigpIHtcclxuICAgIHRoaXMubGFiZWxzQXJlU2hvd24gPSAhdGhpcy5sYWJlbHNBcmVTaG93bjtcclxuICB9XHJcblxyXG4gIHNldEljb24oaWNvbjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWNvbigpIHtcclxuICAgIHJldHVybiB0aGlzLmljb247XHJcbiAgfVxyXG5cclxuICAvLyBUbyBlZGl0IHRoZSBsYWJlbCBvZiBkcmF3aW5nXHJcbiAgZ2V0Rm9udFNpemUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb250U2l6ZTtcclxuICB9XHJcblxyXG4gIHNldEZvbnRTaXplKGZvbnRTaXplOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9udFNpemUgPSBmb250U2l6ZTtcclxuICB9XHJcblxyXG4gIGdldEZvbnRTdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvbnRTdHlsZTtcclxuICB9XHJcblxyXG4gIHNldEZvbnRTdHlsZShmb250U3R5bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb250U3R5bGUgPSBmb250U3R5bGU7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXRYKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZzZXRYO1xyXG4gIH1cclxuXHJcbiAgc2V0T2Zmc2V0WChvZmZzZXRYOiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0WCA9IG9mZnNldFg7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXRZKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5vZmZzZXRZO1xyXG4gIH1cclxuXHJcbiAgc2V0T2Zmc2V0WShvZmZzZXRZOiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0WSA9IG9mZnNldFk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVJbmRpdmlkdWFsRWxlbWVudFN0eWxlKFxyXG4gICAgZmVhdHVyZSxcclxuICAgIHJlc29sdXRpb24sXHJcbiAgICBsYWJlbHNBcmVTaG93bjogYm9vbGVhbixcclxuICAgIGZvbnRTaXplQW5kU3R5bGU6IHN0cmluZyxcclxuICAgIGZpbGxDb2xvcjogc3RyaW5nLFxyXG4gICAgc3Ryb2tlQ29sb3I6IHN0cmluZyxcclxuICAgIG9mZnNldFg6IG51bWJlcixcclxuICAgIG9mZnNldFk6IG51bWJlcixcclxuICAgIHByb2o6IFByb2plY3Rpb25MaWtlLFxyXG4gICAgaWNvbj86IHN0cmluZ1xyXG4gICk6IE9sU3R5bGUuU3R5bGUge1xyXG4gICAgbGV0IHN0eWxlO1xyXG4gICAgbGV0IGxhYmVsc0FyZU9mZnNldDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgY29uc3QgZ2VvbSA9IGZlYXR1cmUuZ2V0R2VvbWV0cnkoKTtcclxuXHJcbiAgICBpZiAoZ2VvbSBpbnN0YW5jZW9mIE9sUG9pbnQpIHtcclxuICAgICAgbGFiZWxzQXJlT2Zmc2V0ID0gIWxhYmVsc0FyZU9mZnNldDtcclxuICAgIH1cclxuICAgIGNvbnN0IHRleHRUb1Nob3cgPSBsYWJlbHNBcmVTaG93biA/IGZlYXR1cmUuZ2V0KCdkcmF3JykgOiAnJztcclxuICAgIGZlYXR1cmUuc2V0KCdfbWFwVGl0bGUnLCB0ZXh0VG9TaG93KTtcclxuICAgIGNvbnN0IHRleHRJZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgdGV4dDogdGV4dFRvU2hvdyxcclxuICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgICAgd2lkdGg6IDAuNzVcclxuICAgICAgfSxcclxuICAgICAgZmlsbDogeyBjb2xvcjogJ2JsYWNrJyB9LFxyXG4gICAgICBmb250OiBmb250U2l6ZUFuZFN0eWxlLFxyXG4gICAgICBvdmVyZmxvdzogdHJ1ZSxcclxuICAgICAgb2Zmc2V0WDogb2Zmc2V0WCxcclxuICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgaWdvU3R5bGVPYmplY3Q7XHJcblxyXG4gICAgLy8gaWYgZmVhdHVyZSBpcyBhIGNpcmNsZVxyXG4gICAgaWYgKGZlYXR1cmUuZ2V0KCdyYWQnKSkge1xyXG4gICAgICBjb25zdCBjb29yZGluYXRlcyA9IHRyYW5zZm9ybShcclxuICAgICAgICBmZWF0dXJlLmdldEdlb21ldHJ5KCkuZmxhdENvb3JkaW5hdGVzLFxyXG4gICAgICAgIHByb2osXHJcbiAgICAgICAgJ0VQU0c6NDMyNidcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgcmFkaXVzID1cclxuICAgICAgICBmZWF0dXJlLmdldCgncmFkJykgL1xyXG4gICAgICAgIE1hdGguY29zKChNYXRoLlBJIC8gMTgwKSAqIGNvb3JkaW5hdGVzWzFdKSAvXHJcbiAgICAgICAgcmVzb2x1dGlvbjtcclxuICAgICAgaWdvU3R5bGVPYmplY3QgPSB7XHJcbiAgICAgICAgdGV4dDogdGV4dElnb1N0eWxlT2JqZWN0LFxyXG4gICAgICAgIGNpcmNsZToge1xyXG4gICAgICAgICAgcmFkaXVzLFxyXG4gICAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvciA/IHN0cm9rZUNvbG9yIDogdGhpcy5zdHJva2VDb2xvcixcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuc3Ryb2tlV2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBmaWxsOiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIGZlYXR1cmUuc2V0KCdfc3R5bGUnLCBpZ29TdHlsZU9iamVjdCk7XHJcblxyXG4gICAgICBzdHlsZSA9IG5ldyBPbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICB0ZXh0OiBuZXcgT2xTdHlsZS5UZXh0KHtcclxuICAgICAgICAgIHRleHQ6IHRleHRUb1Nob3csXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogMC43NVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgIH0pLFxyXG5cclxuICAgICAgICAgIGZvbnQ6IGZvbnRTaXplQW5kU3R5bGUsXHJcbiAgICAgICAgICBvdmVyZmxvdzogdHJ1ZSxcclxuICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsXHJcbiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIGltYWdlOiBuZXcgT2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgcmFkaXVzLFxyXG4gICAgICAgICAgc3Ryb2tlOiBuZXcgT2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IgPyBzdHJva2VDb2xvciA6IHRoaXMuc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICBjb2xvcjogZmlsbENvbG9yXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gc3R5bGU7XHJcblxyXG4gICAgICAvLyBpZiBmZWF0dXJlIGlzIGFuIGljb25cclxuICAgIH0gZWxzZSBpZiAoaWNvbikge1xyXG4gICAgICB0aGlzLm9mZnNldFkgPSAtMjY7XHJcbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xyXG4gICAgICBjb25zdCBpZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgICB0ZXh0OiB0ZXh0SWdvU3R5bGVPYmplY3QsXHJcbiAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmlsbDoge1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaWNvbjoge1xyXG4gICAgICAgICAgc3JjOiBpY29uXHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICBmZWF0dXJlLnNldCgnX3N0eWxlJywgaWdvU3R5bGVPYmplY3QpO1xyXG5cclxuICAgICAgc3R5bGUgPSBuZXcgT2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgdGV4dDogbmV3IE9sU3R5bGUuVGV4dCh7XHJcbiAgICAgICAgICB0ZXh0OiBsYWJlbHNBcmVTaG93biA/IGZlYXR1cmUuZ2V0KCdkcmF3JykgOiAnJyxcclxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXHJcbiAgICAgICAgICAgIHdpZHRoOiAwLjc1XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmb250OiBmb250U2l6ZUFuZFN0eWxlLFxyXG4gICAgICAgICAgb3ZlcmZsb3c6IHRydWUsXHJcbiAgICAgICAgICBvZmZzZXRYOiBvZmZzZXRYLFxyXG4gICAgICAgICAgb2Zmc2V0WTogb2Zmc2V0WVxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgIGNvbG9yOiBmaWxsQ29sb3JcclxuICAgICAgICB9KSxcclxuXHJcbiAgICAgICAgaW1hZ2U6IG5ldyBPbFN0eWxlLkljb24oe1xyXG4gICAgICAgICAgc3JjOiBpY29uXHJcbiAgICAgICAgfSlcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBzdHlsZTtcclxuXHJcbiAgICAgIC8vIGlmIGZlYXR1cmUgaXMgYSBwb2ludCwgYSBsaW5lc3RyaW5nIG9yIGEgcG9seWdvblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vZmZzZXRZID0gbGFiZWxzQXJlT2Zmc2V0ID8gLTE1IDogMDtcclxuXHJcbiAgICAgIHRleHRJZ29TdHlsZU9iamVjdC5vZmZzZXRZID0gdGhpcy5vZmZzZXRZO1xyXG4gICAgICBjb25zdCBpZ29TdHlsZU9iamVjdCA9IHtcclxuICAgICAgICB0ZXh0OiB0ZXh0SWdvU3R5bGVPYmplY3QsXHJcbiAgICAgICAgc3Ryb2tlOiB7XHJcbiAgICAgICAgICBjb2xvcjogc3Ryb2tlQ29sb3IsXHJcbiAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZmlsbDoge1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY2lyY2xlOiB7XHJcbiAgICAgICAgICByYWRpdXM6IDUsXHJcbiAgICAgICAgICBzdHJva2U6IHtcclxuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbGw6IHtcclxuICAgICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgICAgZmVhdHVyZS5zZXQoJ19zdHlsZScsIGlnb1N0eWxlT2JqZWN0KTtcclxuXHJcbiAgICAgIHN0eWxlID0gbmV3IE9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgIHRleHQ6IG5ldyBPbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgdGV4dDogbGFiZWxzQXJlU2hvd24gPyBmZWF0dXJlLmdldCgnZHJhdycpIDogJycsXHJcbiAgICAgICAgICBzdHJva2U6IG5ldyBPbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxyXG4gICAgICAgICAgICB3aWR0aDogMC43NVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6ICdibGFjaydcclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgZm9udDogZm9udFNpemVBbmRTdHlsZSxcclxuICAgICAgICAgIG92ZXJmbG93OiB0cnVlLFxyXG5cclxuICAgICAgICAgIG9mZnNldFg6IG9mZnNldFgsXHJcbiAgICAgICAgICBvZmZzZXRZOiBvZmZzZXRZXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgIGNvbG9yOiBzdHJva2VDb2xvcixcclxuICAgICAgICAgIHdpZHRoOiB0aGlzLnN0cm9rZVdpZHRoXHJcbiAgICAgICAgfSksXHJcblxyXG4gICAgICAgIGZpbGw6IG5ldyBPbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgIH0pLFxyXG5cclxuICAgICAgICBpbWFnZTogbmV3IE9sU3R5bGUuQ2lyY2xlKHtcclxuICAgICAgICAgIHJhZGl1czogNSxcclxuICAgICAgICAgIHN0cm9rZTogbmV3IE9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgY29sb3I6IHN0cm9rZUNvbG9yLFxyXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5zdHJva2VXaWR0aFxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaWxsOiBuZXcgT2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgY29sb3I6IGZpbGxDb2xvclxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,8 +1,8 @@
1
1
  import { Injectable } from '@angular/core';
2
- import * as olStyle from 'ol/style';
3
2
  import OlFeature from 'ol/Feature';
4
- import { createOverlayMarkerStyle } from '../shared/overlay/overlay-marker-style.utils';
3
+ import * as olStyle from 'ol/style';
5
4
  import { getResolutionFromScale } from '../../map/shared/map.utils';
5
+ import { createOverlayMarkerStyle } from '../shared/overlay/overlay-marker-style.utils';
6
6
  import * as i0 from "@angular/core";
7
7
  export class StyleService {
8
8
  style;
@@ -390,4 +390,4 @@ export class StyleService {
390
390
  providedIn: 'root'
391
391
  }]
392
392
  }], null, null); })();
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sS0FBSyxPQUFPLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUVuQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFPcEUsTUFBTSxPQUFPLFlBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtDRztJQUNILFdBQVcsQ0FDVCxPQUErQixFQUMvQixPQUErQyxFQUMvQyxVQUFtQjtRQUVuQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyx3QkFBd0IsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxZQUFZLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDckUsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QixJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNsQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhO29CQUM3RCxD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LE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDbkQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBTztRQUM5QixRQUFRLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7c0VBcmFVLFlBQVk7Z0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTs7dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBPbEdlb21ldHJ5IH0gZnJvbSAnb2wvZ2VvbS9HZW9tZXRyeSc7XG5pbXBvcnQgKiBhcyBvbFN0eWxlIGZyb20gJ29sL3N0eWxlJztcbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5cbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uL3NoYXJlZC9vdmVybGF5L292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcbmltcG9ydCBSZW5kZXJGZWF0dXJlIGZyb20gJ29sL3JlbmRlci9GZWF0dXJlJztcbmltcG9ydCB7IGdldFJlc29sdXRpb25Gcm9tU2NhbGUgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XG5pbXBvcnQgeyBTdHlsZUJ5QXR0cmlidXRlIH0gZnJvbSAnLi4vc2hhcmVkL3ZlY3Rvci92ZWN0b3Itc3R5bGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsdXN0ZXJQYXJhbSB9IGZyb20gJy4uLy4uL2xheWVyL3NoYXJlZC9jbHVzdGVyUGFyYW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTdHlsZVNlcnZpY2Uge1xuICBwdWJsaWMgc3R5bGU6IG9sU3R5bGUuU3R5bGU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHN0eWxlIGJhc2VkIG9uIGEgb2JqZWN0IGFzXG4gICAqIHN0eWxlOiB7XG4gICAqICAgICAgIFwic3Ryb2tlXCI6IHtcbiAgICogICAgICAgICBcImNvbG9yXCI6IFwiYmx1ZVwiLFxuICAgKiAgICAgICAgIFwibGluZURhc2hcIjogWzEwLCA1XVxuICAgKiAgICAgICB9LFxuICAgKiAgICAgICBcInRleHRcIjoge1xuICAgKiAgICAgICAgIFwibWluU2NhbGVEZW5vbVwiOiA1MDAwMCxcbiAgICogICAgICAgICBcIm1heFNjYWxlRGVub21cIjogMjAwMDAwLFxuICAgKiAgICAgICAgIFwibWluUmVzb2x1dGlvblwiOiAxMDAsXG4gICAqICAgICAgICAgXCJtYXhSZXNvbHV0aW9uXCI6IDQwMCxcbiAgICogICAgICAgICBcImF0dHJpYnV0ZVwiOiBcIlRIRSBDT0xVTU4gTkFNRSBUTyBSRVRSSUVWRSBUSEUgTEFCRUwgVkFMVUVcIixcbiAgICogICAgICAgICBcInRleHRcIjogXCJNWSBIQVJDT0RFRCBURVhUXCIsXG4gICAqICAgICAgICAgXCJzdHJva2VcIjoge1xuICAgKiAgICAgICAgICAgXCJjb2xvclwiOiBcImJsdWVcIixcbiAgICogICAgICAgICAgIFwid2lkdGhcIjogMC43NVxuICAgKiAgICAgICAgIH0sXG4gICAqICAgICAgICAgXCJmaWxsXCI6IHtcbiAgICogICAgICAgICAgIFwiY29sb3JcIjogXCJibGFja1wiXG4gICAqICAgICAgICAgfSxcbiAgICogICAgICAgICBcImZvbnRcIjogXCIyMHB4IHNhbnMtc2VyaWZcIixcbiAgICogICAgICAgICBcIm92ZXJmbG93XCI6IHRydWUsXG4gICAqICAgICAgICAgXCJvZmZzZXRYXCI6IDEwLFxuICAgKiAgICAgICAgIFwib2Zmc2V0WVwiOiAyMCxcbiAgICogICAgICAgICBcInBhZGRpbmdcIjogWzIuNSwgMi41LCAyLjUsIDIuNV1cbiAgICogICAgICAgfSxcbiAgICogICAgICAgXCJ3aWR0aFwiOiA1XG4gICAqICAgICB9XG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEBwYXJhbSBmZWF0dXJlIGZlYXR1cmUgdG8gYXBwbHkgc3R5bGUgb25cbiAgICogQHBhcmFtIHJlc29sdXRpb24gY3VycmVudCBtYXAgcmVzb2x1dGlvbiwgdG8gY29udHJvbCBsYWJlbCByZXNvbHV0aW9uIHJhbmdlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBjcmVhdGVTdHlsZShcbiAgICBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxuICAgIGZlYXR1cmU/OiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxuICAgIHJlc29sdXRpb24/OiBudW1iZXJcbiAgKSB7XG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICByZXR1cm4gY3JlYXRlT3ZlcmxheU1hcmtlclN0eWxlKCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJyB8fCBvcHRpb25zIGluc3RhbmNlb2Ygb2xTdHlsZS5TdHlsZSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuICAgIGNvbnN0IHBhcnNlZFN0eWxlID0gdGhpcy5wYXJzZVN0eWxlKCdzdHlsZScsIG9wdGlvbnMpO1xuICAgIGlmIChwYXJzZWRTdHlsZS5nZXRUZXh0KCkpIHtcbiAgICAgIGxldCBsYWJlbE1pblJlc29sdXRpb24gPSAwO1xuICAgICAgbGV0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IEluZmluaXR5O1xuICAgICAgaWYgKG9wdGlvbnMudGV4dCkge1xuICAgICAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgPSBvcHRpb25zLnRleHQ/Lm1pblNjYWxlRGVub21cbiAgICAgICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5taW5TY2FsZURlbm9tKSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID0gb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tXG4gICAgICAgICAgPyBnZXRSZXNvbHV0aW9uRnJvbVNjYWxlKE51bWJlcihvcHRpb25zLnRleHQubWF4U2NhbGVEZW5vbSkpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSBvcHRpb25zLnRleHQ/Lm1pblJlc29sdXRpb25cbiAgICAgICAgICA/IG9wdGlvbnMudGV4dC5taW5SZXNvbHV0aW9uXG4gICAgICAgICAgOiAwO1xuICAgICAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uXG4gICAgICAgICAgPyBvcHRpb25zLnRleHQubWF4UmVzb2x1dGlvblxuICAgICAgICAgIDogSW5maW5pdHk7XG5cbiAgICAgICAgbGFiZWxNaW5SZXNvbHV0aW9uID0gbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlIHx8IG1pblJlc29sdXRpb247XG4gICAgICAgIGxhYmVsTWF4UmVzb2x1dGlvbiA9IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSB8fCBtYXhSZXNvbHV0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zLnRleHQ/Lm1pblNjYWxlRGVub20gfHxcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tIHx8XG4gICAgICAgIG9wdGlvbnMudGV4dD8ubWluUmVzb2x1dGlvbiB8fFxuICAgICAgICBvcHRpb25zLnRleHQ/Lm1heFJlc29sdXRpb25cbiAgICAgICkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZmVhdHVyZSAmJlxuICAgICAgICAgIHJlc29sdXRpb24gPj0gbGFiZWxNaW5SZXNvbHV0aW9uICYmXG4gICAgICAgICAgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGZlYXR1cmUgJiYgb3B0aW9ucy50ZXh0LmF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgcGFyc2VkU3R5bGVcbiAgICAgICAgICAgICAgLmdldFRleHQoKVxuICAgICAgICAgICAgICAuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIG9wdGlvbnMudGV4dC5hdHRyaWJ1dGUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFyc2VkU3R5bGUuc2V0VGV4dCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXJzZWRTdHlsZTtcbiAgfVxuXG4gIHB1YmxpYyBwYXJzZVN0eWxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3Qgc3R5bGVPcHRpb25zID0ge307XG4gICAgY29uc3Qgb2xDbHMgPSB0aGlzLmdldE9sQ2xzKGtleSk7XG5cbiAgICBpZiAob2xDbHMgJiYgdmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKChfa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IG9sS2V5ID0gdGhpcy5nZXRPbEtleShfa2V5KTtcbiAgICAgICAgc3R5bGVPcHRpb25zW29sS2V5XSA9IHRoaXMucGFyc2VTdHlsZShfa2V5LCB2YWx1ZVtfa2V5XSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBuZXcgb2xDbHMoc3R5bGVPcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0T2xLZXkoa2V5OiBhbnkpIHtcbiAgICBsZXQgb2xLZXk7XG4gICAgc3dpdGNoIChrZXkudG9Mb3dlckNhc2UoKSkge1xuICAgICAgY2FzZSAnY2lyY2xlJzpcbiAgICAgIGNhc2UgJ3JlZ3VsYXJzaGFwZSc6XG4gICAgICBjYXNlICdpY29uJzpcbiAgICAgICAgb2xLZXkgPSAnaW1hZ2UnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBvbEtleSB8fCBrZXk7XG4gIH1cblxuICBwcml2YXRlIGdldE9sQ2xzKGtleTogYW55KSB7XG4gICAgbGV0IG9sQ2xzID0gb2xTdHlsZVtrZXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBrZXkuc2xpY2UoMSldO1xuICAgIGlmIChrZXkgPT09ICdyZWd1bGFyc2hhcGUnKSB7XG4gICAgICBvbENscyA9IG9sU3R5bGUuUmVndWxhclNoYXBlO1xuICAgIH1cbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZEZpbGwnKSB7XG4gICAgICBvbENscyA9IG9sU3R5bGUuRmlsbDtcbiAgICB9XG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRTdHJva2UnKSB7XG4gICAgICBvbENscyA9IG9sU3R5bGUuU3Ryb2tlO1xuICAgIH1cblxuICAgIHJldHVybiBvbENscztcbiAgfVxuXG4gIGNyZWF0ZVN0eWxlQnlBdHRyaWJ1dGUoXG4gICAgZmVhdHVyZTogUmVuZGVyRmVhdHVyZSB8IE9sRmVhdHVyZTxPbEdlb21ldHJ5PixcbiAgICBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlLFxuICAgIHJlc29sdXRpb246IG51bWJlclxuICApIHtcbiAgICBsZXQgc3R5bGU7XG4gICAgY29uc3QgdHlwZSA9IHN0eWxlQnlBdHRyaWJ1dGUudHlwZVxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLnR5cGVcbiAgICAgIDogdGhpcy5ndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpO1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHN0eWxlQnlBdHRyaWJ1dGUuYXR0cmlidXRlO1xuICAgIGNvbnN0IGRhdGEgPSBzdHlsZUJ5QXR0cmlidXRlLmRhdGE7XG4gICAgY29uc3Qgc3Ryb2tlID0gc3R5bGVCeUF0dHJpYnV0ZS5zdHJva2U7XG4gICAgY29uc3Qgd2lkdGggPSBzdHlsZUJ5QXR0cmlidXRlLndpZHRoO1xuICAgIGNvbnN0IGZpbGwgPSBzdHlsZUJ5QXR0cmlidXRlLmZpbGw7XG4gICAgY29uc3QgYW5jaG9yID0gc3R5bGVCeUF0dHJpYnV0ZS5hbmNob3I7XG4gICAgY29uc3QgcmFkaXVzID0gc3R5bGVCeUF0dHJpYnV0ZS5yYWRpdXM7XG4gICAgY29uc3QgaWNvbiA9IHN0eWxlQnlBdHRyaWJ1dGUuaWNvbjtcbiAgICBjb25zdCBzY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc2NhbGU7XG4gICAgY29uc3Qgc2l6ZSA9IGRhdGEgPyBkYXRhLmxlbmd0aCA6IDA7XG4gICAgY29uc3QgbGFiZWwgPSBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsXG4gICAgICA/IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwuYXR0cmlidXRlXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgPSBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsPy5taW5TY2FsZURlbm9tXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWluU2NhbGVEZW5vbSkpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBsYWJlbE1heFJlc29sdXRpb25Gcm9tU2NhbGUgPSBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsPy5tYXhTY2FsZURlbm9tXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWF4U2NhbGVEZW5vbSkpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBtaW5SZXNvbHV0aW9uID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWluUmVzb2x1dGlvblxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1pblJlc29sdXRpb25cbiAgICAgIDogMDtcbiAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWF4UmVzb2x1dGlvblxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1heFJlc29sdXRpb25cbiAgICAgIDogSW5maW5pdHk7XG5cbiAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcbiAgICBjb25zdCBsYWJlbE1heFJlc29sdXRpb24gPSBsYWJlbE1heFJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWF4UmVzb2x1dGlvbjtcblxuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGVcbiAgICAgID8gdGhpcy5wYXJzZVN0eWxlKCd0ZXh0Jywgc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbC5zdHlsZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuICAgIGlmICghbGFiZWxTdHlsZSAmJiBsYWJlbCkge1xuICAgICAgbGFiZWxTdHlsZSA9IG5ldyBvbFN0eWxlLlRleHQoKTtcbiAgICB9XG4gICAgY29uc3QgYmFzZVN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5iYXNlU3R5bGU7XG5cbiAgICBpZiAobGFiZWxTdHlsZSkge1xuICAgICAgaWYgKFxuICAgICAgICByZXNvbHV0aW9uID49IGxhYmVsTWluUmVzb2x1dGlvbiAmJlxuICAgICAgICByZXNvbHV0aW9uIDw9IGxhYmVsTWF4UmVzb2x1dGlvblxuICAgICAgKSB7XG4gICAgICAgIGxhYmVsU3R5bGUuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIGxhYmVsKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYWJlbFN0eWxlLnNldFRleHQoJycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnY2lyY2xlJykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHtcbiAgICAgICAgY29uc3QgdmFsID1cbiAgICAgICAgICB0eXBlb2YgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgICBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSBudWxsXG4gICAgICAgICAgICA/IGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSlcbiAgICAgICAgICAgIDogJyc7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2YWwgPT09IGRhdGFbaV0gfHxcbiAgICAgICAgICB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgICAgIHN0eWxlID0gW1xuICAgICAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkljb24oe1xuICAgICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc3JjOiBpY29uW2ldLFxuICAgICAgICAgICAgICAgICAgc2NhbGU6IHNjYWxlID8gc2NhbGVbaV0gOiAxLFxuICAgICAgICAgICAgICAgICAgYW5jaG9yOiBhbmNob3IgPyBhbmNob3JbaV0gOiBbMC41LCAwLjVdXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGV4dDpcbiAgICAgICAgICAgICAgICAgIGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdHlsZSA9IFtcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMgPyByYWRpdXNbaV0gOiA0LFxuICAgICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBzdHJva2UgPyBzdHJva2VbaV0gOiAnYmxhY2snLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAnYmxhY2snXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF07XG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIShmZWF0dXJlIGFzIE9sRmVhdHVyZTxPbEdlb21ldHJ5PikuZ2V0U3R5bGUoKSkge1xuICAgICAgICBpZiAoYmFzZVN0eWxlKSB7XG4gICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGJhc2VTdHlsZSwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XG4gICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcbiAgICAgICAgICAgIHN0eWxlLnNldFRleHQobGFiZWxTdHlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuICAgICAgICBzdHlsZSA9IFtcbiAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgICAgICAgICBpbWFnZTogbmV3IG9sU3R5bGUuQ2lyY2xlKHtcbiAgICAgICAgICAgICAgcmFkaXVzOiA0LFxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XG4gICAgICAgICAgICAgICAgY29sb3I6ICdibGFjaydcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2JiYmJmMidcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3JlZ3VsYXInKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xuICAgICAgICBjb25zdCB2YWwgPVxuICAgICAgICAgIHR5cGVvZiBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAgIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcbiAgICAgICAgICAgID8gZmVhdHVyZS5nZXQoYXR0cmlidXRlKVxuICAgICAgICAgICAgOiAnJztcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZhbCA9PT0gZGF0YVtpXSB8fFxuICAgICAgICAgIHZhbC50b1N0cmluZygpLm1hdGNoKG5ldyBSZWdFeHAoZGF0YVtpXSwgJ2dtaScpKVxuICAgICAgICApIHtcbiAgICAgICAgICBzdHlsZSA9IFtcbiAgICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzdHJva2UgPyBzdHJva2VbaV0gOiAnYmxhY2snLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCA/IHdpZHRoW2ldIDogMVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6IGZpbGwgPyBmaWxsW2ldIDogJ3JnYmEoMjU1LDI1NSwyNTUsMC40KSdcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF07XG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZmVhdHVyZSBpbnN0YW5jZW9mIE9sRmVhdHVyZSkge1xuICAgICAgICBpZiAoIWZlYXR1cmUuZ2V0U3R5bGUoKSkge1xuICAgICAgICAgIGlmIChiYXNlU3R5bGUpIHtcbiAgICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xuICAgICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdO1xuICAgICAgICAgIHJldHVybiBzdHlsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUNsdXN0ZXJTdHlsZShcbiAgICBmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxuICAgIHJlc29sdXRpb246IG51bWJlcixcbiAgICBjbHVzdGVyUGFyYW06IENsdXN0ZXJQYXJhbSA9IHt9LFxuICAgIGxheWVyU3R5bGVcbiAgKSB7XG4gICAgbGV0IHN0eWxlO1xuICAgIGNvbnN0IHNpemUgPSBmZWF0dXJlLmdldCgnZmVhdHVyZXMnKS5sZW5ndGg7XG4gICAgaWYgKHNpemUgIT09IDEpIHtcbiAgICAgIGlmIChjbHVzdGVyUGFyYW0uY2x1c3RlclJhbmdlcykge1xuICAgICAgICBmb3IgKGNvbnN0IHIgb2YgY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAoIXIubWluUmFkaXVzIHx8IHIubWluUmFkaXVzIDw9IHNpemUpICYmXG4gICAgICAgICAgICAoIXIubWF4UmFkaXVzIHx8IHIubWF4UmFkaXVzID49IHNpemUpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUoci5zdHlsZSkgYXMgb2xTdHlsZS5DaXJjbGU7XG5cbiAgICAgICAgICAgIGlmIChyLnNob3dSYW5nZSkge1xuICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gbmV3IG9sU3R5bGUuVGV4dCh7XG4gICAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICcjZmZmJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBzdHlsZS5zZXRUZXh0KHRleHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoci5keW5hbWljUmFkaXVzKSB7XG4gICAgICAgICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XG4gICAgICAgICAgICAgIGNvbnN0IHJhZGl1c01pbiA9IHN0eWxlLmdldFJhZGl1cygpO1xuICAgICAgICAgICAgICBjbHVzdGVyUmFkaXVzID0gNSAqIE1hdGgubG9nKHNpemUpO1xuICAgICAgICAgICAgICBpZiAoY2x1c3RlclJhZGl1cyA8IHJhZGl1c01pbikge1xuICAgICAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc3R5bGUuaW1hZ2VfLnNldFJhZGl1cyhjbHVzdGVyUmFkaXVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXN0eWxlKSB7XG4gICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XG4gICAgICAgIGlmIChjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYykge1xuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSBjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYyhzaXplKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSA2O1xuICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSA1ICogTWF0aC5sb2coc2l6ZSk7XG4gICAgICAgICAgaWYgKGNsdXN0ZXJSYWRpdXMgPCByYWRpdXNNaW4pIHtcbiAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGUgPSBbXG4gICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xuICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XG4gICAgICAgICAgICAgIHJhZGl1czogY2x1c3RlclJhZGl1cyxcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjQsIDEzNCwgNDUsIDAuNSknXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRleHQ6IG5ldyBvbFN0eWxlLlRleHQoe1xuICAgICAgICAgICAgICB0ZXh0OiBzaXplLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGxheWVyU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBnZXRMYWJlbChmZWF0dXJlLCBsYWJlbE1hdGNoKTogc3RyaW5nIHtcbiAgICBsZXQgbGFiZWwgPSBsYWJlbE1hdGNoO1xuICAgIGlmICghbGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgbGFiZWxUb0dldCA9IEFycmF5LmZyb20obGFiZWxNYXRjaC5tYXRjaEFsbCgvXFwkXFx7KFteXFx7XFx9XSspXFx9L2cpKTtcblxuICAgIGxhYmVsVG9HZXQuZm9yRWFjaCgodikgPT4ge1xuICAgICAgbGFiZWwgPSBsYWJlbC5yZXBsYWNlKHZbMF0sIGZlYXR1cmUuZ2V0KHZbMV0pKTtcbiAgICB9KTtcblxuICAgIC8vIE5vdGhpbmcgZG9uZT8gY2hlY2sgZmVhdHVyZSdzIGF0dHJpYnV0ZVxuICAgIGlmIChsYWJlbFRvR2V0Lmxlbmd0aCA9PT0gMCAmJiBsYWJlbCA9PT0gbGFiZWxNYXRjaCkge1xuICAgICAgbGFiZWwgPSBmZWF0dXJlLmdldChsYWJlbE1hdGNoKSB8fCBsYWJlbE1hdGNoO1xuICAgIH1cblxuICAgIHJldHVybiBsYWJlbDtcbiAgfVxuXG4gIHByaXZhdGUgZ3Vlc3NUeXBlRmVhdHVyZShmZWF0dXJlKSB7XG4gICAgc3dpdGNoIChmZWF0dXJlLmdldEdlb21ldHJ5KCkuZ2V0VHlwZSgpKSB7XG4gICAgICBjYXNlICdQb2ludCc6XG4gICAgICBjYXNlICdNdWx0aVBvaW50JzpcbiAgICAgIGNhc2UgJ0NpcmNsZSc6XG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAncmVndWxhcic7XG4gICAgfVxuICB9XG59XG4iXX0=
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3N0eWxlL3N0eWxlLXNlcnZpY2Uvc3R5bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUduQyxPQUFPLEtBQUssT0FBTyxNQUFNLFVBQVUsQ0FBQztBQUdwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLFlBQVk7SUFDaEIsS0FBSyxDQUFnQjtJQUU1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWtDRztJQUNILFdBQVcsQ0FDVCxPQUErQixFQUMvQixPQUErQyxFQUMvQyxVQUFtQjtRQUVuQixJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osT0FBTyx3QkFBd0IsRUFBRSxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxPQUFPLE9BQU8sS0FBSyxVQUFVLElBQUksT0FBTyxZQUFZLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDckUsT0FBTyxPQUFPLENBQUM7U0FDaEI7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0RCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QixJQUFJLGtCQUFrQixHQUFHLENBQUMsQ0FBQztZQUMzQixJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztZQUNsQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhO29CQUM3RCxD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LE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssS0FBSyxVQUFVLEVBQUU7WUFDbkQsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDO1NBQy9DO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBTztRQUM5QixRQUFRLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssWUFBWSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQjtnQkFDRSxPQUFPLFNBQVMsQ0FBQztTQUNwQjtJQUNILENBQUM7c0VBcmFVLFlBQVk7Z0VBQVosWUFBWSxXQUFaLFlBQVksbUJBRlgsTUFBTTs7dUZBRVAsWUFBWTtjQUh4QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgT2xGZWF0dXJlIGZyb20gJ29sL0ZlYXR1cmUnO1xyXG5pbXBvcnQgdHlwZSB7IGRlZmF1bHQgYXMgT2xHZW9tZXRyeSB9IGZyb20gJ29sL2dlb20vR2VvbWV0cnknO1xyXG5pbXBvcnQgUmVuZGVyRmVhdHVyZSBmcm9tICdvbC9yZW5kZXIvRmVhdHVyZSc7XHJcbmltcG9ydCAqIGFzIG9sU3R5bGUgZnJvbSAnb2wvc3R5bGUnO1xyXG5cclxuaW1wb3J0IHsgQ2x1c3RlclBhcmFtIH0gZnJvbSAnLi4vLi4vbGF5ZXIvc2hhcmVkL2NsdXN0ZXJQYXJhbSc7XHJcbmltcG9ydCB7IGdldFJlc29sdXRpb25Gcm9tU2NhbGUgfSBmcm9tICcuLi8uLi9tYXAvc2hhcmVkL21hcC51dGlscyc7XHJcbmltcG9ydCB7IGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSB9IGZyb20gJy4uL3NoYXJlZC9vdmVybGF5L292ZXJsYXktbWFya2VyLXN0eWxlLnV0aWxzJztcclxuaW1wb3J0IHsgU3R5bGVCeUF0dHJpYnV0ZSB9IGZyb20gJy4uL3NoYXJlZC92ZWN0b3IvdmVjdG9yLXN0eWxlLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdHlsZVNlcnZpY2Uge1xyXG4gIHB1YmxpYyBzdHlsZTogb2xTdHlsZS5TdHlsZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgc3R5bGUgYmFzZWQgb24gYSBvYmplY3QgYXNcclxuICAgKiBzdHlsZToge1xyXG4gICAqICAgICAgIFwic3Ryb2tlXCI6IHtcclxuICAgKiAgICAgICAgIFwiY29sb3JcIjogXCJibHVlXCIsXHJcbiAgICogICAgICAgICBcImxpbmVEYXNoXCI6IFsxMCwgNV1cclxuICAgKiAgICAgICB9LFxyXG4gICAqICAgICAgIFwidGV4dFwiOiB7XHJcbiAgICogICAgICAgICBcIm1pblNjYWxlRGVub21cIjogNTAwMDAsXHJcbiAgICogICAgICAgICBcIm1heFNjYWxlRGVub21cIjogMjAwMDAwLFxyXG4gICAqICAgICAgICAgXCJtaW5SZXNvbHV0aW9uXCI6IDEwMCxcclxuICAgKiAgICAgICAgIFwibWF4UmVzb2x1dGlvblwiOiA0MDAsXHJcbiAgICogICAgICAgICBcImF0dHJpYnV0ZVwiOiBcIlRIRSBDT0xVTU4gTkFNRSBUTyBSRVRSSUVWRSBUSEUgTEFCRUwgVkFMVUVcIixcclxuICAgKiAgICAgICAgIFwidGV4dFwiOiBcIk1ZIEhBUkNPREVEIFRFWFRcIixcclxuICAgKiAgICAgICAgIFwic3Ryb2tlXCI6IHtcclxuICAgKiAgICAgICAgICAgXCJjb2xvclwiOiBcImJsdWVcIixcclxuICAgKiAgICAgICAgICAgXCJ3aWR0aFwiOiAwLjc1XHJcbiAgICogICAgICAgICB9LFxyXG4gICAqICAgICAgICAgXCJmaWxsXCI6IHtcclxuICAgKiAgICAgICAgICAgXCJjb2xvclwiOiBcImJsYWNrXCJcclxuICAgKiAgICAgICAgIH0sXHJcbiAgICogICAgICAgICBcImZvbnRcIjogXCIyMHB4IHNhbnMtc2VyaWZcIixcclxuICAgKiAgICAgICAgIFwib3ZlcmZsb3dcIjogdHJ1ZSxcclxuICAgKiAgICAgICAgIFwib2Zmc2V0WFwiOiAxMCxcclxuICAgKiAgICAgICAgIFwib2Zmc2V0WVwiOiAyMCxcclxuICAgKiAgICAgICAgIFwicGFkZGluZ1wiOiBbMi41LCAyLjUsIDIuNSwgMi41XVxyXG4gICAqICAgICAgIH0sXHJcbiAgICogICAgICAgXCJ3aWR0aFwiOiA1XHJcbiAgICogICAgIH1cclxuICAgKlxyXG4gICAqIEBwYXJhbSBvcHRpb25zXHJcbiAgICogQHBhcmFtIGZlYXR1cmUgZmVhdHVyZSB0byBhcHBseSBzdHlsZSBvblxyXG4gICAqIEBwYXJhbSByZXNvbHV0aW9uIGN1cnJlbnQgbWFwIHJlc29sdXRpb24sIHRvIGNvbnRyb2wgbGFiZWwgcmVzb2x1dGlvbiByYW5nZVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgY3JlYXRlU3R5bGUoXHJcbiAgICBvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LFxyXG4gICAgZmVhdHVyZT86IFJlbmRlckZlYXR1cmUgfCBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sXHJcbiAgICByZXNvbHV0aW9uPzogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBpZiAoIW9wdGlvbnMpIHtcclxuICAgICAgcmV0dXJuIGNyZWF0ZU92ZXJsYXlNYXJrZXJTdHlsZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnZnVuY3Rpb24nIHx8IG9wdGlvbnMgaW5zdGFuY2VvZiBvbFN0eWxlLlN0eWxlKSB7XHJcbiAgICAgIHJldHVybiBvcHRpb25zO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkU3R5bGUgPSB0aGlzLnBhcnNlU3R5bGUoJ3N0eWxlJywgb3B0aW9ucyk7XHJcbiAgICBpZiAocGFyc2VkU3R5bGUuZ2V0VGV4dCgpKSB7XHJcbiAgICAgIGxldCBsYWJlbE1pblJlc29sdXRpb24gPSAwO1xyXG4gICAgICBsZXQgbGFiZWxNYXhSZXNvbHV0aW9uID0gSW5maW5pdHk7XHJcbiAgICAgIGlmIChvcHRpb25zLnRleHQpIHtcclxuICAgICAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgPSBvcHRpb25zLnRleHQ/Lm1pblNjYWxlRGVub21cclxuICAgICAgICAgID8gZ2V0UmVzb2x1dGlvbkZyb21TY2FsZShOdW1iZXIob3B0aW9ucy50ZXh0Lm1pblNjYWxlRGVub20pKVxyXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID0gb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tXHJcbiAgICAgICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKG9wdGlvbnMudGV4dC5tYXhTY2FsZURlbm9tKSlcclxuICAgICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIGNvbnN0IG1pblJlc29sdXRpb24gPSBvcHRpb25zLnRleHQ/Lm1pblJlc29sdXRpb25cclxuICAgICAgICAgID8gb3B0aW9ucy50ZXh0Lm1pblJlc29sdXRpb25cclxuICAgICAgICAgIDogMDtcclxuICAgICAgICBjb25zdCBtYXhSZXNvbHV0aW9uID0gb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICAgICA/IG9wdGlvbnMudGV4dC5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICAgICA6IEluZmluaXR5O1xyXG5cclxuICAgICAgICBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcclxuICAgICAgICBsYWJlbE1heFJlc29sdXRpb24gPSBsYWJlbE1heFJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWF4UmVzb2x1dGlvbjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5taW5TY2FsZURlbm9tIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5tYXhTY2FsZURlbm9tIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5taW5SZXNvbHV0aW9uIHx8XHJcbiAgICAgICAgb3B0aW9ucy50ZXh0Py5tYXhSZXNvbHV0aW9uXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGZlYXR1cmUgJiZcclxuICAgICAgICAgIHJlc29sdXRpb24gPj0gbGFiZWxNaW5SZXNvbHV0aW9uICYmXHJcbiAgICAgICAgICByZXNvbHV0aW9uIDw9IGxhYmVsTWF4UmVzb2x1dGlvblxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKGZlYXR1cmUgJiYgb3B0aW9ucy50ZXh0LmF0dHJpYnV0ZSkge1xyXG4gICAgICAgICAgICBwYXJzZWRTdHlsZVxyXG4gICAgICAgICAgICAgIC5nZXRUZXh0KClcclxuICAgICAgICAgICAgICAuc2V0VGV4dCh0aGlzLmdldExhYmVsKGZlYXR1cmUsIG9wdGlvbnMudGV4dC5hdHRyaWJ1dGUpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcGFyc2VkU3R5bGUuc2V0VGV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcnNlZFN0eWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHBhcnNlU3R5bGUoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IHN0eWxlT3B0aW9ucyA9IHt9O1xyXG4gICAgY29uc3Qgb2xDbHMgPSB0aGlzLmdldE9sQ2xzKGtleSk7XHJcblxyXG4gICAgaWYgKG9sQ2xzICYmIHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XHJcbiAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKChfa2V5KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2xLZXkgPSB0aGlzLmdldE9sS2V5KF9rZXkpO1xyXG4gICAgICAgIHN0eWxlT3B0aW9uc1tvbEtleV0gPSB0aGlzLnBhcnNlU3R5bGUoX2tleSwgdmFsdWVbX2tleV0pO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG5ldyBvbENscyhzdHlsZU9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPbEtleShrZXk6IGFueSkge1xyXG4gICAgbGV0IG9sS2V5O1xyXG4gICAgc3dpdGNoIChrZXkudG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICdjaXJjbGUnOlxyXG4gICAgICBjYXNlICdyZWd1bGFyc2hhcGUnOlxyXG4gICAgICBjYXNlICdpY29uJzpcclxuICAgICAgICBvbEtleSA9ICdpbWFnZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sS2V5IHx8IGtleTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2xDbHMoa2V5OiBhbnkpIHtcclxuICAgIGxldCBvbENscyA9IG9sU3R5bGVba2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnNsaWNlKDEpXTtcclxuICAgIGlmIChrZXkgPT09ICdyZWd1bGFyc2hhcGUnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5SZWd1bGFyU2hhcGU7XHJcbiAgICB9XHJcbiAgICBpZiAoa2V5ID09PSAnYmFja2dyb3VuZEZpbGwnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5GaWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmRTdHJva2UnKSB7XHJcbiAgICAgIG9sQ2xzID0gb2xTdHlsZS5TdHJva2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9sQ2xzO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlU3R5bGVCeUF0dHJpYnV0ZShcclxuICAgIGZlYXR1cmU6IFJlbmRlckZlYXR1cmUgfCBPbEZlYXR1cmU8T2xHZW9tZXRyeT4sXHJcbiAgICBzdHlsZUJ5QXR0cmlidXRlOiBTdHlsZUJ5QXR0cmlidXRlLFxyXG4gICAgcmVzb2x1dGlvbjogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBsZXQgc3R5bGU7XHJcbiAgICBjb25zdCB0eXBlID0gc3R5bGVCeUF0dHJpYnV0ZS50eXBlXHJcbiAgICAgID8gc3R5bGVCeUF0dHJpYnV0ZS50eXBlXHJcbiAgICAgIDogdGhpcy5ndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpO1xyXG4gICAgY29uc3QgYXR0cmlidXRlID0gc3R5bGVCeUF0dHJpYnV0ZS5hdHRyaWJ1dGU7XHJcbiAgICBjb25zdCBkYXRhID0gc3R5bGVCeUF0dHJpYnV0ZS5kYXRhO1xyXG4gICAgY29uc3Qgc3Ryb2tlID0gc3R5bGVCeUF0dHJpYnV0ZS5zdHJva2U7XHJcbiAgICBjb25zdCB3aWR0aCA9IHN0eWxlQnlBdHRyaWJ1dGUud2lkdGg7XHJcbiAgICBjb25zdCBmaWxsID0gc3R5bGVCeUF0dHJpYnV0ZS5maWxsO1xyXG4gICAgY29uc3QgYW5jaG9yID0gc3R5bGVCeUF0dHJpYnV0ZS5hbmNob3I7XHJcbiAgICBjb25zdCByYWRpdXMgPSBzdHlsZUJ5QXR0cmlidXRlLnJhZGl1cztcclxuICAgIGNvbnN0IGljb24gPSBzdHlsZUJ5QXR0cmlidXRlLmljb247XHJcbiAgICBjb25zdCBzY2FsZSA9IHN0eWxlQnlBdHRyaWJ1dGUuc2NhbGU7XHJcbiAgICBjb25zdCBzaXplID0gZGF0YSA/IGRhdGEubGVuZ3RoIDogMDtcclxuICAgIGNvbnN0IGxhYmVsID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbFxyXG4gICAgICA/IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwuYXR0cmlidXRlXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNaW5SZXNvbHV0aW9uRnJvbVNjYWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWluU2NhbGVEZW5vbVxyXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWluU2NhbGVEZW5vbSkpXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbGFiZWxNYXhSZXNvbHV0aW9uRnJvbVNjYWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8ubWF4U2NhbGVEZW5vbVxyXG4gICAgICA/IGdldFJlc29sdXRpb25Gcm9tU2NhbGUoTnVtYmVyKHN0eWxlQnlBdHRyaWJ1dGUubGFiZWwubWF4U2NhbGVEZW5vbSkpXHJcbiAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgbWluUmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1pblJlc29sdXRpb25cclxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1pblJlc29sdXRpb25cclxuICAgICAgOiAwO1xyXG4gICAgY29uc3QgbWF4UmVzb2x1dGlvbiA9IHN0eWxlQnlBdHRyaWJ1dGUubGFiZWw/Lm1heFJlc29sdXRpb25cclxuICAgICAgPyBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLm1heFJlc29sdXRpb25cclxuICAgICAgOiBJbmZpbml0eTtcclxuXHJcbiAgICBjb25zdCBsYWJlbE1pblJlc29sdXRpb24gPSBsYWJlbE1pblJlc29sdXRpb25Gcm9tU2NhbGUgfHwgbWluUmVzb2x1dGlvbjtcclxuICAgIGNvbnN0IGxhYmVsTWF4UmVzb2x1dGlvbiA9IGxhYmVsTWF4UmVzb2x1dGlvbkZyb21TY2FsZSB8fCBtYXhSZXNvbHV0aW9uO1xyXG5cclxuICAgIGxldCBsYWJlbFN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5sYWJlbD8uc3R5bGVcclxuICAgICAgPyB0aGlzLnBhcnNlU3R5bGUoJ3RleHQnLCBzdHlsZUJ5QXR0cmlidXRlLmxhYmVsLnN0eWxlKVxyXG4gICAgICA6IHVuZGVmaW5lZDtcclxuICAgIGlmICghbGFiZWxTdHlsZSAmJiBsYWJlbCkge1xyXG4gICAgICBsYWJlbFN0eWxlID0gbmV3IG9sU3R5bGUuVGV4dCgpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYmFzZVN0eWxlID0gc3R5bGVCeUF0dHJpYnV0ZS5iYXNlU3R5bGU7XHJcblxyXG4gICAgaWYgKGxhYmVsU3R5bGUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHJlc29sdXRpb24gPj0gbGFiZWxNaW5SZXNvbHV0aW9uICYmXHJcbiAgICAgICAgcmVzb2x1dGlvbiA8PSBsYWJlbE1heFJlc29sdXRpb25cclxuICAgICAgKSB7XHJcbiAgICAgICAgbGFiZWxTdHlsZS5zZXRUZXh0KHRoaXMuZ2V0TGFiZWwoZmVhdHVyZSwgbGFiZWwpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBsYWJlbFN0eWxlLnNldFRleHQoJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGUgPT09ICdjaXJjbGUnKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgdmFsID1cclxuICAgICAgICAgIHR5cGVvZiBmZWF0dXJlLmdldChhdHRyaWJ1dGUpICE9PSAndW5kZWZpbmVkJyAmJlxyXG4gICAgICAgICAgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gbnVsbFxyXG4gICAgICAgICAgICA/IGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSlcclxuICAgICAgICAgICAgOiAnJztcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB2YWwgPT09IGRhdGFbaV0gfHxcclxuICAgICAgICAgIHZhbC50b1N0cmluZygpLm1hdGNoKG5ldyBSZWdFeHAoZGF0YVtpXSwgJ2dtaScpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgaWYgKGljb24pIHtcclxuICAgICAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkljb24oe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgIHNyYzogaWNvbltpXSxcclxuICAgICAgICAgICAgICAgICAgc2NhbGU6IHNjYWxlID8gc2NhbGVbaV0gOiAxLFxyXG4gICAgICAgICAgICAgICAgICBhbmNob3I6IGFuY2hvciA/IGFuY2hvcltpXSA6IFswLjUsIDAuNV1cclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgdGV4dDpcclxuICAgICAgICAgICAgICAgICAgbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sU3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgICAgcmFkaXVzOiByYWRpdXMgPyByYWRpdXNbaV0gOiA0LFxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogc3Ryb2tlID8gc3Ryb2tlW2ldIDogJ2JsYWNrJyxcclxuICAgICAgICAgICAgICAgICAgd2lkdGg6IHdpZHRoID8gd2lkdGhbaV0gOiAxXHJcbiAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogZmlsbCA/IGZpbGxbaV0gOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIHRleHQ6IGxhYmVsU3R5bGUgaW5zdGFuY2VvZiBvbFN0eWxlLlRleHQgPyBsYWJlbFN0eWxlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICBdO1xyXG4gICAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoIShmZWF0dXJlIGFzIE9sRmVhdHVyZTxPbEdlb21ldHJ5PikuZ2V0U3R5bGUoKSkge1xyXG4gICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgIHN0eWxlID0gdGhpcy5jcmVhdGVTdHlsZShiYXNlU3R5bGUsIGZlYXR1cmUsIHJlc29sdXRpb24pO1xyXG4gICAgICAgICAgaWYgKGxhYmVsU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzdHlsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3R5bGUgPSBbXHJcbiAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgIGltYWdlOiBuZXcgb2xTdHlsZS5DaXJjbGUoe1xyXG4gICAgICAgICAgICAgIHJhZGl1czogNCxcclxuICAgICAgICAgICAgICBzdHJva2U6IG5ldyBvbFN0eWxlLlN0cm9rZSh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ2JsYWNrJ1xyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIGZpbGw6IG5ldyBvbFN0eWxlLkZpbGwoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICcjYmJiYmYyJ1xyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIF07XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdyZWd1bGFyJykge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNpemU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHZhbCA9XHJcbiAgICAgICAgICB0eXBlb2YgZmVhdHVyZS5nZXQoYXR0cmlidXRlKSAhPT0gJ3VuZGVmaW5lZCcgJiZcclxuICAgICAgICAgIGZlYXR1cmUuZ2V0KGF0dHJpYnV0ZSkgIT09IG51bGxcclxuICAgICAgICAgICAgPyBmZWF0dXJlLmdldChhdHRyaWJ1dGUpXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdmFsID09PSBkYXRhW2ldIHx8XHJcbiAgICAgICAgICB2YWwudG9TdHJpbmcoKS5tYXRjaChuZXcgUmVnRXhwKGRhdGFbaV0sICdnbWknKSlcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHN0eWxlID0gW1xyXG4gICAgICAgICAgICBuZXcgb2xTdHlsZS5TdHlsZSh7XHJcbiAgICAgICAgICAgICAgc3Ryb2tlOiBuZXcgb2xTdHlsZS5TdHJva2Uoe1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHN0cm9rZSA/IHN0cm9rZVtpXSA6ICdibGFjaycsXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggPyB3aWR0aFtpXSA6IDFcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBmaWxsID8gZmlsbFtpXSA6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNCknXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgdGV4dDogbGFiZWxTdHlsZSBpbnN0YW5jZW9mIG9sU3R5bGUuVGV4dCA/IGxhYmVsU3R5bGUgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChmZWF0dXJlIGluc3RhbmNlb2YgT2xGZWF0dXJlKSB7XHJcbiAgICAgICAgaWYgKCFmZWF0dXJlLmdldFN0eWxlKCkpIHtcclxuICAgICAgICAgIGlmIChiYXNlU3R5bGUpIHtcclxuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKGJhc2VTdHlsZSwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbFN0eWxlKSB7XHJcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dChsYWJlbFN0eWxlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgICAgbmV3IG9sU3R5bGUuU3R5bGUoe1xyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNiYmJiZjInXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIF07XHJcbiAgICAgICAgICByZXR1cm4gc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVDbHVzdGVyU3R5bGUoXHJcbiAgICBmZWF0dXJlOiBSZW5kZXJGZWF0dXJlIHwgT2xGZWF0dXJlPE9sR2VvbWV0cnk+LFxyXG4gICAgcmVzb2x1dGlvbjogbnVtYmVyLFxyXG4gICAgY2x1c3RlclBhcmFtOiBDbHVzdGVyUGFyYW0gPSB7fSxcclxuICAgIGxheWVyU3R5bGVcclxuICApIHtcclxuICAgIGxldCBzdHlsZTtcclxuICAgIGNvbnN0IHNpemUgPSBmZWF0dXJlLmdldCgnZmVhdHVyZXMnKS5sZW5ndGg7XHJcbiAgICBpZiAoc2l6ZSAhPT0gMSkge1xyXG4gICAgICBpZiAoY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IHIgb2YgY2x1c3RlclBhcmFtLmNsdXN0ZXJSYW5nZXMpIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgKCFyLm1pblJhZGl1cyB8fCByLm1pblJhZGl1cyA8PSBzaXplKSAmJlxyXG4gICAgICAgICAgICAoIXIubWF4UmFkaXVzIHx8IHIubWF4UmFkaXVzID49IHNpemUpXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgc3R5bGUgPSB0aGlzLmNyZWF0ZVN0eWxlKHIuc3R5bGUpIGFzIG9sU3R5bGUuQ2lyY2xlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHIuc2hvd1JhbmdlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdGV4dCA9IG5ldyBvbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgICAgICAgdGV4dDogc2l6ZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgc3R5bGUuc2V0VGV4dCh0ZXh0KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHIuZHluYW1pY1JhZGl1cykge1xyXG4gICAgICAgICAgICAgIGxldCBjbHVzdGVyUmFkaXVzOiBudW1iZXI7XHJcbiAgICAgICAgICAgICAgY29uc3QgcmFkaXVzTWluID0gc3R5bGUuZ2V0UmFkaXVzKCk7XHJcbiAgICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IDUgKiBNYXRoLmxvZyhzaXplKTtcclxuICAgICAgICAgICAgICBpZiAoY2x1c3RlclJhZGl1cyA8IHJhZGl1c01pbikge1xyXG4gICAgICAgICAgICAgICAgY2x1c3RlclJhZGl1cyA9IHJhZGl1c01pbjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgc3R5bGUuaW1hZ2VfLnNldFJhZGl1cyhjbHVzdGVyUmFkaXVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghc3R5bGUpIHtcclxuICAgICAgICBsZXQgY2x1c3RlclJhZGl1czogbnVtYmVyO1xyXG4gICAgICAgIGlmIChjbHVzdGVyUGFyYW0ucmFkaXVzQ2FsYykge1xyXG4gICAgICAgICAgY2x1c3RlclJhZGl1cyA9IGNsdXN0ZXJQYXJhbS5yYWRpdXNDYWxjKHNpemUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByYWRpdXNNaW4gPSA2O1xyXG4gICAgICAgICAgY2x1c3RlclJhZGl1cyA9IDUgKiBNYXRoLmxvZyhzaXplKTtcclxuICAgICAgICAgIGlmIChjbHVzdGVyUmFkaXVzIDwgcmFkaXVzTWluKSB7XHJcbiAgICAgICAgICAgIGNsdXN0ZXJSYWRpdXMgPSByYWRpdXNNaW47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdHlsZSA9IFtcclxuICAgICAgICAgIG5ldyBvbFN0eWxlLlN0eWxlKHtcclxuICAgICAgICAgICAgaW1hZ2U6IG5ldyBvbFN0eWxlLkNpcmNsZSh7XHJcbiAgICAgICAgICAgICAgcmFkaXVzOiBjbHVzdGVyUmFkaXVzLFxyXG4gICAgICAgICAgICAgIHN0cm9rZTogbmV3IG9sU3R5bGUuU3Ryb2tlKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnYmxhY2snXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgZmlsbDogbmV3IG9sU3R5bGUuRmlsbCh7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMjQsIDEzNCwgNDUsIDAuNSknXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRleHQ6IG5ldyBvbFN0eWxlLlRleHQoe1xyXG4gICAgICAgICAgICAgIHRleHQ6IHNpemUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICBmaWxsOiBuZXcgb2xTdHlsZS5GaWxsKHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAnI2ZmZidcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzdHlsZSA9IHRoaXMuY3JlYXRlU3R5bGUobGF5ZXJTdHlsZSwgZmVhdHVyZSwgcmVzb2x1dGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbChmZWF0dXJlLCBsYWJlbE1hdGNoKTogc3RyaW5nIHtcclxuICAgIGxldCBsYWJlbCA9IGxhYmVsTWF0Y2g7XHJcbiAgICBpZiAoIWxhYmVsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGxhYmVsVG9HZXQgPSBBcnJheS5mcm9tKGxhYmVsTWF0Y2gubWF0Y2hBbGwoL1xcJFxceyhbXlxce1xcfV0rKVxcfS9nKSk7XHJcblxyXG4gICAgbGFiZWxUb0dldC5mb3JFYWNoKCh2KSA9PiB7XHJcbiAgICAgIGxhYmVsID0gbGFiZWwucmVwbGFjZSh2WzBdLCBmZWF0dXJlLmdldCh2WzFdKSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBOb3RoaW5nIGRvbmU/IGNoZWNrIGZlYXR1cmUncyBhdHRyaWJ1dGVcclxuICAgIGlmIChsYWJlbFRvR2V0Lmxlbmd0aCA9PT0gMCAmJiBsYWJlbCA9PT0gbGFiZWxNYXRjaCkge1xyXG4gICAgICBsYWJlbCA9IGZlYXR1cmUuZ2V0KGxhYmVsTWF0Y2gpIHx8IGxhYmVsTWF0Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxhYmVsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBndWVzc1R5cGVGZWF0dXJlKGZlYXR1cmUpIHtcclxuICAgIHN3aXRjaCAoZmVhdHVyZS5nZXRHZW9tZXRyeSgpLmdldFR5cGUoKSkge1xyXG4gICAgICBjYXNlICdQb2ludCc6XHJcbiAgICAgIGNhc2UgJ011bHRpUG9pbnQnOlxyXG4gICAgICBjYXNlICdDaXJjbGUnOlxyXG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gJ3JlZ3VsYXInO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -2,20 +2,20 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
+ import { MatDialogModule } from '@angular/material/dialog';
5
6
  import { MatFormFieldModule } from '@angular/material/form-field';
6
7
  import { MatIconModule } from '@angular/material/icon';
7
8
  import { MatInputModule } from '@angular/material/input';
8
9
  import { MatSelectModule } from '@angular/material/select';
9
10
  import { MatTooltipModule } from '@angular/material/tooltip';
11
+ import { ColorPickerFormFieldModule } from '@igo2/common';
10
12
  import { IgoLanguageModule } from '@igo2/core';
11
13
  import { IgoStyleListModule } from './style-list/style-list.module';
12
14
  import { StyleModalDrawingComponent } from './style-modal/drawing/style-modal-drawing.component';
13
- import { StyleModalLayerComponent } from './style-modal/layer/style-modal-layer.component';
14
15
  import { StyleModalLayerButtonComponent } from './style-modal/layer-button/style-modal-layer-button.component';
16
+ import { StyleModalLayerComponent } from './style-modal/layer/style-modal-layer.component';
15
17
  import { DrawStyleService } from './style-service/draw-style.service';
16
18
  import { StyleService } from './style-service/style.service';
17
- import { MatDialogModule } from '@angular/material/dialog';
18
- import { ColorPickerFormFieldModule } from '@igo2/common';
19
19
  import * as i0 from "@angular/core";
20
20
  import * as i1 from "./style-list/style-list.module";
21
21
  export class IgoStyleModule {
@@ -89,4 +89,4 @@ export class IgoStyleModule {
89
89
  StyleModalDrawingComponent,
90
90
  StyleModalLayerComponent,
91
91
  StyleModalLayerButtonComponent] }); })();
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUMvRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBOEIxRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7U0FDNUMsQ0FBQztJQUNKLENBQUM7d0VBTlUsY0FBYzs0REFBZCxjQUFjO2dFQTFCdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBRzVCLGtCQUFrQjs7dUZBV1QsY0FBYztjQTVCMUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qiw4QkFBOEI7aUJBQy9CO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtvQkFDeEIsOEJBQThCO2lCQUMvQjthQUNGOzt3RkFDWSxjQUFjLG1CQUx2QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QixhQXZCOUIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQiwwQkFBMEIsb0NBSTFCLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5pbXBvcnQgeyBJZ29TdHlsZUxpc3RNb2R1bGUgfSBmcm9tICcuL3N0eWxlLWxpc3Qvc3R5bGUtbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvZHJhd2luZy9zdHlsZS1tb2RhbC1kcmF3aW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCB9IGZyb20gJy4vc3R5bGUtbW9kYWwvbGF5ZXIvc3R5bGUtbW9kYWwtbGF5ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbExheWVyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS1tb2RhbC9sYXllci1idXR0b24vc3R5bGUtbW9kYWwtbGF5ZXItYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyYXdTdHlsZVNlcnZpY2UgfSBmcm9tICcuL3N0eWxlLXNlcnZpY2UvZHJhdy1zdHlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1zZXJ2aWNlL3N0eWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBDb2xvclBpY2tlckZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIENvbG9yUGlja2VyRm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgSWdvU3R5bGVMaXN0TW9kdWxlLmZvclJvb3QoKVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSWdvU3R5bGVMaXN0TW9kdWxlLFxyXG4gICAgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQsXHJcbiAgICBTdHlsZU1vZGFsTGF5ZXJDb21wb25lbnQsXHJcbiAgICBTdHlsZU1vZGFsTGF5ZXJCdXR0b25Db21wb25lbnRcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQsXHJcbiAgICBTdHlsZU1vZGFsTGF5ZXJDb21wb25lbnQsXHJcbiAgICBTdHlsZU1vZGFsTGF5ZXJCdXR0b25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29TdHlsZU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29TdHlsZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb1N0eWxlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtTdHlsZVNlcnZpY2UsIERyYXdTdHlsZVNlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvc3R5bGUvc3R5bGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBOEI3RCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLENBQUM7U0FDNUMsQ0FBQztJQUNKLENBQUM7d0VBTlUsY0FBYzs0REFBZCxjQUFjO2dFQTFCdkIsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsa0JBQWtCLENBQUMsT0FBTyxFQUFFLEVBRzVCLGtCQUFrQjs7dUZBV1QsY0FBYztjQTVCMUIsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7aUJBQzdCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qiw4QkFBOEI7aUJBQy9CO2dCQUNELFlBQVksRUFBRTtvQkFDWiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtvQkFDeEIsOEJBQThCO2lCQUMvQjthQUNGOzt3RkFDWSxjQUFjLG1CQUx2QiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QixhQXZCOUIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQiwwQkFBMEIsb0NBSTFCLGtCQUFrQjtRQUNsQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5pbXBvcnQgeyBJZ29MYW5ndWFnZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSWdvU3R5bGVMaXN0TW9kdWxlIH0gZnJvbSAnLi9zdHlsZS1saXN0L3N0eWxlLWxpc3QubW9kdWxlJztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbERyYXdpbmdDb21wb25lbnQgfSBmcm9tICcuL3N0eWxlLW1vZGFsL2RyYXdpbmcvc3R5bGUtbW9kYWwtZHJhd2luZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdHlsZU1vZGFsTGF5ZXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3N0eWxlLW1vZGFsL2xheWVyLWJ1dHRvbi9zdHlsZS1tb2RhbC1sYXllci1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3R5bGVNb2RhbExheWVyQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS1tb2RhbC9sYXllci9zdHlsZS1tb2RhbC1sYXllci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEcmF3U3R5bGVTZXJ2aWNlIH0gZnJvbSAnLi9zdHlsZS1zZXJ2aWNlL2RyYXctc3R5bGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0eWxlU2VydmljZSB9IGZyb20gJy4vc3R5bGUtc2VydmljZS9zdHlsZS5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBJZ29MYW5ndWFnZU1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ29sb3JQaWNrZXJGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBJZ29TdHlsZUxpc3RNb2R1bGUuZm9yUm9vdCgpXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBJZ29TdHlsZUxpc3RNb2R1bGUsXHJcbiAgICBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdHlsZU1vZGFsRHJhd2luZ0NvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckNvbXBvbmVudCxcclxuICAgIFN0eWxlTW9kYWxMYXllckJ1dHRvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb1N0eWxlTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb1N0eWxlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogSWdvU3R5bGVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1N0eWxlU2VydmljZSwgRHJhd1N0eWxlU2VydmljZV1cclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { getEntityTitle } from '@igo2/common';
3
3
  import olFormatGeoJSON from 'ol/format/GeoJSON';
4
4
  import { FeatureMotion } from '../feature/shared/feature.enums';
@@ -116,4 +116,4 @@ export class ToastComponent {
116
116
  }], opened: [{
117
117
  type: Output
118
118
  }] }); })();
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7SUNZdkMsaUNBTUM7SUFGQyw4SkFBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFHL0IsOEJBQXVDO0lBQ3pDLGlCQUFTOzs7QURiYixNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsSUFBSSxFQUFFLFdBQVc7S0FDbEIsQ0FBQztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBRXZDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNPLFNBQVMsQ0FBVTtJQUUzQixJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNPLElBQUksQ0FBUztJQUVyQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNPLFFBQVEsQ0FBVTtJQUVoQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV4QyxLQUFLLENBQWdCO0lBRTVCOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZSxDQUFDO0lBRWhCLE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTthQUN2QyxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFDdkIsQ0FBQyxTQUFTLENBQUMsRUFDWCxhQUFhLENBQUMsSUFBSSxDQUNuQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWM7UUFDbEIsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7YUFBTSxJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN0RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7SUFDSCxDQUFDO3dFQTdFVSxjQUFjOzZEQUFkLGNBQWM7WUNkM0IsMENBT0M7WUFGQywyR0FBVyxzQkFBa0IsSUFBQyxrR0FDakIsc0JBQWtCLElBREQ7WUFHOUIsb0NBQTJCLGdCQUFBO1lBQ2UsMkZBQVMsWUFBUSxJQUFDO1lBQ3hELDhCQU1ZO1lBQ2QsaUJBQVM7WUFFVCxxRUFRUztZQUVULHlDQUErRDtZQUNqRSxpQkFBWSxFQUFBOzs7WUExQlosaUNBQWU7WUFJSixlQUFlO1lBQWYsaUNBQWU7WUFHcEIsZUFJQztZQUpELGdIQUlDO1lBU0YsZUFBc0I7WUFBdEIsMkNBQXNCO1lBS0osZUFBbUI7WUFBbkIscUNBQW1COzs7dUZEZi9CLGNBQWM7Y0FMMUIsU0FBUzsyQkFDRSxXQUFXO3NDQVlqQixRQUFRO2tCQURYLEtBQUs7WUFXRixHQUFHO2tCQUROLEtBQUs7WUFVRixPQUFPO2tCQURWLEtBQUs7WUFTSSxNQUFNO2tCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGbGV4aWJsZVN0YXRlLCBnZXRFbnRpdHlUaXRsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5pbXBvcnQgb2xGb3JtYXRHZW9KU09OIGZyb20gJ29sL2Zvcm1hdC9HZW9KU09OJztcbmltcG9ydCB7IEZlYXR1cmUgfSBmcm9tICcuLi9mZWF0dXJlL3NoYXJlZC9mZWF0dXJlLmludGVyZmFjZXMnO1xuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xuaW1wb3J0IHsgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xuaW1wb3J0IHsgSWdvTWFwIH0gZnJvbSAnLi4vbWFwL3NoYXJlZC9tYXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28tdG9hc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9hc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0Q29tcG9uZW50IHtcbiAgc3RhdGljIFNXSVBFX0FDVElPTiA9IHtcbiAgICBVUDogJ3N3aXBldXAnLFxuICAgIERPV046ICdzd2lwZWRvd24nXG4gIH07XG4gIHByaXZhdGUgZm9ybWF0ID0gbmV3IG9sRm9ybWF0R2VvSlNPTigpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cbiAgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHZhbHVlID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xuICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZ2V0IG1hcCgpOiBJZ29NYXAge1xuICAgIHJldHVybiB0aGlzLl9tYXA7XG4gIH1cbiAgc2V0IG1hcCh2YWx1ZTogSWdvTWFwKSB7XG4gICAgdGhpcy5fbWFwID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfbWFwOiBJZ29NYXA7XG5cbiAgQElucHV0KClcbiAgZ2V0IGZlYXR1cmUoKTogRmVhdHVyZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XG4gIH1cbiAgc2V0IGZlYXR1cmUodmFsdWU6IEZlYXR1cmUpIHtcbiAgICB0aGlzLl9mZWF0dXJlID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfZmVhdHVyZTogRmVhdHVyZTtcblxuICBAT3V0cHV0KCkgb3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBzdGF0ZTogRmxleGlibGVTdGF0ZTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuICAgIHRoaXMub3BlbmVkLmVtaXQodGhpcy5leHBhbmRlZCk7XG4gIH1cblxuICB6b29tVG9GZWF0dXJlRXh0ZW50KCkge1xuICAgIGlmICh0aGlzLmZlYXR1cmUuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMuZmVhdHVyZSwge1xuICAgICAgICBkYXRhUHJvamVjdGlvbjogdGhpcy5mZWF0dXJlLnByb2plY3Rpb24sXG4gICAgICAgIGZlYXR1cmVQcm9qZWN0aW9uOiB0aGlzLm1hcC5wcm9qZWN0aW9uXG4gICAgICB9KTtcbiAgICAgIG1vdmVUb09sRmVhdHVyZXMoXG4gICAgICAgIHRoaXMubWFwLnZpZXdDb250cm9sbGVyLFxuICAgICAgICBbb2xGZWF0dXJlXSxcbiAgICAgICAgRmVhdHVyZU1vdGlvbi5ab29tXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHN3aXBlKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKGFjdGlvbiA9PT0gVG9hc3RDb21wb25lbnQuU1dJUEVfQUNUSU9OLlVQKSB7XG4gICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gVG9hc3RDb21wb25lbnQuU1dJUEVfQUNUSU9OLkRPV04pIHtcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8aWdvLWZsZXhpYmxlXG4gICNmbGV4XG4gIGNvbGxhcHNlZE1vYmlsZT1cIjUxcHhcIlxuICBleHBhbmRlZE1vYmlsZT1cIjMwMHB4XCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgKHN3aXBldXApPVwic3dpcGUoJGV2ZW50LnR5cGUpXCJcbiAgKHN3aXBlZG93bik9XCJzd2lwZSgkZXZlbnQudHlwZSlcIlxuPlxuICA8aWdvLXBhbmVsIFt0aXRsZV09XCJ0aXRsZVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHBhbmVsTGVmdEJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBbc3ZnSWNvbl09XCJcbiAgICAgICAgICBbJ2NvbGxhcHNlZCcsICdpbml0aWFsJ10uaW5kZXhPZihmbGV4LnN0YXRlKSA+PSAwXG4gICAgICAgICAgICA/ICdhcnJvd191cHdhcmQnXG4gICAgICAgICAgICA6ICdhcnJvd19kb3dud2FyZCdcbiAgICAgICAgXCJcbiAgICAgID48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBwYW5lbFJpZ2h0QnV0dG9uXG4gICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCJcbiAgICAgICpuZ0lmPVwiZmVhdHVyZS5nZW9tZXRyeVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJ6b29tLWluXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpZ28tZmVhdHVyZS1kZXRhaWxzIFtmZWF0dXJlXT1cImZlYXR1cmVcIj48L2lnby1mZWF0dXJlLWRldGFpbHM+XG4gIDwvaWdvLXBhbmVsPlxuPC9pZ28tZmxleGlibGU+XG4iXX0=
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQWlCLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU3RCxPQUFPLGVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7SUNVdkMsaUNBTUM7SUFGQyw4SkFBUyxlQUFBLDRCQUFxQixDQUFBLElBQUM7SUFHL0IsOEJBQXVDO0lBQ3pDLGlCQUFTOzs7QURYYixNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLEVBQUUsRUFBRSxTQUFTO1FBQ2IsSUFBSSxFQUFFLFdBQVc7S0FDbEIsQ0FBQztJQUNNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBRXZDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNPLFNBQVMsQ0FBVTtJQUUzQixJQUNJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNPLElBQUksQ0FBUztJQUVyQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNPLFFBQVEsQ0FBVTtJQUVoQixNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUV4QyxLQUFLLENBQWdCO0lBRTVCOztPQUVHO0lBQ0gsSUFBSSxLQUFLO1FBQ1AsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnQkFBZSxDQUFDO0lBRWhCLE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RELGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7Z0JBQ3ZDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVTthQUN2QyxDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FDZCxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFDdkIsQ0FBQyxTQUFTLENBQUMsRUFDWCxhQUFhLENBQUMsSUFBSSxDQUNuQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQWM7UUFDbEIsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7YUFBTSxJQUFJLE1BQU0sS0FBSyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtZQUN0RCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7SUFDSCxDQUFDO3dFQTdFVSxjQUFjOzZEQUFkLGNBQWM7WUNoQjNCLDBDQU9DO1lBRkMsMkdBQVcsc0JBQWtCLElBQUMsa0dBQ2pCLHNCQUFrQixJQUREO1lBRzlCLG9DQUEyQixnQkFBQTtZQUNlLDJGQUFTLFlBQVEsSUFBQztZQUN4RCw4QkFNWTtZQUNkLGlCQUFTO1lBRVQscUVBUVM7WUFFVCx5Q0FBK0Q7WUFDakUsaUJBQVksRUFBQTs7O1lBMUJaLGlDQUFlO1lBSUosZUFBZTtZQUFmLGlDQUFlO1lBR3BCLGVBSUM7WUFKRCxnSEFJQztZQVNGLGVBQXNCO1lBQXRCLDJDQUFzQjtZQUtKLGVBQW1CO1lBQW5CLHFDQUFtQjs7O3VGRGIvQixjQUFjO2NBTDFCLFNBQVM7MkJBQ0UsV0FBVztzQ0FZakIsUUFBUTtrQkFEWCxLQUFLO1lBV0YsR0FBRztrQkFETixLQUFLO1lBVUYsT0FBTztrQkFEVixLQUFLO1lBU0ksTUFBTTtrQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEZsZXhpYmxlU3RhdGUsIGdldEVudGl0eVRpdGxlIH0gZnJvbSAnQGlnbzIvY29tbW9uJztcclxuXHJcbmltcG9ydCBvbEZvcm1hdEdlb0pTT04gZnJvbSAnb2wvZm9ybWF0L0dlb0pTT04nO1xyXG5cclxuaW1wb3J0IHsgRmVhdHVyZU1vdGlvbiB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUuZW51bXMnO1xyXG5pbXBvcnQgeyBGZWF0dXJlIH0gZnJvbSAnLi4vZmVhdHVyZS9zaGFyZWQvZmVhdHVyZS5pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgbW92ZVRvT2xGZWF0dXJlcyB9IGZyb20gJy4uL2ZlYXR1cmUvc2hhcmVkL2ZlYXR1cmUudXRpbHMnO1xyXG5pbXBvcnQgeyBJZ29NYXAgfSBmcm9tICcuLi9tYXAvc2hhcmVkL21hcCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby10b2FzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCB7XHJcbiAgc3RhdGljIFNXSVBFX0FDVElPTiA9IHtcclxuICAgIFVQOiAnc3dpcGV1cCcsXHJcbiAgICBET1dOOiAnc3dpcGVkb3duJ1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBmb3JtYXQgPSBuZXcgb2xGb3JtYXRHZW9KU09OKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xyXG4gIH1cclxuICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc3RhdGUgPSB2YWx1ZSA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJztcclxuICAgIHRoaXMuX2V4cGFuZGVkID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2V4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtYXAoKTogSWdvTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9tYXA7XHJcbiAgfVxyXG4gIHNldCBtYXAodmFsdWU6IElnb01hcCkge1xyXG4gICAgdGhpcy5fbWFwID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX21hcDogSWdvTWFwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmZWF0dXJlKCk6IEZlYXR1cmUge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZlYXR1cmU7XHJcbiAgfVxyXG4gIHNldCBmZWF0dXJlKHZhbHVlOiBGZWF0dXJlKSB7XHJcbiAgICB0aGlzLl9mZWF0dXJlID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZlYXR1cmU6IEZlYXR1cmU7XHJcblxyXG4gIEBPdXRwdXQoKSBvcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHB1YmxpYyBzdGF0ZTogRmxleGlibGVTdGF0ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGludGVybmFsXHJcbiAgICovXHJcbiAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZ2V0RW50aXR5VGl0bGUodGhpcy5mZWF0dXJlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgdG9nZ2xlKCkge1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5vcGVuZWQuZW1pdCh0aGlzLmV4cGFuZGVkKTtcclxuICB9XHJcblxyXG4gIHpvb21Ub0ZlYXR1cmVFeHRlbnQoKSB7XHJcbiAgICBpZiAodGhpcy5mZWF0dXJlLmdlb21ldHJ5KSB7XHJcbiAgICAgIGNvbnN0IG9sRmVhdHVyZSA9IHRoaXMuZm9ybWF0LnJlYWRGZWF0dXJlKHRoaXMuZmVhdHVyZSwge1xyXG4gICAgICAgIGRhdGFQcm9qZWN0aW9uOiB0aGlzLmZlYXR1cmUucHJvamVjdGlvbixcclxuICAgICAgICBmZWF0dXJlUHJvamVjdGlvbjogdGhpcy5tYXAucHJvamVjdGlvblxyXG4gICAgICB9KTtcclxuICAgICAgbW92ZVRvT2xGZWF0dXJlcyhcclxuICAgICAgICB0aGlzLm1hcC52aWV3Q29udHJvbGxlcixcclxuICAgICAgICBbb2xGZWF0dXJlXSxcclxuICAgICAgICBGZWF0dXJlTW90aW9uLlpvb21cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN3aXBlKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBpZiAoYWN0aW9uID09PSBUb2FzdENvbXBvbmVudC5TV0lQRV9BQ1RJT04uVVApIHtcclxuICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09IFRvYXN0Q29tcG9uZW50LlNXSVBFX0FDVElPTi5ET1dOKSB7XHJcbiAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aWdvLWZsZXhpYmxlXG4gICNmbGV4XG4gIGNvbGxhcHNlZE1vYmlsZT1cIjUxcHhcIlxuICBleHBhbmRlZE1vYmlsZT1cIjMwMHB4XCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgKHN3aXBldXApPVwic3dpcGUoJGV2ZW50LnR5cGUpXCJcbiAgKHN3aXBlZG93bik9XCJzd2lwZSgkZXZlbnQudHlwZSlcIlxuPlxuICA8aWdvLXBhbmVsIFt0aXRsZV09XCJ0aXRsZVwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIHBhbmVsTGVmdEJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlKClcIj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBbc3ZnSWNvbl09XCJcbiAgICAgICAgICBbJ2NvbGxhcHNlZCcsICdpbml0aWFsJ10uaW5kZXhPZihmbGV4LnN0YXRlKSA+PSAwXG4gICAgICAgICAgICA/ICdhcnJvd191cHdhcmQnXG4gICAgICAgICAgICA6ICdhcnJvd19kb3dud2FyZCdcbiAgICAgICAgXCJcbiAgICAgID48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvblxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBwYW5lbFJpZ2h0QnV0dG9uXG4gICAgICBjbGFzcz1cImlnby1pY29uLWJ1dHRvblwiXG4gICAgICAoY2xpY2spPVwiem9vbVRvRmVhdHVyZUV4dGVudCgpXCJcbiAgICAgICpuZ0lmPVwiZmVhdHVyZS5nZW9tZXRyeVwiXG4gICAgPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJ6b29tLWluXCI+PC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxpZ28tZmVhdHVyZS1kZXRhaWxzIFtmZWF0dXJlXT1cImZlYXR1cmVcIj48L2lnby1mZWF0dXJlLWRldGFpbHM+XG4gIDwvaWdvLXBhbmVsPlxuPC9pZ28tZmxleGlibGU+XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
- import { IgoPanelModule, IgoFlexibleModule } from '@igo2/common';
5
+ import { IgoFlexibleModule, IgoPanelModule } from '@igo2/common';
6
6
  import { IgoFeatureModule } from '../feature/feature.module';
7
7
  import { ToastComponent } from './toast.component';
8
8
  import * as i0 from "@angular/core";
@@ -42,4 +42,4 @@ export class IgoToastModule {
42
42
  IgoPanelModule,
43
43
  IgoFlexibleModule,
44
44
  IgoFeatureModule], exports: [ToastComponent] }); })();
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3RUFMVSxjQUFjOzREQUFkLGNBQWM7Z0VBVnZCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZ0JBQWdCOzt1RkFLUCxjQUFjO2NBWjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDL0I7O3dGQUNZLGNBQWMsbUJBRlYsY0FBYyxhQVIzQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQixhQUVSLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IElnb1BhbmVsTW9kdWxlLCBJZ29GbGV4aWJsZU1vZHVsZSB9IGZyb20gJ0BpZ28yL2NvbW1vbic7XG5cbmltcG9ydCB7IElnb0ZlYXR1cmVNb2R1bGUgfSBmcm9tICcuLi9mZWF0dXJlL2ZlYXR1cmUubW9kdWxlJztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIElnb1BhbmVsTW9kdWxlLFxuICAgIElnb0ZsZXhpYmxlTW9kdWxlLFxuICAgIElnb0ZlYXR1cmVNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1RvYXN0Q29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbVG9hc3RDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIElnb1RvYXN0TW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29Ub2FzdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvVG9hc3RNb2R1bGVcbiAgICB9O1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdG9hc3QvdG9hc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sY0FBYztJQUN6QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDO0lBQ0osQ0FBQzt3RUFMVSxjQUFjOzREQUFkLGNBQWM7Z0VBVnZCLFlBQVk7WUFDWixhQUFhO1lBQ2IsZUFBZTtZQUNmLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZ0JBQWdCOzt1RkFLUCxjQUFjO2NBWjFCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7YUFDL0I7O3dGQUNZLGNBQWMsbUJBRlYsY0FBYyxhQVIzQixZQUFZO1FBQ1osYUFBYTtRQUNiLGVBQWU7UUFDZixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGdCQUFnQixhQUVSLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG5pbXBvcnQgeyBJZ29GbGV4aWJsZU1vZHVsZSwgSWdvUGFuZWxNb2R1bGUgfSBmcm9tICdAaWdvMi9jb21tb24nO1xyXG5cclxuaW1wb3J0IHsgSWdvRmVhdHVyZU1vZHVsZSB9IGZyb20gJy4uL2ZlYXR1cmUvZmVhdHVyZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCB9IGZyb20gJy4vdG9hc3QuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIElnb1BhbmVsTW9kdWxlLFxyXG4gICAgSWdvRmxleGlibGVNb2R1bGUsXHJcbiAgICBJZ29GZWF0dXJlTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbVG9hc3RDb21wb25lbnRdLFxyXG4gIGRlY2xhcmF0aW9uczogW1RvYXN0Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSWdvVG9hc3RNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvVG9hc3RNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZ29Ub2FzdE1vZHVsZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
- import { Md5 } from 'ts-md5';
2
1
  import { uuid } from '@igo2/utils';
2
+ import { Md5 } from 'ts-md5';
3
3
  /**
4
4
  * Generate a id from it's datasource options.
5
5
  * @param options Data source options
@@ -107,4 +107,4 @@ export function standardizeUrl(url) {
107
107
  }
108
108
  return urlStandardized;
109
109
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVFuQzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxPQUEwQjtJQUUxQixNQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSwrQkFBK0I7UUFDckMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxPQUFPLEVBQUUsa0NBQWtDO1FBQzNDLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxlQUFlLEVBQUUscUNBQXFDO1FBQ3RELGNBQWMsRUFBRSxxQ0FBcUM7UUFDckQsR0FBRyxFQUFFLENBQUMsUUFBOEIsRUFBRSxFQUFFLENBQUMsS0FBSztRQUM5QyxTQUFTLEVBQUUsQ0FBQyxRQUE4QixFQUFFLEVBQUUsQ0FBQyxXQUFXO0tBQzNELENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQztJQUN6RCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUE2QjtJQUMxRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsTUFBTSxD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Q0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FDN0MsQ0FBQztJQUNGLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUN2QixlQUFlLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakQ7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi8uLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9hcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XG5cbmltcG9ydCB7IHV1aWQgfSBmcm9tICdAaWdvMi91dGlscyc7XG5cbmltcG9ydCB7IEFueURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYW55LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV01TRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV01UU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2UnO1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBpdCdzIGRhdGFzb3VyY2Ugb3B0aW9ucy5cbiAqIEBwYXJhbSBvcHRpb25zIERhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSWRGcm9tU291cmNlT3B0aW9ucyhcbiAgb3B0aW9uczogRGF0YVNvdXJjZU9wdGlvbnNcbik6IHN0cmluZyB7XG4gIGNvbnN0IGdlbmVyYXRvcnMgPSB7XG4gICAgd21zOiBnZW5lcmF0ZVdNU0lkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgd210czogZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICB4eXo6IGdlbmVyYXRlWFlaSWRGcm9tU291cmNlT3B0aW9ucyxcbiAgICBmZWF0dXJlOiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHdmczogZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIGFyY2dpc3Jlc3Q6IGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMsXG4gICAgaW1hZ2VhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIHRpbGVhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxuICAgIG9zbTogKF9vcHRpb25zOiBBbnlEYXRhU291cmNlT3B0aW9ucykgPT4gJ09TTScsXG4gICAgdGlsZWRlYnVnOiAoX29wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zKSA9PiAndGlsZWRlYnVnJ1xuICB9O1xuICBjb25zdCBnZW5lcmF0b3IgPSBnZW5lcmF0b3JzW29wdGlvbnMudHlwZV0gfHwgZ2VuZXJhdGVJZDtcbiAgcmV0dXJuIGdlbmVyYXRvcihvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gV01TIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEBwYXJhbSBvcHRpb25zIFdNUyBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlV01TSWRGcm9tU291cmNlT3B0aW9ucyhvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucykge1xuICBjb25zdCBsYXllcnMgPSBvcHRpb25zLnBhcmFtcy5MQVlFUlM7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAnd21zJyArIHVybCArIGxheWVycztcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIFdNVFMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgV01UUyBkYXRhIHNvdXJjZSBvcHRpb25zXG4gKiBAcmV0dXJucyBBIG1kNSBoYXNoIG9mIHRoZSB0aGUgdXJsIGFuZCBsYXllclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyhcbiAgb3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zXG4pIHtcbiAgY29uc3QgbGF5ZXIgPSBvcHRpb25zLmxheWVyO1xuICBjb25zdCB1cmwgPSBzdGFuZGFyZGl6ZVVybChvcHRpb25zLnVybCk7XG4gIGNvbnN0IGNoYWluID0gJ3dtdHMnICsgdXJsICsgbGF5ZXI7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBYWVogZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVhZWklkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAneHl6JyArIHVybDtcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIGZlYXR1cmUgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZlYXR1cmVJZEZyb21Tb3VyY2VPcHRpb25zKFxuICBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnNcbikge1xuICBpZiAoIW9wdGlvbnMudXJsKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlSWQob3B0aW9ucyk7XG4gIH1cbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xuICBjb25zdCBjaGFpbiA9ICdmZWF0dXJlJyArIHVybDtcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBpZCBmcm9tIGZlYXR1cmUgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdmc0lkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zLnVybCB8fCAhb3B0aW9ucy5wYXJhbXMpIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVJZChvcHRpb25zKTtcbiAgfVxuICBjb25zdCB1cmwgPSBzdGFuZGFyZGl6ZVVybChvcHRpb25zLnVybCk7XG4gIGNvbnN0IGNoYWluID0gJ3dmcycgKyB1cmwgKyBvcHRpb25zLnBhcmFtcy5mZWF0dXJlVHlwZXM7XG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xufVxuLyoqXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHBhcmFtIG9wdGlvbnMgQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdXJsIGFuZCBsYXllcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQXJjZ2lzUmVzdElkRnJvbVNvdXJjZU9wdGlvbnMoXG4gIG9wdGlvbnM6IEFyY0dJU1Jlc3REYXRhU291cmNlT3B0aW9uc1xuKSB7XG4gIGNvbnN0IGxheWVycyA9IG9wdGlvbnMubGF5ZXI7XG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcbiAgY29uc3QgY2hhaW4gPSAob3B0aW9ucy50eXBlIHx8ICdhcmNnaXMnKSArIHVybCArIGxheWVycztcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSB1bmlxdWUgaWRcbiAqIEByZXR1cm5zIEEgdXVpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJZChfb3B0aW9uczogQW55RGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgcmV0dXJuIHV1aWQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YW5kYXJkaXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgYWJzVXJsID0gdXJsLmNoYXJBdCgwKSA9PT0gJy8nID8gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHVybCA6IHVybDtcbiAgY29uc3QgdXJsRGVjb21wb3NlZCA9IGFic1VybC5zcGxpdCgvWz8mXS8pO1xuICBsZXQgdXJsU3RhbmRhcmRpemVkID0gdXJsRGVjb21wb3NlZC5zaGlmdCgpO1xuICBjb25zdCBwYXJhbXNUb0tlZXAgPSB1cmxEZWNvbXBvc2VkLmZpbHRlcihcbiAgICAocCkgPT4gcC5sZW5ndGggIT09IDAgJiYgcC5jaGFyQXQoMCkgIT09ICdfJ1xuICApO1xuICBpZiAocGFyYW1zVG9LZWVwLmxlbmd0aCkge1xuICAgIHVybFN0YW5kYXJkaXplZCArPSAnPycgKyBwYXJhbXNUb0tlZXAuam9pbignJicpO1xuICB9XG4gIHJldHVybiB1cmxTdGFuZGFyZGl6ZWQ7XG59XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvdXRpbHMvaWQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQVM3Qjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxPQUEwQjtJQUUxQixNQUFNLFVBQVUsR0FBRztRQUNqQixHQUFHLEVBQUUsOEJBQThCO1FBQ25DLElBQUksRUFBRSwrQkFBK0I7UUFDckMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxPQUFPLEVBQUUsa0NBQWtDO1FBQzNDLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxlQUFlLEVBQUUscUNBQXFDO1FBQ3RELGNBQWMsRUFBRSxxQ0FBcUM7UUFDckQsR0FBRyxFQUFFLENBQUMsUUFBOEIsRUFBRSxFQUFFLENBQUMsS0FBSztRQUM5QyxTQUFTLEVBQUUsQ0FBQyxRQUE4QixFQUFFLEVBQUUsQ0FBQyxXQUFXO0tBQzNELENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQztJQUN6RCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxPQUE2QjtJQUMxRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNyQyxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLEdBQUcsTUFBTSxD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Q0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FDN0MsQ0FBQztJQUNGLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRTtRQUN2QixlQUFlLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7S0FDakQ7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSc7XHJcblxyXG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2UnO1xyXG5pbXBvcnQgeyBBbnlEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2FueS1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi4vZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy1kYXRhc291cmNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtdHMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLy4uL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2FyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBpdCdzIGRhdGFzb3VyY2Ugb3B0aW9ucy5cclxuICogQHBhcmFtIG9wdGlvbnMgRGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcmV0dXJucyBBIGlkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJZEZyb21Tb3VyY2VPcHRpb25zKFxyXG4gIG9wdGlvbnM6IERhdGFTb3VyY2VPcHRpb25zXHJcbik6IHN0cmluZyB7XHJcbiAgY29uc3QgZ2VuZXJhdG9ycyA9IHtcclxuICAgIHdtczogZ2VuZXJhdGVXTVNJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgd210czogZ2VuZXJhdGVXTVRTSWRGcm9tU291cmNlT3B0aW9ucyxcclxuICAgIHh5ejogZ2VuZXJhdGVYWVpJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgZmVhdHVyZTogZ2VuZXJhdGVGZWF0dXJlSWRGcm9tU291cmNlT3B0aW9ucyxcclxuICAgIHdmczogZ2VuZXJhdGVXZnNJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgYXJjZ2lzcmVzdDogZ2VuZXJhdGVBcmNnaXNSZXN0SWRGcm9tU291cmNlT3B0aW9ucyxcclxuICAgIGltYWdlYXJjZ2lzcmVzdDogZ2VuZXJhdGVBcmNnaXNSZXN0SWRGcm9tU291cmNlT3B0aW9ucyxcclxuICAgIHRpbGVhcmNnaXNyZXN0OiBnZW5lcmF0ZUFyY2dpc1Jlc3RJZEZyb21Tb3VyY2VPcHRpb25zLFxyXG4gICAgb3NtOiAoX29wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zKSA9PiAnT1NNJyxcclxuICAgIHRpbGVkZWJ1ZzogKF9vcHRpb25zOiBBbnlEYXRhU291cmNlT3B0aW9ucykgPT4gJ3RpbGVkZWJ1ZydcclxuICB9O1xyXG4gIGNvbnN0IGdlbmVyYXRvciA9IGdlbmVyYXRvcnNbb3B0aW9ucy50eXBlXSB8fCBnZW5lcmF0ZUlkO1xyXG4gIHJldHVybiBnZW5lcmF0b3Iob3B0aW9ucyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gV01TIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHBhcmFtIG9wdGlvbnMgV01TIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVXTVNJZEZyb21Tb3VyY2VPcHRpb25zKG9wdGlvbnM6IFdNU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgY29uc3QgbGF5ZXJzID0gb3B0aW9ucy5wYXJhbXMuTEFZRVJTO1xyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICd3bXMnICsgdXJsICsgbGF5ZXJzO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogR2VuZXJhdGUgYSBpZCBmcm9tIFdNVFMgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyBXTVRTIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdNVFNJZEZyb21Tb3VyY2VPcHRpb25zKFxyXG4gIG9wdGlvbnM6IFdNVFNEYXRhU291cmNlT3B0aW9uc1xyXG4pIHtcclxuICBjb25zdCBsYXllciA9IG9wdGlvbnMubGF5ZXI7XHJcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xyXG4gIGNvbnN0IGNoYWluID0gJ3dtdHMnICsgdXJsICsgbGF5ZXI7XHJcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVhZWklkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgY29uc3QgdXJsID0gc3RhbmRhcmRpemVVcmwob3B0aW9ucy51cmwpO1xyXG4gIGNvbnN0IGNoYWluID0gJ3h5eicgKyB1cmw7XHJcbiAgcmV0dXJuIE1kNS5oYXNoU3RyKGNoYWluKSBhcyBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gZmVhdHVyZSBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEBwYXJhbSBvcHRpb25zIFhZWiBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHRoZSB1cmwgYW5kIGxheWVyXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVGZWF0dXJlSWRGcm9tU291cmNlT3B0aW9ucyhcclxuICBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnNcclxuKSB7XHJcbiAgaWYgKCFvcHRpb25zLnVybCkge1xyXG4gICAgcmV0dXJuIGdlbmVyYXRlSWQob3B0aW9ucyk7XHJcbiAgfVxyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICdmZWF0dXJlJyArIHVybDtcclxuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgaWQgZnJvbSBmZWF0dXJlIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHBhcmFtIG9wdGlvbnMgWFlaIGRhdGEgc291cmNlIG9wdGlvbnNcclxuICogQHJldHVybnMgQSBtZDUgaGFzaCBvZiB0aGUgdGhlIHVybCBhbmQgbGF5ZXJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVdmc0lkRnJvbVNvdXJjZU9wdGlvbnMob3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMpIHtcclxuICBpZiAoIW9wdGlvbnMudXJsIHx8ICFvcHRpb25zLnBhcmFtcykge1xyXG4gICAgcmV0dXJuIGdlbmVyYXRlSWQob3B0aW9ucyk7XHJcbiAgfVxyXG4gIGNvbnN0IHVybCA9IHN0YW5kYXJkaXplVXJsKG9wdGlvbnMudXJsKTtcclxuICBjb25zdCBjaGFpbiA9ICd3ZnMnICsgdXJsICsgb3B0aW9ucy5wYXJhbXMuZmVhdHVyZVR5cGVzO1xyXG4gIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xyXG59XHJcbi8qKlxyXG4gKiBHZW5lcmF0ZSBhIGlkIGZyb20gQXJjR0lTIFJlc3QgZGF0YSBzb3VyY2Ugb3B0aW9uc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyBBcmNHSVMgUmVzdCBkYXRhIHNvdXJjZSBvcHRpb25zXHJcbiAqIEByZXR1cm5zIEEgbWQ1IGhhc2ggb2YgdGhlIHVybCBhbmQgbGF5ZXJzXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBcmNnaXNSZXN0SWRGcm9tU291cmNlT3B0aW9ucyhcclxuICBvcHRpb25zOiBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnNcclxuKSB7XHJcbiAgY29uc3QgbGF5ZXJzID0gb3B0aW9ucy5sYXllcjtcclxuICBjb25zdCB1cmwgPSBzdGFuZGFyZGl6ZVVybChvcHRpb25zLnVybCk7XHJcbiAgY29uc3QgY2hhaW4gPSAob3B0aW9ucy50eXBlIHx8ICdhcmNnaXMnKSArIHVybCArIGxheWVycztcclxuICByZXR1cm4gTWQ1Lmhhc2hTdHIoY2hhaW4pIGFzIHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIGEgdW5pcXVlIGlkXHJcbiAqIEByZXR1cm5zIEEgdXVpZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSWQoX29wdGlvbnM6IEFueURhdGFTb3VyY2VPcHRpb25zKSB7XHJcbiAgcmV0dXJuIHV1aWQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHN0YW5kYXJkaXplVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICBjb25zdCBhYnNVcmwgPSB1cmwuY2hhckF0KDApID09PSAnLycgPyB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgdXJsIDogdXJsO1xyXG4gIGNvbnN0IHVybERlY29tcG9zZWQgPSBhYnNVcmwuc3BsaXQoL1s/Jl0vKTtcclxuICBsZXQgdXJsU3RhbmRhcmRpemVkID0gdXJsRGVjb21wb3NlZC5zaGlmdCgpO1xyXG4gIGNvbnN0IHBhcmFtc1RvS2VlcCA9IHVybERlY29tcG9zZWQuZmlsdGVyKFxyXG4gICAgKHApID0+IHAubGVuZ3RoICE9PSAwICYmIHAuY2hhckF0KDApICE9PSAnXydcclxuICApO1xyXG4gIGlmIChwYXJhbXNUb0tlZXAubGVuZ3RoKSB7XHJcbiAgICB1cmxTdGFuZGFyZGl6ZWQgKz0gJz8nICsgcGFyYW1zVG9LZWVwLmpvaW4oJyYnKTtcclxuICB9XHJcbiAgcmV0dXJuIHVybFN0YW5kYXJkaXplZDtcclxufVxyXG4iXX0=
@@ -61,4 +61,4 @@ export class PropertyTypeDetectorService {
61
61
  providedIn: 'root'
62
62
  }]
63
63
  }], function () { return [{ type: i1.RegexService }]; }, null); })();
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3V0aWxzL3Byb3BlcnR5VHlwZURldGVjdG9yL3Byb3BlcnR5VHlwZURldGVjdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFNMUMsTUFBTSxPQUFPLDJCQUEyQjtJQUdsQjtJQUZiLGlCQUFpQixHQUEyQixFQUFFLENBQUM7SUFFdEQsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBSztRQUNuQixPQUFPLE9BQU8sS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBSztRQUNqQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxLQUFLLE1BQU0sZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNwRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQ1gsR0FBVyxFQUNYLG1CQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLGtCQUF3QyxDQUFDO1FBQzdDLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BELE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLDBDQUEwQztnQkFDMUMsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxRCxlQUFlLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNuRCxDQUFDO2dCQUNGLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdEUsSUFBSSxrQkFBa0IsRUFBRTtvQkFDdEIsTUFBTTtpQkFDUDthQUNGO1NBQ0Y7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUN6QyxFQUFFLENBQTJCLENBQUM7SUFDbEMsQ0FBQztxRkExRFUsMkJBQTJCO2dFQUEzQiwyQkFBMkIsV0FBM0IsMkJBQTJCLG1CQUYxQixNQUFNOzt1RkFFUCwyQkFBMkI7Y0FIdkMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVnZXhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XG5pbXBvcnQgeyBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcHJvcGVydHlUeXBlRGV0ZWN0b3IuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJvcGVydHlUeXBlRGV0ZWN0b3JTZXJ2aWNlIHtcbiAgcHVibGljIGdlb1NlcnZpY2VSZWdleGVzOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbltdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWdleFNlcnZpY2U6IFJlZ2V4U2VydmljZSkge1xuICAgIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMgPSB0aGlzLmdldEdlb1NlcnZpY2VSZWdleGVzKCk7XG4gIH1cblxuICBnZXRQcm9wZXJ0eVR5cGUodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1VybCh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZ2V4ID0gL15odHRwcz86XFwvXFwvLztcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcbiAgfVxuXG4gIGlzR2VvU2VydmljZSh2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGxldCBpc0dlb1NlcnZpY2UgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMuaXNVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBnZW9TZXJ2aWNlUmVnZXggb2YgdGhpcy5nZW9TZXJ2aWNlUmVnZXhlcykge1xuICAgICAgY29uc3QgZG9tYWluUmVnZXggPSBuZXcgUmVnRXhwKGdlb1NlcnZpY2VSZWdleC51cmwpO1xuICAgICAgaWYgKGRvbWFpblJlZ2V4LnRlc3QodmFsdWUpKSB7XG4gICAgICAgIGlzR2VvU2VydmljZSA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNHZW9TZXJ2aWNlO1xuICB9XG5cbiAgZ2V0R2VvU2VydmljZShcbiAgICB1cmw6IHN0cmluZyxcbiAgICBhdmFpbGFibGVQcm9wZXJ0aWVzOiBzdHJpbmdbXVxuICApOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB7XG4gICAgaWYgKCF0aGlzLmlzR2VvU2VydmljZSh1cmwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBtYXRjaGluZ0dlb3NlcnZpY2U6IEdlb1NlcnZpY2VEZWZpbml0aW9uO1xuICAgIGZvciAoY29uc3QgZ2VvU2VydmljZVJlZ2V4IG9mIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMpIHtcbiAgICAgIGNvbnN0IGRvbWFpblJlZ2V4ID0gbmV3IFJlZ0V4cChnZW9TZXJ2aWNlUmVnZXgudXJsKTtcbiAgICAgIGlmIChkb21haW5SZWdleC50ZXN0KHVybCkpIHtcbiAgICAgICAgLy8gcHJvdmlkaW5nIHRoZSB0aGUgZmlyc3QgbWF0Y2hpbmcgcmVnZXg7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nUHJvcGVydGllcyA9IGF2YWlsYWJsZVByb3BlcnRpZXMuZmlsdGVyKChwKSA9PlxuICAgICAgICAgIGdlb1NlcnZpY2VSZWdleC5wcm9wZXJ0aWVzRm9yTGF5ZXJOYW1lLmluY2x1ZGVzKHApXG4gICAgICAgICk7XG4gICAgICAgIG1hdGNoaW5nR2Vvc2VydmljZSA9IG1hdGNoaW5nUHJvcGVydGllcyA/IGdlb1NlcnZpY2VSZWdleCA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKG1hdGNoaW5nR2Vvc2VydmljZSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXRjaGluZ0dlb3NlcnZpY2U7XG4gIH1cblxuICBwcml2YXRlIGdldEdlb1NlcnZpY2VSZWdleGVzKCk6IEdlb1NlcnZpY2VEZWZpbml0aW9uW10ge1xuICAgIHJldHVybiAodGhpcy5yZWdleFNlcnZpY2UuZ2V0KCdnZW9zZXJ2aWNlJykgfHxcbiAgICAgIFtdKSBhcyBHZW9TZXJ2aWNlRGVmaW5pdGlvbltdO1xuICB9XG59XG4iXX0=
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHlUeXBlRGV0ZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL3V0aWxzL3Byb3BlcnR5VHlwZURldGVjdG9yL3Byb3BlcnR5VHlwZURldGVjdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFPMUMsTUFBTSxPQUFPLDJCQUEyQjtJQUdsQjtJQUZiLGlCQUFpQixHQUEyQixFQUFFLENBQUM7SUFFdEQsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxlQUFlLENBQUMsS0FBSztRQUNuQixPQUFPLE9BQU8sS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBSztRQUNqQixNQUFNLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFDRCxLQUFLLE1BQU0sZUFBZSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNwRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMzQixZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQ1gsR0FBVyxFQUNYLG1CQUE2QjtRQUU3QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLGtCQUF3QyxDQUFDO1FBQzdDLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BELE1BQU0sV0FBVyxHQUFHLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLDBDQUEwQztnQkFDMUMsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxRCxlQUFlLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUNuRCxDQUFDO2dCQUNGLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDdEUsSUFBSSxrQkFBa0IsRUFBRTtvQkFDdEIsTUFBTTtpQkFDUDthQUNGO1NBQ0Y7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztZQUN6QyxFQUFFLENBQTJCLENBQUM7SUFDbEMsQ0FBQztxRkExRFUsMkJBQTJCO2dFQUEzQiwyQkFBMkIsV0FBM0IsMkJBQTJCLG1CQUYxQixNQUFNOzt1RkFFUCwyQkFBMkI7Y0FIdkMsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUmVnZXhTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB9IGZyb20gJy4vcHJvcGVydHlUeXBlRGV0ZWN0b3IuaW50ZXJmYWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb3BlcnR5VHlwZURldGVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGdlb1NlcnZpY2VSZWdleGVzOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVnZXhTZXJ2aWNlOiBSZWdleFNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMgPSB0aGlzLmdldEdlb1NlcnZpY2VSZWdleGVzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9wZXJ0eVR5cGUodmFsdWUpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzVXJsKHZhbHVlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZWdleCA9IC9eaHR0cHM/OlxcL1xcLy87XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZS50b1N0cmluZygpKTtcclxuICB9XHJcblxyXG4gIGlzR2VvU2VydmljZSh2YWx1ZSk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGlzR2VvU2VydmljZSA9IGZhbHNlO1xyXG4gICAgaWYgKCF0aGlzLmlzVXJsKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgZ2VvU2VydmljZVJlZ2V4IG9mIHRoaXMuZ2VvU2VydmljZVJlZ2V4ZXMpIHtcclxuICAgICAgY29uc3QgZG9tYWluUmVnZXggPSBuZXcgUmVnRXhwKGdlb1NlcnZpY2VSZWdleC51cmwpO1xyXG4gICAgICBpZiAoZG9tYWluUmVnZXgudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICBpc0dlb1NlcnZpY2UgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNHZW9TZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0R2VvU2VydmljZShcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgYXZhaWxhYmxlUHJvcGVydGllczogc3RyaW5nW11cclxuICApOiBHZW9TZXJ2aWNlRGVmaW5pdGlvbiB7XHJcbiAgICBpZiAoIXRoaXMuaXNHZW9TZXJ2aWNlKHVybCkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IG1hdGNoaW5nR2Vvc2VydmljZTogR2VvU2VydmljZURlZmluaXRpb247XHJcbiAgICBmb3IgKGNvbnN0IGdlb1NlcnZpY2VSZWdleCBvZiB0aGlzLmdlb1NlcnZpY2VSZWdleGVzKSB7XHJcbiAgICAgIGNvbnN0IGRvbWFpblJlZ2V4ID0gbmV3IFJlZ0V4cChnZW9TZXJ2aWNlUmVnZXgudXJsKTtcclxuICAgICAgaWYgKGRvbWFpblJlZ2V4LnRlc3QodXJsKSkge1xyXG4gICAgICAgIC8vIHByb3ZpZGluZyB0aGUgdGhlIGZpcnN0IG1hdGNoaW5nIHJlZ2V4O1xyXG4gICAgICAgIGNvbnN0IG1hdGNoaW5nUHJvcGVydGllcyA9IGF2YWlsYWJsZVByb3BlcnRpZXMuZmlsdGVyKChwKSA9PlxyXG4gICAgICAgICAgZ2VvU2VydmljZVJlZ2V4LnByb3BlcnRpZXNGb3JMYXllck5hbWUuaW5jbHVkZXMocClcclxuICAgICAgICApO1xyXG4gICAgICAgIG1hdGNoaW5nR2Vvc2VydmljZSA9IG1hdGNoaW5nUHJvcGVydGllcyA/IGdlb1NlcnZpY2VSZWdleCA6IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAobWF0Y2hpbmdHZW9zZXJ2aWNlKSB7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBtYXRjaGluZ0dlb3NlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEdlb1NlcnZpY2VSZWdleGVzKCk6IEdlb1NlcnZpY2VEZWZpbml0aW9uW10ge1xyXG4gICAgcmV0dXJuICh0aGlzLnJlZ2V4U2VydmljZS5nZXQoJ2dlb3NlcnZpY2UnKSB8fFxyXG4gICAgICBbXSkgYXMgR2VvU2VydmljZURlZmluaXRpb25bXTtcclxuICB9XHJcbn1cclxuIl19