@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
@@ -192,10 +192,10 @@ export class CatalogBrowserGroupComponent {
192
192
  onTitleClick() {
193
193
  this.collapsed = !this.collapsed;
194
194
  }
195
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n\n <ng-container\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\n >\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n </ng-template>\n </div>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution\"\n [map]=\"map\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
196
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserGroupComponent, isStandalone: true, selector: "igo-catalog-browser-group", inputs: { catalog: "catalog", group: "group", map: "map", collapsed: "collapsed", resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", toggleCollapsed: "toggleCollapsed", state: "state" }, outputs: { addedChange: "addedChange", layerAddedChange: "layerAddedChange" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n matListItemIcon\n igoCollapse\n class=\"igo-chevron catalog-browser-group-carret\"\n [target]=\"items\"\n [collapsed]=\"collapsed\"\n (toggle)=\"onToggleCollapsed($event)\"\n >\n expand_less\n </mat-icon>\n\n <span\n class=\"igo-catalog-group-title\"\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"title\"\n (click)=\"onTitleClick()\"\n >{{ title }}</span\n >\n\n <div matListItemMeta>\n <button *ngIf=\"group.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloggroup-external-icon\"\n *ngIf=\"group.externalProvider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.group' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n\n <ng-container\n *ngIf=\"(added$ | async) && (preview$ | async) === false; else notadded\"\n >\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.removeFromMap' | translate\"\n color=\"warn\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n </ng-container>\n\n <ng-template #notadded>\n <button\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.group.addToMap' | translate\"\n [disabled]=\"disabled$ | async\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon>add</mat-icon>\n </button>\n </ng-template>\n </div>\n</mat-list-item>\n\n<div #items>\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <!-- todo: add display ans manage CatalogItemGroup -->\n </ng-container>\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [resolution]=\"resolution\"\n [map]=\"map\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"state.get(item).added\"\n (addedLayerIsPreview)=\"onLayerPreview($event)\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".igo-catalog-group-title{cursor:pointer}.igo-cataloggroup-external-icon{cursor:help}.catalog-browser-group-carret{margin-right:16px}.igo-catalog-group-title{font-weight:500}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: CollapseDirective, selector: "[igoCollapse]", inputs: ["target", "collapsed"], outputs: ["toggle"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
197
197
  }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserGroupComponent, decorators: [{
199
199
  type: Component,
200
200
  args: [{ selector: 'igo-catalog-browser-group', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
201
201
  MatListModule,
@@ -237,10 +237,10 @@ export class CatalogBrowserLayerComponent {
237
237
  : 'igo.geo.catalog.layer.addToMapOutRange';
238
238
  }
239
239
  }
240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n *ngIf=\"haveGroup()\"\n class=\"catalog-browser-layer-carret\"\n matListItemIcon\n ></mat-icon>\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"$any(layer)\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ (isPreview$ | async) ? 'plus' : added ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\n \"\n [layer]=\"igoLayer$ | async\"\n >\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserLayerComponent, deps: [{ token: i1.LayerService }], target: i0.ɵɵFactoryTarget.Component });
241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserLayerComponent, isStandalone: true, selector: "igo-catalog-browser-layer", inputs: { resolution: "resolution", catalogAllowLegend: "catalogAllowLegend", layer: "layer", map: "map", added: "added" }, outputs: { addedChange: "addedChange", addedLayerIsPreview: "addedLayerIsPreview" }, ngImport: i0, template: "<mat-list-item>\n <mat-icon\n *ngIf=\"haveGroup()\"\n class=\"catalog-browser-layer-carret\"\n matListItemIcon\n ></mat-icon>\n <span\n matListItemTitle\n matTooltipShowDelay=\"500\"\n [ngClass]=\"catalogAllowLegend ? 'igo-cataloglayer-title' : ''\"\n (click)=\"askForLegend()\"\n [matTooltip]=\"computeTitleTooltip()\"\n >\n {{ title }}\n </span>\n\n <div matListItemMeta>\n <button *ngIf=\"layer.externalProvider\" disabled=\"true\" mat-icon-button>\n <mat-icon\n class=\"igo-cataloglayer-external-icon\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.layer' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n </button>\n <igo-metadata-button [layer]=\"$any(layer)\"></igo-metadata-button>\n\n <button\n (mouseenter)=\"onMouseEvent($event)\"\n (mouseleave)=\"onMouseEvent($event)\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"computeTooltip() | translate\"\n [color]=\"(isPreview$ | async) ? '' : added ? 'warn' : ''\"\n (click)=\"onToggleClick($event)\"\n >\n <mat-icon\n aria-hidden=\"false\"\n matBadge=\"icon\"\n [igoMatBadgeIcon]=\"getBadgeIcon()\"\n igoMatBadgeColor=\"rgba(0,0,0,0.87)\"\n igoMatBadgeBackgroundColor=\"none\"\n [igoMatBadgeInverseColor]=\"true\"\n [matBadgeHidden]=\"\n ((inRange$ | async) && (isVisible$ | async) === true) ||\n ((inRange$ | async) && !added) ||\n ((inRange$ | async) && (isPreview$ | async))\n \"\n [matBadgeDisabled]=\"(inRange$ | async) === false\"\n matBadgeSize=\"small\"\n matBadgePosition=\"after\"\n >\n {{ (isPreview$ | async) ? 'plus' : added ? 'delete' : 'add' }}\n </mat-icon>\n </button>\n </div>\n</mat-list-item>\n\n<div #legend class=\"igo-cataloglayer-legend-container\">\n <igo-layer-legend\n *ngIf=\"\n (layerLegendShown$ | async) && (igoLayer$ | async) && catalogAllowLegend\n \"\n [layer]=\"igoLayer$ | async\"\n >\n </igo-layer-legend>\n</div>\n", styles: [".igo-cataloglayer-title{cursor:pointer}.catalog-browser-layer-carret{margin-right:16px}.igo-cataloglayer-legend-container{padding-left:18px;width:calc(100% - 18px);margin-left:40px}.igo-cataloglayer-external-icon{cursor:help}:host .mdc-list-item__end,:host .mdc-list-item__start{color:#000}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i2.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i2.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i2.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MetadataButtonComponent, selector: "igo-metadata-button", inputs: ["layer", "color"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i6.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "directive", type: IgoBadgeIconDirective, selector: "[igoMatBadgeIcon]", inputs: ["igoMatBadgeIcon", "matBadgeHidden", "matBadgeDisabled", "igoMatBadgeInverseColor", "igoMatBadgeInheritColor", "igoMatBadgeColor", "igoMatBadgeBackgroundColor"] }, { kind: "component", type: LayerLegendComponent, selector: "igo-layer-legend", inputs: ["updateLegendOnResolutionChange", "layer"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
242
242
  }
243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserLayerComponent, decorators: [{
244
244
  type: Component,
245
245
  args: [{ selector: 'igo-catalog-browser-layer', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
246
246
  MatListModule,
@@ -215,10 +215,10 @@ export class CatalogBrowserComponent {
215
215
  });
216
216
  this.removeLayersFromMap(layers);
217
217
  }
218
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
219
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CatalogBrowserComponent, isStandalone: true, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"store.count === 1 ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n", dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
218
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserComponent, deps: [{ token: i1.LayerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
219
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogBrowserComponent, isStandalone: true, selector: "igo-catalog-browser", inputs: { catalogAllowLegend: "catalogAllowLegend", catalog: "catalog", store: "store", map: "map", toggleCollapsedGroup: "toggleCollapsedGroup" }, ngImport: i0, template: "<igo-list [navigation]=\"false\" [selection]=\"false\">\n <ng-template ngFor let-item [ngForOf]=\"store.view.all$() | async\">\n <ng-container *ngIf=\"isGroup(item)\">\n <igo-catalog-browser-group\n [catalog]=\"catalog\"\n [group]=\"item\"\n [map]=\"map\"\n [state]=\"store.state\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [collapsed]=\"store.count === 1 ? false : true\"\n [toggleCollapsed]=\"toggleCollapsedGroup\"\n (addedChange)=\"onGroupAddedChange($event)\"\n (layerAddedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-group>\n </ng-container>\n\n <ng-container *ngIf=\"isLayer(item)\">\n <igo-catalog-browser-layer\n igoListItem\n [layer]=\"$any(item)\"\n [map]=\"map\"\n [resolution]=\"resolution$ | async\"\n [catalogAllowLegend]=\"catalogAllowLegend\"\n [added]=\"store.state.get(item).added\"\n (addedChange)=\"onLayerAddedChange($event)\"\n >\n </igo-catalog-browser-layer>\n </ng-container>\n </ng-template>\n</igo-list>\n", dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CatalogBrowserGroupComponent, selector: "igo-catalog-browser-group", inputs: ["catalog", "group", "map", "collapsed", "resolution", "catalogAllowLegend", "toggleCollapsed", "state"], outputs: ["addedChange", "layerAddedChange"] }, { kind: "component", type: CatalogBrowserLayerComponent, selector: "igo-catalog-browser-layer", inputs: ["resolution", "catalogAllowLegend", "layer", "map", "added"], outputs: ["addedChange", "addedLayerIsPreview"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
220
220
  }
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogBrowserComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{ selector: 'igo-catalog-browser', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
224
224
  ListComponent,
@@ -5,11 +5,11 @@ import * as i0 from "@angular/core";
5
5
  * @deprecated import the CatalogBrowserComponent directly
6
6
  */
7
7
  export class IgoCatalogBrowserModule {
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent], exports: [CatalogBrowserComponent] });
10
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent] });
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent], exports: [CatalogBrowserComponent] });
10
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, imports: [CatalogBrowserComponent] });
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogBrowserModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  imports: [CatalogBrowserComponent],
@@ -103,10 +103,10 @@ export class AddCatalogDialogComponent {
103
103
  this.error = false;
104
104
  this.dialogRef.close();
105
105
  }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: AddCatalogDialogComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.LanguageService }, { token: i3.ConfigService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: AddCatalogDialogComponent, isStandalone: true, selector: "igo-add-catalog-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\n matInput\n [matAutocomplete]=\"auto2\"\n />\n <mat-autocomplete\n #auto2=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.title }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"url\"\n placeholder=\"URL\"\n matInput\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.url }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select formControlName=\"type\" placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\"\n >\n <p matListItemTitle>{{ type }}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant(\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\n { value: addedCatalog.url, email: emailAddress }\n )\n }}\n </p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant('igo.geo.catalog.unavailable', {\n value: addedCatalog.url\n })\n }}\n </p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n {{ 'igo.geo.catalog.library.cancel' | translate }}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\"\n >\n {{ 'igo.geo.catalog.library.add' | translate }}\n </button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: MatListModule }, { kind: "directive", type: i11.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddCatalogDialogComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.LanguageService }, { token: i3.ConfigService }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component });
107
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AddCatalogDialogComponent, isStandalone: true, selector: "igo-add-catalog-dialog", ngImport: i0, template: "<h1 mat-dialog-title class=\"mat-typography\">\n {{ 'igo.geo.catalog.library.addTitle' | translate }}\n</h1>\n<div mat-dialog-content class=\"mat-typography\">\n <form class=\"igo-form\" [formGroup]=\"form\">\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"title\"\n placeholder=\"{{ 'igo.geo.printForm.title' | translate }}\"\n matInput\n [matAutocomplete]=\"auto2\"\n />\n <mat-autocomplete\n #auto2=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.title\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.title }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <input\n type=\"text\"\n formControlName=\"url\"\n placeholder=\"URL\"\n matInput\n [matAutocomplete]=\"auto\"\n />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"changeUrlOrTitle($event.option.value)\"\n >\n <mat-option\n *ngFor=\"let predefinedCatalog of predefinedCatalogsList$ | async\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"predefinedCatalog.url\"\n [value]=\"predefinedCatalog\"\n >\n {{ predefinedCatalog.url }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n </div>\n <div class=\"igo-input-container\">\n <mat-form-field>\n <mat-select formControlName=\"type\" placeholder=\"Type\">\n <mat-option\n *ngFor=\"let type of typeCapabilities\"\n [value]=\"type\"\n (click)=\"$event.stopPropagation()\"\n >\n <p matListItemTitle>{{ type }}</p>\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </form>\n <span *ngIf=\"error && addedCatalog && emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant(\n 'igo.geo.catalog.externalProvider.unavailableWithEmail',\n { value: addedCatalog.url, email: emailAddress }\n )\n }}\n </p>\n </span>\n <span *ngIf=\"error && addedCatalog && !emailAddress\">\n <p class=\"error\">\n {{\n languageService.translate.instant('igo.geo.catalog.unavailable', {\n value: addedCatalog.url\n })\n }}\n </p>\n </span>\n</div>\n<div mat-dialog-actions style=\"justify-content: center\">\n <div class=\"igo-form-button-group add-catalog-button-top-padding\">\n <button mat-raised-button type=\"button\" (click)=\"cancel()\">\n {{ 'igo.geo.catalog.library.cancel' | translate }}\n </button>\n <button\n id=\"addCatalogBtnDialog\"\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!form.valid\"\n (click)=\"addCatalog(form.value)\"\n >\n {{ 'igo.geo.catalog.library.add' | translate }}\n </button>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}.add-catalog-button-top-padding{padding-top:25px}.igo-form{padding:10px 5px 5px}.igo-form-button-group{text-align:center}button{cursor:pointer}button#addCatalogBtnDialog[disabled=true]{cursor:default;background-color:#0000001f;color:#00000042}.error{color:red}\n"], dependencies: [{ kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "ngmodule", type: MatListModule }, { kind: "directive", type: i11.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: AddCatalogDialogComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AddCatalogDialogComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'igo-add-catalog-dialog', standalone: true, imports: [
112
112
  MatDialogTitle,
@@ -37,10 +37,10 @@ export class CatalogLibaryItemComponent {
37
37
  event.stopPropagation();
38
38
  this.catalogRemove.emit();
39
39
  }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogLibaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CatalogLibaryItemComponent, isStandalone: true, selector: "igo-catalog-library-item", inputs: { catalog: "catalog", map: "map" }, outputs: { catalogRemove: "catalogRemove" }, ngImport: i0, template: "<mat-list-item>\n <span matListItemTitle>\n {{ title }}\n </span>\n <div matListItemMeta>\n <mat-icon\n *ngIf=\"catalog.externalProvider\"\n matListItemIcon\n class=\"igo-external-provider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button\n >\n <mat-icon></mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibaryItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogLibaryItemComponent, isStandalone: true, selector: "igo-catalog-library-item", inputs: { catalog: "catalog", map: "map" }, outputs: { catalogRemove: "catalogRemove" }, ngImport: i0, template: "<mat-list-item>\n <span matListItemTitle>\n {{ title }}\n </span>\n <div matListItemMeta>\n <mat-icon\n *ngIf=\"catalog.externalProvider\"\n matListItemIcon\n class=\"igo-external-provider\"\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.externalProvider.catalog' | translate\"\n color=\"primary\"\n (click)=\"$event.stopPropagation()\"\n >\n public\n </mat-icon>\n <button\n *ngIf=\"catalog.removable\"\n mat-icon-button\n tooltip-position=\"below\"\n matTooltipShowDelay=\"500\"\n [matTooltip]=\"'igo.geo.catalog.library.remove' | translate\"\n color=\"warn\"\n (click)=\"removeCatalogFromLibrary($event)\"\n >\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n class=\"igo-blank\"\n *ngIf=\"!catalog.removable\"\n disabled=\"true\"\n mat-icon-button\n >\n <mat-icon></mat-icon>\n </button>\n </div>\n</mat-list-item>\n", styles: [".igo-blank{cursor:pointer}.igo-external-provider{cursor:help}\n"], dependencies: [{ kind: "ngmodule", type: MatListModule }, { kind: "component", type: i1.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i1.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: i1.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "directive", type: i1.MatListItemMeta, selector: "[matListItemMeta]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogLibaryItemComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibaryItemComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'igo-catalog-library-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
46
46
  MatListModule,
@@ -201,10 +201,10 @@ export class CatalogLibaryComponent {
201
201
  this.addCatalog(catalog);
202
202
  });
203
203
  }
204
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogLibaryComponent, deps: [{ token: i1.CapabilitiesService }, { token: i2.MessageService }, { token: i3.StorageService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
205
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: CatalogLibaryComponent, isStandalone: true, selector: "igo-catalog-library", inputs: { store: "store", map: "map", addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, outputs: { catalogSelectChange: "catalogSelectChange" }, ngImport: i0, template: "<igo-list [navigation]=\"false\">\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\n <igo-catalog-library-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [catalog]=\"catalog\"\n (catalogRemove)=\"onCatalogRemove(catalog)\"\n (select)=\"onCatalogSelect(catalog)\"\n >\n </igo-catalog-library-item>\n </ng-template>\n</igo-list>\n\n<div *ngIf=\"addCatalogAllowed\" class=\"btnAddCatalog\">\n <button\n mat-raised-button\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"addCatalogDialog()\"\n >\n {{ 'igo.geo.catalog.library.addBtn' | translate }}\n <mat-icon>library_add</mat-icon>\n </button>\n</div>\n", styles: [":host igo-list{height:auto}:host .btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"], dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogLibaryItemComponent, selector: "igo-catalog-library-item", inputs: ["catalog", "map"], outputs: ["catalogRemove"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-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: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibaryComponent, deps: [{ token: i1.CapabilitiesService }, { token: i2.MessageService }, { token: i3.StorageService }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
205
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CatalogLibaryComponent, isStandalone: true, selector: "igo-catalog-library", inputs: { store: "store", map: "map", addCatalogAllowed: "addCatalogAllowed", predefinedCatalogs: "predefinedCatalogs" }, outputs: { catalogSelectChange: "catalogSelectChange" }, ngImport: i0, template: "<igo-list [navigation]=\"false\">\n <ng-template ngFor let-catalog [ngForOf]=\"getCatalogs() | async\">\n <igo-catalog-library-item\n igoListItem\n color=\"accent\"\n [map]=\"map\"\n [catalog]=\"catalog\"\n (catalogRemove)=\"onCatalogRemove(catalog)\"\n (select)=\"onCatalogSelect(catalog)\"\n >\n </igo-catalog-library-item>\n </ng-template>\n</igo-list>\n\n<div *ngIf=\"addCatalogAllowed\" class=\"btnAddCatalog\">\n <button\n mat-raised-button\n [matTooltip]=\"'igo.geo.catalog.library.addBtn' | translate\"\n matTooltipPosition=\"above\"\n color=\"primary\"\n (click)=\"addCatalogDialog()\"\n >\n {{ 'igo.geo.catalog.library.addBtn' | translate }}\n <mat-icon>library_add</mat-icon>\n </button>\n</div>\n", styles: [":host igo-list{height:auto}:host .btnAddCatalog{justify-content:center;display:flex;margin:30px 0}\n"], dependencies: [{ kind: "component", type: ListComponent, selector: "igo-list", inputs: ["navigation", "selection"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: CatalogLibaryItemComponent, selector: "igo-catalog-library-item", inputs: ["catalog", "map"], outputs: ["catalogRemove"] }, { kind: "directive", type: ListItemDirective, selector: "[igoListItem]", inputs: ["color", "focused", "selected", "disabled"], outputs: ["beforeSelect", "beforeFocus", "beforeUnselect", "beforeUnfocus", "beforeDisable", "beforeEnable", "focus", "unfocus", "select", "unselect", "disable", "enable"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-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: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: IgoLanguageModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
206
  }
207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogLibaryComponent, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogLibaryComponent, decorators: [{
208
208
  type: Component,
209
209
  args: [{ selector: 'igo-catalog-library', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
210
210
  ListComponent,
@@ -10,11 +10,11 @@ export const CATALOG_LIBRARY_DIRECTIVES = [
10
10
  * @deprecated import the CatalogLibaryComponent, AddCatalogDialogComponent directly
11
11
  */
12
12
  export class IgoCatalogLibraryModule {
13
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogLibraryModule, imports: [CatalogLibaryComponent, AddCatalogDialogComponent], exports: [CatalogLibaryComponent, AddCatalogDialogComponent] });
15
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogLibraryModule, imports: [CatalogLibaryComponent, AddCatalogDialogComponent] });
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogLibraryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogLibraryModule, imports: [CatalogLibaryComponent, AddCatalogDialogComponent], exports: [CatalogLibaryComponent, AddCatalogDialogComponent] });
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogLibraryModule, imports: [CatalogLibaryComponent, AddCatalogDialogComponent] });
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogLibraryModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogLibraryModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  imports: [CatalogLibaryComponent, AddCatalogDialogComponent],
@@ -12,11 +12,11 @@ export const CATALOG_DIRECTIVES = [
12
12
  * @deprecated import the components directly or the CATALOG_DIRECTIVES
13
13
  */
14
14
  export class IgoCatalogModule {
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogModule, imports: [CatalogBrowserComponent, i1.CatalogLibaryComponent, i2.AddCatalogDialogComponent], exports: [CatalogBrowserComponent, i1.CatalogLibaryComponent, i2.AddCatalogDialogComponent] });
17
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogModule, imports: [CATALOG_DIRECTIVES] });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogModule, imports: [CatalogBrowserComponent, i1.CatalogLibaryComponent, i2.AddCatalogDialogComponent], exports: [CatalogBrowserComponent, i1.CatalogLibaryComponent, i2.AddCatalogDialogComponent] });
17
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogModule, imports: [CATALOG_DIRECTIVES] });
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: IgoCatalogModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IgoCatalogModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [...CATALOG_DIRECTIVES],
@@ -666,10 +666,10 @@ export class CatalogService {
666
666
  });
667
667
  return layersQueryFormat;
668
668
  }
669
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i4.MessageService }, { token: i5.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Injectable });
670
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogService, providedIn: 'root' });
669
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }, { token: i3.LanguageService }, { token: i4.MessageService }, { token: i5.CapabilitiesService }], target: i0.ɵɵFactoryTarget.Injectable });
670
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, providedIn: 'root' });
671
671
  }
