@igo2/geo 18.0.0-next.5 → 18.0.0-next.7

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 (208) hide show
  1. package/esm2022/lib/catalog/catalog-browser/catalog-browser-group.component.mjs +3 -3
  2. package/esm2022/lib/catalog/catalog-browser/catalog-browser-layer.component.mjs +3 -3
  3. package/esm2022/lib/catalog/catalog-browser/catalog-browser.component.mjs +3 -3
  4. package/esm2022/lib/catalog/catalog-browser/catalog-browser.module.mjs +4 -4
  5. package/esm2022/lib/catalog/catalog-library/add-catalog-dialog.component.mjs +3 -3
  6. package/esm2022/lib/catalog/catalog-library/catalog-library-item.component.mjs +3 -3
  7. package/esm2022/lib/catalog/catalog-library/catalog-library.component.mjs +3 -3
  8. package/esm2022/lib/catalog/catalog-library/catalog-library.module.mjs +4 -4
  9. package/esm2022/lib/catalog/catalog.module.mjs +4 -4
  10. package/esm2022/lib/catalog/shared/catalog.service.mjs +3 -3
  11. package/esm2022/lib/datasource/shared/capabilities.service.mjs +3 -3
  12. package/esm2022/lib/datasource/shared/datasource.service.mjs +3 -3
  13. package/esm2022/lib/datasource/shared/datasources/arcgisrest-datasource.mjs +1 -1
  14. package/esm2022/lib/datasource/shared/datasources/carto-datasource.mjs +1 -1
  15. package/esm2022/lib/datasource/shared/datasources/cluster-datasource.mjs +1 -1
  16. package/esm2022/lib/datasource/shared/datasources/feature-datasource.mjs +1 -1
  17. package/esm2022/lib/datasource/shared/datasources/imagearcgisrest-datasource.mjs +1 -1
  18. package/esm2022/lib/datasource/shared/datasources/mvt-datasource.mjs +1 -1
  19. package/esm2022/lib/datasource/shared/datasources/osm-datasource.mjs +1 -1
  20. package/esm2022/lib/datasource/shared/datasources/tilearcgisrest-datasource.mjs +1 -1
  21. package/esm2022/lib/datasource/shared/datasources/tiledebug-datasource.mjs +1 -1
  22. package/esm2022/lib/datasource/shared/datasources/websocket-datasource.mjs +1 -1
  23. package/esm2022/lib/datasource/shared/datasources/wfs-datasource.mjs +66 -2
  24. package/esm2022/lib/datasource/shared/datasources/wfs.service.mjs +3 -3
  25. package/esm2022/lib/datasource/shared/datasources/wms-datasource.mjs +1 -1
  26. package/esm2022/lib/datasource/shared/datasources/wms-wfs.utils.mjs +7 -5
  27. package/esm2022/lib/datasource/shared/datasources/wmts-datasource.mjs +1 -1
  28. package/esm2022/lib/datasource/shared/datasources/xyz-datasource.mjs +1 -1
  29. package/esm2022/lib/datasource/shared/options/options-api.service.mjs +3 -3
  30. package/esm2022/lib/directions/directions-buttons/directions-buttons.component.mjs +3 -3
  31. package/esm2022/lib/directions/directions-inputs/directions-inputs.component.mjs +3 -3
  32. package/esm2022/lib/directions/directions-results/directions-results.component.mjs +3 -3
  33. package/esm2022/lib/directions/directions-sources/osrm-directions-source.mjs +3 -3
  34. package/esm2022/lib/directions/directions.component.mjs +3 -3
  35. package/esm2022/lib/directions/directions.module.mjs +4 -4
  36. package/esm2022/lib/directions/shared/directions.service.mjs +3 -3
  37. package/esm2022/lib/download/download-button/download-button.component.mjs +3 -3
  38. package/esm2022/lib/download/download.module.mjs +4 -4
  39. package/esm2022/lib/download/shared/download.service.mjs +3 -3
  40. package/esm2022/lib/draw/draw/draw-layer-popup.component.mjs +3 -3
  41. package/esm2022/lib/draw/draw/draw-popup.component.mjs +3 -3
  42. package/esm2022/lib/draw/draw/draw-shorcuts.component.mjs +3 -3
  43. package/esm2022/lib/draw/draw/draw.component.mjs +3 -3
  44. package/esm2022/lib/draw/draw/draw.module.mjs +4 -4
  45. package/esm2022/lib/draw/drawingTool.module.mjs +4 -4
  46. package/esm2022/lib/draw/shared/draw-icon.service.mjs +3 -3
  47. package/esm2022/lib/feature/feature-details/feature-details.component.mjs +3 -3
  48. package/esm2022/lib/feature/feature-details/feature-details.directive.mjs +3 -3
  49. package/esm2022/lib/feature/feature-details/feature-details.module.mjs +4 -4
  50. package/esm2022/lib/feature/feature-form/feature-form.component.mjs +3 -3
  51. package/esm2022/lib/feature/feature-form/feature-form.module.mjs +4 -4
  52. package/esm2022/lib/feature/feature.module.mjs +4 -4
  53. package/esm2022/lib/filter/filter.module.mjs +4 -4
  54. package/esm2022/lib/filter/ogc-filter-button/ogc-filter-button.component.mjs +3 -3
  55. package/esm2022/lib/filter/ogc-filter-form/ogc-filter-form.component.mjs +3 -3
  56. package/esm2022/lib/filter/ogc-filter-selection/ogc-filter-selection.component.mjs +3 -3
  57. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time-slider.component.mjs +3 -3
  58. package/esm2022/lib/filter/ogc-filter-time/ogc-filter-time.component.mjs +3 -3
  59. package/esm2022/lib/filter/ogc-filterable-form/ogc-filterable-form.component.mjs +3 -3
  60. package/esm2022/lib/filter/ogc-filterable-item/ogc-filterable-item.component.mjs +3 -3
  61. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list-binding.directive.mjs +3 -3
  62. package/esm2022/lib/filter/ogc-filterable-list/ogc-filterable-list.component.mjs +3 -3
  63. package/esm2022/lib/filter/shared/filterable-datasource.pipe.mjs +3 -3
  64. package/esm2022/lib/filter/shared/ogc-filter-time.service.mjs +3 -3
  65. package/esm2022/lib/filter/shared/ogc-filter.mjs +7 -2
  66. package/esm2022/lib/filter/shared/ogc-filter.service.mjs +3 -3
  67. package/esm2022/lib/filter/shared/spatial-filter.service.mjs +3 -3
  68. package/esm2022/lib/filter/shared/time-filter.service.mjs +3 -3
  69. package/esm2022/lib/filter/spatial-filter/spatial-filter-item/spatial-filter-item.component.mjs +3 -3
  70. package/esm2022/lib/filter/spatial-filter/spatial-filter-list/spatial-filter-list.component.mjs +3 -3
  71. package/esm2022/lib/filter/spatial-filter/spatial-filter-type/spatial-filter-type.component.mjs +3 -3
  72. package/esm2022/lib/filter/time-filter-button/time-filter-button.component.mjs +3 -3
  73. package/esm2022/lib/filter/time-filter-form/time-filter-form.component.mjs +3 -3
  74. package/esm2022/lib/filter/time-filter-item/time-filter-item.component.mjs +3 -3
  75. package/esm2022/lib/filter/time-filter-list/time-filter-list-binding.directive.mjs +3 -3
  76. package/esm2022/lib/filter/time-filter-list/time-filter-list.component.mjs +3 -3
  77. package/esm2022/lib/geo.module.mjs +4 -4
  78. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field-input.component.mjs +3 -3
  79. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.component.mjs +3 -3
  80. package/esm2022/lib/geometry/geometry-form-field/geometry-form-field.module.mjs +4 -4
  81. package/esm2022/lib/geometry/geometry.module.mjs +4 -4
  82. package/esm2022/lib/import-export/export-button/export-button.component.mjs +3 -3
  83. package/esm2022/lib/import-export/import-export/import-export.component.mjs +197 -316
  84. package/esm2022/lib/import-export/import-export.module.mjs +4 -4
  85. package/esm2022/lib/import-export/shared/drop-geo-file.directive.mjs +3 -3
  86. package/esm2022/lib/import-export/shared/export.interface.mjs +1 -1
  87. package/esm2022/lib/import-export/shared/export.service.mjs +280 -90
  88. package/esm2022/lib/import-export/shared/export.type.mjs +9 -9
  89. package/esm2022/lib/import-export/shared/export.utils.mjs +5 -1
  90. package/esm2022/lib/import-export/shared/import.service.mjs +3 -3
  91. package/esm2022/lib/layer/layer-item/layer-item.component.mjs +3 -3
  92. package/esm2022/lib/layer/layer-legend/layer-legend.component.mjs +3 -3
  93. package/esm2022/lib/layer/layer-legend-item/layer-legend-item.component.mjs +3 -3
  94. package/esm2022/lib/layer/layer-legend-list/layer-legend-list-binding.directive.mjs +3 -3
  95. package/esm2022/lib/layer/layer-legend-list/layer-legend-list.component.mjs +3 -3
  96. package/esm2022/lib/layer/layer-list/layer-list-binding.directive.mjs +3 -3
  97. package/esm2022/lib/layer/layer-list/layer-list.component.mjs +3 -3
  98. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.component.mjs +3 -3
  99. package/esm2022/lib/layer/layer-list-tool/layer-list-tool.service.mjs +3 -3
  100. package/esm2022/lib/layer/layer.module.mjs +4 -4
  101. package/esm2022/lib/layer/shared/layer.service.mjs +4 -4
  102. package/esm2022/lib/layer/shared/layers/image-layer.mjs +1 -1
  103. package/esm2022/lib/layer/shared/layers/tile-layer.mjs +1 -1
  104. package/esm2022/lib/layer/shared/layers/vector-layer.mjs +12 -15
  105. package/esm2022/lib/layer/shared/layers/vectortile-layer.mjs +1 -1
  106. package/esm2022/lib/layer/track-feature-button/track-feature-button.component.mjs +3 -3
  107. package/esm2022/lib/map/baselayers-switcher/baselayers-switcher.component.mjs +3 -3
  108. package/esm2022/lib/map/baselayers-switcher/mini-basemap.component.mjs +3 -3
  109. package/esm2022/lib/map/geolocate-button/geolocate-button.component.mjs +3 -3
  110. package/esm2022/lib/map/home-extent-button/home-extent-button.component.mjs +3 -3
  111. package/esm2022/lib/map/info-section/info-section.component.mjs +3 -3
  112. package/esm2022/lib/map/map-browser/map-browser.component.mjs +3 -3
  113. package/esm2022/lib/map/map-center/map-center.component.mjs +3 -3
  114. package/esm2022/lib/map/map.module.mjs +4 -4
  115. package/esm2022/lib/map/menu-button/menu-button.component.mjs +3 -3
  116. package/esm2022/lib/map/offline-button/offline-button.component.mjs +3 -3
  117. package/esm2022/lib/map/rotation-button/rotation-button.component.mjs +3 -3
  118. package/esm2022/lib/map/shared/hover-feature.directive.mjs +3 -3
  119. package/esm2022/lib/map/shared/map-pointer-position.directive.mjs +3 -3
  120. package/esm2022/lib/map/shared/map.service.mjs +3 -3
  121. package/esm2022/lib/map/shared/mapOffline.directive.mjs +3 -3
  122. package/esm2022/lib/map/shared/projection.service.mjs +3 -3
  123. package/esm2022/lib/map/swipe-control/swipe-control.component.mjs +3 -3
  124. package/esm2022/lib/map/wake-lock-button/wake-lock-button.component.mjs +4 -5
  125. package/esm2022/lib/map/zoom-button/zoom-button.component.mjs +3 -3
  126. package/esm2022/lib/measure/measure.module.mjs +4 -4
  127. package/esm2022/lib/measure/measurer/measure-format.pipe.mjs +3 -3
  128. package/esm2022/lib/measure/measurer/measurer-dialog.component.mjs +3 -3
  129. package/esm2022/lib/measure/measurer/measurer-item.component.mjs +3 -3
  130. package/esm2022/lib/measure/measurer/measurer.component.mjs +3 -3
  131. package/esm2022/lib/measure/measurer/measurer.module.mjs +4 -4
  132. package/esm2022/lib/metadata/metadata-button/metadata-button.component.mjs +6 -6
  133. package/esm2022/lib/metadata/metadata.module.mjs +4 -4
  134. package/esm2022/lib/metadata/shared/metadata.service.mjs +3 -3
  135. package/esm2022/lib/offline/geoDB/configFileToGeoDB.service.mjs +3 -3
  136. package/esm2022/lib/offline/geoDB/geoDB.service.mjs +3 -3
  137. package/esm2022/lib/offline/layerDB/layerDB.service.mjs +3 -3
  138. package/esm2022/lib/offline/offline.provider.mjs +7 -7
  139. package/esm2022/lib/offline/shared/geo-network.service.mjs +3 -3
  140. package/esm2022/lib/print/print/print.component.mjs +3 -3
  141. package/esm2022/lib/print/print-form/print-form.component.mjs +3 -3
  142. package/esm2022/lib/print/print.module.mjs +4 -4
  143. package/esm2022/lib/print/shared/print.service.mjs +3 -3
  144. package/esm2022/lib/query/query.module.mjs +4 -4
  145. package/esm2022/lib/query/shared/query-search-source.mjs +3 -3
  146. package/esm2022/lib/query/shared/query.directive.mjs +3 -3
  147. package/esm2022/lib/query/shared/query.service.mjs +3 -3
  148. package/esm2022/lib/search/search-bar/search-bar.component.mjs +3 -3
  149. package/esm2022/lib/search/search-bar/search-bar.module.mjs +4 -4
  150. package/esm2022/lib/search/search-results/save-feature-dialog.component.mjs +3 -3
  151. package/esm2022/lib/search/search-results/search-results-add-button.component.mjs +3 -3
  152. package/esm2022/lib/search/search-results/search-results-item.component.mjs +3 -3
  153. package/esm2022/lib/search/search-results/search-results.component.mjs +3 -3
  154. package/esm2022/lib/search/search-results/search-results.module.mjs +4 -4
  155. package/esm2022/lib/search/search-selector/search-selector.component.mjs +3 -3
  156. package/esm2022/lib/search/search-selector/search-selector.module.mjs +4 -4
  157. package/esm2022/lib/search/search-settings/search-settings.component.mjs +3 -3
  158. package/esm2022/lib/search/search-settings/search-settings.module.mjs +4 -4
  159. package/esm2022/lib/search/search.module.mjs +4 -4
  160. package/esm2022/lib/search/shared/search-pointer-summary.directive.mjs +3 -3
  161. package/esm2022/lib/search/shared/search.service.mjs +3 -3
  162. package/esm2022/lib/search/shared/sources/cadastre.mjs +3 -3
  163. package/esm2022/lib/search/shared/sources/coordinates.mjs +6 -6
  164. package/esm2022/lib/search/shared/sources/icherche.mjs +9 -9
  165. package/esm2022/lib/search/shared/sources/ilayer.mjs +6 -6
  166. package/esm2022/lib/search/shared/sources/nominatim.mjs +3 -3
  167. package/esm2022/lib/search/shared/sources/storedqueries.mjs +6 -6
  168. package/esm2022/lib/search/shared/sources/workspace.mjs +3 -3
  169. package/esm2022/lib/style/style-list/style-list.module.mjs +4 -4
  170. package/esm2022/lib/style/style-list/style-list.service.mjs +3 -3
  171. package/esm2022/lib/style/style-modal/drawing/style-modal-drawing.component.mjs +3 -3
  172. package/esm2022/lib/style/style-modal/layer/style-modal-layer.component.mjs +3 -3
  173. package/esm2022/lib/style/style-modal/layer-button/style-modal-layer-button.component.mjs +3 -3
  174. package/esm2022/lib/style/style-service/draw-style.service.mjs +3 -3
  175. package/esm2022/lib/style/style-service/style.service.mjs +3 -3
  176. package/esm2022/lib/style/style.module.mjs +4 -4
  177. package/esm2022/lib/toast/toast.component.mjs +3 -3
  178. package/esm2022/lib/toast/toast.module.mjs +4 -4
  179. package/esm2022/lib/utils/propertyTypeDetector/propertyTypeDetector.service.mjs +3 -3
  180. package/esm2022/lib/wkt/shared/wkt.service.mjs +3 -3
  181. package/esm2022/lib/wkt/wkt.module.mjs +4 -4
  182. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.component.mjs +3 -3
  183. package/esm2022/lib/workspace/confirmation-popup/confirmation-popup.module.mjs +4 -4
  184. package/esm2022/lib/workspace/shared/edition-workspace.service.mjs +3 -3
  185. package/esm2022/lib/workspace/shared/feature-workspace.service.mjs +3 -3
  186. package/esm2022/lib/workspace/shared/wfs-workspace.service.mjs +3 -3
  187. package/esm2022/lib/workspace/shared/wms-workspace.service.mjs +3 -3
  188. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.component.mjs +3 -3
  189. package/esm2022/lib/workspace/widgets/ogc-filter/ogc-filter.module.mjs +4 -4
  190. package/esm2022/lib/workspace/workspace-selector/workspace-selector.directive.mjs +3 -3
  191. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +4 -4
  192. package/esm2022/lib/workspace/workspace-updator/workspace-updator.directive.mjs +3 -3
  193. package/esm2022/lib/workspace/workspace-updator/workspace-updator.module.mjs +4 -4
  194. package/esm2022/lib/workspace/workspace.module.mjs +4 -4
  195. package/fesm2022/igo2-geo.mjs +3662 -3525
  196. package/fesm2022/igo2-geo.mjs.map +1 -1
  197. package/lib/datasource/shared/datasources/wfs-datasource.d.ts +15 -0
  198. package/lib/import-export/import-export/import-export.component.d.ts +22 -14
  199. package/lib/import-export/shared/export.interface.d.ts +10 -3
  200. package/lib/import-export/shared/export.service.d.ts +31 -15
  201. package/lib/import-export/shared/export.type.d.ts +8 -16
  202. package/lib/import-export/shared/export.utils.d.ts +2 -0
  203. package/lib/layer/shared/layers/vector-layer.d.ts +0 -3
  204. package/lib/offline/offline.provider.d.ts +2 -2
  205. package/locale/en.geo.json +8 -3
  206. package/locale/fr.geo.json +8 -3
  207. package/package.json +6 -6
  208. package/src/_index.scss +2 -1
@@ -27,4 +27,4 @@ export class MVTDataSource extends DataSource {
27
27
  // empty
28
28
  }
