geonetwork-ui 2.5.0-dev.bd37f68b3 → 2.5.0-dev.d4eff86c8

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 (151) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +11 -1
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  3. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +34 -28
  4. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +22 -2
  5. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  6. package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
  7. package/esm2022/libs/feature/dataviz/src/lib/chart-view/chart-view.component.mjs +7 -4
  8. package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +23 -15
  9. package/esm2022/libs/feature/dataviz/src/lib/table-view/table-view.component.mjs +7 -4
  10. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.mjs +2 -1
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.mjs +2 -2
  13. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +2 -2
  14. package/esm2022/libs/feature/record/src/lib/data-view/data-view.component.mjs +4 -3
  15. package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +3 -2
  16. package/esm2022/libs/feature/record/src/lib/state/mdview.actions.mjs +4 -1
  17. package/esm2022/libs/feature/record/src/lib/state/mdview.effects.mjs +7 -2
  18. package/esm2022/libs/feature/record/src/lib/state/mdview.facade.mjs +9 -1
  19. package/esm2022/libs/feature/record/src/lib/state/mdview.reducer.mjs +19 -1
  20. package/esm2022/libs/feature/record/src/lib/state/mdview.selectors.mjs +6 -1
  21. package/esm2022/libs/feature/search/src/lib/utils/service/fields.mjs +46 -1
  22. package/esm2022/libs/feature/search/src/lib/utils/service/fields.service.mjs +3 -2
  23. package/esm2022/libs/ui/elements/src/index.mjs +2 -1
  24. package/esm2022/libs/ui/elements/src/lib/application-banner/application-banner.component.mjs +78 -0
  25. package/esm2022/libs/ui/elements/src/lib/record-api-form/record-api-form.component.mjs +2 -1
  26. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -4
  27. package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +7 -2
  28. package/esm2022/libs/util/data-fetcher/src/lib/data-fetcher.mjs +5 -4
  29. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-cache.mjs +12 -0
  30. package/esm2022/libs/util/data-fetcher/src/lib/readers/base-file.mjs +3 -3
  31. package/esm2022/libs/util/data-fetcher/src/lib/readers/csv.mjs +2 -2
  32. package/esm2022/libs/util/data-fetcher/src/lib/readers/excel.mjs +2 -2
  33. package/esm2022/libs/util/data-fetcher/src/lib/readers/geojson.mjs +2 -2
  34. package/esm2022/libs/util/data-fetcher/src/lib/readers/gml.mjs +5 -3
  35. package/esm2022/libs/util/data-fetcher/src/lib/readers/json.mjs +2 -2
  36. package/esm2022/libs/util/data-fetcher/src/lib/readers/wfs.mjs +6 -6
  37. package/esm2022/libs/util/data-fetcher/src/lib/utils.mjs +9 -7
  38. package/esm2022/translations/de.json +2 -3
  39. package/esm2022/translations/en.json +2 -3
  40. package/esm2022/translations/es.json +2 -3
  41. package/esm2022/translations/fr.json +4 -5
  42. package/esm2022/translations/it.json +2 -3
  43. package/esm2022/translations/nl.json +2 -3
  44. package/esm2022/translations/pt.json +2 -3
  45. package/fesm2022/geonetwork-ui.mjs +398 -166
  46. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  47. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +3 -0
  49. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  50. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +1 -0
  51. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  52. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +2 -1
  53. package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
  54. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +6 -0
  55. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  56. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +2 -1
  57. package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
  58. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts +2 -1
  59. package/libs/feature/dataviz/src/lib/chart-view/chart-view.component.d.ts.map +1 -1
  60. package/libs/feature/dataviz/src/lib/service/data.service.d.ts +2 -2
  61. package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
  62. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts +2 -1
  63. package/libs/feature/dataviz/src/lib/table-view/table-view.component.d.ts.map +1 -1
  64. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.d.ts.map +1 -1
  65. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.d.ts.map +1 -1
  66. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts +1 -0
  67. package/libs/feature/record/src/lib/data-view/data-view.component.d.ts.map +1 -1
  68. package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
  69. package/libs/feature/record/src/lib/state/mdview.actions.d.ts +16 -1
  70. package/libs/feature/record/src/lib/state/mdview.actions.d.ts.map +1 -1
  71. package/libs/feature/record/src/lib/state/mdview.effects.d.ts +5 -0
  72. package/libs/feature/record/src/lib/state/mdview.effects.d.ts.map +1 -1
  73. package/libs/feature/record/src/lib/state/mdview.facade.d.ts +2 -0
  74. package/libs/feature/record/src/lib/state/mdview.facade.d.ts.map +1 -1
  75. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts +4 -1
  76. package/libs/feature/record/src/lib/state/mdview.reducer.d.ts.map +1 -1
  77. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts +2 -0
  78. package/libs/feature/record/src/lib/state/mdview.selectors.d.ts.map +1 -1
  79. package/libs/feature/search/src/lib/utils/service/fields.d.ts +10 -0
  80. package/libs/feature/search/src/lib/utils/service/fields.d.ts.map +1 -1
  81. package/libs/feature/search/src/lib/utils/service/fields.service.d.ts.map +1 -1
  82. package/libs/ui/elements/src/index.d.ts +1 -0
  83. package/libs/ui/elements/src/index.d.ts.map +1 -1
  84. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts +16 -0
  85. package/libs/ui/elements/src/lib/application-banner/application-banner.component.d.ts.map +1 -0
  86. package/libs/ui/elements/src/lib/record-api-form/record-api-form.component.d.ts.map +1 -1
  87. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  88. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  89. package/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.d.ts.map +1 -1
  90. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts +2 -2
  91. package/libs/util/data-fetcher/src/lib/data-fetcher.d.ts.map +1 -1
  92. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts +8 -0
  93. package/libs/util/data-fetcher/src/lib/readers/base-cache.d.ts.map +1 -0
  94. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts +2 -2
  95. package/libs/util/data-fetcher/src/lib/readers/base-file.d.ts.map +1 -1
  96. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts +5 -3
  97. package/libs/util/data-fetcher/src/lib/readers/gml.d.ts.map +1 -1
  98. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts +3 -3
  99. package/libs/util/data-fetcher/src/lib/readers/wfs.d.ts.map +1 -1
  100. package/libs/util/data-fetcher/src/lib/utils.d.ts +2 -2
  101. package/libs/util/data-fetcher/src/lib/utils.d.ts.map +1 -1
  102. package/package.json +1 -1
  103. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +25 -0
  104. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +4 -0
  105. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +36 -27
  106. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +41 -2
  107. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +3 -1
  108. package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -1
  109. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +75 -0
  110. package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.ts +2 -1
  111. package/src/libs/feature/dataviz/src/lib/service/data.service.ts +42 -21
  112. package/src/libs/feature/dataviz/src/lib/table-view/table-view.component.ts +2 -1
  113. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  114. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-contacts-for-resource/form-field-contacts-for-resource.component.ts +1 -0
  115. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-rich/form-field-rich.component.ts +1 -1
  116. package/src/libs/feature/editor/src/lib/fields.config.ts +1 -1
  117. package/src/libs/feature/record/src/lib/data-view/data-view.component.html +2 -0
  118. package/src/libs/feature/record/src/lib/data-view/data-view.component.ts +3 -0
  119. package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +2 -1
  120. package/src/libs/feature/record/src/lib/state/mdview.actions.ts +16 -0
  121. package/src/libs/feature/record/src/lib/state/mdview.effects.ts +21 -2
  122. package/src/libs/feature/record/src/lib/state/mdview.facade.ts +15 -0
  123. package/src/libs/feature/record/src/lib/state/mdview.reducer.ts +30 -1
  124. package/src/libs/feature/record/src/lib/state/mdview.selectors.ts +12 -0
  125. package/src/libs/feature/search/src/lib/utils/service/fields.service.ts +2 -0
  126. package/src/libs/feature/search/src/lib/utils/service/fields.ts +55 -0
  127. package/src/libs/ui/elements/src/index.ts +1 -0
  128. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.css +0 -0
  129. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.html +25 -0
  130. package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +70 -0
  131. package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.ts +2 -0
  132. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +3 -0
  133. package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.ts +6 -0
  134. package/src/libs/util/data-fetcher/src/lib/data-fetcher.ts +13 -4
  135. package/src/libs/util/data-fetcher/src/lib/readers/base-cache.ts +14 -0
  136. package/src/libs/util/data-fetcher/src/lib/readers/base-file.ts +2 -1
  137. package/src/libs/util/data-fetcher/src/lib/readers/csv.ts +1 -1
  138. package/src/libs/util/data-fetcher/src/lib/readers/excel.ts +1 -1
  139. package/src/libs/util/data-fetcher/src/lib/readers/geojson.ts +1 -1
  140. package/src/libs/util/data-fetcher/src/lib/readers/gml.ts +7 -7
  141. package/src/libs/util/data-fetcher/src/lib/readers/json.ts +1 -1
  142. package/src/libs/util/data-fetcher/src/lib/readers/wfs.ts +10 -5
  143. package/src/libs/util/data-fetcher/src/lib/utils.ts +36 -32
  144. package/translations/de.json +2 -3
  145. package/translations/en.json +2 -3
  146. package/translations/es.json +2 -3
  147. package/translations/fr.json +4 -5
  148. package/translations/it.json +2 -3
  149. package/translations/nl.json +2 -3
  150. package/translations/pt.json +2 -3
  151. package/translations/sk.json +2 -3