672
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CatalogService, decorators: [{
672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CatalogService, decorators: [{
673
673
  type: Injectable,
674
674
  args: [{
675
675
  providedIn: 'root'
@@ -397,8 +397,8 @@ export class CapabilitiesService {
397
397
  };
398
398
  return legendOptions;
399
399
  }
400
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CapabilitiesService, deps: [{ token: i1.HttpClient }, { token: i2.MapService }], target: i0.ɵɵFactoryTarget.Injectable });
401
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
400
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapabilitiesService, deps: [{ token: i1.HttpClient }, { token: i2.MapService }], target: i0.ɵɵFactoryTarget.Injectable });
401
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapabilitiesService, providedIn: 'root' });
402
402
  }
403
403
  __decorate([
404
404
  Cacheable({
@@ -432,7 +432,7 @@ __decorate([
432
432
  __metadata("design:paramtypes", [String, String, String]),
433
433
  __metadata("design:returntype", Observable)
434
434
  ], CapabilitiesService.prototype, "getCapabilities", null);
435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CapabilitiesService, decorators: [{
435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CapabilitiesService, decorators: [{
436
436
  type: Injectable,
437
437
  args: [{
438
438
  providedIn: 'root'
@@ -244,10 +244,10 @@ export class DataSourceService {
244
244
  createClusterDataSource(context) {
245
245
  return new Observable((d) => d.next(new ClusterDataSource(context)));
246
246
  }
247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataSourceService, deps: [{ token: i1.CapabilitiesService }, { token: i2.OptionsService, optional: true }, { token: i3.WFSService }, { token: i4.LanguageService }, { token: i5.MessageService }, { token: i6.AuthInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
248
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataSourceService, providedIn: 'root' });
247
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataSourceService, deps: [{ token: i1.CapabilitiesService }, { token: i2.OptionsService, optional: true }, { token: i3.WFSService }, { token: i4.LanguageService }, { token: i5.MessageService }, { token: i6.AuthInterceptor }], target: i0.ɵɵFactoryTarget.Injectable });
248
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataSourceService, providedIn: 'root' });
249
249
  }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataSourceService, decorators: [{
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DataSourceService, decorators: [{
251
251
  type: Injectable,
252
252
  args: [{
253
253
  providedIn: 'root'
@@ -211,4 +211,4 @@ export class ArcGISRestDataSource extends DataSource {
211
211
  // empty
212
212
  }
213
213
  }
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjZ2lzcmVzdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYXJjZ2lzcmVzdC1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQVU7SUFJeEMsY0FBYztRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUM5QyxRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLEdBQUcsRUFBRSxVQUFVLE1BQU07Z0JBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3hFLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUNqQyxVQUFVO29CQUNSLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ1QsVUFBVTtvQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNULFVBQVU7b0JBQ1YsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDVCxVQUFVO29CQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ1Qsc0NBQXNDLENBQ3pDLENBQUM7Z0JBQ0YsTUFBTSxNQUFNLEdBQUc7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SCxJQUFJO3dCQUNKLFdBQVcsQ0FBQztZQUNoQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRztvQkFDRCwrRUFBK0U7d0JBQy9FLE1BQU07d0JBQ04sR0FBRzt3QkFDSCxXQUFXO3dCQUNYLEdBQUc7d0JBQ0gsSUFBSTt3QkFDSixXQUFXLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbEZvcm1hdEVzcmlKU09OIGZyb20gJ29sL2Zvcm1hdC9Fc3JpSlNPTic7XG5pbXBvcnQgKiBhcyBvbGxvYWRpbmdzdHJhdGVneSBmcm9tICdvbC9sb2FkaW5nc3RyYXRlZ3knO1xuaW1wb3J0IG9sU291cmNlVmVjdG9yIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuXG5pbXBvcnQgeyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2FyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEFyY0dJU1Jlc3REYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZVZlY3RvcjtcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZVZlY3RvciB7XG4gICAgY29uc3QgZXNyaWpzb25Gb3JtYXQgPSBuZXcgb2xGb3JtYXRFc3JpSlNPTigpO1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VWZWN0b3Ioe1xuICAgICAgYXR0cmlidXRpb25zOiB0aGlzLm9wdGlvbnMucGFyYW1zLmF0dHJpYnV0aW9ucyxcbiAgICAgIG92ZXJsYXBzOiBmYWxzZSxcbiAgICAgIGZvcm1hdDogZXNyaWpzb25Gb3JtYXQsXG4gICAgICB1cmw6IGZ1bmN0aW9uIChleHRlbnQpIHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMub3B0aW9ucy51cmwgKyAnLycgKyB0aGlzLm9wdGlvbnMubGF5ZXIgKyAnL3F1ZXJ5Lyc7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICd7XCJ4bWluXCI6JyArXG4gICAgICAgICAgICBleHRlbnRbMF0gK1xuICAgICAgICAgICAgJyxcInltaW5cIjonICtcbiAgICAgICAgICAgIGV4dGVudFsxXSArXG4gICAgICAgICAgICAnLFwieG1heFwiOicgK1xuICAgICAgICAgICAgZXh0ZW50WzJdICtcbiAgICAgICAgICAgICcsXCJ5bWF4XCI6JyArXG4gICAgICAgICAgICBleHRlbnRbM10gK1xuICAgICAgICAgICAgJyxcInNwYXRpYWxSZWZlcmVuY2VcIjp7XCJ3a2lkXCI6MTAyMTAwfX0nXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFtcbiAgICAgICAgICAnZj1qc29uJyxcbiAgICAgICAgICBgZ2VvbWV0cnk9JHtnZW9tZXRyeX1gLFxuICAgICAgICAgICdnZW9tZXRyeVR5cGU9ZXNyaUdlb21ldHJ5RW52ZWxvcGUnLFxuICAgICAgICAgICdpblNSPTEwMjEwMCcsXG4gICAgICAgICAgJ3NwYXRpYWxSZWw9ZXNyaVNwYXRpYWxSZWxJbnRlcnNlY3RzJyxcbiAgICAgICAgICAnb3V0RmllbGRzPSonLFxuICAgICAgICAgICdyZXR1cm5HZW9tZXRyeT10cnVlJyxcbiAgICAgICAgICAnb3V0U1I9MTAyMTAwJ1xuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnBhcmFtcy50aW1lKSB7XG4gICAgICAgICAgY29uc3QgdGltZSA9IGB0aW1lPSR7dGhpcy5vcHRpb25zLnBhcmFtcy50aW1lfWA7XG4gICAgICAgICAgcGFyYW1zLnB1c2godGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5wYXJhbXMuY3VzdG9tUGFyYW1zKSB7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcy5jdXN0b21QYXJhbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9PyR7cGFyYW1zLmpvaW4oJyYnKX1gO1xuICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgc3RyYXRlZ3k6IG9sbG9hZGluZ3N0cmF0ZWd5LmJib3hcbiAgICB9KTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kSW5mbyA9IHRoaXMub3B0aW9ucy5sZWdlbmRJbmZvO1xuICAgIGNvbnN0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmRJbmZvID09PSB1bmRlZmluZWQgfHwgbGVnZW5kLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBsZWdlbmQ7XG4gICAgfVxuICAgIGlmICghbGVnZW5kSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaHRtbFN0cmluZyA9ICc8dGFibGU+JztcbiAgICBsZXQgc3JjOiBzdHJpbmc7XG4gICAgbGV0IGxhYmVsOiBzdHJpbmc7XG4gICAgbGV0IHN2Zzogc3RyaW5nO1xuXG4gICAgaWYgKGxlZ2VuZEluZm8ubGVnZW5kKSB7XG4gICAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby5sZWdlbmQpIHtcbiAgICAgICAgc3JjID0gdGhpcy5odG1sSW1nU3JjKFxuICAgICAgICAgIGxlZ2VuZEVsZW1lbnQuY29udGVudFR5cGUsXG4gICAgICAgICAgbGVnZW5kRWxlbWVudC5pbWFnZURhdGFcbiAgICAgICAgKTtcbiAgICAgICAgbGFiZWwgPSBsZWdlbmRFbGVtZW50LmxhYmVsXG4gICAgICAgICAgPyBsZWdlbmRFbGVtZW50LmxhYmVsLnJlcGxhY2UoJzxOdWxsPicsICdOdWxsJylcbiAgICAgICAgICA6ICcnO1xuICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgYDx0cj48dGQgYWxpZ249J2xlZnQnPjxpbWcgc3JjPVwiYCArXG4gICAgICAgICAgc3JjICtcbiAgICAgICAgICBgXCIgYWx0ID0nJyAvPjwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgICBsYWJlbCArXG4gICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby50eXBlID09PSAndW5pcXVlVmFsdWUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby51bmlxdWVWYWx1ZUluZm9zKSB7XG4gICAgICAgIGxhYmVsID0gbGVnZW5kRWxlbWVudC5sYWJlbC5yZXBsYWNlKCc8TnVsbD4nLCAnTnVsbCcpO1xuICAgICAgICBpZiAobGVnZW5kRWxlbWVudC5zeW1ib2wudHlwZSA9PT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgICAgc3JjID0gdGhpcy5odG1sSW1nU3JjKFxuICAgICAgICAgICAgbGVnZW5kRWxlbWVudC5zeW1ib2wuY29udGVudFR5cGUsXG4gICAgICAgICAgICBsZWdlbmRFbGVtZW50LnN5bWJvbC5pbWFnZURhdGFcbiAgICAgICAgICApO1xuICAgICAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICAgICAgc3JjICtcbiAgICAgICAgICAgIGBcIiBhbHQgPScnIC8+PC90ZD48dGQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPmAgK1xuICAgICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgICB9IGVsc2UgaWYgKGxlZ2VuZEVsZW1lbnQuc3ltYm9sLnR5cGUgIT09ICdlc3JpUE1TJykge1xuICAgICAgICAgIHN2ZyA9IHRoaXMuY3JlYXRlU1ZHKGxlZ2VuZEVsZW1lbnQuc3ltYm9sKTtcbiAgICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgICBgPHRyPjx0ZCBhbGlnbj0nbGVmdCc+YCArXG4gICAgICAgICAgICBzdmcgK1xuICAgICAgICAgICAgYDwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgICAgIGxhYmVsICtcbiAgICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby50eXBlID09PSAnc2ltcGxlJykge1xuICAgICAgbGFiZWwgPSBsZWdlbmRJbmZvLmxhYmVsXG4gICAgICAgID8gbGVnZW5kSW5mby5sYWJlbC5yZXBsYWNlKCc8TnVsbD4nLCAnTnVsbCcpXG4gICAgICAgIDogJyc7XG4gICAgICBpZiAobGVnZW5kSW5mby5zeW1ib2wudHlwZSA9PT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgIHNyYyA9IHRoaXMuaHRtbEltZ1NyYyhcbiAgICAgICAgICBsZWdlbmRJbmZvLnN5bWJvbC5jb250ZW50VHlwZSxcbiAgICAgICAgICBsZWdlbmRJbmZvLnN5bWJvbC5pbWFnZURhdGFcbiAgICAgICAgKTtcbiAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICAgIHNyYyArXG4gICAgICAgICAgYFwiIGFsdCA9JycgLz48L3RkPjx0ZCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+YCArXG4gICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby5zeW1ib2wudHlwZSAhPT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgIHN2ZyA9IHRoaXMuY3JlYXRlU1ZHKGxlZ2VuZEluZm8uc3ltYm9sKTtcbiAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz5gICtcbiAgICAgICAgICBzdmcgK1xuICAgICAgICAgIGA8L3RkPjx0ZCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+YCArXG4gICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgIH1cbiAgICB9XG4gICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgIHJldHVybiBbeyBodG1sOiBodG1sU3RyaW5nIH1dO1xuICB9XG5cbiAgaHRtbEltZ1NyYyhjb250ZW50VHlwZTogc3RyaW5nLCBpbWFnZURhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBkYXRhOiR7Y29udGVudFR5cGV9O2Jhc2U2NCwke2ltYWdlRGF0YX1gO1xuICB9XG5cbiAgY3JlYXRlU1ZHKHN5bWJvbCk6IHN0cmluZyB7XG4gICAgbGV0IHN2ZyA9ICcnO1xuXG4gICAgY29uc3QgY29sb3I6IG51bWJlcltdID0gc3ltYm9sLmNvbG9yID8gc3ltYm9sLmNvbG9yIDogWzAsIDAsIDAsIDBdO1xuXG4gICAgaWYgKHN5bWJvbC50eXBlID09PSAnZXNyaVNMUycpIHtcbiAgICAgIGNvbnN0IHdpZHRoOiBudW1iZXIgPSBzeW1ib2wud2lkdGggPyBzeW1ib2wud2lkdGggOiAwO1xuXG4gICAgICBjb25zdCBzdHJva2U6IHN0cmluZyA9XG4gICAgICAgIGBzdHJva2U6cmdiYShgICtcbiAgICAgICAgY29sb3JbMF0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBjb2xvclsxXSArXG4gICAgICAgICcsJyArXG4gICAgICAgIGNvbG9yWzJdICtcbiAgICAgICAgJywnICtcbiAgICAgICAgY29sb3JbM10gK1xuICAgICAgICAnKSc7XG4gICAgICBjb25zdCBzdHJva2VXaWR0aDogc3RyaW5nID0gYHN0cm9rZS13aWR0aDpgICsgd2lkdGg7XG5cbiAgICAgIGlmIChzeW1ib2wuc3R5bGUgPT09ICdlc3JpU0xTU29saWQnKSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PGxpbmUgeDE9XCIwXCIgeTE9XCIxNVwiIHgyPVwiMzBcIiB5Mj1cIjE1XCIgc3R5bGU9XCJgICtcbiAgICAgICAgICBzdHJva2UgK1xuICAgICAgICAgICc7JyArXG4gICAgICAgICAgc3Ryb2tlV2lkdGggK1xuICAgICAgICAgIGBcIi8+PC9zdmc+YDtcbiAgICAgIH0gZWxzZSBpZiAoc3ltYm9sLnN0eWxlID09PSAnZXNyaVNMU0Rhc2gnKSB7XG4gICAgICAgIGNvbnN0IHN0cm9rZURhc2hBcnJheSA9IGBzdHJva2UtZGFzaGFycmF5PVwiNSw1XCJgO1xuICAgICAgICBzdmcgPVxuICAgICAgICAgIGA8c3ZnIGhlaWdodD1cIjMwXCIgd2lkdGg9XCIzMFwiPjxsaW5lIHgxPVwiMFwiIHkxPVwiMTVcIiB4Mj1cIjMwXCIgeTI9XCIxNVwiIHN0eWxlPVwiYCArXG4gICAgICAgICAgc3Ryb2tlICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIHN0cm9rZVdpZHRoICtcbiAgICAgICAgICBgXCIgYCArXG4gICAgICAgICAgc3Ryb2tlRGFzaEFycmF5ICtcbiAgICAgICAgICBgLz48L3N2Zz5gO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBzeW1ib2wuc3R5bGUgPT09ICdlc3JpU01TQ2lyY2xlJyB8fFxuICAgICAgc3ltYm9sLnN0eWxlID09PSAnZXNyaVNGU1NvbGlkJ1xuICAgICkge1xuICAgICAgY29uc3Qgb3V0bGluZUNvbG9yID0gc3ltYm9sLm91dGxpbmUuY29sb3I7XG4gICAgICBjb25zdCBvdXRsaW5lV2lkdGggPSBzeW1ib2wub3V0bGluZS53aWR0aDtcbiAgICAgIGNvbnN0IHNpemUgPSBzeW1ib2wuc2l6ZTtcblxuICAgICAgY29uc3Qgc3Ryb2tlID1cbiAgICAgICAgYHN0cm9rZTpyZ2JhKGAgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMF0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMV0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMl0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbM10gK1xuICAgICAgICAnKSc7XG4gICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGBzdHJva2Utd2lkdGg6YCArIG91dGxpbmVXaWR0aDtcbiAgICAgIGNvbnN0IGZpbGwgPVxuICAgICAgICBgZmlsbDpyZ2JhKGAgK1xuICAgICAgICBjb2xvclswXSArXG4gICAgICAgICcsJyArXG4gICAgICAgIGNvbG9yWzFdICtcbiAgICAgICAgJywnICtcbiAgICAgICAgY29sb3JbMl0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBjb2xvclszXSArXG4gICAgICAgICcpJztcblxuICAgICAgaWYgKHN5bWJvbC5zdHlsZSA9PT0gJ2VzcmlTTVNDaXJjbGUnKSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCJgICtcbiAgICAgICAgICBzaXplIC8gMiArXG4gICAgICAgICAgYFwiIHN0eWxlPVwiYCArXG4gICAgICAgICAgc3Ryb2tlICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIHN0cm9rZVdpZHRoICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIGZpbGwgK1xuICAgICAgICAgIGBcIi8+PC9zdmc+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PHJlY3QgeD1cIjVcIiB5PVwiNVwiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHN0eWxlID1cImAgK1xuICAgICAgICAgIHN0cm9rZSArXG4gICAgICAgICAgJzsnICtcbiAgICAgICAgICBzdHJva2VXaWR0aCArXG4gICAgICAgICAgJzsnICtcbiAgICAgICAgICBmaWxsICtcbiAgICAgICAgICBgXCIvPjwvc3ZnPmA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjZ2lzcmVzdC1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvYXJjZ2lzcmVzdC1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sZ0JBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQVU7SUFJeEMsY0FBYztRQUN0QixNQUFNLGNBQWMsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUM5QyxRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxjQUFjO1lBQ3RCLEdBQUcsRUFBRSxVQUFVLE1BQU07Z0JBQ25CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQ3hFLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUNqQyxVQUFVO29CQUNSLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ1QsVUFBVTtvQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNULFVBQVU7b0JBQ1YsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDVCxVQUFVO29CQUNWLE1BQU0sQ0FBQyxDQUFDLENBQUM7b0JBQ1Qsc0NBQXNDLENBQ3pDLENBQUM7Z0JBQ0YsTUFBTSxNQUFNLEdBQUc7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SCxJQUFJO3dCQUNKLFdBQVcsQ0FBQztZQUNoQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRztvQkFDRCwrRUFBK0U7d0JBQy9FLE1BQU07d0JBQ04sR0FBRzt3QkFDSCxXQUFXO3dCQUNYLEdBQUc7d0JBQ0gsSUFBSTt3QkFDSixXQUFXLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbEZvcm1hdEVzcmlKU09OIGZyb20gJ29sL2Zvcm1hdC9Fc3JpSlNPTic7XG5pbXBvcnQgKiBhcyBvbGxvYWRpbmdzdHJhdGVneSBmcm9tICdvbC9sb2FkaW5nc3RyYXRlZ3knO1xuaW1wb3J0IG9sU291cmNlVmVjdG9yIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuXG5pbXBvcnQgeyBBcmNHSVNSZXN0RGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2FyY2dpc3Jlc3QtZGF0YXNvdXJjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4vZGF0YXNvdXJjZSc7XG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuL2RhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEFyY0dJU1Jlc3REYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZVZlY3RvcjtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogQXJjR0lTUmVzdERhdGFTb3VyY2VPcHRpb25zO1xuXG4gIHByb3RlY3RlZCBjcmVhdGVPbFNvdXJjZSgpOiBvbFNvdXJjZVZlY3RvciB7XG4gICAgY29uc3QgZXNyaWpzb25Gb3JtYXQgPSBuZXcgb2xGb3JtYXRFc3JpSlNPTigpO1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VWZWN0b3Ioe1xuICAgICAgYXR0cmlidXRpb25zOiB0aGlzLm9wdGlvbnMucGFyYW1zLmF0dHJpYnV0aW9ucyxcbiAgICAgIG92ZXJsYXBzOiBmYWxzZSxcbiAgICAgIGZvcm1hdDogZXNyaWpzb25Gb3JtYXQsXG4gICAgICB1cmw6IGZ1bmN0aW9uIChleHRlbnQpIHtcbiAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMub3B0aW9ucy51cmwgKyAnLycgKyB0aGlzLm9wdGlvbnMubGF5ZXIgKyAnL3F1ZXJ5Lyc7XG4gICAgICAgIGNvbnN0IGdlb21ldHJ5ID0gZW5jb2RlVVJJQ29tcG9uZW50KFxuICAgICAgICAgICd7XCJ4bWluXCI6JyArXG4gICAgICAgICAgICBleHRlbnRbMF0gK1xuICAgICAgICAgICAgJyxcInltaW5cIjonICtcbiAgICAgICAgICAgIGV4dGVudFsxXSArXG4gICAgICAgICAgICAnLFwieG1heFwiOicgK1xuICAgICAgICAgICAgZXh0ZW50WzJdICtcbiAgICAgICAgICAgICcsXCJ5bWF4XCI6JyArXG4gICAgICAgICAgICBleHRlbnRbM10gK1xuICAgICAgICAgICAgJyxcInNwYXRpYWxSZWZlcmVuY2VcIjp7XCJ3a2lkXCI6MTAyMTAwfX0nXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFtcbiAgICAgICAgICAnZj1qc29uJyxcbiAgICAgICAgICBgZ2VvbWV0cnk9JHtnZW9tZXRyeX1gLFxuICAgICAgICAgICdnZW9tZXRyeVR5cGU9ZXNyaUdlb21ldHJ5RW52ZWxvcGUnLFxuICAgICAgICAgICdpblNSPTEwMjEwMCcsXG4gICAgICAgICAgJ3NwYXRpYWxSZWw9ZXNyaVNwYXRpYWxSZWxJbnRlcnNlY3RzJyxcbiAgICAgICAgICAnb3V0RmllbGRzPSonLFxuICAgICAgICAgICdyZXR1cm5HZW9tZXRyeT10cnVlJyxcbiAgICAgICAgICAnb3V0U1I9MTAyMTAwJ1xuICAgICAgICBdO1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnBhcmFtcy50aW1lKSB7XG4gICAgICAgICAgY29uc3QgdGltZSA9IGB0aW1lPSR7dGhpcy5vcHRpb25zLnBhcmFtcy50aW1lfWA7XG4gICAgICAgICAgcGFyYW1zLnB1c2godGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5wYXJhbXMuY3VzdG9tUGFyYW1zKSB7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtcy5jdXN0b21QYXJhbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9PyR7cGFyYW1zLmpvaW4oJyYnKX1gO1xuICAgICAgfS5iaW5kKHRoaXMpLFxuICAgICAgc3RyYXRlZ3k6IG9sbG9hZGluZ3N0cmF0ZWd5LmJib3hcbiAgICB9KTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kSW5mbyA9IHRoaXMub3B0aW9ucy5sZWdlbmRJbmZvO1xuICAgIGNvbnN0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChsZWdlbmRJbmZvID09PSB1bmRlZmluZWQgfHwgbGVnZW5kLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBsZWdlbmQ7XG4gICAgfVxuICAgIGlmICghbGVnZW5kSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaHRtbFN0cmluZyA9ICc8dGFibGU+JztcbiAgICBsZXQgc3JjOiBzdHJpbmc7XG4gICAgbGV0IGxhYmVsOiBzdHJpbmc7XG4gICAgbGV0IHN2Zzogc3RyaW5nO1xuXG4gICAgaWYgKGxlZ2VuZEluZm8ubGVnZW5kKSB7XG4gICAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby5sZWdlbmQpIHtcbiAgICAgICAgc3JjID0gdGhpcy5odG1sSW1nU3JjKFxuICAgICAgICAgIGxlZ2VuZEVsZW1lbnQuY29udGVudFR5cGUsXG4gICAgICAgICAgbGVnZW5kRWxlbWVudC5pbWFnZURhdGFcbiAgICAgICAgKTtcbiAgICAgICAgbGFiZWwgPSBsZWdlbmRFbGVtZW50LmxhYmVsXG4gICAgICAgICAgPyBsZWdlbmRFbGVtZW50LmxhYmVsLnJlcGxhY2UoJzxOdWxsPicsICdOdWxsJylcbiAgICAgICAgICA6ICcnO1xuICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgYDx0cj48dGQgYWxpZ249J2xlZnQnPjxpbWcgc3JjPVwiYCArXG4gICAgICAgICAgc3JjICtcbiAgICAgICAgICBgXCIgYWx0ID0nJyAvPjwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgICBsYWJlbCArXG4gICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby50eXBlID09PSAndW5pcXVlVmFsdWUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGxlZ2VuZEVsZW1lbnQgb2YgbGVnZW5kSW5mby51bmlxdWVWYWx1ZUluZm9zKSB7XG4gICAgICAgIGxhYmVsID0gbGVnZW5kRWxlbWVudC5sYWJlbC5yZXBsYWNlKCc8TnVsbD4nLCAnTnVsbCcpO1xuICAgICAgICBpZiAobGVnZW5kRWxlbWVudC5zeW1ib2wudHlwZSA9PT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgICAgc3JjID0gdGhpcy5odG1sSW1nU3JjKFxuICAgICAgICAgICAgbGVnZW5kRWxlbWVudC5zeW1ib2wuY29udGVudFR5cGUsXG4gICAgICAgICAgICBsZWdlbmRFbGVtZW50LnN5bWJvbC5pbWFnZURhdGFcbiAgICAgICAgICApO1xuICAgICAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICAgICAgc3JjICtcbiAgICAgICAgICAgIGBcIiBhbHQgPScnIC8+PC90ZD48dGQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPmAgK1xuICAgICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgICB9IGVsc2UgaWYgKGxlZ2VuZEVsZW1lbnQuc3ltYm9sLnR5cGUgIT09ICdlc3JpUE1TJykge1xuICAgICAgICAgIHN2ZyA9IHRoaXMuY3JlYXRlU1ZHKGxlZ2VuZEVsZW1lbnQuc3ltYm9sKTtcbiAgICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgICBgPHRyPjx0ZCBhbGlnbj0nbGVmdCc+YCArXG4gICAgICAgICAgICBzdmcgK1xuICAgICAgICAgICAgYDwvdGQ+PHRkIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5gICtcbiAgICAgICAgICAgIGxhYmVsICtcbiAgICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby50eXBlID09PSAnc2ltcGxlJykge1xuICAgICAgbGFiZWwgPSBsZWdlbmRJbmZvLmxhYmVsXG4gICAgICAgID8gbGVnZW5kSW5mby5sYWJlbC5yZXBsYWNlKCc8TnVsbD4nLCAnTnVsbCcpXG4gICAgICAgIDogJyc7XG4gICAgICBpZiAobGVnZW5kSW5mby5zeW1ib2wudHlwZSA9PT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgIHNyYyA9IHRoaXMuaHRtbEltZ1NyYyhcbiAgICAgICAgICBsZWdlbmRJbmZvLnN5bWJvbC5jb250ZW50VHlwZSxcbiAgICAgICAgICBsZWdlbmRJbmZvLnN5bWJvbC5pbWFnZURhdGFcbiAgICAgICAgKTtcbiAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz48aW1nIHNyYz1cImAgK1xuICAgICAgICAgIHNyYyArXG4gICAgICAgICAgYFwiIGFsdCA9JycgLz48L3RkPjx0ZCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+YCArXG4gICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgIH0gZWxzZSBpZiAobGVnZW5kSW5mby5zeW1ib2wudHlwZSAhPT0gJ2VzcmlQTVMnKSB7XG4gICAgICAgIHN2ZyA9IHRoaXMuY3JlYXRlU1ZHKGxlZ2VuZEluZm8uc3ltYm9sKTtcbiAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgIGA8dHI+PHRkIGFsaWduPSdsZWZ0Jz5gICtcbiAgICAgICAgICBzdmcgK1xuICAgICAgICAgIGA8L3RkPjx0ZCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5XCI+YCArXG4gICAgICAgICAgbGFiZWwgK1xuICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgIH1cbiAgICB9XG4gICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgIHJldHVybiBbeyBodG1sOiBodG1sU3RyaW5nIH1dO1xuICB9XG5cbiAgaHRtbEltZ1NyYyhjb250ZW50VHlwZTogc3RyaW5nLCBpbWFnZURhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBkYXRhOiR7Y29udGVudFR5cGV9O2Jhc2U2NCwke2ltYWdlRGF0YX1gO1xuICB9XG5cbiAgY3JlYXRlU1ZHKHN5bWJvbCk6IHN0cmluZyB7XG4gICAgbGV0IHN2ZyA9ICcnO1xuXG4gICAgY29uc3QgY29sb3I6IG51bWJlcltdID0gc3ltYm9sLmNvbG9yID8gc3ltYm9sLmNvbG9yIDogWzAsIDAsIDAsIDBdO1xuXG4gICAgaWYgKHN5bWJvbC50eXBlID09PSAnZXNyaVNMUycpIHtcbiAgICAgIGNvbnN0IHdpZHRoOiBudW1iZXIgPSBzeW1ib2wud2lkdGggPyBzeW1ib2wud2lkdGggOiAwO1xuXG4gICAgICBjb25zdCBzdHJva2U6IHN0cmluZyA9XG4gICAgICAgIGBzdHJva2U6cmdiYShgICtcbiAgICAgICAgY29sb3JbMF0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBjb2xvclsxXSArXG4gICAgICAgICcsJyArXG4gICAgICAgIGNvbG9yWzJdICtcbiAgICAgICAgJywnICtcbiAgICAgICAgY29sb3JbM10gK1xuICAgICAgICAnKSc7XG4gICAgICBjb25zdCBzdHJva2VXaWR0aDogc3RyaW5nID0gYHN0cm9rZS13aWR0aDpgICsgd2lkdGg7XG5cbiAgICAgIGlmIChzeW1ib2wuc3R5bGUgPT09ICdlc3JpU0xTU29saWQnKSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PGxpbmUgeDE9XCIwXCIgeTE9XCIxNVwiIHgyPVwiMzBcIiB5Mj1cIjE1XCIgc3R5bGU9XCJgICtcbiAgICAgICAgICBzdHJva2UgK1xuICAgICAgICAgICc7JyArXG4gICAgICAgICAgc3Ryb2tlV2lkdGggK1xuICAgICAgICAgIGBcIi8+PC9zdmc+YDtcbiAgICAgIH0gZWxzZSBpZiAoc3ltYm9sLnN0eWxlID09PSAnZXNyaVNMU0Rhc2gnKSB7XG4gICAgICAgIGNvbnN0IHN0cm9rZURhc2hBcnJheSA9IGBzdHJva2UtZGFzaGFycmF5PVwiNSw1XCJgO1xuICAgICAgICBzdmcgPVxuICAgICAgICAgIGA8c3ZnIGhlaWdodD1cIjMwXCIgd2lkdGg9XCIzMFwiPjxsaW5lIHgxPVwiMFwiIHkxPVwiMTVcIiB4Mj1cIjMwXCIgeTI9XCIxNVwiIHN0eWxlPVwiYCArXG4gICAgICAgICAgc3Ryb2tlICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIHN0cm9rZVdpZHRoICtcbiAgICAgICAgICBgXCIgYCArXG4gICAgICAgICAgc3Ryb2tlRGFzaEFycmF5ICtcbiAgICAgICAgICBgLz48L3N2Zz5gO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBzeW1ib2wuc3R5bGUgPT09ICdlc3JpU01TQ2lyY2xlJyB8fFxuICAgICAgc3ltYm9sLnN0eWxlID09PSAnZXNyaVNGU1NvbGlkJ1xuICAgICkge1xuICAgICAgY29uc3Qgb3V0bGluZUNvbG9yID0gc3ltYm9sLm91dGxpbmUuY29sb3I7XG4gICAgICBjb25zdCBvdXRsaW5lV2lkdGggPSBzeW1ib2wub3V0bGluZS53aWR0aDtcbiAgICAgIGNvbnN0IHNpemUgPSBzeW1ib2wuc2l6ZTtcblxuICAgICAgY29uc3Qgc3Ryb2tlID1cbiAgICAgICAgYHN0cm9rZTpyZ2JhKGAgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMF0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMV0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbMl0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBvdXRsaW5lQ29sb3JbM10gK1xuICAgICAgICAnKSc7XG4gICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGBzdHJva2Utd2lkdGg6YCArIG91dGxpbmVXaWR0aDtcbiAgICAgIGNvbnN0IGZpbGwgPVxuICAgICAgICBgZmlsbDpyZ2JhKGAgK1xuICAgICAgICBjb2xvclswXSArXG4gICAgICAgICcsJyArXG4gICAgICAgIGNvbG9yWzFdICtcbiAgICAgICAgJywnICtcbiAgICAgICAgY29sb3JbMl0gK1xuICAgICAgICAnLCcgK1xuICAgICAgICBjb2xvclszXSArXG4gICAgICAgICcpJztcblxuICAgICAgaWYgKHN5bWJvbC5zdHlsZSA9PT0gJ2VzcmlTTVNDaXJjbGUnKSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCJgICtcbiAgICAgICAgICBzaXplIC8gMiArXG4gICAgICAgICAgYFwiIHN0eWxlPVwiYCArXG4gICAgICAgICAgc3Ryb2tlICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIHN0cm9rZVdpZHRoICtcbiAgICAgICAgICAnOycgK1xuICAgICAgICAgIGZpbGwgK1xuICAgICAgICAgIGBcIi8+PC9zdmc+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN2ZyA9XG4gICAgICAgICAgYDxzdmcgaGVpZ2h0PVwiMzBcIiB3aWR0aD1cIjMwXCI+PHJlY3QgeD1cIjVcIiB5PVwiNVwiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHN0eWxlID1cImAgK1xuICAgICAgICAgIHN0cm9rZSArXG4gICAgICAgICAgJzsnICtcbiAgICAgICAgICBzdHJva2VXaWR0aCArXG4gICAgICAgICAgJzsnICtcbiAgICAgICAgICBmaWxsICtcbiAgICAgICAgICBgXCIvPjwvc3ZnPmA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdmc7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
@@ -108,4 +108,4 @@ export class CartoDataSource extends DataSource {
108
108
  // empty
109
109
  }
110
110
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydG8tZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NhcnRvLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUk3QyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDMUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNqQztZ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LENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQ0FDeEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQzs0QkFDckIsQ0FBQzs0QkFDRCxVQUFVO2dDQUNSLFVBQVU7b0NBQ1YsMkJBQTJCO29DQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFDO29DQUNULDJCQUEyQjtvQ0FDM0IsTUFBTTtvQ0FDTixJQUFJLENBQUMsQ0FBQyxDQUFDO29DQUNQLFlBQVksQ0FBQzt3QkFDakIsQ0FBQzt3QkFDRCxNQUFNO29CQUNSLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsVUFBVTs0QkFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVOzRCQUN6QixDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLFVBQVU7NEJBQ1IsVUFBVTtnQ0FDViwyQkFBMkI7Z0NBQzNCLEtBQUs7Z0NBQ0wsc0JBQXNCO2dDQUN0QixXQUFXO2dDQUNYLEtBQUs7Z0NBQ0wsWUFBWSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELFVBQVUsSUFBSSxVQUFVLENBQUM7WUFDekIsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZUNhcnRvIGZyb20gJ29sL3NvdXJjZS9DYXJ0b0RCJztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IENhcnRvRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2NhcnRvLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBDYXJ0b0RhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlQ2FydG87XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IENhcnRvRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlQ2FydG8ge1xuICAgIGNvbnN0IGNyb3NzT3JpZ2luID0gdGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luXG4gICAgICA/IHRoaXMub3B0aW9ucy5jcm9zc09yaWdpblxuICAgICAgOiAnYW5vbnltb3VzJztcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgY3Jvc3NPcmlnaW5cbiAgICAgIH0sXG4gICAgICB0aGlzLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VDYXJ0byhzb3VyY2VPcHRpb25zKTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kID0gc3VwZXIuZ2V0TGVnZW5kKCk7XG4gICAgaWYgKGxlZ2VuZC5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbGVnZW5kO1xuICAgIH1cblxuICAgIGxldCBodG1sU3RyaW5nID0gJzx0YWJsZT4nO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29uZmlnLmxheWVyc1swXS5sZWdlbmQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5jb25maWcubGF5ZXJzWzBdLmxlZ2VuZC5pdGVtcy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICAgIGlmIChmLnZpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgICAnPHRyPjx0ZD4nICtcbiAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICBmLnZhbHVlICtcbiAgICAgICAgICAgICdcIj4gJiM5Njc5PC9mb250PjwvcD48L3RkPicgK1xuICAgICAgICAgICAgJzx0ZD4nICtcbiAgICAgICAgICAgIGYubmFtZSArXG4gICAgICAgICAgICAnPC90ZD48L3RyPic7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgICAgcmV0dXJuIFt7IGh0bWw6IGh0bWxTdHJpbmcgfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRyeSB0byBidWlsZCB0aGUgbGVnZW5kIGZyb20gdGhlIGNhcnRvY3NzIG9wdGlvbnNcbiAgICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5jb25maWcubGF5ZXJzWzBdLm9wdGlvbnM7XG4gICAgICAvLyBBbGwgYXZhaWxhYmxlIGNhcnRvY3NzIHN0eWxlIG9wdGlvbnNcbiAgICAgIGNvbnN0IHR5cGVzID0gW1xuICAgICAgICAncG9seWdvbi1maWxsOicsXG4gICAgICAgICdtYXJrZXItZmlsbDonLFxuICAgICAgICAnc2hpZWxkLWZpbGw6JyxcbiAgICAgICAgJ2J1aWxkaW5nLWZpbGw6JyxcbiAgICAgICAgJ2xpbmUtY29sb3I6J1xuICAgICAgXTtcbiAgICAgIGZvciAoY29uc3Qgb25lVHlwZSBvZiB0eXBlcykge1xuICAgICAgICBpZiAobGF5ZXJPcHRpb25zLmNhcnRvY3NzLmluY2x1ZGVzKG9uZVR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IGxheWVyT3B0aW9ucy5jYXJ0b2Nzcy5zcGxpdChvbmVUeXBlKS5wb3AoKTtcbiAgICAgICAgICBjb25zdCBjb2xvciA9IHR5cGUuc3Vic3RyKDAsIHR5cGUuaW5kZXhPZignOycpKTtcbiAgICAgICAgICBpZiAoY29sb3IuaW5jbHVkZXMoJ3JhbXAnKSkge1xuICAgICAgICAgICAgY29uc3QgY29sb3JzID0gY29sb3Iuc3BsaXQoJywgKCcpWzFdLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gY29sb3Iuc3BsaXQoJywgKCcpWzJdLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNvbG9ycy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICBjb2xvcnNbal0gPSBjb2xvcnNbal0ucmVwbGFjZSgvKFwifFxcKSkvZywgJycpO1xuICAgICAgICAgICAgICBkYXRhW2pdID0gZGF0YVtqXS5yZXBsYWNlKC8oXCJ8XFwpKS9nLCAnJyk7XG4gICAgICAgICAgICAgIGlmIChkYXRhW2pdLnJlcGxhY2UoL1xccysvZywgJycpID09PSAnPScpIHtcbiAgICAgICAgICAgICAgICBkYXRhW2pdID0gJ0F1dHJlcyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgICAgICAgICc8dHI+PHRkPicgK1xuICAgICAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICAgICAgY29sb3JzW2pdICtcbiAgICAgICAgICAgICAgICAnXCI+ICYjOTY3OTwvZm9udD48L3A+PC90ZD4nICtcbiAgICAgICAgICAgICAgICAnPHRkPicgK1xuICAgICAgICAgICAgICAgIGRhdGFbal0gK1xuICAgICAgICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGxheWVyT3B0aW9ucy5sYXllcl9uYW1lXG4gICAgICAgICAgICAgID8gbGF5ZXJPcHRpb25zLmxheWVyX25hbWVcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgICAgICAgJzx0cj48dGQ+JyArXG4gICAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICAgIGNvbG9yICtcbiAgICAgICAgICAgICAgJ1wiPiAmIzk2Nzk8L2ZvbnQ+PC9wPicgK1xuICAgICAgICAgICAgICAnPC90ZD48dGQ+JyArXG4gICAgICAgICAgICAgIHRpdGxlICtcbiAgICAgICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBodG1sU3RyaW5nICs9ICc8L3RhYmxlPic7XG4gICAgICByZXR1cm4gW3sgaHRtbDogaHRtbFN0cmluZyB9XTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydG8tZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dlby9zcmMvbGliL2RhdGFzb3VyY2Uvc2hhcmVkL2RhdGFzb3VyY2VzL2NhcnRvLWRhdGFzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQUk3QyxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXO1lBQzFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDMUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNoQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUNqQztZ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LENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQ0FDeEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQzs0QkFDckIsQ0FBQzs0QkFDRCxVQUFVO2dDQUNSLFVBQVU7b0NBQ1YsMkJBQTJCO29DQUMzQixNQUFNLENBQUMsQ0FBQyxDQUFDO29DQUNULDJCQUEyQjtvQ0FDM0IsTUFBTTtvQ0FDTixJQUFJLENBQUMsQ0FBQyxDQUFDO29DQUNQLFlBQVksQ0FBQzt3QkFDakIsQ0FBQzt3QkFDRCxNQUFNO29CQUNSLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsVUFBVTs0QkFDbkMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVOzRCQUN6QixDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNQLFVBQVU7NEJBQ1IsVUFBVTtnQ0FDViwyQkFBMkI7Z0NBQzNCLEtBQUs7Z0NBQ0wsc0JBQXNCO2dDQUN0QixXQUFXO2dDQUNYLEtBQUs7Z0NBQ0wsWUFBWSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUNELFVBQVUsSUFBSSxVQUFVLENBQUM7WUFDekIsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxTQUFTO1FBQ2QsUUFBUTtJQUNWLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBvbFNvdXJjZUNhcnRvIGZyb20gJ29sL3NvdXJjZS9DYXJ0b0RCJztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IENhcnRvRGF0YVNvdXJjZU9wdGlvbnMgfSBmcm9tICcuL2NhcnRvLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBDYXJ0b0RhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sU291cmNlQ2FydG87XG4gIGRlY2xhcmUgcHVibGljIG9wdGlvbnM6IENhcnRvRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlQ2FydG8ge1xuICAgIGNvbnN0IGNyb3NzT3JpZ2luID0gdGhpcy5vcHRpb25zLmNyb3NzT3JpZ2luXG4gICAgICA/IHRoaXMub3B0aW9ucy5jcm9zc09yaWdpblxuICAgICAgOiAnYW5vbnltb3VzJztcbiAgICBjb25zdCBzb3VyY2VPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgY3Jvc3NPcmlnaW5cbiAgICAgIH0sXG4gICAgICB0aGlzLm9wdGlvbnNcbiAgICApO1xuICAgIHJldHVybiBuZXcgb2xTb3VyY2VDYXJ0byhzb3VyY2VPcHRpb25zKTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kID0gc3VwZXIuZ2V0TGVnZW5kKCk7XG4gICAgaWYgKGxlZ2VuZC5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gbGVnZW5kO1xuICAgIH1cblxuICAgIGxldCBodG1sU3RyaW5nID0gJzx0YWJsZT4nO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29uZmlnLmxheWVyc1swXS5sZWdlbmQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5jb25maWcubGF5ZXJzWzBdLmxlZ2VuZC5pdGVtcy5mb3JFYWNoKChmKSA9PiB7XG4gICAgICAgIGlmIChmLnZpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICBodG1sU3RyaW5nICs9XG4gICAgICAgICAgICAnPHRyPjx0ZD4nICtcbiAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICBmLnZhbHVlICtcbiAgICAgICAgICAgICdcIj4gJiM5Njc5PC9mb250PjwvcD48L3RkPicgK1xuICAgICAgICAgICAgJzx0ZD4nICtcbiAgICAgICAgICAgIGYubmFtZSArXG4gICAgICAgICAgICAnPC90ZD48L3RyPic7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgICAgcmV0dXJuIFt7IGh0bWw6IGh0bWxTdHJpbmcgfV07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRyeSB0byBidWlsZCB0aGUgbGVnZW5kIGZyb20gdGhlIGNhcnRvY3NzIG9wdGlvbnNcbiAgICAgIGNvbnN0IGxheWVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5jb25maWcubGF5ZXJzWzBdLm9wdGlvbnM7XG4gICAgICAvLyBBbGwgYXZhaWxhYmxlIGNhcnRvY3NzIHN0eWxlIG9wdGlvbnNcbiAgICAgIGNvbnN0IHR5cGVzID0gW1xuICAgICAgICAncG9seWdvbi1maWxsOicsXG4gICAgICAgICdtYXJrZXItZmlsbDonLFxuICAgICAgICAnc2hpZWxkLWZpbGw6JyxcbiAgICAgICAgJ2J1aWxkaW5nLWZpbGw6JyxcbiAgICAgICAgJ2xpbmUtY29sb3I6J1xuICAgICAgXTtcbiAgICAgIGZvciAoY29uc3Qgb25lVHlwZSBvZiB0eXBlcykge1xuICAgICAgICBpZiAobGF5ZXJPcHRpb25zLmNhcnRvY3NzLmluY2x1ZGVzKG9uZVR5cGUpKSB7XG4gICAgICAgICAgY29uc3QgdHlwZSA9IGxheWVyT3B0aW9ucy5jYXJ0b2Nzcy5zcGxpdChvbmVUeXBlKS5wb3AoKTtcbiAgICAgICAgICBjb25zdCBjb2xvciA9IHR5cGUuc3Vic3RyKDAsIHR5cGUuaW5kZXhPZignOycpKTtcbiAgICAgICAgICBpZiAoY29sb3IuaW5jbHVkZXMoJ3JhbXAnKSkge1xuICAgICAgICAgICAgY29uc3QgY29sb3JzID0gY29sb3Iuc3BsaXQoJywgKCcpWzFdLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gY29sb3Iuc3BsaXQoJywgKCcpWzJdLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGNvbG9ycy5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICBjb2xvcnNbal0gPSBjb2xvcnNbal0ucmVwbGFjZSgvKFwifFxcKSkvZywgJycpO1xuICAgICAgICAgICAgICBkYXRhW2pdID0gZGF0YVtqXS5yZXBsYWNlKC8oXCJ8XFwpKS9nLCAnJyk7XG4gICAgICAgICAgICAgIGlmIChkYXRhW2pdLnJlcGxhY2UoL1xccysvZywgJycpID09PSAnPScpIHtcbiAgICAgICAgICAgICAgICBkYXRhW2pdID0gJ0F1dHJlcyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaHRtbFN0cmluZyArPVxuICAgICAgICAgICAgICAgICc8dHI+PHRkPicgK1xuICAgICAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICAgICAgY29sb3JzW2pdICtcbiAgICAgICAgICAgICAgICAnXCI+ICYjOTY3OTwvZm9udD48L3A+PC90ZD4nICtcbiAgICAgICAgICAgICAgICAnPHRkPicgK1xuICAgICAgICAgICAgICAgIGRhdGFbal0gK1xuICAgICAgICAgICAgICAgICc8L3RkPjwvdHI+JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB0aXRsZSA9IGxheWVyT3B0aW9ucy5sYXllcl9uYW1lXG4gICAgICAgICAgICAgID8gbGF5ZXJPcHRpb25zLmxheWVyX25hbWVcbiAgICAgICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgICAgICAgJzx0cj48dGQ+JyArXG4gICAgICAgICAgICAgICc8cD48Zm9udCBzaXplPVwiNVwiIGNvbG9yPVwiJyArXG4gICAgICAgICAgICAgIGNvbG9yICtcbiAgICAgICAgICAgICAgJ1wiPiAmIzk2Nzk8L2ZvbnQ+PC9wPicgK1xuICAgICAgICAgICAgICAnPC90ZD48dGQ+JyArXG4gICAgICAgICAgICAgIHRpdGxlICtcbiAgICAgICAgICAgICAgJzwvdGQ+PC90cj4nO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBodG1sU3RyaW5nICs9ICc8L3RhYmxlPic7XG4gICAgICByZXR1cm4gW3sgaHRtbDogaHRtbFN0cmluZyB9XTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cbn1cbiJdfQ==
@@ -14,4 +14,4 @@ export class ClusterDataSource extends FeatureDataSource {
14
14
  // empty
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUk1QyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sU291cmNlQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5cbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vY2x1c3Rlci1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4vZmVhdHVyZS1kYXRhc291cmNlJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJEYXRhU291cmNlIGV4dGVuZHMgRmVhdHVyZURhdGFTb3VyY2Uge1xuICBwdWJsaWMgZGVjbGFyZSBvcHRpb25zOiBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnM7XG4gIHB1YmxpYyBkZWNsYXJlIG9sOiBvbFNvdXJjZUNsdXN0ZXI7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlQ2x1c3RlciB7XG4gICAgdGhpcy5vcHRpb25zLmZvcm1hdCA9IHRoaXMuZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnModGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLm9wdGlvbnMuc291cmNlID0gc3VwZXIuY3JlYXRlT2xTb3VyY2UoKTtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlQ2x1c3Rlcih0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdlbmVyYXRlSWQoKSB7XG4gICAgcmV0dXJuIHV1aWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvY2x1c3Rlci1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxlQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUk1QyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUyxVQUFVO1FBQ2xCLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXVpZCB9IGZyb20gJ0BpZ28yL3V0aWxzJztcblxuaW1wb3J0IG9sU291cmNlQ2x1c3RlciBmcm9tICdvbC9zb3VyY2UvQ2x1c3Rlcic7XG5cbmltcG9ydCB7IENsdXN0ZXJEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vY2x1c3Rlci1kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGZWF0dXJlRGF0YVNvdXJjZSB9IGZyb20gJy4vZmVhdHVyZS1kYXRhc291cmNlJztcblxuZXhwb3J0IGNsYXNzIENsdXN0ZXJEYXRhU291cmNlIGV4dGVuZHMgRmVhdHVyZURhdGFTb3VyY2Uge1xuICBkZWNsYXJlIHB1YmxpYyBvcHRpb25zOiBDbHVzdGVyRGF0YVNvdXJjZU9wdGlvbnM7XG4gIGRlY2xhcmUgcHVibGljIG9sOiBvbFNvdXJjZUNsdXN0ZXI7XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IG9sU291cmNlQ2x1c3RlciB7XG4gICAgdGhpcy5vcHRpb25zLmZvcm1hdCA9IHRoaXMuZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnModGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLm9wdGlvbnMuc291cmNlID0gc3VwZXIuY3JlYXRlT2xTb3VyY2UoKTtcbiAgICByZXR1cm4gbmV3IG9sU291cmNlQ2x1c3Rlcih0aGlzLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdlbmVyYXRlSWQoKSB7XG4gICAgcmV0dXJuIHV1aWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblVud2F0Y2goKSB7XG4gICAgLy8gZW1wdHlcbiAgfVxufVxuIl19
@@ -42,4 +42,4 @@ export class FeatureDataSource extends DataSource {
42
42
  : 'title';
43
43
  }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFHckMsY0FBYztRQUN0QixNQUFNLGFBQWEsR0FBRztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdEQsQ0FBQztRQUVGLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLDBCQUEwQixDQUFDLE9BQWlDO1FBQ3BFLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIHB1YmxpYyBkZWNsYXJlIG9wdGlvbnM6IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucztcbiAgcHVibGljIGRlY2xhcmUgb2w6IG9sU291cmNlVmVjdG9yO1xuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VWZWN0b3Ige1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnMgPSB7XG4gICAgICBmb3JtYXQ6IHRoaXMuZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnModGhpcy5vcHRpb25zKVxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IG9sU291cmNlVmVjdG9yKE9iamVjdC5hc3NpZ24oc291cmNlT3B0aW9ucywgdGhpcy5vcHRpb25zKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnMob3B0aW9uczogRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMuZm9ybWF0KSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5mb3JtYXQ7XG4gICAgfVxuICAgIGxldCBvbEZvcm1hdENscztcbiAgICBjb25zdCBmb3JtYXRUeXBlID0gb3B0aW9ucy5mb3JtYXRUeXBlO1xuICAgIGlmICghZm9ybWF0VHlwZSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5HZW9KU09OO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0W2Zvcm1hdFR5cGVdO1xuICAgICAgaWYgKG9sRm9ybWF0Q2xzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlY3RvciBzb3VyY2UgZm9ybWF0ICR7Zm9ybWF0VHlwZX0uJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0T3B0aW9ucyA9IG9wdGlvbnMuZm9ybWF0T3B0aW9ucztcbiAgICBsZXQgZm9ybWF0O1xuICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICBmb3JtYXQgPSBuZXcgb2xGb3JtYXRDbHMoZm9ybWF0T3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdCA9IG5ldyBvbEZvcm1hdENscygpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cblxuICBnZXQgcXVlcnlUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgPyAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgOiAndGl0bGUnO1xuICB9XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1kYXRhc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2VvL3NyYy9saWIvZGF0YXNvdXJjZS9zaGFyZWQvZGF0YXNvdXJjZXMvZmVhdHVyZS1kYXRhc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFVBQVU7SUFHckMsY0FBYztRQUN0QixNQUFNLGFBQWEsR0FBRztZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdEQsQ0FBQztRQUVGLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVTLDBCQUEwQixDQUFDLE9BQWlDO1FBQ3BFLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25CLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUM7UUFDaEIsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsV0FBVyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksTUFBTSxDQUFDO1FBQ1gsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLFVBQVU7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9sZm9ybWF0IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgb2xTb3VyY2VWZWN0b3IgZnJvbSAnb2wvc291cmNlL1ZlY3Rvcic7XG5cbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zIH0gZnJvbSAnLi9mZWF0dXJlLWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEZlYXR1cmVEYXRhU291cmNlIGV4dGVuZHMgRGF0YVNvdXJjZSB7XG4gIGRlY2xhcmUgcHVibGljIG9wdGlvbnM6IEZlYXR1cmVEYXRhU291cmNlT3B0aW9ucztcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IG9sU291cmNlVmVjdG9yO1xuICBwcm90ZWN0ZWQgY3JlYXRlT2xTb3VyY2UoKTogb2xTb3VyY2VWZWN0b3Ige1xuICAgIGNvbnN0IHNvdXJjZU9wdGlvbnMgPSB7XG4gICAgICBmb3JtYXQ6IHRoaXMuZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnModGhpcy5vcHRpb25zKVxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IG9sU291cmNlVmVjdG9yKE9iamVjdC5hc3NpZ24oc291cmNlT3B0aW9ucywgdGhpcy5vcHRpb25zKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U291cmNlRm9ybWF0RnJvbU9wdGlvbnMob3B0aW9uczogRmVhdHVyZURhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMuZm9ybWF0KSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5mb3JtYXQ7XG4gICAgfVxuICAgIGxldCBvbEZvcm1hdENscztcbiAgICBjb25zdCBmb3JtYXRUeXBlID0gb3B0aW9ucy5mb3JtYXRUeXBlO1xuICAgIGlmICghZm9ybWF0VHlwZSkge1xuICAgICAgb2xGb3JtYXRDbHMgPSBvbGZvcm1hdC5HZW9KU09OO1xuICAgIH0gZWxzZSB7XG4gICAgICBvbEZvcm1hdENscyA9IG9sZm9ybWF0W2Zvcm1hdFR5cGVdO1xuICAgICAgaWYgKG9sRm9ybWF0Q2xzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZlY3RvciBzb3VyY2UgZm9ybWF0ICR7Zm9ybWF0VHlwZX0uJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybWF0T3B0aW9ucyA9IG9wdGlvbnMuZm9ybWF0T3B0aW9ucztcbiAgICBsZXQgZm9ybWF0O1xuICAgIGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICBmb3JtYXQgPSBuZXcgb2xGb3JtYXRDbHMoZm9ybWF0T3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdCA9IG5ldyBvbEZvcm1hdENscygpO1xuICAgIH1cblxuICAgIHJldHVybiBmb3JtYXQ7XG4gIH1cblxuICBwdWJsaWMgb25VbndhdGNoKCkge1xuICAgIC8vIGVtcHR5XG4gIH1cblxuICBnZXQgcXVlcnlUaXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgPyAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlUaXRsZVxuICAgICAgOiAndGl0bGUnO1xuICB9XG59XG4iXX0=
@@ -60,4 +60,4 @@ export class ImageArcGISRestDataSource extends DataSource {
60
60
  // empty
61
61
  }
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9pbWFnZWFyY2dpc3Jlc3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkxQyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsVUFBVTtJQUl2RCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUztZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNYLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDcEIsQ0FBQztRQUVSLElBQUksT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE9BQU8sSUFBSSxlQUFlLENBQUM7WUFDekIsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNO1lBQ04sR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUNFLFVBQVUsS0FBSyxTQUFTO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ2pCLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRTNCLEtBQUssTUFBTSxhQUFhLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sV0FBVyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEYsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVELFVBQVU7Z0JBQ1IsaUNBQWlDO29CQUNqQyxHQUFHO29CQUNILDhDQUE4QztvQkFDOUMsS0FBSztvQkFDTCxZQUFZLENBQUM7UUFDakIsQ0FBQztRQUNELFVBQVUsSUFBSSxVQUFVLENBQUM7UUFDekIsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEltYWdlQXJjR0lTUmVzdCBmcm9tICdvbC9zb3VyY2UvSW1hZ2VBcmNHSVNSZXN0JztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgcHVibGljIGRlY2xhcmUgb2w6IEltYWdlQXJjR0lTUmVzdDtcbiAgcHVibGljIGRlY2xhcmUgb3B0aW9uczogQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IEltYWdlQXJjR0lTUmVzdCB7XG4gICAgY29uc3QgcGFyYW1zID1cbiAgICAgIHRoaXMub3B0aW9ucy5sYXllciA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdGhpcy5vcHRpb25zLnBhcmFtc1xuICAgICAgICA6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICB7IExBWUVSUzogYHNob3c6JHt0aGlzLm9wdGlvbnMubGF5ZXJ9YCB9LFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtc1xuICAgICAgICAgICk7XG5cbiAgICBpZiAodHlwZW9mIHBhcmFtcy5yZW5kZXJpbmdSdWxlID09PSAnb2JqZWN0Jykge1xuICAgICAgcGFyYW1zLnJlbmRlcmluZ1J1bGUgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMucmVuZGVyaW5nUnVsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbWFnZUFyY0dJU1Jlc3Qoe1xuICAgICAgcmF0aW86IDEsXG4gICAgICBwYXJhbXMsXG4gICAgICB1cmw6IHRoaXMub3B0aW9ucy51cmxcbiAgICB9KTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kSW5mbyA9IHRoaXMub3B0aW9ucy5sZWdlbmRJbmZvO1xuICAgIGNvbnN0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChcbiAgICAgIGxlZ2VuZEluZm8gPT09IHVuZGVmaW5lZCB8fFxuICAgICAgdGhpcy5vcHRpb25zLmxheWVyID09PSB1bmRlZmluZWQgfHxcbiAgICAgIGxlZ2VuZC5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gbGVnZW5kO1xuICAgIH1cblxuICAgIGlmICghbGVnZW5kSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaHRtbFN0cmluZyA9ICc8dGFibGU+JztcblxuICAgIGZvciAoY29uc3QgbGVnZW5kRWxlbWVudCBvZiBsZWdlbmRJbmZvLmxlZ2VuZCkge1xuICAgICAgY29uc3Qgc3JjID0gYCR7dGhpcy5vcHRpb25zLnVybH0vJHtsZWdlbmRJbmZvLmxheWVySWR9L2ltYWdlcy8ke2xlZ2VuZEVsZW1lbnQudXJsfWA7XG4gICAgICBjb25zdCBsYWJlbCA9IGxlZ2VuZEVsZW1lbnQubGFiZWwucmVwbGFjZSgnPE51bGw+JywgJ051bGwnKTtcbiAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgYDx0cj48dGQgYWxpZ249J2xlZnQnPjxpbWcgc3JjPVwiYCArXG4gICAgICAgIHNyYyArXG4gICAgICAgIGBcIiBhbHQgPScnIC8+PC90ZD48dGQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPmAgK1xuICAgICAgICBsYWJlbCArXG4gICAgICAgICc8L3RkPjwvdHI+JztcbiAgICB9XG4gICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgIHJldHVybiBbeyBodG1sOiBodG1sU3RyaW5nIH1dO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9nZW8vc3JjL2xpYi9kYXRhc291cmNlL3NoYXJlZC9kYXRhc291cmNlcy9pbWFnZWFyY2dpc3Jlc3QtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGVBQWUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUkxQyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsVUFBVTtJQUl2RCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFRLElBQUksQ0FBQyxPQUFlLENBQUMsVUFBVTtZQUNyQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxVQUFVO1lBQ2xDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBUSxJQUFJLENBQUMsT0FBZSxDQUFDLFFBQVEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQVEsSUFBSSxDQUFDLE9BQWUsQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBZSxDQUFDLGVBQWU7WUFDdkMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxNQUFNLEdBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUztZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUNYLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDcEIsQ0FBQztRQUVSLElBQUksT0FBTyxNQUFNLENBQUMsYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE9BQU8sSUFBSSxlQUFlLENBQUM7WUFDekIsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNO1lBQ04sR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUNFLFVBQVUsS0FBSyxTQUFTO1lBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ2pCLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBRTNCLEtBQUssTUFBTSxhQUFhLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sV0FBVyxhQUFhLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEYsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVELFVBQVU7Z0JBQ1IsaUNBQWlDO29CQUNqQyxHQUFHO29CQUNILDhDQUE4QztvQkFDOUMsS0FBSztvQkFDTCxZQUFZLENBQUM7UUFDakIsQ0FBQztRQUNELFVBQVUsSUFBSSxVQUFVLENBQUM7UUFDekIsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxRQUFRO0lBQ1YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEltYWdlQXJjR0lTUmVzdCBmcm9tICdvbC9zb3VyY2UvSW1hZ2VBcmNHSVNSZXN0JztcblxuaW1wb3J0IHsgUXVlcnlIdG1sVGFyZ2V0IH0gZnJvbSAnLi4vLi4vLi4vcXVlcnkvc2hhcmVkL3F1ZXJ5LmVudW1zJztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuL2RhdGFzb3VyY2UnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi9kYXRhc291cmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcmNHSVNSZXN0SW1hZ2VEYXRhU291cmNlT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2VhcmNnaXNyZXN0LWRhdGFzb3VyY2UuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNsYXNzIEltYWdlQXJjR0lTUmVzdERhdGFTb3VyY2UgZXh0ZW5kcyBEYXRhU291cmNlIHtcbiAgZGVjbGFyZSBwdWJsaWMgb2w6IEltYWdlQXJjR0lTUmVzdDtcbiAgZGVjbGFyZSBwdWJsaWMgb3B0aW9uczogQXJjR0lTUmVzdEltYWdlRGF0YVNvdXJjZU9wdGlvbnM7XG5cbiAgZ2V0IHBhcmFtcygpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMucGFyYW1zIGFzIGFueTtcbiAgfVxuXG4gIGdldCBxdWVyeVRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeVRpdGxlXG4gICAgICA6ICd0aXRsZSc7XG4gIH1cblxuICBnZXQgbWFwTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3B0aW9ucyBhcyBhbnkpLm1hcExhYmVsO1xuICB9XG5cbiAgZ2V0IHF1ZXJ5SHRtbFRhcmdldCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5vcHRpb25zIGFzIGFueSkucXVlcnlIdG1sVGFyZ2V0XG4gICAgICA/ICh0aGlzLm9wdGlvbnMgYXMgYW55KS5xdWVyeUh0bWxUYXJnZXRcbiAgICAgIDogUXVlcnlIdG1sVGFyZ2V0LkJMQU5LO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZU9sU291cmNlKCk6IEltYWdlQXJjR0lTUmVzdCB7XG4gICAgY29uc3QgcGFyYW1zID1cbiAgICAgIHRoaXMub3B0aW9ucy5sYXllciA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdGhpcy5vcHRpb25zLnBhcmFtc1xuICAgICAgICA6IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICB7IExBWUVSUzogYHNob3c6JHt0aGlzLm9wdGlvbnMubGF5ZXJ9YCB9LFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnBhcmFtc1xuICAgICAgICAgICk7XG5cbiAgICBpZiAodHlwZW9mIHBhcmFtcy5yZW5kZXJpbmdSdWxlID09PSAnb2JqZWN0Jykge1xuICAgICAgcGFyYW1zLnJlbmRlcmluZ1J1bGUgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMucmVuZGVyaW5nUnVsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbWFnZUFyY0dJU1Jlc3Qoe1xuICAgICAgcmF0aW86IDEsXG4gICAgICBwYXJhbXMsXG4gICAgICB1cmw6IHRoaXMub3B0aW9ucy51cmxcbiAgICB9KTtcbiAgfVxuXG4gIGdldExlZ2VuZCgpOiBMZWdlbmRbXSB7XG4gICAgY29uc3QgbGVnZW5kSW5mbyA9IHRoaXMub3B0aW9ucy5sZWdlbmRJbmZvO1xuICAgIGNvbnN0IGxlZ2VuZCA9IHN1cGVyLmdldExlZ2VuZCgpO1xuICAgIGlmIChcbiAgICAgIGxlZ2VuZEluZm8gPT09IHVuZGVmaW5lZCB8fFxuICAgICAgdGhpcy5vcHRpb25zLmxheWVyID09PSB1bmRlZmluZWQgfHxcbiAgICAgIGxlZ2VuZC5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICByZXR1cm4gbGVnZW5kO1xuICAgIH1cblxuICAgIGlmICghbGVnZW5kSW5mbykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaHRtbFN0cmluZyA9ICc8dGFibGU+JztcblxuICAgIGZvciAoY29uc3QgbGVnZW5kRWxlbWVudCBvZiBsZWdlbmRJbmZvLmxlZ2VuZCkge1xuICAgICAgY29uc3Qgc3JjID0gYCR7dGhpcy5vcHRpb25zLnVybH0vJHtsZWdlbmRJbmZvLmxheWVySWR9L2ltYWdlcy8ke2xlZ2VuZEVsZW1lbnQudXJsfWA7XG4gICAgICBjb25zdCBsYWJlbCA9IGxlZ2VuZEVsZW1lbnQubGFiZWwucmVwbGFjZSgnPE51bGw+JywgJ051bGwnKTtcbiAgICAgIGh0bWxTdHJpbmcgKz1cbiAgICAgICAgYDx0cj48dGQgYWxpZ249J2xlZnQnPjxpbWcgc3JjPVwiYCArXG4gICAgICAgIHNyYyArXG4gICAgICAgIGBcIiBhbHQgPScnIC8+PC90ZD48dGQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPmAgK1xuICAgICAgICBsYWJlbCArXG4gICAgICAgICc8L3RkPjwvdHI+JztcbiAgICB9XG4gICAgaHRtbFN0cmluZyArPSAnPC90YWJsZT4nO1xuICAgIHJldHVybiBbeyBodG1sOiBodG1sU3RyaW5nIH1dO1xuICB9XG5cbiAgcHVibGljIG9uVW53YXRjaCgpIHtcbiAgICAvLyBlbXB0eVxuICB9XG59XG4iXX0=