@hestia-earth/ui-components 0.0.1

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 (207) hide show
  1. package/README.md +24 -0
  2. package/auth/auth.service.d.ts +10 -0
  3. package/auth/public-api.d.ts +1 -0
  4. package/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.d.ts +40 -0
  5. package/bibliographies/bibliographies.module.d.ts +10 -0
  6. package/bibliographies/public-api.d.ts +2 -0
  7. package/bundles/hestia-earth-ui-components.umd.js +7570 -0
  8. package/bundles/hestia-earth-ui-components.umd.js.map +1 -0
  9. package/common/bind-once.directive.d.ts +10 -0
  10. package/common/blank-node-diffs/blank-node-diffs.component.d.ts +18 -0
  11. package/common/blank-node-state/blank-node-state.component.d.ts +36 -0
  12. package/common/blank-node-state-notice/blank-node-state-notice.component.d.ts +9 -0
  13. package/common/blank-node-value-delta/blank-node-value-delta.component.d.ts +13 -0
  14. package/common/click-outside.directive.d.ts +10 -0
  15. package/common/clipboard/clipboard.component.d.ts +16 -0
  16. package/common/common.module.d.ts +37 -0
  17. package/common/common.service.d.ts +11 -0
  18. package/common/default.pipe.d.ts +7 -0
  19. package/common/ellipsis.pipe.d.ts +7 -0
  20. package/common/get.pipe.d.ts +7 -0
  21. package/common/key-to-label.pipe.d.ts +7 -0
  22. package/common/keys.pipe.d.ts +7 -0
  23. package/common/link-key-value/link-key-value.component.d.ts +16 -0
  24. package/common/logs-utils.d.ts +17 -0
  25. package/common/maps-drawing-confirm/maps-drawing-confirm.component.d.ts +28 -0
  26. package/common/maps-utils.d.ts +70 -0
  27. package/common/pluralize.pipe.d.ts +7 -0
  28. package/common/popover/popover.component.d.ts +16 -0
  29. package/common/popover-confirm/popover-confirm.component.d.ts +15 -0
  30. package/common/precision.pipe.d.ts +7 -0
  31. package/common/public-api.d.ts +30 -0
  32. package/common/schema-version-link/schema-version-link.component.d.ts +10 -0
  33. package/common/skeleton-text/skeleton-text.component.d.ts +11 -0
  34. package/common/social-tags/social-tags.component.d.ts +12 -0
  35. package/common/tags-input.directive.d.ts +20 -0
  36. package/common/times.pipe.d.ts +7 -0
  37. package/common/toast/toast.component.d.ts +19 -0
  38. package/common/toast.service.d.ts +16 -0
  39. package/common/unit-converter/unit-converter.component.d.ts +25 -0
  40. package/common/utils.d.ts +88 -0
  41. package/cycles/cycles-activity/cycles-activity.component.d.ts +31 -0
  42. package/cycles/cycles-activity-logs/cycles-activity-logs.component.d.ts +25 -0
  43. package/cycles/cycles-completeness/cycles-completeness.component.d.ts +14 -0
  44. package/cycles/cycles-emissions/cycles-emissions.component.d.ts +40 -0
  45. package/cycles/cycles-emissions-chart/cycles-emissions-chart.component.d.ts +18 -0
  46. package/cycles/cycles-emissions-logs/cycles-emissions-logs.component.d.ts +23 -0
  47. package/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.d.ts +8 -0
  48. package/cycles/cycles-result/cycles-result.component.d.ts +13 -0
  49. package/cycles/cycles-suggest-form/cycles-suggest-form.component.d.ts +24 -0
  50. package/cycles/cycles.model.d.ts +7 -0
  51. package/cycles/cycles.module.d.ts +19 -0
  52. package/cycles/public-api.d.ts +10 -0
  53. package/engine/aggregation-engine.service.d.ts +71 -0
  54. package/engine/engine.service.d.ts +61 -0
  55. package/engine/public-api.d.ts +2 -0
  56. package/esm2015/auth/auth.service.js +19 -0
  57. package/esm2015/auth/public-api.js +2 -0
  58. package/esm2015/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.js +100 -0
  59. package/esm2015/bibliographies/bibliographies.module.js +30 -0
  60. package/esm2015/bibliographies/public-api.js +3 -0
  61. package/esm2015/common/bind-once.directive.js +23 -0
  62. package/esm2015/common/blank-node-diffs/blank-node-diffs.component.js +47 -0
  63. package/esm2015/common/blank-node-state/blank-node-state.component.js +90 -0
  64. package/esm2015/common/blank-node-state-notice/blank-node-state-notice.component.js +27 -0
  65. package/esm2015/common/blank-node-value-delta/blank-node-value-delta.component.js +41 -0
  66. package/esm2015/common/click-outside.directive.js +28 -0
  67. package/esm2015/common/clipboard/clipboard.component.js +69 -0
  68. package/esm2015/common/common.module.js +144 -0
  69. package/esm2015/common/common.service.js +29 -0
  70. package/esm2015/common/default.pipe.js +23 -0
  71. package/esm2015/common/ellipsis.pipe.js +17 -0
  72. package/esm2015/common/get.pipe.js +17 -0
  73. package/esm2015/common/key-to-label.pipe.js +18 -0
  74. package/esm2015/common/keys.pipe.js +20 -0
  75. package/esm2015/common/link-key-value/link-key-value.component.js +55 -0
  76. package/esm2015/common/logs-utils.js +49 -0
  77. package/esm2015/common/maps-drawing-confirm/maps-drawing-confirm.component.js +89 -0
  78. package/esm2015/common/maps-utils.js +101 -0
  79. package/esm2015/common/pluralize.pipe.js +17 -0
  80. package/esm2015/common/popover/popover.component.js +37 -0
  81. package/esm2015/common/popover-confirm/popover-confirm.component.js +38 -0
  82. package/esm2015/common/precision.pipe.js +20 -0
  83. package/esm2015/common/public-api.js +31 -0
  84. package/esm2015/common/schema-version-link/schema-version-link.component.js +39 -0
  85. package/esm2015/common/skeleton-text/skeleton-text.component.js +44 -0
  86. package/esm2015/common/social-tags/social-tags.component.js +37 -0
  87. package/esm2015/common/tags-input.directive.js +74 -0
  88. package/esm2015/common/times.pipe.js +16 -0
  89. package/esm2015/common/toast/toast.component.js +37 -0
  90. package/esm2015/common/toast.service.js +36 -0
  91. package/esm2015/common/unit-converter/unit-converter.component.js +73 -0
  92. package/esm2015/common/utils.js +245 -0
  93. package/esm2015/cycles/cycles-activity/cycles-activity.component.js +92 -0
  94. package/esm2015/cycles/cycles-activity-logs/cycles-activity-logs.component.js +48 -0
  95. package/esm2015/cycles/cycles-completeness/cycles-completeness.component.js +41 -0
  96. package/esm2015/cycles/cycles-emissions/cycles-emissions.component.js +121 -0
  97. package/esm2015/cycles/cycles-emissions-chart/cycles-emissions-chart.component.js +93 -0
  98. package/esm2015/cycles/cycles-emissions-logs/cycles-emissions-logs.component.js +63 -0
  99. package/esm2015/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.js +22 -0
  100. package/esm2015/cycles/cycles-result/cycles-result.component.js +92 -0
  101. package/esm2015/cycles/cycles-suggest-form/cycles-suggest-form.component.js +83 -0
  102. package/esm2015/cycles/cycles.model.js +2 -0
  103. package/esm2015/cycles/cycles.module.js +66 -0
  104. package/esm2015/cycles/public-api.js +11 -0
  105. package/esm2015/engine/aggregation-engine.service.js +126 -0
  106. package/esm2015/engine/engine.service.js +78 -0
  107. package/esm2015/engine/public-api.js +3 -0
  108. package/esm2015/files/files-error.model.js +180 -0
  109. package/esm2015/files/files-form/files-form.component.js +439 -0
  110. package/esm2015/files/files-form.model.js +548 -0
  111. package/esm2015/files/files.module.js +42 -0
  112. package/esm2015/files/public-api.js +3 -0
  113. package/esm2015/fontawesome/fontawesome.module.js +36 -0
  114. package/esm2015/fontawesome/public-api.js +2 -0
  115. package/esm2015/hestia-earth-ui-components.js +5 -0
  116. package/esm2015/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.js +161 -0
  117. package/esm2015/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.js +142 -0
  118. package/esm2015/impact-assessments/impact-assessments-products/impact-assessments-products.component.js +252 -0
  119. package/esm2015/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.js +68 -0
  120. package/esm2015/impact-assessments/impact-assessments.model.js +2 -0
  121. package/esm2015/impact-assessments/impact-assessments.module.js +47 -0
  122. package/esm2015/impact-assessments/public-api.js +7 -0
  123. package/esm2015/mendeley/mendeley.service.js +35 -0
  124. package/esm2015/mendeley/public-api.js +2 -0
  125. package/esm2015/node/node-csv-export-confirm/node-csv-export-confirm.component.js +65 -0
  126. package/esm2015/node/node-csv-select-headers/node-csv-select-headers.component.js +119 -0
  127. package/esm2015/node/node-csv.service.js +24 -0
  128. package/esm2015/node/node-diffs/node-diffs.component.js +67 -0
  129. package/esm2015/node/node-diffs/node-diffs.model.js +6 -0
  130. package/esm2015/node/node-icon/node-icon.component.js +37 -0
  131. package/esm2015/node/node-link/node-link.component.js +33 -0
  132. package/esm2015/node/node-logs-file/node-logs-file.component.js +63 -0
  133. package/esm2015/node/node-logs-models/node-logs-models.component.js +188 -0
  134. package/esm2015/node/node-missing-lookup-factors/node-missing-lookup-factors.component.js +34 -0
  135. package/esm2015/node/node-value-details/node-value-details.component.js +46 -0
  136. package/esm2015/node/node.module.js +67 -0
  137. package/esm2015/node/node.service.js +113 -0
  138. package/esm2015/node/public-api.js +13 -0
  139. package/esm2015/public-api.js +16 -0
  140. package/esm2015/schema/public-api.js +2 -0
  141. package/esm2015/schema/schema.service.js +167 -0
  142. package/esm2015/search/public-api.js +4 -0
  143. package/esm2015/search/search.model.js +204 -0
  144. package/esm2015/search/search.module.js +13 -0
  145. package/esm2015/search/search.service.js +99 -0
  146. package/esm2015/sites/public-api.js +6 -0
  147. package/esm2015/sites/sites-maps/sites-maps.component.js +162 -0
  148. package/esm2015/sites/sites-measurements/sites-measurements.component.js +78 -0
  149. package/esm2015/sites/sites-measurements-logs/sites-measurements-logs.component.js +63 -0
  150. package/esm2015/sites/sites.model.js +10 -0
  151. package/esm2015/sites/sites.module.js +42 -0
  152. package/esm2015/terms/public-api.js +2 -0
  153. package/esm2015/terms/terms.model.js +184 -0
  154. package/esm2015/users/public-api.js +2 -0
  155. package/esm2015/users/users.service.js +17 -0
  156. package/fesm2015/hestia-earth-ui-components.js +5920 -0
  157. package/fesm2015/hestia-earth-ui-components.js.map +1 -0
  158. package/files/files-error.model.d.ts +40 -0
  159. package/files/files-form/files-form.component.d.ts +94 -0
  160. package/files/files-form.model.d.ts +113 -0
  161. package/files/files.module.d.ts +13 -0
  162. package/files/public-api.d.ts +2 -0
  163. package/fontawesome/fontawesome.module.d.ts +10 -0
  164. package/fontawesome/public-api.d.ts +1 -0
  165. package/hestia-earth-ui-components.d.ts +5 -0
  166. package/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.d.ts +28 -0
  167. package/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.d.ts +25 -0
  168. package/impact-assessments/impact-assessments-products/impact-assessments-products.component.d.ts +77 -0
  169. package/impact-assessments/impact-assessments-products-logs/impact-assessments-products-logs.component.d.ts +25 -0
  170. package/impact-assessments/impact-assessments.model.d.ts +6 -0
  171. package/impact-assessments/impact-assessments.module.d.ts +15 -0
  172. package/impact-assessments/public-api.d.ts +6 -0
  173. package/mendeley/mendeley.service.d.ts +25 -0
  174. package/mendeley/public-api.d.ts +1 -0
  175. package/node/node-csv-export-confirm/node-csv-export-confirm.component.d.ts +32 -0
  176. package/node/node-csv-select-headers/node-csv-select-headers.component.d.ts +42 -0
  177. package/node/node-csv.service.d.ts +9 -0
  178. package/node/node-diffs/node-diffs.component.d.ts +23 -0
  179. package/node/node-diffs/node-diffs.model.d.ts +4 -0
  180. package/node/node-icon/node-icon.component.d.ts +8 -0
  181. package/node/node-link/node-link.component.d.ts +11 -0
  182. package/node/node-logs-file/node-logs-file.component.d.ts +31 -0
  183. package/node/node-logs-models/node-logs-models.component.d.ts +72 -0
  184. package/node/node-missing-lookup-factors/node-missing-lookup-factors.component.d.ts +14 -0
  185. package/node/node-value-details/node-value-details.component.d.ts +17 -0
  186. package/node/node.module.d.ts +20 -0
  187. package/node/node.service.d.ts +70 -0
  188. package/node/public-api.d.ts +12 -0
  189. package/package.json +53 -0
  190. package/public-api.d.ts +15 -0
  191. package/schema/public-api.d.ts +1 -0
  192. package/schema/schema.service.d.ts +51 -0
  193. package/search/public-api.d.ts +3 -0
  194. package/search/search.model.d.ts +243 -0
  195. package/search/search.module.d.ts +7 -0
  196. package/search/search.service.d.ts +129 -0
  197. package/sites/public-api.d.ts +5 -0
  198. package/sites/sites-maps/sites-maps.component.d.ts +35 -0
  199. package/sites/sites-measurements/sites-measurements.component.d.ts +31 -0
  200. package/sites/sites-measurements-logs/sites-measurements-logs.component.d.ts +23 -0
  201. package/sites/sites.model.d.ts +10 -0
  202. package/sites/sites.module.d.ts +13 -0
  203. package/styles.scss +197 -0
  204. package/terms/public-api.d.ts +1 -0
  205. package/terms/terms.model.d.ts +21 -0
  206. package/users/public-api.d.ts +1 -0
  207. package/users/users.service.d.ts +7 -0