@@ -58,7 +58,12 @@ export class AutocompleteComponent {
58
58
  const suggestionsFromAction = merge(newValue$.pipe(filter((value) => value.length >= this.minCharacterCount)), externalValueChange$).pipe(tap(() => {
59
59
  this.searching = true;
60
60
  this.error = null;
61
- }), switchMap((value) => this.action(value)), catchError((error) => {
61
+ }), switchMap((value) => this.action(value)), tap((suggestions) => {
62
+ // forcing the panel to open if there are suggestions
63
+ if (suggestions.length > 0) {
64
+ this.triggerRef?.openPanel();
65
+ }
66
+ }), catchError((error) => {
62
67
  this.error = error.message;
63
68
  return of([]);
64
69
  }), finalize(() => (this.searching = false)));
@@ -199,4 +204,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
199
204
  }], displayWithFn: [{
200
205
  type: Input
201
206
  }] } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFFckIsc0JBQXNCLEdBQ3ZCLE1BQU0sZ0NBQWdDLENBQUE7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEYsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7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LEVBQUUsUUFBUTt5QkFDZixDQUFDO3FCQUNIO3NGQUtRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQzRCLFVBQVU7c0JBQTVDLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNMLFlBQVk7c0JBQXZDLFNBQVM7dUJBQUMsZUFBZTtnQkFDQSxRQUFRO3NCQUFqQyxTQUFTO3VCQUFDLGFBQWE7Z0JBV2YsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgTWF0QXV0b2NvbXBsZXRlLFxuICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IGZpcnN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFBvcHVwQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IGljb25vaXJTZWFyY2ggfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IG1hdENsb3NlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVJdGVtID0gdW5rbm93blxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJTZWFyY2gsXG4gICAgICBtYXRDbG9zZSxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41cmVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nXG4gIEBJbnB1dCgpIGFjdGlvbjogKHZhbHVlOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXV0b2NvbXBsZXRlSXRlbVtdPlxuICBASW5wdXQoKSB2YWx1ZT86IEF1dG9jb21wbGV0ZUl0ZW1cbiAgQElucHV0KCkgY2xlYXJPblNlbGVjdGlvbiA9IGZhbHNlXG4gIEBJbnB1dCgpIHByZXZlbnRDb21wbGV0ZU9uU2VsZWN0aW9uID0gZmFsc2VcbiAgQElucHV0KCkgYXV0b0ZvY3VzID0gZmFsc2VcbiAgQElucHV0KCkgbWluQ2hhcmFjdGVyQ291bnQ/ID0gM1xuICAvLyB0aGlzIHdpbGwgc2hvdyBhIHN1Ym1pdCBidXR0b24gbmV4dCB0byB0aGUgaW5wdXQ7IGlmIGZhbHNlLCBhIHNlYXJjaCBpY29uIHdpbGwgYXBwZWFyIG9uIHRoZSBsZWZ0XG4gIEBJbnB1dCgpIGFsbG93U3VibWl0ID0gZmFsc2VcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlSXRlbT4oKVxuICBAT3V0cHV0KCkgaW5wdXRTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBAT3V0cHV0KCkgaW5wdXRDbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgdHJpZ2dlclJlZjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlclxuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZSkgYXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuXG4gIHNlYXJjaGluZzogYm9vbGVhblxuICBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXG4gIGNhbmNlbEVudGVyID0gdHJ1ZVxuICBzZWxlY3Rpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8TWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudD4oMSlcbiAgbGFzdElucHV0VmFsdWUkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKVxuICBlcnJvcjogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPEF1dG9jb21wbGV0ZUl0ZW1bXT5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgQElucHV0KCkgZGlzcGxheVdpdGhGbjogKGl0ZW06IEF1dG9jb21wbGV0ZUl0ZW0pID0+IHN0cmluZyA9IChpdGVtKSA9PlxuICAgIGl0ZW0udG9TdHJpbmcoKVxuXG4gIGRpc3BsYXlXaXRoRm5JbnRlcm5hbCA9IChpdGVtPzogQXV0b2NvbXBsZXRlSXRlbSkgPT4ge1xuICAgIGlmIChpdGVtID09PSBudWxsIHx8IGl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aEZuKGl0ZW0pXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGNoYW5nZXNcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVGV4dFZhbHVlID0gdGhpcy5kaXNwbGF5V2l0aEZuSW50ZXJuYWwodmFsdWUucHJldmlvdXNWYWx1ZSlcbiAgICAgIGNvbnN0IGN1cnJlbnRUZXh0VmFsdWUgPSB0aGlzLmRpc3BsYXlXaXRoRm5JbnRlcm5hbCh2YWx1ZS5jdXJyZW50VmFsdWUpXG4gICAgICBpZiAocHJldmlvdXNUZXh0VmFsdWUgIT09IGN1cnJlbnRUZXh0VmFsdWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbHVlLmN1cnJlbnRWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSQgPSBtZXJnZShcbiAgICAgIG9mKCcnKSxcbiAgICAgIHRoaXMuaW5wdXRDbGVhcmVkLnBpcGUobWFwKCgpID0+ICcnKSksXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoNDAwKVxuICAgICAgKVxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsVmFsdWVDaGFuZ2UkID0gdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZS50aXRsZSksXG4gICAgICBtYXAoKGl0ZW0pID0+IGl0ZW0udGl0bGUpXG4gICAgKVxuXG4gICAgLy8gdGhpcyBvYnNlcnZhYmxlIGVtaXRzIGFycmF5cyBvZiBzdWdnZXN0aW9ucyBsb2FkZWQgdXNpbmcgdGhlIGdpdmVuIGFjdGlvblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zRnJvbUFjdGlvbiA9IG1lcmdlKFxuICAgICAgbmV3VmFsdWUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUubGVuZ3RoID49IHRoaXMubWluQ2hhcmFjdGVyQ291bnQpXG4gICAgICApLFxuICAgICAgZXh0ZXJuYWxWYWx1ZUNoYW5nZSRcbiAgICApLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gdGhpcy5hY3Rpb24odmFsdWUpKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmVycm9yID0gZXJyb3IubWVzc2FnZVxuICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICB9KSxcbiAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLnNlYXJjaGluZyA9IGZhbHNlKSlcbiAgICApXG5cbiAgICB0aGlzLnN1Z2dlc3Rpb25zJCA9IG1lcmdlKFxuICAgICAgc3VnZ2VzdGlvbnNGcm9tQWN0aW9uLFxuICAgICAgLy8gaWYgYSBuZXcgdmFsdWUgaXMgdW5kZXIgdGhlIG1pbiBjaGFyIGNvdW50LCBjbGVhciBzdWdnZXN0aW9uc1xuICAgICAgbmV3VmFsdWUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUubGVuZ3RoIDwgdGhpcy5taW5DaGFyYWN0ZXJDb3VudCksXG4gICAgICAgIG1hcCgoKSA9PiBbXSlcbiAgICAgIClcbiAgICApXG5cbiAgICAvLyBjbG9zZSB0aGUgcGFuZWwgd2hlbmV2ZXIgc3VnZ2VzdGlvbnMgYXJlIGNsZWFyZWRcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zJFxuICAgICAgICAucGlwZShmaWx0ZXIoKHN1Z2dlc3Rpb25zKSA9PiBzdWdnZXN0aW9ucy5sZW5ndGggPT09IDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/LmNsb3NlUGFuZWwoKVxuICAgICAgICB9KVxuICAgIClcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChhbnkpID0+IHtcbiAgICAgICAgaWYgKGFueSAhPT0gJycpIHtcbiAgICAgICAgICB0aGlzLmNhbmNlbEVudGVyID0gZmFsc2VcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG5cbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShmaWx0ZXIoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSlcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5sYXN0SW5wdXRWYWx1ZSQpXG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRvY29tcGxldGUub3B0aW9uU2VsZWN0ZWQuc3Vic2NyaWJlKHRoaXMuc2VsZWN0aW9uU3ViamVjdClcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpXG4gIH1cblxuICB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBBdXRvY29tcGxldGVJdGVtKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUpXG4gICAgfVxuICAgIGlmICh0aGlzLmlucHV0UmVmKSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAodmFsdWUgYXMgYW55KT8udGl0bGUgfHwgJydcbiAgICB9XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICAgIHRoaXMuaW5wdXRDbGVhcmVkLmVtaXQoKVxuICAgIHRoaXMuc2VsZWN0aW9uU3ViamVjdFxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4gc2VsZWN0aW9uICYmIHNlbGVjdGlvbi5vcHRpb24uZGVzZWxlY3QoKSlcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaGFuZGxlRW50ZXIoYW55OiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuY2FuY2VsRW50ZXIgJiYgdGhpcy5hbGxvd1N1Ym1pdCkge1xuICAgICAgdGhpcy5pbnB1dFN1Ym1pdHRlZC5lbWl0KGFueSlcbiAgICB9XG4gIH1cblxuICBoYW5kbGVDbGlja1NlYXJjaCgpIHtcbiAgICB0aGlzLmlucHV0U3VibWl0dGVkLmVtaXQodGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlKVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkIHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCBpbiB0aGUgbGlzdCBvZiBkaXNwbGF5ZWQgaXRlbXMuXG4gICAqIElmIHByZXZlbnRDb21wbGV0ZU9uU2VsZWN0aW9uIGlzIHRydWUgdGhlbiB0aGUgaW5wdXQgd2lsbCBiZSBsZWZ0IGFzIGVudGVyZWQgYnkgdGhlIHVzZXIuXG4gICAqIElmIHByZXZlbnRDb21wbGV0ZU9uU2VsZWN0aW9uIGlzIGZhbHNlIChieSBkZWZhdWx0KSB0aGVuIHRoZSBpbnB1dCB3aWxsIGJlIGNvbXBsZXRlZCB3aXRoIHRoZSBpdGVtIHNlbGVjdGVkIGJ5IHRoZSB1c2VyLlxuICAgKiBJZiBjbGVhck9uU2VsZWN0aW9uIGlzIHRydWUgdGhlbiB0aGUgaW5wdXQgd2lsbCBiZSBjbGVhcmVkIHVwb24gc2VsZWN0aW9uLlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICovXG4gIGhhbmRsZVNlbGVjdGlvbihldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgIHRoaXMuY2FuY2VsRW50ZXIgPSB0cnVlXG4gICAgdGhpcy5pdGVtU2VsZWN0ZWQuZW1pdChldmVudC5vcHRpb24udmFsdWUpXG4gICAgaWYgKHRoaXMucHJldmVudENvbXBsZXRlT25TZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMubGFzdElucHV0VmFsdWUkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChsYXN0SW5wdXRWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBsYXN0SW5wdXRWYWx1ZVxuICAgICAgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAodGhpcy5jbGVhck9uU2VsZWN0aW9uKSB7XG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJ1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKCcnKVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW4gY2xhc3M9XCJ3LWZ1bGwgaW5saW5lLWJsb2NrIHJlbGF0aXZlXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFic29sdXRlIGluc2V0LXktWy0taWNvbi1wYWRkaW5nXSBsZWZ0LVstLWljb24tcGFkZGluZ10gdy1bLS1pY29uLXdpZHRoXSBwb2ludGVyLWV2ZW50cy1ub25lXCJcbiAgICAqbmdJZj1cIiFhbGxvd1N1Ym1pdFwiXG4gID5cbiAgICA8bmctaWNvbiBuYW1lPVwiaWNvbm9pclNlYXJjaFwiIGNsYXNzPVwidGV4dC1wcmltYXJ5IHNlYXJjaFwiPjwvbmctaWNvbj5cbiAgPC9kaXY+XG4gIDxpbnB1dFxuICAgICNzZWFyY2hJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzcz1cImduLXVpLXRleHQtaW5wdXRcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdweC1bLS1pY29uLXdpZHRoXSc6ICFhbGxvd1N1Ym1pdCxcbiAgICB9XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgIChrZXl1cC5lbnRlcik9XCJoYW5kbGVFbnRlcihzZWFyY2hJbnB1dC52YWx1ZSlcIlxuICAvPlxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cImxpZ2h0XCJcbiAgICBleHRyYUNsYXNzPVwiYm9yZGVyLTAgdGV4dC1wcmltYXJ5LWxpZ2h0ZXN0IGhvdmVyOnRleHQtcHJpbWFyeSBmb2N1czp0ZXh0LXByaW1hcnkgYWJzb2x1dGUgaW5zZXQteS1bLS1pY29uLXBhZGRpbmddIHt7XG4gICAgICBhbGxvd1N1Ym1pdFxuICAgICAgICA/ICdyaWdodC1bY2FsYyh2YXIoLS1pY29uLXdpZHRoKSt2YXIoLS1pY29uLXBhZGRpbmcpKV0nXG4gICAgICAgIDogJ3JpZ2h0LVstLWljb24tcGFkZGluZ10nXG4gICAgfX1cIlxuICAgIGRhdGEtdGVzdD1cImNsZWFyLWJ0blwiXG4gICAgKm5nSWY9XCJzZWFyY2hJbnB1dC52YWx1ZVwiXG4gICAgYXJpYS1sYWJlbD1cIkNsZWFyXCJcbiAgICAoYnV0dG9uQ2xpY2spPVwiY2xlYXIoKVwiXG4gID5cbiAgICA8bmctaWNvbiBuYW1lPVwibWF0Q2xvc2VcIj48L25nLWljb24+XG4gIDwvZ24tdWktYnV0dG9uPlxuICA8Z24tdWktYnV0dG9uXG4gICAgdHlwZT1cImxpZ2h0XCJcbiAgICBleHRyYUNsYXNzPVwiYm9yZGVyLTAgYm9yZGVyLWwtWzFweF0gYm9yZGVyLWdyYXktMzAwIGhvdmVyOmJvcmRlci1ncmF5LTUwMCB0ZXh0LXByaW1hcnkgaG92ZXI6dGV4dC1wcmltYXJ5LWRhcmtlc3QgZm9jdXM6dGV4dC1wcmltYXJ5LWRhcmtlc3QgYWJzb2x1dGUgaW5zZXQteS1bLS1pY29uLXBhZGRpbmddIHJpZ2h0LVstLWljb24tcGFkZGluZ11cIlxuICAgIGFyaWEtbGFiZWw9XCJUcmlnZ2VyIHNlYXJjaFwiXG4gICAgKm5nSWY9XCJhbGxvd1N1Ym1pdFwiXG4gICAgZGF0YS10ZXN0PVwiYXV0b2NvbXBsZXRlLXN1Ym1pdC1idG5cIlxuICAgIChidXR0b25DbGljayk9XCJoYW5kbGVDbGlja1NlYXJjaCgpXCJcbiAgPlxuICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lyU2VhcmNoXCI+PC9uZy1pY29uPlxuICA8L2duLXVpLWJ1dHRvbj5cblxuICA8Z24tdWktcG9wdXAtYWxlcnRcbiAgICAqbmdJZj1cImVycm9yXCJcbiAgICBjbGFzcz1cImFic29sdXRlIG10LTIgdy1mdWxsIHRvcC1bMTAwJV0gbGVmdC0wXCJcbiAgICBpY29uPVwibWF0RXJyb3JPdXRsaW5lT3V0bGluZVwiXG4gICAgcG9zaXRpb249XCJ0b3BcIlxuICAgIHR5cGU9XCJ3YXJuaW5nXCJcbiAgPlxuICAgIDxzcGFuIHRyYW5zbGF0ZT5zZWFyY2guYXV0b2NvbXBsZXRlLmVycm9yPC9zcGFuPlxuICAgIHt7IGVycm9yIH19XG4gIDwvZ24tdWktcG9wdXAtYWxlcnQ+XG48L3NwYW4+XG5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgKG9wdGlvblNlbGVjdGVkKT1cImhhbmRsZVNlbGVjdGlvbigkZXZlbnQpXCJcbiAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlXaXRoRm5JbnRlcm5hbFwiXG4+XG4gIDxtYXQtb3B0aW9uXG4gICAgKm5nRm9yPVwibGV0IHN1Z2dlc3Rpb24gb2Ygc3VnZ2VzdGlvbnMkIHwgYXN5bmNcIlxuICAgIFt2YWx1ZV09XCJzdWdnZXN0aW9uXCJcbiAgICBjbGFzcz1cInAtMiBzdWdnZXN0aW9uXCJcbiAgPlxuICAgIHt7IGRpc3BsYXlXaXRoRm5JbnRlcm5hbChzdWdnZXN0aW9uKSB9fVxuICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG4iXX0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDeEUsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFFckIsc0JBQXNCLEdBQ3ZCLE1BQU0sZ0NBQWdDLENBQUE7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDaEYsT0FBTyxFQUNMLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixRQUFRLEVBQ1IsR0FBRyxFQUNILFNBQVMsRUFDVCxJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7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QkFDbkIscUJBQXFCO3dCQUNyQixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCLGFBQ1U7d0JBQ1QsWUFBWSxDQUFDOzRCQUNYLGFBQWE7NEJBQ2IsUUFBUTt5QkFDVCxDQUFDO3dCQUNGLG9CQUFvQixDQUFDOzRCQUNuQixJQUFJLEVBQUUsUUFBUTt5QkFDZixDQUFDO3FCQUNIO3NGQUtRLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQzRCLFVBQVU7c0JBQTVDLFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNMLFlBQVk7c0JBQXZDLFNBQVM7dUJBQUMsZUFBZTtnQkFDQSxRQUFRO3NCQUFqQyxTQUFTO3VCQUFDLGFBQWE7Z0JBV2YsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHtcbiAgTWF0QXV0b2NvbXBsZXRlLFxuICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gIE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQsXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IGZpcnN0LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YsIFJlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIGZpbmFsaXplLFxuICBtYXAsXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycydcbmltcG9ydCB7IFBvcHVwQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHtcbiAgTmdJY29uQ29tcG9uZW50LFxuICBwcm92aWRlSWNvbnMsXG4gIHByb3ZpZGVOZ0ljb25zQ29uZmlnLFxufSBmcm9tICdAbmctaWNvbnMvY29yZSdcbmltcG9ydCB7IGljb25vaXJTZWFyY2ggfSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IG1hdENsb3NlIH0gZnJvbSAnQG5nLWljb25zL21hdGVyaWFsLWljb25zL2Jhc2VsaW5lJ1xuXG5leHBvcnQgdHlwZSBBdXRvY29tcGxldGVJdGVtID0gdW5rbm93blxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi11aS1hdXRvY29tcGxldGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBQb3B1cEFsZXJ0Q29tcG9uZW50LFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZUljb25zKHtcbiAgICAgIGljb25vaXJTZWFyY2gsXG4gICAgICBtYXRDbG9zZSxcbiAgICB9KSxcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41cmVtJyxcbiAgICB9KSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nXG4gIEBJbnB1dCgpIGFjdGlvbjogKHZhbHVlOiBzdHJpbmcpID0+IE9ic2VydmFibGU8QXV0b2NvbXBsZXRlSXRlbVtdPlxuICBASW5wdXQoKSB2YWx1ZT86IEF1dG9jb21wbGV0ZUl0ZW1cbiAgQElucHV0KCkgY2xlYXJPblNlbGVjdGlvbiA9IGZhbHNlXG4gIEBJbnB1dCgpIHByZXZlbnRDb21wbGV0ZU9uU2VsZWN0aW9uID0gZmFsc2VcbiAgQElucHV0KCkgYXV0b0ZvY3VzID0gZmFsc2VcbiAgQElucHV0KCkgbWluQ2hhcmFjdGVyQ291bnQ/ID0gM1xuICAvLyB0aGlzIHdpbGwgc2hvdyBhIHN1Ym1pdCBidXR0b24gbmV4dCB0byB0aGUgaW5wdXQ7IGlmIGZhbHNlLCBhIHNlYXJjaCBpY29uIHdpbGwgYXBwZWFyIG9uIHRoZSBsZWZ0XG4gIEBJbnB1dCgpIGFsbG93U3VibWl0ID0gZmFsc2VcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8QXV0b2NvbXBsZXRlSXRlbT4oKVxuICBAT3V0cHV0KCkgaW5wdXRTdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBAT3V0cHV0KCkgaW5wdXRDbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBWaWV3Q2hpbGQoTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcikgdHJpZ2dlclJlZjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlclxuICBAVmlld0NoaWxkKE1hdEF1dG9jb21wbGV0ZSkgYXV0b2NvbXBsZXRlOiBNYXRBdXRvY29tcGxldGVcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBpbnB1dFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuXG4gIHNlYXJjaGluZzogYm9vbGVhblxuICBjb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXG4gIGNhbmNlbEVudGVyID0gdHJ1ZVxuICBzZWxlY3Rpb25TdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3Q8TWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudD4oMSlcbiAgbGFzdElucHV0VmFsdWUkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKVxuICBlcnJvcjogc3RyaW5nIHwgbnVsbCA9IG51bGxcbiAgc3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPEF1dG9jb21wbGV0ZUl0ZW1bXT5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgQElucHV0KCkgZGlzcGxheVdpdGhGbjogKGl0ZW06IEF1dG9jb21wbGV0ZUl0ZW0pID0+IHN0cmluZyA9IChpdGVtKSA9PlxuICAgIGl0ZW0udG9TdHJpbmcoKVxuXG4gIGRpc3BsYXlXaXRoRm5JbnRlcm5hbCA9IChpdGVtPzogQXV0b2NvbXBsZXRlSXRlbSkgPT4ge1xuICAgIGlmIChpdGVtID09PSBudWxsIHx8IGl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuIG51bGxcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aEZuKGl0ZW0pXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IGNoYW5nZXNcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVGV4dFZhbHVlID0gdGhpcy5kaXNwbGF5V2l0aEZuSW50ZXJuYWwodmFsdWUucHJldmlvdXNWYWx1ZSlcbiAgICAgIGNvbnN0IGN1cnJlbnRUZXh0VmFsdWUgPSB0aGlzLmRpc3BsYXlXaXRoRm5JbnRlcm5hbCh2YWx1ZS5jdXJyZW50VmFsdWUpXG4gICAgICBpZiAocHJldmlvdXNUZXh0VmFsdWUgIT09IGN1cnJlbnRUZXh0VmFsdWUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbHVlLmN1cnJlbnRWYWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSQgPSBtZXJnZShcbiAgICAgIG9mKCcnKSxcbiAgICAgIHRoaXMuaW5wdXRDbGVhcmVkLnBpcGUobWFwKCgpID0+ICcnKSksXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoNDAwKVxuICAgICAgKVxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsVmFsdWVDaGFuZ2UkID0gdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZmlsdGVyKCh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZS50aXRsZSksXG4gICAgICBtYXAoKGl0ZW0pID0+IGl0ZW0udGl0bGUpXG4gICAgKVxuXG4gICAgLy8gdGhpcyBvYnNlcnZhYmxlIGVtaXRzIGFycmF5cyBvZiBzdWdnZXN0aW9ucyBsb2FkZWQgdXNpbmcgdGhlIGdpdmVuIGFjdGlvblxuICAgIGNvbnN0IHN1Z2dlc3Rpb25zRnJvbUFjdGlvbiA9IG1lcmdlKFxuICAgICAgbmV3VmFsdWUkLnBpcGUoXG4gICAgICAgIGZpbHRlcigodmFsdWU6IHN0cmluZykgPT4gdmFsdWUubGVuZ3RoID49IHRoaXMubWluQ2hhcmFjdGVyQ291bnQpXG4gICAgICApLFxuICAgICAgZXh0ZXJuYWxWYWx1ZUNoYW5nZSRcbiAgICApLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLnNlYXJjaGluZyA9IHRydWVcbiAgICAgICAgdGhpcy5lcnJvciA9IG51bGxcbiAgICAgIH0pLFxuICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4gdGhpcy5hY3Rpb24odmFsdWUpKSxcbiAgICAgIHRhcCgoc3VnZ2VzdGlvbnMpID0+IHtcbiAgICAgICAgLy8gZm9yY2luZyB0aGUgcGFuZWwgdG8gb3BlbiBpZiB0aGVyZSBhcmUgc3VnZ2VzdGlvbnNcbiAgICAgICAgaWYgKHN1Z2dlc3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXJSZWY/Lm9wZW5QYW5lbCgpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSBlcnJvci5tZXNzYWdlXG4gICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgIH0pLFxuICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMuc2VhcmNoaW5nID0gZmFsc2UpKVxuICAgIClcblxuICAgIHRoaXMuc3VnZ2VzdGlvbnMkID0gbWVyZ2UoXG4gICAgICBzdWdnZXN0aW9uc0Zyb21BY3Rpb24sXG4gICAgICAvLyBpZiBhIG5ldyB2YWx1ZSBpcyB1bmRlciB0aGUgbWluIGNoYXIgY291bnQsIGNsZWFyIHN1Z2dlc3Rpb25zXG4gICAgICBuZXdWYWx1ZSQucGlwZShcbiAgICAgICAgZmlsdGVyKCh2YWx1ZTogc3RyaW5nKSA9PiB2YWx1ZS5sZW5ndGggPCB0aGlzLm1pbkNoYXJhY3RlckNvdW50KSxcbiAgICAgICAgbWFwKCgpID0+IFtdKVxuICAgICAgKVxuICAgIClcblxuICAgIC8vIGNsb3NlIHRoZSBwYW5lbCB3aGVuZXZlciBzdWdnZXN0aW9ucyBhcmUgY2xlYXJlZFxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnMkXG4gICAgICAgIC5waXBlKGZpbHRlcigoc3VnZ2VzdGlvbnMpID0+IHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudHJpZ2dlclJlZj8uY2xvc2VQYW5lbCgpXG4gICAgICAgIH0pXG4gICAgKVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5jb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGFueSkgPT4ge1xuICAgICAgICBpZiAoYW55ICE9PSAnJykge1xuICAgICAgICAgIHRoaXMuY2FuY2VsRW50ZXIgPSBmYWxzZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcblxuICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKGZpbHRlcigodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmxhc3RJbnB1dFZhbHVlJClcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZS5vcHRpb25TZWxlY3RlZC5zdWJzY3JpYmUodGhpcy5zZWxlY3Rpb25TdWJqZWN0KVxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHVwZGF0ZUlucHV0VmFsdWUodmFsdWU6IEF1dG9jb21wbGV0ZUl0ZW0pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZSh2YWx1ZSlcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5wdXRSZWYpIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICh2YWx1ZSBhcyBhbnkpPy50aXRsZSB8fCAnJ1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnXG4gICAgdGhpcy5pbnB1dENsZWFyZWQuZW1pdCgpXG4gICAgdGhpcy5zZWxlY3Rpb25TdWJqZWN0XG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0aW9uKSA9PiBzZWxlY3Rpb24gJiYgc2VsZWN0aW9uLm9wdGlvbi5kZXNlbGVjdCgpKVxuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBoYW5kbGVFbnRlcihhbnk6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5jYW5jZWxFbnRlciAmJiB0aGlzLmFsbG93U3VibWl0KSB7XG4gICAgICB0aGlzLmlucHV0U3VibWl0dGVkLmVtaXQoYW55KVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUNsaWNrU2VhcmNoKCkge1xuICAgIHRoaXMuaW5wdXRTdWJtaXR0ZWQuZW1pdCh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpXG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkIGluIHRoZSBsaXN0IG9mIGRpc3BsYXllZCBpdGVtcy5cbiAgICogSWYgcHJldmVudENvbXBsZXRlT25TZWxlY3Rpb24gaXMgdHJ1ZSB0aGVuIHRoZSBpbnB1dCB3aWxsIGJlIGxlZnQgYXMgZW50ZXJlZCBieSB0aGUgdXNlci5cbiAgICogSWYgcHJldmVudENvbXBsZXRlT25TZWxlY3Rpb24gaXMgZmFsc2UgKGJ5IGRlZmF1bHQpIHRoZW4gdGhlIGlucHV0IHdpbGwgYmUgY29tcGxldGVkIHdpdGggdGhlIGl0ZW0gc2VsZWN0ZWQgYnkgdGhlIHVzZXIuXG4gICAqIElmIGNsZWFyT25TZWxlY3Rpb24gaXMgdHJ1ZSB0aGVuIHRoZSBpbnB1dCB3aWxsIGJlIGNsZWFyZWQgdXBvbiBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBldmVudFxuICAgKi9cbiAgaGFuZGxlU2VsZWN0aW9uKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XG4gICAgdGhpcy5jYW5jZWxFbnRlciA9IHRydWVcbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KGV2ZW50Lm9wdGlvbi52YWx1ZSlcbiAgICBpZiAodGhpcy5wcmV2ZW50Q29tcGxldGVPblNlbGVjdGlvbikge1xuICAgICAgdGhpcy5sYXN0SW5wdXRWYWx1ZSQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKGxhc3RJbnB1dFZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IGxhc3RJbnB1dFZhbHVlXG4gICAgICB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICh0aGlzLmNsZWFyT25TZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnXG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoJycpXG4gICAgfVxuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cInctZnVsbCBpbmxpbmUtYmxvY2sgcmVsYXRpdmVcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgaW5zZXQteS1bLS1pY29uLXBhZGRpbmddIGxlZnQtWy0taWNvbi1wYWRkaW5nXSB3LVstLWljb24td2lkdGhdIHBvaW50ZXItZXZlbnRzLW5vbmVcIlxuICAgICpuZ0lmPVwiIWFsbG93U3VibWl0XCJcbiAgPlxuICAgIDxuZy1pY29uIG5hbWU9XCJpY29ub2lyU2VhcmNoXCIgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgc2VhcmNoXCI+PC9uZy1pY29uPlxuICA8L2Rpdj5cbiAgPGlucHV0XG4gICAgI3NlYXJjaElucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzPVwiZ24tdWktdGV4dC1pbnB1dFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3B4LVstLWljb24td2lkdGhdJzogIWFsbG93U3VibWl0LFxuICAgIH1cIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgKGtleXVwLmVudGVyKT1cImhhbmRsZUVudGVyKHNlYXJjaElucHV0LnZhbHVlKVwiXG4gIC8+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIGV4dHJhQ2xhc3M9XCJib3JkZXItMCB0ZXh0LXByaW1hcnktbGlnaHRlc3QgaG92ZXI6dGV4dC1wcmltYXJ5IGZvY3VzOnRleHQtcHJpbWFyeSBhYnNvbHV0ZSBpbnNldC15LVstLWljb24tcGFkZGluZ10ge3tcbiAgICAgIGFsbG93U3VibWl0XG4gICAgICAgID8gJ3JpZ2h0LVtjYWxjKHZhcigtLWljb24td2lkdGgpK3ZhcigtLWljb24tcGFkZGluZykpXSdcbiAgICAgICAgOiAncmlnaHQtWy0taWNvbi1wYWRkaW5nXSdcbiAgICB9fVwiXG4gICAgZGF0YS10ZXN0PVwiY2xlYXItYnRuXCJcbiAgICAqbmdJZj1cInNlYXJjaElucHV0LnZhbHVlXCJcbiAgICBhcmlhLWxhYmVsPVwiQ2xlYXJcIlxuICAgIChidXR0b25DbGljayk9XCJjbGVhcigpXCJcbiAgPlxuICAgIDxuZy1pY29uIG5hbWU9XCJtYXRDbG9zZVwiPjwvbmctaWNvbj5cbiAgPC9nbi11aS1idXR0b24+XG4gIDxnbi11aS1idXR0b25cbiAgICB0eXBlPVwibGlnaHRcIlxuICAgIGV4dHJhQ2xhc3M9XCJib3JkZXItMCBib3JkZXItbC1bMXB4XSBib3JkZXItZ3JheS0zMDAgaG92ZXI6Ym9yZGVyLWdyYXktNTAwIHRleHQtcHJpbWFyeSBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1czp0ZXh0LXByaW1hcnktZGFya2VzdCBhYnNvbHV0ZSBpbnNldC15LVstLWljb24tcGFkZGluZ10gcmlnaHQtWy0taWNvbi1wYWRkaW5nXVwiXG4gICAgYXJpYS1sYWJlbD1cIlRyaWdnZXIgc2VhcmNoXCJcbiAgICAqbmdJZj1cImFsbG93U3VibWl0XCJcbiAgICBkYXRhLXRlc3Q9XCJhdXRvY29tcGxldGUtc3VibWl0LWJ0blwiXG4gICAgKGJ1dHRvbkNsaWNrKT1cImhhbmRsZUNsaWNrU2VhcmNoKClcIlxuICA+XG4gICAgPG5nLWljb24gbmFtZT1cImljb25vaXJTZWFyY2hcIj48L25nLWljb24+XG4gIDwvZ24tdWktYnV0dG9uPlxuXG4gIDxnbi11aS1wb3B1cC1hbGVydFxuICAgICpuZ0lmPVwiZXJyb3JcIlxuICAgIGNsYXNzPVwiYWJzb2x1dGUgbXQtMiB3LWZ1bGwgdG9wLVsxMDAlXSBsZWZ0LTBcIlxuICAgIGljb249XCJtYXRFcnJvck91dGxpbmVPdXRsaW5lXCJcbiAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgdHlwZT1cIndhcm5pbmdcIlxuICA+XG4gICAgPHNwYW4gdHJhbnNsYXRlPnNlYXJjaC5hdXRvY29tcGxldGUuZXJyb3I8L3NwYW4+XG4gICAge3sgZXJyb3IgfX1cbiAgPC9nbi11aS1wb3B1cC1hbGVydD5cbjwvc3Bhbj5cblxuPG1hdC1hdXRvY29tcGxldGVcbiAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlU2VsZWN0aW9uKCRldmVudClcIlxuICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVdpdGhGbkludGVybmFsXCJcbj5cbiAgPG1hdC1vcHRpb25cbiAgICAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiBzdWdnZXN0aW9ucyQgfCBhc3luY1wiXG4gICAgW3ZhbHVlXT1cInN1Z2dlc3Rpb25cIlxuICAgIGNsYXNzPVwicC0yIHN1Z2dlc3Rpb25cIlxuICA+XG4gICAge3sgZGlzcGxheVdpdGhGbkludGVybmFsKHN1Z2dlc3Rpb24pIH19XG4gIDwvbWF0LW9wdGlvbj5cbjwvbWF0LWF1dG9jb21wbGV0ZT5cbiJdfQ==
