@provoly/dashboard 0.21.5 → 0.21.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm2022/lib/core/i18n/en.translations.mjs +2 -2
  2. package/esm2022/lib/core/i18n/fr.translations.mjs +2 -2
  3. package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
  4. package/esm2022/lib/core/model/search-mono-class.model.mjs +1 -1
  5. package/esm2022/lib/core/model/search-multi-class.model.mjs +1 -1
  6. package/esm2022/lib/core/store/aggregation/backend-aggregation.service.mjs +2 -2
  7. package/esm2022/lib/core/store/config/config.actions.mjs +4 -2
  8. package/esm2022/lib/core/store/config/config.reducer.mjs +6 -2
  9. package/esm2022/lib/core/store/config/config.selectors.mjs +5 -2
  10. package/esm2022/lib/core/store/image/image.service.mjs +3 -3
  11. package/esm2022/lib/core/store/search/search.service.mjs +14 -4
  12. package/esm2022/lib/core/symbol/symbol.service.mjs +7 -10
  13. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -1
  14. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -3
  15. package/esm2022/lib/dashboard/store/manifest.service.mjs +3 -4
  16. package/esm2022/presentation/components/presentation.component.mjs +8 -12
  17. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -4
  18. package/esm2022/toolbox/components/save-view/save-view.component.mjs +6 -10
  19. package/esm2022/toolbox/components/share/share.component.mjs +5 -8
  20. package/fesm2022/provoly-dashboard-presentation.mjs +7 -11
  21. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  22. package/fesm2022/provoly-dashboard-restitution.mjs +2 -3
  23. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  24. package/fesm2022/provoly-dashboard-toolbox.mjs +8 -15
  25. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  26. package/fesm2022/provoly-dashboard.mjs +39 -25
  27. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  28. package/lib/core/i18n/en.translations.d.ts +1 -1
  29. package/lib/core/i18n/fr.translations.d.ts +1 -1
  30. package/lib/core/model/manifest.interface.d.ts +0 -2
  31. package/lib/core/model/search-mono-class.model.d.ts +1 -0
  32. package/lib/core/model/search-multi-class.model.d.ts +2 -0
  33. package/lib/core/store/config/config.actions.d.ts +10 -0
  34. package/lib/core/store/config/config.reducer.d.ts +3 -0
  35. package/lib/core/store/config/config.selectors.d.ts +5 -0
  36. package/lib/core/store/image/image.service.d.ts +1 -1
  37. package/lib/core/store/search/search.service.d.ts +4 -1
  38. package/lib/dashboard/store/dashboard.actions.d.ts +0 -3
  39. package/lib/dashboard/store/manifest.service.d.ts +1 -2
  40. package/package.json +7 -7
  41. package/presentation/components/presentation.component.d.ts +1 -3
  42. package/toolbox/components/save-view/save-view.component.d.ts +2 -3
  43. package/toolbox/components/share/share.component.d.ts +1 -2
@@ -1,6 +1,7 @@
1
1
  import { createFeatureSelector, createSelector } from '@ngrx/store';
2
2
  import * as fromConfig from './config.reducer';
3
3
  import { DEFAULT_ICON_URL, IconPosition } from './icon-definitions.interface';
4
+ import { DEFAULT_SEARCH_LIMIT_NUMBER } from './config.actions';
4
5
  const feature = createFeatureSelector(fromConfig.configFeatureKey);
5
6
  const pryUrl = createSelector(feature, (state) => state?.pryUrl);
6
7
  const wsUrl = createSelector(feature, (state) => state?.wsUrl);
@@ -51,6 +52,7 @@ const chartOption = createSelector(feature, (config) => config.chartOption);
51
52
  const maxAttributesInTiles = createSelector(feature, (config) => config.maxAttributesInTiles);
52
53
  const selectVersions = createSelector(feature, (state) => state.versions);
53
54
  const accessGroups = createSelector(feature, (state) => state.accessGroups);