29
29
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXZ0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9tdnQtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBSWpDLGNBQWM7UUFDdEIsSUFBSSxTQUFTLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IGZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgb2xGb3JtYXRNVlQgZnJvbSAnb2wvZm9ybWF0L01WVCc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3JUaWxlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3JUaWxlJztcblxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBNVlREYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vbXZ0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1WVERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogTVZURGF0YVNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVZlY3RvclRpbGU7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVmVjdG9yVGlsZSB7XG4gICAgbGV0IG12dEZvcm1hdDtcbiAgICBpZiAodGhpcy5vcHRpb25zLmZlYXR1cmVDbGFzcyA9PT0gJ2ZlYXR1cmUnKSB7XG4gICAgICBtdnRGb3JtYXQgPSBuZXcgb2xGb3JtYXRNVlQoeyBmZWF0dXJlQ2xhc3M6IGZlYXR1cmUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG12dEZvcm1hdCA9IG5ldyBvbEZvcm1hdE1WVCgpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9ybWF0ID0gbXZ0Rm9ybWF0O1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VWZWN0b3JUaWxlKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVJZCgpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy51cmwpIHtcbiAgICAgIHJldHVybiB1dWlkKCk7XG4gICAgfVxuICAgIGNvbnN0IGNoYWluID0gJ212dCcgKyB0aGlzLm9wdGlvbnMudXJsO1xuICAgIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXZ0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9tdnQtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5DLE9BQU8sT0FBTyxNQUFNLFlBQVksQ0FBQztBQUNqQyxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxrQkFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBSWpDLGNBQWM7UUFDdEIsSUFBSSxTQUFTLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLFNBQVMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUNoQyxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN2QyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IGZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgb2xGb3JtYXRNVlQgZnJvbSAnb2wvZm9ybWF0L01WVCc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3JUaWxlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3JUaWxlJztcblxuaW1wb3J0IHsgTWQ1IH0gZnJvbSAndHMtbWQ1JztcblxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBNVlREYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vbXZ0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIE1WVERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogTVZURGF0YVNvdXJjZU9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZVZlY3RvclRpbGU7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVmVjdG9yVGlsZSB7XG4gICAgbGV0IG12dEZvcm1hdDtcbiAgICBpZiAodGhpcy5vcHRpb25zLmZlYXR1cmVDbGFzcyA9PT0gJ2ZlYXR1cmUnKSB7XG4gICAgICBtdnRGb3JtYXQgPSBuZXcgb2xGb3JtYXRNVlQoeyBmZWF0dXJlQ2xhc3M6IGZlYXR1cmUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG12dEZvcm1hdCA9IG5ldyBvbEZvcm1hdE1WVCgpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9ybWF0ID0gbXZ0Rm9ybWF0O1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VWZWN0b3JUaWxlKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2VuZXJhdGVJZCgpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy51cmwpIHtcbiAgICAgIHJldHVybiB1dWlkKCk7XG4gICAgfVxuICAgIGNvbnN0IGNoYWluID0gJ212dCcgKyB0aGlzLm9wdGlvbnMudXJsO1xuICAgIHJldHVybiBNZDUuaGFzaFN0cihjaGFpbikgYXMgc3RyaW5nO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=
@@ -11,4 +11,4 @@ export class OSMDataSource extends DataSource {
11
11
  // empty
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9vc20tZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxnREFBZ0QsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9sU291cmNlT1NNIGZyb20gJ29sL3NvdXJjZS9PU00nO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IE9TTURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9vc20tZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgT1NNRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGVjbGFyZSBvcHRpb25zOiBPU01EYXRhU291cmNlT3B0aW9ucztcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlT1NNO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZU9TTSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudXJsKSB7XG4gICAgICB0aGlzLm9wdGlvbnMudXJsID0gJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IG9sU291cmNlT1NNKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3NtLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9vc20tZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxnREFBZ0QsQ0FBQztRQUN0RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG9sU291cmNlT1NNIGZyb20gJ29sL3NvdXJjZS9PU00nO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IE9TTURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9vc20tZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgT1NNRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBkZWNsYXJlIHB1YmxpYyBvcHRpb25zOiBPU01EYXRhU291cmNlT3B0aW9ucztcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sU291cmNlT1NNO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZU9TTSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudXJsKSB7XG4gICAgICB0aGlzLm9wdGlvbnMudXJsID0gJ2h0dHBzOi8vdGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IG9sU291cmNlT1NNKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
@@ -50,4 +50,4 @@ export class TileArcGISRestDataSource extends DataSource {
50
50
  // empty
51
51
  }
52
52
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWFyY2dpc3Jlc3QtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVhcmNnaXNyZXN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxzQkFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkxQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsVUFBVTtJQUl0RCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsSUFDRSxVQUFVLEtBQUssU0FBUztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNqQixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUUzQixLQUFLLE1BQU0sYUFBYSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLFdBQVcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BGLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1RCxVQUFVO2dCQUNSLGlDQUFpQztvQkFDakMsR0FBRztvQkFDSCw4Q0FBOEM7b0JBQzlDLEtBQUs7b0JBQ0wsWUFBWSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxVQUFVLElBQUksVUFBVSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZVRpbGVBcmNHSVNSZXN0IGZyb20gJ29sL3NvdXJjZS9UaWxlQXJjR0lTUmVzdCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnb2wvc291cmNlL1RpbGVBcmNHSVNSZXN0JztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi90aWxlYXJjZ2lzcmVzdC1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlVGlsZUFyY0dJU1Jlc3Q7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVGlsZUFyY0dJU1Jlc3Qge1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VUaWxlQXJjR0lTUmVzdCh0aGlzLm9wdGlvbnMgYXMgT3B0aW9ucyk7XG4gIH1cblxuICBnZXRMZWdlbmQoKTogTGVnZW5kW10ge1xuICAgIGNvbnN0IGxlZ2VuZEluZm8gPSB0aGlzLm9wdGlvbnMubGVnZW5kSW5mbztcbiAgICBjb25zdCBsZWdlbmQgPSBzdXBlci5nZXRMZWdlbmQoKTtcbiAgICBpZiAoXG4gICAgICBsZWdlbmRJbmZvID09PSB1bmRlZmluZWQgfHxcbiAgICAgIHRoaXMub3B0aW9ucy5sYXllciA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICBsZWdlbmQubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBpZiAoIWxlZ2VuZEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGh0bWxTdHJpbmcgPSAnPHRhYmxlPic7XG5cbiAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby5sZWdlbmQpIHtcbiAgICAgIGNvbnN0IHNyYyA9IGAke3RoaXMub3B0aW9ucy51cmx9LyR7bGVnZW5kSW5mby5sYXllcklkfS9pbWFnZXMvJHtsZWdlbmRFbGVtZW50LnVybH1gO1xuICAgICAgY29uc3QgbGFiZWwgPSBsZWdlbmRFbGVtZW50LmxhYmVsLnJlcGxhY2UoJzxOdWxsPicsICdOdWxsJyk7XG4gICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICBzcmMgK1xuICAgICAgICBgXCIgYWx0ID0nJyAvPjwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgbGFiZWwgK1xuICAgICAgICAnPC90ZD48L3RyPic7XG4gICAgfVxuICAgIGh0bWxTdHJpbmcgKz0gJzwvdGFibGU+JztcbiAgICByZXR1cm4gW3sgaHRtbDogaHRtbFN0cmluZyB9XTtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWFyY2dpc3Jlc3QtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3RpbGVhcmNnaXNyZXN0LWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxzQkFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkxQyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsVUFBVTtJQUl0RCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUMzQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsSUFDRSxVQUFVLEtBQUssU0FBUztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUNqQixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUUzQixLQUFLLE1BQU0sYUFBYSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLFdBQVcsYUFBYSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3BGLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM1RCxVQUFVO2dCQUNSLGlDQUFpQztvQkFDakMsR0FBRztvQkFDSCw4Q0FBOEM7b0JBQzlDLEtBQUs7b0JBQ0wsWUFBWSxDQUFDO1FBQ2pCLENBQUM7UUFDRCxVQUFVLElBQUksVUFBVSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZVRpbGVBcmNHSVNSZXN0IGZyb20gJ29sL3NvdXJjZS9UaWxlQXJjR0lTUmVzdCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAnb2wvc291cmNlL1RpbGVBcmNHSVNSZXN0JztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi90aWxlYXJjZ2lzcmVzdC1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBUaWxlQXJjR0lTUmVzdERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sU291cmNlVGlsZUFyY0dJU1Jlc3Q7XG4gIGRlY2xhcmUgcHVibGljIG9wdGlvbnM6IFRpbGVBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVGlsZUFyY0dJU1Jlc3Qge1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VUaWxlQXJjR0lTUmVzdCh0aGlzLm9wdGlvbnMgYXMgT3B0aW9ucyk7XG4gIH1cblxuICBnZXRMZWdlbmQoKTogTGVnZW5kW10ge1xuICAgIGNvbnN0IGxlZ2VuZEluZm8gPSB0aGlzLm9wdGlvbnMubGVnZW5kSW5mbztcbiAgICBjb25zdCBsZWdlbmQgPSBzdXBlci5nZXRMZWdlbmQoKTtcbiAgICBpZiAoXG4gICAgICBsZWdlbmRJbmZvID09PSB1bmRlZmluZWQgfHxcbiAgICAgIHRoaXMub3B0aW9ucy5sYXllciA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICBsZWdlbmQubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBpZiAoIWxlZ2VuZEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbGV0IGh0bWxTdHJpbmcgPSAnPHRhYmxlPic7XG5cbiAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby5sZWdlbmQpIHtcbiAgICAgIGNvbnN0IHNyYyA9IGAke3RoaXMub3B0aW9ucy51cmx9LyR7bGVnZW5kSW5mby5sYXllcklkfS9pbWFnZXMvJHtsZWdlbmRFbGVtZW50LnVybH1gO1xuICAgICAgY29uc3QgbGFiZWwgPSBsZWdlbmRFbGVtZW50LmxhYmVsLnJlcGxhY2UoJzxOdWxsPicsICdOdWxsJyk7XG4gICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICBzcmMgK1xuICAgICAgICBgXCIgYWx0ID0nJyAvPjwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgbGFiZWwgK1xuICAgICAgICAnPC90ZD48L3RyPic7XG4gICAgfVxuICAgIGh0bWxTdHJpbmcgKz0gJzwvdGFibGU+JztcbiAgICByZXR1cm4gW3sgaHRtbDogaHRtbFN0cmluZyB9XTtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuIl19
@@ -14,4 +14,4 @@ export class TileDebugDataSource extends DataSource {
14
14
  // empty
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWRlYnVnLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy90aWxlZGVidWctZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBSXZDLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3ZHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDNUIsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUaWxlRGVidWcgZnJvbSAnb2wvc291cmNlL1RpbGVEZWJ1Zyc7XG5pbXBvcnQgVGlsZUdyaWQgZnJvbSAnb2wvdGlsZWdyaWQvVGlsZUdyaWQnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFRpbGVEZWJ1Z0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi90aWxlZGVidWctZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVGlsZURlYnVnRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGVjbGFyZSBvcHRpb25zOiBUaWxlRGVidWdEYXRhU291cmNlT3B0aW9ucztcbiAgcHVibGljIGRlY2xhcmUgb2w6IFRpbGVEZWJ1ZztcblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogVGlsZURlYnVnIHtcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7IC8vIHRvIGF2b2lkIHRvIGFsdGVyIHRoZSBvcmlnaW5hbCBvcHRpb25zXG4gICAgaWYgKHRoaXMub3B0aW9ucy50aWxlR3JpZCkge1xuICAgICAgZGVsZXRlIGJhc2VPcHRpb25zLnRpbGVHcmlkO1xuICAgICAgYmFzZU9wdGlvbnMudGlsZUdyaWQgPSBuZXcgVGlsZUdyaWQodGhpcy5vcHRpb25zLnRpbGVHcmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUaWxlRGVidWcoYmFzZU9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZWRlYnVnLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy90aWxlZGVidWctZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVMsTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLFFBQVEsTUFBTSxzQkFBc0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVO0lBSXZDLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMseUNBQXlDO1FBQ3ZHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQixPQUFPLFdBQVcsQ0FBQyxRQUFRLENBQUM7WUFDNUIsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELENBQUM7UUFDRCxPQUFPLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUaWxlRGVidWcgZnJvbSAnb2wvc291cmNlL1RpbGVEZWJ1Zyc7XG5pbXBvcnQgVGlsZUdyaWQgZnJvbSAnb2wvdGlsZWdyaWQvVGlsZUdyaWQnO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFRpbGVEZWJ1Z0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi90aWxlZGVidWctZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgVGlsZURlYnVnRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBkZWNsYXJlIHB1YmxpYyBvcHRpb25zOiBUaWxlRGVidWdEYXRhU291cmNlT3B0aW9ucztcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IFRpbGVEZWJ1ZztcblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogVGlsZURlYnVnIHtcbiAgICBjb25zdCBiYXNlT3B0aW9ucyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7IC8vIHRvIGF2b2lkIHRvIGFsdGVyIHRoZSBvcmlnaW5hbCBvcHRpb25zXG4gICAgaWYgKHRoaXMub3B0aW9ucy50aWxlR3JpZCkge1xuICAgICAgZGVsZXRlIGJhc2VPcHRpb25zLnRpbGVHcmlkO1xuICAgICAgYmFzZU9wdGlvbnMudGlsZUdyaWQgPSBuZXcgVGlsZUdyaWQodGhpcy5vcHRpb25zLnRpbGVHcmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBUaWxlRGVidWcoYmFzZU9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=
@@ -53,4 +53,4 @@ export class WebSocketDataSource extends FeatureDataSource {
53
53
  this.ws.close();
54
54
  }
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZWJzb2NrZXQtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBQ2pELEVBQUUsQ0FBWTtJQUdYLGNBQWM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNiLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDbEQsS0FBSyxDQUFDLElBQUksQ0FDRSxDQUFDO1FBRWYsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCwwQkFBMEI7Z0JBQzFCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxLQUFLLENBQUM7WUFDWDtnQkFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCx5QkFBeUI7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCx5QkFBeUI7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSiwyQkFBMkI7SUFDN0IsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dlYnNvY2tldC1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXREYXRhU291cmNlIGV4dGVuZHMgRmVhdHVyZURhdGFTb3VyY2Uge1xuICBwdWJsaWMgd3M6IFdlYlNvY2tldDtcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogV2ViU29ja2V0RGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVmVjdG9yIHtcbiAgICB0aGlzLmNyZWF0ZVdlYlNvY2tldCgpO1xuICAgIHRoaXMub3B0aW9ucy5mb3JtYXQgPSB0aGlzLmdldFNvdXJjZUZvcm1hdEZyb21PcHRpb25zKHRoaXMub3B0aW9ucyk7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZU9sU291cmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdlYlNvY2tldCgpIHtcbiAgICB0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLm9wdGlvbnMudXJsKTtcbiAgICB0aGlzLndzLm9ubWVzc2FnZSA9IHRoaXMub25NZXNzYWdlLmJpbmQodGhpcyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLm9uY2xvc2UpIHtcbiAgICAgIHRoaXMud3Mub25jbG9zZSA9IHRoaXMub25DbG9zZS5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMub25lcnJvcikge1xuICAgICAgdGhpcy53cy5vbmVycm9yID0gdGhpcy5vbkVycm9yLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5vbm9wZW4pIHtcbiAgICAgIHRoaXMud3Mub25vcGVuID0gdGhpcy5vbk9wZW4uYmluZCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBvbk1lc3NhZ2UoZXZlbnQpIHtcbiAgICBjb25zdCBmZWF0dXJlQWRkZWQgPSB0aGlzLm9wdGlvbnMuZm9ybWF0LnJlYWRGZWF0dXJlKFxuICAgICAgZXZlbnQuZGF0YVxuICAgICkgYXMgb2xGZWF0dXJlO1xuXG4gICAgc3dpdGNoICh0aGlzLm9wdGlvbnMub25tZXNzYWdlKSB7XG4gICAgICBjYXNlICd1cGRhdGUnOiB7XG4gICAgICAgIC8vIG9sIGRvbid0IGFkZCBpZiBzYW1lIElEXG4gICAgICAgIGNvbnN0IGZlYXR1cmVUb1JlbW92ZSA9IHRoaXMub2wuZ2V0RmVhdHVyZUJ5SWQoZmVhdHVyZUFkZGVkLmdldElkKCkpO1xuICAgICAgICBpZiAoZmVhdHVyZVRvUmVtb3ZlKSB7XG4gICAgICAgICAgdGhpcy5vbC5yZW1vdmVGZWF0dXJlKGZlYXR1cmVUb1JlbW92ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbC5hZGRGZWF0dXJlKGZlYXR1cmVBZGRlZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5vbC5jbGVhcih0cnVlKTtcbiAgICAgICAgdGhpcy5vbC5hZGRGZWF0dXJlKGZlYXR1cmVBZGRlZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWRkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMub2wuYWRkRmVhdHVyZShmZWF0dXJlQWRkZWQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgLy8gdGhyb3duIG1lc3NhZ2UgdG8gdXNlclxuICB9XG5cbiAgb25FcnJvcigpIHtcbiAgICAvLyB0aHJvd24gbWVzc2FnZSB0byB1c2VyXG4gIH1cblxuICBvbk9wZW4oKSB7XG4gICAgLy8gdGhyb3duIG1lc3NhZ2UgdG8gdXNlciA/XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIHRoaXMud3MuY2xvc2UoKTtcbiAgfVxufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZWJzb2NrZXQtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsaUJBQWlCO0lBQ2pELEVBQUUsQ0FBWTtJQUdYLGNBQWM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsT0FBTyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBSztRQUNiLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FDbEQsS0FBSyxDQUFDLElBQUksQ0FDRSxDQUFDO1FBRWYsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQy9CLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDZCwwQkFBMEI7Z0JBQzFCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRSxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDekMsQ0FBQztnQkFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsS0FBSyxLQUFLLENBQUM7WUFDWDtnQkFDRSxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCx5QkFBeUI7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCx5QkFBeUI7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSiwyQkFBMkI7SUFDN0IsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IEZlYXR1cmVEYXRhU291cmNlIH0gZnJvbSAnLi9mZWF0dXJlLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV2ViU29ja2V0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dlYnNvY2tldC1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXREYXRhU291cmNlIGV4dGVuZHMgRmVhdHVyZURhdGFTb3VyY2Uge1xuICBwdWJsaWMgd3M6IFdlYlNvY2tldDtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogV2ViU29ja2V0RGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlVmVjdG9yIHtcbiAgICB0aGlzLmNyZWF0ZVdlYlNvY2tldCgpO1xuICAgIHRoaXMub3B0aW9ucy5mb3JtYXQgPSB0aGlzLmdldFNvdXJjZUZvcm1hdEZyb21PcHRpb25zKHRoaXMub3B0aW9ucyk7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZU9sU291cmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdlYlNvY2tldCgpIHtcbiAgICB0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLm9wdGlvbnMudXJsKTtcbiAgICB0aGlzLndzLm9ubWVzc2FnZSA9IHRoaXMub25NZXNzYWdlLmJpbmQodGhpcyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLm9uY2xvc2UpIHtcbiAgICAgIHRoaXMud3Mub25jbG9zZSA9IHRoaXMub25DbG9zZS5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMub25lcnJvcikge1xuICAgICAgdGhpcy53cy5vbmVycm9yID0gdGhpcy5vbkVycm9yLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5vbm9wZW4pIHtcbiAgICAgIHRoaXMud3Mub25vcGVuID0gdGhpcy5vbk9wZW4uYmluZCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBvbk1lc3NhZ2UoZXZlbnQpIHtcbiAgICBjb25zdCBmZWF0dXJlQWRkZWQgPSB0aGlzLm9wdGlvbnMuZm9ybWF0LnJlYWRGZWF0dXJlKFxuICAgICAgZXZlbnQuZGF0YVxuICAgICkgYXMgb2xGZWF0dXJlO1xuXG4gICAgc3dpdGNoICh0aGlzLm9wdGlvbnMub25tZXNzYWdlKSB7XG4gICAgICBjYXNlICd1cGRhdGUnOiB7XG4gICAgICAgIC8vIG9sIGRvbid0IGFkZCBpZiBzYW1lIElEXG4gICAgICAgIGNvbnN0IGZlYXR1cmVUb1JlbW92ZSA9IHRoaXMub2wuZ2V0RmVhdHVyZUJ5SWQoZmVhdHVyZUFkZGVkLmdldElkKCkpO1xuICAgICAgICBpZiAoZmVhdHVyZVRvUmVtb3ZlKSB7XG4gICAgICAgICAgdGhpcy5vbC5yZW1vdmVGZWF0dXJlKGZlYXR1cmVUb1JlbW92ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbC5hZGRGZWF0dXJlKGZlYXR1cmVBZGRlZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgdGhpcy5vbC5jbGVhcih0cnVlKTtcbiAgICAgICAgdGhpcy5vbC5hZGRGZWF0dXJlKGZlYXR1cmVBZGRlZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWRkJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMub2wuYWRkRmVhdHVyZShmZWF0dXJlQWRkZWQpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgLy8gdGhyb3duIG1lc3NhZ2UgdG8gdXNlclxuICB9XG5cbiAgb25FcnJvcigpIHtcbiAgICAvLyB0aHJvd24gbWVzc2FnZSB0byB1c2VyXG4gIH1cblxuICBvbk9wZW4oKSB7XG4gICAgLy8gdGhyb3duIG1lc3NhZ2UgdG8gdXNlciA/XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIHRoaXMud3MuY2xvc2UoKTtcbiAgfVxufVxuIl19
@@ -1,8 +1,11 @@
1
1
  import * as OlLoadingStrategy from 'ol/loadingstrategy';
2
+ import * as OlProj from 'ol/proj';
3
+ import olProjection from 'ol/proj/Projection';
2
4
  import olSourceVector from 'ol/source/Vector';
5
+ import { catchError, map } from 'rxjs';
3
6
  import { OgcFilterWriter } from '../../../filter/shared/ogc-filter';
4
7
  import { DataSource } from './datasource';
5
- import { checkWfsParams, defaultFieldNameGeometry, getFormatFromOptions } from './wms-wfs.utils';
8
+ import { buildUrl, checkWfsParams, defaultFieldNameGeometry, defaultMaxFeatures, getFormatFromOptions } from './wms-wfs.utils';
6
9
  export class WFSDataSource extends DataSource {
7
10
  options;
8
11
  wfsService;
@@ -62,5 +65,66 @@ export class WFSDataSource extends DataSource {
62
65
  onUnwatch() {
63
66
  // empty
64
67
  }
68
+ fetchFeatures({ extent, projection, httpClient }) {
69
+ const paramsWFS = this.options.paramsWFS;
70
+ const wfsProj = paramsWFS.srsName
71
+ ? new olProjection({ code: paramsWFS.srsName })
72
+ : projection;
73
+ const currentExtent = extent
74
+ ? OlProj.transformExtent(extent, projection, wfsProj)
75
+ : undefined;
76
+ const ogcFilters = this.ogcFilters;
77
+ paramsWFS.srsName = paramsWFS.srsName || projection.getCode();
78
+ let url = buildUrl(this.options, currentExtent, wfsProj, ogcFilters);
79
+ // Exportation want to fetch without extent/bbox restrictions
80
+ if (!extent && url.includes('bbox')) {
81
+ const [baseUrl, params] = url.split('?');
82
+ const paramSegments = params.split('&');
83
+ const paramsWithoutBbox = paramSegments.filter((segment) => !segment.includes('bbox'));
84
+ url = `${baseUrl}?${paramsWithoutBbox.join('&')}`;
85
+ }
86
+ let startIndex = 0;
87
+ if (paramsWFS.version === '2.0.0' &&
88
+ paramsWFS.maxFeatures > defaultMaxFeatures) {
89
+ const nbOfFeature = 1000;
90
+ while (startIndex < paramsWFS.maxFeatures) {
91
+ let alteredUrl = url.replace('count=' + paramsWFS.maxFeatures, 'count=' + nbOfFeature);
92
+ alteredUrl = alteredUrl.replace('startIndex=0', '0');
93
+ alteredUrl += '&startIndex=' + startIndex;
94
+ alteredUrl.replace(/&&/g, '&');
95
+ return this._fetchFeatures(wfsProj, alteredUrl, {
96
+ extent: currentExtent,
97
+ projection,
98
+ httpClient
99
+ }).pipe(map((res) => {
100
+ startIndex += nbOfFeature;
101
+ return res;
102
+ }));
103
+ }
104
+ }
105
+ else {
106
+ return this._fetchFeatures(wfsProj, url, {
107
+ extent: currentExtent,
108
+ projection,
109
+ httpClient
110
+ });
111
+ }
112
+ }
113
+ _fetchFeatures(featureProjection, url, { extent, projection, httpClient }) {
114
+ return httpClient.get(url, { responseType: 'text' }).pipe(map((response) => {
115
+ return this._parseXmlFeatures(response, projection, featureProjection);
116
+ }), catchError((e) => {
117
+ if (extent)
118
+ this.ol.removeLoadedExtent(extent);
119
+ throw e;
120
+ }));
121
+ }
122
+ _parseXmlFeatures(xml, dataProjection, featureProjection) {
123
+ const features = this.ol.getFormat().readFeatures(xml, {
124
+ dataProjection,
125
+ featureProjection
126
+ });
127
+ return features;
128
+ }
65
129
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssaUJBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7QUFFekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBV2xDO0lBQ0c7SUFDRjtJQVZWLElBQUksVUFBVSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxPQUEwQyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDdEUsQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQTBDLENBQUMsVUFBVSxDQUFDO0lBQ3JFLENBQUM7SUFFRCxZQUNTLE9BQTZCLEVBQzFCLFVBQXNCLEVBQ3hCLGVBQWlDO1FBRXpDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFKL0IsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFJekMsTUFBTSxVQUFVLEdBQUksSUFBSSxDQUFDLE9BQTBDO2FBQ2hFLFVBQVUsQ0FBQztRQUNkLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGlCQUFpQixJQUFJLHdCQUF3QixDQUFDO1FBQ3ZFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQTBDLENBQUMsVUFBVTtZQUN6RCxlQUFlLENBQUMsOEJBQThCLENBQzVDLFVBQVUsRUFDVixpQkFBaUIsQ0FDbEIsQ0FBQztRQUNKLElBQ0csSUFBSSxDQUFDLE9BQTBDLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDbEUsSUFBSSxDQUFDLE9BQTBDLENBQUMsVUFBVSxDQUFDLFFBQVE7WUFDcEUsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFDbEUsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxJQUFJLFVBQVUsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUM1QixVQUFVLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDN0IsVUFBVSxDQUFDLFlBQVksQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxZQUFZLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FDZixJQUFJLENBQUMsT0FBMEMsQ0FBQyxVQUFVLEVBQzNELElBQUksQ0FDTCxDQUFDO0lBQ0osQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQUM7WUFDdEMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDMUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLElBQUk7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUE2QixFQUFFLFlBQVksR0FBRyxLQUFLO1FBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5cbmltcG9ydCAqIGFzIE9sTG9hZGluZ1N0cmF0ZWd5IGZyb20gJ29sL2xvYWRpbmdzdHJhdGVneSc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQge1xuICBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMsXG4gIE9nY0ZpbHRlcnNPcHRpb25zXG59IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdGU1NlcnZpY2UgfSBmcm9tICcuL3dmcy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGNoZWNrV2ZzUGFyYW1zLFxuICBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnksXG4gIGdldEZvcm1hdEZyb21PcHRpb25zXG59IGZyb20gJy4vd21zLXdmcy51dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBXRlNEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVZlY3RvcjtcblxuICBzZXQgb2djRmlsdGVycyh2YWx1ZTogT2djRmlsdGVyc09wdGlvbnMpIHtcbiAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9IHZhbHVlO1xuICB9XG4gIGdldCBvZ2NGaWx0ZXJzKCk6IE9nY0ZpbHRlcnNPcHRpb25zIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgcHJvdGVjdGVkIHdmc1NlcnZpY2U6IFdGU1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7XG4gICAgc3VwZXIoY2hlY2tXZnNQYXJhbXMob3B0aW9ucywgJ3dmcycpKTtcblxuICAgIGNvbnN0IG9nY0ZpbHRlcnMgPSAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IGZpZWxkTmFtZUdlb21ldHJ5ID1cbiAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnkgfHwgZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcbiAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICBvZ2NGaWx0ZXJXcml0ZXIuZGVmaW5lT2djRmlsdGVyc0RlZmF1bHRPcHRpb25zKFxuICAgICAgICBvZ2NGaWx0ZXJzLFxuICAgICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICAgKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycy5lbmFibGVkICYmXG4gICAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycy5lZGl0YWJsZSAmJlxuICAgICAgKG9wdGlvbnMuc291cmNlRmllbGRzIHx8IFtdKS5maWx0ZXIoKHNmKSA9PiAhc2YudmFsdWVzKS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLndmc1NlcnZpY2UuZ2V0U291cmNlRmllbGRzRnJvbVdGUyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmIChvZ2NGaWx0ZXJzPy5wdXNoQnV0dG9ucykge1xuICAgICAgb2djRmlsdGVycy5wdXNoQnV0dG9ucy5zZWxlY3RvclR5cGUgPSAncHVzaEJ1dHRvbic7XG4gICAgfVxuICAgIGlmIChvZ2NGaWx0ZXJzPy5jaGVja2JveGVzKSB7XG4gICAgICBvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICB9XG4gICAgaWYgKG9nY0ZpbHRlcnM/LnJhZGlvQnV0dG9ucykge1xuICAgICAgb2djRmlsdGVycy5yYWRpb0J1dHRvbnMuc2VsZWN0b3JUeXBlID0gJ3JhZGlvQnV0dG9uJztcbiAgICB9XG4gICAgaWYgKG9nY0ZpbHRlcnM/LnNlbGVjdCkge1xuICAgICAgb2djRmlsdGVycy5zZWxlY3Quc2VsZWN0b3JUeXBlID0gJ3NlbGVjdCc7XG4gICAgfVxuICAgIGlmIChvZ2NGaWx0ZXJzPy5hdXRvY29tcGxldGUpIHtcbiAgICAgIG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgIH1cblxuICAgIHRoaXMuc2V0T2djRmlsdGVycyhcbiAgICAgICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VWZWN0b3Ige1xuICAgIGNvbnN0IHZlY3RvclNvdXJjZSA9IG5ldyBvbFNvdXJjZVZlY3Rvcih7XG4gICAgICBmb3JtYXQ6IGdldEZvcm1hdEZyb21PcHRpb25zKHRoaXMub3B0aW9ucyksXG4gICAgICBzdHJhdGVneTogT2xMb2FkaW5nU3RyYXRlZ3kuYmJveFxuICAgIH0pO1xuICAgIHJldHVybiB2ZWN0b3JTb3VyY2U7XG4gIH1cblxuICBzZXRPZ2NGaWx0ZXJzKG9nY0ZpbHRlcnM6IE9nY0ZpbHRlcnNPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMub2djRmlsdGVycyA9IG9nY0ZpbHRlcnM7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy5vbC5ub3RpZnkoJ29nY0ZpbHRlcnMnLCB0aGlzLm9nY0ZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93ZnMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEtBQUssaUJBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUNMLFFBQVEsRUFDUixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDckIsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QixNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFXbEM7SUFDRztJQUNGO0lBVlYsSUFBSSxVQUFVLENBQUMsS0FBd0I7UUFDcEMsSUFBSSxDQUFDLE9BQTBDLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1osT0FBUSxJQUFJLENBQUMsT0FBMEMsQ0FBQyxVQUFVLENBQUM7SUFDckUsQ0FBQztJQUVELFlBQ1MsT0FBNkIsRUFDMUIsVUFBc0IsRUFDeEIsZUFBaUM7UUFFekMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUovQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FB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QyxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksTUFBTTtnQkFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsR0FBVyxFQUNYLGNBQTRCLEVBQzVCLGlCQUErQjtRQUUvQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDckQsY0FBYztZQUNkLGlCQUFpQjtTQUNsQixDQUE0QixDQUFDO1FBQzlCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnQGlnbzIvYXV0aCc7XG5cbmltcG9ydCBPbEZlYXR1cmUgZnJvbSAnb2wvRmVhdHVyZSc7XG5pbXBvcnQgeyBFeHRlbnQgfSBmcm9tICdvbC9leHRlbnQnO1xuaW1wb3J0IHR5cGUgeyBkZWZhdWx0IGFzIE9sR2VvbWV0cnkgfSBmcm9tICdvbC9nZW9tL0dlb21ldHJ5JztcbmltcG9ydCAqIGFzIE9sTG9hZGluZ1N0cmF0ZWd5IGZyb20gJ29sL2xvYWRpbmdzdHJhdGVneSc7XG5pbXBvcnQgKiBhcyBPbFByb2ogZnJvbSAnb2wvcHJvaic7XG5pbXBvcnQgb2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPZ2NGaWx0ZXJXcml0ZXIgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXInO1xuaW1wb3J0IHtcbiAgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zLFxuICBPZ2NGaWx0ZXJzT3B0aW9uc1xufSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvc2hhcmVkL29nYy1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNTZXJ2aWNlIH0gZnJvbSAnLi93ZnMuc2VydmljZSc7XG5pbXBvcnQge1xuICBidWlsZFVybCxcbiAgY2hlY2tXZnNQYXJhbXMsXG4gIGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeSxcbiAgZGVmYXVsdE1heEZlYXR1cmVzLFxuICBnZXRGb3JtYXRGcm9tT3B0aW9uc1xufSBmcm9tICcuL3dtcy13ZnMudXRpbHMnO1xuXG5pbnRlcmZhY2UgRmV0Y2hGZWF0dXJlT3B0aW9ucyB7XG4gIGV4dGVudDogRXh0ZW50O1xuICBwcm9qZWN0aW9uOiBvbFByb2plY3Rpb247XG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG59XG5cbmV4cG9ydCBjbGFzcyBXRlNEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZVZlY3RvcjtcblxuICBzZXQgb2djRmlsdGVycyh2YWx1ZTogT2djRmlsdGVyc09wdGlvbnMpIHtcbiAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9IHZhbHVlO1xuICB9XG4gIGdldCBvZ2NGaWx0ZXJzKCk6IE9nY0ZpbHRlcnNPcHRpb25zIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMsXG4gICAgcHJvdGVjdGVkIHdmc1NlcnZpY2U6IFdGU1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoSW50ZXJjZXB0b3I/OiBBdXRoSW50ZXJjZXB0b3JcbiAgKSB7XG4gICAgc3VwZXIoY2hlY2tXZnNQYXJhbXMob3B0aW9ucywgJ3dmcycpKTtcblxuICAgIGNvbnN0IG9nY0ZpbHRlcnMgPSAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IGZpZWxkTmFtZUdlb21ldHJ5ID1cbiAgICAgIHRoaXMub3B0aW9ucy5wYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnkgfHwgZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcbiAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICBvZ2NGaWx0ZXJXcml0ZXIuZGVmaW5lT2djRmlsdGVyc0RlZmF1bHRPcHRpb25zKFxuICAgICAgICBvZ2NGaWx0ZXJzLFxuICAgICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICAgKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycy5lbmFibGVkICYmXG4gICAgICAodGhpcy5vcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycy5lZGl0YWJsZSAmJlxuICAgICAgKG9wdGlvbnMuc291cmNlRmllbGRzIHx8IFtdKS5maWx0ZXIoKHNmKSA9PiAhc2YudmFsdWVzKS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLndmc1NlcnZpY2UuZ2V0U291cmNlRmllbGRzRnJvbVdGUyh0aGlzLm9wdGlvbnMpO1xuICAgIH1cblxuICAgIGlmIChvZ2NGaWx0ZXJzPy5wdXNoQnV0dG9ucykge1xuICAgICAgb2djRmlsdGVycy5wdXNoQnV0dG9ucy5zZWxlY3RvclR5cGUgPSAncHVzaEJ1dHRvbic7XG4gICAgfVxuICAgIGlmIChvZ2NGaWx0ZXJzPy5jaGVja2JveGVzKSB7XG4gICAgICBvZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICB9XG4gICAgaWYgKG9nY0ZpbHRlcnM/LnJhZGlvQnV0dG9ucykge1xuICAgICAgb2djRmlsdGVycy5yYWRpb0J1dHRvbnMuc2VsZWN0b3JUeXBlID0gJ3JhZGlvQnV0dG9uJztcbiAgICB9XG4gICAgaWYgKG9nY0ZpbHRlcnM/LnNlbGVjdCkge1xuICAgICAgb2djRmlsdGVycy5zZWxlY3Quc2VsZWN0b3JUeXBlID0gJ3NlbGVjdCc7XG4gICAgfVxuICAgIGlmIChvZ2NGaWx0ZXJzPy5hdXRvY29tcGxldGUpIHtcbiAgICAgIG9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgIH1cblxuICAgIHRoaXMuc2V0T2djRmlsdGVycyhcbiAgICAgICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzLFxuICAgICAgdHJ1ZVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VWZWN0b3Ige1xuICAgIGNvbnN0IHZlY3RvclNvdXJjZSA9IG5ldyBvbFNvdXJjZVZlY3Rvcih7XG4gICAgICBmb3JtYXQ6IGdldEZvcm1hdEZyb21PcHRpb25zKHRoaXMub3B0aW9ucyksXG4gICAgICBzdHJhdGVneTogT2xMb2FkaW5nU3RyYXRlZ3kuYmJveFxuICAgIH0pO1xuICAgIHJldHVybiB2ZWN0b3JTb3VyY2U7XG4gIH1cblxuICBzZXRPZ2NGaWx0ZXJzKG9nY0ZpbHRlcnM6IE9nY0ZpbHRlcnNPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMub2djRmlsdGVycyA9IG9nY0ZpbHRlcnM7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy5vbC5ub3RpZnkoJ29nY0ZpbHRlcnMnLCB0aGlzLm9nY0ZpbHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxuXG4gIGZldGNoRmVhdHVyZXMoe1xuICAgIGV4dGVudCxcbiAgICBwcm9qZWN0aW9uLFxuICAgIGh0dHBDbGllbnRcbiAgfTogRmV0Y2hGZWF0dXJlT3B0aW9ucyk6IE9ic2VydmFibGU8T2xGZWF0dXJlPE9sR2VvbWV0cnk+W10+IHtcbiAgICBjb25zdCBwYXJhbXNXRlMgPSB0aGlzLm9wdGlvbnMucGFyYW1zV0ZTO1xuICAgIGNvbnN0IHdmc1Byb2ogPSBwYXJhbXNXRlMuc3JzTmFtZVxuICAgICAgPyBuZXcgb2xQcm9qZWN0aW9uKHsgY29kZTogcGFyYW1zV0ZTLnNyc05hbWUgfSlcbiAgICAgIDogcHJvamVjdGlvbjtcblxuICAgIGNvbnN0IGN1cnJlbnRFeHRlbnQgPSBleHRlbnRcbiAgICAgID8gT2xQcm9qLnRyYW5zZm9ybUV4dGVudChleHRlbnQsIHByb2plY3Rpb24sIHdmc1Byb2opXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBvZ2NGaWx0ZXJzID0gdGhpcy5vZ2NGaWx0ZXJzO1xuXG4gICAgcGFyYW1zV0ZTLnNyc05hbWUgPSBwYXJhbXNXRlMuc3JzTmFtZSB8fCBwcm9qZWN0aW9uLmdldENvZGUoKTtcbiAgICBsZXQgdXJsID0gYnVpbGRVcmwodGhpcy5vcHRpb25zLCBjdXJyZW50RXh0ZW50LCB3ZnNQcm9qLCBvZ2NGaWx0ZXJzKTtcblxuICAgIC8vIEV4cG9ydGF0aW9uIHdhbnQgdG8gZmV0Y2ggd2l0aG91dCBleHRlbnQvYmJveCByZXN0cmljdGlvbnNcbiAgICBpZiAoIWV4dGVudCAmJiB1cmwuaW5jbHVkZXMoJ2Jib3gnKSkge1xuICAgICAgY29uc3QgW2Jhc2VVcmwsIHBhcmFtc10gPSB1cmwuc3BsaXQoJz8nKTtcbiAgICAgIGNvbnN0IHBhcmFtU2VnbWVudHMgPSBwYXJhbXMuc3BsaXQoJyYnKTtcbiAgICAgIGNvbnN0IHBhcmFtc1dpdGhvdXRCYm94ID0gcGFyYW1TZWdtZW50cy5maWx0ZXIoXG4gICAgICAgIChzZWdtZW50KSA9PiAhc2VnbWVudC5pbmNsdWRlcygnYmJveCcpXG4gICAgICApO1xuICAgICAgdXJsID0gYCR7YmFzZVVybH0/JHtwYXJhbXNXaXRob3V0QmJveC5qb2luKCcmJyl9YDtcbiAgICB9XG5cbiAgICBsZXQgc3RhcnRJbmRleCA9IDA7XG4gICAgaWYgKFxuICAgICAgcGFyYW1zV0ZTLnZlcnNpb24gPT09ICcyLjAuMCcgJiZcbiAgICAgIHBhcmFtc1dGUy5tYXhGZWF0dXJlcyA+IGRlZmF1bHRNYXhGZWF0dXJlc1xuICAgICkge1xuICAgICAgY29uc3QgbmJPZkZlYXR1cmUgPSAxMDAwO1xuICAgICAgd2hpbGUgKHN0YXJ0SW5kZXggPCBwYXJhbXNXRlMubWF4RmVhdHVyZXMpIHtcbiAgICAgICAgbGV0IGFsdGVyZWRVcmwgPSB1cmwucmVwbGFjZShcbiAgICAgICAgICAnY291bnQ9JyArIHBhcmFtc1dGUy5tYXhGZWF0dXJlcyxcbiAgICAgICAgICAnY291bnQ9JyArIG5iT2ZGZWF0dXJlXG4gICAgICAgICk7XG4gICAgICAgIGFsdGVyZWRVcmwgPSBhbHRlcmVkVXJsLnJlcGxhY2UoJ3N0YXJ0SW5kZXg9MCcsICcwJyk7XG4gICAgICAgIGFsdGVyZWRVcmwgKz0gJyZzdGFydEluZGV4PScgKyBzdGFydEluZGV4O1xuICAgICAgICBhbHRlcmVkVXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZldGNoRmVhdHVyZXMod2ZzUHJvaiwgYWx0ZXJlZFVybCwge1xuICAgICAgICAgIGV4dGVudDogY3VycmVudEV4dGVudCxcbiAgICAgICAgICBwcm9qZWN0aW9uLFxuICAgICAgICAgIGh0dHBDbGllbnRcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgc3RhcnRJbmRleCArPSBuYk9mRmVhdHVyZTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZldGNoRmVhdHVyZXMod2ZzUHJvaiwgdXJsLCB7XG4gICAgICAgIGV4dGVudDogY3VycmVudEV4dGVudCxcbiAgICAgICAgcHJvamVjdGlvbixcbiAgICAgICAgaHR0cENsaWVudFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZmV0Y2hGZWF0dXJlcyhcbiAgICBmZWF0dXJlUHJvamVjdGlvbjogb2xQcm9qZWN0aW9uLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHsgZXh0ZW50LCBwcm9qZWN0aW9uLCBodHRwQ2xpZW50IH06IEZldGNoRmVhdHVyZU9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxPbEZlYXR1cmU8T2xHZW9tZXRyeT5bXT4ge1xuICAgIHJldHVybiBodHRwQ2xpZW50LmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhcnNlWG1sRmVhdHVyZXMocmVzcG9uc2UsIHByb2plY3Rpb24sIGZlYXR1cmVQcm9qZWN0aW9uKTtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICBpZiAoZXh0ZW50KSB0aGlzLm9sLnJlbW92ZUxvYWRlZEV4dGVudChleHRlbnQpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyc2VYbWxGZWF0dXJlcyhcbiAgICB4bWw6IHN0cmluZyxcbiAgICBkYXRhUHJvamVjdGlvbjogb2xQcm9qZWN0aW9uLFxuICAgIGZlYXR1cmVQcm9qZWN0aW9uOiBvbFByb2plY3Rpb25cbiAgKTogT2xGZWF0dXJlPE9sR2VvbWV0cnk+W10ge1xuICAgIGNvbnN0IGZlYXR1cmVzID0gdGhpcy5vbC5nZXRGb3JtYXQoKS5yZWFkRmVhdHVyZXMoeG1sLCB7XG4gICAgICBkYXRhUHJvamVjdGlvbixcbiAgICAgIGZlYXR1cmVQcm9qZWN0aW9uXG4gICAgfSkgYXMgT2xGZWF0dXJlPE9sR2VvbWV0cnk+W107XG4gICAgcmV0dXJuIGZlYXR1cmVzO1xuICB9XG59XG4iXX0=
@@ -158,10 +158,10 @@ export class WFSService extends DataService {
158
158
  });
159
159
  return sourceFields;
160
160
  }
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WFSService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
162
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WFSService, providedIn: 'root' });
161
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
162
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, providedIn: 'root' });
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: WFSService, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WFSService, decorators: [{
165
165
  type: Injectable,
166
166
  args: [{
167
167
  providedIn: 'root'
@@ -217,4 +217,4 @@ export class WMSDataSource extends DataSource {
217
217
  // empty
218
218
  }
219
219
  }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7QUFVekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBdUNsQztJQUNHO0lBckNaLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDMUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsZUFBZTtZQUN2QyxDQUFD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QUMsR0FBRyxDQUFDO1lBQ2xELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEdBQUcsT0FBTyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssRUFBRTtnQkFDL0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzVDLFlBQVksRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLEtBQWdCO2FBQ2xFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xTb3VyY2VJbWFnZVdNUyBmcm9tICdvbC9zb3VyY2UvSW1hZ2VXTVMnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7XG4gIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgT2djRmlsdGVyc09wdGlvbnNcbn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaW1lRmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvdGltZS1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sZWdlbmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFF1ZXJ5SHRtbFRhcmdldCB9IGZyb20gJy4uLy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5lbnVtcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IExlZ2VuZCB9IGZyb20gJy4vZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV0ZTU2VydmljZSB9IGZyb20gJy4vd2ZzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2tXZnNQYXJhbXMsXG4gIGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeSxcbiAgZm9ybWF0V0ZTUXVlcnlTdHJpbmdcbn0gZnJvbSAnLi93bXMtd2ZzLnV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UgZXh0ZW5kcyBXTVNEYXRhU291cmNlIHtcbiAgb3B0aW9uczogVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgdGltZUZpbHRlciQ6IEJlaGF2aW9yU3ViamVjdDxUaW1lRmlsdGVyT3B0aW9ucz47XG4gIHNldFRpbWVGaWx0ZXIob2djRmlsdGVyczogVGltZUZpbHRlck9wdGlvbnMsIHRyaWdnZXJFdmVudD86IGJvb2xlYW4pO1xuICBmaWx0ZXJCeURhdGUoZGF0ZTogRGF0ZSB8IFtEYXRlLCBEYXRlXSk7XG4gIGZpbHRlckJ5WWVhcih5ZWFyOiBzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddKTtcbn1cblxuZXhwb3J0IGNsYXNzIFdNU0RhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlSW1hZ2VXTVM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgc2V0IG9nY0ZpbHRlcnModmFsdWU6IE9nY0ZpbHRlcnNPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgb2djRmlsdGVycygpOiBPZ2NGaWx0ZXJzT3B0aW9ucyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzO1xuICB9XG5cbiAgc2V0IHRpbWVGaWx0ZXIodmFsdWU6IFRpbWVGaWx0ZXJPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS50aW1lRmlsdGVyID0gdmFsdWU7XG4gIH1cbiAgZ2V0IHRpbWVGaWx0ZXIoKTogVGltZUZpbHRlck9wdGlvbnMge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLnRpbWVGaWx0ZXI7XG4gIH1cbiAgcmVhZG9ubHkgdGltZUZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBwcm90ZWN0ZWQgd2ZzU2VydmljZTogV0ZTU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICBjb25zdCBzb3VyY2VQYXJhbXM6IGFueSA9IG9wdGlvbnMucGFyYW1zO1xuXG4gICAgY29uc3QgZHBpID0gc291cmNlUGFyYW1zLkRQSSB8fCA5NjtcbiAgICBzb3VyY2VQYXJhbXMuRFBJID0gZHBpO1xuICAgIHNvdXJjZVBhcmFtcy5NQVBfUkVTT0xVVElPTiA9IGRwaTtcbiAgICBzb3VyY2VQYXJhbXMuRk9STUFUX09QVElPTlMgPSAnZHBpOicgKyBkcGk7XG5cbiAgICBpZiAob3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgJiYgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgPiAwKSB7XG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSwgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgKiAxMDAwKTsgLy8gQ29udmVydCBzZWNvbmRzIHRvIE1TXG4gICAgfVxuXG4gICAgbGV0IGZpZWxkTmFtZUdlb21ldHJ5ID0gZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgLy8gIyMjIyAgIFNUQVJUIGlmIHBhcmFtc1dGU1xuICAgIGlmIChvcHRpb25zLnBhcmFtc1dGUykge1xuICAgICAgY29uc3Qgd2ZzQ2hlY2t1cCA9IGNoZWNrV2ZzUGFyYW1zKG9wdGlvbnMsICd3bXMnKTtcbiAgICAgIE9iamVjdFV0aWxzLm1lcmdlRGVlcChvcHRpb25zLnBhcmFtc1dGUywgd2ZzQ2hlY2t1cC5wYXJhbXNXRlMpO1xuXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgICAgIG9wdGlvbnMucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgICBvcHRpb25zLmRvd25sb2FkID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5kb3dubG9hZCwge1xuICAgICAgICBkeW5hbWljVXJsOiB0aGlzLmJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhvcHRpb25zKVxuICAgICAgfSk7XG4gICAgfSAvLyAgIyMjIyAgIEVORCAgaWYgcGFyYW1zV0ZTXG5cbiAgICBpZiAoIW9wdGlvbnMuc291cmNlRmllbGRzIHx8IG9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlRmllbGQpID0+IHtcbiAgICAgICAgc291cmNlRmllbGQuYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhc1xuICAgICAgICAgID8gc291cmNlRmllbGQuYWxpYXNcbiAgICAgICAgICA6IHNvdXJjZUZpZWxkLm5hbWU7XG4gICAgICAgIC8vIHRvIGFsbG93IG9ubHkgYSBsaXN0IG9mIHNvdXJjZWZpZWxkIHdpdGggbmFtZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpbml0T2djRmlsdGVycyA9IChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcblxuICAgIGlmICghaW5pdE9nY0ZpbHRlcnMpIHtcbiAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICAgIG9nY0ZpbHRlcldyaXRlci5kZWZpbmVPZ2NGaWx0ZXJzRGVmYXVsdE9wdGlvbnMoXG4gICAgICAgICAgaW5pdE9nY0ZpbHRlcnMsXG4gICAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgICAgJ3dtcydcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID1cbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcyB8fFxuICAgICAgICBpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuc2VsZWN0IHx8XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmF1dG9jb21wbGV0ZVxuICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICA6IHRydWU7XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzICYmIGluaXRPZ2NGaWx0ZXJzLmZpbHRlcnMpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRHVyaW5nID0gaW5pdE9nY0ZpbHRlcnMuZmlsdGVycyBhcyBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zO1xuICAgICAgICBpZiAoZmlsdGVyRHVyaW5nLmNhbGVuZGFyTW9kZVllYXIpIHtcbiAgICAgICAgICBpbml0T2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdwdXNoQnV0dG9uJztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5jaGVja2JveGVzKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucmFkaW9CdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdyYWRpb0J1dHRvbic7XG4gICAgICB9XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuc2VsZWN0KSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnNlbGVjdC5zZWxlY3RvclR5cGUgPSAnc2VsZWN0JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNvdXJjZVBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKS5sZW5ndGggPiAxICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZFxuICAgICkge1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnQkUgQ0FSRUZVTEwsIFlPVVIgV01TIExBWUVSUyAoJyArXG4gICAgICAgICAgc291cmNlUGFyYW1zLkxBWUVSUyArXG4gICAgICAgICAgJykgTVVTVCBTSEFSRSBUSEUgU0FNRSBGSUVMRFMgVE8gQUxMT1cgb2djRmlsdGVycyBUTyBXT1JLICEhICdcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygnKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMucGFyYW1zV0ZTICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZWRpdGFibGUgJiZcbiAgICAgIChvcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXSkuZmlsdGVyKChzZikgPT4gIXNmLnZhbHVlcykubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy53ZnNTZXJ2aWNlLmdldFNvdXJjZUZpZWxkc0Zyb21XRlMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUXVlcnlTdHJpbmcgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICk7XG4gICAgc291cmNlUGFyYW1zLkZJTFRFUiA9IGZpbHRlclF1ZXJ5U3RyaW5nO1xuICAgIHRoaXMub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBzb3VyY2VQYXJhbXMuRklMVEVSIH0pO1xuICAgIHRoaXMuc2V0T2djRmlsdGVycyhpbml0T2djRmlsdGVycywgdHJ1ZSk7XG5cbiAgICBjb25zdCB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgIG9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICBpZiAoXG4gICAgICB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zPy50aW1lRmlsdGVyYWJsZSAmJlxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlclxuICAgICkge1xuICAgICAgdGhpcy5zZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMudGltZUZpbHRlciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLm9sLnVwZGF0ZVBhcmFtcyh7IGlnb1JlZnJlc2g6IE1hdGgucmFuZG9tKCkgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKTtcbiAgICBjb25zdCBkb3dubG9hZFVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIHJldHVybiBkb3dubG9hZFVybDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZUltYWdlV01TIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlSW1hZ2VXTVMoT2JqZWN0LmFzc2lnbih7IHJhdGlvOiAxIH0sIHRoaXMub3B0aW9ucykpO1xuICB9XG5cbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50ID0gZmFsc2UpIHtcbiAgICB0aGlzLm9nY0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzO1xuICAgIGlmICh0cmlnZ2VyRXZlbnQpIHtcbiAgICAgIHRoaXMub2wubm90aWZ5KCdvZ2NGaWx0ZXJzJywgdGhpcy5vZ2NGaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXI6IFRpbWVGaWx0ZXJPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMudGltZUZpbHRlciA9IHRpbWVGaWx0ZXI7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy50aW1lRmlsdGVyJC5uZXh0KHRoaXMudGltZUZpbHRlcik7XG4gICAgICB0aGlzLm9sLm5vdGlmeSgndGltZUZpbHRlcicsIHRoaXMub2djRmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGVnZW5kKHN0eWxlPzogc3RyaW5nLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBMZWdlbmRbXSB7XG4gICAgbGV0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmQubGVuZ3RoID4gMCAmJiBzdHlsZSA9PT0gdW5kZWZpbmVkICYmICF2aWV3Py5zY2FsZSkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBsZXQgY29udGVudERlcGVuZGVudCA9IGZhbHNlO1xuICAgIGxldCBwcm9qUGFyYW07XG5cbiAgICBpZiAoXG4gICAgICB2aWV3Py5zaXplICYmXG4gICAgICB2aWV3Py5leHRlbnQgJiZcbiAgICAgIHZpZXc/LnByb2plY3Rpb24gJiZcbiAgICAgIHRoaXMub3B0aW9ucy5jb250ZW50RGVwZW5kZW50TGVnZW5kXG4gICAgKSB7XG4gICAgICBwcm9qUGFyYW0gPVxuICAgICAgICB0aGlzLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnIHx8IHRoaXMucGFyYW1zLlZFUlNJT04gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gJ0NSUydcbiAgICAgICAgICA6ICdTUlMnO1xuICAgICAgY29udGVudERlcGVuZGVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5wYXJhbXM7XG5cbiAgICBsZXQgbGF5ZXJzID0gW107XG4gICAgaWYgKHNvdXJjZVBhcmFtcy5MQVlFUlMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGF5ZXJzID0gc291cmNlUGFyYW1zLkxBWUVSUy5zcGxpdCgnLCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLm9wdGlvbnMudXJsLnJlcGxhY2UoL1xcPyQvLCAnJyk7XG4gICAgY29uc3QgcGFyYW1zID0gW1xuICAgICAgJ1JFUVVFU1Q9R2V0TGVnZW5kR3JhcGhpYycsXG4gICAgICAnU0VSVklDRT1XTVMnLFxuICAgICAgJ0ZPUk1BVD1pbWFnZS9wbmcnLFxuICAgICAgJ1NMRF9WRVJTSU9OPTEuMS4wJyxcbiAgICAgIGBWRVJTSU9OPSR7c291cmNlUGFyYW1zLlZFUlNJT04gfHwgJzEuMy4wJ31gXG4gICAgXTtcbiAgICBpZiAoc3R5bGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFyYW1zLnB1c2goYFNUWUxFPSR7c3R5bGV9YCk7XG4gICAgfVxuICAgIGlmICh2aWV3Py5zY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJhbXMucHVzaChgU0NBTEU9JHt2aWV3LnNjYWxlfWApO1xuICAgIH1cbiAgICBpZiAoY29udGVudERlcGVuZGVudCkge1xuICAgICAgcGFyYW1zLnB1c2goYFdJRFRIPSR7dmlldy5zaXplWzBdfWApO1xuICAgICAgcGFyYW1zLnB1c2goYEhFSUdIVD0ke3ZpZXcuc2l6ZVsxXX1gKTtcbiAgICAgIHBhcmFtcy5wdXNoKGBCQk9YPSR7dmlldy5leHRlbnQuam9pbignLCcpfWApO1xuICAgICAgcGFyYW1zLnB1c2goYCR7cHJvalBhcmFtfT0ke3ZpZXcucHJvamVjdGlvbn1gKTtcbiAgICB9XG5cbiAgICBsZWdlbmQgPSBsYXllcnMubWFwKChsYXllcjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzZXBhcmF0b3IgPSBiYXNlVXJsLm1hdGNoKC9cXD8vKSA/ICcmJyA6ICc/JztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYCR7YmFzZVVybH0ke3NlcGFyYXRvcn0ke3BhcmFtcy5qb2luKCcmJyl9JkxBWUVSPSR7bGF5ZXJ9YCxcbiAgICAgICAgdGl0bGU6IGxheWVycy5sZW5ndGggPiAxID8gbGF5ZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRTdHlsZTogc3R5bGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChzdHlsZSBhcyBzdHJpbmcpXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxlZ2VuZDtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSBleHRlbmRzIFdNU0RhdGFTb3VyY2Uge1xuICBvcHRpb25zOiBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICB0aW1lRmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPjtcbiAgc2V0VGltZUZpbHRlcihvZ2NGaWx0ZXJzOiBUaW1lRmlsdGVyT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG4gIGZpbHRlckJ5RGF0ZShkYXRlOiBEYXRlIHwgW0RhdGUsIERhdGVdKTtcbiAgZmlsdGVyQnlZZWFyKHllYXI6IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ10pO1xufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy93bXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPMUMsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3JCLE1BQU0saUJBQWlCLENBQUM7QUFVekIsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBdUNsQztJQUNHO0lBckNaLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsUUFBUSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDMUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsZUFBZTtZQUN2QyxDQUFD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QUMsR0FBRyxDQUFDO1lBQ2xELE9BQU87Z0JBQ0wsR0FBRyxFQUFFLEdBQUcsT0FBTyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssRUFBRTtnQkFDL0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVM7Z0JBQzVDLFlBQVksRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFFLEtBQWdCO2FBQ2xFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnQGlnbzIvdXRpbHMnO1xuXG5pbXBvcnQgb2xTb3VyY2VJbWFnZVdNUyBmcm9tICdvbC9zb3VyY2UvSW1hZ2VXTVMnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7XG4gIE9nY0ZpbHRlckR1cmluZ09wdGlvbnMsXG4gIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgT2djRmlsdGVyc09wdGlvbnNcbn0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaW1lRmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvdGltZS1maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IExlZ2VuZE1hcFZpZXdPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vbGF5ZXIvc2hhcmVkL2xheWVycy9sZWdlbmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFF1ZXJ5SHRtbFRhcmdldCB9IGZyb20gJy4uLy4uLy4uL3F1ZXJ5L3NoYXJlZC9xdWVyeS5lbnVtcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IExlZ2VuZCB9IGZyb20gJy4vZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV0ZTU2VydmljZSB9IGZyb20gJy4vd2ZzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucyxcbiAgV01TRGF0YVNvdXJjZU9wdGlvbnNcbn0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgY2hlY2tXZnNQYXJhbXMsXG4gIGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeSxcbiAgZm9ybWF0V0ZTUXVlcnlTdHJpbmdcbn0gZnJvbSAnLi93bXMtd2ZzLnV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2UgZXh0ZW5kcyBXTVNEYXRhU291cmNlIHtcbiAgb3B0aW9uczogVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgdGltZUZpbHRlciQ6IEJlaGF2aW9yU3ViamVjdDxUaW1lRmlsdGVyT3B0aW9ucz47XG4gIHNldFRpbWVGaWx0ZXIob2djRmlsdGVyczogVGltZUZpbHRlck9wdGlvbnMsIHRyaWdnZXJFdmVudD86IGJvb2xlYW4pO1xuICBmaWx0ZXJCeURhdGUoZGF0ZTogRGF0ZSB8IFtEYXRlLCBEYXRlXSk7XG4gIGZpbHRlckJ5WWVhcih5ZWFyOiBzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddKTtcbn1cblxuZXhwb3J0IGNsYXNzIFdNU0RhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sU291cmNlSW1hZ2VXTVM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgc2V0IG9nY0ZpbHRlcnModmFsdWU6IE9nY0ZpbHRlcnNPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBPZ2NGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLm9nY0ZpbHRlcnMgPSB2YWx1ZTtcbiAgfVxuICBnZXQgb2djRmlsdGVycygpOiBPZ2NGaWx0ZXJzT3B0aW9ucyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgT2djRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS5vZ2NGaWx0ZXJzO1xuICB9XG5cbiAgc2V0IHRpbWVGaWx0ZXIodmFsdWU6IFRpbWVGaWx0ZXJPcHRpb25zKSB7XG4gICAgKHRoaXMub3B0aW9ucyBhcyBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zKS50aW1lRmlsdGVyID0gdmFsdWU7XG4gIH1cbiAgZ2V0IHRpbWVGaWx0ZXIoKTogVGltZUZpbHRlck9wdGlvbnMge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMpLnRpbWVGaWx0ZXI7XG4gIH1cbiAgcmVhZG9ubHkgdGltZUZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvcHRpb25zOiBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgICBwcm90ZWN0ZWQgd2ZzU2VydmljZTogV0ZTU2VydmljZVxuICApIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICBjb25zdCBzb3VyY2VQYXJhbXM6IGFueSA9IG9wdGlvbnMucGFyYW1zO1xuXG4gICAgY29uc3QgZHBpID0gc291cmNlUGFyYW1zLkRQSSB8fCA5NjtcbiAgICBzb3VyY2VQYXJhbXMuRFBJID0gZHBpO1xuICAgIHNvdXJjZVBhcmFtcy5NQVBfUkVTT0xVVElPTiA9IGRwaTtcbiAgICBzb3VyY2VQYXJhbXMuRk9STUFUX09QVElPTlMgPSAnZHBpOicgKyBkcGk7XG5cbiAgICBpZiAob3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgJiYgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgPiAwKSB7XG4gICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfSwgb3B0aW9ucy5yZWZyZXNoSW50ZXJ2YWxTZWMgKiAxMDAwKTsgLy8gQ29udmVydCBzZWNvbmRzIHRvIE1TXG4gICAgfVxuXG4gICAgbGV0IGZpZWxkTmFtZUdlb21ldHJ5ID0gZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgLy8gIyMjIyAgIFNUQVJUIGlmIHBhcmFtc1dGU1xuICAgIGlmIChvcHRpb25zLnBhcmFtc1dGUykge1xuICAgICAgY29uc3Qgd2ZzQ2hlY2t1cCA9IGNoZWNrV2ZzUGFyYW1zKG9wdGlvbnMsICd3bXMnKTtcbiAgICAgIE9iamVjdFV0aWxzLm1lcmdlRGVlcChvcHRpb25zLnBhcmFtc1dGUywgd2ZzQ2hlY2t1cC5wYXJhbXNXRlMpO1xuXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgICAgIG9wdGlvbnMucGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGZpZWxkTmFtZUdlb21ldHJ5O1xuXG4gICAgICBvcHRpb25zLmRvd25sb2FkID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5kb3dubG9hZCwge1xuICAgICAgICBkeW5hbWljVXJsOiB0aGlzLmJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhvcHRpb25zKVxuICAgICAgfSk7XG4gICAgfSAvLyAgIyMjIyAgIEVORCAgaWYgcGFyYW1zV0ZTXG5cbiAgICBpZiAoIW9wdGlvbnMuc291cmNlRmllbGRzIHx8IG9wdGlvbnMuc291cmNlRmllbGRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMgPSBbXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3B0aW9ucy5zb3VyY2VGaWVsZHMuZm9yRWFjaCgoc291cmNlRmllbGQpID0+IHtcbiAgICAgICAgc291cmNlRmllbGQuYWxpYXMgPSBzb3VyY2VGaWVsZC5hbGlhc1xuICAgICAgICAgID8gc291cmNlRmllbGQuYWxpYXNcbiAgICAgICAgICA6IHNvdXJjZUZpZWxkLm5hbWU7XG4gICAgICAgIC8vIHRvIGFsbG93IG9ubHkgYSBsaXN0IG9mIHNvdXJjZWZpZWxkIHdpdGggbmFtZXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpbml0T2djRmlsdGVycyA9IChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucylcbiAgICAgIC5vZ2NGaWx0ZXJzO1xuICAgIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcblxuICAgIGlmICghaW5pdE9nY0ZpbHRlcnMpIHtcbiAgICAgIChvcHRpb25zIGFzIE9nY0ZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucykub2djRmlsdGVycyA9XG4gICAgICAgIG9nY0ZpbHRlcldyaXRlci5kZWZpbmVPZ2NGaWx0ZXJzRGVmYXVsdE9wdGlvbnMoXG4gICAgICAgICAgaW5pdE9nY0ZpbHRlcnMsXG4gICAgICAgICAgZmllbGROYW1lR2VvbWV0cnksXG4gICAgICAgICAgJ3dtcydcbiAgICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzID1cbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucHVzaEJ1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuY2hlY2tib3hlcyB8fFxuICAgICAgICBpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMgfHxcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuc2VsZWN0IHx8XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmF1dG9jb21wbGV0ZVxuICAgICAgICAgID8gZmFsc2VcbiAgICAgICAgICA6IHRydWU7XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuYWR2YW5jZWRPZ2NGaWx0ZXJzICYmIGluaXRPZ2NGaWx0ZXJzLmZpbHRlcnMpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyRHVyaW5nID0gaW5pdE9nY0ZpbHRlcnMuZmlsdGVycyBhcyBPZ2NGaWx0ZXJEdXJpbmdPcHRpb25zO1xuICAgICAgICBpZiAoZmlsdGVyRHVyaW5nLmNhbGVuZGFyTW9kZVllYXIpIHtcbiAgICAgICAgICBpbml0T2djRmlsdGVycy5hZHZhbmNlZE9nY0ZpbHRlcnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnB1c2hCdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdwdXNoQnV0dG9uJztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5jaGVja2JveGVzKSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLmNoZWNrYm94ZXMuc2VsZWN0b3JUeXBlID0gJ2NoZWNrYm94JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5yYWRpb0J1dHRvbnMpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMucmFkaW9CdXR0b25zLnNlbGVjdG9yVHlwZSA9ICdyYWRpb0J1dHRvbic7XG4gICAgICB9XG4gICAgICBpZiAoaW5pdE9nY0ZpbHRlcnMuc2VsZWN0KSB7XG4gICAgICAgIGluaXRPZ2NGaWx0ZXJzLnNlbGVjdC5zZWxlY3RvclR5cGUgPSAnc2VsZWN0JztcbiAgICAgIH1cbiAgICAgIGlmIChpbml0T2djRmlsdGVycy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgaW5pdE9nY0ZpbHRlcnMuYXV0b2NvbXBsZXRlLnNlbGVjdG9yVHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHNvdXJjZVBhcmFtcy5MQVlFUlMuc3BsaXQoJywnKS5sZW5ndGggPiAxICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZFxuICAgICkge1xuICAgICAgY29uc29sZS5sb2coJyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKionKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAnQkUgQ0FSRUZVTEwsIFlPVVIgV01TIExBWUVSUyAoJyArXG4gICAgICAgICAgc291cmNlUGFyYW1zLkxBWUVSUyArXG4gICAgICAgICAgJykgTVVTVCBTSEFSRSBUSEUgU0FNRSBGSUVMRFMgVE8gQUxMT1cgb2djRmlsdGVycyBUTyBXT1JLICEhICdcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygnKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMucGFyYW1zV0ZTICYmXG4gICAgICBpbml0T2djRmlsdGVycyAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZW5hYmxlZCAmJlxuICAgICAgaW5pdE9nY0ZpbHRlcnMuZWRpdGFibGUgJiZcbiAgICAgIChvcHRpb25zLnNvdXJjZUZpZWxkcyB8fCBbXSkuZmlsdGVyKChzZikgPT4gIXNmLnZhbHVlcykubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy53ZnNTZXJ2aWNlLmdldFNvdXJjZUZpZWxkc0Zyb21XRlMob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUXVlcnlTdHJpbmcgPSBvZ2NGaWx0ZXJXcml0ZXIuaGFuZGxlT2djRmlsdGVyc0FwcGxpZWRWYWx1ZShcbiAgICAgIG9wdGlvbnMsXG4gICAgICBmaWVsZE5hbWVHZW9tZXRyeVxuICAgICk7XG4gICAgc291cmNlUGFyYW1zLkZJTFRFUiA9IGZpbHRlclF1ZXJ5U3RyaW5nO1xuICAgIHRoaXMub2wudXBkYXRlUGFyYW1zKHsgRklMVEVSOiBzb3VyY2VQYXJhbXMuRklMVEVSIH0pO1xuICAgIHRoaXMuc2V0T2djRmlsdGVycyhpbml0T2djRmlsdGVycywgdHJ1ZSk7XG5cbiAgICBjb25zdCB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zID1cbiAgICAgIG9wdGlvbnMgYXMgVGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucztcbiAgICBpZiAoXG4gICAgICB0aW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zPy50aW1lRmlsdGVyYWJsZSAmJlxuICAgICAgdGltZUZpbHRlcmFibGVEYXRhU291cmNlT3B0aW9ucz8udGltZUZpbHRlclxuICAgICkge1xuICAgICAgdGhpcy5zZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZU9wdGlvbnMudGltZUZpbHRlciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLm9sLnVwZGF0ZVBhcmFtcyh7IGlnb1JlZnJlc2g6IE1hdGgucmFuZG9tKCkgfSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRHluYW1pY0Rvd25sb2FkVXJsRnJvbVBhcmFtc1dGUyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhhc1dGU0RhdGFTb3VyY2VPcHRpb25zKTtcbiAgICBjb25zdCBkb3dubG9hZFVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoXG4gICAgICAoZikgPT4gZi5uYW1lID09PSAnZ2V0ZmVhdHVyZSdcbiAgICApLnZhbHVlO1xuICAgIHJldHVybiBkb3dubG9hZFVybDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZUltYWdlV01TIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlSW1hZ2VXTVMoT2JqZWN0LmFzc2lnbih7IHJhdGlvOiAxIH0sIHRoaXMub3B0aW9ucykpO1xuICB9XG5cbiAgc2V0T2djRmlsdGVycyhvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucywgdHJpZ2dlckV2ZW50ID0gZmFsc2UpIHtcbiAgICB0aGlzLm9nY0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzO1xuICAgIGlmICh0cmlnZ2VyRXZlbnQpIHtcbiAgICAgIHRoaXMub2wubm90aWZ5KCdvZ2NGaWx0ZXJzJywgdGhpcy5vZ2NGaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBzZXRUaW1lRmlsdGVyKHRpbWVGaWx0ZXI6IFRpbWVGaWx0ZXJPcHRpb25zLCB0cmlnZ2VyRXZlbnQgPSBmYWxzZSkge1xuICAgIHRoaXMudGltZUZpbHRlciA9IHRpbWVGaWx0ZXI7XG4gICAgaWYgKHRyaWdnZXJFdmVudCkge1xuICAgICAgdGhpcy50aW1lRmlsdGVyJC5uZXh0KHRoaXMudGltZUZpbHRlcik7XG4gICAgICB0aGlzLm9sLm5vdGlmeSgndGltZUZpbHRlcicsIHRoaXMub2djRmlsdGVycyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGVnZW5kKHN0eWxlPzogc3RyaW5nLCB2aWV3PzogTGVnZW5kTWFwVmlld09wdGlvbnMpOiBMZWdlbmRbXSB7XG4gICAgbGV0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmQubGVuZ3RoID4gMCAmJiBzdHlsZSA9PT0gdW5kZWZpbmVkICYmICF2aWV3Py5zY2FsZSkge1xuICAgICAgcmV0dXJuIGxlZ2VuZDtcbiAgICB9XG5cbiAgICBsZXQgY29udGVudERlcGVuZGVudCA9IGZhbHNlO1xuICAgIGxldCBwcm9qUGFyYW07XG5cbiAgICBpZiAoXG4gICAgICB2aWV3Py5zaXplICYmXG4gICAgICB2aWV3Py5leHRlbnQgJiZcbiAgICAgIHZpZXc/LnByb2plY3Rpb24gJiZcbiAgICAgIHRoaXMub3B0aW9ucy5jb250ZW50RGVwZW5kZW50TGVnZW5kXG4gICAgKSB7XG4gICAgICBwcm9qUGFyYW0gPVxuICAgICAgICB0aGlzLnBhcmFtcy5WRVJTSU9OID09PSAnMS4zLjAnIHx8IHRoaXMucGFyYW1zLlZFUlNJT04gPT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gJ0NSUydcbiAgICAgICAgICA6ICdTUlMnO1xuICAgICAgY29udGVudERlcGVuZGVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlUGFyYW1zID0gdGhpcy5wYXJhbXM7XG5cbiAgICBsZXQgbGF5ZXJzID0gW107XG4gICAgaWYgKHNvdXJjZVBhcmFtcy5MQVlFUlMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGF5ZXJzID0gc291cmNlUGFyYW1zLkxBWUVSUy5zcGxpdCgnLCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLm9wdGlvbnMudXJsLnJlcGxhY2UoL1xcPyQvLCAnJyk7XG4gICAgY29uc3QgcGFyYW1zID0gW1xuICAgICAgJ1JFUVVFU1Q9R2V0TGVnZW5kR3JhcGhpYycsXG4gICAgICAnU0VSVklDRT1XTVMnLFxuICAgICAgJ0ZPUk1BVD1pbWFnZS9wbmcnLFxuICAgICAgJ1NMRF9WRVJTSU9OPTEuMS4wJyxcbiAgICAgIGBWRVJTSU9OPSR7c291cmNlUGFyYW1zLlZFUlNJT04gfHwgJzEuMy4wJ31gXG4gICAgXTtcbiAgICBpZiAoc3R5bGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcGFyYW1zLnB1c2goYFNUWUxFPSR7c3R5bGV9YCk7XG4gICAgfVxuICAgIGlmICh2aWV3Py5zY2FsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJhbXMucHVzaChgU0NBTEU9JHt2aWV3LnNjYWxlfWApO1xuICAgIH1cbiAgICBpZiAoY29udGVudERlcGVuZGVudCkge1xuICAgICAgcGFyYW1zLnB1c2goYFdJRFRIPSR7dmlldy5zaXplWzBdfWApO1xuICAgICAgcGFyYW1zLnB1c2goYEhFSUdIVD0ke3ZpZXcuc2l6ZVsxXX1gKTtcbiAgICAgIHBhcmFtcy5wdXNoKGBCQk9YPSR7dmlldy5leHRlbnQuam9pbignLCcpfWApO1xuICAgICAgcGFyYW1zLnB1c2goYCR7cHJvalBhcmFtfT0ke3ZpZXcucHJvamVjdGlvbn1gKTtcbiAgICB9XG5cbiAgICBsZWdlbmQgPSBsYXllcnMubWFwKChsYXllcjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzZXBhcmF0b3IgPSBiYXNlVXJsLm1hdGNoKC9cXD8vKSA/ICcmJyA6ICc/JztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVybDogYCR7YmFzZVVybH0ke3NlcGFyYXRvcn0ke3BhcmFtcy5qb2luKCcmJyl9JkxBWUVSPSR7bGF5ZXJ9YCxcbiAgICAgICAgdGl0bGU6IGxheWVycy5sZW5ndGggPiAxID8gbGF5ZXIgOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRTdHlsZTogc3R5bGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IChzdHlsZSBhcyBzdHJpbmcpXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxlZ2VuZDtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVGaWx0ZXJhYmxlRGF0YVNvdXJjZSBleHRlbmRzIFdNU0RhdGFTb3VyY2Uge1xuICBvcHRpb25zOiBUaW1lRmlsdGVyYWJsZURhdGFTb3VyY2VPcHRpb25zO1xuICB0aW1lRmlsdGVyJDogQmVoYXZpb3JTdWJqZWN0PFRpbWVGaWx0ZXJPcHRpb25zPjtcbiAgc2V0VGltZUZpbHRlcihvZ2NGaWx0ZXJzOiBUaW1lRmlsdGVyT3B0aW9ucywgdHJpZ2dlckV2ZW50PzogYm9vbGVhbik7XG4gIGZpbHRlckJ5RGF0ZShkYXRlOiBEYXRlIHwgW0RhdGUsIERhdGVdKTtcbiAgZmlsdGVyQnlZZWFyKHllYXI6IHN0cmluZyB8IFtzdHJpbmcsIHN0cmluZ10pO1xufVxuIl19
@@ -29,13 +29,15 @@ export function buildUrl(options, extent, proj, ogcFilters, randomParam) {
29
29
  const filterOrBox = ogcFilterWriter.buildFilter(igoFilters, extent, proj, ogcFilters?.geometryName, options);
30
30
  let filterOrPush = ogcFilterWriter.handleOgcFiltersAppliedValue(options, ogcFilters?.geometryName, extent, proj);
31
31
  let prefix = 'filter';
32
- if (!filterOrPush) {
32
+ if (extent && !filterOrPush) {
33
33
  prefix = 'bbox';
34
34
  filterOrPush = extent.join(',') + ',' + proj.getCode();
35
35
  }
36
- paramsWFS.xmlFilter = ogcFilters?.advancedOgcFilters
37
- ? filterOrBox
38
- : `${prefix}=${filterOrPush}`;
36
+ if (ogcFilters?.advancedOgcFilters || filterOrPush) {
37
+ paramsWFS.xmlFilter = ogcFilters?.advancedOgcFilters
38
+ ? filterOrBox
39
+ : `${prefix}=${filterOrPush}`;
40
+ }
39
41
  let baseUrl = queryStringValues.find((f) => f.name === 'getfeature').value;
40
42
  const patternFilter = /(filter|bbox)=.*/gi;
41
43
  baseUrl = patternFilter.test(paramsWFS.xmlFilter)
@@ -219,4 +221,4 @@ export function getFormatFromOptions(options) {
219
221
  }
220
222
  return new olFormatCls();
221
223
  }
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdmcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy13ZnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE9BQTZCLEVBQzdCLE1BQWMsRUFDZCxJQUFrQixFQUNsQixVQUE2QixFQUM3QixXQUFxQjtJQUVyQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQzVDLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxP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QUFjLENBQUM7UUFDN0IsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztTQUFNLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ25ELFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQzNCLE9BQU8sSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPLElBQUksV0FBVyxFQUFFLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4dGVudCB9IGZyb20gJ29sL2V4dGVudCc7XG5pbXBvcnQgKiBhcyBPbEZvcm1hdCBmcm9tICdvbC9mb3JtYXQnO1xuaW1wb3J0IG9sRm9ybWF0R01MMiBmcm9tICdvbC9mb3JtYXQvR01MMic7XG5pbXBvcnQgb2xGb3JtYXRHTUwzIGZyb20gJ29sL2Zvcm1hdC9HTUwzJztcbmltcG9ydCBvbEZvcm1hdEdNTDMyIGZyb20gJ29sL2Zvcm1hdC9HTUwzMic7XG5pbXBvcnQgb2xGb3JtYXRPU01YTUwgZnJvbSAnb2wvZm9ybWF0L09TTVhNTCc7XG5pbXBvcnQgb2xQcm9qZWN0aW9uIGZyb20gJ29sL3Byb2ovUHJvamVjdGlvbic7XG5cbmltcG9ydCB7IE9nY0ZpbHRlcldyaXRlciB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlcic7XG5pbXBvcnQgeyBPZ2NGaWx0ZXJzT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9zaGFyZWQvb2djLWZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3dmcy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXTVNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd21zLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRFcHNnID0gJ0VQU0c6Mzg1Nyc7XG5leHBvcnQgY29uc3QgZGVmYXVsdE1heEZlYXR1cmVzID0gNTAwMDtcbmV4cG9ydCBjb25zdCBkZWZhdWx0V2ZzVmVyc2lvbiA9ICcyLjAuMCc7XG5leHBvcnQgY29uc3QgZGVmYXVsdEZpZWxkTmFtZUdlb21ldHJ5ID0gJ2dlb21ldHJ5JztcbmV4cG9ydCBjb25zdCBnbWxSZWdleCA9IG5ldyBSZWdFeHAoLyguKik/Z21sKC4qKT8vZ2kpO1xuZXhwb3J0IGNvbnN0IGpzb25SZWdleCA9IG5ldyBSZWdFeHAoLyguKik/anNvbiguKik/L2dpKTtcblxuLyoqXG4gKiBUaGlzIG1ldGhvZCBidWlsZCB0aGUgV0ZTIFVSTCBiYXNlZCBvbiB0aGUgbGF5ZXIgcHJvcGVydHkuXG4gKiBAcGFyYW0gb3B0aW9ucyAgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgVGhlIGNvbW1vbiB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZVxuICogQHBhcmFtIGV4dGVudCAgQW4gZXh0ZW50IGxpa2UgYXJyYXkgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAqIEBwYXJhbSBwcm9qICBvbFByb2plY3Rpb25cbiAqIEBwYXJhbSBvZ2NGaWx0ZXJzICBPZ2NGaWx0ZXJzT3B0aW9uc1xuICogQHJldHVybnMgQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBkYXRhc291cmNlIG9wdGlvbnMsIGJhc2VkIG9uIGZpbHRlciBhbmQgdmlld3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkVXJsKFxuICBvcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyxcbiAgZXh0ZW50OiBFeHRlbnQsXG4gIHByb2o6IG9sUHJvamVjdGlvbixcbiAgb2djRmlsdGVyczogT2djRmlsdGVyc09wdGlvbnMsXG4gIHJhbmRvbVBhcmFtPzogYm9vbGVhblxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFyYW1zV0ZTID0gb3B0aW9ucy5wYXJhbXNXRlM7XG4gIGNvbnN0IHF1ZXJ5U3RyaW5nVmFsdWVzID0gZm9ybWF0V0ZTUXVlcnlTdHJpbmcoXG4gICAgb3B0aW9ucyxcbiAgICB1bmRlZmluZWQsXG4gICAgb3B0aW9ucy5wYXJhbXNXRlMuc3JzTmFtZVxuICApO1xuICBsZXQgaWdvRmlsdGVycztcbiAgaWYgKG9nY0ZpbHRlcnM/LmVuYWJsZWQpIHtcbiAgICBpZ29GaWx0ZXJzID0gb2djRmlsdGVycz8uZmlsdGVycztcbiAgfVxuICBjb25zdCBvZ2NGaWx0ZXJXcml0ZXIgPSBuZXcgT2djRmlsdGVyV3JpdGVyKCk7XG4gIGNvbnN0IGZpbHRlck9yQm94ID0gb2djRmlsdGVyV3JpdGVyLmJ1aWxkRmlsdGVyKFxuICAgIGlnb0ZpbHRlcnMsXG4gICAgZXh0ZW50LFxuICAgIHByb2osXG4gICAgb2djRmlsdGVycz8uZ2VvbWV0cnlOYW1lLFxuICAgIG9wdGlvbnNcbiAgKTtcbiAgbGV0IGZpbHRlck9yUHVzaCA9IG9nY0ZpbHRlcldyaXRlci5oYW5kbGVPZ2NGaWx0ZXJzQXBwbGllZFZhbHVlKFxuICAgIG9wdGlvbnMsXG4gICAgb2djRmlsdGVycz8uZ2VvbWV0cnlOYW1lLFxuICAgIGV4dGVudCxcbiAgICBwcm9qXG4gICk7XG5cbiAgbGV0IHByZWZpeCA9ICdmaWx0ZXInO1xuICBpZiAoIWZpbHRlck9yUHVzaCkge1xuICAgIHByZWZpeCA9ICdiYm94JztcbiAgICBmaWx0ZXJPclB1c2ggPSBleHRlbnQuam9pbignLCcpICsgJywnICsgcHJvai5nZXRDb2RlKCk7XG4gIH1cblxuICBwYXJhbXNXRlMueG1sRmlsdGVyID0gb2djRmlsdGVycz8uYWR2YW5jZWRPZ2NGaWx0ZXJzXG4gICAgPyBmaWx0ZXJPckJveFxuICAgIDogYCR7cHJlZml4fT0ke2ZpbHRlck9yUHVzaH1gO1xuICBsZXQgYmFzZVVybCA9IHF1ZXJ5U3RyaW5nVmFsdWVzLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gJ2dldGZlYXR1cmUnKS52YWx1ZTtcbiAgY29uc3QgcGF0dGVybkZpbHRlciA9IC8oZmlsdGVyfGJib3gpPS4qL2dpO1xuICBiYXNlVXJsID0gcGF0dGVybkZpbHRlci50ZXN0KHBhcmFtc1dGUy54bWxGaWx0ZXIpXG4gICAgPyBgJHtiYXNlVXJsfSYke3BhcmFtc1dGUy54bWxGaWx0ZXJ9YFxuICAgIDogYmFzZVVybDtcbiAgb3B0aW9ucy5kb3dubG9hZCA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMuZG93bmxvYWQsIHtcbiAgICBkeW5hbWljVXJsOiBiYXNlVXJsXG4gIH0pO1xuICBpZiAocmFuZG9tUGFyYW0pIHtcbiAgICBiYXNlVXJsICs9IGAkJl90JHtuZXcgRGF0ZSgpLmdldFRpbWUoKX1gO1xuICB9XG4gIHJldHVybiBiYXNlVXJsLnJlcGxhY2UoLyYmL2csICcmJyk7XG59XG5cbi8qKlxuICogVGhpcyBtZXRob2QgYnVpbGQvc3RhbmRhcmRpemUgV0ZTIGNhbGwgcXVlcnkgcGFyYW1zIGJhc2VkIG9uIHRoZSBsYXllciBwcm9wZXJ0eS5cbiAqIEBwYXJhbSB3ZnNEYXRhU291cmNlT3B0aW9ucyAgV0ZTRGF0YVNvdXJjZU9wdGlvbnMgVGhlIGNvbW1vbiB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZVxuICogQHBhcmFtIGNvdW50ICBOdW1iZXI6IFVzZWQgdG8gY29udHJvbCB0aGUgbnVtYmVyIG9mIGZlYXR1cmUuIFVzZWQgdG8gYnlwYXNzIHdoZSB3ZnMgZGF0YXNvdXJjZSBvcHRpb25zIGludGVyZmFjZSAobWF4RmVhdHVyZXMpXG4gKiBAcGFyYW0gZXBzZyAgU3RyaW5nOiBVc2VkIHRvIGNvbnRyb2wgdGhlIEVQU0cgY29kZSAoZXM6ICdFUFNHMzg1NycpLiBVc2VkIHRvIGJ5cGFzcyB3aGUgd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2UgKHNyc05hbWUpXG4gKiBAcGFyYW0gcHJvcGVydGllcyAgU3RyaW5nOiBVc2VkIHRvIGNvbnRyb2wgdGhlIHF1ZXJpZWQgZmllbGRzICAoV0ZTIHNlcnZpY2UpLlxuICogQHJldHVybnMgQW4gYXJyYXkgYXJyYXkgb2Yge25hbWU6ICcnLCB2YWx1ZTogJyd9IG9mIHByZWRlZmluZWQgcXVlcnkgcGFyYW1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0V0ZTUXVlcnlTdHJpbmcoXG4gIGRhdGFTb3VyY2VPcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zLFxuICBjb3VudD86IG51bWJlcixcbiAgZXBzZz86IHN0cmluZyxcbiAgcHJvcGVydGllcz86IHN0cmluZyxcbiAgc3RhcnRJbmRleCA9IDAsXG4gIGZvcmNlRGVmYXVsdE91dHB1dEZvcm1hdCA9IGZhbHNlXG4pOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10ge1xuICBjb25zdCB2ZXJzaW9uV2ZzMjAwID0gJzIuMC4wJzsgLy8gbm90IHRoZSBzYW1lIHVzYWdlIGFzIGRlZmF1bHRXZnNWZXJzaW9uLlxuICBjb25zdCB1cmwgPSBkYXRhU291cmNlT3B0aW9ucy51cmxXZnM7XG4gIGNvbnN0IHBhcmFtc1dGUyA9IGRhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUztcbiAgY29uc3QgZWZmZWN0aXZlQ291bnQgPSBjb3VudCB8fCBkZWZhdWx0TWF4RmVhdHVyZXM7XG4gIGNvbnN0IGVmZmVjdGl2ZVN0YXJ0SW5kZXggPVxuICAgIHBhcmFtc1dGUy52ZXJzaW9uID09PSB2ZXJzaW9uV2ZzMjAwID8gYHN0YXJ0SW5kZXg9JHtzdGFydEluZGV4fWAgOiAnJztcbiAgY29uc3QgZXBzZ0NvZGUgPSBlcHNnIHx8IGRlZmF1bHRFcHNnO1xuICBsZXQgb3V0cHV0Rm9ybWF0ID0gcGFyYW1zV0ZTLm91dHB1dEZvcm1hdFxuICAgID8gYG91dHB1dEZvcm1hdD0ke3BhcmFtc1dGUy5vdXRwdXRGb3JtYXR9YFxuICAgIDogJyc7XG4gIGxldCB2ZXJzaW9uID0gcGFyYW1zV0ZTLnZlcnNpb25cbiAgICA/IGB2ZXJzaW9uPSR7cGFyYW1zV0ZTLnZlcnNpb259YFxuICAgIDogYHZlcnNpb249JHtkZWZhdWx0V2ZzVmVyc2lvbn1gO1xuICBjb25zdCBwYXJhbVR5cGVuYW1lID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/ICd0eXBlbmFtZXMnIDogJ3R5cGVuYW1lJztcbiAgY29uc3QgZmVhdHVyZVR5cGVzID0gYCR7cGFyYW1UeXBlbmFtZX09JHtwYXJhbXNXRlMuZmVhdHVyZVR5cGVzfWA7XG4gIGNvbnN0IHBhcmFtTWF4RmVhdHVyZXMgPVxuICAgIHBhcmFtc1dGUy52ZXJzaW9uID09PSB2ZXJzaW9uV2ZzMjAwID8gJ2NvdW50JyA6ICdtYXhGZWF0dXJlcyc7XG4gIGxldCBjbnQgPSBjb3VudFxuICAgID8gYCR7cGFyYW1NYXhGZWF0dXJlc309JHtlZmZlY3RpdmVDb3VudH1gXG4gICAgOiBwYXJhbXNXRlMubWF4RmVhdHVyZXNcbiAgICAgID8gYCR7cGFyYW1NYXhGZWF0dXJlc309JHtwYXJhbXNXRlMubWF4RmVhdHVyZXN9YFxuICAgICAgOiBgJHtwYXJhbU1heEZlYXR1cmVzfT0ke2VmZmVjdGl2ZUNvdW50fWA7XG4gIGlmIChmb3JjZURlZmF1bHRPdXRwdXRGb3JtYXQpIHtcbiAgICBvdXRwdXRGb3JtYXQgPSAnJztcbiAgICB2ZXJzaW9uID0gJ3ZlcnNpb249MS4xLjAnO1xuICAgIGNudCA9IGNudC5yZXBsYWNlKCdjb3VudCcsICdtYXhGZWF0dXJlcycpO1xuICB9XG5cbiAgY29uc3Qgc3JzID0gZXBzZ1xuICAgID8gYHNyc25hbWU9JHtlcHNnQ29kZX1gXG4gICAgOiBwYXJhbXNXRlMuc3JzTmFtZVxuICAgICAgPyAnc3JzbmFtZT0nICsgcGFyYW1zV0ZTLnNyc05hbWVcbiAgICAgIDogYHNyc25hbWU9JHtlcHNnQ29kZX1gO1xuXG4gIGxldCBwcm9wZXJ0eU5hbWUgPSAnJztcbiAgbGV0IHZhbHVlUmVmZXJlbmNlID0gJyc7XG4gIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgcHJvcGVydHlOYW1lID0gYHByb3BlcnR5TmFtZT0ke3Byb3BlcnRpZXN9YDtcbiAgICB2YWx1ZVJlZmVyZW5jZSA9IGB2YWx1ZVJlZmVyZW5jZT0ke3Byb3BlcnRpZXN9YDtcbiAgfVxuICBjb25zdCBzb3VyY2VGaWVsZHMgPSBkYXRhU291cmNlT3B0aW9ucy5zb3VyY2VGaWVsZHM7XG4gIGlmICghcHJvcGVydHlOYW1lICYmIHNvdXJjZUZpZWxkcyAmJiBzb3VyY2VGaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpZWxkc05hbWVzID0gW107XG4gICAgZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzLmZvckVhY2goKHNvdXJjZWZpZWxkKSA9PiB7XG4gICAgICBmaWVsZHNOYW1lcy5wdXNoKHNvdXJjZWZpZWxkLm5hbWUpO1xuICAgIH0pO1xuICAgIHByb3BlcnR5TmFtZSA9IGBwcm9wZXJ0eU5hbWU9JHtmaWVsZHNOYW1lcy5qb2luKCcsJyl9LCR7XG4gICAgICBwYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnlcbiAgICB9YDtcbiAgfVxuXG4gIGNvbnN0IHNlcGFyYXRvciA9IHVybC5pbmRleE9mKCc/JykgPT09IC0xID8gJz8nIDogJyYnO1xuICBjb25zdCBnZXRDYXBhYmlsaXRpZXMgPSBgJHt1cmx9JHtzZXBhcmF0b3J9c2VydmljZT1XRlMmcmVxdWVzdD1HZXRDYXBhYmlsaXRpZXMmJHt2ZXJzaW9ufWA7XG4gIGxldCBnZXRGZWF0dXJlID0gYCR7dXJsfSR7c2VwYXJhdG9yfXNlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0RmVhdHVyZSYke3ZlcnNpb259JiR7ZmVhdHVyZVR5cGVzfSZgO1xuICBnZXRGZWF0dXJlICs9IGAke291dHB1dEZvcm1hdH0mJHtzcnN9JiR7Y250fSYke3Byb3BlcnR5TmFtZX0mJHtlZmZlY3RpdmVTdGFydEluZGV4fWA7XG5cbiAgbGV0IGdldHByb3BlcnR5dmFsdWUgPSBgJHt1cmx9P3NlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0UHJvcGVydHlWYWx1ZSZ2ZXJzaW9uPSR7dmVyc2lvbldmczIwMH0mJHtmZWF0dXJlVHlwZXN9JmA7XG4gIGdldHByb3BlcnR5dmFsdWUgKz0gYCYke2NudH0mJHt2YWx1ZVJlZmVyZW5jZX1gO1xuXG4gIHJldHVybiBbXG4gICAgeyBuYW1lOiAnb3V0cHV0Zm9ybWF0JywgdmFsdWU6IG91dHB1dEZvcm1hdCB9LFxuICAgIHsgbmFtZTogJ3ZlcnNpb24nLCB2YWx1ZTogdmVyc2lvbiB9LFxuICAgIHsgbmFtZTogJ3R5cGVuYW1lJywgdmFsdWU6IGZlYXR1cmVUeXBlcyB9LFxuICAgIHsgbmFtZTogJ2NvdW50JywgdmFsdWU6IGNudCB9LFxuICAgIHsgbmFtZTogJ3Nyc25hbWUnLCB2YWx1ZTogc3JzIH0sXG4gICAgeyBuYW1lOiAncHJvcGVydHluYW1lJywgdmFsdWU6IHByb3BlcnR5TmFtZSB9LFxuICAgIHsgbmFtZTogJ3ZhbHVlcmVmZXJlbmNlJywgdmFsdWU6IHZhbHVlUmVmZXJlbmNlIH0sXG4gICAgeyBuYW1lOiAnZ2V0Y2FwYWJpbGl0aWVzJywgdmFsdWU6IGdldENhcGFiaWxpdGllcy5yZXBsYWNlKC8mJi9nLCAnJicpIH0sXG4gICAgeyBuYW1lOiAnZ2V0ZmVhdHVyZScsIHZhbHVlOiBnZXRGZWF0dXJlLnJlcGxhY2UoLyYmL2csICcmJykgfSxcbiAgICB7IG5hbWU6ICdnZXRwcm9wZXJ0eXZhbHVlJywgdmFsdWU6IGdldHByb3BlcnR5dmFsdWUucmVwbGFjZSgvJiYvZywgJyYnKSB9XG4gIF07XG59XG5cbi8qKlxuICogVmFsaWRhdGUvTW9kaWZ5IGxheWVyJ3Mgd2ZzIG9wdGlvbnMgYmFzZWQgb24gOlxuICogMS0gYW4gT3BlbmxheWVycydzIGlzc3VlIHdpdGggR01MIHByb3ZpZGVkIGZyb20gV0ZTLiBSZWZlciB0b1xuICogaHR0cHM6Ly9naXRodWIuY29tL29wZW5sYXllcnMvb3BlbmxheWVycy9wdWxsLzY0MDBcbiAqIDItIFNldCBkZWZhdWx0IHZhbHVlcyBmb3Igb3B0aW9uYWxzIHBhcmFtZXRlcnMuXG4gKiBAcGFyYW0gd2ZzRGF0YVNvdXJjZU9wdGlvbnMgIFdGU0RhdGFTb3VyY2VPcHRpb25zIFRoZSBjb21tb24gd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEByZXR1cm5zIEFuIGFycmF5IGFycmF5IG9mIHtuYW1lOiAnJywgdmFsdWU6ICcnfSBvZiBwcmVkZWZpbmVkIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrV2ZzUGFyYW1zKHdmc0RhdGFTb3VyY2VPcHRpb25zLCBzcmNUeXBlPzogc3RyaW5nKSB7XG4gIGlmIChzcmNUeXBlICYmIHNyY1R5cGUgPT09ICd3ZnMnKSB7XG4gICAgLy8gcmVhc3NpZ25hdGlvbiBvZiBwYXJhbXMgdG8gcGFyYW1zV0ZTIGFuZCB1cmwgdG8gdXJsV0ZTIHRvIGhhdmUgYSBjb21tb24gaW50ZXJmYWNlIHdpdGggd21zLXdmcyBkYXRhc291cmNlc1xuICAgIHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUyA9IHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtcztcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1dGUyA9IHdmc0RhdGFTb3VyY2VPcHRpb25zLnBhcmFtc1dGUztcbiAgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzID1cbiAgICB3ZnNEYXRhU291cmNlT3B0aW9ucy51cmxXZnMgfHwgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsO1xuXG4gIHBhcmFtc1dGUy52ZXJzaW9uID0gcGFyYW1zV0ZTLnZlcnNpb24gfHwgZGVmYXVsdFdmc1ZlcnNpb247XG4gIHBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeSA9XG4gICAgcGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5IHx8IGRlZmF1bHRGaWVsZE5hbWVHZW9tZXRyeTtcbiAgcGFyYW1zV0ZTLm1heEZlYXR1cmVzID0gcGFyYW1zV0ZTLm1heEZlYXR1cmVzIHx8IGRlZmF1bHRNYXhGZWF0dXJlcztcblxuICBsZXQgb3V0cHV0Rm9ybWF0O1xuICBpZiAocGFyYW1zV0ZTLm91dHB1dEZvcm1hdCkge1xuICAgIG91dHB1dEZvcm1hdCA9IHBhcmFtc1dGUy5vdXRwdXRGb3JtYXQ7XG4gIH1cblxuICBpZiAoZ21sUmVnZXgudGVzdChvdXRwdXRGb3JtYXQpIHx8ICFvdXRwdXRGb3JtYXQpIHtcbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9ICcxLjEuMCc7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHdmc0RhdGFTb3VyY2VPcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdEZyb21PcHRpb25zKFxuICBvcHRpb25zOiBXRlNEYXRhU291cmNlT3B0aW9ucyB8IFdNU0RhdGFTb3VyY2VPcHRpb25zXG4pIHtcbiAgY29uc3Qgd2ZzT3B0aW9ucyA9IG9wdGlvbnMgYXMgV0ZTRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgbGV0IG9sRm9ybWF0Q2xzO1xuICBjb25zdCBvdXRwdXRGb3JtYXQgPSB3ZnNPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA/IHdmc09wdGlvbnMucGFyYW1zV0ZTLm91dHB1dEZvcm1hdFxuICAgIDogdW5kZWZpbmVkO1xuXG4gIGlmICghb3V0cHV0Rm9ybWF0KSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9XG5cbiAgaWYgKE9sRm9ybWF0W291dHB1dEZvcm1hdF0pIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0W291dHB1dEZvcm1hdF07XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwyJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldGUztcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHtcbiAgICAgIC4uLndmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyxcbiAgICAgIC4uLnsgZ21sRm9ybWF0OiBvbEZvcm1hdEdNTDIgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwzMicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh7XG4gICAgICAuLi53ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMsXG4gICAgICAuLi57IGdtbEZvcm1hdDogb2xGb3JtYXRHTUwzMiB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2dtbDMnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoe1xuICAgICAgLi4ud2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zLFxuICAgICAgLi4ueyBnbWxGb3JtYXQ6IG9sRm9ybWF0R01MMyB9XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ3RvcG9qc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LlRvcG9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ2VvanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5HZW9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZXNyaWpzb24nKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuRXNyaUpTT047XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdqc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0Lkdlb0pTT047XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdncHgnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuR1BYO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnV0tUJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldLVDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ29zbXhtbCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBvbEZvcm1hdE9TTVhNTDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2ttbCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5LTUw7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBvbEZvcm1hdENscygpO1xufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid21zLXdmcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL3dtcy13ZnMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3BFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDdEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFFeEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE9BQTZCLEVBQzdCLE1BQWMsRUFDZCxJQUFrQixFQUNsQixVQUE2QixFQUM3QixXQUFxQjtJQUVyQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3BDLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQzVDLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxP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LENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEQsV0FBVyxHQUFHLGNBQWMsQ0FBQztRQUM3QixPQUFPLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO1NBQU0sSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkQsV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDM0IsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU8sSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXh0ZW50IH0gZnJvbSAnb2wvZXh0ZW50JztcbmltcG9ydCAqIGFzIE9sRm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgb2xGb3JtYXRHTUwyIGZyb20gJ29sL2Zvcm1hdC9HTUwyJztcbmltcG9ydCBvbEZvcm1hdEdNTDMgZnJvbSAnb2wvZm9ybWF0L0dNTDMnO1xuaW1wb3J0IG9sRm9ybWF0R01MMzIgZnJvbSAnb2wvZm9ybWF0L0dNTDMyJztcbmltcG9ydCBvbEZvcm1hdE9TTVhNTCBmcm9tICdvbC9mb3JtYXQvT1NNWE1MJztcbmltcG9ydCBvbFByb2plY3Rpb24gZnJvbSAnb2wvcHJvai9Qcm9qZWN0aW9uJztcblxuaW1wb3J0IHsgT2djRmlsdGVyV3JpdGVyIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyJztcbmltcG9ydCB7IE9nY0ZpbHRlcnNPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL3NoYXJlZC9vZ2MtZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXRlNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd2ZzLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdNU0RhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi93bXMtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVwc2cgPSAnRVBTRzozODU3JztcbmV4cG9ydCBjb25zdCBkZWZhdWx0TWF4RmVhdHVyZXMgPSA1MDAwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRXZnNWZXJzaW9uID0gJzIuMC4wJztcbmV4cG9ydCBjb25zdCBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnkgPSAnZ2VvbWV0cnknO1xuZXhwb3J0IGNvbnN0IGdtbFJlZ2V4ID0gbmV3IFJlZ0V4cCgvKC4qKT9nbWwoLiopPy9naSk7XG5leHBvcnQgY29uc3QganNvblJlZ2V4ID0gbmV3IFJlZ0V4cCgvKC4qKT9qc29uKC4qKT8vZ2kpO1xuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGJ1aWxkIHRoZSBXRlMgVVJMIGJhc2VkIG9uIHRoZSBsYXllciBwcm9wZXJ0eS5cbiAqIEBwYXJhbSBvcHRpb25zICBXRlNEYXRhU291cmNlT3B0aW9ucyBUaGUgY29tbW9uIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAcGFyYW0gZXh0ZW50ICBBbiBleHRlbnQgbGlrZSBhcnJheSBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXVxuICogQHBhcmFtIHByb2ogIG9sUHJvamVjdGlvblxuICogQHBhcmFtIG9nY0ZpbHRlcnMgIE9nY0ZpbHRlcnNPcHRpb25zXG4gKiBAcmV0dXJucyBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGRhdGFzb3VyY2Ugb3B0aW9ucywgYmFzZWQgb24gZmlsdGVyIGFuZCB2aWV3c1xuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRVcmwoXG4gIG9wdGlvbnM6IFdGU0RhdGFTb3VyY2VPcHRpb25zLFxuICBleHRlbnQ6IEV4dGVudCxcbiAgcHJvajogb2xQcm9qZWN0aW9uLFxuICBvZ2NGaWx0ZXJzOiBPZ2NGaWx0ZXJzT3B0aW9ucyxcbiAgcmFuZG9tUGFyYW0/OiBib29sZWFuXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJhbXNXRlMgPSBvcHRpb25zLnBhcmFtc1dGUztcbiAgY29uc3QgcXVlcnlTdHJpbmdWYWx1ZXMgPSBmb3JtYXRXRlNRdWVyeVN0cmluZyhcbiAgICBvcHRpb25zLFxuICAgIHVuZGVmaW5lZCxcbiAgICBvcHRpb25zLnBhcmFtc1dGUy5zcnNOYW1lXG4gICk7XG4gIGxldCBpZ29GaWx0ZXJzO1xuICBpZiAob2djRmlsdGVycz8uZW5hYmxlZCkge1xuICAgIGlnb0ZpbHRlcnMgPSBvZ2NGaWx0ZXJzPy5maWx0ZXJzO1xuICB9XG4gIGNvbnN0IG9nY0ZpbHRlcldyaXRlciA9IG5ldyBPZ2NGaWx0ZXJXcml0ZXIoKTtcbiAgY29uc3QgZmlsdGVyT3JCb3ggPSBvZ2NGaWx0ZXJXcml0ZXIuYnVpbGRGaWx0ZXIoXG4gICAgaWdvRmlsdGVycyxcbiAgICBleHRlbnQsXG4gICAgcHJvaixcbiAgICBvZ2NGaWx0ZXJzPy5nZW9tZXRyeU5hbWUsXG4gICAgb3B0aW9uc1xuICApO1xuICBsZXQgZmlsdGVyT3JQdXNoID0gb2djRmlsdGVyV3JpdGVyLmhhbmRsZU9nY0ZpbHRlcnNBcHBsaWVkVmFsdWUoXG4gICAgb3B0aW9ucyxcbiAgICBvZ2NGaWx0ZXJzPy5nZW9tZXRyeU5hbWUsXG4gICAgZXh0ZW50LFxuICAgIHByb2pcbiAgKTtcblxuICBsZXQgcHJlZml4ID0gJ2ZpbHRlcic7XG4gIGlmIChleHRlbnQgJiYgIWZpbHRlck9yUHVzaCkge1xuICAgIHByZWZpeCA9ICdiYm94JztcbiAgICBmaWx0ZXJPclB1c2ggPSBleHRlbnQuam9pbignLCcpICsgJywnICsgcHJvai5nZXRDb2RlKCk7XG4gIH1cblxuICBpZiAob2djRmlsdGVycz8uYWR2YW5jZWRPZ2NGaWx0ZXJzIHx8IGZpbHRlck9yUHVzaCkge1xuICAgIHBhcmFtc1dGUy54bWxGaWx0ZXIgPSBvZ2NGaWx0ZXJzPy5hZHZhbmNlZE9nY0ZpbHRlcnNcbiAgICAgID8gZmlsdGVyT3JCb3hcbiAgICAgIDogYCR7cHJlZml4fT0ke2ZpbHRlck9yUHVzaH1gO1xuICB9XG5cbiAgbGV0IGJhc2VVcmwgPSBxdWVyeVN0cmluZ1ZhbHVlcy5maW5kKChmKSA9PiBmLm5hbWUgPT09ICdnZXRmZWF0dXJlJykudmFsdWU7XG4gIGNvbnN0IHBhdHRlcm5GaWx0ZXIgPSAvKGZpbHRlcnxiYm94KT0uKi9naTtcbiAgYmFzZVVybCA9IHBhdHRlcm5GaWx0ZXIudGVzdChwYXJhbXNXRlMueG1sRmlsdGVyKVxuICAgID8gYCR7YmFzZVVybH0mJHtwYXJhbXNXRlMueG1sRmlsdGVyfWBcbiAgICA6IGJhc2VVcmw7XG4gIG9wdGlvbnMuZG93bmxvYWQgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLmRvd25sb2FkLCB7XG4gICAgZHluYW1pY1VybDogYmFzZVVybFxuICB9KTtcbiAgaWYgKHJhbmRvbVBhcmFtKSB7XG4gICAgYmFzZVVybCArPSBgJCZfdCR7bmV3IERhdGUoKS5nZXRUaW1lKCl9YDtcbiAgfVxuICByZXR1cm4gYmFzZVVybC5yZXBsYWNlKC8mJi9nLCAnJicpO1xufVxuXG4vKipcbiAqIFRoaXMgbWV0aG9kIGJ1aWxkL3N0YW5kYXJkaXplIFdGUyBjYWxsIHF1ZXJ5IHBhcmFtcyBiYXNlZCBvbiB0aGUgbGF5ZXIgcHJvcGVydHkuXG4gKiBAcGFyYW0gd2ZzRGF0YVNvdXJjZU9wdGlvbnMgIFdGU0RhdGFTb3VyY2VPcHRpb25zIFRoZSBjb21tb24gd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2VcbiAqIEBwYXJhbSBjb3VudCAgTnVtYmVyOiBVc2VkIHRvIGNvbnRyb2wgdGhlIG51bWJlciBvZiBmZWF0dXJlLiBVc2VkIHRvIGJ5cGFzcyB3aGUgd2ZzIGRhdGFzb3VyY2Ugb3B0aW9ucyBpbnRlcmZhY2UgKG1heEZlYXR1cmVzKVxuICogQHBhcmFtIGVwc2cgIFN0cmluZzogVXNlZCB0byBjb250cm9sIHRoZSBFUFNHIGNvZGUgKGVzOiAnRVBTRzM4NTcnKS4gVXNlZCB0byBieXBhc3Mgd2hlIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlIChzcnNOYW1lKVxuICogQHBhcmFtIHByb3BlcnRpZXMgIFN0cmluZzogVXNlZCB0byBjb250cm9sIHRoZSBxdWVyaWVkIGZpZWxkcyAgKFdGUyBzZXJ2aWNlKS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IGFycmF5IG9mIHtuYW1lOiAnJywgdmFsdWU6ICcnfSBvZiBwcmVkZWZpbmVkIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFdGU1F1ZXJ5U3RyaW5nKFxuICBkYXRhU291cmNlT3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9ucyxcbiAgY291bnQ/OiBudW1iZXIsXG4gIGVwc2c/OiBzdHJpbmcsXG4gIHByb3BlcnRpZXM/OiBzdHJpbmcsXG4gIHN0YXJ0SW5kZXggPSAwLFxuICBmb3JjZURlZmF1bHRPdXRwdXRGb3JtYXQgPSBmYWxzZVxuKTogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdIHtcbiAgY29uc3QgdmVyc2lvbldmczIwMCA9ICcyLjAuMCc7IC8vIG5vdCB0aGUgc2FtZSB1c2FnZSBhcyBkZWZhdWx0V2ZzVmVyc2lvbi5cbiAgY29uc3QgdXJsID0gZGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzO1xuICBjb25zdCBwYXJhbXNXRlMgPSBkYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlM7XG4gIGNvbnN0IGVmZmVjdGl2ZUNvdW50ID0gY291bnQgfHwgZGVmYXVsdE1heEZlYXR1cmVzO1xuICBjb25zdCBlZmZlY3RpdmVTdGFydEluZGV4ID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/IGBzdGFydEluZGV4PSR7c3RhcnRJbmRleH1gIDogJyc7XG4gIGNvbnN0IGVwc2dDb2RlID0gZXBzZyB8fCBkZWZhdWx0RXBzZztcbiAgbGV0IG91dHB1dEZvcm1hdCA9IHBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA/IGBvdXRwdXRGb3JtYXQ9JHtwYXJhbXNXRlMub3V0cHV0Rm9ybWF0fWBcbiAgICA6ICcnO1xuICBsZXQgdmVyc2lvbiA9IHBhcmFtc1dGUy52ZXJzaW9uXG4gICAgPyBgdmVyc2lvbj0ke3BhcmFtc1dGUy52ZXJzaW9ufWBcbiAgICA6IGB2ZXJzaW9uPSR7ZGVmYXVsdFdmc1ZlcnNpb259YDtcbiAgY29uc3QgcGFyYW1UeXBlbmFtZSA9XG4gICAgcGFyYW1zV0ZTLnZlcnNpb24gPT09IHZlcnNpb25XZnMyMDAgPyAndHlwZW5hbWVzJyA6ICd0eXBlbmFtZSc7XG4gIGNvbnN0IGZlYXR1cmVUeXBlcyA9IGAke3BhcmFtVHlwZW5hbWV9PSR7cGFyYW1zV0ZTLmZlYXR1cmVUeXBlc31gO1xuICBjb25zdCBwYXJhbU1heEZlYXR1cmVzID1cbiAgICBwYXJhbXNXRlMudmVyc2lvbiA9PT0gdmVyc2lvbldmczIwMCA/ICdjb3VudCcgOiAnbWF4RmVhdHVyZXMnO1xuICBsZXQgY250ID0gY291bnRcbiAgICA/IGAke3BhcmFtTWF4RmVhdHVyZXN9PSR7ZWZmZWN0aXZlQ291bnR9YFxuICAgIDogcGFyYW1zV0ZTLm1heEZlYXR1cmVzXG4gICAgICA/IGAke3BhcmFtTWF4RmVhdHVyZXN9PSR7cGFyYW1zV0ZTLm1heEZlYXR1cmVzfWBcbiAgICAgIDogYCR7cGFyYW1NYXhGZWF0dXJlc309JHtlZmZlY3RpdmVDb3VudH1gO1xuICBpZiAoZm9yY2VEZWZhdWx0T3V0cHV0Rm9ybWF0KSB7XG4gICAgb3V0cHV0Rm9ybWF0ID0gJyc7XG4gICAgdmVyc2lvbiA9ICd2ZXJzaW9uPTEuMS4wJztcbiAgICBjbnQgPSBjbnQucmVwbGFjZSgnY291bnQnLCAnbWF4RmVhdHVyZXMnKTtcbiAgfVxuXG4gIGNvbnN0IHNycyA9IGVwc2dcbiAgICA/IGBzcnNuYW1lPSR7ZXBzZ0NvZGV9YFxuICAgIDogcGFyYW1zV0ZTLnNyc05hbWVcbiAgICAgID8gJ3Nyc25hbWU9JyArIHBhcmFtc1dGUy5zcnNOYW1lXG4gICAgICA6IGBzcnNuYW1lPSR7ZXBzZ0NvZGV9YDtcblxuICBsZXQgcHJvcGVydHlOYW1lID0gJyc7XG4gIGxldCB2YWx1ZVJlZmVyZW5jZSA9ICcnO1xuICBpZiAocHJvcGVydGllcykge1xuICAgIHByb3BlcnR5TmFtZSA9IGBwcm9wZXJ0eU5hbWU9JHtwcm9wZXJ0aWVzfWA7XG4gICAgdmFsdWVSZWZlcmVuY2UgPSBgdmFsdWVSZWZlcmVuY2U9JHtwcm9wZXJ0aWVzfWA7XG4gIH1cbiAgY29uc3Qgc291cmNlRmllbGRzID0gZGF0YVNvdXJjZU9wdGlvbnMuc291cmNlRmllbGRzO1xuICBpZiAoIXByb3BlcnR5TmFtZSAmJiBzb3VyY2VGaWVsZHMgJiYgc291cmNlRmllbGRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaWVsZHNOYW1lcyA9IFtdO1xuICAgIGRhdGFTb3VyY2VPcHRpb25zLnNvdXJjZUZpZWxkcy5mb3JFYWNoKChzb3VyY2VmaWVsZCkgPT4ge1xuICAgICAgZmllbGRzTmFtZXMucHVzaChzb3VyY2VmaWVsZC5uYW1lKTtcbiAgICB9KTtcbiAgICBwcm9wZXJ0eU5hbWUgPSBgcHJvcGVydHlOYW1lPSR7ZmllbGRzTmFtZXMuam9pbignLCcpfSwke1xuICAgICAgcGFyYW1zV0ZTLmZpZWxkTmFtZUdlb21ldHJ5XG4gICAgfWA7XG4gIH1cblxuICBjb25zdCBzZXBhcmF0b3IgPSB1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJztcbiAgY29uc3QgZ2V0Q2FwYWJpbGl0aWVzID0gYCR7dXJsfSR7c2VwYXJhdG9yfXNlcnZpY2U9V0ZTJnJlcXVlc3Q9R2V0Q2FwYWJpbGl0aWVzJiR7dmVyc2lvbn1gO1xuICBsZXQgZ2V0RmVhdHVyZSA9IGAke3VybH0ke3NlcGFyYXRvcn1zZXJ2aWNlPVdGUyZyZXF1ZXN0PUdldEZlYXR1cmUmJHt2ZXJzaW9ufSYke2ZlYXR1cmVUeXBlc30mYDtcbiAgZ2V0RmVhdHVyZSArPSBgJHtvdXRwdXRGb3JtYXR9JiR7c3JzfSYke2NudH0mJHtwcm9wZXJ0eU5hbWV9JiR7ZWZmZWN0aXZlU3RhcnRJbmRleH1gO1xuXG4gIGxldCBnZXRwcm9wZXJ0eXZhbHVlID0gYCR7dXJsfT9zZXJ2aWNlPVdGUyZyZXF1ZXN0PUdldFByb3BlcnR5VmFsdWUmdmVyc2lvbj0ke3ZlcnNpb25XZnMyMDB9JiR7ZmVhdHVyZVR5cGVzfSZgO1xuICBnZXRwcm9wZXJ0eXZhbHVlICs9IGAmJHtjbnR9JiR7dmFsdWVSZWZlcmVuY2V9YDtcblxuICByZXR1cm4gW1xuICAgIHsgbmFtZTogJ291dHB1dGZvcm1hdCcsIHZhbHVlOiBvdXRwdXRGb3JtYXQgfSxcbiAgICB7IG5hbWU6ICd2ZXJzaW9uJywgdmFsdWU6IHZlcnNpb24gfSxcbiAgICB7IG5hbWU6ICd0eXBlbmFtZScsIHZhbHVlOiBmZWF0dXJlVHlwZXMgfSxcbiAgICB7IG5hbWU6ICdjb3VudCcsIHZhbHVlOiBjbnQgfSxcbiAgICB7IG5hbWU6ICdzcnNuYW1lJywgdmFsdWU6IHNycyB9LFxuICAgIHsgbmFtZTogJ3Byb3BlcnR5bmFtZScsIHZhbHVlOiBwcm9wZXJ0eU5hbWUgfSxcbiAgICB7IG5hbWU6ICd2YWx1ZXJlZmVyZW5jZScsIHZhbHVlOiB2YWx1ZVJlZmVyZW5jZSB9LFxuICAgIHsgbmFtZTogJ2dldGNhcGFiaWxpdGllcycsIHZhbHVlOiBnZXRDYXBhYmlsaXRpZXMucmVwbGFjZSgvJiYvZywgJyYnKSB9LFxuICAgIHsgbmFtZTogJ2dldGZlYXR1cmUnLCB2YWx1ZTogZ2V0RmVhdHVyZS5yZXBsYWNlKC8mJi9nLCAnJicpIH0sXG4gICAgeyBuYW1lOiAnZ2V0cHJvcGVydHl2YWx1ZScsIHZhbHVlOiBnZXRwcm9wZXJ0eXZhbHVlLnJlcGxhY2UoLyYmL2csICcmJykgfVxuICBdO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlL01vZGlmeSBsYXllcidzIHdmcyBvcHRpb25zIGJhc2VkIG9uIDpcbiAqIDEtIGFuIE9wZW5sYXllcnMncyBpc3N1ZSB3aXRoIEdNTCBwcm92aWRlZCBmcm9tIFdGUy4gUmVmZXIgdG9cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVubGF5ZXJzL29wZW5sYXllcnMvcHVsbC82NDAwXG4gKiAyLSBTZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIG9wdGlvbmFscyBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHdmc0RhdGFTb3VyY2VPcHRpb25zICBXRlNEYXRhU291cmNlT3B0aW9ucyBUaGUgY29tbW9uIHdmcyBkYXRhc291cmNlIG9wdGlvbnMgaW50ZXJmYWNlXG4gKiBAcmV0dXJucyBBbiBhcnJheSBhcnJheSBvZiB7bmFtZTogJycsIHZhbHVlOiAnJ30gb2YgcHJlZGVmaW5lZCBxdWVyeSBwYXJhbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGVja1dmc1BhcmFtcyh3ZnNEYXRhU291cmNlT3B0aW9ucywgc3JjVHlwZT86IHN0cmluZykge1xuICBpZiAoc3JjVHlwZSAmJiBzcmNUeXBlID09PSAnd2ZzJykge1xuICAgIC8vIHJlYXNzaWduYXRpb24gb2YgcGFyYW1zIHRvIHBhcmFtc1dGUyBhbmQgdXJsIHRvIHVybFdGUyB0byBoYXZlIGEgY29tbW9uIGludGVyZmFjZSB3aXRoIHdtcy13ZnMgZGF0YXNvdXJjZXNcbiAgICB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlMgPSB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXM7XG4gIH1cblxuICBjb25zdCBwYXJhbXNXRlMgPSB3ZnNEYXRhU291cmNlT3B0aW9ucy5wYXJhbXNXRlM7XG4gIHdmc0RhdGFTb3VyY2VPcHRpb25zLnVybFdmcyA9XG4gICAgd2ZzRGF0YVNvdXJjZU9wdGlvbnMudXJsV2ZzIHx8IHdmc0RhdGFTb3VyY2VPcHRpb25zLnVybDtcblxuICBwYXJhbXNXRlMudmVyc2lvbiA9IHBhcmFtc1dGUy52ZXJzaW9uIHx8IGRlZmF1bHRXZnNWZXJzaW9uO1xuICBwYXJhbXNXRlMuZmllbGROYW1lR2VvbWV0cnkgPVxuICAgIHBhcmFtc1dGUy5maWVsZE5hbWVHZW9tZXRyeSB8fCBkZWZhdWx0RmllbGROYW1lR2VvbWV0cnk7XG4gIHBhcmFtc1dGUy5tYXhGZWF0dXJlcyA9IHBhcmFtc1dGUy5tYXhGZWF0dXJlcyB8fCBkZWZhdWx0TWF4RmVhdHVyZXM7XG5cbiAgbGV0IG91dHB1dEZvcm1hdDtcbiAgaWYgKHBhcmFtc1dGUy5vdXRwdXRGb3JtYXQpIHtcbiAgICBvdXRwdXRGb3JtYXQgPSBwYXJhbXNXRlMub3V0cHV0Rm9ybWF0O1xuICB9XG5cbiAgaWYgKGdtbFJlZ2V4LnRlc3Qob3V0cHV0Rm9ybWF0KSB8fCAhb3V0cHV0Rm9ybWF0KSB7XG4gICAgcGFyYW1zV0ZTLnZlcnNpb24gPSAnMS4xLjAnO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCB3ZnNEYXRhU291cmNlT3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXRGcm9tT3B0aW9ucyhcbiAgb3B0aW9uczogV0ZTRGF0YVNvdXJjZU9wdGlvbnMgfCBXTVNEYXRhU291cmNlT3B0aW9uc1xuKSB7XG4gIGNvbnN0IHdmc09wdGlvbnMgPSBvcHRpb25zIGFzIFdGU0RhdGFTb3VyY2VPcHRpb25zO1xuXG4gIGxldCBvbEZvcm1hdENscztcbiAgY29uc3Qgb3V0cHV0Rm9ybWF0ID0gd2ZzT3B0aW9ucy5wYXJhbXNXRlMub3V0cHV0Rm9ybWF0XG4gICAgPyB3ZnNPcHRpb25zLnBhcmFtc1dGUy5vdXRwdXRGb3JtYXRcbiAgICA6IHVuZGVmaW5lZDtcblxuICBpZiAoIW91dHB1dEZvcm1hdCkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfVxuXG4gIGlmIChPbEZvcm1hdFtvdXRwdXRGb3JtYXRdKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdFtvdXRwdXRGb3JtYXRdO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ21sMicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XRlM7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh7XG4gICAgICAuLi53ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMsXG4gICAgICAuLi57IGdtbEZvcm1hdDogb2xGb3JtYXRHTUwyIH1cbiAgICB9KTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ21sMzInKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuV0ZTO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoe1xuICAgICAgLi4ud2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zLFxuICAgICAgLi4ueyBnbWxGb3JtYXQ6IG9sRm9ybWF0R01MMzIgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdnbWwzJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LldGUztcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHtcbiAgICAgIC4uLndmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyxcbiAgICAgIC4uLnsgZ21sRm9ybWF0OiBvbEZvcm1hdEdNTDMgfVxuICAgIH0pO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCd0b3BvanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5Ub3BvSlNPTjtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2dlb2pzb24nKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuR2VvSlNPTjtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ2Vzcmlqc29uJykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LkVzcmlKU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnanNvbicpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5HZW9KU09OO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfSBlbHNlIGlmIChvdXRwdXRGb3JtYXQudG9Mb3dlckNhc2UoKS5tYXRjaCgnZ3B4JykpIHtcbiAgICBvbEZvcm1hdENscyA9IE9sRm9ybWF0LkdQWDtcbiAgICByZXR1cm4gbmV3IG9sRm9ybWF0Q2xzKHdmc09wdGlvbnMuZm9ybWF0T3B0aW9ucyk7XG4gIH0gZWxzZSBpZiAob3V0cHV0Rm9ybWF0LnRvTG93ZXJDYXNlKCkubWF0Y2goJ1dLVCcpKSB7XG4gICAgb2xGb3JtYXRDbHMgPSBPbEZvcm1hdC5XS1Q7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdvc214bWwnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gb2xGb3JtYXRPU01YTUw7XG4gICAgcmV0dXJuIG5ldyBvbEZvcm1hdENscyh3ZnNPcHRpb25zLmZvcm1hdE9wdGlvbnMpO1xuICB9IGVsc2UgaWYgKG91dHB1dEZvcm1hdC50b0xvd2VyQ2FzZSgpLm1hdGNoKCdrbWwnKSkge1xuICAgIG9sRm9ybWF0Q2xzID0gT2xGb3JtYXQuS01MO1xuICAgIHJldHVybiBuZXcgb2xGb3JtYXRDbHMod2ZzT3B0aW9ucy5mb3JtYXRPcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgb2xGb3JtYXRDbHMoKTtcbn1cbiJdfQ==
@@ -15,4 +15,4 @@ export class WMTSDataSource extends DataSource {
15
15
  // empty
16
16
  }
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBSTVDLFlBQVksT0FBOEI7UUFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDO1lBQ0UsUUFBUSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztTQUNuRSxFQUNELElBQUksQ0FBQyxPQUFPLENBQ0YsQ0FBQztRQUViLE9BQU8sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ29sL3NvdXJjZS9XTVRTJztcbmltcG9ydCBvbFNvdXJjZVdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnO1xuXG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGlsZUdyaWQgfSBmcm9tICcuLi8uLi91dGlscy90aWxlZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXTVRTRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGVjbGFyZSBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVdNVFM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VXTVRTIHtcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgdGlsZUdyaWQ6IGNyZWF0ZURlZmF1bHRUaWxlR3JpZCh0aGlzLm9wdGlvbnMucHJvamVjdGlvbiBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKSBhcyBPcHRpb25zO1xuXG4gICAgcmV0dXJuIG5ldyBvbFNvdXJjZVdNVFMoc291cmNlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid210cy1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvd210cy1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sWUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxVQUFVO0lBSTVDLFlBQVksT0FBOEI7UUFDeEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ2pDO1lBQ0UsUUFBUSxFQUFFLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBb0IsQ0FBQztTQUNuRSxFQUNELElBQUksQ0FBQyxPQUFPLENBQ0YsQ0FBQztRQUViLE9BQU8sSUFBSSxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ29sL3NvdXJjZS9XTVRTJztcbmltcG9ydCBvbFNvdXJjZVdNVFMgZnJvbSAnb2wvc291cmNlL1dNVFMnO1xuXG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGlsZUdyaWQgfSBmcm9tICcuLi8uLi91dGlscy90aWxlZ3JpZCc7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnLi9kYXRhc291cmNlJztcbmltcG9ydCB7IFdNVFNEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vd210cy1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBXTVRTRGF0YVNvdXJjZSBleHRlbmRzIERhdGFTb3VyY2Uge1xuICBkZWNsYXJlIHB1YmxpYyBvcHRpb25zOiBXTVRTRGF0YVNvdXJjZU9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZVdNVFM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogV01UU0RhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VXTVRTIHtcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgdGlsZUdyaWQ6IGNyZWF0ZURlZmF1bHRUaWxlR3JpZCh0aGlzLm9wdGlvbnMucHJvamVjdGlvbiBhcyBzdHJpbmcpXG4gICAgICB9LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKSBhcyBPcHRpb25zO1xuXG4gICAgcmV0dXJuIG5ldyBvbFNvdXJjZVdNVFMoc291cmNlT3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
@@ -8,4 +8,4 @@ export class XYZDataSource extends DataSource {
8
8
  // empty
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUztRQUNkLFFBQVE7SUFDVixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VYWVogZnJvbSAnb2wvc291cmNlL1hZWic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgWFlaRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBYWVpEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IFhZWkRhdGFTb3VyY2VPcHRpb25zO1xuICBwdWJsaWMgZGVjbGFyZSBvbDogb2xTb3VyY2VYWVo7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlWFlaIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlWFlaKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHl6LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy94eXotZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxlQUFlLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcxQyxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFJakMsY0FBYztRQUN0QixPQUFPLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sU0FBUztRQUNkLFFBQVE7SUFDVixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgb2xTb3VyY2VYWVogZnJvbSAnb2wvc291cmNlL1hZWic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgWFlaRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL3h5ei1kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBYWVpEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9wdGlvbnM6IFhZWkRhdGFTb3VyY2VPcHRpb25zO1xuICBkZWNsYXJlIHB1YmxpYyBvbDogb2xTb3VyY2VYWVo7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlWFlaIHtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlWFlaKHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
@@ -70,10 +70,10 @@ export class OptionsApiService extends OptionsService {
70
70
  return res.sourceOptions;
71
71
  }));
72
72
  }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OptionsApiService, deps: [{ token: i1.HttpClient }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
74
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OptionsApiService, providedIn: 'root' });
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, deps: [{ token: i1.HttpClient }, { token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, providedIn: 'root' });
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: OptionsApiService, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OptionsApiService, decorators: [{
77
77
  type: Injectable,
78
78
  args: [{
79
79
  providedIn: 'root'
@@ -168,10 +168,10 @@ export class DirectionsButtonsComponent {
168
168
  this.disabled$.next(false);
169
169
  });
170
170
  }
171
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DirectionsButtonsComponent, deps: [{ token: i1.LanguageService }, { token: i2.MessageService }, { token: i3.RouteService, optional: true }, { token: i4.DirectionsService }], target: i0.ɵɵFactoryTarget.Component });
172
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: DirectionsButtonsComponent, isStandalone: true, selector: "igo-directions-buttons", inputs: { contextUri: "contextUri", zoomToActiveRoute$: "zoomToActiveRoute$", stopsStore: "stopsStore", routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore" }, ngImport: i0, template: "<div class=\"igo-form-button-group\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\"\n color=\"primary\"\n (click)=\"addStop()\"\n >\n <mat-icon>add_location_alt</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"\n (routesFeatureStore.count$ | async) >= 1 ||\n (stopsStore.count$ | async) >= 1\n \"\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\"\n color=\"warn\"\n (click)=\"resetStops()\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"zoomRoute()\"\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\"\n color=\"primary\"\n >\n <mat-icon>zoom_in</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyDirectionsToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\"\n color=\"primary\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyLinkToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\"\n color=\"primary\"\n >\n <mat-icon>link</mat-icon>\n </button>\n\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"printDirections()\"\n [disabled]=\"disabled$ | async\"\n [matTooltip]=\"'igo.geo.directionsForm.print' | translate\"\n color=\"primary\"\n >\n <mat-icon>print</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
171
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsButtonsComponent, deps: [{ token: i1.LanguageService }, { token: i2.MessageService }, { token: i3.RouteService, optional: true }, { token: i4.DirectionsService }], target: i0.ɵɵFactoryTarget.Component });
172
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DirectionsButtonsComponent, isStandalone: true, selector: "igo-directions-buttons", inputs: { contextUri: "contextUri", zoomToActiveRoute$: "zoomToActiveRoute$", stopsStore: "stopsStore", routesFeatureStore: "routesFeatureStore", stepFeatureStore: "stepFeatureStore" }, ngImport: i0, template: "<div class=\"igo-form-button-group\">\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.directionsForm.addStop' | translate\"\n color=\"primary\"\n (click)=\"addStop()\"\n >\n <mat-icon>add_location_alt</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"\n (routesFeatureStore.count$ | async) >= 1 ||\n (stopsStore.count$ | async) >= 1\n \"\n [matTooltip]=\"'igo.geo.directionsForm.resetDirectionsBtn' | translate\"\n color=\"warn\"\n (click)=\"resetStops()\"\n >\n <mat-icon>restore_page</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"zoomRoute()\"\n [matTooltip]=\"'igo.geo.directionsForm.zoomRoute' | translate\"\n color=\"primary\"\n >\n <mat-icon>zoom_in</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyDirectionsToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.copy' | translate\"\n color=\"primary\"\n >\n <mat-icon>content_copy</mat-icon>\n </button>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"copyLinkToClipboard()\"\n [matTooltip]=\"'igo.geo.directionsForm.link' | translate\"\n color=\"primary\"\n >\n <mat-icon>link</mat-icon>\n </button>\n\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n *ngIf=\"(routesFeatureStore.count$ | async) >= 1\"\n (click)=\"printDirections()\"\n [disabled]=\"disabled$ | async\"\n [matTooltip]=\"'igo.geo.directionsForm.print' | translate\"\n color=\"primary\"\n >\n <mat-icon>print</mat-icon>\n </button>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
173
173
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DirectionsButtonsComponent, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DirectionsButtonsComponent, decorators: [{
175
175
  type: Component,
176
176
  args: [{ selector: 'igo-directions-buttons', standalone: true, imports: [
177
177
  MatButtonModule,