@@ -7,7 +7,7 @@ import { FetchError } from './model';
7
7
  import { inferDatasetType } from './utils';
8
8
  import { GmlReader } from './readers/gml';
9
9
  import { WfsReader } from './readers/wfs';
10
- export async function openDataset(url, typeHint, options) {
10
+ export async function openDataset(url, typeHint, options, cacheActive) {
11
11
  const fileType = await inferDatasetType(url, typeHint);
12
12
  let reader;
13
13
  try {
@@ -31,6 +31,7 @@ export async function openDataset(url, typeHint, options) {
31
31
  reader = await WfsReader.createReader(url, options.wfsFeatureType);
32
32
  break;
33
33
  }
34
+ reader.setCacheActive(cacheActive);
34
35
  reader.load();
35
36
  return reader;
36
37
  }
@@ -47,8 +48,8 @@ export async function openDataset(url, typeHint, options) {
47
48
  * 2. otherwise, look for a Content-Type header in the response with a supported mime type
48
49
  * 3. if no valid mime type was found, look for an explicit file extension in the url (.csv, .geojson etc.)
49
50
  */
50
- export async function readDataset(url, typeHint, options) {
51
- const reader = await openDataset(url, typeHint, options);
51
+ export async function readDataset(url, typeHint, options, cacheActive = true) {
52
+ const reader = await openDataset(url, typeHint, options, cacheActive);
52
53
  try {
53
54
  return await reader.read();
54
55
  }
@@ -62,4 +63,4 @@ export async function readDataset(url, typeHint, options) {
62
63
  export function readDatasetHeaders(url) {
63
64
  return fetch(url).then((response) => parseHeaders(response.headers));
64
65
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL2RhdGEtZmV0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxFQUE0QixVQUFVLEVBQWlCLE1BQU0sU0FBUyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXpDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQy9CLEdBQVcsRUFDWCxRQUF3QixFQUN4QixPQUlDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdEQsSUFBSSxNQUFrQixDQUFBO0lBQ3RCLElBQUksQ0FBQztRQUNILFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDakIsS0FBSyxLQUFLO2dCQUNSLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDM0IsTUFBSztZQUNQLEtBQUssTUFBTTtnQkFDVCxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzVCLE1BQUs7WUFDUCxLQUFLLFNBQVM7Z0JBQ1osTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUMvQixNQUFLO1lBQ1AsS0FBSyxPQUFPO2dCQUNWLE1BQU0sR0FBRyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDN0IsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFBO2dCQUNsRSxNQUFLO1lBQ1AsS0FBSyxLQUFLO2dCQUNSLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDbEUsTUFBSztRQUNULENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDYixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDM0MsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUMvQixHQUFXLEVBQ1gsUUFBd0IsRUFDeEIsT0FBYTtJQUViLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDeEQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxNQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM1QixDQUFDO0lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztRQUNoQixNQUFNLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzNDLENBQUM7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVztJQUM1QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUN0RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcGFyc2VIZWFkZXJzIH0gZnJvbSAnLi9oZWFkZXJzJ1xuaW1wb3J0IHsgQ3N2UmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2NzdidcbmltcG9ydCB7IEpzb25SZWFkZXIgfSBmcm9tICcuL3JlYWRlcnMvanNvbidcbmltcG9ydCB7IEdlb2pzb25SZWFkZXIgfSBmcm9tICcuL3JlYWRlcnMvZ2VvanNvbidcbmltcG9ydCB7IEV4Y2VsUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2V4Y2VsJ1xuaW1wb3J0IHsgRGF0YUl0ZW0sIERhdGFzZXRIZWFkZXJzLCBGZXRjaEVycm9yLCBTdXBwb3J0ZWRUeXBlIH0gZnJvbSAnLi9tb2RlbCdcbmltcG9ydCB7IGluZmVyRGF0YXNldFR5cGUgfSBmcm9tICcuL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZVJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9iYXNlJ1xuaW1wb3J0IHsgR21sUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2dtbCdcbmltcG9ydCB7IFdmc1ZlcnNpb24gfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgV2ZzUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL3dmcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EYXRhc2V0KFxuICB1cmw6IHN0cmluZyxcbiAgdHlwZUhpbnQ/OiBTdXBwb3J0ZWRUeXBlLFxuICBvcHRpb25zPzoge1xuICAgIG5hbWVzcGFjZT86IHN0cmluZ1xuICAgIHdmc1ZlcnNpb24/OiBXZnNWZXJzaW9uXG4gICAgd2ZzRmVhdHVyZVR5cGU/OiBzdHJpbmdcbiAgfVxuKTogUHJvbWlzZTxCYXNlUmVhZGVyPiB7XG4gIGNvbnN0IGZpbGVUeXBlID0gYXdhaXQgaW5mZXJEYXRhc2V0VHlwZSh1cmwsIHR5cGVIaW50KVxuICBsZXQgcmVhZGVyOiBCYXNlUmVhZGVyXG4gIHRyeSB7XG4gICAgc3dpdGNoIChmaWxlVHlwZSkge1xuICAgICAgY2FzZSAnY3N2JzpcbiAgICAgICAgcmVhZGVyID0gbmV3IENzdlJlYWRlcih1cmwpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEpzb25SZWFkZXIodXJsKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZ2VvanNvbic6XG4gICAgICAgIHJlYWRlciA9IG5ldyBHZW9qc29uUmVhZGVyKHVybClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2V4Y2VsJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEV4Y2VsUmVhZGVyKHVybClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2dtbCc6XG4gICAgICAgIHJlYWRlciA9IG5ldyBHbWxSZWFkZXIodXJsLCBvcHRpb25zLm5hbWVzcGFjZSwgb3B0aW9ucy53ZnNWZXJzaW9uKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnd2ZzJzpcbiAgICAgICAgcmVhZGVyID0gYXdhaXQgV2ZzUmVhZGVyLmNyZWF0ZVJlYWRlcih1cmwsIG9wdGlvbnMud2ZzRmVhdHVyZVR5cGUpXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICAgIHJlYWRlci5sb2FkKClcbiAgICByZXR1cm4gcmVhZGVyXG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIHRocm93IEZldGNoRXJyb3IucGFyc2luZ0ZhaWxlZChlLm1lc3NhZ2UpXG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGZldGNoZXMgdGhlIGZ1bGwgZGF0YXNldCBhdCB0aGUgZ2l2ZW4gVVJMIGFuZCBwYXJzZXMgaXQgYWNjb3JkaW5nIHRvIGl0cyBtaW1lIHR5cGUuXG4gKiBBbGwgaXRlbXMgaW4gdGhlIGRhdGFzZXQgYXJlIGNvbnZlcnRlZCB0byBHZW9KU09OIGZlYXR1cmVzLCBldmVuIGlmIHRoZXkgZG8gbm90IGJlYXIgYW55IHNwYXRpYWwgZ2VvbWV0cnkuXG4gKiBGaWxlIHR5cGUgY2FuIGJlIGVpdGhlciBpbmZlcnJlZCAoZnJvbSB0aGUgSFRUUCBoZWFkZXJzIG9yIHRoZSBVUkwpLCBvciBoaW50ZWQgdXNpbmcgdGhlIDJuZCBhcmd1bWVudFxuICogRmlsZSB0eXBlIGlzIGRldGVybWluZWQgbGlrZWQgc286XG4gKiAgMS4gaWYgYSB0eXBlIGhpbnQgaXMgZ2l2ZW4sIHVzZSBpdFxuICogIDIuIG90aGVyd2lzZSwgbG9vayBmb3IgYSBDb250ZW50LVR5cGUgaGVhZGVyIGluIHRoZSByZXNwb25zZSB3aXRoIGEgc3VwcG9ydGVkIG1pbWUgdHlwZVxuICogIDMuIGlmIG5vIHZhbGlkIG1pbWUgdHlwZSB3YXMgZm91bmQsIGxvb2sgZm9yIGFuIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9uIGluIHRoZSB1cmwgKC5jc3YsIC5nZW9qc29uIGV0Yy4pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRGF0YXNldChcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGVIaW50PzogU3VwcG9ydGVkVHlwZSxcbiAgb3B0aW9ucz86IGFueVxuKTogUHJvbWlzZTxEYXRhSXRlbVtdPiB7XG4gIGNvbnN0IHJlYWRlciA9IGF3YWl0IG9wZW5EYXRhc2V0KHVybCwgdHlwZUhpbnQsIG9wdGlvbnMpXG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHJlYWRlci5yZWFkKClcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgRmV0Y2hFcnJvci5wYXJzaW5nRmFpbGVkKGUubWVzc2FnZSlcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgZmV0Y2hlcyBvbmx5IHRoZSBoZWFkZXIgb2YgdGhlIGRhdGFzZXQgYXQgdGhlIGdpdmVuIFVSTCwgZ2l2aW5nIGluZm8gb24gc2l6ZSwgbWltZS10eXBlIGFuZCBsYXN0IHVwZGF0ZSBpZiBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkRGF0YXNldEhlYWRlcnModXJsOiBzdHJpbmcpOiBQcm9taXNlPERhdGFzZXRIZWFkZXJzPiB7XG4gIHJldHVybiBmZXRjaCh1cmwpLnRoZW4oKHJlc3BvbnNlKSA9PiBwYXJzZUhlYWRlcnMocmVzcG9uc2UuaGVhZGVycykpXG59XG4iXX0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1mZXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL2RhdGEtZmV0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDN0MsT0FBTyxFQUE0QixVQUFVLEVBQWlCLE1BQU0sU0FBUyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXpDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFekMsTUFBTSxDQUFDLEtBQUssVUFBVSxXQUFXLENBQy9CLEdBQVcsRUFDWCxRQUF3QixFQUN4QixPQUlDLEVBQ0QsV0FBcUI7SUFFckIsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdEQsSUFBSSxNQU1TLENBQUE7SUFDYixJQUFJLENBQUM7UUFDSCxRQUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssS0FBSztnQkFDUixNQUFNLEdBQUcsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzNCLE1BQUs7WUFDUCxLQUFLLE1BQU07Z0JBQ1QsTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUM1QixNQUFLO1lBQ1AsS0FBSyxTQUFTO2dCQUNaLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDL0IsTUFBSztZQUNQLEtBQUssT0FBTztnQkFDVixNQUFNLEdBQUcsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQzdCLE1BQUs7WUFDUCxLQUFLLEtBQUs7Z0JBQ1IsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtnQkFDbEUsTUFBSztZQUNQLEtBQUssS0FBSztnQkFDUixNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUE7Z0JBQ2xFLE1BQUs7UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDYixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDM0MsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUMvQixHQUFXLEVBQ1gsUUFBd0IsRUFDeEIsT0FBYSxFQUNiLFdBQVcsR0FBRyxJQUFJO0lBRWxCLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQ3JFLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDNUIsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsTUFBTSxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMzQyxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEdBQVc7SUFDNUMsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlSGVhZGVycyB9IGZyb20gJy4vaGVhZGVycydcbmltcG9ydCB7IENzdlJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9jc3YnXG5pbXBvcnQgeyBKc29uUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2pzb24nXG5pbXBvcnQgeyBHZW9qc29uUmVhZGVyIH0gZnJvbSAnLi9yZWFkZXJzL2dlb2pzb24nXG5pbXBvcnQgeyBFeGNlbFJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9leGNlbCdcbmltcG9ydCB7IERhdGFJdGVtLCBEYXRhc2V0SGVhZGVycywgRmV0Y2hFcnJvciwgU3VwcG9ydGVkVHlwZSB9IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBpbmZlckRhdGFzZXRUeXBlIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB7IEJhc2VSZWFkZXIgfSBmcm9tICcuL3JlYWRlcnMvYmFzZSdcbmltcG9ydCB7IEdtbFJlYWRlciB9IGZyb20gJy4vcmVhZGVycy9nbWwnXG5pbXBvcnQgeyBXZnNWZXJzaW9uIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IFdmc1JlYWRlciB9IGZyb20gJy4vcmVhZGVycy93ZnMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBvcGVuRGF0YXNldChcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGVIaW50PzogU3VwcG9ydGVkVHlwZSxcbiAgb3B0aW9ucz86IHtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmdcbiAgICB3ZnNWZXJzaW9uPzogV2ZzVmVyc2lvblxuICAgIHdmc0ZlYXR1cmVUeXBlPzogc3RyaW5nXG4gIH0sXG4gIGNhY2hlQWN0aXZlPzogYm9vbGVhblxuKTogUHJvbWlzZTxCYXNlUmVhZGVyPiB7XG4gIGNvbnN0IGZpbGVUeXBlID0gYXdhaXQgaW5mZXJEYXRhc2V0VHlwZSh1cmwsIHR5cGVIaW50KVxuICBsZXQgcmVhZGVyOlxuICAgIHwgQ3N2UmVhZGVyXG4gICAgfCBKc29uUmVhZGVyXG4gICAgfCBHZW9qc29uUmVhZGVyXG4gICAgfCBFeGNlbFJlYWRlclxuICAgIHwgR21sUmVhZGVyXG4gICAgfCBXZnNSZWFkZXJcbiAgdHJ5IHtcbiAgICBzd2l0Y2ggKGZpbGVUeXBlKSB7XG4gICAgICBjYXNlICdjc3YnOlxuICAgICAgICByZWFkZXIgPSBuZXcgQ3N2UmVhZGVyKHVybClcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2pzb24nOlxuICAgICAgICByZWFkZXIgPSBuZXcgSnNvblJlYWRlcih1cmwpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdnZW9qc29uJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEdlb2pzb25SZWFkZXIodXJsKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZXhjZWwnOlxuICAgICAgICByZWFkZXIgPSBuZXcgRXhjZWxSZWFkZXIodXJsKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnZ21sJzpcbiAgICAgICAgcmVhZGVyID0gbmV3IEdtbFJlYWRlcih1cmwsIG9wdGlvbnMubmFtZXNwYWNlLCBvcHRpb25zLndmc1ZlcnNpb24pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICd3ZnMnOlxuICAgICAgICByZWFkZXIgPSBhd2FpdCBXZnNSZWFkZXIuY3JlYXRlUmVhZGVyKHVybCwgb3B0aW9ucy53ZnNGZWF0dXJlVHlwZSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gICAgcmVhZGVyLnNldENhY2hlQWN0aXZlKGNhY2hlQWN0aXZlKVxuICAgIHJlYWRlci5sb2FkKClcbiAgICByZXR1cm4gcmVhZGVyXG4gIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgIHRocm93IEZldGNoRXJyb3IucGFyc2luZ0ZhaWxlZChlLm1lc3NhZ2UpXG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGZldGNoZXMgdGhlIGZ1bGwgZGF0YXNldCBhdCB0aGUgZ2l2ZW4gVVJMIGFuZCBwYXJzZXMgaXQgYWNjb3JkaW5nIHRvIGl0cyBtaW1lIHR5cGUuXG4gKiBBbGwgaXRlbXMgaW4gdGhlIGRhdGFzZXQgYXJlIGNvbnZlcnRlZCB0byBHZW9KU09OIGZlYXR1cmVzLCBldmVuIGlmIHRoZXkgZG8gbm90IGJlYXIgYW55IHNwYXRpYWwgZ2VvbWV0cnkuXG4gKiBGaWxlIHR5cGUgY2FuIGJlIGVpdGhlciBpbmZlcnJlZCAoZnJvbSB0aGUgSFRUUCBoZWFkZXJzIG9yIHRoZSBVUkwpLCBvciBoaW50ZWQgdXNpbmcgdGhlIDJuZCBhcmd1bWVudFxuICogRmlsZSB0eXBlIGlzIGRldGVybWluZWQgbGlrZWQgc286XG4gKiAgMS4gaWYgYSB0eXBlIGhpbnQgaXMgZ2l2ZW4sIHVzZSBpdFxuICogIDIuIG90aGVyd2lzZSwgbG9vayBmb3IgYSBDb250ZW50LVR5cGUgaGVhZGVyIGluIHRoZSByZXNwb25zZSB3aXRoIGEgc3VwcG9ydGVkIG1pbWUgdHlwZVxuICogIDMuIGlmIG5vIHZhbGlkIG1pbWUgdHlwZSB3YXMgZm91bmQsIGxvb2sgZm9yIGFuIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9uIGluIHRoZSB1cmwgKC5jc3YsIC5nZW9qc29uIGV0Yy4pXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkRGF0YXNldChcbiAgdXJsOiBzdHJpbmcsXG4gIHR5cGVIaW50PzogU3VwcG9ydGVkVHlwZSxcbiAgb3B0aW9ucz86IGFueSxcbiAgY2FjaGVBY3RpdmUgPSB0cnVlXG4pOiBQcm9taXNlPERhdGFJdGVtW10+IHtcbiAgY29uc3QgcmVhZGVyID0gYXdhaXQgb3BlbkRhdGFzZXQodXJsLCB0eXBlSGludCwgb3B0aW9ucywgY2FjaGVBY3RpdmUpXG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IHJlYWRlci5yZWFkKClcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgdGhyb3cgRmV0Y2hFcnJvci5wYXJzaW5nRmFpbGVkKGUubWVzc2FnZSlcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgZmV0Y2hlcyBvbmx5IHRoZSBoZWFkZXIgb2YgdGhlIGRhdGFzZXQgYXQgdGhlIGdpdmVuIFVSTCwgZ2l2aW5nIGluZm8gb24gc2l6ZSwgbWltZS10eXBlIGFuZCBsYXN0IHVwZGF0ZSBpZiBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkRGF0YXNldEhlYWRlcnModXJsOiBzdHJpbmcpOiBQcm9taXNlPERhdGFzZXRIZWFkZXJzPiB7XG4gIHJldHVybiBmZXRjaCh1cmwpLnRoZW4oKHJlc3BvbnNlKSA9PiBwYXJzZUhlYWRlcnMocmVzcG9uc2UuaGVhZGVycykpXG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { BaseReader } from './base';
2
+ export class BaseCacheReader extends BaseReader {
3
+ constructor(url, cacheActive = true) {
4
+ super(url);
5
+ this.url = url;
6
+ this.cacheActive = cacheActive;
7
+ }
8
+ setCacheActive(value) {
9
+ this.cacheActive = value;
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jYWNoZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2Jhc2UtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVuQyxNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQUN0RCxZQUNZLEdBQVcsRUFDWCxjQUFjLElBQUk7UUFFNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBSEEsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBRzlCLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQTtJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlUmVhZGVyIH0gZnJvbSAnLi9iYXNlJ1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNhY2hlUmVhZGVyIGV4dGVuZHMgQmFzZVJlYWRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB1cmw6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgY2FjaGVBY3RpdmUgPSB0cnVlXG4gICkge1xuICAgIHN1cGVyKHVybClcbiAgfVxuXG4gIHNldENhY2hlQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jYWNoZUFjdGl2ZSA9IHZhbHVlXG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { BaseReader } from './base';
2
1
  import { getJsonDataItemsProxy, jsonToGeojsonFeature } from '../utils';
3
2
  import { generateSqlQuery } from '../sql-utils';
4
- export class BaseFileReader extends BaseReader {
3
+ import { BaseCacheReader } from './base-cache';
4
+ export class BaseFileReader extends BaseCacheReader {
5
5
  getData() {
6
6
  throw new Error('not implemented');
7
7
  }
@@ -34,4 +34,4 @@ export class BaseFileReader extends BaseReader {
34
34
  return result.map(jsonToGeojsonFeature);
35
35
  }
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvYmFzZS1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFbkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU8vQyxNQUFNLE9BQU8sY0FBZSxTQUFRLFVBQVU7SUFHbEMsT0FBTztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxDQUFDO1lBQ0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTtTQUNoQyxDQUFnQixDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDN0Msa0RBQWtEO1FBQ2xELElBQ0UsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ3RCLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSTtZQUN6QixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQ2pCLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtZQUNuQixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDdkIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQ2xCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FDNUIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQTtRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDbkMsQ0FBQTtRQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VSZWFkZXIgfSBmcm9tICcuL2Jhc2UnXG5pbXBvcnQgeyBEYXRhSXRlbSwgRGF0YXNldEluZm8sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHsgZ2V0SnNvbkRhdGFJdGVtc1Byb3h5LCBqc29uVG9HZW9qc29uRmVhdHVyZSB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgZ2VuZXJhdGVTcWxRdWVyeSB9IGZyb20gJy4uL3NxbC11dGlscydcblxudHlwZSBQYXJzZVJlc3VsdCA9IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VGaWxlUmVhZGVyIGV4dGVuZHMgQmFzZVJlYWRlciB7XG4gIHByaXZhdGUgcGFyc2VSZXN1bHRfOiBQcm9taXNlPFBhcnNlUmVzdWx0PlxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCk6IFByb21pc2U8UGFyc2VSZXN1bHQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpXG4gIH1cblxuICBsb2FkKCkge1xuICAgIHRoaXMucGFyc2VSZXN1bHRfID0gdGhpcy5nZXREYXRhKClcbiAgfVxuXG4gIGdldCBwcm9wZXJ0aWVzKCk6IFByb21pc2U8UHJvcGVydHlJbmZvW10+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVJlc3VsdF8udGhlbigocmVzdWx0KSA9PiByZXN1bHQucHJvcGVydGllcylcbiAgfVxuXG4gIGdldCBpbmZvKCk6IFByb21pc2U8RGF0YXNldEluZm8+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVJlc3VsdF8udGhlbihcbiAgICAgIChyZXN1bHQpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgaXRlbXNDb3VudDogcmVzdWx0Lml0ZW1zLmxlbmd0aCxcbiAgICAgICAgfSkgYXMgRGF0YXNldEluZm9cbiAgICApXG4gIH1cblxuICBhc3luYyByZWFkKCk6IFByb21pc2U8RGF0YUl0ZW1bXT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gKGF3YWl0IHRoaXMucGFyc2VSZXN1bHRfKS5pdGVtc1xuICAgIC8vIG5vIHF1ZXJ5IGRlZmluZWQ6IHJldHVybiB0aGUgZnVsbCByZXN1bHRzIGFzIGlzXG4gICAgaWYgKFxuICAgICAgdGhpcy5ncm91cGVkQnkgPT0gbnVsbCAmJlxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbnMgPT0gbnVsbCAmJlxuICAgICAgdGhpcy5zZWxlY3RlZCA9PSBudWxsICYmXG4gICAgICB0aGlzLnNvcnQgPT0gbnVsbCAmJlxuICAgICAgdGhpcy5maWx0ZXIgPT0gbnVsbCAmJlxuICAgICAgdGhpcy5zdGFydEluZGV4ID09IG51bGwgJiZcbiAgICAgIHRoaXMuY291bnQgPT0gbnVsbFxuICAgICkge1xuICAgICAgcmV0dXJuIGl0ZW1zXG4gICAgfVxuXG4gICAgY29uc3QganNvbkl0ZW1zID0gZ2V0SnNvbkRhdGFJdGVtc1Byb3h5KGl0ZW1zKVxuICAgIGNvbnN0IHF1ZXJ5ID0gZ2VuZXJhdGVTcWxRdWVyeShcbiAgICAgIHRoaXMuc2VsZWN0ZWQsXG4gICAgICB0aGlzLmZpbHRlcixcbiAgICAgIHRoaXMuc29ydCxcbiAgICAgIHRoaXMuc3RhcnRJbmRleCxcbiAgICAgIHRoaXMuY291bnQsXG4gICAgICB0aGlzLmdyb3VwZWRCeSxcbiAgICAgIHRoaXMuYWdncmVnYXRpb25zXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGltcG9ydCgnYWxhc3FsJykudGhlbigobW9kdWxlKSA9PlxuICAgICAgbW9kdWxlLmRlZmF1bHQocXVlcnksIFtqc29uSXRlbXNdKVxuICAgIClcbiAgICByZXR1cm4gcmVzdWx0Lm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSlcbiAgfVxufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvYmFzZS1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQU85QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGVBQWU7SUFHdkMsT0FBTztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQzNCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDVCxDQUFDO1lBQ0MsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTTtTQUNoQyxDQUFnQixDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDN0Msa0RBQWtEO1FBQ2xELElBQ0UsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ3RCLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSTtZQUN6QixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7WUFDckIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJO1lBQ2pCLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtZQUNuQixJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDdkIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQ2xCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FDNUIsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQTtRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ3BELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDbkMsQ0FBQTtRQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VSZWFkZXIgfSBmcm9tICcuL2Jhc2UnXG5pbXBvcnQgeyBEYXRhSXRlbSwgRGF0YXNldEluZm8sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHsgZ2V0SnNvbkRhdGFJdGVtc1Byb3h5LCBqc29uVG9HZW9qc29uRmVhdHVyZSB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgZ2VuZXJhdGVTcWxRdWVyeSB9IGZyb20gJy4uL3NxbC11dGlscydcbmltcG9ydCB7IEJhc2VDYWNoZVJlYWRlciB9IGZyb20gJy4vYmFzZS1jYWNoZSdcblxudHlwZSBQYXJzZVJlc3VsdCA9IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn1cblxuZXhwb3J0IGNsYXNzIEJhc2VGaWxlUmVhZGVyIGV4dGVuZHMgQmFzZUNhY2hlUmVhZGVyIHtcbiAgcHJpdmF0ZSBwYXJzZVJlc3VsdF86IFByb21pc2U8UGFyc2VSZXN1bHQ+XG5cbiAgcHJvdGVjdGVkIGdldERhdGEoKTogUHJvbWlzZTxQYXJzZVJlc3VsdD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJylcbiAgfVxuXG4gIGxvYWQoKSB7XG4gICAgdGhpcy5wYXJzZVJlc3VsdF8gPSB0aGlzLmdldERhdGEoKVxuICB9XG5cbiAgZ2V0IHByb3BlcnRpZXMoKTogUHJvbWlzZTxQcm9wZXJ0eUluZm9bXT4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlUmVzdWx0Xy50aGVuKChyZXN1bHQpID0+IHJlc3VsdC5wcm9wZXJ0aWVzKVxuICB9XG5cbiAgZ2V0IGluZm8oKTogUHJvbWlzZTxEYXRhc2V0SW5mbz4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlUmVzdWx0Xy50aGVuKFxuICAgICAgKHJlc3VsdCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBpdGVtc0NvdW50OiByZXN1bHQuaXRlbXMubGVuZ3RoLFxuICAgICAgICB9KSBhcyBEYXRhc2V0SW5mb1xuICAgIClcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTxEYXRhSXRlbVtdPiB7XG4gICAgY29uc3QgaXRlbXMgPSAoYXdhaXQgdGhpcy5wYXJzZVJlc3VsdF8pLml0ZW1zXG4gICAgLy8gbm8gcXVlcnkgZGVmaW5lZDogcmV0dXJuIHRoZSBmdWxsIHJlc3VsdHMgYXMgaXNcbiAgICBpZiAoXG4gICAgICB0aGlzLmdyb3VwZWRCeSA9PSBudWxsICYmXG4gICAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9PSBudWxsICYmXG4gICAgICB0aGlzLnNlbGVjdGVkID09IG51bGwgJiZcbiAgICAgIHRoaXMuc29ydCA9PSBudWxsICYmXG4gICAgICB0aGlzLmZpbHRlciA9PSBudWxsICYmXG4gICAgICB0aGlzLnN0YXJ0SW5kZXggPT0gbnVsbCAmJlxuICAgICAgdGhpcy5jb3VudCA9PSBudWxsXG4gICAgKSB7XG4gICAgICByZXR1cm4gaXRlbXNcbiAgICB9XG5cbiAgICBjb25zdCBqc29uSXRlbXMgPSBnZXRKc29uRGF0YUl0ZW1zUHJveHkoaXRlbXMpXG4gICAgY29uc3QgcXVlcnkgPSBnZW5lcmF0ZVNxbFF1ZXJ5KFxuICAgICAgdGhpcy5zZWxlY3RlZCxcbiAgICAgIHRoaXMuZmlsdGVyLFxuICAgICAgdGhpcy5zb3J0LFxuICAgICAgdGhpcy5zdGFydEluZGV4LFxuICAgICAgdGhpcy5jb3VudCxcbiAgICAgIHRoaXMuZ3JvdXBlZEJ5LFxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbnNcbiAgICApXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW1wb3J0KCdhbGFzcWwnKS50aGVuKChtb2R1bGUpID0+XG4gICAgICBtb2R1bGUuZGVmYXVsdChxdWVyeSwgW2pzb25JdGVtc10pXG4gICAgKVxuICAgIHJldHVybiByZXN1bHQubWFwKGpzb25Ub0dlb2pzb25GZWF0dXJlKVxuICB9XG59XG4iXX0=
@@ -31,7 +31,7 @@ export function parseCsv(text) {
31
31
  }
32
32
  export class CsvReader extends BaseFileReader {
33
33
  getData() {
34
- return fetchDataAsText(this.url).then(parseCsv);
34
+ return fetchDataAsText(this.url, this.cacheActive).then(parseCsv);
35
35
  }
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQTtBQUNqQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTVDLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWTtJQUluQyxnREFBZ0Q7SUFDaEQsNkVBQTZFO0lBQzdFLElBQUksU0FBUyxDQUFBO0lBQ2IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQTtRQUNGLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDOUIsTUFBTSxFQUFFLElBQUk7UUFDWixjQUFjLEVBQUUsSUFBSTtRQUNwQixTQUFTO0tBQ1YsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaURBQWlEO1lBQy9DLE1BQU0sQ0FBQyxNQUFNO2lCQUNWLEdBQUcsQ0FDRixDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxLQUFLLENBQUMsT0FBTyxXQUFXLEtBQUssQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUNsRTtpQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUksTUFBTSxDQUFDLElBQWMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5RCxPQUFPLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxjQUFjO0lBQzNDLE9BQU87UUFDTCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFBhcGEgZnJvbSAncGFwYXBhcnNlJ1xuaW1wb3J0IHsgRGF0YUl0ZW0sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHtcbiAgZmV0Y2hEYXRhQXNUZXh0LFxuICBqc29uVG9HZW9qc29uRmVhdHVyZSxcbiAgcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzLFxufSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEJhc2VGaWxlUmVhZGVyIH0gZnJvbSAnLi9iYXNlLWZpbGUnXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNzdih0ZXh0OiBzdHJpbmcpOiB7XG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4gIHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdXG59IHtcbiAgLy8gZmlyc3QgcGFyc2UgdGhlIGhlYWRlciB0byBndWVzcyB0aGUgZGVsaW1pdGVyXG4gIC8vIG5vdGUgdGhhdCB3ZSBkbyB0aGF0IHRvIG5vdCByZWx5IG9uIFBhcGFwYXJzZSBsb2dpYyBmb3IgZ3Vlc3NpbmcgZGVsaW1pdGVyXG4gIGxldCBkZWxpbWl0ZXJcbiAgdHJ5IHtcbiAgICBjb25zdCBoZWFkZXIgPSB0ZXh0LnNwbGl0KCdcXG4nKVswXVxuICAgIGNvbnN0IHJlc3VsdCA9IFBhcGEucGFyc2UoaGVhZGVyLCB7XG4gICAgICBoZWFkZXI6IGZhbHNlLFxuICAgIH0pXG4gICAgZGVsaW1pdGVyID0gcmVzdWx0Lm1ldGEuZGVsaW1pdGVyXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NTViBwYXJzaW5nIGZhaWxlZDogdGhlIGRlbGltaXRlciBjb3VsZCBub3QgYmUgZ3Vlc3NlZCcpXG4gIH1cblxuICBjb25zdCBwYXJzZWQgPSBQYXBhLnBhcnNlKHRleHQsIHtcbiAgICBoZWFkZXI6IHRydWUsXG4gICAgc2tpcEVtcHR5TGluZXM6IHRydWUsXG4gICAgZGVsaW1pdGVyLFxuICB9KVxuICBpZiAocGFyc2VkLmVycm9ycy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ1NWIHBhcnNpbmcgZmFpbGVkIGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuJyArXG4gICAgICAgIHBhcnNlZC5lcnJvcnNcbiAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgKGVycm9yKSA9PlxuICAgICAgICAgICAgICBgKiAke2Vycm9yLm1lc3NhZ2V9IGF0IHJvdyAke2Vycm9yLnJvd30sIGNvbHVtbiAke2Vycm9yLmluZGV4fWBcbiAgICAgICAgICApXG4gICAgICAgICAgLmpvaW4oJ1xcbicpXG4gICAgKVxuICB9XG5cbiAgY29uc3QgaXRlbXMgPSAocGFyc2VkLmRhdGEgYXMgYW55W10pLm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSlcbiAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhpdGVtcywgdHJ1ZSlcbn1cblxuZXhwb3J0IGNsYXNzIENzdlJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hEYXRhQXNUZXh0KHRoaXMudXJsKS50aGVuKHBhcnNlQ3N2KVxuICB9XG59XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3N2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0JBQW9CLEVBQ3BCLHFCQUFxQixHQUN0QixNQUFNLFVBQVUsQ0FBQTtBQUNqQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTVDLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWTtJQUluQyxnREFBZ0Q7SUFDaEQsNkVBQTZFO0lBQzdFLElBQUksU0FBUyxDQUFBO0lBQ2IsSUFBSSxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQTtRQUNGLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQTtJQUNuQyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDOUIsTUFBTSxFQUFFLElBQUk7UUFDWixjQUFjLEVBQUUsSUFBSTtRQUNwQixTQUFTO0tBQ1YsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsaURBQWlEO1lBQy9DLE1BQU0sQ0FBQyxNQUFNO2lCQUNWLEdBQUcsQ0FDRixDQUFDLEtBQUssRUFBRSxFQUFFLENBQ1IsS0FBSyxLQUFLLENBQUMsT0FBTyxXQUFXLEtBQUssQ0FBQyxHQUFHLFlBQVksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUNsRTtpQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUksTUFBTSxDQUFDLElBQWMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUM5RCxPQUFPLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxjQUFjO0lBQzNDLE9BQU87UUFDTCxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDbkUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUGFwYSBmcm9tICdwYXBhcGFyc2UnXG5pbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQge1xuICBmZXRjaERhdGFBc1RleHQsXG4gIGpzb25Ub0dlb2pzb25GZWF0dXJlLFxuICBwcm9jZXNzSXRlbVByb3BlcnRpZXMsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZUZpbGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtZmlsZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ3N2KHRleHQ6IHN0cmluZyk6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICAvLyBmaXJzdCBwYXJzZSB0aGUgaGVhZGVyIHRvIGd1ZXNzIHRoZSBkZWxpbWl0ZXJcbiAgLy8gbm90ZSB0aGF0IHdlIGRvIHRoYXQgdG8gbm90IHJlbHkgb24gUGFwYXBhcnNlIGxvZ2ljIGZvciBndWVzc2luZyBkZWxpbWl0ZXJcbiAgbGV0IGRlbGltaXRlclxuICB0cnkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRleHQuc3BsaXQoJ1xcbicpWzBdXG4gICAgY29uc3QgcmVzdWx0ID0gUGFwYS5wYXJzZShoZWFkZXIsIHtcbiAgICAgIGhlYWRlcjogZmFsc2UsXG4gICAgfSlcbiAgICBkZWxpbWl0ZXIgPSByZXN1bHQubWV0YS5kZWxpbWl0ZXJcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ1NWIHBhcnNpbmcgZmFpbGVkOiB0aGUgZGVsaW1pdGVyIGNvdWxkIG5vdCBiZSBndWVzc2VkJylcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IFBhcGEucGFyc2UodGV4dCwge1xuICAgIGhlYWRlcjogdHJ1ZSxcbiAgICBza2lwRW1wdHlMaW5lczogdHJ1ZSxcbiAgICBkZWxpbWl0ZXIsXG4gIH0pXG4gIGlmIChwYXJzZWQuZXJyb3JzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdDU1YgcGFyc2luZyBmYWlsZWQgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4nICtcbiAgICAgICAgcGFyc2VkLmVycm9yc1xuICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAoZXJyb3IpID0+XG4gICAgICAgICAgICAgIGAqICR7ZXJyb3IubWVzc2FnZX0gYXQgcm93ICR7ZXJyb3Iucm93fSwgY29sdW1uICR7ZXJyb3IuaW5kZXh9YFxuICAgICAgICAgIClcbiAgICAgICAgICAuam9pbignXFxuJylcbiAgICApXG4gIH1cblxuICBjb25zdCBpdGVtcyA9IChwYXJzZWQuZGF0YSBhcyBhbnlbXSkubWFwKGpzb25Ub0dlb2pzb25GZWF0dXJlKVxuICByZXR1cm4gcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzKGl0ZW1zLCB0cnVlKVxufVxuXG5leHBvcnQgY2xhc3MgQ3N2UmVhZGVyIGV4dGVuZHMgQmFzZUZpbGVSZWFkZXIge1xuICBnZXREYXRhKCkge1xuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodGhpcy51cmwsIHRoaXMuY2FjaGVBY3RpdmUpLnRoZW4ocGFyc2VDc3YpXG4gIH1cbn1cbiJdfQ==
@@ -18,7 +18,7 @@ export function parseExcel(buffer) {
18
18
  }
19
19
  export class ExcelReader extends BaseFileReader {
20
20
  getData() {
21
- return fetchDataAsArrayBuffer(this.url).then(parseExcel);
21
+ return fetchDataAsArrayBuffer(this.url, this.cacheActive).then(parseExcel);
22
22
  }
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvcmVhZGVycy9leGNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFtQjtJQUk1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFDRCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNwRSxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFDN0MsT0FBTztRQUNMLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQge1xuICBmZXRjaERhdGFBc0FycmF5QnVmZmVyLFxuICBqc29uVG9HZW9qc29uRmVhdHVyZSxcbiAgcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzLFxufSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEJhc2VGaWxlUmVhZGVyIH0gZnJvbSAnLi9iYXNlLWZpbGUnXG5cbi8qKlxuICogVGhpcyB3aWxsIHJlYWQgdGhlIGZpcnN0IHNoZWV0IG9mIHRoZSBleGNlbCB3b3JrYm9vayBhbmQgZXhwZWN0IHRoZSBmaXJzdFxuICogbGluZSB0byBjb250YWluIHRoZSBwcm9wZXJ0aWVzIG5hbWVzXG4gKiBAcGFyYW0gYnVmZmVyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUV4Y2VsKGJ1ZmZlcjogQXJyYXlCdWZmZXIpOiBQcm9taXNlPHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0+IHtcbiAgcmV0dXJuIGltcG9ydCgneGxzeCcpLnRoZW4oKHsgcmVhZCwgdXRpbHMgfSkgPT4ge1xuICAgIGNvbnN0IHdvcmtib29rID0gcmVhZChidWZmZXIpXG4gICAgY29uc3Qgc2hlZXQgPSB3b3JrYm9vay5TaGVldHNbd29ya2Jvb2suU2hlZXROYW1lc1swXV1cbiAgICBsZXQganNvbiA9IHV0aWxzLnNoZWV0X3RvX2pzb24oc2hlZXQpXG4gICAgaWYgKCFqc29uLmxlbmd0aCkge1xuICAgICAganNvbiA9IFtdXG4gICAgfVxuICAgIHJldHVybiBwcm9jZXNzSXRlbVByb3BlcnRpZXMoanNvbi5tYXAoanNvblRvR2VvanNvbkZlYXR1cmUpLCB0cnVlKVxuICB9KVxufVxuXG5leHBvcnQgY2xhc3MgRXhjZWxSZWFkZXIgZXh0ZW5kcyBCYXNlRmlsZVJlYWRlciB7XG4gIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoRGF0YUFzQXJyYXlCdWZmZXIodGhpcy51cmwpLnRoZW4ocGFyc2VFeGNlbClcbiAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvcmVhZGVycy9leGNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixxQkFBcUIsR0FDdEIsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUU1Qzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFtQjtJQUk1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNyRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxHQUFHLEVBQUUsQ0FBQTtRQUNYLENBQUM7UUFDRCxPQUFPLHFCQUFxQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNwRSxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLE9BQU8sV0FBWSxTQUFRLGNBQWM7SUFDN0MsT0FBTztRQUNMLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQzVFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7XG4gIGZldGNoRGF0YUFzQXJyYXlCdWZmZXIsXG4gIGpzb25Ub0dlb2pzb25GZWF0dXJlLFxuICBwcm9jZXNzSXRlbVByb3BlcnRpZXMsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZUZpbGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtZmlsZSdcblxuLyoqXG4gKiBUaGlzIHdpbGwgcmVhZCB0aGUgZmlyc3Qgc2hlZXQgb2YgdGhlIGV4Y2VsIHdvcmtib29rIGFuZCBleHBlY3QgdGhlIGZpcnN0XG4gKiBsaW5lIHRvIGNvbnRhaW4gdGhlIHByb3BlcnRpZXMgbmFtZXNcbiAqIEBwYXJhbSBidWZmZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRXhjZWwoYnVmZmVyOiBBcnJheUJ1ZmZlcik6IFByb21pc2U8e1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufT4ge1xuICByZXR1cm4gaW1wb3J0KCd4bHN4JykudGhlbigoeyByZWFkLCB1dGlscyB9KSA9PiB7XG4gICAgY29uc3Qgd29ya2Jvb2sgPSByZWFkKGJ1ZmZlcilcbiAgICBjb25zdCBzaGVldCA9IHdvcmtib29rLlNoZWV0c1t3b3JrYm9vay5TaGVldE5hbWVzWzBdXVxuICAgIGxldCBqc29uID0gdXRpbHMuc2hlZXRfdG9fanNvbihzaGVldClcbiAgICBpZiAoIWpzb24ubGVuZ3RoKSB7XG4gICAgICBqc29uID0gW11cbiAgICB9XG4gICAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhqc29uLm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSksIHRydWUpXG4gIH0pXG59XG5cbmV4cG9ydCBjbGFzcyBFeGNlbFJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hEYXRhQXNBcnJheUJ1ZmZlcih0aGlzLnVybCwgdGhpcy5jYWNoZUFjdGl2ZSkudGhlbihwYXJzZUV4Y2VsKVxuICB9XG59XG4iXX0=
@@ -15,7 +15,7 @@ export function parseGeojson(text) {
15
15
  }
16
16
  export class GeojsonReader extends BaseFileReader {
17
17
  getData() {
18
- return fetchDataAsText(this.url).then(parseGeojson);
18
+ return fetchDataAsText(this.url, this.cacheActive).then(parseGeojson);
19
19
  }
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2dlb2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFJdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixNQUFNLFFBQVEsR0FDWixNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLCtGQUErRixDQUNoRyxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELE1BQU0sT0FBTyxhQUFjLFNBQVEsY0FBYztJQUMvQyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQgeyBmZXRjaERhdGFBc1RleHQsIHByb2Nlc3NJdGVtUHJvcGVydGllcyB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZUZpbGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtZmlsZSdcblxuLyoqXG4gKiBUaGlzIHBhcnNlciBzdXBwb3J0cyBib3RoIEdlb2pzb24gRmVhdHVyZSBjb2xsZWN0aW9ucyBvciBhcnJheXNcbiAqIG9mIEZlYXR1cmVzXG4gKiBAcGFyYW0gdGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VHZW9qc29uKHRleHQ6IHN0cmluZyk6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpXG4gIGNvbnN0IGZlYXR1cmVzID1cbiAgICBwYXJzZWQudHlwZSA9PT0gJ0ZlYXR1cmVDb2xsZWN0aW9uJyA/IHBhcnNlZC5mZWF0dXJlcyA6IHBhcnNlZFxuICBpZiAoIUFycmF5LmlzQXJyYXkoZmVhdHVyZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0NvdWxkIG5vdCBwYXJzZSBHZW9KU09OLCBleHBlY3RlZCBhIGZlYXR1cmVzIGNvbGxlY3Rpb24gb3IgYW4gYXJyYXkgb2YgZmVhdHVyZXMgYXQgcm9vdCBsZXZlbCdcbiAgICApXG4gIH1cbiAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhmZWF0dXJlcylcbn1cblxuZXhwb3J0IGNsYXNzIEdlb2pzb25SZWFkZXIgZXh0ZW5kcyBCYXNlRmlsZVJlYWRlciB7XG4gIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoRGF0YUFzVGV4dCh0aGlzLnVybCkudGhlbihwYXJzZUdlb2pzb24pXG4gIH1cbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvanNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2dlb2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTVDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFJdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixNQUFNLFFBQVEsR0FDWixNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7SUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLCtGQUErRixDQUNoRyxDQUFBO0lBQ0gsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELE1BQU0sT0FBTyxhQUFjLFNBQVEsY0FBYztJQUMvQyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7IGZldGNoRGF0YUFzVGV4dCwgcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlRmlsZVJlYWRlciB9IGZyb20gJy4vYmFzZS1maWxlJ1xuXG4vKipcbiAqIFRoaXMgcGFyc2VyIHN1cHBvcnRzIGJvdGggR2VvanNvbiBGZWF0dXJlIGNvbGxlY3Rpb25zIG9yIGFycmF5c1xuICogb2YgRmVhdHVyZXNcbiAqIEBwYXJhbSB0ZXh0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUdlb2pzb24odGV4dDogc3RyaW5nKToge1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufSB7XG4gIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UodGV4dClcbiAgY29uc3QgZmVhdHVyZXMgPVxuICAgIHBhcnNlZC50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nID8gcGFyc2VkLmZlYXR1cmVzIDogcGFyc2VkXG4gIGlmICghQXJyYXkuaXNBcnJheShmZWF0dXJlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ291bGQgbm90IHBhcnNlIEdlb0pTT04sIGV4cGVjdGVkIGEgZmVhdHVyZXMgY29sbGVjdGlvbiBvciBhbiBhcnJheSBvZiBmZWF0dXJlcyBhdCByb290IGxldmVsJ1xuICAgIClcbiAgfVxuICByZXR1cm4gcHJvY2Vzc0l0ZW1Qcm9wZXJ0aWVzKGZlYXR1cmVzKVxufVxuXG5leHBvcnQgY2xhc3MgR2VvanNvblJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgZ2V0RGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hEYXRhQXNUZXh0KHRoaXMudXJsLCB0aGlzLmNhY2hlQWN0aXZlKS50aGVuKHBhcnNlR2VvanNvbilcbiAgfVxufVxuIl19
@@ -24,13 +24,15 @@ export function parseGml(text, namespace, version) {
24
24
  throw Error("Couldn't retrieve namespace url");
25
25
  }
26
26
  export class GmlReader extends BaseFileReader {
27
- constructor(url, namespace, version) {
27
+ constructor(url, namespace, version, cacheActive = true) {
28
28
  super(url);
29
+ this.url = url;
29
30
  this.namespace = namespace;
30
31
  this.version = version;
32
+ this.cacheActive = cacheActive;
31
33
  }
32
34
  getData() {
33
- return fetchDataAsText(this.url).then((text) => parseGml(text, this.namespace, this.version));
35
+ return fetchDataAsText(this.url, this.cacheActive).then((text) => parseGml(text, this.namespace, this.version));
34
36
  }
35
37
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ21sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvZ21sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUd4QyxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osU0FBaUIsRUFDakIsT0FBZTtJQUtmLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNqQixTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuQixXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtRQUVGLElBQUksUUFBUSxDQUFBO1FBQ1osSUFBSSxDQUFDO1lBQ0gsUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQ0QsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxjQUFjO0lBSTNDLFlBQVksR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPO1FBQ2pDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO1FBQzFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3hCLENBQUM7SUFFUyxPQUFPO1FBQ2YsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQzdDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQzdDLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmlsZVJlYWRlciB9IGZyb20gJy4vYmFzZS1maWxlJ1xuaW1wb3J0IHsgRGF0YUl0ZW0sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHsgZmV0Y2hEYXRhQXNUZXh0LCBwcm9jZXNzSXRlbVByb3BlcnRpZXMgfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IEdlb0pTT04sIFdGUyB9IGZyb20gJ29sL2Zvcm1hdCdcbmltcG9ydCB7IFdmc1ZlcnNpb24gfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VHbWwoXG4gIHRleHQ6IHN0cmluZyxcbiAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gIHZlcnNpb246IHN0cmluZ1xuKToge1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufSB7XG4gIGNvbnN0IHNwbGl0dGVkTmFtZXNwYWNlID0gbmFtZXNwYWNlLnNwbGl0KCc6JylcbiAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGB4bWxuczoke3NwbGl0dGVkTmFtZXNwYWNlWzBdfT1bXCInXShbXidcIl0qKVtcIiddYClcbiAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKHRleHQpXG5cbiAgaWYgKG1hdGNoICYmIG1hdGNoLmxlbmd0aCA+PSAyKSB7XG4gICAgY29uc3Qgd2YgPSBuZXcgV0ZTKHtcbiAgICAgIGZlYXR1cmVOUzogbWF0Y2hbMV0sXG4gICAgICBmZWF0dXJlVHlwZTogc3BsaXR0ZWROYW1lc3BhY2VbMV0sXG4gICAgICB2ZXJzaW9uOiB2ZXJzaW9uLFxuICAgIH0pXG5cbiAgICBsZXQgZmVhdHVyZXNcbiAgICB0cnkge1xuICAgICAgZmVhdHVyZXMgPSB3Zi5yZWFkRmVhdHVyZXModGV4dClcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBFcnJvcihcIkNvdWxkbid0IHBhcnNlIFdGUyB3aXRoIEdNTCBmZWF0dXJlc1wiKVxuICAgIH1cblxuICAgIGNvbnN0IGdlb2pzb25JdGVtID0gbmV3IEdlb0pTT04oKS53cml0ZUZlYXR1cmVzT2JqZWN0KGZlYXR1cmVzKVxuICAgIHJldHVybiBwcm9jZXNzSXRlbVByb3BlcnRpZXMoZ2VvanNvbkl0ZW0uZmVhdHVyZXMsIHRydWUpXG4gIH1cbiAgdGhyb3cgRXJyb3IoXCJDb3VsZG4ndCByZXRyaWV2ZSBuYW1lc3BhY2UgdXJsXCIpXG59XG5cbmV4cG9ydCBjbGFzcyBHbWxSZWFkZXIgZXh0ZW5kcyBCYXNlRmlsZVJlYWRlciB7XG4gIG5hbWVzcGFjZTogc3RyaW5nXG4gIHZlcnNpb246IFdmc1ZlcnNpb25cblxuICBjb25zdHJ1Y3Rvcih1cmwsIG5hbWVzcGFjZSwgdmVyc2lvbikge1xuICAgIHN1cGVyKHVybClcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZVxuICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb25cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodGhpcy51cmwpLnRoZW4oKHRleHQpID0+XG4gICAgICBwYXJzZUdtbCh0ZXh0LCB0aGlzLm5hbWVzcGFjZSwgdGhpcy52ZXJzaW9uKVxuICAgIClcbiAgfVxufVxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ21sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvZ21sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUd4QyxNQUFNLFVBQVUsUUFBUSxDQUN0QixJQUFZLEVBQ1osU0FBaUIsRUFDakIsT0FBZTtJQUtmLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQztZQUNqQixTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuQixXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtRQUVGLElBQUksUUFBUSxDQUFBO1FBQ1osSUFBSSxDQUFDO1lBQ0gsUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9ELE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQ0QsTUFBTSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQTtBQUNoRCxDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVUsU0FBUSxjQUFjO0lBQzNDLFlBQ1ksR0FBVyxFQUNYLFNBQWlCLEVBQ2pCLE9BQW1CLEVBQ25CLGNBQWMsSUFBSTtRQUU1QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7UUFMQSxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFPO0lBRzlCLENBQUM7SUFFUyxPQUFPO1FBQ2YsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDL0QsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDN0MsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VGaWxlUmVhZGVyIH0gZnJvbSAnLi9iYXNlLWZpbGUnXG5pbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQgeyBmZXRjaERhdGFBc1RleHQsIHByb2Nlc3NJdGVtUHJvcGVydGllcyB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgR2VvSlNPTiwgV0ZTIH0gZnJvbSAnb2wvZm9ybWF0J1xuaW1wb3J0IHsgV2ZzVmVyc2lvbiB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUdtbChcbiAgdGV4dDogc3RyaW5nLFxuICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgdmVyc2lvbjogc3RyaW5nXG4pOiB7XG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4gIHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdXG59IHtcbiAgY29uc3Qgc3BsaXR0ZWROYW1lc3BhY2UgPSBuYW1lc3BhY2Uuc3BsaXQoJzonKVxuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYHhtbG5zOiR7c3BsaXR0ZWROYW1lc3BhY2VbMF19PVtcIiddKFteJ1wiXSopW1wiJ11gKVxuICBjb25zdCBtYXRjaCA9IHJlZ2V4LmV4ZWModGV4dClcblxuICBpZiAobWF0Y2ggJiYgbWF0Y2gubGVuZ3RoID49IDIpIHtcbiAgICBjb25zdCB3ZiA9IG5ldyBXRlMoe1xuICAgICAgZmVhdHVyZU5TOiBtYXRjaFsxXSxcbiAgICAgIGZlYXR1cmVUeXBlOiBzcGxpdHRlZE5hbWVzcGFjZVsxXSxcbiAgICAgIHZlcnNpb246IHZlcnNpb24sXG4gICAgfSlcblxuICAgIGxldCBmZWF0dXJlc1xuICAgIHRyeSB7XG4gICAgICBmZWF0dXJlcyA9IHdmLnJlYWRGZWF0dXJlcyh0ZXh0KVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IEVycm9yKFwiQ291bGRuJ3QgcGFyc2UgV0ZTIHdpdGggR01MIGZlYXR1cmVzXCIpXG4gICAgfVxuXG4gICAgY29uc3QgZ2VvanNvbkl0ZW0gPSBuZXcgR2VvSlNPTigpLndyaXRlRmVhdHVyZXNPYmplY3QoZmVhdHVyZXMpXG4gICAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhnZW9qc29uSXRlbS5mZWF0dXJlcywgdHJ1ZSlcbiAgfVxuICB0aHJvdyBFcnJvcihcIkNvdWxkbid0IHJldHJpZXZlIG5hbWVzcGFjZSB1cmxcIilcbn1cblxuZXhwb3J0IGNsYXNzIEdtbFJlYWRlciBleHRlbmRzIEJhc2VGaWxlUmVhZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHVybDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCBuYW1lc3BhY2U6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgdmVyc2lvbjogV2ZzVmVyc2lvbixcbiAgICBwcm90ZWN0ZWQgY2FjaGVBY3RpdmUgPSB0cnVlXG4gICkge1xuICAgIHN1cGVyKHVybClcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodGhpcy51cmwsIHRoaXMuY2FjaGVBY3RpdmUpLnRoZW4oKHRleHQpID0+XG4gICAgICBwYXJzZUdtbCh0ZXh0LCB0aGlzLm5hbWVzcGFjZSwgdGhpcy52ZXJzaW9uKVxuICAgIClcbiAgfVxufVxuIl19
@@ -13,7 +13,7 @@ export function parseJson(text) {
13
13
  }
14
14
  export class JsonReader extends BaseFileReader {
15
15
  getData() {
16
- return fetchDataAsText(this.url).then(parseJson);
16
+ return fetchDataAsText(this.url, this.cacheActive).then(parseJson);
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBSXBDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFVLENBQUE7SUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7QUFDaEUsQ0FBQztBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsY0FBYztJQUM1QyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhSXRlbSwgUHJvcGVydHlJbmZvIH0gZnJvbSAnLi4vbW9kZWwnXG5pbXBvcnQge1xuICBmZXRjaERhdGFBc1RleHQsXG4gIGpzb25Ub0dlb2pzb25GZWF0dXJlLFxuICBwcm9jZXNzSXRlbVByb3BlcnRpZXMsXG59IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZUZpbGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtZmlsZSdcblxuLyoqXG4gKiBUaGlzIHBhcnNlciBvbmx5IHN1cHBvcnRzIGFycmF5cyBvZiBzaW1wbGUgZmxhdCBvYmplY3RzIHdpdGggcHJvcGVydGllc1xuICogQHBhcmFtIHRleHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSnNvbih0ZXh0OiBzdHJpbmcpOiB7XG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4gIHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdXG59IHtcbiAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh0ZXh0KSBhcyBhbnlbXVxuICBpZiAoIUFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IHBhcnNlIEpTT04sIGV4cGVjdGVkIGFuIGFycmF5IGF0IHJvb3QgbGV2ZWwnKVxuICB9XG4gIHJldHVybiBwcm9jZXNzSXRlbVByb3BlcnRpZXMocGFyc2VkLm1hcChqc29uVG9HZW9qc29uRmVhdHVyZSkpXG59XG5cbmV4cG9ydCBjbGFzcyBKc29uUmVhZGVyIGV4dGVuZHMgQmFzZUZpbGVSZWFkZXIge1xuICBnZXREYXRhKCkge1xuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodGhpcy51cmwpLnRoZW4ocGFyc2VKc29uKVxuICB9XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9kYXRhLWZldGNoZXIvc3JjL2xpYi9yZWFkZXJzL2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sVUFBVSxDQUFBO0FBQ2pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBSXBDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFVLENBQUE7SUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUNELE9BQU8scUJBQXFCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUE7QUFDaEUsQ0FBQztBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsY0FBYztJQUM1QyxPQUFPO1FBQ0wsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQ3BFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFJdGVtLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7XG4gIGZldGNoRGF0YUFzVGV4dCxcbiAganNvblRvR2VvanNvbkZlYXR1cmUsXG4gIHByb2Nlc3NJdGVtUHJvcGVydGllcyxcbn0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBCYXNlRmlsZVJlYWRlciB9IGZyb20gJy4vYmFzZS1maWxlJ1xuXG4vKipcbiAqIFRoaXMgcGFyc2VyIG9ubHkgc3VwcG9ydHMgYXJyYXlzIG9mIHNpbXBsZSBmbGF0IG9iamVjdHMgd2l0aCBwcm9wZXJ0aWVzXG4gKiBAcGFyYW0gdGV4dFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VKc29uKHRleHQ6IHN0cmluZyk6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpIGFzIGFueVtdXG4gIGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgcGFyc2UgSlNPTiwgZXhwZWN0ZWQgYW4gYXJyYXkgYXQgcm9vdCBsZXZlbCcpXG4gIH1cbiAgcmV0dXJuIHByb2Nlc3NJdGVtUHJvcGVydGllcyhwYXJzZWQubWFwKGpzb25Ub0dlb2pzb25GZWF0dXJlKSlcbn1cblxuZXhwb3J0IGNsYXNzIEpzb25SZWFkZXIgZXh0ZW5kcyBCYXNlRmlsZVJlYWRlciB7XG4gIGdldERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoRGF0YUFzVGV4dCh0aGlzLnVybCwgdGhpcy5jYWNoZUFjdGl2ZSkudGhlbihwYXJzZUpzb24pXG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,12 @@
1
1
  import { WfsEndpoint } from '@camptocamp/ogc-client';
2
2
  import { fetchDataAsText } from '../utils';
3
- import { BaseReader } from './base';
4
3
  import { GmlReader, parseGml } from './gml';
5
4
  import { GeojsonReader, parseGeojson } from './geojson';
6
5
  import { marker } from '@biesbjerg/ngx-translate-extract-marker';
7
- export class WfsReader extends BaseReader {
8
- constructor(url, wfsEndpoint, featureTypeName) {
9
- super(url);
6
+ import { BaseCacheReader } from './base-cache';
7
+ export class WfsReader extends BaseCacheReader {
8
+ constructor(url, wfsEndpoint, featureTypeName, cacheActive) {
9
+ super(url, cacheActive);
10
10
  this.endpoint = wfsEndpoint;
11
11
  this.featureTypeName = featureTypeName;
12
12
  this.version = this.endpoint.getVersion();
@@ -83,7 +83,7 @@ export class WfsReader extends BaseReader {
83
83
  // Direct update on string url to prevent encoding of +A and +D
84
84
  url = `${url}${finalUrl.search ? '&' : ''}SORTBY=${sorts}`;
85
85
  }
86
- return fetchDataAsText(url).then((text) => asJson
86
+ return fetchDataAsText(url, this.cacheActive).then((text) => asJson
87
87
  ? parseGeojson(text)
88
88
  : parseGml(text, this.featureTypeName, this.version));
89
89
  }
@@ -94,4 +94,4 @@ export class WfsReader extends BaseReader {
94
94
  return (await this.getData()).items;
95
95
  }
96
96
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvd2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSx3QkFBd0IsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRWhFLE1BQU0sT0FBTyxTQUFVLFNBQVEsVUFBVTtJQUt2QyxZQUFZLEdBQVcsRUFBRSxXQUF3QixFQUFFLGVBQXVCO1FBQ3hFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFBO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUTthQUNqQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLE1BQU0sWUFBWSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMs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K0Q7WUFDL0QsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQzVELENBQUM7UUFFRCxPQUFPLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN4QyxNQUFNO1lBQ0osQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDcEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ3ZELENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLDBCQUEwQjtJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUE7SUFDckMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ZzRW5kcG9pbnQsIFdmc1ZlcnNpb24gfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgRGF0YUl0ZW0sIERhdGFzZXRJbmZvLCBQcm9wZXJ0eUluZm8gfSBmcm9tICcuLi9tb2RlbCdcbmltcG9ydCB7IGZldGNoRGF0YUFzVGV4dCB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgQmFzZVJlYWRlciB9IGZyb20gJy4vYmFzZSdcbmltcG9ydCB7IEdtbFJlYWRlciwgcGFyc2VHbWwgfSBmcm9tICcuL2dtbCdcbmltcG9ydCB7IEdlb2pzb25SZWFkZXIsIHBhcnNlR2VvanNvbiB9IGZyb20gJy4vZ2VvanNvbidcbmltcG9ydCB7IG1hcmtlciB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcidcblxuZXhwb3J0IGNsYXNzIFdmc1JlYWRlciBleHRlbmRzIEJhc2VSZWFkZXIge1xuICBlbmRwb2ludDogV2ZzRW5kcG9pbnRcbiAgZmVhdHVyZVR5cGVOYW1lOiBzdHJpbmdcbiAgdmVyc2lvbjogV2ZzVmVyc2lvblxuXG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCB3ZnNFbmRwb2ludDogV2ZzRW5kcG9pbnQsIGZlYXR1cmVUeXBlTmFtZTogc3RyaW5nKSB7XG4gICAgc3VwZXIodXJsKVxuICAgIHRoaXMuZW5kcG9pbnQgPSB3ZnNFbmRwb2ludFxuICAgIHRoaXMuZmVhdHVyZVR5cGVOYW1lID0gZmVhdHVyZVR5cGVOYW1lXG4gICAgdGhpcy52ZXJzaW9uID0gdGhpcy5lbmRwb2ludC5nZXRWZXJzaW9uKClcbiAgfVxuXG4gIGdldCBwcm9wZXJ0aWVzKCk6IFByb21pc2U8UHJvcGVydHlJbmZvW10+IHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludFxuICAgICAgLmdldEZlYXR1cmVUeXBlRnVsbCh0aGlzLmZlYXR1cmVUeXBlTmFtZSlcbiAgICAgIC50aGVuKChmZWF0dXJlVHlwZSkgPT5cbiAgICAgICAgT2JqZWN0LmtleXMoZmVhdHVyZVR5cGUucHJvcGVydGllcykubWFwKChwcm9wKSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxUeXBlID0gZmVhdHVyZVR5cGUucHJvcGVydGllc1twcm9wXVxuICAgICAgICAgIGNvbnN0IHR5cGUgPVxuICAgICAgICAgICAgb3JpZ2luYWxUeXBlID09PSAnZmxvYXQnIHx8IG9yaWdpbmFsVHlwZSA9PT0gJ2ludGVnZXInXG4gICAgICAgICAgICAgID8gJ251bWJlcidcbiAgICAgICAgICAgICAgOiAob3JpZ2luYWxUeXBlIGFzIFByb3BlcnR5SW5mb1sndHlwZSddKSAvLyBGSVhNRTogb2djLWNsaWVudCB0eXBpbmcgaXMgaW5jb3JyZWN0LCBzaG91bGQgYmUgYSBzdHJpbmcgdW5pb25cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmFtZTogcHJvcCxcbiAgICAgICAgICAgIGxhYmVsOiBwcm9wLFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cblxuICBnZXQgaW5mbygpOiBQcm9taXNlPERhdGFzZXRJbmZvPiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVGdWxsKHRoaXMuZmVhdHVyZVR5cGVOYW1lKS50aGVuKFxuICAgICAgKHJlc3VsdCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBpdGVtc0NvdW50OiByZXN1bHQub2JqZWN0Q291bnQsXG4gICAgICAgIH0pIGFzIERhdGFzZXRJbmZvXG4gICAgKVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIGNyZWF0ZVJlYWRlcih3ZnNVcmxFbmRwb2ludDogc3RyaW5nLCBmZWF0dXJlVHlwZU5hbWU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB3ZnNFbmRwb2ludCA9IGF3YWl0IG5ldyBXZnNFbmRwb2ludCh3ZnNVcmxFbmRwb2ludCkuaXNSZWFkeSgpXG4gICAgY29uc3QgZmVhdHVyZVR5cGVzID0gd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVR5cGVzKClcbiAgICBjb25zdCBmZWF0dXJlVHlwZSA9IHdmc0VuZHBvaW50LmdldEZlYXR1cmVUeXBlU3VtbWFyeShcbiAgICAgIGZlYXR1cmVUeXBlcy5sZW5ndGggPT09IDEgJiYgIWZlYXR1cmVUeXBlTmFtZVxuICAgICAgICA/IGZlYXR1cmVUeXBlc1swXS5uYW1lXG4gICAgICAgIDogZmVhdHVyZVR5cGVOYW1lXG4gICAgKVxuICAgIGlmICghZmVhdHVyZVR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmZlYXR1cmV0eXBlLm5vdGZvdW5kJylcbiAgICB9XG5cbiAgICBpZiAod2ZzRW5kcG9pbnQuc3VwcG9ydHNTdGFydEluZGV4KCkpIHtcbiAgICAgIHJldHVybiBuZXcgV2ZzUmVhZGVyKHdmc1VybEVuZHBvaW50LCB3ZnNFbmRwb2ludCwgZmVhdHVyZVR5cGUubmFtZSlcbiAgICB9IGVsc2UgaWYgKHdmc0VuZHBvaW50LnN1cHBvcnRzSnNvbihmZWF0dXJlVHlwZS5uYW1lKSkge1xuICAgICAgcmV0dXJuIG5ldyBHZW9qc29uUmVhZGVyKFxuICAgICAgICB3ZnNFbmRwb2ludC5nZXRGZWF0dXJlVXJsKGZlYXR1cmVUeXBlLm5hbWUsIHtcbiAgICAgICAgICBhc0pzb246IHRydWUsXG4gICAgICAgICAgb3V0cHV0Q3JzOiAnRVBTRzo0MzI2JyxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKFxuICAgICAgICBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICApICYmXG4gICAgICAgIChmZWF0dXJlVHlwZS5kZWZhdWx0Q3JzID09PSAnRVBTRzo0MzI2JyB8fFxuICAgICAgICAgIGZlYXR1cmVUeXBlLm90aGVyQ3JzPy5pbmNsdWRlcygnRVBTRzo0MzI2JykpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBHbWxSZWFkZXIoXG4gICAgICAgICAgd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgICBvdXRwdXRGb3JtYXQ6IGZlYXR1cmVUeXBlLm91dHB1dEZvcm1hdHMuZmluZCgoZikgPT5cbiAgICAgICAgICAgICAgZi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdnbWwnKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZmVhdHVyZVR5cGUubmFtZSxcbiAgICAgICAgICB3ZnNFbmRwb2ludC5nZXRWZXJzaW9uKClcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3ZnMuZ2VvanNvbmdtbC5ub3RzdXBwb3J0ZWQnKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXREYXRhKCkge1xuICAgIGlmICh0aGlzLmFnZ3JlZ2F0aW9ucyB8fCB0aGlzLmdyb3VwZWRCeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKG1hcmtlcignd2ZzLmFnZ3JlZ2F0aW9ucy5ub3RzdXBwb3J0ZWQnKSlcbiAgICB9XG5cbiAgICBjb25zdCBhc0pzb24gPSB0aGlzLmVuZHBvaW50LnN1cHBvcnRzSnNvbih0aGlzLmZlYXR1cmVUeXBlTmFtZSlcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gdGhpcy5zZWxlY3RlZCA/PyB1bmRlZmluZWRcbiAgICBsZXQgdXJsID0gdGhpcy5lbmRwb2ludC5nZXRGZWF0dXJlVXJsKHRoaXMuZmVhdHVyZVR5cGVOYW1lLCB7XG4gICAgICAuLi4odGhpcy5zdGFydEluZGV4ICE9PSBudWxsICYmIHsgc3RhcnRJbmRleDogdGhpcy5zdGFydEluZGV4IH0pLFxuICAgICAgLi4uKHRoaXMuY291bnQgIT09IG51bGwgJiYgeyBtYXhGZWF0dXJlczogdGhpcy5jb3VudCB9KSxcbiAgICAgIGFzSnNvbixcbiAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgLy8gc29ydEJ5OiB0aGlzLnNvcnQgLy8gVE9ETzogbm8gc29ydCBpbiBvZ2MtY2xpZW50P1xuICAgIH0pXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnNvcnQpICYmIHRoaXMuc29ydC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaW5hbFVybCA9IG5ldyBVUkwodXJsKVxuICAgICAgY29uc3Qgc29ydHMgPSB0aGlzLnNvcnRcbiAgICAgICAgLm1hcChcbiAgICAgICAgICAoZmllbGRTb3J0KSA9PiBgJHtmaWVsZFNvcnRbMV19KyR7ZmllbGRTb3J0WzBdID09PSAnYXNjJyA/ICdBJyA6ICdEJ31gXG4gICAgICAgIClcbiAgICAgICAgLmpvaW4oJywnKVxuICAgICAgLy8gRGlyZWN0IHVwZGF0ZSBvbiBzdHJpbmcgdXJsIHRvIHByZXZlbnQgZW5jb2Rpbmcgb2YgK0EgYW5kICtEXG4gICAgICB1cmwgPSBgJHt1cmx9JHtmaW5hbFVybC5zZWFyY2ggPyAnJicgOiAnJ31TT1JUQlk9JHtzb3J0c31gXG4gICAgfVxuXG4gICAgcmV0dXJuIGZldGNoRGF0YUFzVGV4dCh1cmwpLnRoZW4oKHRleHQpID0+XG4gICAgICBhc0pzb25cbiAgICAgICAgPyBwYXJzZUdlb2pzb24odGV4dClcbiAgICAgICAgOiBwYXJzZUdtbCh0ZXh0LCB0aGlzLmZlYXR1cmVUeXBlTmFtZSwgdGhpcy52ZXJzaW9uKVxuICAgIClcbiAgfVxuXG4gIGxvYWQoKSB7XG4gICAgLy8gTm90aGluZyB0byBsb2FkIGZvciBXZnNcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTxEYXRhSXRlbVtdPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmdldERhdGEoKSkuaXRlbXNcbiAgfVxufVxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ZzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2RhdGEtZmV0Y2hlci9zcmMvbGliL3JlYWRlcnMvd2ZzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSx3QkFBd0IsQ0FBQTtBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTlDLE1BQU0sT0FBTyxTQUFVLFNBQVEsZUFBZTtJQUs1QyxZQUNFLEdBQVcsRUFDWCxXQUF3QixFQUN4QixlQUF1QixFQUN2QixXQUFxQjtRQUVyQixLQUFLLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFBO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUTthQUNqQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLE1BQU0sWUFBWSxH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R0FBRyxDQUFDLENBQUE7WUFDWiwrREFBK0Q7WUFDL0QsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEtBQUssRUFBRSxDQUFBO1FBQzVELENBQUM7UUFFRCxPQUFPLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQzFELE1BQU07WUFDSixDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNwQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDdkQsQ0FBQTtJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsMEJBQTBCO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUNyQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZnNFbmRwb2ludCwgV2ZzVmVyc2lvbiB9IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5pbXBvcnQgeyBEYXRhSXRlbSwgRGF0YXNldEluZm8sIFByb3BlcnR5SW5mbyB9IGZyb20gJy4uL21vZGVsJ1xuaW1wb3J0IHsgZmV0Y2hEYXRhQXNUZXh0IH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBHbWxSZWFkZXIsIHBhcnNlR21sIH0gZnJvbSAnLi9nbWwnXG5pbXBvcnQgeyBHZW9qc29uUmVhZGVyLCBwYXJzZUdlb2pzb24gfSBmcm9tICcuL2dlb2pzb24nXG5pbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQgeyBCYXNlQ2FjaGVSZWFkZXIgfSBmcm9tICcuL2Jhc2UtY2FjaGUnXG5cbmV4cG9ydCBjbGFzcyBXZnNSZWFkZXIgZXh0ZW5kcyBCYXNlQ2FjaGVSZWFkZXIge1xuICBlbmRwb2ludDogV2ZzRW5kcG9pbnRcbiAgZmVhdHVyZVR5cGVOYW1lOiBzdHJpbmdcbiAgdmVyc2lvbjogV2ZzVmVyc2lvblxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVybDogc3RyaW5nLFxuICAgIHdmc0VuZHBvaW50OiBXZnNFbmRwb2ludCxcbiAgICBmZWF0dXJlVHlwZU5hbWU6IHN0cmluZyxcbiAgICBjYWNoZUFjdGl2ZT86IGJvb2xlYW5cbiAgKSB7XG4gICAgc3VwZXIodXJsLCBjYWNoZUFjdGl2ZSlcbiAgICB0aGlzLmVuZHBvaW50ID0gd2ZzRW5kcG9pbnRcbiAgICB0aGlzLmZlYXR1cmVUeXBlTmFtZSA9IGZlYXR1cmVUeXBlTmFtZVxuICAgIHRoaXMudmVyc2lvbiA9IHRoaXMuZW5kcG9pbnQuZ2V0VmVyc2lvbigpXG4gIH1cblxuICBnZXQgcHJvcGVydGllcygpOiBQcm9taXNlPFByb3BlcnR5SW5mb1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kcG9pbnRcbiAgICAgIC5nZXRGZWF0dXJlVHlwZUZ1bGwodGhpcy5mZWF0dXJlVHlwZU5hbWUpXG4gICAgICAudGhlbigoZmVhdHVyZVR5cGUpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGZlYXR1cmVUeXBlLnByb3BlcnRpZXMpLm1hcCgocHJvcCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVHlwZSA9IGZlYXR1cmVUeXBlLnByb3BlcnRpZXNbcHJvcF1cbiAgICAgICAgICBjb25zdCB0eXBlID1cbiAgICAgICAgICAgIG9yaWdpbmFsVHlwZSA9PT0gJ2Zsb2F0JyB8fCBvcmlnaW5hbFR5cGUgPT09ICdpbnRlZ2VyJ1xuICAgICAgICAgICAgICA/ICdudW1iZXInXG4gICAgICAgICAgICAgIDogKG9yaWdpbmFsVHlwZSBhcyBQcm9wZXJ0eUluZm9bJ3R5cGUnXSkgLy8gRklYTUU6IG9nYy1jbGllbnQgdHlwaW5nIGlzIGluY29ycmVjdCwgc2hvdWxkIGJlIGEgc3RyaW5nIHVuaW9uXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IHByb3AsXG4gICAgICAgICAgICBsYWJlbDogcHJvcCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgZ2V0IGluZm8oKTogUHJvbWlzZTxEYXRhc2V0SW5mbz4ge1xuICAgIHJldHVybiB0aGlzLmVuZHBvaW50LmdldEZlYXR1cmVUeXBlRnVsbCh0aGlzLmZlYXR1cmVUeXBlTmFtZSkudGhlbihcbiAgICAgIChyZXN1bHQpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgaXRlbXNDb3VudDogcmVzdWx0Lm9iamVjdENvdW50LFxuICAgICAgICB9KSBhcyBEYXRhc2V0SW5mb1xuICAgIClcbiAgfVxuXG4gIHN0YXRpYyBhc3luYyBjcmVhdGVSZWFkZXIod2ZzVXJsRW5kcG9pbnQ6IHN0cmluZywgZmVhdHVyZVR5cGVOYW1lPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2ZzRW5kcG9pbnQgPSBhd2FpdCBuZXcgV2ZzRW5kcG9pbnQod2ZzVXJsRW5kcG9pbnQpLmlzUmVhZHkoKVxuICAgIGNvbnN0IGZlYXR1cmVUeXBlcyA9IHdmc0VuZHBvaW50LmdldEZlYXR1cmVUeXBlcygpXG4gICAgY29uc3QgZmVhdHVyZVR5cGUgPSB3ZnNFbmRwb2ludC5nZXRGZWF0dXJlVHlwZVN1bW1hcnkoXG4gICAgICBmZWF0dXJlVHlwZXMubGVuZ3RoID09PSAxICYmICFmZWF0dXJlVHlwZU5hbWVcbiAgICAgICAgPyBmZWF0dXJlVHlwZXNbMF0ubmFtZVxuICAgICAgICA6IGZlYXR1cmVUeXBlTmFtZVxuICAgIClcbiAgICBpZiAoIWZlYXR1cmVUeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dmcy5mZWF0dXJldHlwZS5ub3Rmb3VuZCcpXG4gICAgfVxuXG4gICAgaWYgKHdmc0VuZHBvaW50LnN1cHBvcnRzU3RhcnRJbmRleCgpKSB7XG4gICAgICByZXR1cm4gbmV3IFdmc1JlYWRlcih3ZnNVcmxFbmRwb2ludCwgd2ZzRW5kcG9pbnQsIGZlYXR1cmVUeXBlLm5hbWUpXG4gICAgfSBlbHNlIGlmICh3ZnNFbmRwb2ludC5zdXBwb3J0c0pzb24oZmVhdHVyZVR5cGUubmFtZSkpIHtcbiAgICAgIHJldHVybiBuZXcgR2VvanNvblJlYWRlcihcbiAgICAgICAgd2ZzRW5kcG9pbnQuZ2V0RmVhdHVyZVVybChmZWF0dXJlVHlwZS5uYW1lLCB7XG4gICAgICAgICAgYXNKc29uOiB0cnVlLFxuICAgICAgICAgIG91dHB1dENyczogJ0VQU0c6NDMyNicsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChcbiAgICAgICAgZmVhdHVyZVR5cGUub3V0cHV0Rm9ybWF0cy5maW5kKChmKSA9PlxuICAgICAgICAgIGYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZ21sJylcbiAgICAgICAgKSAmJlxuICAgICAgICAoZmVhdHVyZVR5cGUuZGVmYXVsdENycyA9PT0gJ0VQU0c6NDMyNicgfHxcbiAgICAgICAgICBmZWF0dXJlVHlwZS5vdGhlckNycz8uaW5jbHVkZXMoJ0VQU0c6NDMyNicpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBuZXcgR21sUmVhZGVyKFxuICAgICAgICAgIHdmc0VuZHBvaW50LmdldEZlYXR1cmVVcmwoZmVhdHVyZVR5cGUubmFtZSwge1xuICAgICAgICAgICAgb3V0cHV0Rm9ybWF0OiBmZWF0dXJlVHlwZS5vdXRwdXRGb3JtYXRzLmZpbmQoKGYpID0+XG4gICAgICAgICAgICAgIGYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygnZ21sJylcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBvdXRwdXRDcnM6ICdFUFNHOjQzMjYnLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZlYXR1cmVUeXBlLm5hbWUsXG4gICAgICAgICAgd2ZzRW5kcG9pbnQuZ2V0VmVyc2lvbigpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignd2ZzLmdlb2pzb25nbWwubm90c3VwcG9ydGVkJylcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGF0YSgpIHtcbiAgICBpZiAodGhpcy5hZ2dyZWdhdGlvbnMgfHwgdGhpcy5ncm91cGVkQnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihtYXJrZXIoJ3dmcy5hZ2dyZWdhdGlvbnMubm90c3VwcG9ydGVkJykpXG4gICAgfVxuXG4gICAgY29uc3QgYXNKc29uID0gdGhpcy5lbmRwb2ludC5zdXBwb3J0c0pzb24odGhpcy5mZWF0dXJlVHlwZU5hbWUpXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuc2VsZWN0ZWQgPz8gdW5kZWZpbmVkXG4gICAgbGV0IHVybCA9IHRoaXMuZW5kcG9pbnQuZ2V0RmVhdHVyZVVybCh0aGlzLmZlYXR1cmVUeXBlTmFtZSwge1xuICAgICAgLi4uKHRoaXMuc3RhcnRJbmRleCAhPT0gbnVsbCAmJiB7IHN0YXJ0SW5kZXg6IHRoaXMuc3RhcnRJbmRleCB9KSxcbiAgICAgIC4uLih0aGlzLmNvdW50ICE9PSBudWxsICYmIHsgbWF4RmVhdHVyZXM6IHRoaXMuY291bnQgfSksXG4gICAgICBhc0pzb24sXG4gICAgICBvdXRwdXRDcnM6ICdFUFNHOjQzMjYnLFxuICAgICAgYXR0cmlidXRlcyxcbiAgICAgIC8vIHNvcnRCeTogdGhpcy5zb3J0IC8vIFRPRE86IG5vIHNvcnQgaW4gb2djLWNsaWVudD9cbiAgICB9KVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5zb3J0KSAmJiB0aGlzLnNvcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmluYWxVcmwgPSBuZXcgVVJMKHVybClcbiAgICAgIGNvbnN0IHNvcnRzID0gdGhpcy5zb3J0XG4gICAgICAgIC5tYXAoXG4gICAgICAgICAgKGZpZWxkU29ydCkgPT4gYCR7ZmllbGRTb3J0WzFdfSske2ZpZWxkU29ydFswXSA9PT0gJ2FzYycgPyAnQScgOiAnRCd9YFxuICAgICAgICApXG4gICAgICAgIC5qb2luKCcsJylcbiAgICAgIC8vIERpcmVjdCB1cGRhdGUgb24gc3RyaW5nIHVybCB0byBwcmV2ZW50IGVuY29kaW5nIG9mICtBIGFuZCArRFxuICAgICAgdXJsID0gYCR7dXJsfSR7ZmluYWxVcmwuc2VhcmNoID8gJyYnIDogJyd9U09SVEJZPSR7c29ydHN9YFxuICAgIH1cblxuICAgIHJldHVybiBmZXRjaERhdGFBc1RleHQodXJsLCB0aGlzLmNhY2hlQWN0aXZlKS50aGVuKCh0ZXh0KSA9PlxuICAgICAgYXNKc29uXG4gICAgICAgID8gcGFyc2VHZW9qc29uKHRleHQpXG4gICAgICAgIDogcGFyc2VHbWwodGV4dCwgdGhpcy5mZWF0dXJlVHlwZU5hbWUsIHRoaXMudmVyc2lvbilcbiAgICApXG4gIH1cblxuICBsb2FkKCkge1xuICAgIC8vIE5vdGhpbmcgdG8gbG9hZCBmb3IgV2ZzXG4gIH1cblxuICBhc3luYyByZWFkKCk6IFByb21pc2U8RGF0YUl0ZW1bXT4ge1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5nZXREYXRhKCkpLml0ZW1zXG4gIH1cbn1cbiJdfQ==
@@ -36,8 +36,8 @@ export function fetchHeaders(url) {
36
36
  return parseHeaders(response.headers);
37
37
  });
38
38
  }
39
- export function fetchDataAsText(url) {
40
- return useCache(() => sharedFetch(url)
39
+ export function fetchDataAsText(url, cacheActive) {
40
+ const fetchFactory = () => sharedFetch(url)
41
41
  .catch((error) => {
42
42
  throw FetchError.corsOrNetwork(error.message);
43
43
  })
@@ -46,10 +46,11 @@ export function fetchDataAsText(url) {
46
46
  throw FetchError.http(response.status, await response.text());
47
47
  }
48
48
  return response.text();
49
- }), url, 'asText');
49
+ });
50
+ return cacheActive ? useCache(fetchFactory, url, 'asText') : fetchFactory();
50
51
  }
51
- export function fetchDataAsArrayBuffer(url) {
52
- return useCache(() => sharedFetch(url)
52
+ export function fetchDataAsArrayBuffer(url, cacheActive) {
53
+ const fetchFactory = () => sharedFetch(url)
53
54
  .catch((error) => {
54
55
  throw FetchError.corsOrNetwork(error.message);
55
56
  })
@@ -59,7 +60,8 @@ export function fetchDataAsArrayBuffer(url) {
59
60
  }
60
61
  // convert to a numeric array so that we can store the response in cache
61
62
  return Array.from(new Uint8Array(await response.arrayBuffer()));
62
- }), url, 'asArrayBuffer').then((array) => {
63
+ });
64
+ return (cacheActive ? useCache(fetchFactory, url, 'asArrayBuffer') : fetchFactory()).then((array) => {
63
65
  return new Uint8Array(array).buffer;
64
66
  });
65
67
  }
@@ -204,4 +206,4 @@ export function getJsonDataItemsProxy(items) {
204
206
  },
205
207
  });
206
208
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFVBQVUsRUFHVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUE7QUFDaEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1RCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUFXLEVBQ1gsUUFBd0I7SUFFeEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FDbEMsR0FBRyxFQUNILE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0IsTUFBTSxhQUFhLEdBQ2pCLG9CQUFvQixJQUFJLG9CQUFvQixDQUFDLE1BQU07UUFDakQsQ0FBQyxDQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBb0I7UUFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVWLGVBQWU7SUFDZixJQUFJLFFBQVE7UUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFOUMseUJBQXlCO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZD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QUFDLEVBQUUsVUFBVSxFQUNyQixDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEIsQ0FBQztRQUNELEdBQUc7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFDN0MsQ0FBQztLQUNGLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEYXRhSXRlbSxcbiAgRGF0YXNldEhlYWRlcnMsXG4gIEZldGNoRXJyb3IsXG4gIFByb3BlcnR5SW5mbyxcbiAgU3VwcG9ydGVkVHlwZSxcbiAgU3VwcG9ydGVkVHlwZXMsXG59IGZyb20gJy4vbW9kZWwnXG5pbXBvcnQgeyBzaGFyZWRGZXRjaCwgdXNlQ2FjaGUgfSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuaW1wb3J0IHsgcGFyc2VIZWFkZXJzIH0gZnJvbSAnLi9oZWFkZXJzJ1xuaW1wb3J0IHsgcGFyc2UgYXMgcGFyc2VEYXRlIH0gZnJvbSAnZGF0ZS1mbnMvcGFyc2UnXG5pbXBvcnQgeyBwYXJzZUlTTyBhcyBwYXJzZUlzb0RhdGUgfSBmcm9tICdkYXRlLWZucy9wYXJzZUlTTydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluZmVyRGF0YXNldFR5cGUoXG4gIHVybDogc3RyaW5nLFxuICB0eXBlSGludD86IFN1cHBvcnRlZFR5cGVcbik6IFByb21pc2U8U3VwcG9ydGVkVHlwZT4ge1xuICBjb25zdCBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyA9IG5ldyBVUkwoXG4gICAgdXJsLFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLnRvU3RyaW5nKCkgOiB1bmRlZmluZWRcbiAgKS5wYXRobmFtZS5tYXRjaCgvXFwuKC4rKSQvKVxuICBjb25zdCBmaWxlRXh0ZW5zaW9uID1cbiAgICBmaWxlRXh0ZW5zaW9uTWF0Y2hlcyAmJiBmaWxlRXh0ZW5zaW9uTWF0Y2hlcy5sZW5ndGhcbiAgICAgID8gKGZpbGVFeHRlbnNpb25NYXRjaGVzWzFdLnRvTG93ZXJDYXNlKCkgYXMgU3VwcG9ydGVkVHlwZSlcbiAgICAgIDogbnVsbFxuXG4gIC8vIDEuIHR5cGUgaGludFxuICBpZiAodHlwZUhpbnQpIHJldHVybiBQcm9taXNlLnJlc29sdmUodHlwZUhpbnQpXG5cbiAgLy8gMi4gY29udGVudC10eXBlIGhlYWRlclxuICBjb25zdCBoZWFkZXJzID0gYXdhaXQgZmV0Y2hIZWFkZXJzKHVybClcbiAgaWYgKCdzdXBwb3J0ZWRUeXBlJyBpbiBoZWFkZXJzKSByZXR1cm4gaGVhZGVycy5zdXBwb3J0ZWRUeXBlXG4gIC8vIDMuIGZpbGUgZXh0ZW5zaW9uIGZyb20gdXJsXG4gIGVsc2UgaWYgKFN1cHBvcnRlZFR5cGVzLmluZGV4T2YoZmlsZUV4dGVuc2lvbikgPiAtMSkgcmV0dXJuIGZpbGVFeHRlbnNpb25cblxuICAvLyBubyB0eXBlIGluZmVycmVkIG9yIGhpbnRlZFxuICBpZiAoJ21pbWVUeXBlJyBpbiBoZWFkZXJzKSB0aHJvdyBGZXRjaEVycm9yLnVuc3VwcG9ydGVkVHlwZShoZWFkZXJzLm1pbWVUeXBlKVxuICBlbHNlIHRocm93IEZldGNoRXJyb3IudW5rbm93blR5cGUoKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hIZWFkZXJzKHVybDogc3RyaW5nKTogUHJvbWlzZTxEYXRhc2V0SGVhZGVycz4ge1xuICByZXR1cm4gc2hhcmVkRmV0Y2godXJsLCAnSEVBRCcpXG4gICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgdGhyb3cgRmV0Y2hFcnJvci5jb3JzT3JOZXR3b3JrKGVycm9yLm1lc3NhZ2UpXG4gICAgfSlcbiAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cylcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJzZUhlYWRlcnMocmVzcG9uc2UuaGVhZGVycylcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hEYXRhQXNUZXh0KHVybDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIHVzZUNhY2hlKFxuICAgICgpID0+XG4gICAgICBzaGFyZWRGZXRjaCh1cmwpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBGZXRjaEVycm9yLmNvcnNPck5ldHdvcmsoZXJyb3IubWVzc2FnZSlcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cywgYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UudGV4dCgpXG4gICAgICAgIH0pLFxuICAgIHVybCxcbiAgICAnYXNUZXh0J1xuICApXG59XG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hEYXRhQXNBcnJheUJ1ZmZlcih1cmw6IHN0cmluZyk6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgcmV0dXJuIHVzZUNhY2hlKFxuICAgICgpID0+XG4gICAgICBzaGFyZWRGZXRjaCh1cmwpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBGZXRjaEVycm9yLmNvcnNPck5ldHdvcmsoZXJyb3IubWVzc2FnZSlcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cywgYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBjb252ZXJ0IHRvIGEgbnVtZXJpYyBhcnJheSBzbyB0aGF0IHdlIGNhbiBzdG9yZSB0aGUgcmVzcG9uc2UgaW4gY2FjaGVcbiAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpKSlcbiAgICAgICAgfSksXG4gICAgdXJsLFxuICAgICdhc0FycmF5QnVmZmVyJ1xuICApLnRoZW4oKGFycmF5KSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGFycmF5KS5idWZmZXJcbiAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyeVBhcnNlRGF0ZShpbnB1dDogdW5rbm93bik6IERhdGUgfCBudWxsIHtcbiAgaWYgKHR5cGVvZiBpbnB1dCAhPT0gJ3N0cmluZycpIHJldHVybiBudWxsXG5cbiAgZnVuY3Rpb24gdHJ5SXNvKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUlzb0RhdGUodmFsdWUpXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXREYXRlKCkpID8gbnVsbCA6IHBhcnNlZFxuICB9XG4gIGZ1bmN0aW9uIHRyeUZvcm1hdCh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZykge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlRGF0ZSh2YWx1ZSwgZm9ybWF0LCBuZXcgRGF0ZSgpKVxuICAgIHJldHVybiBpc05hTihwYXJzZWQuZ2V0RGF0ZSgpKSA/IG51bGwgOiBwYXJzZWRcbiAgfVxuICByZXR1cm4gKFxuICAgIHRyeUlzbyhpbnB1dCkgfHxcbiAgICB0cnlGb3JtYXQoaW5wdXQsICdkZC9NTS95eXl5JykgfHxcbiAgICB0cnlGb3JtYXQoaW5wdXQsICdkZC5NTS55eXl5JykgfHxcbiAgICB0cnlGb3JtYXQoaW5wdXQsICdNTS9kZC95eXl5JykgfHxcbiAgICBudWxsXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyeVBhcnNlTnVtYmVyKGlucHV0OiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgaWYgKGlzTmFOKGlucHV0IGFzIGFueSkpIHJldHVybiBudWxsXG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlRmxvYXQoaW5wdXQpXG4gIHJldHVybiBpc05hTihwYXJzZWQpID8gbnVsbCA6IHBhcnNlZFxufVxuXG5leHBvcnQgZnVuY3Rpb24ganNvblRvR2VvanNvbkZlYXR1cmUob2JqZWN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRGF0YUl0ZW0ge1xuICBjb25zdCB7IGlkLCBwcm9wZXJ0aWVzIH0gPSBPYmplY3Qua2V5cyhvYmplY3QpXG4gICAgLm1hcCgocHJvcGVydHkpID0+IChwcm9wZXJ0eSA/IHByb3BlcnR5IDogJ3Vua25vd24nKSkgLy9wcmV2ZW50IGVtcHR5IHN0cmluZ3NcbiAgICAucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIpID0+XG4gICAgICAgIGN1cnIudG9Mb3dlckNhc2UoKS5lbmRzV2l0aCgnaWQnKVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBpZDogb2JqZWN0W2N1cnJdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiB7IC4uLnByZXYucHJvcGVydGllcywgW2N1cnJdOiBvYmplY3RbY3Vycl0gfSxcbiAgICAgICAgICAgIH0sXG4gICAgICB7IGlkOiB1bmRlZmluZWQsIHByb3BlcnRpZXM6IHt9IH1cbiAgICApXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ0ZlYXR1cmUnLFxuICAgIGdlb21ldHJ5OiBudWxsLFxuICAgIHByb3BlcnRpZXMsXG4gICAgLi4uKGlkICE9PSB1bmRlZmluZWQgJiYgeyBpZCB9KSxcbiAgfVxufVxuXG5mdW5jdGlvbiBtdXRhdGVQcm9wZXJ0aWVzKFxuICBpdGVtczogRGF0YUl0ZW1bXSxcbiAgbXV0YXRvcnM6IHsgW2ZpZWxkTmFtZTogc3RyaW5nXTogKHZhbHVlOiB1bmtub3duKSA9PiB1bmtub3duIH1cbik6IERhdGFJdGVtW10ge1xuICBjb25zdCBtdXRhdG9yS2V5cyA9IE9iamVjdC5rZXlzKG11dGF0b3JzKVxuICBmb3IgKGxldCBpID0gMCwgaWkgPSBpdGVtcy5sZW5ndGg7IGkgPCBpaTsgaSsrKSB7XG4gICAgY29uc3QgaXRlbSA9IGl0ZW1zW2ldXG4gICAgZm9yIChjb25zdCBtdXRhdG9yRmllbGQgb2YgbXV0YXRvcktleXMpIHtcbiAgICAgIGlmICghKG11dGF0b3JGaWVsZCBpbiBpdGVtLnByb3BlcnRpZXMpKSBjb250aW51ZVxuICAgICAgaXRlbS5wcm9wZXJ0aWVzW211dGF0b3JGaWVsZF0gPSBtdXRhdG9yc1ttdXRhdG9yRmllbGRdKFxuICAgICAgICBpdGVtLnByb3BlcnRpZXNbbXV0YXRvckZpZWxkXVxuICAgICAgKVxuICAgIH1cbiAgfVxuICByZXR1cm4gaXRlbXNcbn1cblxuY29uc3QgU0FNUExFX1NJWkUgPSAyMFxuXG4vKipcbiAqIFRoaXMgd2lsbCBpbmZlciBmaWVsZCB0eXBlcyBmcm9tIGEgbGlzdCBvZiBkYXRhIGl0ZW1zIGFuZCBjYXN0IHRoZSB2YWx1ZXMgYWNjb3JkaW5nbHlcbiAqIEBwYXJhbSBpdGVtc1xuICogQHBhcmFtIGluZmVyVHlwZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NJdGVtUHJvcGVydGllcyhcbiAgaXRlbXM6IERhdGFJdGVtW10sXG4gIGluZmVyVHlwZXMgPSBmYWxzZVxuKToge1xuICBpdGVtczogRGF0YUl0ZW1bXVxuICBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXVxufSB7XG4gIGNvbnN0IGZvdW5kRmllbGRzOiB7IFtuYW1lOiBzdHJpbmddOiBQcm9wZXJ0eUluZm8gfSA9IHt9XG4gIGZvciAobGV0IGkgPSAwLCBpaSA9IE1hdGgubWluKFNBTVBMRV9TSVpFLCBpdGVtcy5sZW5ndGgpOyBpIDwgaWk7IGkrKykge1xuICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXVxuICAgIGNvbnN0IGZpZWxkcyA9IE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydGllcylcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgaWYgKCEoZmllbGQgaW4gZm91bmRGaWVsZHMpKSB7XG4gICAgICAgIGZvdW5kRmllbGRzW2ZpZWxkXSA9IHtcbiAgICAgICAgICBsYWJlbDogZmllbGQsXG4gICAgICAgICAgbmFtZTogZmllbGQsXG4gICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgdmFsdWUgPSBpdGVtLnByb3BlcnRpZXNbZmllbGRdXG4gICAgICBjb25zdCBpbmZvID0gZm91bmRGaWVsZHNbZmllbGRdXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IG51bGwpIGNvbnRpbnVlXG5cbiAgICAgIGlmICghaW5mZXJUeXBlcykge1xuICAgICAgICBpZiAoaW5mby50eXBlID09PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICBpbmZvLnR5cGUgPSAnbnVtYmVyJ1xuICAgICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgIGluZm8udHlwZSA9ICdzdHJpbmcnXG4gICAgICAgIH1cbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGFyc2VkTnVtYmVyID0gdHJ5UGFyc2VOdW1iZXIodmFsdWUpXG4gICAgICBpZiAoaW5mby50eXBlID09PSBudWxsICYmIHBhcnNlZE51bWJlciAhPT0gbnVsbCkge1xuICAgICAgICBpbmZvLnR5cGUgPSAnbnVtYmVyJ1xuICAgICAgICBjb250aW51ZVxuICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cGUgPT09ICdudW1iZXInICYmIHBhcnNlZE51bWJlciA9PT0gbnVsbCkge1xuICAgICAgICBpbmZvLnR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IHRyeVBhcnNlRGF0ZSh2YWx1ZSlcbiAgICAgIGlmIChpbmZvLnR5cGUgPT09IG51bGwgJiYgcGFyc2VkRGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICBpbmZvLnR5cGUgPSAnZGF0ZSdcbiAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlID09PSAnZGF0ZScgJiYgcGFyc2VkRGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICBpbmZvLnR5cGUgPSAnc3RyaW5nJ1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHByb3BlcnRpZXM6IFByb3BlcnR5SW5mb1tdID0gW11cbiAgY29uc3QgbXV0YXRvcnMgPSB7fVxuICBmb3IgKGNvbnN0IGZpZWxkIGluIGZvdW5kRmllbGRzKSB7XG4gICAgY29uc3QgaW5mbyA9IGZvdW5kRmllbGRzW2ZpZWxkXVxuICAgIGlmIChpbmZvLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICBtdXRhdG9yc1tmaWVsZF0gPSB0cnlQYXJzZU51bWJlclxuICAgIH0gZWxzZSBpZiAoaW5mby50eXBlID09PSAnZGF0ZScpIHtcbiAgICAgIG11dGF0b3JzW2ZpZWxkXSA9IHRyeVBhcnNlRGF0ZVxuICAgIH1cbiAgICBwcm9wZXJ0aWVzLnB1c2goeyAuLi5pbmZvLCB0eXBlOiBpbmZvLnR5cGUgfHwgJ3N0cmluZycgfSlcbiAgfVxuICBpZiAoaW5mZXJUeXBlcykge1xuICAgIG11dGF0ZVByb3BlcnRpZXMoaXRlbXMsIG11dGF0b3JzKVxuICB9XG4gIHJldHVybiB7IGl0ZW1zLCBwcm9wZXJ0aWVzIH1cbn1cblxuLyoqXG4gKiBUaGlzIGNyZWF0ZXMgYSBQcm94eSB0aGF0IGFsbG93cyByZWFkaW5nIGFuZCB3cml0aW5nIHRvIHRoZSBkYXRhIGl0ZW0gcHJvcGVydGllc1xuICogYXMgaWYgaXQgd2FzIGEgc2ltcGxlIGFycmF5IG9mIEpTT04gb2JqZWN0c1xuICogQHBhcmFtIGl0ZW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRKc29uRGF0YUl0ZW1zUHJveHkoXG4gIGl0ZW1zOiBEYXRhSXRlbVtdXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIHtcbiAgcmV0dXJuIG5ldyBQcm94eTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdPihpdGVtcyBhcyBhbnksIHtcbiAgICBnZXQodGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdLCBwOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIHAgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICFOdW1iZXIuaXNOYU4ocGFyc2VJbnQocCkpICYmXG4gICAgICAgIHRhcmdldFtwXT8ucHJvcGVydGllc1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXRbcF0ucHJvcGVydGllc1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRhcmdldFtwXVxuICAgIH0sXG4gICAgc2V0KCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIG9iamVjdCBpcyByZWFkLW9ubHknKVxuICAgIH0sXG4gIH0pXG59XG4iXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvZGF0YS1mZXRjaGVyL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFVBQVUsRUFHVixjQUFjLEdBQ2YsTUFBTSxTQUFTLENBQUE7QUFDaEIsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkQsT0FBTyxFQUFFLFFBQVEsSUFBSSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUU1RCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxHQUFXLEVBQ1gsUUFBd0I7SUFFeEIsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FDbEMsR0FBRyxFQUNILE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0IsTUFBTSxhQUFhLEdBQ2pCLG9CQUFvQixJQUFJLG9CQUFvQixDQUFDLE1BQU07UUFDakQsQ0FBQyxDQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBb0I7UUFDMUQsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUVWLGVBQWU7SUFDZixJQUFJLFFBQVE7UUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFOUMseUJBQXlCO0lBQ3pCLE1BQU0sT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZD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S0FBaUI7SUFFakIsT0FBTyxJQUFJLEtBQUssQ0FBNEIsS0FBWSxFQUFFO1FBQ3hELEdBQUcsQ0FBQyxNQUFpQyxFQUFFLENBQWtCO1lBQ3ZELElBQ0UsT0FBTyxDQUFDLEtBQUssUUFBUTtnQkFDckIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFDckIsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDN0IsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLENBQUM7UUFDRCxHQUFHO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO1FBQzdDLENBQUM7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGF0YUl0ZW0sXG4gIERhdGFzZXRIZWFkZXJzLFxuICBGZXRjaEVycm9yLFxuICBQcm9wZXJ0eUluZm8sXG4gIFN1cHBvcnRlZFR5cGUsXG4gIFN1cHBvcnRlZFR5cGVzLFxufSBmcm9tICcuL21vZGVsJ1xuaW1wb3J0IHsgc2hhcmVkRmV0Y2gsIHVzZUNhY2hlIH0gZnJvbSAnQGNhbXB0b2NhbXAvb2djLWNsaWVudCdcbmltcG9ydCB7IHBhcnNlSGVhZGVycyB9IGZyb20gJy4vaGVhZGVycydcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlRGF0ZSB9IGZyb20gJ2RhdGUtZm5zL3BhcnNlJ1xuaW1wb3J0IHsgcGFyc2VJU08gYXMgcGFyc2VJc29EYXRlIH0gZnJvbSAnZGF0ZS1mbnMvcGFyc2VJU08nXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbmZlckRhdGFzZXRUeXBlKFxuICB1cmw6IHN0cmluZyxcbiAgdHlwZUhpbnQ/OiBTdXBwb3J0ZWRUeXBlXG4pOiBQcm9taXNlPFN1cHBvcnRlZFR5cGU+IHtcbiAgY29uc3QgZmlsZUV4dGVuc2lvbk1hdGNoZXMgPSBuZXcgVVJMKFxuICAgIHVybCxcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi50b1N0cmluZygpIDogdW5kZWZpbmVkXG4gICkucGF0aG5hbWUubWF0Y2goL1xcLiguKykkLylcbiAgY29uc3QgZmlsZUV4dGVuc2lvbiA9XG4gICAgZmlsZUV4dGVuc2lvbk1hdGNoZXMgJiYgZmlsZUV4dGVuc2lvbk1hdGNoZXMubGVuZ3RoXG4gICAgICA/IChmaWxlRXh0ZW5zaW9uTWF0Y2hlc1sxXS50b0xvd2VyQ2FzZSgpIGFzIFN1cHBvcnRlZFR5cGUpXG4gICAgICA6IG51bGxcblxuICAvLyAxLiB0eXBlIGhpbnRcbiAgaWYgKHR5cGVIaW50KSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHR5cGVIaW50KVxuXG4gIC8vIDIuIGNvbnRlbnQtdHlwZSBoZWFkZXJcbiAgY29uc3QgaGVhZGVycyA9IGF3YWl0IGZldGNoSGVhZGVycyh1cmwpXG4gIGlmICgnc3VwcG9ydGVkVHlwZScgaW4gaGVhZGVycykgcmV0dXJuIGhlYWRlcnMuc3VwcG9ydGVkVHlwZVxuICAvLyAzLiBmaWxlIGV4dGVuc2lvbiBmcm9tIHVybFxuICBlbHNlIGlmIChTdXBwb3J0ZWRUeXBlcy5pbmRleE9mKGZpbGVFeHRlbnNpb24pID4gLTEpIHJldHVybiBmaWxlRXh0ZW5zaW9uXG5cbiAgLy8gbm8gdHlwZSBpbmZlcnJlZCBvciBoaW50ZWRcbiAgaWYgKCdtaW1lVHlwZScgaW4gaGVhZGVycykgdGhyb3cgRmV0Y2hFcnJvci51bnN1cHBvcnRlZFR5cGUoaGVhZGVycy5taW1lVHlwZSlcbiAgZWxzZSB0aHJvdyBGZXRjaEVycm9yLnVua25vd25UeXBlKClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoSGVhZGVycyh1cmw6IHN0cmluZyk6IFByb21pc2U8RGF0YXNldEhlYWRlcnM+IHtcbiAgcmV0dXJuIHNoYXJlZEZldGNoKHVybCwgJ0hFQUQnKVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIHRocm93IEZldGNoRXJyb3IuY29yc09yTmV0d29yayhlcnJvci5tZXNzYWdlKVxuICAgIH0pXG4gICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRocm93IEZldGNoRXJyb3IuaHR0cChyZXNwb25zZS5zdGF0dXMpXG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyc2VIZWFkZXJzKHJlc3BvbnNlLmhlYWRlcnMpXG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoRGF0YUFzVGV4dChcbiAgdXJsOiBzdHJpbmcsXG4gIGNhY2hlQWN0aXZlOiBib29sZWFuXG4pOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBmZXRjaEZhY3RvcnkgPSAoKSA9PlxuICAgIHNoYXJlZEZldGNoKHVybClcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5jb3JzT3JOZXR3b3JrKGVycm9yLm1lc3NhZ2UpXG4gICAgICB9KVxuICAgICAgLnRoZW4oYXN5bmMgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICB0aHJvdyBGZXRjaEVycm9yLmh0dHAocmVzcG9uc2Uuc3RhdHVzLCBhd2FpdCByZXNwb25zZS50ZXh0KCkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKVxuICAgICAgfSlcblxuICByZXR1cm4gY2FjaGVBY3RpdmUgPyB1c2VDYWNoZShmZXRjaEZhY3RvcnksIHVybCwgJ2FzVGV4dCcpIDogZmV0Y2hGYWN0b3J5KClcbn1cbmV4cG9ydCBmdW5jdGlvbiBmZXRjaERhdGFBc0FycmF5QnVmZmVyKFxuICB1cmw6IHN0cmluZyxcbiAgY2FjaGVBY3RpdmU6IGJvb2xlYW5cbik6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgY29uc3QgZmV0Y2hGYWN0b3J5ID0gKCkgPT5cbiAgICBzaGFyZWRGZXRjaCh1cmwpXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IEZldGNoRXJyb3IuY29yc09yTmV0d29yayhlcnJvci5tZXNzYWdlKVxuICAgICAgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgdGhyb3cgRmV0Y2hFcnJvci5odHRwKHJlc3BvbnNlLnN0YXR1cywgYXdhaXQgcmVzcG9uc2UudGV4dCgpKVxuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnZlcnQgdG8gYSBudW1lcmljIGFycmF5IHNvIHRoYXQgd2UgY2FuIHN0b3JlIHRoZSByZXNwb25zZSBpbiBjYWNoZVxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpKSlcbiAgICAgIH0pXG5cbiAgcmV0dXJuIChcbiAgICBjYWNoZUFjdGl2ZSA/IHVzZUNhY2hlKGZldGNoRmFjdG9yeSwgdXJsLCAnYXNBcnJheUJ1ZmZlcicpIDogZmV0Y2hGYWN0b3J5KClcbiAgKS50aGVuKChhcnJheSkgPT4ge1xuICAgIHJldHVybiBuZXcgVWludDhBcnJheShhcnJheSkuYnVmZmVyXG4gIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlQYXJzZURhdGUoaW5wdXQ6IHVua25vd24pOiBEYXRlIHwgbnVsbCB7XG4gIGlmICh0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnKSByZXR1cm4gbnVsbFxuXG4gIGZ1bmN0aW9uIHRyeUlzbyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGFyc2VJc29EYXRlKHZhbHVlKVxuICAgIHJldHVybiBpc05hTihwYXJzZWQuZ2V0RGF0ZSgpKSA/IG51bGwgOiBwYXJzZWRcbiAgfVxuICBmdW5jdGlvbiB0cnlGb3JtYXQodmFsdWU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZURhdGUodmFsdWUsIGZvcm1hdCwgbmV3IERhdGUoKSlcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldERhdGUoKSkgPyBudWxsIDogcGFyc2VkXG4gIH1cbiAgcmV0dXJuIChcbiAgICB0cnlJc28oaW5wdXQpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnZGQvTU0veXl5eScpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnZGQuTU0ueXl5eScpIHx8XG4gICAgdHJ5Rm9ybWF0KGlucHV0LCAnTU0vZGQveXl5eScpIHx8XG4gICAgbnVsbFxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlQYXJzZU51bWJlcihpbnB1dDogc3RyaW5nKTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmIChpc05hTihpbnB1dCBhcyBhbnkpKSByZXR1cm4gbnVsbFxuICBjb25zdCBwYXJzZWQgPSBwYXJzZUZsb2F0KGlucHV0KVxuICByZXR1cm4gaXNOYU4ocGFyc2VkKSA/IG51bGwgOiBwYXJzZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGpzb25Ub0dlb2pzb25GZWF0dXJlKG9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IERhdGFJdGVtIHtcbiAgY29uc3QgeyBpZCwgcHJvcGVydGllcyB9ID0gT2JqZWN0LmtleXMob2JqZWN0KVxuICAgIC5tYXAoKHByb3BlcnR5KSA9PiAocHJvcGVydHkgPyBwcm9wZXJ0eSA6ICd1bmtub3duJykpIC8vcHJldmVudCBlbXB0eSBzdHJpbmdzXG4gICAgLnJlZHVjZShcbiAgICAgIChwcmV2LCBjdXJyKSA9PlxuICAgICAgICBjdXJyLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ2lkJylcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgaWQ6IG9iamVjdFtjdXJyXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgcHJvcGVydGllczogeyAuLi5wcmV2LnByb3BlcnRpZXMsIFtjdXJyXTogb2JqZWN0W2N1cnJdIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgeyBpZDogdW5kZWZpbmVkLCBwcm9wZXJ0aWVzOiB7fSB9XG4gICAgKVxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdGZWF0dXJlJyxcbiAgICBnZW9tZXRyeTogbnVsbCxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIC4uLihpZCAhPT0gdW5kZWZpbmVkICYmIHsgaWQgfSksXG4gIH1cbn1cblxuZnVuY3Rpb24gbXV0YXRlUHJvcGVydGllcyhcbiAgaXRlbXM6IERhdGFJdGVtW10sXG4gIG11dGF0b3JzOiB7IFtmaWVsZE5hbWU6IHN0cmluZ106ICh2YWx1ZTogdW5rbm93bikgPT4gdW5rbm93biB9XG4pOiBEYXRhSXRlbVtdIHtcbiAgY29uc3QgbXV0YXRvcktleXMgPSBPYmplY3Qua2V5cyhtdXRhdG9ycylcbiAgZm9yIChsZXQgaSA9IDAsIGlpID0gaXRlbXMubGVuZ3RoOyBpIDwgaWk7IGkrKykge1xuICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1tpXVxuICAgIGZvciAoY29uc3QgbXV0YXRvckZpZWxkIG9mIG11dGF0b3JLZXlzKSB7XG4gICAgICBpZiAoIShtdXRhdG9yRmllbGQgaW4gaXRlbS5wcm9wZXJ0aWVzKSkgY29udGludWVcbiAgICAgIGl0ZW0ucHJvcGVydGllc1ttdXRhdG9yRmllbGRdID0gbXV0YXRvcnNbbXV0YXRvckZpZWxkXShcbiAgICAgICAgaXRlbS5wcm9wZXJ0aWVzW211dGF0b3JGaWVsZF1cbiAgICAgIClcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGl0ZW1zXG59XG5cbmNvbnN0IFNBTVBMRV9TSVpFID0gMjBcblxuLyoqXG4gKiBUaGlzIHdpbGwgaW5mZXIgZmllbGQgdHlwZXMgZnJvbSBhIGxpc3Qgb2YgZGF0YSBpdGVtcyBhbmQgY2FzdCB0aGUgdmFsdWVzIGFjY29yZGluZ2x5XG4gKiBAcGFyYW0gaXRlbXNcbiAqIEBwYXJhbSBpbmZlclR5cGVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZXNzSXRlbVByb3BlcnRpZXMoXG4gIGl0ZW1zOiBEYXRhSXRlbVtdLFxuICBpbmZlclR5cGVzID0gZmFsc2Vcbik6IHtcbiAgaXRlbXM6IERhdGFJdGVtW11cbiAgcHJvcGVydGllczogUHJvcGVydHlJbmZvW11cbn0ge1xuICBjb25zdCBmb3VuZEZpZWxkczogeyBbbmFtZTogc3RyaW5nXTogUHJvcGVydHlJbmZvIH0gPSB7fVxuICBmb3IgKGxldCBpID0gMCwgaWkgPSBNYXRoLm1pbihTQU1QTEVfU0laRSwgaXRlbXMubGVuZ3RoKTsgaSA8IGlpOyBpKyspIHtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbaV1cbiAgICBjb25zdCBmaWVsZHMgPSBPYmplY3Qua2V5cyhpdGVtLnByb3BlcnRpZXMpXG4gICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZHMpIHtcbiAgICAgIGlmICghKGZpZWxkIGluIGZvdW5kRmllbGRzKSkge1xuICAgICAgICBmb3VuZEZpZWxkc1tmaWVsZF0gPSB7XG4gICAgICAgICAgbGFiZWw6IGZpZWxkLFxuICAgICAgICAgIG5hbWU6IGZpZWxkLFxuICAgICAgICAgIHR5cGU6IG51bGwsXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IHZhbHVlID0gaXRlbS5wcm9wZXJ0aWVzW2ZpZWxkXVxuICAgICAgY29uc3QgaW5mbyA9IGZvdW5kRmllbGRzW2ZpZWxkXVxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09ICcnIHx8IHZhbHVlID09PSBudWxsKSBjb250aW51ZVxuXG4gICAgICBpZiAoIWluZmVyVHlwZXMpIHtcbiAgICAgICAgaWYgKGluZm8udHlwZSA9PT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgaW5mby50eXBlID0gJ251bWJlcidcbiAgICAgICAgfSBlbHNlIGlmIChpbmZvLnR5cGUgPT09ICdudW1iZXInICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICBpbmZvLnR5cGUgPSAnc3RyaW5nJ1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhcnNlZE51bWJlciA9IHRyeVBhcnNlTnVtYmVyKHZhbHVlKVxuICAgICAgaWYgKGluZm8udHlwZSA9PT0gbnVsbCAmJiBwYXJzZWROdW1iZXIgIT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ251bWJlcidcbiAgICAgICAgY29udGludWVcbiAgICAgIH0gZWxzZSBpZiAoaW5mby50eXBlID09PSAnbnVtYmVyJyAmJiBwYXJzZWROdW1iZXIgPT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ3N0cmluZydcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSB0cnlQYXJzZURhdGUodmFsdWUpXG4gICAgICBpZiAoaW5mby50eXBlID09PSBudWxsICYmIHBhcnNlZERhdGUgIT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ2RhdGUnXG4gICAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ2RhdGUnICYmIHBhcnNlZERhdGUgPT09IG51bGwpIHtcbiAgICAgICAgaW5mby50eXBlID0gJ3N0cmluZydcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwcm9wZXJ0aWVzOiBQcm9wZXJ0eUluZm9bXSA9IFtdXG4gIGNvbnN0IG11dGF0b3JzID0ge31cbiAgZm9yIChjb25zdCBmaWVsZCBpbiBmb3VuZEZpZWxkcykge1xuICAgIGNvbnN0IGluZm8gPSBmb3VuZEZpZWxkc1tmaWVsZF1cbiAgICBpZiAoaW5mby50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgbXV0YXRvcnNbZmllbGRdID0gdHJ5UGFyc2VOdW1iZXJcbiAgICB9IGVsc2UgaWYgKGluZm8udHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgICBtdXRhdG9yc1tmaWVsZF0gPSB0cnlQYXJzZURhdGVcbiAgICB9XG4gICAgcHJvcGVydGllcy5wdXNoKHsgLi4uaW5mbywgdHlwZTogaW5mby50eXBlIHx8ICdzdHJpbmcnIH0pXG4gIH1cbiAgaWYgKGluZmVyVHlwZXMpIHtcbiAgICBtdXRhdGVQcm9wZXJ0aWVzKGl0ZW1zLCBtdXRhdG9ycylcbiAgfVxuICByZXR1cm4geyBpdGVtcywgcHJvcGVydGllcyB9XG59XG5cbi8qKlxuICogVGhpcyBjcmVhdGVzIGEgUHJveHkgdGhhdCBhbGxvd3MgcmVhZGluZyBhbmQgd3JpdGluZyB0byB0aGUgZGF0YSBpdGVtIHByb3BlcnRpZXNcbiAqIGFzIGlmIGl0IHdhcyBhIHNpbXBsZSBhcnJheSBvZiBKU09OIG9iamVjdHNcbiAqIEBwYXJhbSBpdGVtc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SnNvbkRhdGFJdGVtc1Byb3h5KFxuICBpdGVtczogRGF0YUl0ZW1bXVxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSB7XG4gIHJldHVybiBuZXcgUHJveHk8UmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4oaXRlbXMgYXMgYW55LCB7XG4gICAgZ2V0KHRhcmdldDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSwgcDogc3RyaW5nIHwgc3ltYm9sKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAhTnVtYmVyLmlzTmFOKHBhcnNlSW50KHApKSAmJlxuICAgICAgICB0YXJnZXRbcF0/LnByb3BlcnRpZXNcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0W3BdLnByb3BlcnRpZXNcbiAgICAgIH1cbiAgICAgIHJldHVybiB0YXJnZXRbcF1cbiAgICB9LFxuICAgIHNldCgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBvYmplY3QgaXMgcmVhZC1vbmx5JylcbiAgICB9LFxuICB9KVxufVxuIl19
@@ -20,8 +20,6 @@
20
20
  "chart.type.lineSmooth": "Geglättes Liniendiagramm",
21
21
  "chart.type.pie": "Kreisdiagramm",
22
22
  "dashboard.catalog.allRecords": "Metadatenkatalog",
23
- "dashboard.catalog.contacts": "Kontakte",
24
- "dashboard.catalog.thesaurus": "Thesaurus",
25
23
  "dashboard.createRecord": "Neuer Eintrag",
26
24
  "dashboard.importRecord": "",
27
25
  "dashboard.importRecord.importExternal": "",
@@ -34,7 +32,6 @@
34
32
  "dashboard.records.myDraft": "Meine Entwürfe",
35
33
  "dashboard.records.myRecords": "Meine Datensätze",
36
34
  "dashboard.records.search": "Suche nach \"{searchText}\"",
37
- "dashboard.records.templates": "Vorlagen",
38
35
  "dashboard.records.userDetail": "Name",
39
36
  "dashboard.records.userEmail": "E-Mail",
40
37
  "dashboard.records.username": "Benutzername",
@@ -547,6 +544,8 @@
547
544
  "search.error.recordNotFound": "Der Datensatz mit der Kennung \"{ id }\" konnte nicht gefunden werden.",
548
545
  "search.field.any.placeholder": "Suche Datensätze ...",
549
546
  "search.field.sortBy": "Sortieren nach:",
547
+ "search.filters.availableServices.download": "",
548
+ "search.filters.availableServices.view": "",
550
549
  "search.filters.changeDate": "Letzte Aktualisierung",
551
550
  "search.filters.clear": "Zurücksetzen",
552
551
  "search.filters.contact": "Kontakte",