geonetwork-ui 2.4.1-dev.7a0dc5e3f → 2.4.1-dev.9ee0df3df

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 (95) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
  2. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +19 -1
  3. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
  4. package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
  5. package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
  6. package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
  7. package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +45 -9
  8. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +3 -3
  9. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +12 -3
  10. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +2 -2
  11. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +3 -3
  12. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +36 -60
  13. package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
  14. package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
  15. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +11 -15
  16. package/esm2022/libs/ui/elements/src/index.mjs +3 -2
  17. package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
  18. package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -13
  19. package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
  20. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
  21. package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +2 -2
  22. package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -25
  23. package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +6 -6
  24. package/esm2022/translations/de.json +23 -11
  25. package/esm2022/translations/en.json +19 -7
  26. package/esm2022/translations/es.json +23 -11
  27. package/esm2022/translations/fr.json +23 -11
  28. package/esm2022/translations/it.json +23 -11
  29. package/esm2022/translations/nl.json +23 -11
  30. package/esm2022/translations/pt.json +23 -11
  31. package/fesm2022/geonetwork-ui.mjs +922 -835
  32. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  33. package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
  34. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  35. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
  36. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  37. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +11 -2
  38. package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
  39. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +4 -0
  40. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
  41. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
  42. package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
  43. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
  44. package/libs/ui/elements/src/index.d.ts +2 -1
  45. package/libs/ui/elements/src/index.d.ts.map +1 -1
  46. package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
  47. package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
  48. package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
  49. package/libs/ui/inputs/src/index.d.ts +4 -5
  50. package/libs/ui/inputs/src/index.d.ts.map +1 -1
  51. package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
  52. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  53. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +6 -7
  54. package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
  55. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -2
  56. package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
  59. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +18 -0
  60. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +29 -7
  61. package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
  62. package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
  63. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -6
  64. package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +47 -2
  65. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +1 -1
  66. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +3 -7
  67. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +10 -0
  68. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +1 -1
  69. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +6 -6
  70. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
  71. package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +1 -1
  72. package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -6
  73. package/src/libs/feature/editor/src/lib/fields.config.ts +10 -14
  74. package/src/libs/ui/elements/src/index.ts +2 -1
  75. package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +4 -19
  76. package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +13 -9
  77. package/src/libs/ui/elements/src/lib/ui-elements.module.ts +13 -10
  78. package/src/libs/ui/inputs/src/index.ts +4 -5
  79. package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -1
  80. package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +22 -25
  81. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -3
  82. package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -1
  83. package/translations/de.json +23 -11
  84. package/translations/en.json +19 -7
  85. package/translations/es.json +23 -11
  86. package/translations/fr.json +23 -11
  87. package/translations/it.json +23 -11
  88. package/translations/nl.json +23 -11
  89. package/translations/pt.json +23 -11
  90. package/translations/sk.json +23 -11
  91. package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -214
  92. package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
  93. package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
  94. /package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +0 -0
  95. /package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.css +0 -0
@@ -48,9 +48,7 @@ export const RECORD_LICENSE_FIELD = {
48
48
  };
49
49
  export const RECORD_KEYWORDS_FIELD = {
50
50
  model: 'keywords',
51
- formFieldConfig: {
52
- labelKey: marker('editor.record.form.field.keywords'),
53
- },
51
+ formFieldConfig: {},
54
52
  };