@@ -0,0 +1,144 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { RouterModule } from '@angular/router';
5
+ import { NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap';
6
+ import { GoogleMapsModule } from '@angular/google-maps';
7
+ import { HeFontawesomeModule } from '../fontawesome/fontawesome.module';
8
+ import { BlankNodeDiffsComponent } from './blank-node-diffs/blank-node-diffs.component';
9
+ import { BlankNodeStateComponent } from './blank-node-state/blank-node-state.component';
10
+ import { BlankNodeStateNoticeComponent } from './blank-node-state-notice/blank-node-state-notice.component';
11
+ import { BlankNodeValueDeltaComponent } from './blank-node-value-delta/blank-node-value-delta.component';
12
+ import { ClipboardComponent } from './clipboard/clipboard.component';
13
+ import { LinkKeyValueComponent } from './link-key-value/link-key-value.component';
14
+ import { MapsDrawingConfirmComponent } from './maps-drawing-confirm/maps-drawing-confirm.component';
15
+ import { PopoverComponent } from './popover/popover.component';
16
+ import { PopoverConfirmComponent } from './popover-confirm/popover-confirm.component';
17
+ import { SchemaVersionLinkComponent } from './schema-version-link/schema-version-link.component';
18
+ import { SkeletonTextComponent } from './skeleton-text/skeleton-text.component';
19
+ import { SocialTagsComponent } from './social-tags/social-tags.component';
20
+ import { ToastComponent } from './toast/toast.component';
21
+ import { UnitConverterComponent } from './unit-converter/unit-converter.component';
22
+ import { BindOnceDirective } from './bind-once.directive';
23
+ import { ClickOutsideDirective } from './click-outside.directive';
24
+ import { DefaultPipe } from './default.pipe';
25
+ import { EllipsisPipe } from './ellipsis.pipe';
26
+ import { GetPipe } from './get.pipe';
27
+ import { KeyToLabelPipe } from './key-to-label.pipe';
28
+ import { KeysPipe } from './keys.pipe';
29
+ import { PluralizePipe } from './pluralize.pipe';
30
+ import { PrecisionPipe } from './precision.pipe';
31
+ import { TagsInputDirective } from './tags-input.directive';
32
+ import { TimesPipe } from './times.pipe';
33
+ import * as i0 from "@angular/core";
34
+ const components = [
35
+ ClipboardComponent,
36
+ PopoverComponent,
37
+ PopoverConfirmComponent,
38
+ TagsInputDirective,
39
+ LinkKeyValueComponent,
40
+ MapsDrawingConfirmComponent,
41
+ BlankNodeStateComponent,
42
+ BlankNodeStateNoticeComponent,
43
+ BlankNodeValueDeltaComponent,
44
+ SchemaVersionLinkComponent,
45
+ UnitConverterComponent,
46
+ BlankNodeDiffsComponent,
47
+ TimesPipe,
48
+ ToastComponent,
49
+ ClickOutsideDirective,
50
+ KeysPipe,
51
+ PrecisionPipe,
52
+ SocialTagsComponent,
53
+ DefaultPipe,
54
+ SkeletonTextComponent,
55
+ PluralizePipe,
56
+ KeyToLabelPipe,
57
+ BindOnceDirective,
58
+ GetPipe,
59
+ EllipsisPipe
60
+ ];
61
+ export class HeCommonModule {
62
+ }
63
+ HeCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
64
+ HeCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonModule, declarations: [ClipboardComponent,
65
+ PopoverComponent,
66
+ PopoverConfirmComponent,
67
+ TagsInputDirective,
68
+ LinkKeyValueComponent,
69
+ MapsDrawingConfirmComponent,
70
+ BlankNodeStateComponent,
71
+ BlankNodeStateNoticeComponent,
72
+ BlankNodeValueDeltaComponent,
73
+ SchemaVersionLinkComponent,
74
+ UnitConverterComponent,
75
+ BlankNodeDiffsComponent,
76
+ TimesPipe,
77
+ ToastComponent,
78
+ ClickOutsideDirective,
79
+ KeysPipe,
80
+ PrecisionPipe,
81
+ SocialTagsComponent,
82
+ DefaultPipe,
83
+ SkeletonTextComponent,
84
+ PluralizePipe,
85
+ KeyToLabelPipe,
86
+ BindOnceDirective,
87
+ GetPipe,
88
+ EllipsisPipe], imports: [CommonModule, FormsModule, RouterModule,
89
+ NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
90
+ GoogleMapsModule,
91
+ HeFontawesomeModule], exports: [NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
92
+ GoogleMapsModule,
93
+ HeFontawesomeModule, ClipboardComponent,
94
+ PopoverComponent,
95
+ PopoverConfirmComponent,
96
+ TagsInputDirective,
97
+ LinkKeyValueComponent,
98
+ MapsDrawingConfirmComponent,
99
+ BlankNodeStateComponent,
100
+ BlankNodeStateNoticeComponent,
101
+ BlankNodeValueDeltaComponent,
102
+ SchemaVersionLinkComponent,
103
+ UnitConverterComponent,
104
+ BlankNodeDiffsComponent,
105
+ TimesPipe,
106
+ ToastComponent,
107
+ ClickOutsideDirective,
108
+ KeysPipe,
109
+ PrecisionPipe,
110
+ SocialTagsComponent,
111
+ DefaultPipe,
112
+ SkeletonTextComponent,
113
+ PluralizePipe,
114
+ KeyToLabelPipe,
115
+ BindOnceDirective,
116
+ GetPipe,
117
+ EllipsisPipe] });
118
+ HeCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonModule, imports: [[
119
+ CommonModule, FormsModule, RouterModule,
120
+ NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
121
+ GoogleMapsModule,
122
+ HeFontawesomeModule
123
+ ], NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
124
+ GoogleMapsModule,
125
+ HeFontawesomeModule] });
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonModule, decorators: [{
127
+ type: NgModule,
128
+ args: [{
129
+ declarations: components,
130
+ exports: [
131
+ NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
132
+ GoogleMapsModule,
133
+ HeFontawesomeModule,
134
+ ...components
135
+ ],
136
+ imports: [
137
+ CommonModule, FormsModule, RouterModule,
138
+ NgbTypeaheadModule, NgbTooltipModule, NgbPopoverModule,
139
+ GoogleMapsModule,
140
+ HeFontawesomeModule
141
+ ]
142
+ }]
143
+ }] });
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzVHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUV6QyxNQUFNLFVBQVUsR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixRQUFRO0lBQ1IsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLE9BQU87SUFDUCxZQUFZO0NBQ2IsQ0FBQztBQWlCRixNQUFNLE9BQU8sY0FBYzs7NEdBQWQsY0FBYzs2R0FBZCxjQUFjLGlCQTFDekIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsU0FBUztRQUNULGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsUUFBUTtRQUNSLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixPQUFPO1FBQ1AsWUFBWSxhQVlWLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWTtRQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDdEQsZ0JBQWdCO1FBQ2hCLG1CQUFtQixhQVRuQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDdEQsZ0JBQWdCO1FBQ2hCLG1CQUFtQixFQWhDckIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsU0FBUztRQUNULGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsUUFBUTtRQUNSLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLHFCQUFxQjtRQUNyQixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixPQUFPO1FBQ1AsWUFBWTs2R0FrQkQsY0FBYyxZQVBoQjtZQUNQLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWTtZQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDdEQsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtTQUNwQixFQVZDLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQjtRQUN0RCxnQkFBZ0I7UUFDaEIsbUJBQW1COzRGQVVWLGNBQWM7a0JBZjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLFVBQVU7b0JBQ3hCLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0I7d0JBQ3RELGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixHQUFHLFVBQVU7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWTt3QkFDdkMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCO3dCQUN0RCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5nYlR5cGVhaGVhZE1vZHVsZSwgTmdiVG9vbHRpcE1vZHVsZSwgTmdiUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5cbmltcG9ydCB7IEhlRm9udGF3ZXNvbWVNb2R1bGUgfSBmcm9tICcuLi9mb250YXdlc29tZS9mb250YXdlc29tZS5tb2R1bGUnO1xuXG5pbXBvcnQgeyBCbGFua05vZGVEaWZmc0NvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS1kaWZmcy9ibGFuay1ub2RlLWRpZmZzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbGFua05vZGVTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS1zdGF0ZS9ibGFuay1ub2RlLXN0YXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbGFua05vZGVTdGF0ZU5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UvYmxhbmstbm9kZS1zdGF0ZS1ub3RpY2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJsYW5rTm9kZVZhbHVlRGVsdGFDb21wb25lbnQgfSBmcm9tICcuL2JsYW5rLW5vZGUtdmFsdWUtZGVsdGEvYmxhbmstbm9kZS12YWx1ZS1kZWx0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jbGlwYm9hcmQvY2xpcGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaW5rS2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXBzRHJhd2luZ0NvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL21hcHMtZHJhd2luZy1jb25maXJtL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcG92ZXJDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9wb3BvdmVyLWNvbmZpcm0vcG9wb3Zlci1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTY2hlbWFWZXJzaW9uTGlua0NvbXBvbmVudCB9IGZyb20gJy4vc2NoZW1hLXZlcnNpb24tbGluay9zY2hlbWEtdmVyc2lvbi1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa2VsZXRvblRleHRDb21wb25lbnQgfSBmcm9tICcuL3NrZWxldG9uLXRleHQvc2tlbGV0b24tdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29jaWFsVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vc29jaWFsLXRhZ3Mvc29jaWFsLXRhZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC90b2FzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5pdENvbnZlcnRlckNvbXBvbmVudCB9IGZyb20gJy4vdW5pdC1jb252ZXJ0ZXIvdW5pdC1jb252ZXJ0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJpbmRPbmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9iaW5kLW9uY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrT3V0c2lkZURpcmVjdGl2ZSB9IGZyb20gJy4vY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGVmYXVsdFBpcGUgfSBmcm9tICcuL2RlZmF1bHQucGlwZSc7XG5pbXBvcnQgeyBFbGxpcHNpc1BpcGUgfSBmcm9tICcuL2VsbGlwc2lzLnBpcGUnO1xuaW1wb3J0IHsgR2V0UGlwZSB9IGZyb20gJy4vZ2V0LnBpcGUnO1xuaW1wb3J0IHsgS2V5VG9MYWJlbFBpcGUgfSBmcm9tICcuL2tleS10by1sYWJlbC5waXBlJztcbmltcG9ydCB7IEtleXNQaXBlIH0gZnJvbSAnLi9rZXlzLnBpcGUnO1xuaW1wb3J0IHsgUGx1cmFsaXplUGlwZSB9IGZyb20gJy4vcGx1cmFsaXplLnBpcGUnO1xuaW1wb3J0IHsgUHJlY2lzaW9uUGlwZSB9IGZyb20gJy4vcHJlY2lzaW9uLnBpcGUnO1xuaW1wb3J0IHsgVGFnc0lucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi90YWdzLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaW1lc1BpcGUgfSBmcm9tICcuL3RpbWVzLnBpcGUnO1xuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICBDbGlwYm9hcmRDb21wb25lbnQsXG4gIFBvcG92ZXJDb21wb25lbnQsXG4gIFBvcG92ZXJDb25maXJtQ29tcG9uZW50LFxuICBUYWdzSW5wdXREaXJlY3RpdmUsXG4gIExpbmtLZXlWYWx1ZUNvbXBvbmVudCxcbiAgTWFwc0RyYXdpbmdDb25maXJtQ29tcG9uZW50LFxuICBCbGFua05vZGVTdGF0ZUNvbXBvbmVudCxcbiAgQmxhbmtOb2RlU3RhdGVOb3RpY2VDb21wb25lbnQsXG4gIEJsYW5rTm9kZVZhbHVlRGVsdGFDb21wb25lbnQsXG4gIFNjaGVtYVZlcnNpb25MaW5rQ29tcG9uZW50LFxuICBVbml0Q29udmVydGVyQ29tcG9uZW50LFxuICBCbGFua05vZGVEaWZmc0NvbXBvbmVudCxcbiAgVGltZXNQaXBlLFxuICBUb2FzdENvbXBvbmVudCxcbiAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxuICBLZXlzUGlwZSxcbiAgUHJlY2lzaW9uUGlwZSxcbiAgU29jaWFsVGFnc0NvbXBvbmVudCxcbiAgRGVmYXVsdFBpcGUsXG4gIFNrZWxldG9uVGV4dENvbXBvbmVudCxcbiAgUGx1cmFsaXplUGlwZSxcbiAgS2V5VG9MYWJlbFBpcGUsXG4gIEJpbmRPbmNlRGlyZWN0aXZlLFxuICBHZXRQaXBlLFxuICBFbGxpcHNpc1BpcGVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogY29tcG9uZW50cyxcbiAgZXhwb3J0czogW1xuICAgIE5nYlR5cGVhaGVhZE1vZHVsZSwgTmdiVG9vbHRpcE1vZHVsZSwgTmdiUG9wb3Zlck1vZHVsZSxcbiAgICBHb29nbGVNYXBzTW9kdWxlLFxuICAgIEhlRm9udGF3ZXNvbWVNb2R1bGUsXG4gICAgLi4uY29tcG9uZW50c1xuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgUm91dGVyTW9kdWxlLFxuICAgIE5nYlR5cGVhaGVhZE1vZHVsZSwgTmdiVG9vbHRpcE1vZHVsZSwgTmdiUG9wb3Zlck1vZHVsZSxcbiAgICBHb29nbGVNYXBzTW9kdWxlLFxuICAgIEhlRm9udGF3ZXNvbWVNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBIZUNvbW1vbk1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Inject, Injectable, InjectionToken } from '@angular/core';
2
+ import { baseUrl } from './utils';
3
+ import * as i0 from "@angular/core";
4
+ export const HE_API_BASE_URL = new InjectionToken('HE_API_BASE_URL');
5
+ export class HeCommonService {
6
+ constructor(_apiBaseUrl) {
7
+ this._apiBaseUrl = _apiBaseUrl;
8
+ }
9
+ get apiBaseUrl() {
10
+ return this._apiBaseUrl || '/api';
11
+ }
12
+ get gitBranch() {
13
+ return ['dev', 'staging'].some((env) => baseUrl().includes(env))
14
+ ? 'develop'
15
+ : 'master';
16
+ }
17
+ }
18
+ HeCommonService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonService, deps: [{ token: HE_API_BASE_URL }], target: i0.ɵɵFactoryTarget.Injectable });
19
+ HeCommonService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonService, providedIn: 'root' });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: HeCommonService, decorators: [{
21
+ type: Injectable,
22
+ args: [{
23
+ providedIn: 'root'
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
26
+ type: Inject,
27
+ args: [HE_API_BASE_URL]
28
+ }] }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2NvbW1vbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUVsQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQVMsaUJBQWlCLENBQUMsQ0FBQztBQUs3RSxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNrQyxXQUFtQjtRQUFuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtJQUNsRCxDQUFDO0lBRUosSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNmLENBQUM7OzZHQWJVLGVBQWUsa0JBRWhCLGVBQWU7aUhBRmQsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYmFzZVVybCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgSEVfQVBJX0JBU0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0hFX0FQSV9CQVNFX1VSTCcpO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZUNvbW1vblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEhFX0FQSV9CQVNFX1VSTCkgcHVibGljIF9hcGlCYXNlVXJsOiBzdHJpbmdcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgYXBpQmFzZVVybCgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXBpQmFzZVVybCB8fCAnL2FwaSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdpdEJyYW5jaCgpIHtcbiAgICByZXR1cm4gWydkZXYnLCAnc3RhZ2luZyddLnNvbWUoKGVudikgPT4gYmFzZVVybCgpLmluY2x1ZGVzKGVudikpXG4gICAgICA/ICdkZXZlbG9wJ1xuICAgICAgOiAnbWFzdGVyJztcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const shouldDefault = {
4
+ string: (value) => !value,
5
+ number: (value) => !value && value !== 0,
6
+ boolean: (value) => !value,
7
+ object: (value) => !value || !Object.keys(value).length,
8
+ undefined: () => true
9
+ };
10
+ export class DefaultPipe {
11
+ transform(value, defaultValue) {
12
+ return shouldDefault[typeof value](value) ? defaultValue : value;
13
+ }
14
+ }
15
+ DefaultPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DefaultPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
16
+ DefaultPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DefaultPipe, name: "default" });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DefaultPipe, decorators: [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'default'
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9kZWZhdWx0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLO0lBQ2pDLE1BQU0sRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLENBQUM7SUFDaEQsT0FBTyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUs7SUFDbkMsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTtJQUM1RCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtDQUN0QixDQUFDO0FBS0YsTUFBTSxPQUFPLFdBQVc7SUFDdEIsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZO1FBQzNCLE9BQU8sYUFBYSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ25FLENBQUM7O3lHQUhVLFdBQVc7dUdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUh2QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxTQUFTO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3Qgc2hvdWxkRGVmYXVsdCA9IHtcbiAgc3RyaW5nOiAodmFsdWU6IHN0cmluZykgPT4gIXZhbHVlLFxuICBudW1iZXI6ICh2YWx1ZTogbnVtYmVyKSA9PiAhdmFsdWUgJiYgdmFsdWUgIT09IDAsXG4gIGJvb2xlYW46ICh2YWx1ZTogYm9vbGVhbikgPT4gIXZhbHVlLFxuICBvYmplY3Q6ICh2YWx1ZTogYW55KSA9PiAhdmFsdWUgfHwgIU9iamVjdC5rZXlzKHZhbHVlKS5sZW5ndGgsXG4gIHVuZGVmaW5lZDogKCkgPT4gdHJ1ZVxufTtcblxuQFBpcGUoe1xuICBuYW1lOiAnZGVmYXVsdCdcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlLCBkZWZhdWx0VmFsdWUpIHtcbiAgICByZXR1cm4gc2hvdWxkRGVmYXVsdFt0eXBlb2YgdmFsdWVdKHZhbHVlKSA/IGRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { ellipsis } from './utils';
3
+ import * as i0 from "@angular/core";
4
+ export class EllipsisPipe {
5
+ transform(value, maxLength) {
6
+ return ellipsis(`${value}`, maxLength);
7
+ }
8
+ }
9
+ EllipsisPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EllipsisPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ EllipsisPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EllipsisPipe, name: "ellipsis" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: EllipsisPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'ellipsis'
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZWxsaXBzaXMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUtuQyxNQUFNLE9BQU8sWUFBWTtJQUN2QixTQUFTLENBQUMsS0FBVSxFQUFFLFNBQWtCO1FBQ3RDLE9BQU8sUUFBUSxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7MEdBSFUsWUFBWTt3R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBlbGxpcHNpcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdlbGxpcHNpcydcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBtYXhMZW5ndGg/OiBudW1iZXIpOiB1bmtub3duIHtcbiAgICByZXR1cm4gZWxsaXBzaXMoYCR7dmFsdWV9YCwgbWF4TGVuZ3RoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const get = require('lodash.get');
4
+ export class GetPipe {
5
+ transform(value, key, defaultValue = '') {
6
+ return get(value, key, defaultValue);
7
+ }
8
+ }
9
+ GetPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ GetPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GetPipe, name: "get" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: GetPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'get'
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2dldC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUNwRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7QUFLbEMsTUFBTSxPQUFPLE9BQU87SUFDbEIsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFXLEVBQUUsZUFBb0IsRUFBRTtRQUN2RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O3FHQUhVLE9BQU87bUdBQVAsT0FBTzs0RkFBUCxPQUFPO2tCQUhuQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuY29uc3QgZ2V0ID0gcmVxdWlyZSgnbG9kYXNoLmdldCcpO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdnZXQnXG59KVxuZXhwb3J0IGNsYXNzIEdldFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGFueSA9ICcnKTogYW55IHtcbiAgICByZXR1cm4gZ2V0KHZhbHVlLCBrZXksIGRlZmF1bHRWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { termTypeLabel } from '../terms/terms.model';
3
+ import * as i0 from "@angular/core";
4
+ export class KeyToLabelPipe {
5
+ transform(value) {
6
+ // using termTypeLabel here which defaults to `keyToLabel` function
7
+ return termTypeLabel(value);
8
+ }
9
+ }
10
+ KeyToLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyToLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ KeyToLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyToLabelPipe, name: "keyToLabel" });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeyToLabelPipe, decorators: [{
13
+ type: Pipe,
14
+ args: [{
15
+ name: 'keyToLabel'
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXRvLWxhYmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL2tleS10by1sYWJlbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFLckQsTUFBTSxPQUFPLGNBQWM7SUFDekIsU0FBUyxDQUFDLEtBQWE7UUFDckIsbUVBQW1FO1FBQ25FLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OzRHQUpVLGNBQWM7MEdBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUgxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgdGVybVR5cGVMYWJlbCB9IGZyb20gJy4uL3Rlcm1zL3Rlcm1zLm1vZGVsJztcblxuQFBpcGUoe1xuICBuYW1lOiAna2V5VG9MYWJlbCdcbn0pXG5leHBvcnQgY2xhc3MgS2V5VG9MYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyB1c2luZyB0ZXJtVHlwZUxhYmVsIGhlcmUgd2hpY2ggZGVmYXVsdHMgdG8gYGtleVRvTGFiZWxgIGZ1bmN0aW9uXG4gICAgcmV0dXJuIHRlcm1UeXBlTGFiZWwodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class KeysPipe {
4
+ transform(value, sort = false) {
5
+ const keys = Object.keys(value).map(key => ({ key, value: value[key] }));
6
+ if (sort) {
7
+ keys.sort((a, b) => a.key.localeCompare(b.key));
8
+ }
9
+ return keys;
10
+ }
11
+ }
12
+ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeysPipe, name: "keys" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: KeysPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'keys'
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9rZXlzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLEtBQUs7UUFDM0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDakQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O3NHQVBVLFFBQVE7b0dBQVIsUUFBUTs0RkFBUixRQUFRO2tCQUhwQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxNQUFNO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdrZXlzJ1xufSlcbmV4cG9ydCBjbGFzcyBLZXlzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWUsIHNvcnQgPSBmYWxzZSk6IGFueSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKS5tYXAoa2V5ID0+ICh7IGtleSwgdmFsdWU6IHZhbHVlW2tleV0gfSkpO1xuICAgIGlmIChzb3J0KSB7XG4gICAgICBrZXlzLnNvcnQoKGEsIGIpID0+IGEua2V5LmxvY2FsZUNvbXBhcmUoYi5rZXkpKTtcbiAgICB9XG4gICAgcmV0dXJuIGtleXM7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { isExpandable } from '@hestia-earth/schema';
3
+ import { isUndefined } from '@hestia-earth/utils';
4
+ import { baseUrl } from '../utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../blank-node-state/blank-node-state.component";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "../bind-once.directive";
9
+ import * as i4 from "../precision.pipe";
10
+ const stringMapper = {
11
+ undefined: () => '',
12
+ object: value => Array.isArray(value) ? value.map(toString).join(', ') : (value instanceof Date ? value.toJSON() : (isExpandable(value) ? value.name || value['@id'] : JSON.stringify(value, null, 2)))
13
+ };
14
+ const toString = (value) => typeof value in stringMapper ? stringMapper[typeof value](value) : value.toString();
15
+ export class LinkKeyValueComponent {
16
+ constructor() {
17
+ this.baseUrl = baseUrl();
18
+ }
19
+ get type() {
20
+ return this.node['@type'] || this.node.type;
21
+ }
22
+ get value() {
23
+ return this.node[this.key];
24
+ }
25
+ get valueString() {
26
+ return toString(this.value);
27
+ }
28
+ get valueLink() {
29
+ return isExpandable(this.value) && this.value['@id'] ?
30
+ [baseUrl(), this.value['@type'].toLowerCase(), this.value['@id']].join('/') :
31
+ null;
32
+ }
33
+ get isUndefined() {
34
+ return isUndefined(this.value);
35
+ }
36
+ }
37
+ LinkKeyValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LinkKeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
+ LinkKeyValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: LinkKeyValueComponent, selector: "he-link-key-value", inputs: { node: "node", nodeType: "nodeType", dataKey: "dataKey", key: "key" }, ngImport: i0, template: "<ng-container *ngIf=\"!isUndefined\">\n <ng-container *bindOnce=\"node\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n <span class=\"pr-2\">:</span>\n <a [href]=\"valueLink\" *ngIf=\"valueLink; else showString\">{{valueString}}</a>\n <he-blank-node-state class=\"ml-1\"\n [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"\n ></he-blank-node-state>\n </ng-container>\n</ng-container>\n\n<ng-template #showString>\n {{valueString | precision:3}}\n</ng-template>\n", styles: [":host{display:block}\n"], components: [{ type: i1.BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["nodeType", "dataKey", "key", "node", "state"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }], pipes: { "precision": i4.PrecisionPipe } });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: LinkKeyValueComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ selector: 'he-link-key-value',
43
+ templateUrl: './link-key-value.component.html',
44
+ styleUrls: ['./link-key-value.component.scss']
45
+ }]
46
+ }], propDecorators: { node: [{
47
+ type: Input
48
+ }], nodeType: [{
49
+ type: Input
50
+ }], dataKey: [{
51
+ type: Input
52
+ }], key: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1rZXktdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9saW5rLWtleS12YWx1ZS9saW5rLWtleS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7O0FBRW5DLE1BQU0sWUFBWSxHQUVkO0lBQ0YsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDbkIsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDdkMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUNsRixDQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7QUFPckgsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQWVTLFlBQU8sR0FBRyxPQUFPLEVBQUUsQ0FBQztLQXVCNUI7SUFyQkMsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNwRCxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQztJQUNULENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O21IQWhDVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix5SUN4QmxDLGtqQkFjQTs0RkRVYSxxQkFBcUI7a0JBTGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQy9DOzhCQUdRLElBQUk7c0JBRFYsS0FBSztnQkFHQyxRQUFRO3NCQURkLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEdBQUc7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzRXhwYW5kYWJsZSwgTm9kZVR5cGUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZCB9IGZyb20gJ0BoZXN0aWEtZWFydGgvdXRpbHMnO1xuXG5pbXBvcnQgeyBiYXNlVXJsIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBzdHJpbmdNYXBwZXI6IHtcbiAgW3R5cGU6IHN0cmluZ106ICh2YWx1ZT86IGFueSkgPT4gc3RyaW5nO1xufSA9IHtcbiAgdW5kZWZpbmVkOiAoKSA9PiAnJyxcbiAgb2JqZWN0OiB2YWx1ZSA9PiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLm1hcCh0b1N0cmluZykuam9pbignLCAnKSA6IChcbiAgICB2YWx1ZSBpbnN0YW5jZW9mIERhdGUgPyB2YWx1ZS50b0pTT04oKSA6IChcbiAgICAgIGlzRXhwYW5kYWJsZSh2YWx1ZSkgPyB2YWx1ZS5uYW1lIHx8IHZhbHVlWydAaWQnXSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlLCBudWxsLCAyKVxuICAgIClcbiAgKVxufTtcblxuY29uc3QgdG9TdHJpbmcgPSAodmFsdWU6IGFueSkgPT4gdHlwZW9mIHZhbHVlIGluIHN0cmluZ01hcHBlciA/IHN0cmluZ01hcHBlclt0eXBlb2YgdmFsdWVdKHZhbHVlKSA6IHZhbHVlLnRvU3RyaW5nKCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWxpbmsta2V5LXZhbHVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGluay1rZXktdmFsdWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMaW5rS2V5VmFsdWVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbm9kZTogYW55O1xuICBASW5wdXQoKVxuICBwdWJsaWMgbm9kZVR5cGU/OiBOb2RlVHlwZTtcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGFLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBrZXk/OiBzdHJpbmc7XG5cbiAgcHVibGljIGJhc2VVcmwgPSBiYXNlVXJsKCk7XG5cbiAgcHVibGljIGdldCB0eXBlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVbJ0B0eXBlJ10gfHwgdGhpcy5ub2RlLnR5cGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVbdGhpcy5rZXkhXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWVTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRvU3RyaW5nKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZUxpbmsoKSB7XG4gICAgcmV0dXJuIGlzRXhwYW5kYWJsZSh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlWydAaWQnXSA/XG4gICAgICBbYmFzZVVybCgpLCB0aGlzLnZhbHVlWydAdHlwZSddLnRvTG93ZXJDYXNlKCksIHRoaXMudmFsdWVbJ0BpZCddXS5qb2luKCcvJykgOlxuICAgICAgbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNVbmRlZmluZWQoKSB7XG4gICAgcmV0dXJuIGlzVW5kZWZpbmVkKHRoaXMudmFsdWUpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVW5kZWZpbmVkXCI+XG4gIDxuZy1jb250YWluZXIgKmJpbmRPbmNlPVwibm9kZVwiPlxuICAgIDxhIFtocmVmXT1cImJhc2VVcmwgKyAnL3NjaGVtYS8nICsgdHlwZSArICcjJyArIGtleVwiIHRhcmdldD1cIl9ibGFua1wiPjxiPnt7a2V5fX08L2I+PC9hPlxuICAgIDxzcGFuIGNsYXNzPVwicHItMlwiPjo8L3NwYW4+XG4gICAgPGEgW2hyZWZdPVwidmFsdWVMaW5rXCIgKm5nSWY9XCJ2YWx1ZUxpbms7IGVsc2Ugc2hvd1N0cmluZ1wiPnt7dmFsdWVTdHJpbmd9fTwvYT5cbiAgICA8aGUtYmxhbmstbm9kZS1zdGF0ZSBjbGFzcz1cIm1sLTFcIlxuICAgICAgW25vZGVdPVwibm9kZVwiIFtub2RlVHlwZV09XCJub2RlVHlwZVwiIFtkYXRhS2V5XT1cImRhdGFLZXlcIiBba2V5XT1cImtleVwiXG4gICAgPjwvaGUtYmxhbmstbm9kZS1zdGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaG93U3RyaW5nPlxuICB7e3ZhbHVlU3RyaW5nIHwgcHJlY2lzaW9uOjN9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,49 @@
1
+ import { json2csvAsync } from 'json-2-csv';
2
+ export var Level;
3
+ (function (Level) {
4
+ Level["debug"] = "DEBUG";
5
+ Level["info"] = "INFO";
6
+ Level["warning"] = "WARNING";
7
+ Level["error"] = "ERROR";
8
+ })(Level || (Level = {}));
9
+ export const levels = Object.values(Level);
10
+ const parseLine = (text) => {
11
+ try {
12
+ return JSON.parse(text);
13
+ }
14
+ catch (err) {
15
+ return { level: Level.debug };
16
+ }
17
+ };
18
+ const levelToClass = {
19
+ [Level.debug]: 'has-text-info',
20
+ [Level.error]: 'has-text-danger',
21
+ [Level.info]: '',
22
+ [Level.warning]: 'has-text-warning'
23
+ };
24
+ export const parseData = (data) => ({
25
+ code: JSON.stringify(data),
26
+ data,
27
+ class: levelToClass[data.level],
28
+ level: data.level
29
+ });
30
+ export const parseLines = (text) => typeof text === 'string' ?
31
+ (text || '').trim().split('\n').filter(Boolean).map(parseLine).map(parseData) :
32
+ [parseData(text)];
33
+ const csvKey = (key) => ({
34
+ key: 'key/term',
35
+ term: 'key/term',
36
+ time: '',
37
+ unit: ''
38
+ }[key] || key).trim();
39
+ const csvValue = (value) => (value || '').replace('[', '').replace(']', '').trim();
40
+ export const parseMessage = (message) => message.split(',').reduce((prev, parts) => {
41
+ const [key, value] = parts.split('=');
42
+ const val = csvValue(value);
43
+ return Object.assign(Object.assign({}, prev), (key && val ? { [csvKey(key)]: val } : {}));
44
+ }, {});
45
+ const formatLine = ({ data: { timestamp, message } }) => (Object.assign({ timestamp }, parseMessage(message)));
46
+ export const toCsv = (lines) => json2csvAsync(lines.map(formatLine).filter(data => Object.keys(data).length > 1), {
47
+ emptyFieldValue: ''
48
+ });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9ncy11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vbG9ncy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNDLE1BQU0sQ0FBTixJQUFZLEtBS1g7QUFMRCxXQUFZLEtBQUs7SUFDZix3QkFBZSxDQUFBO0lBQ2Ysc0JBQWEsQ0FBQTtJQUNiLDRCQUFtQixDQUFBO0lBQ25CLHdCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUxXLEtBQUssS0FBTCxLQUFLLFFBS2hCO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFTM0MsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUNqQyxJQUFJO1FBQ0YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxHQUFHLEVBQUU7UUFDVixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUMvQjtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHO0lBQ25CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLGVBQWU7SUFDOUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsaUJBQWlCO0lBQ2hDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7SUFDaEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsa0JBQWtCO0NBQ3BDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzFCLElBQUk7SUFDSixLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0NBQ1IsQ0FBQSxDQUFDO0FBRVosTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FDdEMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUV0QixNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQixHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxVQUFVO0lBQ2hCLElBQUksRUFBRSxFQUFFO0lBQ1IsSUFBSSxFQUFFLEVBQUU7Q0FDVCxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRXRCLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFFM0YsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN6RixNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLHVDQUNLLElBQUksR0FDSixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzdDO0FBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRVAsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBUyxFQUFFLEVBQUUsQ0FBQyxpQkFDOUQsU0FBUyxJQUNOLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDeEIsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQ3RDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ2hGLGVBQWUsRUFBRSxFQUFFO0NBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzb24yY3N2QXN5bmMgfSBmcm9tICdqc29uLTItY3N2JztcblxuZXhwb3J0IGVudW0gTGV2ZWwge1xuICBkZWJ1ZyA9ICdERUJVRycsXG4gIGluZm8gPSAnSU5GTycsXG4gIHdhcm5pbmcgPSAnV0FSTklORycsXG4gIGVycm9yID0gJ0VSUk9SJ1xufVxuXG5leHBvcnQgY29uc3QgbGV2ZWxzID0gT2JqZWN0LnZhbHVlcyhMZXZlbCk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmUge1xuICBjb2RlOiBzdHJpbmc7XG4gIGRhdGE6IGFueTtcbiAgY2xhc3M6IHN0cmluZztcbiAgbGV2ZWw6IExldmVsO1xufVxuXG5jb25zdCBwYXJzZUxpbmUgPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGV4dCk7XG4gIH1cbiAgY2F0Y2ggKGVycikge1xuICAgIHJldHVybiB7IGxldmVsOiBMZXZlbC5kZWJ1ZyB9O1xuICB9XG59O1xuXG5jb25zdCBsZXZlbFRvQ2xhc3MgPSB7XG4gIFtMZXZlbC5kZWJ1Z106ICdoYXMtdGV4dC1pbmZvJyxcbiAgW0xldmVsLmVycm9yXTogJ2hhcy10ZXh0LWRhbmdlcicsXG4gIFtMZXZlbC5pbmZvXTogJycsXG4gIFtMZXZlbC53YXJuaW5nXTogJ2hhcy10ZXh0LXdhcm5pbmcnXG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VEYXRhID0gKGRhdGE6IGFueSkgPT4gKHtcbiAgY29kZTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG4gIGRhdGEsXG4gIGNsYXNzOiBsZXZlbFRvQ2xhc3NbZGF0YS5sZXZlbF0sXG4gIGxldmVsOiBkYXRhLmxldmVsXG59IGFzIElMaW5lKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTGluZXMgPSAodGV4dDogYW55KSA9PlxuICB0eXBlb2YgdGV4dCA9PT0gJ3N0cmluZycgP1xuICAgICh0ZXh0IHx8ICcnKS50cmltKCkuc3BsaXQoJ1xcbicpLmZpbHRlcihCb29sZWFuKS5tYXAocGFyc2VMaW5lKS5tYXAocGFyc2VEYXRhKSA6XG4gICAgW3BhcnNlRGF0YSh0ZXh0KV07XG5cbmNvbnN0IGNzdktleSA9IChrZXk6IHN0cmluZykgPT4gKHtcbiAga2V5OiAna2V5L3Rlcm0nLFxuICB0ZXJtOiAna2V5L3Rlcm0nLFxuICB0aW1lOiAnJyxcbiAgdW5pdDogJydcbn1ba2V5XSB8fCBrZXkpLnRyaW0oKTtcblxuY29uc3QgY3N2VmFsdWUgPSAodmFsdWU6IHN0cmluZykgPT4gKHZhbHVlIHx8ICcnKS5yZXBsYWNlKCdbJywgJycpLnJlcGxhY2UoJ10nLCAnJykudHJpbSgpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZykgPT4gbWVzc2FnZS5zcGxpdCgnLCcpLnJlZHVjZSgocHJldiwgcGFydHMpID0+IHtcbiAgY29uc3QgW2tleSwgdmFsdWVdID0gcGFydHMuc3BsaXQoJz0nKTtcbiAgY29uc3QgdmFsID0gY3N2VmFsdWUodmFsdWUpO1xuICByZXR1cm4ge1xuICAgIC4uLnByZXYsXG4gICAgLi4uKGtleSAmJiB2YWwgPyB7IFtjc3ZLZXkoa2V5KV06IHZhbCB9IDoge30pXG4gIH07XG59LCB7fSk7XG5cbmNvbnN0IGZvcm1hdExpbmUgPSAoeyBkYXRhOiB7IHRpbWVzdGFtcCwgbWVzc2FnZSB9IH06IElMaW5lKSA9PiAoe1xuICB0aW1lc3RhbXAsXG4gIC4uLnBhcnNlTWVzc2FnZShtZXNzYWdlKVxufSk7XG5cbmV4cG9ydCBjb25zdCB0b0NzdiA9IChsaW5lczogSUxpbmVbXSkgPT5cbiAganNvbjJjc3ZBc3luYyhsaW5lcy5tYXAoZm9ybWF0TGluZSkuZmlsdGVyKGRhdGEgPT4gT2JqZWN0LmtleXMoZGF0YSkubGVuZ3RoID4gMSksIHtcbiAgICBlbXB0eUZpZWxkVmFsdWU6ICcnXG4gIH0pO1xuIl19
@@ -0,0 +1,89 @@
1
+ import { Component, Output, EventEmitter, Input, ViewChild } from '@angular/core';
2
+ import { GoogleMap } from '@angular/google-maps';
3
+ import { isNumber } from '@hestia-earth/utils';
4
+ import { defaultFeature, addPolygonToFeature, polygonsFromFeature, strokeStyle } from '../maps-utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/google-maps";
7
+ import * as i2 from "@fortawesome/angular-fontawesome";
8
+ export class MapsDrawingConfirmComponent {
9
+ constructor() {
10
+ this.listeners = [];
11
+ this.shapes = [];
12
+ this.feature = defaultFeature();
13
+ this.modes = [google.maps.drawing.OverlayType.POLYGON];
14
+ this.center = { lat: 0, lng: 0 };
15
+ this.zoom = 3;
16
+ this.closed = new EventEmitter();
17
+ this.options = {
18
+ fullscreenControl: false,
19
+ mapTypeControl: true,
20
+ streetViewControl: false,
21
+ zoomControl: true,
22
+ zoomControlOptions: {
23
+ position: google.maps.ControlPosition.TOP_RIGHT
24
+ }
25
+ };
26
+ }
27
+ ngOnInit() {
28
+ this.feature = this.value && !isNumber(this.value) ? JSON.parse(this.value) : this.feature;
29
+ }
30
+ ngAfterViewInit() {
31
+ var _a;
32
+ const polygons = polygonsFromFeature(this.feature);
33
+ polygons.map(polygon => { var _a; return polygon.setMap((_a = this.map) === null || _a === void 0 ? void 0 : _a.googleMap); });
34
+ const drawingManager = new google.maps.drawing.DrawingManager({
35
+ drawingControlOptions: {
36
+ position: google.maps.ControlPosition.TOP_CENTER,
37
+ drawingModes: this.modes
38
+ },
39
+ polygonOptions: strokeStyle
40
+ });
41
+ drawingManager.setMap((_a = this.map) === null || _a === void 0 ? void 0 : _a.googleMap);
42
+ this.listeners.push(google.maps.event.addListener(drawingManager, 'polygoncomplete', polygon => this.onPolygonAdded(polygon)));
43
+ this.listeners.push(google.maps.event.addListener(drawingManager, 'markercomplete', marker => this.onMarkerAdded(marker)));
44
+ }
45
+ ngOnDestroy() {
46
+ this.listeners.map(listener => google.maps.event.removeListener(listener));
47
+ }
48
+ onPolygonAdded(polygon) {
49
+ this.shapes.push(polygon);
50
+ addPolygonToFeature(this.feature, polygon);
51
+ }
52
+ onMarkerAdded(marker) {
53
+ this.shapes.push(marker);
54
+ const position = marker.getPosition();
55
+ this.coordinates = position === null || position === void 0 ? void 0 : position.toJSON();
56
+ }
57
+ confirm() {
58
+ this.closed.next(this.coordinates || JSON.stringify(this.feature));
59
+ }
60
+ clear() {
61
+ this.shapes.map(shape => shape.setMap(null));
62
+ this.coordinates = undefined;
63
+ this.feature = defaultFeature();
64
+ }
65
+ }
66
+ MapsDrawingConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapsDrawingConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
67
+ MapsDrawingConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: MapsDrawingConfirmComponent, selector: "he-maps-drawing-confirm", inputs: { value: "value", modes: "modes", center: "center", zoom: "zoom" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true }], ngImport: i0, template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Draw on Map</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"closed.next(value)\"></button>\n </header>\n <section class=\"modal-card-body p-0\">\n <google-map\n height=\"100%\"\n width=\"100%\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n [options]=\"options\"\n ></google-map>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\">\n <span i18n=\"@@confirm\">Confirm</span>\n </button>\n <button class=\"button\" (click)=\"closed.next(value)\">\n <span i18n=\"@@close\">Close</span>\n </button>\n <button class=\"button is-danger is-outlined\" (click)=\"clear()\">\n <fa-icon class=\"mr-2\" icon=\"times\"></fa-icon>\n <span i18n=\"@@clear\">Clear</span>\n </button>\n </footer>\n </div>\n</div>\n", styles: ["google-map{display:block;height:100%;max-height:calc(100vh - 146px);min-height:500px}\n"], components: [{ type: i1.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: MapsDrawingConfirmComponent, decorators: [{
69
+ type: Component,
70
+ args: [{
71
+ selector: 'he-maps-drawing-confirm',
72
+ templateUrl: './maps-drawing-confirm.component.html',
73
+ styleUrls: ['./maps-drawing-confirm.component.scss']
74
+ }]
75
+ }], propDecorators: { map: [{
76
+ type: ViewChild,
77
+ args: [GoogleMap]
78
+ }], value: [{
79
+ type: Input
80
+ }], modes: [{
81
+ type: Input
82
+ }], center: [{
83
+ type: Input
84
+ }], zoom: [{
85
+ type: Input
86
+ }], closed: [{
87
+ type: Output
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9tYXBzLWRyYXdpbmctY29uZmlybS9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL21hcHMtZHJhd2luZy1jb25maXJtL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFDeUIsY0FBYyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFDcEcsTUFBTSxlQUFlLENBQUM7Ozs7QUFPdkIsTUFBTSxPQUFPLDJCQUEyQjtJQUx4QztRQU1VLGNBQVMsR0FBb0MsRUFBRSxDQUFDO1FBQ2hELFdBQU0sR0FBaUQsRUFBRSxDQUFDO1FBRTFELFlBQU8sR0FBa0MsY0FBYyxFQUFFLENBQUM7UUFTM0QsVUFBSyxHQUFzQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVyRixXQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUU1QixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBR1QsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFzQyxDQUFDO1FBRWhFLFlBQU8sR0FBMkI7WUFDdkMsaUJBQWlCLEVBQUUsS0FBSztZQUN4QixjQUFjLEVBQUUsSUFBSTtZQUNw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QUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7O3lIQTlFVSwyQkFBMkI7NkdBQTNCLDJCQUEyQiwrTUFPM0IsU0FBUyxnRENwQnRCLHlqQ0E4QkE7NEZEakJhLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQ7OEJBU1MsR0FBRztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBSWIsS0FBSztzQkFEWCxLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUlDLE1BQU07c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHb29nbGVNYXAgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJ0BoZXN0aWEtZWFydGgvdXRpbHMnO1xuXG5pbXBvcnQge1xuICBJRmVhdHVyZSwgSUZlYXR1cmVDb2xsZWN0aW9uLCBkZWZhdWx0RmVhdHVyZSwgYWRkUG9seWdvblRvRmVhdHVyZSwgcG9seWdvbnNGcm9tRmVhdHVyZSwgc3Ryb2tlU3R5bGVcbn0gZnJvbSAnLi4vbWFwcy11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLW1hcHMtZHJhd2luZy1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXBzRHJhd2luZ0NvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbGlzdGVuZXJzOiBnb29nbGUubWFwcy5NYXBzRXZlbnRMaXN0ZW5lcltdID0gW107XG4gIHByaXZhdGUgc2hhcGVzOiAoZ29vZ2xlLm1hcHMuTWFya2VyIHwgZ29vZ2xlLm1hcHMuUG9seWdvbilbXSA9IFtdO1xuXG4gIHByaXZhdGUgZmVhdHVyZTogSUZlYXR1cmUgfCBJRmVhdHVyZUNvbGxlY3Rpb24gPSBkZWZhdWx0RmVhdHVyZSgpO1xuICBwcml2YXRlIGNvb3JkaW5hdGVzPzogZ29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbDtcblxuICBAVmlld0NoaWxkKEdvb2dsZU1hcClcbiAgcHJpdmF0ZSBtYXA/OiBHb29nbGVNYXA7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKVxuICBwdWJsaWMgbW9kZXM6IGdvb2dsZS5tYXBzLmRyYXdpbmcuT3ZlcmxheVR5cGVbXSA9IFtnb29nbGUubWFwcy5kcmF3aW5nLk92ZXJsYXlUeXBlLlBPTFlHT05dO1xuICBASW5wdXQoKVxuICBwdWJsaWMgY2VudGVyID0geyBsYXQ6IDAsIGxuZzogMCB9O1xuICBASW5wdXQoKVxuICBwdWJsaWMgem9vbSA9IDM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGdvb2dsZS5tYXBzLkxhdExuZ0xpdGVyYWwgfCBzdHJpbmc+KCk7XG5cbiAgcHVibGljIG9wdGlvbnM6IGdvb2dsZS5tYXBzLk1hcE9wdGlvbnMgPSB7XG4gICAgZnVsbHNjcmVlbkNvbnRyb2w6IGZhbHNlLFxuICAgIG1hcFR5cGVDb250cm9sOiB0cnVlLFxuICAgIHN0cmVldFZpZXdDb250cm9sOiBmYWxzZSxcbiAgICB6b29tQ29udHJvbDogdHJ1ZSxcbiAgICB6b29tQ29udHJvbE9wdGlvbnM6IHtcbiAgICAgIHBvc2l0aW9uOiBnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uVE9QX1JJR0hUXG4gICAgfVxuICB9O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmVhdHVyZSA9IHRoaXMudmFsdWUgJiYgIWlzTnVtYmVyKHRoaXMudmFsdWUpID8gSlNPTi5wYXJzZSh0aGlzLnZhbHVlKSA6IHRoaXMuZmVhdHVyZTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBwb2x5Z29ucyA9IHBvbHlnb25zRnJvbUZlYXR1cmUodGhpcy5mZWF0dXJlKTtcbiAgICBwb2x5Z29ucy5tYXAocG9seWdvbiA9PiBwb2x5Z29uLnNldE1hcCh0aGlzLm1hcD8uZ29vZ2xlTWFwISkpO1xuICAgIGNvbnN0IGRyYXdpbmdNYW5hZ2VyID0gbmV3IGdvb2dsZS5tYXBzLmRyYXdpbmcuRHJhd2luZ01hbmFnZXIoe1xuICAgICAgZHJhd2luZ0NvbnRyb2xPcHRpb25zOiB7XG4gICAgICAgIHBvc2l0aW9uOiBnb29nbGUubWFwcy5Db250cm9sUG9zaXRpb24uVE9QX0NFTlRFUixcbiAgICAgICAgZHJhd2luZ01vZGVzOiB0aGlzLm1vZGVzXG4gICAgICB9LFxuICAgICAgcG9seWdvbk9wdGlvbnM6IHN0cm9rZVN0eWxlXG4gICAgfSk7XG4gICAgZHJhd2luZ01hbmFnZXIuc2V0TWFwKHRoaXMubWFwPy5nb29nbGVNYXAhKTtcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKGdvb2dsZS5tYXBzLmV2ZW50LmFkZExpc3RlbmVyKGRyYXdpbmdNYW5hZ2VyLCAncG9seWdvbmNvbXBsZXRlJywgcG9seWdvbiA9PlxuICAgICAgdGhpcy5vblBvbHlnb25BZGRlZChwb2x5Z29uKVxuICAgICkpO1xuICAgIHRoaXMubGlzdGVuZXJzLnB1c2goZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIoZHJhd2luZ01hbmFnZXIsICdtYXJrZXJjb21wbGV0ZScsIG1hcmtlciA9PlxuICAgICAgdGhpcy5vbk1hcmtlckFkZGVkKG1hcmtlcilcbiAgICApKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMubGlzdGVuZXJzLm1hcChsaXN0ZW5lciA9PiBnb29nbGUubWFwcy5ldmVudC5yZW1vdmVMaXN0ZW5lcihsaXN0ZW5lcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblBvbHlnb25BZGRlZChwb2x5Z29uOiBnb29nbGUubWFwcy5Qb2x5Z29uKSB7XG4gICAgdGhpcy5zaGFwZXMucHVzaChwb2x5Z29uKTtcbiAgICBhZGRQb2x5Z29uVG9GZWF0dXJlKHRoaXMuZmVhdHVyZSwgcG9seWdvbik7XG4gIH1cblxuICBwcml2YXRlIG9uTWFya2VyQWRkZWQobWFya2VyOiBnb29nbGUubWFwcy5NYXJrZXIpIHtcbiAgICB0aGlzLnNoYXBlcy5wdXNoKG1hcmtlcik7XG4gICAgY29uc3QgcG9zaXRpb24gPSBtYXJrZXIuZ2V0UG9zaXRpb24oKTtcbiAgICB0aGlzLmNvb3JkaW5hdGVzID0gcG9zaXRpb24/LnRvSlNPTigpO1xuICB9XG5cbiAgcHVibGljIGNvbmZpcm0oKSB7XG4gICAgdGhpcy5jbG9zZWQubmV4dCh0aGlzLmNvb3JkaW5hdGVzIHx8IEpTT04uc3RyaW5naWZ5KHRoaXMuZmVhdHVyZSkpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMuc2hhcGVzLm1hcChzaGFwZSA9PiBzaGFwZS5zZXRNYXAobnVsbCkpO1xuICAgIHRoaXMuY29vcmRpbmF0ZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5mZWF0dXJlID0gZGVmYXVsdEZlYXR1cmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsIGlzLWxhcmdlIGlzLWFjdGl2ZVwiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYmFja2dyb3VuZFwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtY2FyZFwiPlxuICAgIDxoZWFkZXIgY2xhc3M9XCJtb2RhbC1jYXJkLWhlYWRcIj5cbiAgICAgIDxwIGNsYXNzPVwibW9kYWwtY2FyZC10aXRsZVwiPkRyYXcgb24gTWFwPC9wPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImRlbGV0ZVwiIGFyaWEtbGFiZWw9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZWQubmV4dCh2YWx1ZSlcIj48L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cIm1vZGFsLWNhcmQtYm9keSBwLTBcIj5cbiAgICAgIDxnb29nbGUtbWFwXG4gICAgICAgIGhlaWdodD1cIjEwMCVcIlxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICBbem9vbV09XCJ6b29tXCJcbiAgICAgICAgW2NlbnRlcl09XCJjZW50ZXJcIlxuICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zXCJcbiAgICAgID48L2dvb2dsZS1tYXA+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxmb290ZXIgY2xhc3M9XCJtb2RhbC1jYXJkLWZvb3RcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtcHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtKClcIj5cbiAgICAgICAgPHNwYW4gaTE4bj1cIkBAY29uZmlybVwiPkNvbmZpcm08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2VkLm5leHQodmFsdWUpXCI+XG4gICAgICAgIDxzcGFuIGkxOG49XCJAQGNsb3NlXCI+Q2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtZGFuZ2VyIGlzLW91dGxpbmVkXCIgKGNsaWNrKT1cImNsZWFyKClcIj5cbiAgICAgICAgPGZhLWljb24gY2xhc3M9XCJtci0yXCIgaWNvbj1cInRpbWVzXCI+PC9mYS1pY29uPlxuICAgICAgICA8c3BhbiBpMThuPVwiQEBjbGVhclwiPkNsZWFyPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9mb290ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=