55
+ const limits = createSelector(feature, (state) => ({ default: DEFAULT_SEARCH_LIMIT_NUMBER, ...(state.limits ?? {}) }));
54
56
  export const ConfigSelectors = {
55
57
  feature,
56
58
  pryUrl,
@@ -77,6 +79,7 @@ export const ConfigSelectors = {
77
79
  maxAttributesInTiles,
78
80
  execUrl,
79
81
  selectVersions,
80
- accessGroups
82
+ accessGroups,
83
+ limits
81
84
  };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9GLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUF5QixVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakUsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9ELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM3RSxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDL0QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0FBQzdELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQztBQUNyRSxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFDekUsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQ25FLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNqRSxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFFL0QsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE9BQU8sR0FBRyxFQUFxQixDQUFDO0lBQ3RDLEtBQUssSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ3ZCLElBQUk7WUFDRixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ2xELE1BQU0sdUJBQXVCLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoSCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNuQixTQUFTLEVBQUUsSUFBSTtvQkFDZixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsT0FBTyxJQUFJLGdCQUFnQjtvQkFDN0QsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztpQkFDbkIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO0tBQ0Y7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQ3BDLE9BQU8sRUFDUCxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ1IsQ0FBQztJQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzVELEdBQUcsMEJBQTBCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQztDQUN0RCxJQUFJLEVBQUUsQ0FBcUIsQ0FDL0IsQ0FBQztBQUVGLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDMUYsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUN4RixNQUFNLGlDQUFpQyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBQzdHLE1BQU0seUJBQXlCLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRTdGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN4RSxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDcEYsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUNoQyxPQUFPLEVBQ1AsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FDM0YsQ0FBQztBQUNGLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3RGLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRSxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDcEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQzVFLE1BQU0sb0JBQW9CLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUYsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUU1RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsT0FBTztJQUNQLE1BQU07SUFDTixPQUFPO0lBQ1AsTUFBTTtJQUNOLFVBQVU7SUFDVixLQUFLO0lBQ0wsU0FBUztJQUNULE1BQU07SUFDTixZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxlQUFlO0lBQ2YsV0FBVztJQUNYLGlDQUFpQztJQUNqQyx5QkFBeUI7SUFDekIsVUFBVTtJQUNWLFVBQVU7SUFDVixPQUFPO0lBQ1AsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixPQUFPO0lBQ1AsY0FBYztJQUNkLFlBQVk7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21Db25maWcgZnJvbSAnLi9jb25maWcucmVkdWNlcic7XG5pbXBvcnQgeyBERUZBVUxUX0lDT05fVVJMLCBJY29uRGVmaW5pdGlvbnMsIEljb25Qb3NpdGlvbiB9IGZyb20gJy4vaWNvbi1kZWZpbml0aW9ucy5pbnRlcmZhY2UnO1xuXG5jb25zdCBmZWF0dXJlID0gY3JlYXRlRmVhdHVyZVNlbGVjdG9yPGZyb21Db25maWcuQ29uZmlnU3RhdGU+KGZyb21Db25maWcuY29uZmlnRmVhdHVyZUtleSk7XG5cbmNvbnN0IHByeVVybCA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/LnByeVVybCk7XG5jb25zdCB3c1VybCA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/LndzVXJsKTtcbmNvbnN0IGdlb1NlcnZlclVybCA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/Lmdlb1NlcnZlclVybCk7XG5jb25zdCBkYXRhVXJsID0gY3JlYXRlU2VsZWN0b3IocHJ5VXJsLCAodXJsKSA9PiBgJHt1cmx9L2RhdGFgKTtcbmNvbnN0IHJlZlVybCA9IGNyZWF0ZVNlbGVjdG9yKHByeVVybCwgKHVybCkgPT4gYCR7dXJsfS9yZWZgKTtcbmNvbnN0IHRyYW5zZm9VcmwgPSBjcmVhdGVTZWxlY3RvcihwcnlVcmwsICh1cmwpID0+IGAke3VybH0vdHJhbnNmb2ApO1xuY29uc3QgZ2VvY29kaW5nVXJsID0gY3JlYXRlU2VsZWN0b3IocHJ5VXJsLCAodXJsKSA9PiBgJHt1cmx9L2dlb2NvZGluZ2ApO1xuY29uc3QgcmVwbGF5VXJsID0gY3JlYXRlU2VsZWN0b3IocHJ5VXJsLCAodXJsKSA9PiBgJHt1cmx9L3JlcGxheWApO1xuY29uc3QgbWFwVXJsID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZT8ubWFwVXJsKTtcbmNvbnN0IGV4ZWNVcmwgPSBjcmVhdGVTZWxlY3RvcihwcnlVcmwsICh1cmwpID0+IGAke3VybH0vZXhlY2ApO1xuXG5jb25zdCBhZGREZWZhdWx0UnVsZUlmTm90UHJlc2VudCA9IChkZWZzOiBJY29uRGVmaW5pdGlvbnMpID0+IHtcbiAgY29uc3QgbmV3RGVmcyA9IHt9IGFzIEljb25EZWZpbml0aW9ucztcbiAgZm9yIChsZXQgY2xhc3NlIGluIGRlZnMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3VycmVudFJ1bGVzID0gZGVmc1tjbGFzc2VdID8/IFt7IGljb25Vcmw6IERFRkFVTFRfSUNPTl9VUkwsIGljb25TaXplOiBbMjUsIDI1XSB9XTtcbiAgICAgIG5ld0RlZnNbY2xhc3NlXSA9IFsuLi5jdXJyZW50UnVsZXNdO1xuICAgICAgaWYgKCFjdXJyZW50UnVsZXMuZmluZCgocnVsZSkgPT4gISFydWxlLmlzRGVmYXVsdCkpIHtcbiAgICAgICAgY29uc3QgcHJlY2FsY3VsYXRlRGVmYXVsdFJ1bGUgPSBjdXJyZW50UnVsZXMuZmluZCgoZGVmKSA9PiBkZWYucG9zaXRpb24gPT09IEljb25Qb3NpdGlvbi5GVUxMIHx8ICFkZWYucG9zaXRpb24pO1xuICAgICAgICBuZXdEZWZzW2NsYXNzZV0ucHVzaCh7XG4gICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgIGljb25Vcmw6IHByZWNhbGN1bGF0ZURlZmF1bHRSdWxlPy5pY29uVXJsID8/IERFRkFVTFRfSUNPTl9VUkwsXG4gICAgICAgICAgaWNvblNpemU6IFsyNSwgMjVdXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEljb25zIGRlZmluaXRpb25zIGlzIHdyb25nIGZvciBjbGFzcyAke2NsYXNzZX1gLCBkZWZzW2NsYXNzZV0sIGUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbmV3RGVmcztcbn07XG5cbmNvbnN0IGljb25EZWZpbml0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBmZWF0dXJlLFxuICAoY29uZmlnKSA9PlxuICAgICgoe1xuICAgICAgZGVmYXVsdDogW3sgaWNvblVybDogREVGQVVMVF9JQ09OX1VSTCwgaWNvblNpemU6IFsyNSwgMjVdIH1dLFxuICAgICAgLi4uYWRkRGVmYXVsdFJ1bGVJZk5vdFByZXNlbnQoY29uZmlnLmljb25EZWZpbml0aW9ucylcbiAgICB9ID8/IHt9KSBhcyBJY29uRGVmaW5pdGlvbnMpXG4pO1xuXG5jb25zdCB0b29sdGlwRGVmaW5pdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcudG9vbHRpcERlZmluaXRpb25zKTtcbmNvbnN0IGZpbHRlckRlZmluaXRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLmZpbHRlckRlZmluaXRpb25zKTtcbmNvbnN0IHRhYmxlRGVmYXVsdEF0dHJpYnV0ZXNEZWZpbml0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/LnRhYmxlRGVmYXVsdERlZmluaXRpb25zKTtcbmNvbnN0IHRpbGVBdHRyaWJ1dGVzRGVmaW5pdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy50aWxlRGVmaW5pdGlvbnMpO1xuXG5jb25zdCBtYXBTdHlsZXMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcubWFwU3R5bGVzKTtcbmNvbnN0IGF2YWlsYWJsZUNvbG9ycyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChjb25maWcpID0+IGNvbmZpZy5hdmFpbGFibGVDb2xvcnMpO1xuY29uc3QgcmFuZG9tQ29sb3IgPSBjcmVhdGVTZWxlY3RvcihcbiAgZmVhdHVyZSxcbiAgKGNvbmZpZykgPT4gY29uZmlnLmF2YWlsYWJsZUNvbG9yc1soTWF0aC5yYW5kb20oKSAqIDE0NTcpICUgY29uZmlnLmF2YWlsYWJsZUNvbG9ycy5sZW5ndGhdXG4pO1xuY29uc3QgaGFzT3ZlcmxheSA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChjb25maWcpID0+IGNvbmZpZy5vdmVybGF5TGlzdC5sZW5ndGggPiAwKTtcbmNvbnN0IGJyZWFrcG9pbnQgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcuYnJlYWtwb2ludCk7XG5jb25zdCBjYXRhbG9nID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLmNhdGFsb2cpO1xuY29uc3QgY2hhcnRPcHRpb24gPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcuY2hhcnRPcHRpb24pO1xuY29uc3QgbWF4QXR0cmlidXRlc0luVGlsZXMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcubWF4QXR0cmlidXRlc0luVGlsZXMpO1xuY29uc3Qgc2VsZWN0VmVyc2lvbnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLnZlcnNpb25zKTtcbmNvbnN0IGFjY2Vzc0dyb3VwcyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGUuYWNjZXNzR3JvdXBzKTtcblxuZXhwb3J0IGNvbnN0IENvbmZpZ1NlbGVjdG9ycyA9IHtcbiAgZmVhdHVyZSxcbiAgcHJ5VXJsLFxuICBkYXRhVXJsLFxuICByZWZVcmwsXG4gIHRyYW5zZm9VcmwsXG4gIHdzVXJsLFxuICByZXBsYXlVcmwsXG4gIG1hcFVybCxcbiAgZ2VvU2VydmVyVXJsLFxuICBnZW9jb2RpbmdVcmwsXG4gIGljb25EZWZpbml0aW9ucyxcbiAgdG9vbHRpcERlZmluaXRpb25zLFxuICBmaWx0ZXJEZWZpbml0aW9ucyxcbiAgbWFwU3R5bGVzLFxuICBhdmFpbGFibGVDb2xvcnMsXG4gIHJhbmRvbUNvbG9yLFxuICB0YWJsZURlZmF1bHRBdHRyaWJ1dGVzRGVmaW5pdGlvbnMsXG4gIHRpbGVBdHRyaWJ1dGVzRGVmaW5pdGlvbnMsXG4gIGhhc092ZXJsYXksXG4gIGJyZWFrcG9pbnQsXG4gIGNhdGFsb2csXG4gIGNoYXJ0T3B0aW9uLFxuICBtYXhBdHRyaWJ1dGVzSW5UaWxlcyxcbiAgZXhlY1VybCxcbiAgc2VsZWN0VmVyc2lvbnMsXG4gIGFjY2Vzc0dyb3Vwc1xufTtcbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEUsT0FBTyxLQUFLLFVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9GLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUF5QixVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRixNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakUsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQy9ELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM3RSxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDL0QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0FBQzdE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Y0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDOUYsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFFLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM1RSxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQzNCLE9BQU8sRUFDUCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBZ0MsQ0FBQSxDQUM1RyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE9BQU87SUFDUCxNQUFNO0lBQ04sT0FBTztJQUNQLE1BQU07SUFDTixVQUFVO0lBQ1YsS0FBSztJQUNMLFNBQVM7SUFDVCxNQUFNO0lBQ04sWUFBWTtJQUNaLFlBQVk7SUFDWixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsZUFBZTtJQUNmLFdBQVc7SUFDWCxpQ0FBaUM7SUFDakMseUJBQXlCO0lBQ3pCLFVBQVU7SUFDVixVQUFVO0lBQ1YsT0FBTztJQUNQLFdBQVc7SUFDWCxvQkFBb0I7SUFDcEIsT0FBTztJQUNQLGNBQWM7SUFDZCxZQUFZO0lBQ1osTUFBTTtDQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0ICogYXMgZnJvbUNvbmZpZyBmcm9tICcuL2NvbmZpZy5yZWR1Y2VyJztcbmltcG9ydCB7IERFRkFVTFRfSUNPTl9VUkwsIEljb25EZWZpbml0aW9ucywgSWNvblBvc2l0aW9uIH0gZnJvbSAnLi9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBERUZBVUxUX1NFQVJDSF9MSU1JVF9OVU1CRVIgfSBmcm9tICcuL2NvbmZpZy5hY3Rpb25zJztcblxuY29uc3QgZmVhdHVyZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3Rvcjxmcm9tQ29uZmlnLkNvbmZpZ1N0YXRlPihmcm9tQ29uZmlnLmNvbmZpZ0ZlYXR1cmVLZXkpO1xuXG5jb25zdCBwcnlVcmwgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy5wcnlVcmwpO1xuY29uc3Qgd3NVcmwgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy53c1VybCk7XG5jb25zdCBnZW9TZXJ2ZXJVcmwgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy5nZW9TZXJ2ZXJVcmwpO1xuY29uc3QgZGF0YVVybCA9IGNyZWF0ZVNlbGVjdG9yKHByeVVybCwgKHVybCkgPT4gYCR7dXJsfS9kYXRhYCk7XG5jb25zdCByZWZVcmwgPSBjcmVhdGVTZWxlY3RvcihwcnlVcmwsICh1cmwpID0+IGAke3VybH0vcmVmYCk7XG5jb25zdCB0cmFuc2ZvVXJsID0gY3JlYXRlU2VsZWN0b3IocHJ5VXJsLCAodXJsKSA9PiBgJHt1cmx9L3RyYW5zZm9gKTtcbmNvbnN0IGdlb2NvZGluZ1VybCA9IGNyZWF0ZVNlbGVjdG9yKHByeVVybCwgKHVybCkgPT4gYCR7dXJsfS9nZW9jb2RpbmdgKTtcbmNvbnN0IHJlcGxheVVybCA9IGNyZWF0ZVNlbGVjdG9yKHByeVVybCwgKHVybCkgPT4gYCR7dXJsfS9yZXBsYXlgKTtcbmNvbnN0IG1hcFVybCA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChzdGF0ZSkgPT4gc3RhdGU/Lm1hcFVybCk7XG5jb25zdCBleGVjVXJsID0gY3JlYXRlU2VsZWN0b3IocHJ5VXJsLCAodXJsKSA9PiBgJHt1cmx9L2V4ZWNgKTtcblxuY29uc3QgYWRkRGVmYXVsdFJ1bGVJZk5vdFByZXNlbnQgPSAoZGVmczogSWNvbkRlZmluaXRpb25zKSA9PiB7XG4gIGNvbnN0IG5ld0RlZnMgPSB7fSBhcyBJY29uRGVmaW5pdGlvbnM7XG4gIGZvciAobGV0IGNsYXNzZSBpbiBkZWZzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRSdWxlcyA9IGRlZnNbY2xhc3NlXSA/PyBbeyBpY29uVXJsOiBERUZBVUxUX0lDT05fVVJMLCBpY29uU2l6ZTogWzI1LCAyNV0gfV07XG4gICAgICBuZXdEZWZzW2NsYXNzZV0gPSBbLi4uY3VycmVudFJ1bGVzXTtcbiAgICAgIGlmICghY3VycmVudFJ1bGVzLmZpbmQoKHJ1bGUpID0+ICEhcnVsZS5pc0RlZmF1bHQpKSB7XG4gICAgICAgIGNvbnN0IHByZWNhbGN1bGF0ZURlZmF1bHRSdWxlID0gY3VycmVudFJ1bGVzLmZpbmQoKGRlZikgPT4gZGVmLnBvc2l0aW9uID09PSBJY29uUG9zaXRpb24uRlVMTCB8fCAhZGVmLnBvc2l0aW9uKTtcbiAgICAgICAgbmV3RGVmc1tjbGFzc2VdLnB1c2goe1xuICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICBpY29uVXJsOiBwcmVjYWxjdWxhdGVEZWZhdWx0UnVsZT8uaWNvblVybCA/PyBERUZBVUxUX0lDT05fVVJMLFxuICAgICAgICAgIGljb25TaXplOiBbMjUsIDI1XVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBJY29ucyBkZWZpbml0aW9ucyBpcyB3cm9uZyBmb3IgY2xhc3MgJHtjbGFzc2V9YCwgZGVmc1tjbGFzc2VdLCBlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ld0RlZnM7XG59O1xuXG5jb25zdCBpY29uRGVmaW5pdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZmVhdHVyZSxcbiAgKGNvbmZpZykgPT5cbiAgICAoKHtcbiAgICAgIGRlZmF1bHQ6IFt7IGljb25Vcmw6IERFRkFVTFRfSUNPTl9VUkwsIGljb25TaXplOiBbMjUsIDI1XSB9XSxcbiAgICAgIC4uLmFkZERlZmF1bHRSdWxlSWZOb3RQcmVzZW50KGNvbmZpZy5pY29uRGVmaW5pdGlvbnMpXG4gICAgfSA/PyB7fSkgYXMgSWNvbkRlZmluaXRpb25zKVxuKTtcblxuY29uc3QgdG9vbHRpcERlZmluaXRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLnRvb2x0aXBEZWZpbml0aW9ucyk7XG5jb25zdCBmaWx0ZXJEZWZpbml0aW9ucyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChjb25maWcpID0+IGNvbmZpZy5maWx0ZXJEZWZpbml0aW9ucyk7XG5jb25zdCB0YWJsZURlZmF1bHRBdHRyaWJ1dGVzRGVmaW5pdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlPy50YWJsZURlZmF1bHREZWZpbml0aW9ucyk7XG5jb25zdCB0aWxlQXR0cmlidXRlc0RlZmluaXRpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZT8udGlsZURlZmluaXRpb25zKTtcblxuY29uc3QgbWFwU3R5bGVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLm1hcFN0eWxlcyk7XG5jb25zdCBhdmFpbGFibGVDb2xvcnMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcuYXZhaWxhYmxlQ29sb3JzKTtcbmNvbnN0IHJhbmRvbUNvbG9yID0gY3JlYXRlU2VsZWN0b3IoXG4gIGZlYXR1cmUsXG4gIChjb25maWcpID0+IGNvbmZpZy5hdmFpbGFibGVDb2xvcnNbKE1hdGgucmFuZG9tKCkgKiAxNDU3KSAlIGNvbmZpZy5hdmFpbGFibGVDb2xvcnMubGVuZ3RoXVxuKTtcbmNvbnN0IGhhc092ZXJsYXkgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoY29uZmlnKSA9PiBjb25maWcub3ZlcmxheUxpc3QubGVuZ3RoID4gMCk7XG5jb25zdCBicmVha3BvaW50ID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLmJyZWFrcG9pbnQpO1xuY29uc3QgY2F0YWxvZyA9IGNyZWF0ZVNlbGVjdG9yKGZlYXR1cmUsIChjb25maWcpID0+IGNvbmZpZy5jYXRhbG9nKTtcbmNvbnN0IGNoYXJ0T3B0aW9uID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLmNoYXJ0T3B0aW9uKTtcbmNvbnN0IG1heEF0dHJpYnV0ZXNJblRpbGVzID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKGNvbmZpZykgPT4gY29uZmlnLm1heEF0dHJpYnV0ZXNJblRpbGVzKTtcbmNvbnN0IHNlbGVjdFZlcnNpb25zID0gY3JlYXRlU2VsZWN0b3IoZmVhdHVyZSwgKHN0YXRlKSA9PiBzdGF0ZS52ZXJzaW9ucyk7XG5jb25zdCBhY2Nlc3NHcm91cHMgPSBjcmVhdGVTZWxlY3RvcihmZWF0dXJlLCAoc3RhdGUpID0+IHN0YXRlLmFjY2Vzc0dyb3Vwcyk7XG5jb25zdCBsaW1pdHMgPSBjcmVhdGVTZWxlY3RvcihcbiAgZmVhdHVyZSxcbiAgKHN0YXRlKSA9PiAoeyBkZWZhdWx0OiBERUZBVUxUX1NFQVJDSF9MSU1JVF9OVU1CRVIsIC4uLihzdGF0ZS5saW1pdHMgPz8ge30pIH0gYXMgeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBDb25maWdTZWxlY3RvcnMgPSB7XG4gIGZlYXR1cmUsXG4gIHByeVVybCxcbiAgZGF0YVVybCxcbiAgcmVmVXJsLFxuICB0cmFuc2ZvVXJsLFxuICB3c1VybCxcbiAgcmVwbGF5VXJsLFxuICBtYXBVcmwsXG4gIGdlb1NlcnZlclVybCxcbiAgZ2VvY29kaW5nVXJsLFxuICBpY29uRGVmaW5pdGlvbnMsXG4gIHRvb2x0aXBEZWZpbml0aW9ucyxcbiAgZmlsdGVyRGVmaW5pdGlvbnMsXG4gIG1hcFN0eWxlcyxcbiAgYXZhaWxhYmxlQ29sb3JzLFxuICByYW5kb21Db2xvcixcbiAgdGFibGVEZWZhdWx0QXR0cmlidXRlc0RlZmluaXRpb25zLFxuICB0aWxlQXR0cmlidXRlc0RlZmluaXRpb25zLFxuICBoYXNPdmVybGF5LFxuICBicmVha3BvaW50LFxuICBjYXRhbG9nLFxuICBjaGFydE9wdGlvbixcbiAgbWF4QXR0cmlidXRlc0luVGlsZXMsXG4gIGV4ZWNVcmwsXG4gIHNlbGVjdFZlcnNpb25zLFxuICBhY2Nlc3NHcm91cHMsXG4gIGxpbWl0c1xufTtcbiJdfQ==
@@ -28,10 +28,10 @@ export class ImageService {
28
28
  type: image.type
29
29
  }))));
30
30
  }