55
53
  export const RECORD_RESOURCE_CREATED_FIELD = {
56
54
  model: 'resourceCreated',
@@ -130,23 +128,17 @@ export const RECORD_SPATIAL_TOGGLE_FIELD = {
130
128
  };
131
129
  export const RECORD_SPATIAL_EXTENTS_FIELD = {
132
130
  model: 'spatialExtents',
133
- formFieldConfig: {
134
- labelKey: marker('editor.record.form.field.spatialExtents'),
135
- },
131
+ formFieldConfig: {},
136
132
  };
137
133
  export const RECORD_ONLINE_RESOURCES = {
138
134
  model: 'onlineResources',
139
135
  modelSpecifier: 'onlineResourceType:!link',
140
- formFieldConfig: {
141
- labelKey: marker('editor.record.form.field.onlineResources'),
142
- },
136
+ formFieldConfig: {},
143
137
  };
144
138
  export const RECORD_ONLINE_LINK_RESOURCES = {
145
139
  model: 'onlineResources',
146
140
  modelSpecifier: 'onlineResourceType:link',
147
- formFieldConfig: {
148
- labelKey: marker('editor.record.form.field.onlineLinkResources'),
149
- },
141
+ formFieldConfig: {},
150
142
  };
151
143
  /************************************************************
152
144
  *************** SECTIONS *****************
@@ -228,7 +220,12 @@ export const DEFAULT_CONFIGURATION = {
228
220
  pages: [
229
221
  {
230
222
  labelKey: marker('editor.record.form.page.description'),
231
- sections: [TITLE_SECTION, ABOUT_SECTION, GEOGRAPHICAL_COVERAGE_SECTION],
223
+ sections: [
224
+ TITLE_SECTION,
225
+ ABOUT_SECTION,
226
+ CLASSIFICATION_SECTION,
227
+ GEOGRAPHICAL_COVERAGE_SECTION,
228
+ ],
232
229
  },
233
230
  {
234
231
  labelKey: marker('editor.record.form.page.ressources'),
@@ -237,7 +234,6 @@ export const DEFAULT_CONFIGURATION = {
237
234
  {
238
235
  labelKey: marker('editor.record.form.page.accessAndContact'),
239
236
  sections: [
240
- CLASSIFICATION_SECTION,
241
237
  USE_AND_ACCESS_CONDITIONS_SECTION,
242
238
  DATA_MANAGERS_SECTION,
243
239
  METADATA_POINT_OF_CONTACT_SECTION,
@@ -289,4 +285,4 @@ export const SPATIAL_SCOPES = [
289
285
  type: 'theme',
290
286
  },
291
287
  ];
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVFoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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Q0FBQyxDQUFBO0FBQzlDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO0FBQzNDLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFBO0FBQ3pDLE1BQU0sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtBQUNwQzs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWM7SUFDdkM7UUFDRSxHQUFHLEVBQUUscUVBQXFFO1FBQzFFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLE9BQU87S0FDZDtJQUNEO1FBQ0UsR0FBRyxFQUFFLHFFQUFxRTtRQUMxRSxLQUFLLEVBQUUsVUFBVTtRQUNqQixXQUFXLEVBQUUsRUFBRTtRQUNmLElBQUksRUFBRSxPQUFPO0tBQ2Q7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRWRpdG9yQ29uZmlnLFxuICBFZGl0b3JGaWVsZCxcbiAgRWRpdG9yU2VjdGlvbixcbn0gZnJvbSAnLi9tb2RlbHMvZWRpdG9yLWNvbmZpZy5tb2RlbCdcbmltcG9ydCB7IEtleXdvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5cbi8qKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBmaWVsZHMgdGhhdCB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgZWRpdG9yLlxuICogVG8gYWRkIGEgbmV3IGZpZWxkLCB5b3UgbmVlZCB0byBjcmVhdGUgYSBuZXcgRWRpdG9yRmllbGQgb2JqZWN0IGluIHRoZSBmaWVsZHMgcGFydCBvZiB0aGlzIGZpbGUuXG4gKiBUaGVuIGFkZCBpdCB0byB0aGUgY29ycmVzcG9uZGluZyBzZWN0aW9uIGluIHRoZSBzZWN0aW9ucyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqIEZpbmFsbHksIGFkZCB0aGUgc2VjdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBwYWdlIGluIHRoZSBwYWdlcyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBGSUVMRFMgICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9VTklRVUVfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndW5pcXVlSWRlbnRpZmllcicsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC51bmlxdWVJZGVudGlmaWVyJyksXG4gIH0sXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlNUUkFJTlRTX1NIT1JUQ1VUUzogRWRpdG9yRmllbGQgPSB7XG4gIGNvbXBvbmVudE5hbWU6ICdmb3JtLWZpZWxkLWNvbnN0cmFpbnRzLXNob3J0Y3V0cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5jb25zdHJhaW50c1Nob3J0Y3V0cycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgTEVHQUxfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2xlZ2FsQ29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQubGVnYWxDb25zdHJhaW50cycpLFxuICB9LFxufVxuZXhwb3J0IGNvbnN0IFNFQ1VSSVRZX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdzZWN1cml0eUNvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnNlY3VyaXR5Q29uc3RyYWludHMnKSxcbiAgfSxcbn1cbmV4cG9ydCBjb25zdCBPVEhFUl9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnb3RoZXJDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vdGhlckNvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfTElDRU5TRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnbGljZW5zZXMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQubGljZW5zZScpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX0tFWVdPUkRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdrZXl3b3JkcycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5rZXl3b3JkcycpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1JFU09VUkNFX0NSRUFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3Jlc291cmNlQ3JlYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZUNyZWF0ZWQnKSxcbiAgfSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG59XG5cbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9JREVOVElGSUVSX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUlkZW50aWZpZXInLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VJZGVudGlmaWVyJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfUkVTT1VSQ0VfVVBEQVRFRF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VVcGRhdGVkJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlc291cmNlVXBkYXRlZCcpLFxuICB9LFxuICBncmlkQ29sdW1uU3BhbjogMSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9VUERBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZWNvcmRVcGRhdGVkJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlY29yZFVwZGF0ZWQnKSxcbiAgfSxcbiAgb25TYXZlUHJvY2VzczogJyR7ZGF0ZU5vdygpfScsXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxuICBoaWRkZW46IHRydWUsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVVBEQVRFX0ZSRVFVRU5DWV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndXBkYXRlRnJlcXVlbmN5JyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cbi8vIGtlZXBpbmcgdHJhY2sgb2YgdGhlIGxhYmVsIHRvIG5vdCBsb3NlIGV4aXN0aW5nIHRyYW5zbGF0aW9uXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC51cGRhdGVGcmVxdWVuY3knKVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1RFTVBPUkFMX0VYVEVOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3RlbXBvcmFsRXh0ZW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC50ZW1wb3JhbEV4dGVudHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9USVRMRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAndGl0bGUnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudGl0bGUnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9BQlNUUkFDVF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnYWJzdHJhY3QnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuYWJzdHJhY3QnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlRBQ1RTX0ZPUl9SRVNPVVJDRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnY29udGFjdHNGb3JSZXNvdXJjZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiAnJyxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IENPTlRBQ1RTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdjb250YWN0cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiAnJyxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9HUkFQSElDQUxfT1ZFUlZJRVdfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ292ZXJ2aWV3cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vdmVydmlld3MnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9TUEFUSUFMX1RPR0dMRV9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIGNvbXBvbmVudE5hbWU6ICdmb3JtLWZpZWxkLXNwYXRpYWwtdG9nZ2xlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1NQQVRJQUxfRVhURU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnc3BhdGlhbEV4dGVudHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuc3BhdGlhbEV4dGVudHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9PTkxJTkVfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTohbGluaycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5vbmxpbmVSZXNvdXJjZXMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9PTkxJTkVfTElOS19SRVNPVVJDRVM6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ29ubGluZVJlc291cmNlcycsXG4gIG1vZGVsU3BlY2lmaWVyOiAnb25saW5lUmVzb3VyY2VUeXBlOmxpbmsnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub25saW5lTGlua1Jlc291cmNlcycpLFxuICB9LFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgIFNFQ1RJT05TICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cblxuZXhwb3J0IGNvbnN0IFRJVExFX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9USVRMRV9GSUVMRCxcbiAgICBSRUNPUkRfQUJTVFJBQ1RfRklFTEQsXG4gICAgUkVDT1JEX0dSQVBISUNBTF9PVkVSVklFV19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IEFCT1VUX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFib3V0LmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFib3V0LmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9VTklRVUVfSURFTlRJRklFUl9GSUVMRCxcbiAgICBSRVNPVVJDRV9JREVOVElGSUVSX0ZJRUxELFxuICAgIFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9SRVNPVVJDRV9VUERBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9VUERBVEVEX0ZJRUxELFxuICAgIFJFQ09SRF9VUERBVEVfRlJFUVVFTkNZX0ZJRUxELFxuICAgIFJFQ09SRF9URU1QT1JBTF9FWFRFTlRTX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgR0VPR1JBUEhJQ0FMX0NPVkVSQUdFX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmdlb2dyYXBoaWNhbENvdmVyYWdlLmxhYmVsJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9TUEFUSUFMX1RPR0dMRV9GSUVMRCwgUkVDT1JEX1NQQVRJQUxfRVhURU5UU19GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBBU1NPQ0lBVEVEX1JFU09VUkNFU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hc3NvY2lhdGVkUmVzb3VyY2VzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFzc29jaWF0ZWRSZXNvdXJjZXMuZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9PTkxJTkVfUkVTT1VSQ0VTXSxcbn1cblxuZXhwb3J0IGNvbnN0IEFOTkVYRVNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYW5uZXhlcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hbm5leGVzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9PTkxJTkVfTElOS19SRVNPVVJDRVNdLFxufVxuXG5leHBvcnQgY29uc3QgQ0xBU1NJRklDQVRJT05fU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uY2xhc3NpZmljYXRpb24ubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uY2xhc3NpZmljYXRpb24uZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1JFQ09SRF9LRVlXT1JEU19GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBVU0VfQU5EX0FDQ0VTU19DT05ESVRJT05TX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLnVzZUFuZEFjY2Vzc0NvbmRpdGlvbnMubGFiZWwnKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbXG4gICAgUkVDT1JEX0xJQ0VOU0VfRklFTEQsXG4gICAgQ09OU1RSQUlOVFNfU0hPUlRDVVRTLFxuICAgIExFR0FMX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIFNFQ1VSSVRZX0NPTlNUUkFJTlRTX0ZJRUxELFxuICAgIE9USEVSX0NPTlNUUkFJTlRTX0ZJRUxELFxuICBdLFxufVxuXG5leHBvcnQgY29uc3QgREFUQV9NQU5BR0VSU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5kYXRhTWFuYWdlcnMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmRlc2NyaXB0aW9uJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTX0ZPUl9SRVNPVVJDRV9GSUVMRF0sXG59XG5cbmV4cG9ydCBjb25zdCBNRVRBREFUQV9QT0lOVF9PRl9DT05UQUNUX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcihcbiAgICAnZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24ubWV0YWRhdGFQb2ludE9mQ29udGFjdC5kZXNjcmlwdGlvbidcbiAgKSxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZmllbGRzOiBbQ09OVEFDVFNdLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBQQUdFUyAgICAgICAgICAgICoqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJR1VSQVRJT046IEVkaXRvckNvbmZpZyA9IHtcbiAgcGFnZXM6IFtcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5kZXNjcmlwdGlvbicpLFxuICAgICAgc2VjdGlvbnM6IFtUSVRMRV9TRUNUSU9OLCBBQk9VVF9TRUNUSU9OLCBHRU9HUkFQSElDQUxfQ09WRVJBR0VfU0VDVElPTl0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5yZXNzb3VyY2VzJyksXG4gICAgICBzZWN0aW9uczogW0FTU09DSUFURURfUkVTT1VSQ0VTX1NFQ1RJT04sIEFOTkVYRVNfU0VDVElPTl0sXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ucGFnZS5hY2Nlc3NBbmRDb250YWN0JyksXG4gICAgICBzZWN0aW9uczogW1xuICAgICAgICBDTEFTU0lGSUNBVElPTl9TRUNUSU9OLFxuICAgICAgICBVU0VfQU5EX0FDQ0VTU19DT05ESVRJT05TX1NFQ1RJT04sXG4gICAgICAgIERBVEFfTUFOQUdFUlNfU0VDVElPTixcbiAgICAgICAgTUVUQURBVEFfUE9JTlRfT0ZfQ09OVEFDVF9TRUNUSU9OLFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqICAgICAgICAgICBMSUNFTlNFUyAgICAgICAgICAgICoqKioqKioqKioqKioqXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKi9cbmV4cG9ydCBjb25zdCBBVkFJTEFCTEVfTElDRU5TRVM6IHN0cmluZ1tdID0gW1xuICAnY2MtYnknLFxuICAnY2MtYnktc2EnLFxuICAnY2MtemVybycsXG4gICdldGFsYWInLFxuICAnZXRhbGFiLXYyJyxcbiAgJ29kYmwnLFxuICAnb2RjLWJ5JyxcbiAgJ3BkZGwnLFxuICAndW5rbm93bicsXG5dXG5cbmV4cG9ydCBjb25zdCBPUEVOX0RBVEFfTElDRU5TRSA9ICdldGFsYWInXG5cbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtYnknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy1ieS1zYScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLXplcm8nKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5ldGFsYWInKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5ldGFsYWItdjInKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5vZGJsJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2Uub2RjLWJ5Jylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UucGRkbCcpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLnVua25vd24nKVxuXG5leHBvcnQgY29uc3QgTUFYX1VQTE9BRF9TSVpFX01CID0gMTBcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgIFNQQVRJQUwgU0NPUEUgICAgICAgICAgICAqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuXG5leHBvcnQgY29uc3QgU1BBVElBTF9TQ09QRVM6IEtleXdvcmRbXSA9IFtcbiAge1xuICAgIGtleTogJ2h0dHA6Ly9pbnNwaXJlLmVjLmV1cm9wYS5ldS9tZXRhZGF0YS1jb2RlbGlzdC9TcGF0aWFsU2NvcGUvbmF0aW9uYWwnLFxuICAgIGxhYmVsOiAnTmF0aW9uYWwnLFxuICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICB0eXBlOiAndGhlbWUnLFxuICB9LFxuICB7XG4gICAga2V5OiAnaHR0cDovL2luc3BpcmUuZWMuZXVyb3BhLmV1L21ldGFkYXRhLWNvZGVsaXN0L1NwYXRpYWxTY29wZS9yZWdpb25hbCcsXG4gICAgbGFiZWw6ICdSZWdpb25hbCcsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIHR5cGU6ICd0aGVtZScsXG4gIH0sXG5dXG4iXX0=
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZmVhdHVyZS9lZGl0b3Ivc3JjL2xpYi9maWVsZHMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQVFoRTs7Ozs7R0FLRztBQUVIOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFnQjtJQUN6RCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7SUFDRCxNQUFNLEVBQUUsSUFBSTtDQUNiLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0I7SUFDaEQsYUFBYSxFQUFFLGtDQUFrQztJQUNqRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLCtDQUErQyxDQUFDO0tBQ2xFO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFnQjtJQUNsRCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxNQUFNLENBQUMsMkNBQTJDLENBQUM7S0FDOUQ7Q0FDRixDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQWdCO0lBQ3JELEtBQUssRUFBRSxxQkFBcUI7SUFDNUIsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLE1BQU0sQ0FBQyw4Q0FBOEMsQ0FBQztLQUNqRTtDQUNGLENBQUE7QUFDRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBZ0I7SUFDbEQsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0tBQzlEO0NBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixH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NUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFBO0FBQ3BDOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBYztJQUN2QztRQUNFLEdBQUcsRUFBRSxxRUFBcUU7UUFDMUUsS0FBSyxFQUFFLFVBQVU7UUFDakIsV0FBVyxFQUFFLEVBQUU7UUFDZixJQUFJLEVBQUUsT0FBTztLQUNkO0lBQ0Q7UUFDRSxHQUFHLEVBQUUscUVBQXFFO1FBQzFFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsSUFBSSxFQUFFLE9BQU87S0FDZDtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBFZGl0b3JDb25maWcsXG4gIEVkaXRvckZpZWxkLFxuICBFZGl0b3JTZWN0aW9uLFxufSBmcm9tICcuL21vZGVscy9lZGl0b3ItY29uZmlnLm1vZGVsJ1xuaW1wb3J0IHsgS2V5d29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcblxuLyoqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpZWxkcyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGluIHRoZSBlZGl0b3IuXG4gKiBUbyBhZGQgYSBuZXcgZmllbGQsIHlvdSBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBFZGl0b3JGaWVsZCBvYmplY3QgaW4gdGhlIGZpZWxkcyBwYXJ0IG9mIHRoaXMgZmlsZS5cbiAqIFRoZW4gYWRkIGl0IHRvIHRoZSBjb3JyZXNwb25kaW5nIHNlY3Rpb24gaW4gdGhlIHNlY3Rpb25zIHBhcnQgb2YgdGhpcyBmaWxlLlxuICogRmluYWxseSwgYWRkIHRoZSBzZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHBhZ2UgaW4gdGhlIHBhZ2VzIHBhcnQgb2YgdGhpcyBmaWxlLlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgICAgIEZJRUxEUyAgICAgICAgICAgKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VOSVFVRV9JREVOVElGSUVSX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd1bmlxdWVJZGVudGlmaWVyJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnVuaXF1ZUlkZW50aWZpZXInKSxcbiAgfSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgQ09OU1RSQUlOVFNfU0hPUlRDVVRTOiBFZGl0b3JGaWVsZCA9IHtcbiAgY29tcG9uZW50TmFtZTogJ2Zvcm0tZmllbGQtY29uc3RyYWludHMtc2hvcnRjdXRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmNvbnN0cmFpbnRzU2hvcnRjdXRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBMRUdBTF9DT05TVFJBSU5UU19GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnbGVnYWxDb25zdHJhaW50cycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5sZWdhbENvbnN0cmFpbnRzJyksXG4gIH0sXG59XG5leHBvcnQgY29uc3QgU0VDVVJJVFlfQ09OU1RSQUlOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3NlY3VyaXR5Q29uc3RyYWludHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQuc2VjdXJpdHlDb25zdHJhaW50cycpLFxuICB9LFxufVxuZXhwb3J0IGNvbnN0IE9USEVSX0NPTlNUUkFJTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvdGhlckNvbnN0cmFpbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLm90aGVyQ29uc3RyYWludHMnKSxcbiAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9MSUNFTlNFX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdsaWNlbnNlcycsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5saWNlbnNlJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfS0VZV09SRFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2tleXdvcmRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9SRVNPVVJDRV9DUkVBVEVEX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdyZXNvdXJjZUNyZWF0ZWQnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQucmVzb3VyY2VDcmVhdGVkJyksXG4gIH0sXG4gIGdyaWRDb2x1bW5TcGFuOiAxLFxufVxuXG5leHBvcnQgY29uc3QgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVzb3VyY2VJZGVudGlmaWVyJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnJlc291cmNlSWRlbnRpZmllcicpLFxuICB9LFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1JFU09VUkNFX1VQREFURURfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3Jlc291cmNlVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZXNvdXJjZVVwZGF0ZWQnKSxcbiAgfSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVVBEQVRFRF9GSUVMRDogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAncmVjb3JkVXBkYXRlZCcsXG4gIGZvcm1GaWVsZENvbmZpZzoge1xuICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5maWVsZC5yZWNvcmRVcGRhdGVkJyksXG4gIH0sXG4gIG9uU2F2ZVByb2Nlc3M6ICcke2RhdGVOb3coKX0nLFxuICBncmlkQ29sdW1uU3BhbjogMSxcbiAgaGlkZGVuOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgUkVDT1JEX1VQREFURV9GUkVRVUVOQ1lfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3VwZGF0ZUZyZXF1ZW5jeScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG4vLyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYWJlbCB0byBub3QgbG9zZSBleGlzdGluZyB0cmFuc2xhdGlvblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudXBkYXRlRnJlcXVlbmN5JylcblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9URU1QT1JBTF9FWFRFTlRTX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICd0ZW1wb3JhbEV4dGVudHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQudGVtcG9yYWxFeHRlbnRzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfVElUTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3RpdGxlJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLnRpdGxlJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfQUJTVFJBQ1RfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2Fic3RyYWN0JyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7XG4gICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmZpZWxkLmFic3RyYWN0JyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ2NvbnRhY3RzRm9yUmVzb3VyY2UnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBDT05UQUNUUzogRWRpdG9yRmllbGQgPSB7XG4gIG1vZGVsOiAnY29udGFjdHMnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogJycsXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfR1JBUEhJQ0FMX09WRVJWSUVXX0ZJRUxEOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvdmVydmlld3MnLFxuICBmb3JtRmllbGRDb25maWc6IHtcbiAgICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uZmllbGQub3ZlcnZpZXdzJyksXG4gIH0sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBjb21wb25lbnROYW1lOiAnZm9ybS1maWVsZC1zcGF0aWFsLXRvZ2dsZScsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG4gIGhpZGRlbjogdHJ1ZSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTEQ6IEVkaXRvckZpZWxkID0ge1xuICBtb2RlbDogJ3NwYXRpYWxFeHRlbnRzJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuZXhwb3J0IGNvbnN0IFJFQ09SRF9PTkxJTkVfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTohbGluaycsXG4gIGZvcm1GaWVsZENvbmZpZzoge30sXG59XG5cbmV4cG9ydCBjb25zdCBSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTOiBFZGl0b3JGaWVsZCA9IHtcbiAgbW9kZWw6ICdvbmxpbmVSZXNvdXJjZXMnLFxuICBtb2RlbFNwZWNpZmllcjogJ29ubGluZVJlc291cmNlVHlwZTpsaW5rJyxcbiAgZm9ybUZpZWxkQ29uZmlnOiB7fSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICBTRUNUSU9OUyAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBUSVRMRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVElUTEVfRklFTEQsXG4gICAgUkVDT1JEX0FCU1RSQUNUX0ZJRUxELFxuICAgIFJFQ09SRF9HUkFQSElDQUxfT1ZFUlZJRVdfRklFTEQsXG4gIF0sXG59XG5cbmV4cG9ydCBjb25zdCBBQk9VVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hYm91dC5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtcbiAgICBSRUNPUkRfVU5JUVVFX0lERU5USUZJRVJfRklFTEQsXG4gICAgUkVTT1VSQ0VfSURFTlRJRklFUl9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfQ1JFQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfUkVTT1VSQ0VfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFRF9GSUVMRCxcbiAgICBSRUNPUkRfVVBEQVRFX0ZSRVFVRU5DWV9GSUVMRCxcbiAgICBSRUNPUkRfVEVNUE9SQUxfRVhURU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5nZW9ncmFwaGljYWxDb3ZlcmFnZS5sYWJlbCcpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfU1BBVElBTF9UT0dHTEVfRklFTEQsIFJFQ09SRF9TUEFUSUFMX0VYVEVOVFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgQVNTT0NJQVRFRF9SRVNPVVJDRVNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYXNzb2NpYXRlZFJlc291cmNlcy5sYWJlbCcpLFxuICBkZXNjcmlwdGlvbktleTogbWFya2VyKFxuICAgICdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5hc3NvY2lhdGVkUmVzb3VyY2VzLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX1JFU09VUkNFU10sXG59XG5cbmV4cG9ydCBjb25zdCBBTk5FWEVTX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmFubmV4ZXMubGFiZWwnKSxcbiAgZGVzY3JpcHRpb25LZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uYW5uZXhlcy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfT05MSU5FX0xJTktfUkVTT1VSQ0VTXSxcbn1cblxuZXhwb3J0IGNvbnN0IENMQVNTSUZJQ0FUSU9OX1NFQ1RJT046IEVkaXRvclNlY3Rpb24gPSB7XG4gIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmNsYXNzaWZpY2F0aW9uLmRlc2NyaXB0aW9uJ1xuICApLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtSRUNPUkRfS0VZV09SRFNfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgVVNFX0FORF9BQ0NFU1NfQ09ORElUSU9OU19TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi51c2VBbmRBY2Nlc3NDb25kaXRpb25zLmxhYmVsJyksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW1xuICAgIFJFQ09SRF9MSUNFTlNFX0ZJRUxELFxuICAgIENPTlNUUkFJTlRTX1NIT1JUQ1VUUyxcbiAgICBMRUdBTF9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBTRUNVUklUWV9DT05TVFJBSU5UU19GSUVMRCxcbiAgICBPVEhFUl9DT05TVFJBSU5UU19GSUVMRCxcbiAgXSxcbn1cblxuZXhwb3J0IGNvbnN0IERBVEFfTUFOQUdFUlNfU0VDVElPTjogRWRpdG9yU2VjdGlvbiA9IHtcbiAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnNlY3Rpb24uZGF0YU1hbmFnZXJzLmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLmRhdGFNYW5hZ2Vycy5kZXNjcmlwdGlvbicpLFxuICBoaWRkZW46IGZhbHNlLFxuICBmaWVsZHM6IFtDT05UQUNUU19GT1JfUkVTT1VSQ0VfRklFTERdLFxufVxuXG5leHBvcnQgY29uc3QgTUVUQURBVEFfUE9JTlRfT0ZfQ09OVEFDVF9TRUNUSU9OOiBFZGl0b3JTZWN0aW9uID0ge1xuICBsYWJlbEtleTogbWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0uc2VjdGlvbi5tZXRhZGF0YVBvaW50T2ZDb250YWN0LmxhYmVsJyksXG4gIGRlc2NyaXB0aW9uS2V5OiBtYXJrZXIoXG4gICAgJ2VkaXRvci5yZWNvcmQuZm9ybS5zZWN0aW9uLm1ldGFkYXRhUG9pbnRPZkNvbnRhY3QuZGVzY3JpcHRpb24nXG4gICksXG4gIGhpZGRlbjogZmFsc2UsXG4gIGZpZWxkczogW0NPTlRBQ1RTXSxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgICAgUEFHRVMgICAgICAgICAgICAqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUdVUkFUSU9OOiBFZGl0b3JDb25maWcgPSB7XG4gIHBhZ2VzOiBbXG4gICAge1xuICAgICAgbGFiZWxLZXk6IG1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLnBhZ2UuZGVzY3JpcHRpb24nKSxcbiAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgIFRJVExFX1NFQ1RJT04sXG4gICAgICAgIEFCT1VUX1NFQ1RJT04sXG4gICAgICAgIENMQVNTSUZJQ0FUSU9OX1NFQ1RJT04sXG4gICAgICAgIEdFT0dSQVBISUNBTF9DT1ZFUkFHRV9TRUNUSU9OLFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5wYWdlLnJlc3NvdXJjZXMnKSxcbiAgICAgIHNlY3Rpb25zOiBbQVNTT0NJQVRFRF9SRVNPVVJDRVNfU0VDVElPTiwgQU5ORVhFU19TRUNUSU9OXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsS2V5OiBtYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5wYWdlLmFjY2Vzc0FuZENvbnRhY3QnKSxcbiAgICAgIHNlY3Rpb25zOiBbXG4gICAgICAgIFVTRV9BTkRfQUNDRVNTX0NPTkRJVElPTlNfU0VDVElPTixcbiAgICAgICAgREFUQV9NQU5BR0VSU19TRUNUSU9OLFxuICAgICAgICBNRVRBREFUQV9QT0lOVF9PRl9DT05UQUNUX1NFQ1RJT04sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKiogICAgICAgICAgIExJQ0VOU0VTICAgICAgICAgICAgKioqKioqKioqKioqKipcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqL1xuZXhwb3J0IGNvbnN0IEFWQUlMQUJMRV9MSUNFTlNFUzogc3RyaW5nW10gPSBbXG4gICdjYy1ieScsXG4gICdjYy1ieS1zYScsXG4gICdjYy16ZXJvJyxcbiAgJ2V0YWxhYicsXG4gICdldGFsYWItdjInLFxuICAnb2RibCcsXG4gICdvZGMtYnknLFxuICAncGRkbCcsXG4gICd1bmtub3duJyxcbl1cblxuZXhwb3J0IGNvbnN0IE9QRU5fREFUQV9MSUNFTlNFID0gJ2V0YWxhYidcblxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5jYy1ieScpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmNjLWJ5LXNhJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UuY2MtemVybycpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmV0YWxhYicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLmV0YWxhYi12MicpXG5tYXJrZXIoJ2VkaXRvci5yZWNvcmQuZm9ybS5saWNlbnNlLm9kYmwnKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5vZGMtYnknKVxubWFya2VyKCdlZGl0b3IucmVjb3JkLmZvcm0ubGljZW5zZS5wZGRsJylcbm1hcmtlcignZWRpdG9yLnJlY29yZC5mb3JtLmxpY2Vuc2UudW5rbm93bicpXG5cbmV4cG9ydCBjb25zdCBNQVhfVVBMT0FEX1NJWkVfTUIgPSAxMFxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKiAgICAgICAgU1BBVElBTCBTQ09QRSAgICAgICAgICAgICoqKioqKioqKioqKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICovXG5cbmV4cG9ydCBjb25zdCBTUEFUSUFMX1NDT1BFUzogS2V5d29yZFtdID0gW1xuICB7XG4gICAga2V5OiAnaHR0cDovL2luc3BpcmUuZWMuZXVyb3BhLmV1L21ldGFkYXRhLWNvZGVsaXN0L1NwYXRpYWxTY29wZS9uYXRpb25hbCcsXG4gICAgbGFiZWw6ICdOYXRpb25hbCcsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIHR5cGU6ICd0aGVtZScsXG4gIH0sXG4gIHtcbiAgICBrZXk6ICdodHRwOi8vaW5zcGlyZS5lYy5ldXJvcGEuZXUvbWV0YWRhdGEtY29kZWxpc3QvU3BhdGlhbFNjb3BlL3JlZ2lvbmFsJyxcbiAgICBsYWJlbDogJ1JlZ2lvbmFsJyxcbiAgICBkZXNjcmlwdGlvbjogJycsXG4gICAgdHlwZTogJ3RoZW1lJyxcbiAgfSxcbl1cbiJdfQ==
@@ -5,6 +5,7 @@ export * from './lib/content-ghost/content-ghost.component';
5
5
  export * from './lib/download-item/download-item.component';
6
6
  export * from './lib/downloads-list/downloads-list.component';
7
7
  export * from './lib/error/error.component';
8
+ export * from './lib/image-input/image-input.component';
8
9
  export * from './lib/image-overlay-preview/image-overlay-preview.component';
9
10
  export * from './lib/link-card/link-card.component';
10
11
  export * from './lib/markdown-editor/markdown-editor.component';
@@ -19,6 +20,6 @@ export * from './lib/record-api-form/record-api-form.component';
19
20
  export * from './lib/related-record-card/related-record-card.component';
20
21
  export * from './lib/thumbnail/thumbnail.component';
21
22
  export * from './lib/ui-elements.module';
22
- export * from './lib/user-preview/user-preview.component';
23
23
  export * from './lib/user-feedback-item/user-feedback-item.component';
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLHlEQUF5RCxDQUFBO0FBQ3ZFLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYywwQkFBMEIsQ0FBQTtBQUN4QyxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsdURBQXVELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcGktY2FyZC9hcGktY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpcm1hdGlvbi1kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250ZW50LWdob3N0L2NvbnRlbnQtZ2hvc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWQtaXRlbS9kb3dubG9hZC1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rvd25sb2Fkcy1saXN0L2Rvd25sb2Fkcy1saXN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Vycm9yL2Vycm9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLW92ZXJsYXktcHJldmlldy9pbWFnZS1vdmVybGF5LXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGluay1jYXJkL2xpbmstY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tYXJrZG93bi1lZGl0b3IvbWFya2Rvd24tZWRpdG9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcmtkb3duLXBhcnNlci9tYXJrZG93bi1wYXJzZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtY2F0YWxvZy9tZXRhZGF0YS1jYXRhbG9nLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWNvbnRhY3QvbWV0YWRhdGEtY29udGFjdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1pbmZvL21ldGFkYXRhLWluZm8uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtcXVhbGl0eS1pdGVtL21ldGFkYXRhLXF1YWxpdHktaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1xdWFsaXR5L21ldGFkYXRhLXF1YWxpdHkuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZWNvcmQtYXBpLWZvcm0vcmVjb3JkLWFwaS1mb3JtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlbGF0ZWQtcmVjb3JkLWNhcmQvcmVsYXRlZC1yZWNvcmQtY2FyZC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aHVtYm5haWwvdGh1bWJuYWlsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpLWVsZW1lbnRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItcHJldmlldy91c2VyLXByZXZpZXcuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1mZWVkYmFjay1pdGVtL3VzZXItZmVlZGJhY2staXRlbS5jb21wb25lbnQnXG4iXX0=
24
+ export * from './lib/user-preview/user-preview.component';
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2VsZW1lbnRzL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLDZDQUE2QyxDQUFBO0FBQzNELGNBQWMsNkNBQTZDLENBQUE7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyw2REFBNkQsQ0FBQTtBQUMzRSxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYyxpREFBaUQsQ0FBQTtBQUMvRCxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxxQ0FBcUMsQ0FBQTtBQUNuRCxjQUFjLDBCQUEwQixDQUFBO0FBQ3hDLGNBQWMsdURBQXVELENBQUE7QUFDckUsY0FBYywyQ0FBMkMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS1jYXJkL2FwaS1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRlbnQtZ2hvc3QvY29udGVudC1naG9zdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kb3dubG9hZC1pdGVtL2Rvd25sb2FkLWl0ZW0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZG93bmxvYWRzLWxpc3QvZG93bmxvYWRzLWxpc3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3IvZXJyb3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtaW5wdXQvaW1hZ2UtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2Utb3ZlcmxheS1wcmV2aWV3L2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9saW5rLWNhcmQvbGluay1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21hcmtkb3duLWVkaXRvci9tYXJrZG93bi1lZGl0b3IuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1jYXRhbG9nL21ldGFkYXRhLWNhdGFsb2cuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWV0YWRhdGEtY29udGFjdC9tZXRhZGF0YS1jb250YWN0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLWluZm8vbWV0YWRhdGEtaW5mby5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZXRhZGF0YS1xdWFsaXR5LWl0ZW0vbWV0YWRhdGEtcXVhbGl0eS1pdGVtLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL21ldGFkYXRhLXF1YWxpdHkvbWV0YWRhdGEtcXVhbGl0eS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3JlY29yZC1hcGktZm9ybS9yZWNvcmQtYXBpLWZvcm0uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVsYXRlZC1yZWNvcmQtY2FyZC9yZWxhdGVkLXJlY29yZC1jYXJkLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktZWxlbWVudHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1mZWVkYmFjay1pdGVtL3VzZXItZmVlZGJhY2staXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91c2VyLXByZXZpZXcvdXNlci1wcmV2aWV3LmNvbXBvbmVudCdcbiJdfQ==
@@ -0,0 +1,213 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HttpClient } from '@angular/common/http';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, } from '@angular/core';
4
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
5
+ import { marker } from '@biesbjerg/ngx-translate-extract-marker';
6
+ import { ButtonComponent, FilesDropDirective, TextInputComponent, UrlInputComponent, } from '../../../../../../libs/ui/inputs/src';
7
+ import { downgradeImage, megabytesToBytes } from '../../../../../../libs/util/shared/src';
8
+ import { NgIconComponent, provideIcons, provideNgIconsConfig, } from '@ng-icons/core';
9
+ import { iconoirBin, iconoirFramePlusIn, iconoirLink, iconoirMediaImage, iconoirMediaImageXmark, iconoirPlus, } from '@ng-icons/iconoir';
10
+ import { TranslateModule } from '@ngx-translate/core';
11
+ import { firstValueFrom } from 'rxjs';
12
+ import { ImageOverlayPreviewComponent } from '../image-overlay-preview/image-overlay-preview.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common/http";
15
+ import * as i2 from "@angular/common";
16
+ import * as i3 from "@angular/material/progress-spinner";
17
+ import * as i4 from "@ngx-translate/core";
18
+ export class ImageInputComponent {
19
+ get isUploadInProgress() {
20
+ return this.uploadProgress !== undefined;
21
+ }
22
+ constructor(http, cd) {
23
+ this.http = http;
24
+ this.cd = cd;
25
+ this.disabled = false;
26
+ this.fileChange = new EventEmitter();
27
+ this.urlChange = new EventEmitter();
28
+ this.uploadCancel = new EventEmitter();
29
+ this.delete = new EventEmitter();
30
+ this.altTextChange = new EventEmitter();
31
+ this.dragFilesOver = false;
32
+ this.showUrlInput = false;
33
+ this.downloadError = false;
34
+ this.showAltTextInput = false;
35
+ }
36
+ getPrimaryText() {
37
+ if (this.uploadError) {
38
+ return marker('input.image.uploadErrorLabel');
39
+ }
40
+ if (this.uploadProgress) {
41
+ return marker('input.image.uploadProgressLabel');
42
+ }
43
+ return marker('input.image.selectFileLabel');
44
+ }
45
+ getSecondaryText() {
46
+ if (this.uploadError) {
47
+ return marker('input.image.uploadErrorRetry');
48
+ }
49
+ if (this.uploadProgress) {
50
+ return marker('input.image.uploadProgressCancel');
51
+ }
52
+ return marker('input.image.dropFileLabel');
53
+ }
54
+ handleDragFilesOver(dragFilesOver) {
55
+ if (!this.showUrlInput) {
56
+ this.dragFilesOver = dragFilesOver;
57
+ this.cd.markForCheck();
58
+ }
59
+ }
60
+ handleDropFiles(files) {
61
+ if (!this.showUrlInput) {
62
+ const validFiles = this.filterTypeImage(files);
63
+ if (validFiles.length > 0) {
64
+ this.resizeAndEmit(validFiles[0]);
65
+ }
66
+ }
67
+ }
68
+ handleFileInput(event) {
69
+ const inputFiles = Array.from(event.target.files);
70
+ const validFiles = this.filterTypeImage(inputFiles);
71
+ if (validFiles.length > 0) {
72
+ this.resizeAndEmit(validFiles[0]);
73
+ }
74
+ }
75
+ displayUrlInput() {
76
+ this.uploadCancel.emit();
77
+ this.showUrlInput = true;
78
+ }
79
+ async downloadUrl(url) {
80
+ this.downloadError = false;
81
+ const name = url.split('/').pop();
82
+ try {
83
+ const response = await firstValueFrom(this.http.head(url, { observe: 'response' }));
84
+ if (response.headers.get('content-type')?.startsWith('image/') &&
85
+ parseInt(response.headers.get('content-length')) <
86
+ megabytesToBytes(this.maxSizeMB)) {
87
+ this.http.get(url, { responseType: 'blob' }).subscribe({
88
+ next: (blob) => {
89
+ this.cd.markForCheck();
90
+ const file = new File([blob], name);
91
+ this.fileChange.emit(file);
92
+ },
93
+ error: () => {
94
+ this.downloadError = true;
95
+ this.cd.markForCheck();
96
+ this.urlChange.emit(url);
97
+ },
98
+ });
99
+ }
100
+ }
101
+ catch {
102
+ this.downloadError = true;
103
+ this.cd.markForCheck();
104
+ return;
105
+ }
106
+ }
107
+ handleSecondaryTextClick(event) {
108
+ if (this.uploadError) {
109
+ this.handleRetry();
110
+ }
111
+ else if (this.uploadProgress) {
112
+ this.handleCancel();
113
+ event.preventDefault();
114
+ }
115
+ }
116
+ handleCancel() {
117
+ this.uploadCancel.emit();
118
+ }
119
+ handleRetry() {
120
+ switch (this.lastUploadType) {
121
+ case 'file':
122
+ this.fileChange.emit(this.lastUploadContent);
123
+ break;
124
+ case 'url':
125
+ this.urlChange.emit(this.lastUploadContent);
126
+ break;
127
+ }
128
+ }
129
+ handleDelete() {
130
+ this.delete.emit();
131
+ }
132
+ toggleAltTextInput() {
133
+ this.showAltTextInput = !this.showAltTextInput;
134
+ }
135
+ handleAltTextChange(altText) {
136
+ this.altTextChange.emit(altText);
137
+ }
138
+ filterTypeImage(files) {
139
+ return files.filter((file) => {
140
+ return file.type.startsWith('image/');
141
+ });
142
+ }
143
+ resizeAndEmit(imageToResize) {
144
+ const maxSizeBytes = megabytesToBytes(this.maxSizeMB);
145
+ downgradeImage(imageToResize, maxSizeBytes).then((resizedImage) => {
146
+ const fileToEmit = new File([resizedImage], imageToResize.name);
147
+ this.fileChange.emit(fileToEmit);
148
+ });
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError", disabled: "disabled" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, providers: [
152
+ provideIcons({
153
+ iconoirMediaImage,
154
+ iconoirFramePlusIn,
155
+ iconoirMediaImageXmark,
156
+ iconoirBin,
157
+ iconoirPlus,
158
+ iconoirLink,
159
+ }),
160
+ provideNgIconsConfig({
161
+ size: '1.5rem',
162
+ }),
163
+ ], ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"\n showUrlInput || isUploadInProgress || uploadError || disabled\n \"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ImageOverlayPreviewComponent, selector: "gn-ui-image-overlay-preview", inputs: ["imageUrl"], outputs: ["isPlaceholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, decorators: [{
166
+ type: Component,
167
+ args: [{ selector: 'gn-ui-image-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
168
+ CommonModule,
169
+ ButtonComponent,
170
+ FilesDropDirective,
171
+ MatProgressSpinnerModule,
172
+ TranslateModule,
173
+ UrlInputComponent,
174
+ TextInputComponent,
175
+ NgIconComponent,
176
+ ImageOverlayPreviewComponent,
177
+ ], providers: [
178
+ provideIcons({
179
+ iconoirMediaImage,
180
+ iconoirFramePlusIn,
181
+ iconoirMediaImageXmark,
182
+ iconoirBin,
183
+ iconoirPlus,
184
+ iconoirLink,
185
+ }),
186
+ provideNgIconsConfig({
187
+ size: '1.5rem',
188
+ }),
189
+ ], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"\n showUrlInput || isUploadInProgress || uploadError || disabled\n \"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
190
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { maxSizeMB: [{
191
+ type: Input
192
+ }], previewUrl: [{
193
+ type: Input
194
+ }], altText: [{
195
+ type: Input
196
+ }], uploadProgress: [{
197
+ type: Input
198
+ }], uploadError: [{
199
+ type: Input
200
+ }], disabled: [{
201
+ type: Input
202
+ }], fileChange: [{
203
+ type: Output
204
+ }], urlChange: [{
205
+ type: Output
206
+ }], uploadCancel: [{
207
+ type: Output
208
+ }], delete: [{
209
+ type: Output
210
+ }], altTextChange: [{
211
+ type: Output
212
+ }] } });
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1pbnB1dC9pbWFnZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUM3RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFDaEUsT0FBTyxFQUNMLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGlCQUFpQixHQUNsQixNQUFNLHNDQUFzQyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUN6RixPQUFPLEVBQ0wsZUFBZSxFQUNmLFlBQVksRUFDWixvQkFBb0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBQ0wsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixXQUFXLEdBQ1osTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQs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QW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZiw0QkFBNEI7cUJBQzdCLGFBQ1U7d0JBQ1QsWUFBWSxDQUFDOzRCQUNYLGlCQUFpQjs0QkFDakIsa0JBQWtCOzRCQUNsQixzQkFBc0I7NEJBQ3RCLFVBQVU7NEJBQ1YsV0FBVzs0QkFDWCxXQUFXO3lCQUNaLENBQUM7d0JBQ0Ysb0JBQW9CLENBQUM7NEJBQ25CLElBQUksRUFBRSxRQUFRO3lCQUNmLENBQUM7cUJBQ0g7K0dBR1EsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJ1xuaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBGaWxlc0Ryb3BEaXJlY3RpdmUsXG4gIFRleHRJbnB1dENvbXBvbmVudCxcbiAgVXJsSW5wdXRDb21wb25lbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYydcbmltcG9ydCB7IGRvd25ncmFkZUltYWdlLCBtZWdhYnl0ZXNUb0J5dGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQge1xuICBOZ0ljb25Db21wb25lbnQsXG4gIHByb3ZpZGVJY29ucyxcbiAgcHJvdmlkZU5nSWNvbnNDb25maWcsXG59IGZyb20gJ0BuZy1pY29ucy9jb3JlJ1xuaW1wb3J0IHtcbiAgaWNvbm9pckJpbixcbiAgaWNvbm9pckZyYW1lUGx1c0luLFxuICBpY29ub2lyTGluayxcbiAgaWNvbm9pck1lZGlhSW1hZ2UsXG4gIGljb25vaXJNZWRpYUltYWdlWG1hcmssXG4gIGljb25vaXJQbHVzLFxufSBmcm9tICdAbmctaWNvbnMvaWNvbm9pcidcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBJbWFnZU92ZXJsYXlQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vaW1hZ2Utb3ZlcmxheS1wcmV2aWV3L2ltYWdlLW92ZXJsYXktcHJldmlldy5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWltYWdlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtaW5wdXQuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgRmlsZXNEcm9wRGlyZWN0aXZlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgVXJsSW5wdXRDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIE5nSWNvbkNvbXBvbmVudCxcbiAgICBJbWFnZU92ZXJsYXlQcmV2aWV3Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlSWNvbnMoe1xuICAgICAgaWNvbm9pck1lZGlhSW1hZ2UsXG4gICAgICBpY29ub2lyRnJhbWVQbHVzSW4sXG4gICAgICBpY29ub2lyTWVkaWFJbWFnZVhtYXJrLFxuICAgICAgaWNvbm9pckJpbixcbiAgICAgIGljb25vaXJQbHVzLFxuICAgICAgaWNvbm9pckxpbmssXG4gICAgfSksXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNXJlbScsXG4gICAgfSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlSW5wdXRDb21wb25lbnQge1xuICBASW5wdXQoKSBtYXhTaXplTUI6IG51bWJlclxuICBASW5wdXQoKSBwcmV2aWV3VXJsPzogc3RyaW5nXG4gIEBJbnB1dCgpIGFsdFRleHQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdXBsb2FkUHJvZ3Jlc3M/OiBudW1iZXJcbiAgQElucHV0KCkgdXBsb2FkRXJyb3I/OiBib29sZWFuXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBPdXRwdXQoKSBmaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHVybENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHVwbG9hZENhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBkZWxldGU6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgYWx0VGV4dENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBkcmFnRmlsZXNPdmVyID0gZmFsc2VcbiAgc2hvd1VybElucHV0ID0gZmFsc2VcbiAgZG93bmxvYWRFcnJvciA9IGZhbHNlXG4gIHNob3dBbHRUZXh0SW5wdXQgPSBmYWxzZVxuXG4gIGxhc3RVcGxvYWRUeXBlPzogJ2ZpbGUnIHwgJ3VybCdcbiAgbGFzdFVwbG9hZENvbnRlbnQ/OiBzdHJpbmcgfCBGaWxlXG5cbiAgZ2V0IGlzVXBsb2FkSW5Qcm9ncmVzcygpIHtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRQcm9ncmVzcyAhPT0gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIGdldFByaW1hcnlUZXh0KCkge1xuICAgIGlmICh0aGlzLnVwbG9hZEVycm9yKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRFcnJvckxhYmVsJylcbiAgICB9XG4gICAgaWYgKHRoaXMudXBsb2FkUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLnVwbG9hZFByb2dyZXNzTGFiZWwnKVxuICAgIH1cbiAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS5zZWxlY3RGaWxlTGFiZWwnKVxuICB9XG5cbiAgZ2V0U2Vjb25kYXJ5VGV4dCgpIHtcbiAgICBpZiAodGhpcy51cGxvYWRFcnJvcikge1xuICAgICAgcmV0dXJuIG1hcmtlcignaW5wdXQuaW1hZ2UudXBsb2FkRXJyb3JSZXRyeScpXG4gICAgfVxuICAgIGlmICh0aGlzLnVwbG9hZFByb2dyZXNzKSB7XG4gICAgICByZXR1cm4gbWFya2VyKCdpbnB1dC5pbWFnZS51cGxvYWRQcm9ncmVzc0NhbmNlbCcpXG4gICAgfVxuICAgIHJldHVybiBtYXJrZXIoJ2lucHV0LmltYWdlLmRyb3BGaWxlTGFiZWwnKVxuICB9XG5cbiAgaGFuZGxlRHJhZ0ZpbGVzT3ZlcihkcmFnRmlsZXNPdmVyOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnNob3dVcmxJbnB1dCkge1xuICAgICAgdGhpcy5kcmFnRmlsZXNPdmVyID0gZHJhZ0ZpbGVzT3ZlclxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZURyb3BGaWxlcyhmaWxlczogRmlsZVtdKSB7XG4gICAgaWYgKCF0aGlzLnNob3dVcmxJbnB1dCkge1xuICAgICAgY29uc3QgdmFsaWRGaWxlcyA9IHRoaXMuZmlsdGVyVHlwZUltYWdlKGZpbGVzKVxuICAgICAgaWYgKHZhbGlkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJlc2l6ZUFuZEVtaXQodmFsaWRGaWxlc1swXSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoYW5kbGVGaWxlSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgaW5wdXRGaWxlcyA9IEFycmF5LmZyb20oKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5maWxlcylcbiAgICBjb25zdCB2YWxpZEZpbGVzID0gdGhpcy5maWx0ZXJUeXBlSW1hZ2UoaW5wdXRGaWxlcylcbiAgICBpZiAodmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlc2l6ZUFuZEVtaXQodmFsaWRGaWxlc1swXSlcbiAgICB9XG4gIH1cblxuICBkaXNwbGF5VXJsSW5wdXQoKSB7XG4gICAgdGhpcy51cGxvYWRDYW5jZWwuZW1pdCgpXG4gICAgdGhpcy5zaG93VXJsSW5wdXQgPSB0cnVlXG4gIH1cblxuICBhc3luYyBkb3dubG9hZFVybCh1cmw6IHN0cmluZykge1xuICAgIHRoaXMuZG93bmxvYWRFcnJvciA9IGZhbHNlXG4gICAgY29uc3QgbmFtZSA9IHVybC5zcGxpdCgnLycpLnBvcCgpXG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLmhlYWQodXJsLCB7IG9ic2VydmU6ICdyZXNwb25zZScgfSlcbiAgICAgIClcbiAgICAgIGlmIChcbiAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpPy5zdGFydHNXaXRoKCdpbWFnZS8nKSAmJlxuICAgICAgICBwYXJzZUludChyZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC1sZW5ndGgnKSkgPFxuICAgICAgICAgIG1lZ2FieXRlc1RvQnl0ZXModGhpcy5tYXhTaXplTUIpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5odHRwLmdldCh1cmwsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoYmxvYikgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgbmFtZSlcbiAgICAgICAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb3dubG9hZEVycm9yID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh1cmwpXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZG93bmxvYWRFcnJvciA9IHRydWVcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVNlY29uZGFyeVRleHRDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy51cGxvYWRFcnJvcikge1xuICAgICAgdGhpcy5oYW5kbGVSZXRyeSgpXG4gICAgfSBlbHNlIGlmICh0aGlzLnVwbG9hZFByb2dyZXNzKSB7XG4gICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlQ2FuY2VsKCkge1xuICAgIHRoaXMudXBsb2FkQ2FuY2VsLmVtaXQoKVxuICB9XG5cbiAgaGFuZGxlUmV0cnkoKSB7XG4gICAgc3dpdGNoICh0aGlzLmxhc3RVcGxvYWRUeXBlKSB7XG4gICAgICBjYXNlICdmaWxlJzpcbiAgICAgICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQodGhpcy5sYXN0VXBsb2FkQ29udGVudCBhcyBGaWxlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAndXJsJzpcbiAgICAgICAgdGhpcy51cmxDaGFuZ2UuZW1pdCh0aGlzLmxhc3RVcGxvYWRDb250ZW50IGFzIHN0cmluZylcbiAgICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVEZWxldGUoKSB7XG4gICAgdGhpcy5kZWxldGUuZW1pdCgpXG4gIH1cblxuICB0b2dnbGVBbHRUZXh0SW5wdXQoKSB7XG4gICAgdGhpcy5zaG93QWx0VGV4dElucHV0ID0gIXRoaXMuc2hvd0FsdFRleHRJbnB1dFxuICB9XG5cbiAgaGFuZGxlQWx0VGV4dENoYW5nZShhbHRUZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmFsdFRleHRDaGFuZ2UuZW1pdChhbHRUZXh0KVxuICB9XG5cbiAgcHJpdmF0ZSBmaWx0ZXJUeXBlSW1hZ2UoZmlsZXM6IEZpbGVbXSkge1xuICAgIHJldHVybiBmaWxlcy5maWx0ZXIoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXNpemVBbmRFbWl0KGltYWdlVG9SZXNpemU6IEZpbGUpIHtcbiAgICBjb25zdCBtYXhTaXplQnl0ZXMgPSBtZWdhYnl0ZXNUb0J5dGVzKHRoaXMubWF4U2l6ZU1CKVxuICAgIGRvd25ncmFkZUltYWdlKGltYWdlVG9SZXNpemUsIG1heFNpemVCeXRlcykudGhlbigocmVzaXplZEltYWdlKSA9PiB7XG4gICAgICBjb25zdCBmaWxlVG9FbWl0ID0gbmV3IEZpbGUoW3Jlc2l6ZWRJbWFnZV0sIGltYWdlVG9SZXNpemUubmFtZSlcbiAgICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KGZpbGVUb0VtaXQpXG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInByZXZpZXdVcmw7IHRoZW4gd2l0aEltYWdlOyBlbHNlIHdpdGhvdXRJbWFnZVwiPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjd2l0aEltYWdlPlxuICA8ZGl2IGNsYXNzPVwidy04MCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgIDxnbi11aS1pbWFnZS1vdmVybGF5LXByZXZpZXcgY2xhc3M9XCJoLTQ4XCIgW2ltYWdlVXJsXT1cInByZXZpZXdVcmxcIj5cbiAgICA8L2duLXVpLWltYWdlLW92ZXJsYXktcHJldmlldz5cbiAgICA8Z24tdWktdGV4dC1pbnB1dFxuICAgICAgKm5nSWY9XCJzaG93QWx0VGV4dElucHV0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaW5wdXQuaW1hZ2UuYWx0VGV4dFBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdmFsdWVdPVwiYWx0VGV4dCA/PyAnJ1wiXG4gICAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlQWx0VGV4dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgIGV4dHJhQ2xhc3M9XCJnbi11aS1lZGl0b3ItdGV4dGFyZWFcIlxuICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxuICAgID48L2duLXVpLXRleHQtaW5wdXQ+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgZ2FwLTIgbXQtMlwiPlxuICAgICAgPGduLXVpLWJ1dHRvbiB0eXBlPVwiZ3JheVwiIChidXR0b25DbGljayk9XCJoYW5kbGVEZWxldGUoKVwiPlxuICAgICAgICA8bmctaWNvbiBjbGFzcz1cIm1lLTEgdGV4dC1wcmltYXJ5XCIgbmFtZT1cImljb25vaXJCaW5cIj48L25nLWljb24+XG4gICAgICAgIHt7ICdpbnB1dC5pbWFnZS5kZWxldGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICAgIDxnbi11aS1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhc2hvd0FsdFRleHRJbnB1dFwiXG4gICAgICAgIHR5cGU9XCJncmF5XCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrKT1cInRvZ2dsZUFsdFRleHRJbnB1dCgpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWljb24gbmFtZT1cImljb25vaXJQbHVzXCIgY2xhc3M9XCJtZS0xIHRleHQtcHJpbWFyeVwiPjwvbmctaWNvbj5cbiAgICAgICAge3sgJ2lucHV0LmltYWdlLmRpc3BsYXlBbHRUZXh0SW5wdXQnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2duLXVpLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3dpdGhvdXRJbWFnZT5cbiAgPGRpdiBjbGFzcz1cInctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgIDxsYWJlbFxuICAgICAgZ25VaUZpbGVzRHJvcFxuICAgICAgY2xhc3M9XCJmbGV4LTEgYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCByb3VuZGVkLWxnIHAtNiBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBnYXAtNCB0cmFuc2l0aW9uLWNvbG9ycyBkdXJhdGlvbi0xMDBcIlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAnYm9yZGVyLXByaW1hcnktbGlnaHRlciBiZy1wcmltYXJ5LXdoaXRlJzogZHJhZ0ZpbGVzT3ZlcixcbiAgICAgICAgJ2JvcmRlci1ncmF5LTMwMCc6ICFkcmFnRmlsZXNPdmVyLFxuICAgICAgICAnY3Vyc29yLXBvaW50ZXIgaG92ZXI6Ym9yZGVyLWdyYXktNTAwJzpcbiAgICAgICAgICAhaXNVcGxvYWRJblByb2dyZXNzICYmICF1cGxvYWRFcnJvciAmJiAhc2hvd1VybElucHV0ICYmICFkaXNhYmxlZCxcbiAgICAgICAgJ2N1cnNvci1ub3QtYWxsb3dlZCc6IGRpc2FibGVkLFxuICAgICAgfVwiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCJcbiAgICAgICAgaXNVcGxvYWRJblByb2dyZXNzIHx8IHVwbG9hZEVycm9yIHx8IHNob3dVcmxJbnB1dCB8fCBkaXNhYmxlZCA/IG51bGwgOiAwXG4gICAgICBcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgKGRyYWdGaWxlc092ZXIpPVwiaGFuZGxlRHJhZ0ZpbGVzT3ZlcigkZXZlbnQpXCJcbiAgICAgIChkcm9wRmlsZXMpPVwiaGFuZGxlRHJvcEZpbGVzKCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3LTE0IGgtMTQgcm91bmRlZC1tZCBiZy1ncmF5LTUwIGdyaWRcIlxuICAgICAgICAqbmdJZj1cIiFpc1VwbG9hZEluUHJvZ3Jlc3MgJiYgIXVwbG9hZEVycm9yXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAqbmdJZj1cIiFkcmFnRmlsZXNPdmVyXCJcbiAgICAgICAgICBjbGFzcz1cInBsYWNlLXNlbGYtY2VudGVyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgbmFtZT1cImljb25vaXJNZWRpYUltYWdlXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgICAgPG5nLWljb25cbiAgICAgICAgICAqbmdJZj1cImRyYWdGaWxlc092ZXJcIlxuICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXIgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICBuYW1lPVwiaWNvbm9pckZyYW1lUGx1c0luXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaXNVcGxvYWRJblByb2dyZXNzICYmICF1cGxvYWRFcnJvclwiXG4gICAgICAgIGNsYXNzPVwidy0xNCBoLTE0IGdyaWQgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJlbGF0aXZlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheS0xMDAgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiMTAwXCJcbiAgICAgICAgICA+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgYWJzb2x1dGVcIj5cbiAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXJcbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Utc2VsZi1jZW50ZXJcIlxuICAgICAgICAgICAgW2RpYW1ldGVyXT1cIjU2XCJcbiAgICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwidXBsb2FkUHJvZ3Jlc3NcIlxuICAgICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXNtIHRleHQtbWFpbiBmb250LWJvbGRcIj57eyB1cGxvYWRQcm9ncmVzcyB9fSU8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInctMTQgaC0xNCByb3VuZGVkLW1kIGJnLWdyYXktNTAgZ3JpZFwiICpuZ0lmPVwidXBsb2FkRXJyb3JcIj5cbiAgICAgICAgPG5nLWljb25cbiAgICAgICAgICBuYW1lPVwiaWNvbm9pck1lZGlhSW1hZ2VYbWFya1wiXG4gICAgICAgICAgY2xhc3M9XCJwbGFjZS1zZWxmLWNlbnRlciB0ZXh0LXJvc2UtNTAwXCJcbiAgICAgICAgPjwvbmctaWNvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBpdGVtcy1jZW50ZXIgZ2FwLTFcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJmb250LW1lZGl1bVwiPnt7IGdldFByaW1hcnlUZXh0KCkgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgIDxwXG4gICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICBbY2xhc3NdPVwiXG4gICAgICAgICAgICBpc1VwbG9hZEluUHJvZ3Jlc3MgfHwgdXBsb2FkRXJyb3JcbiAgICAgICAgICAgICAgPyAnZm9udC1ib2xkIHRleHQtYmx1ZS01MDAgY3Vyc29yLXBvaW50ZXInXG4gICAgICAgICAgICAgIDogJ2ZvbnQtbWVkaXVtIHRleHQtZ3JheS01MDAnXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2Vjb25kYXJ5VGV4dENsaWNrKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgZ2V0U2Vjb25kYXJ5VGV4dCgpIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0XG4gICAgICAgICNmaWxlSW5wdXRcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlblwiXG4gICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlRmlsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiXG4gICAgICAgICAgc2hvd1VybElucHV0IHx8IGlzVXBsb2FkSW5Qcm9ncmVzcyB8fCB1cGxvYWRFcnJvciB8fCBkaXNhYmxlZFxuICAgICAgICBcIlxuICAgICAgLz5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGRpdiAqbmdJZj1cIiFzaG93VXJsSW5wdXRcIiBjbGFzcz1cImZsZXgtbm9uZSBtdC0yXCI+XG4gICAgICA8Z24tdWktYnV0dG9uXG4gICAgICAgIChidXR0b25DbGljayk9XCJkaXNwbGF5VXJsSW5wdXQoKVwiXG4gICAgICAgIHR5cGU9XCJncmF5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2V4dHJhQ2xhc3NdPVwiZGlzYWJsZWQgJiYgJ2N1cnNvci1ub3QtYWxsb3dlZCdcIlxuICAgICAgPlxuICAgICAgICA8bmctaWNvbiBjbGFzcz1cIm1lLTEgdGV4dC1wcmltYXJ5XCIgbmFtZT1cImljb25vaXJMaW5rXCI+PC9uZy1pY29uPlxuICAgICAgICB7eyAnaW5wdXQuaW1hZ2UuZGlzcGxheVVybElucHV0JyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9nbi11aS1idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8Z24tdWktdXJsLWlucHV0XG4gICAgICAqbmdJZj1cInNob3dVcmxJbnB1dFwiXG4gICAgICBjbGFzcz1cIm10LTMuNVwiXG4gICAgICAodXBsb2FkQ2xpY2spPVwiZG93bmxvYWRVcmwoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiaXNVcGxvYWRJblByb2dyZXNzIHx8IGRpc2FibGVkXCJcbiAgICA+XG4gICAgPC9nbi11aS11cmwtaW5wdXQ+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,19 +1,20 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule, NgOptimizedImage } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
4
  import { MatTooltipModule } from '@angular/material/tooltip';
5
- import { UtilSharedModule } from '../../../../../libs/util/shared/src';
6
- import { PopoverComponent, UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
5
+ import { RouterModule } from '@angular/router';
6
+ import { BadgeComponent, TextInputComponent, UiInputsModule, } from '../../../../../libs/ui/inputs/src';
7
7
  import { MaxLinesComponent, UiLayoutModule } from '../../../../../libs/ui/layout/src';
8
+ import { PopoverComponent, UiWidgetsModule } from '../../../../../libs/ui/widgets/src';
9
+ import { UtilSharedModule } from '../../../../../libs/util/shared/src';
10
+ import { provideNgIconsConfig } from '@ng-icons/core';
8
11
  import { TranslateModule } from '@ngx-translate/core';
9
- import { ThumbnailComponent } from './thumbnail/thumbnail.component';
10
- import { BadgeComponent, TextInputComponent, UiInputsModule, } from '../../../../../libs/ui/inputs/src';
11
- import { FormsModule } from '@angular/forms';
12
12
  import { AvatarComponent } from './avatar/avatar.component';
13
- import { UserPreviewComponent } from './user-preview/user-preview.component';
13
+ import { ImageInputComponent } from './image-input/image-input.component';
14
14
  import { MarkdownParserComponent } from './markdown-parser/markdown-parser.component';
15
+ import { ThumbnailComponent } from './thumbnail/thumbnail.component';
15
16
  import { TimeSincePipe } from './user-feedback-item/time-since.pipe';
16
- import { provideNgIconsConfig } from '@ng-icons/core';
17
+ import { UserPreviewComponent } from './user-preview/user-preview.component';
17
18
  import * as i0 from "@angular/core";
18
19
  import * as i1 from "@ngx-translate/core";
19
20
  export class UiElementsModule {
@@ -32,10 +33,12 @@ export class UiElementsModule {
32
33
  TimeSincePipe,
33
34
  BadgeComponent,
34
35
  MaxLinesComponent,
35
- TextInputComponent], exports: [ThumbnailComponent,
36
+ TextInputComponent,
37
+ ImageInputComponent], exports: [ThumbnailComponent,
36
38
  AvatarComponent,
37
39
  UserPreviewComponent,
38
- MarkdownParserComponent] }); }
40
+ MarkdownParserComponent,
41
+ ImageInputComponent] }); }
39
42
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
40
43
  provideNgIconsConfig({
41
44
  size: '1.5em',
@@ -53,7 +56,8 @@ export class UiElementsModule {
53
56
  ThumbnailComponent,
54
57
  BadgeComponent,
55
58
  MaxLinesComponent,
56
- TextInputComponent] }); }
59
+ TextInputComponent,
60
+ ImageInputComponent] }); }
57
61
  }
58
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
59
63
  type: NgModule,
@@ -76,6 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
76
80
  BadgeComponent,
77
81
  MaxLinesComponent,
78
82
  TextInputComponent,
83
+ ImageInputComponent,
79
84
  ],
80
85
  providers: [
81
86
  provideNgIconsConfig({
@@ -88,7 +93,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
88
93
  AvatarComponent,
89
94
  UserPreviewComponent,
90
95
  MarkdownParserComponent,
96
+ ImageInputComponent,
91
97
  ],
92
98
  }]
93
99
  }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUNMLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsY0FBYyxHQUNmLE1BQU0sbUNBQW1DLENBQUE7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7OztBQW1DckQsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBUlosZUFBZSxFQUFFLG9CQUFvQixhQXZCbEQsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYyxzQkFFZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGtCQUFrQixhQVNsQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQix1QkFBdUI7Z0hBR2QsZ0JBQWdCLGFBYmhCO1lBQ1Qsb0JBQW9CLENBQUM7Z0JBQ25CLElBQUksRUFBRSxPQUFPO2FBQ2QsQ0FBQztTQUNILFlBdEJDLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsZUFBZTtZQUNmLGNBQWM7WUFDZCxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFFWCxnQkFBZ0I7WUFFaEIsa0JBQWtCO1lBRWxCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsa0JBQWtCOzs0RkFlVCxnQkFBZ0I7a0JBakM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7d0JBQzFCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CO29CQUNELFNBQVMsRUFBRTt3QkFDVCxvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3JELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix1QkFBdUI7cUJBQ3hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBVdGlsU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL3NoYXJlZC9zcmMnXG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50LCBVaVdpZGdldHNNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3VpL3dpZGdldHMvc3JjJ1xuaW1wb3J0IHsgTWF4TGluZXNDb21wb25lbnQsIFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQge1xuICBCYWRnZUNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxuICBVaUlucHV0c01vZHVsZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnXG5pbXBvcnQgeyBVc2VyUHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vdXNlci1wcmV2aWV3L3VzZXItcHJldmlldy5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXJrZG93blBhcnNlckNvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tcGFyc2VyL21hcmtkb3duLXBhcnNlci5jb21wb25lbnQnXG5pbXBvcnQgeyBUaW1lU2luY2VQaXBlIH0gZnJvbSAnLi91c2VyLWZlZWRiYWNrLWl0ZW0vdGltZS1zaW5jZS5waXBlJ1xuaW1wb3J0IHsgcHJvdmlkZU5nSWNvbnNDb25maWcgfSBmcm9tICdAbmctaWNvbnMvY29yZSdcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIFVpV2lkZ2V0c01vZHVsZSxcbiAgICBVaUxheW91dE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBVdGlsU2hhcmVkTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBVaUlucHV0c01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlLFxuICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gICAgVGh1bWJuYWlsQ29tcG9uZW50LFxuICAgIFRpbWVTaW5jZVBpcGUsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgTWF4TGluZXNDb21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlTmdJY29uc0NvbmZpZyh7XG4gICAgICBzaXplOiAnMS41ZW0nLFxuICAgIH0pLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtBdmF0YXJDb21wb25lbnQsIFVzZXJQcmV2aWV3Q29tcG9uZW50XSxcbiAgZXhwb3J0czogW1xuICAgIFRodW1ibmFpbENvbXBvbmVudCxcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgVXNlclByZXZpZXdDb21wb25lbnQsXG4gICAgTWFya2Rvd25QYXJzZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpRWxlbWVudHNNb2R1bGUge31cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9lbGVtZW50cy9zcmMvbGliL3VpLWVsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixNQUFNLG1DQUFtQyxDQUFBO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUNyRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUE7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7OztBQXFDNUUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBVFosZUFBZSxFQUFFLG9CQUFvQixhQXhCbEQsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYyxzQkFFZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQixtQkFBbUIsYUFTbkIsa0JBQWtCO1lBQ2xCLGVBQWU7WUFDZixvQkFBb0I7WUFDcEIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtnSEFHVixnQkFBZ0IsYUFkaEI7WUFDVCxvQkFBb0IsQ0FBQztnQkFDbkIsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDO1NBQ0gsWUF2QkMsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixlQUFlO1lBQ2YsY0FBYztZQUNkLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixjQUFjO1lBQ2QsV0FBVztZQUVYLGdCQUFnQjtZQUVoQixrQkFBa0I7WUFFbEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsbUJBQW1COzs0RkFnQlYsZ0JBQWdCO2tCQW5DNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxlQUFlLENBQUMsUUFBUSxFQUFFO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRTt3QkFDVCxvQkFBb0IsQ0FBQzs0QkFDbkIsSUFBSSxFQUFFLE9BQU87eUJBQ2QsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3JELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQge1xuICBCYWRnZUNvbXBvbmVudCxcbiAgVGV4dElucHV0Q29tcG9uZW50LFxuICBVaUlucHV0c01vZHVsZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgTWF4TGluZXNDb21wb25lbnQsIFVpTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS9sYXlvdXQvc3JjJ1xuaW1wb3J0IHsgUG9wb3ZlckNvbXBvbmVudCwgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IFV0aWxTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7IHByb3ZpZGVOZ0ljb25zQ29uZmlnIH0gZnJvbSAnQG5nLWljb25zL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCdcbmltcG9ydCB7IEltYWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hcmtkb3duUGFyc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tYXJrZG93bi1wYXJzZXIvbWFya2Rvd24tcGFyc2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IFRodW1ibmFpbENvbXBvbmVudCB9IGZyb20gJy4vdGh1bWJuYWlsL3RodW1ibmFpbC5jb21wb25lbnQnXG5pbXBvcnQgeyBUaW1lU2luY2VQaXBlIH0gZnJvbSAnLi91c2VyLWZlZWRiYWNrLWl0ZW0vdGltZS1zaW5jZS5waXBlJ1xuaW1wb3J0IHsgVXNlclByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VzZXItcHJldmlldy91c2VyLXByZXZpZXcuY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIFVpTGF5b3V0TW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFVpSW5wdXRzTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgUG9wb3ZlckNvbXBvbmVudCxcbiAgICBNYXJrZG93blBhcnNlckNvbXBvbmVudCxcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgVGltZVNpbmNlUGlwZSxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBNYXhMaW5lc0NvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgSW1hZ2VJbnB1dENvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgcHJvdmlkZU5nSWNvbnNDb25maWcoe1xuICAgICAgc2l6ZTogJzEuNWVtJyxcbiAgICB9KSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbQXZhdGFyQ29tcG9uZW50LCBVc2VyUHJldmlld0NvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBUaHVtYm5haWxDb21wb25lbnQsXG4gICAgQXZhdGFyQ29tcG9uZW50LFxuICAgIFVzZXJQcmV2aWV3Q29tcG9uZW50LFxuICAgIE1hcmtkb3duUGFyc2VyQ29tcG9uZW50LFxuICAgIEltYWdlSW5wdXRDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpRWxlbWVudHNNb2R1bGUge31cbiJdfQ==
@@ -6,24 +6,23 @@ export * from './lib/checkbox/checkbox.component';
6
6
  export * from './lib/chips-input/chips-input.component';
7
7
  export * from './lib/copy-text-button/copy-text-button.component';
8
8
  export * from './lib/date-picker/date-picker.component';
9
- export * from './lib/date-range-picker/date-range-picker.component';
10
9
  export * from './lib/date-range-dropdown/date-range-dropdown.component';
10
+ export * from './lib/date-range-picker/date-range-picker.component';
11
11
  export * from './lib/drag-and-drop-file-input/drag-and-drop-file-input.component';
12
12
  export * from './lib/dropdown-multiselect/dropdown-multiselect.component';
13
13
  export * from './lib/dropdown-multiselect/dropdown-multiselect.model';
14
14
  export * from './lib/dropdown-selector/dropdown-selector.component';
15
15
  export * from './lib/dropdown-selector/dropdown-selector.model';
16
16
  export * from './lib/editable-label/editable-label.directive';
17
+ export * from './lib/file-input/file-input.component';
18
+ export * from './lib/files-drop/files-drop.directive';
17
19
  export * from './lib/navigation-button/navigation-button.component';
18
20
  export * from './lib/search-input/search-input.component';
19
21
  export * from './lib/star-toggle/star-toggle.component';
22
+ export * from './lib/switch-toggle/switch-toggle.component';
20
23
  export * from './lib/text-area/text-area.component';
21
24
  export * from './lib/text-input/text-input.component';
22
25
  export * from './lib/ui-inputs.module';
23
26
  export * from './lib/url-input/url-input.component';
24
27
  export * from './lib/viewport-intersector/viewport-intersector.component';
25
- export * from './lib/switch-toggle/switch-toggle.component';
26
- export * from './lib/file-input/file-input.component';
27
- export * from './lib/image-input/image-input.component';
28
- export * from './lib/url-input/url-input.component';
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYyx5REFBeUQsQ0FBQTtBQUN2RSxjQUFjLG1FQUFtRSxDQUFBO0FBQ2pGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsMkNBQTJDLENBQUE7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyxxQ0FBcUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYmFkZ2UvYmFkZ2UuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoaXBzLWlucHV0L2NoaXBzLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcHktdGV4dC1idXR0b24vY29weS10ZXh0LWJ1dHRvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXJhbmdlLWRyb3Bkb3duL2RhdGUtcmFuZ2UtZHJvcGRvd24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0L2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZWRpdGFibGUtbGFiZWwvZWRpdGFibGUtbGFiZWwuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGFyLXRvZ2dsZS9zdGFyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtaW5wdXQvdGV4dC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aS1pbnB1dHMubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXJsLWlucHV0L3VybC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aWV3cG9ydC1pbnRlcnNlY3Rvci92aWV3cG9ydC1pbnRlcnNlY3Rvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zd2l0Y2gtdG9nZ2xlL3N3aXRjaC10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS1pbnB1dC9maWxlLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWlucHV0L2ltYWdlLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VybC1pbnB1dC91cmwtaW5wdXQuY29tcG9uZW50J1xuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLDZCQUE2QixDQUFBO0FBQzNDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLG1FQUFtRSxDQUFBO0FBQ2pGLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyx1REFBdUQsQ0FBQTtBQUNyRSxjQUFjLHFEQUFxRCxDQUFBO0FBQ25FLGNBQWMsaURBQWlELENBQUE7QUFDL0QsY0FBYywrQ0FBK0MsQ0FBQTtBQUM3RCxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyxxREFBcUQsQ0FBQTtBQUNuRSxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMseUNBQXlDLENBQUE7QUFDdkQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsdUNBQXVDLENBQUE7QUFDckQsY0FBYyx3QkFBd0IsQ0FBQTtBQUN0QyxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsMkRBQTJELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JhZGdlL2JhZGdlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2stdG9nZ2xlL2NoZWNrLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jaGlwcy1pbnB1dC9jaGlwcy1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3B5LXRleHQtYnV0dG9uL2NvcHktdGV4dC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1yYW5nZS1kcm9wZG93bi9kYXRlLXJhbmdlLWRyb3Bkb3duLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtcmFuZ2UtcGlja2VyL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYWctYW5kLWRyb3AtZmlsZS1pbnB1dC9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QubW9kZWwnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi1zZWxlY3Rvci9kcm9wZG93bi1zZWxlY3Rvci5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VkaXRhYmxlLWxhYmVsL2VkaXRhYmxlLWxhYmVsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlcy1kcm9wL2ZpbGVzLWRyb3AuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGFyLXRvZ2dsZS9zdGFyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zd2l0Y2gtdG9nZ2xlL3N3aXRjaC10b2dnbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdWktaW5wdXRzLm1vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VybC1pbnB1dC91cmwtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmlld3BvcnQtaW50ZXJzZWN0b3Ivdmlld3BvcnQtaW50ZXJzZWN0b3IuY29tcG9uZW50J1xuIl19