31
- getImage(path) {
31
+ getImage(path, externalUrl = false) {
32
32
  return this.store.select(ConfigSelectors.dataUrl).pipe(mergeMap((url) => {
33
33
  return this.httpClient
34
- .get(encodeURI(`${url}/file/icons/${path}`), {
34
+ .get(encodeURI(externalUrl ? path : `${url}/file/icons/${path}`), {
35
35
  observe: 'response',
36
36
  responseType: 'blob'
37
37
  })
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
69
69
  providedIn: 'root'
70
70
  }]
71
71
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }, { type: i3.DomSanitizer }, { type: i4.PrySnackbarService }, { type: i5.PryI18nService }]; } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRzdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFdBQVcsQ0FBQztBQUUxRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUE2QixDQUFBO0lBQzdCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUpoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBVSxTQUFTLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFDL0UsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDYixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLEtBQUssRUFBRSxHQUFHLDhCQUE4QixHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDeEQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQyxDQUNKLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVTtpQkFDbkIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FBQztpQkFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2YsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFXLENBQUM7Z0JBQzlELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN4RCxPQUFPO3dCQUNMLElBQUksRUFBRSxNQUFNO3dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQVksQ0FBQyxDQUFDO3FCQUMxRixDQUFDO2lCQUNIO2dCQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFTLEVBQUUsU0FBaUIsRUFBRSxJQUFZO1FBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNwRCxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLFFBQVEsQ0FBQyxNQUFNLENBQ2IsTUFBTSxFQUNOLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3ZDLElBQUksRUFBRSxTQUFTO2dCQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBUyxHQUFHLEdBQUcsYUFBYSxFQUFFLFFBQVEsRUFBRTtnQkFDakUsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDN0QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBOURVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuL2ltYWdlLmFjdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYID0gJ2ludGVybmFsOic7XG5cbmV4cG9ydCBlbnVtIExpYnJhcnlUeXBlcyB7XG4gIElMTFVTVFJBVElPTiA9ICdpbGx1c3RyYXRpb24nLFxuICBJQ09OID0gJ2ljb24nXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldEltYWdlcygpOiBPYnNlcnZhYmxlPEltYWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEltYWdlW10+KGVuY29kZVVSSShgJHt1cmx9L2ZpbGUvaWNvbnNgKSkpLFxuICAgICAgbWFwKChpbWFnZXMpID0+XG4gICAgICAgIGltYWdlcy5tYXAoKGltYWdlKSA9PiAoe1xuICAgICAgICAgIGltYWdlOiBgJHtJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVh9JHtpbWFnZS5pbWFnZX1gLFxuICAgICAgICAgIHR5cGU6IGltYWdlLnR5cGVcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEltYWdlKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHVybDogU2FmZVVybCB9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldChlbmNvZGVVUkkoYCR7dXJsfS9maWxlL2ljb25zLyR7cGF0aH1gKSwge1xuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgaWYgKGhlYWRlci5pbmNsdWRlcygndmlkZW8nKSB8fCBoZWFkZXIuaW5jbHVkZXMoJ2ltYWdlJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdHlwZTogaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UuYm9keSBhcyBCbG9iKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IHsgdHlwZTogJ3Vua25vd24nLCBlcnJvcjogJ3Vua25vd24gZG9jIHR5cGUnIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGxvYWQoZmlsZTogYW55LCBtZWRpYVR5cGU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZScsIHR5cGUpO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgICdmaWxlJyxcbiAgICAgICAgICBuZXcgRmlsZShbZmlsZV0sIERhdGUubm93KCkgKyBmaWxlLm5hbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IG1lZGlhVHlwZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZDogRGF0ZS5ub3coKVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3VybH0vZmlsZS9pY29uc2AsIGZvcm1EYXRhLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0ZpbGUtQ29udGVudC1UeXBlJzogbWVkaWFUeXBlIH0pXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBRzdELE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFdBQVcsQ0FBQztBQUUxRCxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUE2QixDQUFBO0lBQzdCLDZCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFLRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCLEVBQ2pCLFlBQTBCLEVBQzFCLFFBQTRCLEVBQzVCLGdCQUFnQztRQUpoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtJQUN2QyxDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDcEQsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcs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dCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5U25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmltcG9ydCB7IFByeUkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuL2ltYWdlLmFjdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYID0gJ2ludGVybmFsOic7XG5cbmV4cG9ydCBlbnVtIExpYnJhcnlUeXBlcyB7XG4gIElMTFVTVFJBVElPTiA9ICdpbGx1c3RyYXRpb24nLFxuICBJQ09OID0gJ2ljb24nXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogUHJ5U25hY2tiYXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2VcbiAgKSB7fVxuXG4gIGdldEltYWdlcygpOiBPYnNlcnZhYmxlPEltYWdlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmRhdGFVcmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZ2V0PEltYWdlW10+KGVuY29kZVVSSShgJHt1cmx9L2ZpbGUvaWNvbnNgKSkpLFxuICAgICAgbWFwKChpbWFnZXMpID0+XG4gICAgICAgIGltYWdlcy5tYXAoKGltYWdlKSA9PiAoe1xuICAgICAgICAgIGltYWdlOiBgJHtJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVh9JHtpbWFnZS5pbWFnZX1gLFxuICAgICAgICAgIHR5cGU6IGltYWdlLnR5cGVcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEltYWdlKHBhdGg6IHN0cmluZywgZXh0ZXJuYWxVcmwgPSBmYWxzZSk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHVybDogU2FmZVVybCB9PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAgICAgLmdldChlbmNvZGVVUkkoZXh0ZXJuYWxVcmwgPyBwYXRoIDogYCR7dXJsfS9maWxlL2ljb25zLyR7cGF0aH1gKSwge1xuICAgICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgaWYgKGhlYWRlci5pbmNsdWRlcygndmlkZW8nKSB8fCBoZWFkZXIuaW5jbHVkZXMoJ2ltYWdlJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdHlwZTogaGVhZGVyLFxuICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFVSTC5jcmVhdGVPYmplY3RVUkwocmVzcG9uc2UuYm9keSBhcyBCbG9iKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRocm93IHsgdHlwZTogJ3Vua25vd24nLCBlcnJvcjogJ3Vua25vd24gZG9jIHR5cGUnIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGxvYWQoZmlsZTogYW55LCBtZWRpYVR5cGU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZScsIHR5cGUpO1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgICdmaWxlJyxcbiAgICAgICAgICBuZXcgRmlsZShbZmlsZV0sIERhdGUubm93KCkgKyBmaWxlLm5hbWUsIHtcbiAgICAgICAgICAgIHR5cGU6IG1lZGlhVHlwZSxcbiAgICAgICAgICAgIGxhc3RNb2RpZmllZDogRGF0ZS5ub3coKVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmc+KGAke3VybH0vZmlsZS9pY29uc2AsIGZvcm1EYXRhLCB7XG4gICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0ZpbGUtQ29udGVudC1UeXBlJzogbWVkaWFUeXBlIH0pXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -13,9 +13,13 @@ export class SearchService {
13
13
  this.store = store;
14
14
  this.transformations = [];
15
15
  this.filters = {};
16
+ this.limits = {};
16
17
  store.select(DashboardSelectors.datasourceFilters).subscribe((filters) => {
17
18
  this.filters = filters;
18
19
  });
20
+ store.select(ConfigSelectors.limits).subscribe((limits) => {
21
+ this.limits = limits;
22
+ });
19
23
  }
20
24
  getItems(id, quickOrder, excludeGeo) {
21
25
  const params = this.getItemsFilter(id, this.getOrder(quickOrder)).append('excludeGeo', excludeGeo ?? false);
@@ -28,7 +32,7 @@ export class SearchService {
28
32
  getItemsSerializedParams(id, quickOrder = {}) {
29
33
  return '|' + this.getItemsFilter(id, this.getOrder(quickOrder[id])).toString() + '|';
30
34
  }
31
- getItemsFilter(id, cumulative) {
35
+ getItemsFilter(id, cumulative, includeLimit = true) {
32
36
  let params = cumulative ?? new HttpParams();
33
37
  if (this.filters[id]) {
34
38
  this.filters[id]
@@ -37,6 +41,10 @@ export class SearchService {
37
41
  params = params.append('filter', `${filter.attribute},${filter.operator},${filter.value}`);
38
42
  });
39
43
  }
44
+ if (includeLimit) {
45
+ const limit = this.limits[id] ?? this.limits['default'];
46
+ params = params.append('limit', limit);
47
+ }
40
48
  return params;
41
49
  }
42
50
  getOrder(quickOrder, cumulative) {
@@ -53,12 +61,14 @@ export class SearchService {
53
61
  search(condition) {
54
62
  return combineLatest([
55
63
  this.store.select(ConfigSelectors.dataUrl),
56
- this.store.select(DashboardSelectors.quickOrder)
57
- ]).pipe(mergeMap(([url, quickOrder]) => {
64
+ this.store.select(DashboardSelectors.quickOrder),
65
+ this.store.select(ConfigSelectors.limits)
66
+ ]).pipe(mergeMap(([url, quickOrder, limits]) => {
58
67
  const params = {};
59
68
  if (quickOrder[DEFAULT_NAMED_QUERY_ID]) {
60
69
  params['order'] = `${quickOrder[DEFAULT_NAMED_QUERY_ID]?.attribute},${quickOrder[DEFAULT_NAMED_QUERY_ID]?.asc ?? ''}`;
61
70
  }
71
+ condition.limit = limits[DEFAULT_NAMED_QUERY_ID] ?? limits['default'];
62
72
  return this.httpClient.post(encodeURI(`${url}/items/search`), condition, { params });
63
73
  }), map((rs) => this.applyTransformations(DEFAULT_NAMED_QUERY_ID, rs)));
64
74
  }
@@ -95,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
95
105
  providedIn: 'root'
96
106
  }]
97
107
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Store }]; } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSDNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUd0RCxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQVUsRUFBRSxVQUF3QixFQUFFLFVBQW9CO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFR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WUFDdEUsVUFBVSxFQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRyxLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUs7U0FDTixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0E5R1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9kYXNoYm9hcmQvc3RvcmUvZGFzaGJvYXJkLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBGaWx0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRPcmRlciB9IGZyb20gJy4uLy4uL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0IH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tb25vLWNsYXNzLm1vZGVsJztcbmltcG9ydCB7IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbC9zZWFyY2gtbXVsdGktY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgQ29uZmlnU3RhdGUgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnJlZHVjZXInO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9OQU1FRF9RVUVSWV9JRCB9IGZyb20gJy4vc2VhcmNoLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTZWFyY2hTdGF0ZSB9IGZyb20gJy4vc2VhcmNoLnJlZHVjZXInO1xuXG5leHBvcnQgdHlwZSBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbiA9IChpZDogc3RyaW5nLCByZXN1bHQ6IFJlc3VsdFNldCkgPT4gUmVzdWx0U2V0O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlIHtcbiAgdHJhbnNmb3JtYXRpb25zOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbltdID0gW107XG4gIGZpbHRlcnM6IHsgW2RhdGFzb3VyY2U6IHN0cmluZ106IEZpbHRlckNvbnRleHRbXSB9ID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBwcml2YXRlIHN0b3JlOiBTdG9yZTxDb25maWdTdGF0ZSB8IFNlYXJjaFN0YXRlPikge1xuICAgIHN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGF0YXNvdXJjZUZpbHRlcnMpLnN1YnNjcmliZSgoZmlsdGVycykgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJzID0gZmlsdGVycztcbiAgICB9KTtcbiAgfVxuXG4gIGdldEl0ZW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI/OiBSZXN1bHRPcmRlciwgZXhjbHVkZUdlbz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpLmFwcGVuZCgnZXhjbHVkZUdlbycsIGV4Y2x1ZGVHZW8gPz8gZmFsc2UpO1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgY29uc29sZS53YXJuKCdOb3Qgc2VuZGluZyBpdGVtcyByZXF1ZXN0IHdpdGggbm8gZGF0YXNvdXJjZSBhdHRhY2hlZC4nKTtcbiAgICAgIHJldHVybiBvZih7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9IGFzIFJlc3VsdFNldCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGEtc291cmNlcy9pZC8ke2lkfS9pdGVtc2ApLCB7IHBhcmFtcyB9KSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKCdjdXJyZW50JywgcnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRJdGVtc1NlcmlhbGl6ZWRQYXJhbXMoaWQ6IHN0cmluZywgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd8JyArIHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcltpZF0pKS50b1N0cmluZygpICsgJ3wnO1xuICB9XG5cbiAgZ2V0SXRlbXNGaWx0ZXIoaWQ6IHN0cmluZywgY3VtdWxhdGl2ZT86IEh0dHBQYXJhbXMpOiBIdHRwUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zID0gY3VtdWxhdGl2ZSA/PyBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0aGlzLmZpbHRlcnNbaWRdKSB7XG4gICAgICB0aGlzLmZpbHRlcnNbaWRdXG4gICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLnZhbHVlICE9PSBudWxsICYmIGZpbHRlci52YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7ZmlsdGVyLnZhbHVlfWApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIGdldE9yZGVyKHF1aWNrT3JkZXI6IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkLCBjdW11bGF0aXZlPzogSHR0cFBhcmFtcyk6IEh0dHBQYXJhbXMge1xuICAgIGxldCBwYXJhbXMgPSBjdW11bGF0aXZlID8/IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHF1aWNrT3JkZXIpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ29yZGVyJywgYCR7cXVpY2tPcmRlci5hdHRyaWJ1dGV9LCR7cXVpY2tPcmRlci5hc2MgPz8gJyd9YCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICAvKipcbiAgICogTGF1bmNoIGEgc2VhcmNoIHJlcXVlc3QgKGFuZCBzYXZlcyBpdCBhcyBjdXJyZW50IHNlYXJjaClcbiAgICogQHBhcmFtIGNvbmRpdGlvblxuICAgKi9cbiAgc2VhcmNoKGNvbmRpdGlvbjogTW9ub0NsYXNzU2VhcmNoUGF5bG9hZCB8IE11bHRpQ2xhc3NTZWFyY2hQYXlsb2FkIHwgRnVsbFRleHRTZWFyY2hQYXlsb2FkKTogT2JzZXJ2YWJsZTxSZXN1bHRTZXQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucXVpY2tPcmRlcilcbiAgICBdKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKFt1cmwsIHF1aWNrT3JkZXJdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIGlmIChxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdKSB7XG4gICAgICAgICAgcGFyYW1zWydvcmRlciddID0gYCR7cXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXR0cmlidXRlfSwke1xuICAgICAgICAgICAgcXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXNjID8/ICcnXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFJlc3VsdFNldD4oZW5jb2RlVVJJKGAke3VybH0vaXRlbXMvc2VhcmNoYCksIGNvbmRpdGlvbiwgeyBwYXJhbXMgfSk7XG4gICAgICB9KSxcbiAgICAgIG1hcCgocnMpID0+IHRoaXMuYXBwbHlUcmFuc2Zvcm1hdGlvbnMoREVGQVVMVF9OQU1FRF9RVUVSWV9JRCwgcnMpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRvIGFkZCBhIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHdoZW4gZ2V0dGluZyByZXN1bHRzIGZyb20gYmFja2VuZFxuICAgKiBAcGFyYW0gZnVuY1xuICAgKi9cbiAgYWRkVHJhbnNmb3JtYXRpb24oZnVuYzogUmVzdWx0c2V0VHJhbnNmb3JtYXRpb24pIHtcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9ucy5wdXNoKGZ1bmMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGFsbCB0cmFuc2Zvcm1hdGlvbiBmdW5jdGlvbnNcbiAgICogQHBhcmFtIGlkXG4gICAqIEBwYXJhbSByc1xuICAgKi9cbiAgYXBwbHlUcmFuc2Zvcm1hdGlvbnMoaWQ6IHN0cmluZywgcnM6IFJlc3VsdFNldCkge1xuICAgIGxldCB0cmFuc2Zvcm1lZCA9IHJzO1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLmZvckVhY2goKGZ1bmMpID0+ICh0cmFuc2Zvcm1lZCA9IGZ1bmMoaWQsIHRyYW5zZm9ybWVkKSkpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1lZDtcbiAgfVxuXG4gIGF1dG9jb21wbGV0ZShcbiAgICBhdHRyaWJ1dGVzOlxuICAgICAgfCB7XG4gICAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgICB0ZWNobmljYWxOYW1lOiBzdHJpbmc7XG4gICAgICAgICAgbGFiZWw6IHN0cmluZztcbiAgICAgICAgICBkYXRhc291cmNlOiBzdHJpbmc7XG4gICAgICAgIH1bXVxuICAgICAgfCB1bmRlZmluZWQsXG4gICAgc2VhcmNoOiBzdHJpbmcgPSAnJyxcbiAgICBsaW1pdCA9IDEwXG4gICkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuZGF0YVVybCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgodXJsKSA9PlxuICAgICAgICB0aGlzLmh0dHBDbGllbnQucG9zdDxzdHJpbmdbXT4oZW5jb2RlVVJJKGAke3VybH0vZGF0YS1zb3VyY2VzL3ZhbHVlc2ApLCB7XG4gICAgICAgICAgYXR0cmlidXRlczogKGF0dHJpYnV0ZXMgPz8gW10pLm1hcCgoYXR0cikgPT4gKHsgZGF0YXNvdXJjZTogYXR0ci5kYXRhc291cmNlLCBhdHRyaWJ1dGU6IGF0dHIuaWQgfSkpLFxuICAgICAgICAgIHZhbHVlOiBzZWFyY2gsXG4gICAgICAgICAgbGltaXRcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zdG9yZS9zZWFyY2gvc2VhcmNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFPbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBUTVELE1BQU0sT0FBTyxhQUFhO0lBS3hCLFlBQW9CLFVBQXNCLEVBQVUsS0FBdUM7UUFBdkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWtDO1FBSjNGLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQThDLEVBQUUsQ0FBQztRQUN4RCxXQUFNLEdBQTRCLEVBQUUsQ0FBQztRQUduQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN4RCxJQUFJ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Q0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxFQUFVLEVBQUUsRUFBYTtRQUM1QyxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZLENBQ1YsVUFPYSxFQUNiLFNBQWlCLEVBQUUsRUFDbkIsS0FBSyxHQUFHLEVBQUU7UUFFVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFXLFNBQVMsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCLENBQUMsRUFBRTtZQUN0RSxVQUFVLEVBQUUsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLEtBQUssRUFBRSxNQUFNO1lBQ2IsS0FBSztTQUNOLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDOytHQXhIVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEZpbHRlckNvbnRleHQgfSBmcm9tICcuLi8uLi9tb2RlbC9maWx0ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdE9yZGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmVzdWx0LW9yZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXN1bHRTZXQgfSBmcm9tICcuLi8uLi9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLW1vbm8tY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgRnVsbFRleHRTZWFyY2hQYXlsb2FkLCBNdWx0aUNsYXNzU2VhcmNoUGF5bG9hZCB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1tdWx0aS1jbGFzcy5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdTdGF0ZSB9IGZyb20gJy4uL2NvbmZpZy9jb25maWcucmVkdWNlcic7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX05BTUVEX1FVRVJZX0lEIH0gZnJvbSAnLi9zZWFyY2guY29uc3RhbnRzJztcbmltcG9ydCB7IFNlYXJjaFN0YXRlIH0gZnJvbSAnLi9zZWFyY2gucmVkdWNlcic7XG5cbmV4cG9ydCB0eXBlIFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uID0gKGlkOiBzdHJpbmcsIHJlc3VsdDogUmVzdWx0U2V0KSA9PiBSZXN1bHRTZXQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFNlcnZpY2Uge1xuICB0cmFuc2Zvcm1hdGlvbnM6IFJlc3VsdHNldFRyYW5zZm9ybWF0aW9uW10gPSBbXTtcbiAgZmlsdGVyczogeyBbZGF0YXNvdXJjZTogc3RyaW5nXTogRmlsdGVyQ29udGV4dFtdIH0gPSB7fTtcbiAgbGltaXRzOiB7IFtwOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8Q29uZmlnU3RhdGUgfCBTZWFyY2hTdGF0ZT4pIHtcbiAgICBzdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmRhdGFzb3VyY2VGaWx0ZXJzKS5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVycyA9IGZpbHRlcnM7XG4gICAgfSk7XG4gICAgc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpLnN1YnNjcmliZSgobGltaXRzKSA9PiB7XG4gICAgICB0aGlzLmxpbWl0cyA9IGxpbWl0cztcbiAgICB9KTtcbiAgfVxuXG4gIGdldEl0ZW1zKGlkOiBzdHJpbmcsIHF1aWNrT3JkZXI/OiBSZXN1bHRPcmRlciwgZXhjbHVkZUdlbz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcikpLmFwcGVuZCgnZXhjbHVkZUdlbycsIGV4Y2x1ZGVHZW8gPz8gZmFsc2UpO1xuXG4gICAgaWYgKCFpZCkge1xuICAgICAgY29uc29sZS53YXJuKCdOb3Qgc2VuZGluZyBpdGVtcyByZXF1ZXN0IHdpdGggbm8gZGF0YXNvdXJjZSBhdHRhY2hlZC4nKTtcbiAgICAgIHJldHVybiBvZih7IGl0ZW1zOiB7fSwgcmVsYXRpb25zOiBbXSB9IGFzIFJlc3VsdFNldCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LmdldDxSZXN1bHRTZXQ+KGVuY29kZVVSSShgJHt1cmx9L2RhdGEtc291cmNlcy9pZC8ke2lkfS9pdGVtc2ApLCB7IHBhcmFtcyB9KSksXG4gICAgICBtYXAoKHJzKSA9PiB0aGlzLmFwcGx5VHJhbnNmb3JtYXRpb25zKCdjdXJyZW50JywgcnMpKVxuICAgICk7XG4gIH1cblxuICBnZXRJdGVtc1NlcmlhbGl6ZWRQYXJhbXMoaWQ6IHN0cmluZywgcXVpY2tPcmRlcjogeyBbaWQ6IHN0cmluZ106IFJlc3VsdE9yZGVyIHwgdW5kZWZpbmVkIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd8JyArIHRoaXMuZ2V0SXRlbXNGaWx0ZXIoaWQsIHRoaXMuZ2V0T3JkZXIocXVpY2tPcmRlcltpZF0pKS50b1N0cmluZygpICsgJ3wnO1xuICB9XG5cbiAgZ2V0SXRlbXNGaWx0ZXIoaWQ6IHN0cmluZywgY3VtdWxhdGl2ZT86IEh0dHBQYXJhbXMsIGluY2x1ZGVMaW1pdCA9IHRydWUpOiBIdHRwUGFyYW1zIHtcbiAgICBsZXQgcGFyYW1zID0gY3VtdWxhdGl2ZSA/PyBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmICh0aGlzLmZpbHRlcnNbaWRdKSB7XG4gICAgICB0aGlzLmZpbHRlcnNbaWRdXG4gICAgICAgIC5maWx0ZXIoKGZpbHRlcikgPT4gZmlsdGVyLnZhbHVlICE9PSBudWxsICYmIGZpbHRlci52YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAuZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZmlsdGVyJywgYCR7ZmlsdGVyLmF0dHJpYnV0ZX0sJHtmaWx0ZXIub3BlcmF0b3J9LCR7ZmlsdGVyLnZhbHVlfWApO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKGluY2x1ZGVMaW1pdCkge1xuICAgICAgY29uc3QgbGltaXQgPSB0aGlzLmxpbWl0c1tpZF0gPz8gdGhpcy5saW1pdHNbJ2RlZmF1bHQnXTtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2xpbWl0JywgbGltaXQpO1xuICAgIH1cbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgZ2V0T3JkZXIocXVpY2tPcmRlcjogUmVzdWx0T3JkZXIgfCB1bmRlZmluZWQsIGN1bXVsYXRpdmU/OiBIdHRwUGFyYW1zKTogSHR0cFBhcmFtcyB7XG4gICAgbGV0IHBhcmFtcyA9IGN1bXVsYXRpdmUgPz8gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICBpZiAocXVpY2tPcmRlcikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnb3JkZXInLCBgJHtxdWlja09yZGVyLmF0dHJpYnV0ZX0sJHtxdWlja09yZGVyLmFzYyA/PyAnJ31gKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcmFtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBMYXVuY2ggYSBzZWFyY2ggcmVxdWVzdCAoYW5kIHNhdmVzIGl0IGFzIGN1cnJlbnQgc2VhcmNoKVxuICAgKiBAcGFyYW0gY29uZGl0aW9uXG4gICAqL1xuICBzZWFyY2goY29uZGl0aW9uOiBNb25vQ2xhc3NTZWFyY2hQYXlsb2FkIHwgTXVsdGlDbGFzc1NlYXJjaFBheWxvYWQgfCBGdWxsVGV4dFNlYXJjaFBheWxvYWQpOiBPYnNlcnZhYmxlPFJlc3VsdFNldD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5xdWlja09yZGVyKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5saW1pdHMpXG4gICAgXSkucGlwZShcbiAgICAgIG1lcmdlTWFwKChbdXJsLCBxdWlja09yZGVyLCBsaW1pdHNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgIGlmIChxdWlja09yZGVyW0RFRkFVTFRfTkFNRURfUVVFUllfSURdKSB7XG4gICAgICAgICAgcGFyYW1zWydvcmRlciddID0gYCR7cXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXR0cmlidXRlfSwke1xuICAgICAgICAgICAgcXVpY2tPcmRlcltERUZBVUxUX05BTUVEX1FVRVJZX0lEXT8uYXNjID8/ICcnXG4gICAgICAgICAgfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uZGl0aW9uLmxpbWl0ID0gbGltaXRzW0RFRkFVTFRfTkFNRURfUVVFUllfSURdID8/IGxpbWl0c1snZGVmYXVsdCddO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8UmVzdWx0U2V0PihlbmNvZGVVUkkoYCR7dXJsfS9pdGVtcy9zZWFyY2hgKSwgY29uZGl0aW9uLCB7IHBhcmFtcyB9KTtcbiAgICAgIH0pLFxuICAgICAgbWFwKChycykgPT4gdGhpcy5hcHBseVRyYW5zZm9ybWF0aW9ucyhERUZBVUxUX05BTUVEX1FVRVJZX0lELCBycykpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb24gd2hlbiBnZXR0aW5nIHJlc3VsdHMgZnJvbSBiYWNrZW5kXG4gICAqIEBwYXJhbSBmdW5jXG4gICAqL1xuICBhZGRUcmFuc2Zvcm1hdGlvbihmdW5jOiBSZXN1bHRzZXRUcmFuc2Zvcm1hdGlvbikge1xuICAgIHRoaXMudHJhbnNmb3JtYXRpb25zLnB1c2goZnVuYyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWxsIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uc1xuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIHJzXG4gICAqL1xuICBhcHBseVRyYW5zZm9ybWF0aW9ucyhpZDogc3RyaW5nLCByczogUmVzdWx0U2V0KSB7XG4gICAgbGV0IHRyYW5zZm9ybWVkID0gcnM7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbnMuZm9yRWFjaCgoZnVuYykgPT4gKHRyYW5zZm9ybWVkID0gZnVuYyhpZCwgdHJhbnNmb3JtZWQpKSk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybWVkO1xuICB9XG5cbiAgYXV0b2NvbXBsZXRlKFxuICAgIGF0dHJpYnV0ZXM6XG4gICAgICB8IHtcbiAgICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICAgIHRlY2huaWNhbE5hbWU6IHN0cmluZztcbiAgICAgICAgICBsYWJlbDogc3RyaW5nO1xuICAgICAgICAgIGRhdGFzb3VyY2U6IHN0cmluZztcbiAgICAgICAgfVtdXG4gICAgICB8IHVuZGVmaW5lZCxcbiAgICBzZWFyY2g6IHN0cmluZyA9ICcnLFxuICAgIGxpbWl0ID0gMTBcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5kYXRhVXJsKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh1cmwpID0+XG4gICAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0PHN0cmluZ1tdPihlbmNvZGVVUkkoYCR7dXJsfS9kYXRhLXNvdXJjZXMvdmFsdWVzYCksIHtcbiAgICAgICAgICBhdHRyaWJ1dGVzOiAoYXR0cmlidXRlcyA/PyBbXSkubWFwKChhdHRyKSA9PiAoeyBkYXRhc291cmNlOiBhdHRyLmRhdGFzb3VyY2UsIGF0dHJpYnV0ZTogYXR0ci5pZCB9KSksXG4gICAgICAgICAgdmFsdWU6IHNlYXJjaCxcbiAgICAgICAgICBsaW1pdFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -180,15 +180,12 @@ export class SymbolService {
180
180
  image.onload = () => {
181
181
  resolve(image);
182
182
  };
183
- if (url.startsWith(INTERNALLY_STORED_IMAGE_PREFIX)) {
184
- const regexp = new RegExp('^' + INTERNALLY_STORED_IMAGE_PREFIX);
185
- this.imageService.getImage(url.replace(regexp, '')).subscribe((res) => {
186
- image.src = this.sanitizer.sanitize(SecurityContext.URL, res.url) ?? DEFAULT_ICON_URL;
187
- });
188
- }
189
- else {
190
- image.src = this.sanitizer.sanitize(SecurityContext.URL, url) ?? DEFAULT_ICON_URL;
191
- }
183
+ const regexp = new RegExp('^' + INTERNALLY_STORED_IMAGE_PREFIX);
184
+ this.imageService
185
+ .getImage(url.replace(regexp, ''), !url.startsWith(INTERNALLY_STORED_IMAGE_PREFIX))
186
+ .subscribe((res) => {
187
+ image.src = this.sanitizer.sanitize(SecurityContext.URL, res.url) ?? DEFAULT_ICON_URL;
188
+ });
192
189
  });
193
190
  return this.cache[url];
194
191
  }
@@ -219,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
219
216
  providedIn: 'root'
220
217
  }]
221
218
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.DomSanitizer }, { type: i3.ImageService }]; } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zeW1ib2wvc3ltYm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUdoQixZQUFZLEVBRWIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQWdCLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFDakMsWUFBWSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQWlCbkMsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsS0FBaUIsRUFBVSxTQUF1QixFQUFVLFlBQTBCO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKbEcsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQXlMcEMsVUFBSyxHQUFpRCxFQUFFLENBQUM7UUF0THZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixpREFBaUQ7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsQ0FBQztpQkFDMUY7Z0JBQ0QsSUFDRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDcEY7b0JBQ0EsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ25GLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7b0JBQ3BHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FDOUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFDekIsU0FBUyxDQUNWLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlDQUFpQyxDQUFDLFVBQXlCLEVBQUUsV0FBb0I7UUFDdkYsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3pHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQXlCO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQzthQUMvQyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyx5QkFBeUIsQ0FDL0IsU0FBaUIsRUFDakIsVUFBeUIsRUFDekIsV0FBb0I7UUFFcEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFLLElBQTRDLENBQUM7UUFFckYsSUFBSSxlQUFlLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM1RSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLGlEQUFpRDtZQUNqRCxlQUFlLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvRDtRQUVELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5HLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsYUFBYTtpQkFDVixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztnQkFDbkIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7Z0JBQ3BCLE1BQU0sT0FBTyxHQUFHO29CQUNkLEtBQUssRUFBRSxHQUFHLEdBQUcscUJBQXFCO29CQUNsQyxNQUFNLEVBQUUsR0FBRyxHQUFHLHFCQUFxQjtvQkFDbkMsYUFBYSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztvQkFDaEQsY0FBYyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxxQkFBcUIsQ0FBQztpQkFDbEQsQ0FBQztnQkFFRix1QkFBdUI7Z0JBQ3ZCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29CQUN4QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzFCLFFBQVEsR0FBRyxDQUFDLFFBQVEsRUFBRTt3QkFDcEIsS0FBSyxZQUFZLENBQUMsWUFBWTs0QkFDNUIsR0FBRyxDQUFDLHdCQUF3QixHQUFHLGFBQWEsQ0FBQzs0QkFDN0MsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUNuRyxNQUFNO3dCQUNSLEtBQUssWUFBWSxDQUFDLFdBQVc7NEJBQzNCLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7NEJBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUMvRSxNQUFNO3dCQUNSLEtBQUssWUFBWSxDQUFDLFNBQVM7NEJBQ3pCLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7NEJBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUM5RSxNQUFNO3dCQUNSLEtBQUssWUFBWSxDQUFDLFFBQVE7NEJBQ3hCLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7NEJBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQzFELE1BQU07d0JBQ1IsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO3dCQUN2Qjs0QkFDRSxJQUFJLENBQUMsV0FBVyxFQUFFO2dDQUNoQixxQ0FBcUM7Z0NBQ3JDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7Z0NBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDOzZCQUN0QztpQ0FBTTtnQ0FDTCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQ1YsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtnQ0FDeEYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7Z0NBQzlFLG9EQUFvRDtnQ0FDcEQsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO29DQUM5QixHQUFHLENBQUMsU0FBUyxDQUNYLEtBQUssRUFDTCxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsRUFDbkMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsV0FBVyxFQUN2QyxHQUFHLEVBQ0gsR0FBRyxDQUNKLENBQUM7aUNBQ0g7Z0NBRUQsa0JBQWtCO2dDQUNsQixHQUFHLENBQUMsd0JBQXdCLEdBQUcsV0FBVyxDQUFDO2dDQUMzQyxHQUFHLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztnQ0FDNUIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUVoRCxxQ0FBcUM7Z0NBQ3JDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxhQUFhLENBQUM7Z0NBQzdDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDOzZCQUMxRDtxQkFDSjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFFSCxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVUsRUFBRSxRQUFrQjtRQUN0QywyQ0FBMkM7UUFDM0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzVFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFNUUsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQVUsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUM1QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixNQUFNLEdBQUcsR0FBRyxtQkFBbUIsRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUM7UUFDN0QsSUFBSSxHQUFHLEtBQUssZ0JBQWdCLElBQUksU0FBUyxFQUFFO1lBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN6RSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFLLElBQTRDLENBQUM7Z0JBQ3JGLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUM3QixHQUFHLENBQUMsd0JBQXdCLEdBQUcsYUFBYSxDQUFDO2dCQUM3QyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0RCxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBVSxFQUFFLFFBQWtCO1FBQ2pELE9BQU8sSUFBSSxPQUFPLENBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO2lCQUMzQixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hGLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFaEUsT0FBTyxDQUNMLElBQUksS0FBSyxDQUFDO29CQUNSLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQzt3QkFDZCxHQUFHLEVBQUUsTUFBTTt3QkFDWCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUM7d0JBQ3RDLEtBQUs7cUJBQ04sQ0FBQztpQkFDSCxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxhQUFhLENBQUMsR0FBVztRQUN2QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUNoQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtnQkFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQztZQUNGLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFO2dCQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakIsQ0FBQyxDQUFDO1lBRUYsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLEVBQUU7Z0JBQ2xELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyw4QkFBOEIsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNwRSxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLGdCQUFnQixDQUFDO2dCQUN4RixDQUFDLENBQUMsQ0FBQzthQUNKO2lCQUFNO2dCQUNMLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQzthQUNuRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxTQUFTLENBQUMsSUFBVSxFQUFFLElBQWU7UUFDM0MsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7Z0JBQ3hELGVBQWU7Z0JBQ2YsT0FBUSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQTRCLENBQUMsTUFBTTtxQkFDMUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7cUJBQzFGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxnQkFBZ0I7Z0JBQ2hCLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQTBCLENBQUMsS0FBSyxFQUNuRSxJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7YUFDSDtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQTVPVSxhQUFhO21IQUFiLGFBQWEsY0FGWixNQUFNOzs0RkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEljb24sIFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSwgQXR0cmlidXRlU2ltcGxlVmFsdWUsIEl0ZW0gfSBmcm9tICcuLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zLFxuICBERUZBVUxUX0lDT05fVVJMLFxuICBJY29uRGVmaW5pdGlvbnMsXG4gIEljb25PcHRpb25zLFxuICBJY29uUG9zaXRpb24sXG4gIEljb25SdWxlXG59IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UsIElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCB9IGZyb20gJy4uL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UnO1xuXG5jb25zdCBkZWZhdWx0SW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbmRlZmF1bHRJbWFnZS5zcmMgPSBERUZBVUxUX0lDT05fVVJMO1xuXG5jb25zdCBTVUJfSUNPTl9TSVpFX1BFUkNFTlQgPSAwLjI1O1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ2FjaGUge1xuICBbY2xhc3NJZDogc3RyaW5nXToge1xuICAgIHJ1bGVTaWduYXR1cmU6IHN0cmluZztcbiAgICBpbWFnZXM6IHtcbiAgICAgIFtydWxlc01hdGNoOiBzdHJpbmddOiBQcm9taXNlPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgICB9O1xuICAgIGJvcmRlcmVkSW1hZ2VzOiB7XG4gICAgICBbcnVsZXNNYXRjaDogc3RyaW5nXTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD47XG4gICAgfTtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ltYm9sU2VydmljZSB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEljb25EZWZpbml0aW9ucyA9IHt9O1xuICBwcml2YXRlIGNsYXNzZXM6IENsYXNzW10gPSBbXTtcbiAgcHJpdmF0ZSBpbWFnZUNhY2hlOiBJbWFnZUNhY2hlID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBpbWFnZVNlcnZpY2U6IEltYWdlU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuaWNvbkRlZmluaXRpb25zKS5zdWJzY3JpYmUoKGRlZnMpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSBkZWZzO1xuXG4gICAgICAvLyBGb3IgZWFjaCBjbGFzcywgZ2VuZXJhdGUgYWxsIGljb25zIGZvciBydWxlc2V0XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRlZmluaXRpb25zKS5mb3JFYWNoKChjbGFzc0lkKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdKSB7XG4gICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdID0geyBpbWFnZXM6IHt9LCBib3JkZXJlZEltYWdlczoge30sIHJ1bGVTaWduYXR1cmU6ICctLWluaXQtLScgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXSB8fFxuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5ydWxlU2lnbmF0dXJlICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0ucnVsZVNpZ25hdHVyZSA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0pO1xuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5pbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKTtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0uYm9yZGVyZWRJbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyhcbiAgICAgICAgICAgIHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0sXG4gICAgICAgICAgICAnIzhjZDU2MCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGxSdWxlc0NvbWJpbmFpc29uSW1hZ2VzKGRlZmluaXRpb246IEljb25PcHRpb25zW10sIGJvcmRlckNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlUnVsZU1hdGNoZXMoZGVmaW5pdGlvbilcbiAgICAgIC5tYXAoKHJ1bGVNYXRjaCkgPT4gKHsgW3J1bGVNYXRjaF06IHRoaXMuZ2VuZXJhdGVJbWFnZUZvclJ1bGVNYXRjaChydWxlTWF0Y2gsIGRlZmluaXRpb24sIGJvcmRlckNvbG9yKSB9KSlcbiAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIC4uLmMgfSksIHt9KTtcbiAgfVxuXG4gIHJlY3Vyc2l2ZVJ1bGVNYXRjaGVzKGRlZmluaXRpb246IEljb25PcHRpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgW3J1bGUsIC4uLm90aGVyUnVsZXNdID0gZGVmaW5pdGlvbjtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiBbJyddO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZWN1cnNpdmVSdWxlTWF0Y2hlcyhvdGhlclJ1bGVzKVxuICAgICAgLm1hcCgocnVsZTogc3RyaW5nKSA9PiBbJzAnICsgcnVsZSwgJzEnICsgcnVsZV0pXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUltYWdlRm9yUnVsZU1hdGNoKFxuICAgIHJ1bGVNYXRjaDogc3RyaW5nLFxuICAgIGRlZmluaXRpb246IEljb25PcHRpb25zW10sXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD4ge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpID8/IChudWxsIGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcblxuICAgIGxldCBhcHBsaWNhYmxlUnVsZXMgPSBkZWZpbml0aW9uLmZpbHRlcigoXywgaWR4KSA9PiBydWxlTWF0Y2hbaWR4XSA9PT0gJzEnKTtcbiAgICBpZiAoYXBwbGljYWJsZVJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gSWYgbm8gcnVsZSBtYXRjaCwgdGhlbiBhcHBseSBkZWZhdWx0IHJ1bGUgb25seVxuICAgICAgYXBwbGljYWJsZVJ1bGVzID0gZGVmaW5pdGlvbi5maWx0ZXIoKGRlZikgPT4gISFkZWYuaXNEZWZhdWx0KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlSW1hZ2VzID0gUHJvbWlzZS5hbGwoYXBwbGljYWJsZVJ1bGVzLm1hcCgocnVsZSkgPT4gdGhpcy5kb3dubG9hZEltYWdlKHJ1bGUuaWNvblVybCkpKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBwcm9taXNlSW1hZ2VzXG4gICAgICAgIC50aGVuKChpbWFnZXMpID0+IHtcbiAgICAgICAgICBjYW52YXMud2lkdGggPSA2MDA7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IDYwMDtcbiAgICAgICAgICBjb25zdCBzdWJTaXplID0ge1xuICAgICAgICAgICAgd2lkdGg6IDYwMCAqIFNVQl9JQ09OX1NJWkVfUEVSQ0VOVCxcbiAgICAgICAgICAgIGhlaWdodDogNjAwICogU1VCX0lDT05fU0laRV9QRVJDRU5ULFxuICAgICAgICAgICAgb2Zmc2V0VG9SaWdodDogNjAwICogKDEgLSBTVUJfSUNPTl9TSVpFX1BFUkNFTlQpLFxuICAgICAgICAgICAgb2Zmc2V0VG9Cb3R0b206IDYwMCAqICgxIC0gU1VCX0lDT05fU0laRV9QRVJDRU5UKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUaGVuIGRyYXcgZXZlcnl0aGluZ1xuICAgICAgICAgIGFwcGxpY2FibGVSdWxlcy5mb3JFYWNoKChkZWYsIGlkeCwgYXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IGltYWdlc1tpZHhdO1xuICAgICAgICAgICAgc3dpdGNoIChkZWYucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIHN1YlNpemUub2Zmc2V0VG9SaWdodCwgc3ViU2l6ZS5vZmZzZXRUb0JvdHRvbSwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5CT1RUT01fTEVGVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCAwLCBzdWJTaXplLm9mZnNldFRvQm90dG9tLCBzdWJTaXplLndpZHRoLCBzdWJTaXplLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgSWNvblBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCBzdWJTaXplLm9mZnNldFRvUmlnaHQsIDAsIHN1YlNpemUud2lkdGgsIHN1YlNpemUuaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5GVUxMOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICghYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgNjAwLCA2MDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkQXJyID0gWy0xLCAtMSwgMCwgLTEsIDEsIC0xLCAtMSwgMCwgMSwgMCwgLTEsIDEsIDAsIDEsIDEsIDFdOyAvLyBmaW5hbCB5IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IE1hdGgucm91bmQoNjAwICogMC4wNSk7IC8vIGJvcmRlciB3aWR0aDogNSUgb2YgaW1hZ2Ugd2lkdGhcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgaW1hZ2VzIGF0IG9mZnNldHMgZnJvbSB0aGUgYXJyYXkgc2NhbGVkIGJ5IHNcbiAgICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgZEFyci5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpXSAqIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpICsgMV0gKiBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICA2MDAsXG4gICAgICAgICAgICAgICAgICAgICAgNjAwXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGJvcmRlckNvbG9yO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgc3Ryb2tlV2lkdGgsIHN0cm9rZVdpZHRoLCA2MDAsIDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmVzb2x2ZShjYW52YXMpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycikgPT4gcmVqZWN0KGVycikpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sKGl0ZW06IEl0ZW0sIGJvcmRlcmVkPzogYm9vbGVhbik6IFByb21pc2U8SFRNTENhbnZhc0VsZW1lbnQ+IHtcbiAgICAvLyBGaXJzdCwgd2UgdHJ5IHRvIGFwcGx5IG5vbi1kZWZhdWx0IHJ1bGVzXG4gICAgbGV0IHJ1bGVNYXRjaCA9ICh0aGlzLmRlZmluaXRpb25zW2l0ZW0ub0NsYXNzXSA/PyB0aGlzLmRlZmluaXRpb25zWydkZWZhdWx0J10pXG4gICAgICAubWFwKChkZWYpID0+ICh0aGlzLm1hdGNoUnVsZShpdGVtLCBkZWYucnVsZSkgJiYgIWRlZi5pc0RlZmF1bHQgPyAnMScgOiAnMCcpKVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3QgaW1hZ2VTZXQgPSB0aGlzLmltYWdlQ2FjaGVbaXRlbS5vQ2xhc3NdID8/IHRoaXMuaW1hZ2VDYWNoZVsnZGVmYXVsdCddO1xuXG4gICAgcmV0dXJuIGltYWdlU2V0W2JvcmRlcmVkID8gJ2JvcmRlcmVkSW1hZ2VzJyA6ICdpbWFnZXMnXVtydWxlTWF0Y2hdO1xuICB9XG5cbiAgZ2V0U3ltYm9sT2ZDbGFzcyhpZDogc3RyaW5nLCBub0RlZmF1bHQgPSBmYWxzZSk6IFByb21pc2U8U2FmZVVybCB8IG51bGw+IHtcbiAgICBjb25zdCBkZWZpbml0aW9uc0ZvckNsYXNzID0gKHRoaXMuZGVmaW5pdGlvbnNbaWRdIHx8IFtdKS5maW5kKChkZWYpID0+IGRlZi5pc0RlZmF1bHQpO1xuICAgIGNvbnN0IHVybCA9IGRlZmluaXRpb25zRm9yQ2xhc3M/Lmljb25VcmwgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICBpZiAodXJsID09PSBERUZBVUxUX0lDT05fVVJMICYmIG5vRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWRBc1VybCh1cmwpO1xuICB9XG5cbiAgZG93bmxvYWRBc1VybCh1cmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmRvd25sb2FkSW1hZ2UoKCF1cmwgPyBudWxsIDogdXJsKSA/PyBERUZBVUxUX0lDT05fVVJMKS50aGVuKChpbWFnZSkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykgPz8gKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQpO1xuICAgICAgICByZXNvbHZlKGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sQXNJY29uU3R5bGUoaXRlbTogSXRlbSwgYm9yZGVyZWQ/OiBib29sZWFuKTogUHJvbWlzZTxTdHlsZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTdHlsZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5nZXRTeW1ib2woaXRlbSwgYm9yZGVyZWQpXG4gICAgICAgIC50aGVuKChjYW52YXMpID0+IHtcbiAgICAgICAgICBjb25zdCBzaXplID0gKHRoaXMuZGVmaW5pdGlvbnNbaXRlbS5vQ2xhc3NdID8/IHRoaXMuZGVmaW5pdGlvbnNbJ2RlZmF1bHQnXSlbMF0uaWNvblNpemU7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBbc2l6ZVswXSAvIGNhbnZhcy53aWR0aCwgc2l6ZVsxXSAvIGNhbnZhcy5oZWlnaHRdO1xuXG4gICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgIG5ldyBTdHlsZSh7XG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgSWNvbih7XG4gICAgICAgICAgICAgICAgaW1nOiBjYW52YXMsXG4gICAgICAgICAgICAgICAgaW1nU2l6ZTogW2NhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodF0sXG4gICAgICAgICAgICAgICAgc2NhbGVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gICAgfSk7XG4gIH1cblxuICBjYWNoZTogeyBbdXJsOiBzdHJpbmddOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IH0gPSB7fTtcblxuICBkb3dubG9hZEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgaWYgKCEhdGhpcy5jYWNoZVt1cmxdKSByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuXG4gICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgICAgaW1hZ2Uub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3Igd2l0aCBpbWFnZScsIHVybCk7XG4gICAgICAgIHJlc29sdmUoZGVmYXVsdEltYWdlKTtcbiAgICAgIH07XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoaW1hZ2UpO1xuICAgICAgfTtcblxuICAgICAgaWYgKHVybC5zdGFydHNXaXRoKElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCkpIHtcbiAgICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnXicgKyBJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVgpO1xuICAgICAgICB0aGlzLmltYWdlU2VydmljZS5nZXRJbWFnZSh1cmwucmVwbGFjZShyZWdleHAsICcnKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICBpbWFnZS5zcmMgPSB0aGlzLnNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuVVJMLCByZXMudXJsKSA/PyBERUZBVUxUX0lDT05fVVJMO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGltYWdlLnNyYyA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5VUkwsIHVybCkgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmNhY2hlW3VybF07XG4gIH1cblxuICBwcml2YXRlIG1hdGNoUnVsZShpdGVtOiBJdGVtLCBydWxlPzogSWNvblJ1bGUpIHtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoISFpdGVtLmF0dHJpYnV0ZXNbcnVsZS5hdHRyaWJ1dGVOYW1lXSkge1xuICAgICAgaWYgKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdLnR5cGUgPT09ICdNVUxUSScpIHtcbiAgICAgICAgLy8gbXVsdGkgdmFsdWVkXG4gICAgICAgIHJldHVybiAoaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0gYXMgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSkudmFsdWVzXG4gICAgICAgICAgLm1hcCgoYXR0clZhbHVlKSA9PiBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zW3J1bGUub3BlcmF0aW9uXShhdHRyVmFsdWUudmFsdWUsIHJ1bGUudmFsdWUpKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IGMgfHwgcCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzaW5nbGUgdmFsdWVkXG4gICAgICAgIHJldHVybiBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zW3J1bGUub3BlcmF0aW9uXShcbiAgICAgICAgICAoaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0gYXMgQXR0cmlidXRlU2ltcGxlVmFsdWUpLnZhbHVlLFxuICAgICAgICAgIHJ1bGUudmFsdWVcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9zeW1ib2wvc3ltYm9sLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUQsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUdoQixZQUFZLEVBRWIsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQWdCLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBRTVGLE1BQU0sWUFBWSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFDakMsWUFBWSxDQUFDLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQztBQUVwQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQztBQWlCbkMsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsS0FBaUIsRUFBVSxTQUF1QixFQUFVLFlBQTBCO1FBQXRGLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQWM7UUFKbEcsZ0JBQVcsR0FBb0IsRUFBRSxDQUFDO1FBQ2xDLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQXlMcEMsVUFBSyxHQUFpRCxFQUFFLENBQUM7UUF0THZELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FB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b20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEljb24sIFN0eWxlIH0gZnJvbSAnb2wvc3R5bGUnO1xuaW1wb3J0IHsgQXR0cmlidXRlTXVsdGlwbGVWYWx1ZSwgQXR0cmlidXRlU2ltcGxlVmFsdWUsIEl0ZW0gfSBmcm9tICcuLi9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzcyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBjb21wYXJlT3BlcmF0aW9uRnVuY3Rpb25zLFxuICBERUZBVUxUX0lDT05fVVJMLFxuICBJY29uRGVmaW5pdGlvbnMsXG4gIEljb25PcHRpb25zLFxuICBJY29uUG9zaXRpb24sXG4gIEljb25SdWxlXG59IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJbWFnZVNlcnZpY2UsIElOVEVSTkFMTFlfU1RPUkVEX0lNQUdFX1BSRUZJWCB9IGZyb20gJy4uL3N0b3JlL2ltYWdlL2ltYWdlLnNlcnZpY2UnO1xuXG5jb25zdCBkZWZhdWx0SW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbmRlZmF1bHRJbWFnZS5zcmMgPSBERUZBVUxUX0lDT05fVVJMO1xuXG5jb25zdCBTVUJfSUNPTl9TSVpFX1BFUkNFTlQgPSAwLjI1O1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ2FjaGUge1xuICBbY2xhc3NJZDogc3RyaW5nXToge1xuICAgIHJ1bGVTaWduYXR1cmU6IHN0cmluZztcbiAgICBpbWFnZXM6IHtcbiAgICAgIFtydWxlc01hdGNoOiBzdHJpbmddOiBQcm9taXNlPEhUTUxDYW52YXNFbGVtZW50PjtcbiAgICB9O1xuICAgIGJvcmRlcmVkSW1hZ2VzOiB7XG4gICAgICBbcnVsZXNNYXRjaDogc3RyaW5nXTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD47XG4gICAgfTtcbiAgfTtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3ltYm9sU2VydmljZSB7XG4gIHByaXZhdGUgZGVmaW5pdGlvbnM6IEljb25EZWZpbml0aW9ucyA9IHt9O1xuICBwcml2YXRlIGNsYXNzZXM6IENsYXNzW10gPSBbXTtcbiAgcHJpdmF0ZSBpbWFnZUNhY2hlOiBJbWFnZUNhY2hlID0ge307XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PiwgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplciwgcHJpdmF0ZSBpbWFnZVNlcnZpY2U6IEltYWdlU2VydmljZSkge1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLnN1YnNjcmliZSgoY2xhc3NlcykgPT4gKHRoaXMuY2xhc3NlcyA9IGNsYXNzZXMpKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuaWNvbkRlZmluaXRpb25zKS5zdWJzY3JpYmUoKGRlZnMpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMgPSBkZWZzO1xuXG4gICAgICAvLyBGb3IgZWFjaCBjbGFzcywgZ2VuZXJhdGUgYWxsIGljb25zIGZvciBydWxlc2V0XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRlZmluaXRpb25zKS5mb3JFYWNoKChjbGFzc0lkKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdKSB7XG4gICAgICAgICAgdGhpcy5pbWFnZUNhY2hlW2NsYXNzSWRdID0geyBpbWFnZXM6IHt9LCBib3JkZXJlZEltYWdlczoge30sIHJ1bGVTaWduYXR1cmU6ICctLWluaXQtLScgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXSB8fFxuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5ydWxlU2lnbmF0dXJlICE9PSBKU09OLnN0cmluZ2lmeSh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0ucnVsZVNpZ25hdHVyZSA9IEpTT04uc3RyaW5naWZ5KHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0pO1xuICAgICAgICAgIHRoaXMuaW1hZ2VDYWNoZVtjbGFzc0lkXS5pbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyh0aGlzLmRlZmluaXRpb25zW2NsYXNzSWRdKTtcbiAgICAgICAgICB0aGlzLmltYWdlQ2FjaGVbY2xhc3NJZF0uYm9yZGVyZWRJbWFnZXMgPSB0aGlzLmdlbmVyYXRlQWxsUnVsZXNDb21iaW5haXNvbkltYWdlcyhcbiAgICAgICAgICAgIHRoaXMuZGVmaW5pdGlvbnNbY2xhc3NJZF0sXG4gICAgICAgICAgICAnIzhjZDU2MCdcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVBbGxSdWxlc0NvbWJpbmFpc29uSW1hZ2VzKGRlZmluaXRpb246IEljb25PcHRpb25zW10sIGJvcmRlckNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlUnVsZU1hdGNoZXMoZGVmaW5pdGlvbilcbiAgICAgIC5tYXAoKHJ1bGVNYXRjaCkgPT4gKHsgW3J1bGVNYXRjaF06IHRoaXMuZ2VuZXJhdGVJbWFnZUZvclJ1bGVNYXRjaChydWxlTWF0Y2gsIGRlZmluaXRpb24sIGJvcmRlckNvbG9yKSB9KSlcbiAgICAgIC5yZWR1Y2UoKHAsIGMpID0+ICh7IC4uLnAsIC4uLmMgfSksIHt9KTtcbiAgfVxuXG4gIHJlY3Vyc2l2ZVJ1bGVNYXRjaGVzKGRlZmluaXRpb246IEljb25PcHRpb25zW10pOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgW3J1bGUsIC4uLm90aGVyUnVsZXNdID0gZGVmaW5pdGlvbjtcbiAgICBpZiAoIXJ1bGUpIHtcbiAgICAgIHJldHVybiBbJyddO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZWN1cnNpdmVSdWxlTWF0Y2hlcyhvdGhlclJ1bGVzKVxuICAgICAgLm1hcCgocnVsZTogc3RyaW5nKSA9PiBbJzAnICsgcnVsZSwgJzEnICsgcnVsZV0pXG4gICAgICAuZmxhdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUltYWdlRm9yUnVsZU1hdGNoKFxuICAgIHJ1bGVNYXRjaDogc3RyaW5nLFxuICAgIGRlZmluaXRpb246IEljb25PcHRpb25zW10sXG4gICAgYm9yZGVyQ29sb3I/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxIVE1MQ2FudmFzRWxlbWVudD4ge1xuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpID8/IChudWxsIGFzIHVua25vd24gYXMgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEKTtcblxuICAgIGxldCBhcHBsaWNhYmxlUnVsZXMgPSBkZWZpbml0aW9uLmZpbHRlcigoXywgaWR4KSA9PiBydWxlTWF0Y2hbaWR4XSA9PT0gJzEnKTtcbiAgICBpZiAoYXBwbGljYWJsZVJ1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gSWYgbm8gcnVsZSBtYXRjaCwgdGhlbiBhcHBseSBkZWZhdWx0IHJ1bGUgb25seVxuICAgICAgYXBwbGljYWJsZVJ1bGVzID0gZGVmaW5pdGlvbi5maWx0ZXIoKGRlZikgPT4gISFkZWYuaXNEZWZhdWx0KTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlSW1hZ2VzID0gUHJvbWlzZS5hbGwoYXBwbGljYWJsZVJ1bGVzLm1hcCgocnVsZSkgPT4gdGhpcy5kb3dubG9hZEltYWdlKHJ1bGUuaWNvblVybCkpKTtcblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBwcm9taXNlSW1hZ2VzXG4gICAgICAgIC50aGVuKChpbWFnZXMpID0+IHtcbiAgICAgICAgICBjYW52YXMud2lkdGggPSA2MDA7XG4gICAgICAgICAgY2FudmFzLmhlaWdodCA9IDYwMDtcbiAgICAgICAgICBjb25zdCBzdWJTaXplID0ge1xuICAgICAgICAgICAgd2lkdGg6IDYwMCAqIFNVQl9JQ09OX1NJWkVfUEVSQ0VOVCxcbiAgICAgICAgICAgIGhlaWdodDogNjAwICogU1VCX0lDT05fU0laRV9QRVJDRU5ULFxuICAgICAgICAgICAgb2Zmc2V0VG9SaWdodDogNjAwICogKDEgLSBTVUJfSUNPTl9TSVpFX1BFUkNFTlQpLFxuICAgICAgICAgICAgb2Zmc2V0VG9Cb3R0b206IDYwMCAqICgxIC0gU1VCX0lDT05fU0laRV9QRVJDRU5UKVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUaGVuIGRyYXcgZXZlcnl0aGluZ1xuICAgICAgICAgIGFwcGxpY2FibGVSdWxlcy5mb3JFYWNoKChkZWYsIGlkeCwgYXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IGltYWdlc1tpZHhdO1xuICAgICAgICAgICAgc3dpdGNoIChkZWYucG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIHN1YlNpemUub2Zmc2V0VG9SaWdodCwgc3ViU2l6ZS5vZmZzZXRUb0JvdHRvbSwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5CT1RUT01fTEVGVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCAwLCBzdWJTaXplLm9mZnNldFRvQm90dG9tLCBzdWJTaXplLndpZHRoLCBzdWJTaXplLmhlaWdodCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGNhc2UgSWNvblBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gJ3NvdXJjZS1vdmVyJztcbiAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKGltYWdlLCBzdWJTaXplLm9mZnNldFRvUmlnaHQsIDAsIHN1YlNpemUud2lkdGgsIHN1YlNpemUuaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBJY29uUG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgc3ViU2l6ZS53aWR0aCwgc3ViU2l6ZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIEljb25Qb3NpdGlvbi5GVUxMOlxuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICghYm9yZGVyQ29sb3IpIHtcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgMCwgMCwgNjAwLCA2MDApO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkQXJyID0gWy0xLCAtMSwgMCwgLTEsIDEsIC0xLCAtMSwgMCwgMSwgMCwgLTEsIDEsIDAsIDEsIDEsIDFdOyAvLyBmaW5hbCB5IHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IE1hdGgucm91bmQoNjAwICogMC4wNSk7IC8vIGJvcmRlciB3aWR0aDogNSUgb2YgaW1hZ2Ugd2lkdGhcbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgaW1hZ2VzIGF0IG9mZnNldHMgZnJvbSB0aGUgYXJyYXkgc2NhbGVkIGJ5IHNcbiAgICAgICAgICAgICAgICAgIGZvciAoOyBpIDwgZEFyci5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICAgICAgICAgICAgICBjdHguZHJhd0ltYWdlKFxuICAgICAgICAgICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpXSAqIHN0cm9rZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoICsgZEFycltpICsgMV0gKiBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICA2MDAsXG4gICAgICAgICAgICAgICAgICAgICAgNjAwXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIC8vIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICAgICAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2UtaW4nO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxTdHlsZSA9IGJvcmRlckNvbG9yO1xuICAgICAgICAgICAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG5cbiAgICAgICAgICAgICAgICAgIC8vIGRyYXcgb3JpZ2luYWwgaW1hZ2UgaW4gbm9ybWFsIG1vZGVcbiAgICAgICAgICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSAnc291cmNlLW92ZXInO1xuICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWFnZSwgc3Ryb2tlV2lkdGgsIHN0cm9rZVdpZHRoLCA2MDAsIDYwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmVzb2x2ZShjYW52YXMpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGVycikgPT4gcmVqZWN0KGVycikpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sKGl0ZW06IEl0ZW0sIGJvcmRlcmVkPzogYm9vbGVhbik6IFByb21pc2U8SFRNTENhbnZhc0VsZW1lbnQ+IHtcbiAgICAvLyBGaXJzdCwgd2UgdHJ5IHRvIGFwcGx5IG5vbi1kZWZhdWx0IHJ1bGVzXG4gICAgbGV0IHJ1bGVNYXRjaCA9ICh0aGlzLmRlZmluaXRpb25zW2l0ZW0ub0NsYXNzXSA/PyB0aGlzLmRlZmluaXRpb25zWydkZWZhdWx0J10pXG4gICAgICAubWFwKChkZWYpID0+ICh0aGlzLm1hdGNoUnVsZShpdGVtLCBkZWYucnVsZSkgJiYgIWRlZi5pc0RlZmF1bHQgPyAnMScgOiAnMCcpKVxuICAgICAgLmpvaW4oJycpO1xuXG4gICAgY29uc3QgaW1hZ2VTZXQgPSB0aGlzLmltYWdlQ2FjaGVbaXRlbS5vQ2xhc3NdID8/IHRoaXMuaW1hZ2VDYWNoZVsnZGVmYXVsdCddO1xuXG4gICAgcmV0dXJuIGltYWdlU2V0W2JvcmRlcmVkID8gJ2JvcmRlcmVkSW1hZ2VzJyA6ICdpbWFnZXMnXVtydWxlTWF0Y2hdO1xuICB9XG5cbiAgZ2V0U3ltYm9sT2ZDbGFzcyhpZDogc3RyaW5nLCBub0RlZmF1bHQgPSBmYWxzZSk6IFByb21pc2U8U2FmZVVybCB8IG51bGw+IHtcbiAgICBjb25zdCBkZWZpbml0aW9uc0ZvckNsYXNzID0gKHRoaXMuZGVmaW5pdGlvbnNbaWRdIHx8IFtdKS5maW5kKChkZWYpID0+IGRlZi5pc0RlZmF1bHQpO1xuICAgIGNvbnN0IHVybCA9IGRlZmluaXRpb25zRm9yQ2xhc3M/Lmljb25VcmwgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICBpZiAodXJsID09PSBERUZBVUxUX0lDT05fVVJMICYmIG5vRGVmYXVsdCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZG93bmxvYWRBc1VybCh1cmwpO1xuICB9XG5cbiAgZG93bmxvYWRBc1VybCh1cmw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICB0aGlzLmRvd25sb2FkSW1hZ2UoKCF1cmwgPyBudWxsIDogdXJsKSA/PyBERUZBVUxUX0lDT05fVVJMKS50aGVuKChpbWFnZSkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykgPz8gKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgY3R4Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9ICdzb3VyY2Utb3Zlcic7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIGltYWdlLndpZHRoLCBpbWFnZS5oZWlnaHQpO1xuICAgICAgICByZXNvbHZlKGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0U3ltYm9sQXNJY29uU3R5bGUoaXRlbTogSXRlbSwgYm9yZGVyZWQ/OiBib29sZWFuKTogUHJvbWlzZTxTdHlsZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTdHlsZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5nZXRTeW1ib2woaXRlbSwgYm9yZGVyZWQpXG4gICAgICAgIC50aGVuKChjYW52YXMpID0+IHtcbiAgICAgICAgICBjb25zdCBzaXplID0gKHRoaXMuZGVmaW5pdGlvbnNbaXRlbS5vQ2xhc3NdID8/IHRoaXMuZGVmaW5pdGlvbnNbJ2RlZmF1bHQnXSlbMF0uaWNvblNpemU7XG4gICAgICAgICAgY29uc3Qgc2NhbGUgPSBbc2l6ZVswXSAvIGNhbnZhcy53aWR0aCwgc2l6ZVsxXSAvIGNhbnZhcy5oZWlnaHRdO1xuXG4gICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgIG5ldyBTdHlsZSh7XG4gICAgICAgICAgICAgIGltYWdlOiBuZXcgSWNvbih7XG4gICAgICAgICAgICAgICAgaW1nOiBjYW52YXMsXG4gICAgICAgICAgICAgICAgaW1nU2l6ZTogW2NhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodF0sXG4gICAgICAgICAgICAgICAgc2NhbGVcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG4gICAgfSk7XG4gIH1cblxuICBjYWNoZTogeyBbdXJsOiBzdHJpbmddOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IH0gPSB7fTtcblxuICBkb3dubG9hZEltYWdlKHVybDogc3RyaW5nKTogUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PiB7XG4gICAgaWYgKCEhdGhpcy5jYWNoZVt1cmxdKSByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuXG4gICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWFnZS5jcm9zc09yaWdpbiA9ICdBbm9ueW1vdXMnO1xuICAgICAgaW1hZ2Uub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3Igd2l0aCBpbWFnZScsIHVybCk7XG4gICAgICAgIHJlc29sdmUoZGVmYXVsdEltYWdlKTtcbiAgICAgIH07XG4gICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoaW1hZ2UpO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnXicgKyBJTlRFUk5BTExZX1NUT1JFRF9JTUFHRV9QUkVGSVgpO1xuICAgICAgdGhpcy5pbWFnZVNlcnZpY2VcbiAgICAgICAgLmdldEltYWdlKHVybC5yZXBsYWNlKHJlZ2V4cCwgJycpLCAhdXJsLnN0YXJ0c1dpdGgoSU5URVJOQUxMWV9TVE9SRURfSU1BR0VfUFJFRklYKSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgaW1hZ2Uuc3JjID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgcmVzLnVybCkgPz8gREVGQVVMVF9JQ09OX1VSTDtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVt1cmxdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXRjaFJ1bGUoaXRlbTogSXRlbSwgcnVsZT86IEljb25SdWxlKSB7XG4gICAgaWYgKCFydWxlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCEhaXRlbS5hdHRyaWJ1dGVzW3J1bGUuYXR0cmlidXRlTmFtZV0pIHtcbiAgICAgIGlmIChpdGVtLmF0dHJpYnV0ZXNbcnVsZS5hdHRyaWJ1dGVOYW1lXS50eXBlID09PSAnTVVMVEknKSB7XG4gICAgICAgIC8vIG11bHRpIHZhbHVlZFxuICAgICAgICByZXR1cm4gKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdIGFzIEF0dHJpYnV0ZU11bHRpcGxlVmFsdWUpLnZhbHVlc1xuICAgICAgICAgIC5tYXAoKGF0dHJWYWx1ZSkgPT4gY29tcGFyZU9wZXJhdGlvbkZ1bmN0aW9uc1tydWxlLm9wZXJhdGlvbl0oYXR0clZhbHVlLnZhbHVlLCBydWxlLnZhbHVlKSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBjIHx8IHApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2luZ2xlIHZhbHVlZFxuICAgICAgICByZXR1cm4gY29tcGFyZU9wZXJhdGlvbkZ1bmN0aW9uc1tydWxlLm9wZXJhdGlvbl0oXG4gICAgICAgICAgKGl0ZW0uYXR0cmlidXRlc1tydWxlLmF0dHJpYnV0ZU5hbWVdIGFzIEF0dHJpYnV0ZVNpbXBsZVZhbHVlKS52YWx1ZSxcbiAgICAgICAgICBydWxlLnZhbHVlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -84,4 +84,4 @@ export const DashboardActions = {
84
84
  triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
85
85
  loadPresentation: createAction('[Dashboard] load presentation', props())
86
86
  };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBK0JsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUFFLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxZQUFZLENBQzdCLHVDQUF1QyxFQUN2QyxLQUFLLEVBQW9ELENBQzFEO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQy9FLGVBQWUsRUFBRSxZQUFZLENBQUMsNkRBQTZELENBQUM7SUFDNUYsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3ZFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBQTBELENBQ2hFO0lBQ0QsY0FBYyxFQUFFLFlBQVksQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDL0Ysb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwRUFBMEUsRUFDMUUsS0FBSyxFQUFzRCxDQUM1RDtJQUNELGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFvQyxDQUFDO0lBQ3pHLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsbUNBQW1DLEVBQ25DLEtBQUssRUFBK0QsQ0FDckU7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLG1DQUFtQyxFQUNuQyxLQUFLLEVBQWlFLENBQ3ZFO0lBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxzQ0FBc0MsRUFDdEMsS0FBSyxFQUFrRCxDQUN4RDtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJ5VmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uL2NvcmUvY29tcG9uZW50cy9zaGFyZS9zaGFyZS5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIERhc2hib2FyZENlbGxQYXJhbXMgPSB7XG4gIGdyaWRXaWR0aDogbnVtYmVyO1xuICBncmlkSGVpZ2h0OiBudW1iZXI7XG4gIGdyaWRHYXA6IG51bWJlcjtcbiAgY29sdW1uczogbnVtYmVyO1xuICBjZWxsSGVpZ2h0OiBudW1iZXI7XG4gIHJvd3M6IG51bWJlcjtcbiAgY2VsbFdpZHRoOiBudW1iZXI7XG4gIG9mZnNldExlZnQ6IG51bWJlcjtcbiAgb2Zmc2V0VG9wOiBudW1iZXI7XG4gIG1vYmlsZU1vZGU6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgZW51bSBWaWV3TW9kZSB7XG4gIENBVEFMT0cgPSAnY2F0YWxvZycsXG4gIENPTlNVTFQgPSAnY29uc3VsdCcsXG4gIENSRUFUSU9OID0gJ2NyZWF0aW9uJyxcbiAgRURJVElPTiA9ICdlZGl0aW9uJyxcbiAgRURJVE9SID0gJ2VkaXRvcicsXG4gIFNFQVJDSCA9ICdzZWFyY2gnLFxuICBDVVNUT00gPSAnY3VzdG9tJ1xufVxuXG5leHBvcnQgY29uc3QgRGFzaGJvYXJkQWN0aW9ucyA9IHtcbiAgam9pbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBqb2luZWQnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICBsZWF2ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBsZWF2ZScsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJGZXRjaDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciBmZXRjaCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdFdpdGhvdXRBY3RpdmF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGJ1dCBkbyBub3QgYWN0aXZhdGUgaXQnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudEpvaW46IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgdGVuYW50IGpvaW4nLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgICAgcHJlc2VudGF0aW9uPzogeyBjdXJyZW50PzogTWFuaWZlc3REZXNjcmlwdGlvbjsgaW5pdGlhbD86IEdsb2JhbE1hbmlmZXN0OyB2aWV3TW9kZT86IFZpZXdNb2RlIH07XG4gICAgICBkaXNwbGF5PzogRGlzcGxheU9wdGlvbnM7XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50TGVhdmU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgdGVuYW50IGxlYXZlJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHNlbGVjdFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3RQcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgICAgIHZpZXdNb2RlPzogVmlld01vZGU7XG4gICAgfT4oKVxuICApLFxuICBzZXRJbml0aWFsUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHNldCBpbml0aWFsIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgaW5pdGlhbD86IEdsb2JhbE1hbmlmZXN0O1xuICAgIH0+KClcbiAgKSxcbiAgZGVjbGFyZVNlbmRlcklkOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNlbGYtdXBkYXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IHRlbmFudHM6IHN0cmluZ1tdOyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlRGFzaGJvYXJkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRpbmcgZGFzaGJvYXJkIHZpZXcnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0IH0+KClcbiAgKSxcbiAgdXBkYXRlV2lkZ2V0TWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRpbmcgd2lkZ2V0IHZpZXcnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0OyBpbmRleDogbnVtYmVyIH0+KClcbiAgKSxcbiAgYWRkV2lkZ2V0VG9QcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gYWRkIHdpZGdldCB0byBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgaWQ/OiBzdHJpbmcgfCBzdHJpbmdbXTsgd2lkZ2V0VHlwZTogc3RyaW5nOyBhZGRpdGlvbmFsT3B0aW9ucz86IGFueTsgYWxlcnQ/OiBib29sZWFuIH0+KClcbiAgKSxcbiAgdXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gdXBkYXRlIHdpZGdldCBpbiBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgaWQ/OiBzdHJpbmcgfCBzdHJpbmdbXTsgd2lkZ2V0VHlwZTogc3RyaW5nOyBhZGRpdGlvbmFsT3B0aW9ucz86IGFueSB9PigpXG4gICksXG4gIHJlcXVlc3RBbGxSb3V0ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVxdWVzdGluZyByb3V0ZSB1cGRhdGUnKSxcbiAgdXBkYXRlUm91dGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyByb3V0ZScsIHByb3BzPHsgc2VuZGVyPzogc3RyaW5nOyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBmZXRjaE1hbmlmZXN0c0xpc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgYXZhaWxhYmxlIG1hbmlmZXN0cycpLFxuICBzZXRSZWZyZXNoUmF0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXR0aW5nIHJlZnJlc2hSYXRlJywgcHJvcHM8eyBpZDogc3RyaW5nOyByYXRlOiBudW1iZXIgfT4oKSksXG4gIHVwZGF0ZU1hbmlmZXN0c0xpc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbWFuaWZlc3RzIGxpc3QnLFxuICAgIHByb3BzPHsgbWFuaWZlc3RzOiBNYW5pZmVzdERlc2NyaXB0aW9uW10gfT4oKVxuICApLFxuICBmZXRjaFN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIHN0YXRpY01hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBlbmRMb2FkaW5nOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGVuZCBsb2FkaW5nJyksXG4gIHVwZGF0ZVN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIHN0YXRpY01hbmlmZXN0JyxcbiAgICBwcm9wczx7IHN0YXRpY01hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PigpXG4gICksXG4gIGxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIG1hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkQW5kQWN0aXZhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIGFuZCBhY3RpdmF0ZSBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZG93bmxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkb3dubG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+KCkpLFxuICBjb25maXJtTWFuaWZlc3REZWxldGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjb25maXJtIG1hbmlmZXN0IGRlbGV0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkZWxldGluZyBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgc2F2ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNhdmUgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG1hbmlmZXN0PzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBpbWFnZT86IHN0cmluZztcbiAgICAgIGNvdmVyPzogYm9vbGVhbjtcbiAgICAgIG1ldGFkYXRhPzogeyBtZXRhZGF0YURlZklkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICAgICAgZ3JvdXBzPzogc3RyaW5nW107XG4gICAgICB2aXNpYmlsaXR5PzogUHJ5VmlzaWJpbGl0eTtcbiAgICB9PigpXG4gICksXG4gIHNvbHZlQ29sbGlzaW9uczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzb2x2aW5nIGNvbGxpc2lvbnMnKSxcbiAgY2xlYXJNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjbGVhciBtYW5pZmVzdCcpLFxuICBmb2xsb3dNYW5pZmVzdFJvdXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZvbGxvdyBtYW5pZmVzdCByb3V0ZScpLFxuICBtb3ZlV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1vdmluZyB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXI7IHRhcmdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIG1heGltaXplV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1heGltaXplIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgYXNzZXJ0UmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBhc3NlcnQgcmVzdWx0U2V0JywgcHJvcHM8eyBpZD86IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyByZXN1bHRTZXQ6IFJlc3VsdFNldDsgcGFyYW1zPzogc3RyaW5nIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIGFkZEl0ZW1Ub1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGl0ZW0gdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGl0ZW06IEl0ZW07IHJlc3VsdFNldD86IHN0cmluZyB9PigpXG4gICksXG4gIHN0YXJ0aW5nTWlzc2luZ1ZpZXdzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG9wZW5pbmcgbWlzc2luZyB2aWV3cyBmb3IgbWFuaWZlc3QnKSxcbiAgc2V0QXZhaWxhYmxlTmFtZWRRdWVyaWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBhdmFpbGFibGUgcnMgbmFtZXMnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgc2V0RGVmYXVsdERhdGFzb3VyY2U6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGN1cnJlbnQgcnMgbmFtZScsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRQYXJhbXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gc2V0IGRhc2hib2FyZCBjZWxsIHBhcmFtcycsXG4gICAgcHJvcHM8eyBwYXJhbXM6IFBhcnRpYWw8RGFzaGJvYXJkQ2VsbFBhcmFtcz4gfT4oKVxuICApLFxuICB0b2dnbGVFZGl0aW9uTW9kZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSB0b2dnbGUgZWRpdGlvbiBtb2RlJywgcHJvcHM8eyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbScsIHByb3BzPHsgaWQ6IHN0cmluZzsgY3VtdWxhdGl2ZTogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0TWFueTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZWxlY3QgaXRlbXMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIGludmVydFNlbGVjdGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpbnZlcnQgc2VsZWN0aW9uJyksXG4gIGZldGNoT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZmV0Y2ggb2JqZWN0cyBkZXRhaWxzJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICB1cGRhdGVPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgb2JqZWN0cyBkZXRhaWxzJyxcbiAgICBwcm9wczx7IGxpc3Q6IHsgW2lkOiBzdHJpbmddOiBJdGVtIH0gfT4oKVxuICApLFxuICBleHBsb3JlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGlzb2xhdGUgaW4gZGF0YSBzZXQnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRldGFpbDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgZGV0YWlsIHZpZXcnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHByb3hpbWl0eTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBwcm94aW1pdHkgc2VhcmNoJywgcHJvcHM8eyBpZDogc3RyaW5nOyB0YXJnZXRSZXN1bHRTZXQ6IHN0cmluZyB9PigpKSxcbiAgbXVsdGlTbmFja0JhcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBkaXNwbGF5IHNuYWNrIG1lc3NhZ2UnLCBwcm9wczx7IG1lc3NhZ2U6IFByeVNuYWNrTWVzc2FnZSB9PigpKSxcbiAgcXVpY2tPcmRlcjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBxdWljayBvcmRlcicsXG4gICAgcHJvcHM8eyBkYXRhc291cmNlSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBzdHJpbmc7IGFzYzogT3JkZXJWYWx1ZSB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IERhc2hib2FyZEdyaWRMYXlvdXQgfT4oKSksXG4gIHByb3BhZ2F0ZUdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgY2hhbmdlIGdyaWQgbGF5b3V0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdDsgcmFuazogbnVtYmVyIH0+KClcbiAgKSxcbiAgY3JlYXRlVGFiOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNyZWF0ZSBuZXcgdGFiJyksXG4gIHJlc3RvcmVJbml0aWFsTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVzdG9yaW5nIG1pc3NpbmcgdGFicycpLFxuICBzZXRGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldCBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcnM6IEZpbHRlcltdIH0+KCkpLFxuICB1cGRhdGVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBkYXRhc291cmNlIGZpbHRlcnMnLCBwcm9wczx7IGZpbHRlcjogRmlsdGVyIH0+KCkpLFxuICByZW1vdmVGaWx0ZXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlciBpbiBwcmVzZW50YXRpb24nLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHJlbW92ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIGZpbHRlcnMnKSxcbiAgdXBkYXRlRmlsdGVyVmFsdWU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGZpbHRlciB2YWx1ZScsXG4gICAgcHJvcHM8eyBpZDogc3RyaW5nOyB2YWx1ZTogYW55OyBkYXRhc291cmNlSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGNsZWFyQWxsRmlsdGVyVmFsdWVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGNsZWFyIGFsbCBmaWx0ZXIgdmFsdWVzJyksXG4gIGRpc3BhdGNoRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBhcHBseSBmaWx0ZXJzIHRvIHByZXNlbnRhdGlvbiBkYXRhc291cmNlcycpLFxuICByZXNldFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBSZXNldCBXbXMgbGF5ZXIgZmVhdHVyZXMnKSxcbiAgZ2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIEdldCBXbXMgbGF5ZXIgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW10gfT4oKVxuICApLFxuICBhZGRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gU2V0IFdtcyBsYXllciBmZWF0dXJlcycsIHByb3BzPHsgZmVhdHVyZXM6IGFueSB9PigpKSxcbiAgdXBkYXRlRGlzcGxheU9wdGlvbnM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZC9EaXNwbGF5XSAoYnVzKSBVcGRhdGUgZGlzcGxheWVkIGRhc2hib2FyZCBtYW5hZ2VtZW50IGZlYXR1cmVzJyxcbiAgICBwcm9wczx7IG1vZGU6IFZpZXdNb2RlOyBjdXN0b21EaXNwbGF5PzogRGlzcGxheU9wdGlvbnMgfT4oKVxuICApLFxuICBnZXRDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBHZXQgV21zIGNhcGFiaWxpdHknLCBwcm9wczx7IHVybDogc3RyaW5nOyBmb3JjZT86IGJvb2xlYW4gfT4oKSksXG4gIHVwZGF0ZUNhcGFiaWxpdHk6IGNyZWF0ZUFjdGlvbihcbiAgICAnW1dpZGdldCBtYXBdIFN0b3JlIFdtcyBjYXBhYmlsaXR5JyxcbiAgICBwcm9wczx7IHVybDogc3RyaW5nOyBjYXBhYmlsaXR5OiBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB8IG51bGwgfT4oKVxuICApLFxuICBhZGRNYW5pZmVzdE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIEFkZCBtYW5pZmVzdCBtZXRhZGF0YScsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb25JZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfT4oKVxuICApLFxuICBkZWxldGVNYW5pZmVzdE1ldGFkYXRhOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIERlbGV0ZSBtYW5pZmVzdCBtZXRhZGF0YScsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb25JZDogc3RyaW5nOyBtZXRhZGF0YUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICB0cmlnZ2VyQWdncmVnYXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIFRyaWdnZXJpbmcgYWdncmVnYXRlcyBmb3IgZGF0YXNvdXJjZScsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBsb2FkIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb247IHZpZXdNb2RlOiBWaWV3TW9kZSB9PigpXG4gIClcbn07XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUFFLFlBQVksQ0FBQyxrQ0FBa0MsQ0FBQztJQUMvRCxpQkFBaUIsRUFBRSxZQUFZLENBQzdCLHVDQUF1QyxFQUN2QyxLQUFLLEVBQW9ELENBQzFEO0lBQ0Qsb0JBQW9CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQy9FLGVBQWUsRUFBRSxZQUFZLENBQUMsNkRBQTZELENBQUM7SUFDNUYsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3ZFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBQTBELENBQ2hFO0lBQ0QsY0FBYyxFQUFFLFlBQVksQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDL0Ysb0JBQW9CLEVBQUUsWUFBWSxDQUNoQywwRUFBMEUsRUFDMUUsS0FBSyxFQUFzRCxDQUM1RDtJQUNELGFBQWEsRUFBRSxZQUFZLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxFQUFvQyxDQUFDO0lBQ3pHLGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsbUNBQW1DLEVBQ25DLEtBQUssRUFBK0QsQ0FDckU7SUFDRCxtQkFBbUIsRUFBRSxZQUFZLENBQy9CLG1DQUFtQyxFQUNuQyxLQUFLLEVBQWlFLENBQ3ZFO0lBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxzQ0FBc0MsRUFDdEMsS0FBSyxFQUFrRCxDQUN4RDtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBjb3Zlcj86IGJvb2xlYW47XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGdyb3Vwcz86IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc29sdmVDb2xsaXNpb25zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNvbHZpbmcgY29sbGlzaW9ucycpLFxuICBjbGVhck1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGNsZWFyIG1hbmlmZXN0JyksXG4gIGZvbGxvd01hbmlmZXN0Um91dGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZm9sbG93IG1hbmlmZXN0IHJvdXRlJyksXG4gIG1vdmVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbW92aW5nIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlcjsgdGFyZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgbWF4aW1pemVXaWRnZXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbWF4aW1pemUgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBhc3NlcnRSZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGFzc2VydCByZXN1bHRTZXQnLCBwcm9wczx7IGlkPzogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVSZXN1bHRTZXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbmFtZWQgcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHJlc3VsdFNldDogUmVzdWx0U2V0OyBwYXJhbXM/OiBzdHJpbmcgfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgYWRkSXRlbVRvUmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgaXRlbSB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgaXRlbTogSXRlbTsgcmVzdWx0U2V0Pzogc3RyaW5nIH0+KClcbiAgKSxcbiAgc3RhcnRpbmdNaXNzaW5nVmlld3M6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gb3BlbmluZyBtaXNzaW5nIHZpZXdzIGZvciBtYW5pZmVzdCcpLFxuICBzZXRBdmFpbGFibGVOYW1lZFF1ZXJpZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGF2YWlsYWJsZSBycyBuYW1lcycsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICBzZXREZWZhdWx0RGF0YXNvdXJjZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgY3VycmVudCBycyBuYW1lJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZFBhcmFtczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzZXQgZGFzaGJvYXJkIGNlbGwgcGFyYW1zJyxcbiAgICBwcm9wczx7IHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPiB9PigpXG4gICksXG4gIHRvZ2dsZUVkaXRpb25Nb2RlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHRvZ2dsZSBlZGl0aW9uIG1vZGUnLCBwcm9wczx7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtJywgcHJvcHM8eyBpZDogc3RyaW5nOyBjdW11bGF0aXZlOiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3RNYW55OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtcycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgaW52ZXJ0U2VsZWN0aW9uOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGludmVydCBzZWxlY3Rpb24nKSxcbiAgZmV0Y2hPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBmZXRjaCBvYmplY3RzIGRldGFpbHMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZU9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBvYmplY3RzIGRldGFpbHMnLFxuICAgIHByb3BzPHsgbGlzdDogeyBbaWQ6IHN0cmluZ106IEl0ZW0gfSB9PigpXG4gICksXG4gIGV4cGxvcmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaXNvbGF0ZSBpbiBkYXRhIHNldCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGV0YWlsOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBkZXRhaWwgdmlldycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgcHJveGltaXR5OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHByb3hpbWl0eSBzZWFyY2gnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHRhcmdldFJlc3VsdFNldDogc3RyaW5nIH0+KCkpLFxuICBtdWx0aVNuYWNrQmFyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGRpc3BsYXkgc25hY2sgbWVzc2FnZScsIHByb3BzPHsgbWVzc2FnZTogUHJ5U25hY2tNZXNzYWdlIH0+KCkpLFxuICBxdWlja09yZGVyOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHF1aWNrIG9yZGVyJyxcbiAgICBwcm9wczx7IGRhdGFzb3VyY2VJZDogc3RyaW5nOyBhdHRyaWJ1dGU6IHN0cmluZzsgYXNjOiBPcmRlclZhbHVlIH0+KClcbiAgKSxcbiAgc2V0R3JpZExheW91dDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgZ3JpZCBsYXlvdXQnLCBwcm9wczx7IGxheW91dDogRGFzaGJvYXJkR3JpZExheW91dCB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVycycpLFxuICB1cGRhdGVGaWx0ZXJWYWx1ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZmlsdGVyIHZhbHVlJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgY2xlYXJBbGxGaWx0ZXJWYWx1ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY2xlYXIgYWxsIGZpbHRlciB2YWx1ZXMnKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyksXG4gIHJlc2V0V21zRmVhdHVyZXM6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIFJlc2V0IFdtcyBsYXllciBmZWF0dXJlcycpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXSB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55IH0+KCkpLFxuICB1cGRhdGVEaXNwbGF5T3B0aW9uczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkL0Rpc3BsYXldIChidXMpIFVwZGF0ZSBkaXNwbGF5ZWQgZGFzaGJvYXJkIG1hbmFnZW1lbnQgZmVhdHVyZXMnLFxuICAgIHByb3BzPHsgbW9kZTogVmlld01vZGU7IGN1c3RvbURpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucyB9PigpXG4gICksXG4gIGdldENhcGFiaWxpdHk6IGNyZWF0ZUFjdGlvbignW1dpZGdldCBtYXBdIEdldCBXbXMgY2FwYWJpbGl0eScsIHByb3BzPHsgdXJsOiBzdHJpbmc7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgdXBkYXRlQ2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gU3RvcmUgV21zIGNhcGFiaWxpdHknLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IGNhcGFiaWxpdHk6IEdldENhcGFiaWxpdGllc1Jlc3BvbnNlIHwgbnVsbCB9PigpXG4gICksXG4gIGFkZE1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gQWRkIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigpXG4gICksXG4gIGRlbGV0ZU1hbmlmZXN0TWV0YWRhdGE6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gRGVsZXRlIG1hbmlmZXN0IG1ldGFkYXRhJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbklkOiBzdHJpbmc7IG1ldGFkYXRhSWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHRyaWdnZXJBZ2dyZWdhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgVHJpZ2dlcmluZyBhZ2dyZWdhdGVzIGZvciBkYXRhc291cmNlJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGxvYWQgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IHByZXNlbnRhdGlvbjogTWFuaWZlc3REZXNjcmlwdGlvbjsgdmlld01vZGU6IFZpZXdNb2RlIH0+KClcbiAgKVxufTtcbiJdfQ==