@esfaenza/es-charts 13.1.4 → 13.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/esm2020/lib/adapters/BaseAdapter.mjs +50 -0
  2. package/esm2020/lib/adapters/IBaseAdapter.mjs +2 -0
  3. package/esm2020/lib/components/base/base-chart.component.mjs +4 -3
  4. package/esm2020/lib/components/chart-pager/chart-pager.component.mjs +1 -1
  5. package/esm2020/lib/components/specializations/es-area-chart.component.mjs +11 -10
  6. package/esm2020/lib/components/specializations/es-chart.component.mjs +24 -11
  7. package/esm2020/lib/components/specializations/es-line-chart.component.mjs +12 -11
  8. package/esm2020/lib/components/specializations/es-pie-chart.component.mjs +11 -10
  9. package/esm2020/lib/components/specializations/es-vertical-2d-chart.component.mjs +11 -10
  10. package/esm2020/lib/components/specializations/es-vertical-chart.component.mjs +11 -10
  11. package/esm2020/lib/components/specializations/es-vertical-stacked-chart.component.mjs +11 -10
  12. package/esm2020/lib/es-charts.module.mjs +13 -5
  13. package/esm2020/lib/models/core/ChartDispatcher.mjs +91 -0
  14. package/esm2020/lib/models/core/ChartLoader.mjs +201 -0
  15. package/esm2020/lib/models/core/ChartThemes.mjs +61 -0
  16. package/esm2020/lib/models/data/AreaChartData.mjs +16 -0
  17. package/esm2020/lib/models/data/LineChartData.mjs +16 -0
  18. package/esm2020/lib/models/data/PagedChartData.mjs +20 -0
  19. package/esm2020/lib/models/data/PieChartData.mjs +14 -0
  20. package/esm2020/lib/models/data/Vertical2DChartData.mjs +16 -0
  21. package/esm2020/lib/models/data/VerticalChartData.mjs +14 -0
  22. package/esm2020/lib/models/data/VerticalStackedChartData.mjs +14 -0
  23. package/esm2020/lib/models/data/base/DateValue.mjs +11 -0
  24. package/esm2020/lib/models/data/base/KeyValue.mjs +11 -0
  25. package/esm2020/lib/models/data/base/KeyValueColor.mjs +12 -0
  26. package/esm2020/lib/models/data/base/Limit.mjs +15 -0
  27. package/esm2020/lib/models/data/base/LineSerie.mjs +24 -0
  28. package/esm2020/lib/models/settings/AreaChartSettings.mjs +11 -0
  29. package/esm2020/lib/models/settings/LineChartSettings.mjs +11 -0
  30. package/esm2020/lib/models/settings/PieChartSettings.mjs +7 -0
  31. package/esm2020/lib/models/settings/Vertical2DChartSettings.mjs +11 -0
  32. package/esm2020/lib/models/settings/VerticalChartSettings.mjs +11 -0
  33. package/esm2020/lib/models/settings/VerticalStackedChartSettings.mjs +11 -0
  34. package/esm2020/lib/models/settings/base/BaseInterval.mjs +6 -0
  35. package/esm2020/lib/models/settings/base/BaseSettings.mjs +6 -0
  36. package/esm2020/lib/models/settings/base/LegendPad.mjs +6 -0
  37. package/esm2020/lib/services/AreaChartService.mjs +134 -0
  38. package/esm2020/lib/services/LineChartService.mjs +337 -0
  39. package/esm2020/lib/services/PieChartService.mjs +111 -0
  40. package/esm2020/lib/services/Vertical2DChartService.mjs +160 -0
  41. package/esm2020/lib/services/VerticalChartService.mjs +103 -0
  42. package/esm2020/lib/services/VerticalStackedChartService.mjs +124 -0
  43. package/esm2020/lib/services/base/IBaseService.mjs +2 -0
  44. package/esm2020/public-api.mjs +25 -25
  45. package/fesm2015/esfaenza-es-charts.mjs +372 -391
  46. package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
  47. package/fesm2020/esfaenza-es-charts.mjs +361 -380
  48. package/fesm2020/esfaenza-es-charts.mjs.map +1 -1
  49. package/lib/adapters/{classes/BaseAdapter.d.ts → BaseAdapter.d.ts} +6 -1
  50. package/lib/adapters/{classes/IBaseAdapter.d.ts → IBaseAdapter.d.ts} +6 -1
  51. package/lib/components/base/base-chart.component.d.ts +10 -4
  52. package/lib/components/chart-pager/chart-pager.component.d.ts +1 -1
  53. package/lib/components/specializations/es-area-chart.component.d.ts +6 -4
  54. package/lib/components/specializations/es-chart.component.d.ts +17 -5
  55. package/lib/components/specializations/es-line-chart.component.d.ts +6 -4
  56. package/lib/components/specializations/es-pie-chart.component.d.ts +6 -4
  57. package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +6 -4
  58. package/lib/components/specializations/es-vertical-chart.component.d.ts +6 -4
  59. package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +6 -4
  60. package/lib/models/core/{classes/ChartDispatcher.d.ts → ChartDispatcher.d.ts} +0 -0
  61. package/lib/models/core/{classes/ChartLoader.d.ts → ChartLoader.d.ts} +0 -0
  62. package/lib/models/core/{classes/ChartThemes.d.ts → ChartThemes.d.ts} +0 -0
  63. package/lib/models/data/{classes/AreaChartData.d.ts → AreaChartData.d.ts} +1 -1
  64. package/lib/models/data/{classes/LineChartData.d.ts → LineChartData.d.ts} +0 -0
  65. package/lib/models/data/{classes/PagedChartData.d.ts → PagedChartData.d.ts} +0 -0
  66. package/lib/models/data/{classes/PieChartData.d.ts → PieChartData.d.ts} +0 -0
  67. package/lib/models/data/{classes/Vertical2DChartData.d.ts → Vertical2DChartData.d.ts} +0 -0
  68. package/lib/models/data/{classes/VerticalChartData.d.ts → VerticalChartData.d.ts} +0 -0
  69. package/lib/models/data/{classes/VerticalStackedChartData.d.ts → VerticalStackedChartData.d.ts} +0 -0
  70. package/lib/models/data/{classes/base → base}/DateValue.d.ts +0 -0
  71. package/lib/models/data/{classes/base → base}/KeyValue.d.ts +0 -0
  72. package/lib/models/data/{classes/base → base}/KeyValueColor.d.ts +0 -0
  73. package/lib/models/data/base/Limit.d.ts +13 -0
  74. package/lib/models/data/{classes/base → base}/LineSerie.d.ts +1 -1
  75. package/lib/models/settings/{classes/AreaChartSettings.d.ts → AreaChartSettings.d.ts} +0 -0
  76. package/lib/models/settings/{classes/LineChartSettings.d.ts → LineChartSettings.d.ts} +0 -0
  77. package/lib/models/settings/{classes/PieChartSettings.d.ts → PieChartSettings.d.ts} +0 -0
  78. package/lib/models/settings/{classes/Vertical2DChartSettings.d.ts → Vertical2DChartSettings.d.ts} +0 -0
  79. package/lib/models/settings/{classes/VerticalChartSettings.d.ts → VerticalChartSettings.d.ts} +0 -0
  80. package/lib/models/settings/{classes/VerticalStackedChartSettings.d.ts → VerticalStackedChartSettings.d.ts} +0 -0
  81. package/lib/models/settings/{classes/base → base}/BaseInterval.d.ts +0 -0
  82. package/lib/models/settings/{classes/base → base}/BaseSettings.d.ts +1 -1
  83. package/lib/models/settings/{classes/base → base}/LegendPad.d.ts +0 -0
  84. package/lib/services/{classes/AreaChartService.d.ts → AreaChartService.d.ts} +3 -3
  85. package/lib/services/{classes/LineChartService.d.ts → LineChartService.d.ts} +3 -3
  86. package/lib/services/{classes/PieChartService.d.ts → PieChartService.d.ts} +3 -3
  87. package/lib/services/{classes/Vertical2DChartService.d.ts → Vertical2DChartService.d.ts} +3 -3
  88. package/lib/services/{classes/VerticalChartService.d.ts → VerticalChartService.d.ts} +3 -3
  89. package/lib/services/{classes/VerticalStackedChartService.d.ts → VerticalStackedChartService.d.ts} +3 -3
  90. package/lib/services/{classes/base → base}/IBaseService.d.ts +1 -1
  91. package/package.json +1 -1
  92. package/public-api.d.ts +24 -24
  93. package/esm2020/lib/adapters/classes/BaseAdapter.mjs +0 -50
  94. package/esm2020/lib/adapters/classes/IBaseAdapter.mjs +0 -2
  95. package/esm2020/lib/adapters/index.mjs +0 -3
  96. package/esm2020/lib/components/index.mjs +0 -9
  97. package/esm2020/lib/models/core/classes/ChartDispatcher.mjs +0 -91
  98. package/esm2020/lib/models/core/classes/ChartLoader.mjs +0 -201
  99. package/esm2020/lib/models/core/classes/ChartThemes.mjs +0 -61
  100. package/esm2020/lib/models/core/index.mjs +0 -4
  101. package/esm2020/lib/models/data/classes/AreaChartData.mjs +0 -16
  102. package/esm2020/lib/models/data/classes/LineChartData.mjs +0 -16
  103. package/esm2020/lib/models/data/classes/PagedChartData.mjs +0 -20
  104. package/esm2020/lib/models/data/classes/PieChartData.mjs +0 -14
  105. package/esm2020/lib/models/data/classes/Vertical2DChartData.mjs +0 -16
  106. package/esm2020/lib/models/data/classes/VerticalChartData.mjs +0 -14
  107. package/esm2020/lib/models/data/classes/VerticalStackedChartData.mjs +0 -14
  108. package/esm2020/lib/models/data/classes/base/DateValue.mjs +0 -11
  109. package/esm2020/lib/models/data/classes/base/KeyValue.mjs +0 -11
  110. package/esm2020/lib/models/data/classes/base/KeyValueColor.mjs +0 -12
  111. package/esm2020/lib/models/data/classes/base/Limit.mjs +0 -15
  112. package/esm2020/lib/models/data/classes/base/LineSerie.mjs +0 -24
  113. package/esm2020/lib/models/data/index.mjs +0 -13
  114. package/esm2020/lib/models/settings/classes/AreaChartSettings.mjs +0 -11
  115. package/esm2020/lib/models/settings/classes/LineChartSettings.mjs +0 -11
  116. package/esm2020/lib/models/settings/classes/PieChartSettings.mjs +0 -7
  117. package/esm2020/lib/models/settings/classes/Vertical2DChartSettings.mjs +0 -11
  118. package/esm2020/lib/models/settings/classes/VerticalChartSettings.mjs +0 -11
  119. package/esm2020/lib/models/settings/classes/VerticalStackedChartSettings.mjs +0 -11
  120. package/esm2020/lib/models/settings/classes/base/BaseInterval.mjs +0 -6
  121. package/esm2020/lib/models/settings/classes/base/BaseSettings.mjs +0 -6
  122. package/esm2020/lib/models/settings/classes/base/LegendPad.mjs +0 -6
  123. package/esm2020/lib/models/settings/index.mjs +0 -10
  124. package/esm2020/lib/services/classes/AreaChartService.mjs +0 -134
  125. package/esm2020/lib/services/classes/LineChartService.mjs +0 -356
  126. package/esm2020/lib/services/classes/PieChartService.mjs +0 -111
  127. package/esm2020/lib/services/classes/Vertical2DChartService.mjs +0 -160
  128. package/esm2020/lib/services/classes/VerticalChartService.mjs +0 -103
  129. package/esm2020/lib/services/classes/VerticalStackedChartService.mjs +0 -124
  130. package/esm2020/lib/services/classes/base/IBaseService.mjs +0 -2
  131. package/esm2020/lib/services/index.mjs +0 -8
  132. package/lib/adapters/index.d.ts +0 -2
  133. package/lib/components/index.d.ts +0 -8
  134. package/lib/models/core/index.d.ts +0 -3
  135. package/lib/models/data/classes/base/Limit.d.ts +0 -13
  136. package/lib/models/data/index.d.ts +0 -12
  137. package/lib/models/settings/index.d.ts +0 -9
  138. package/lib/services/index.d.ts +0 -7
@@ -1,13 +1,14 @@
1
1
  import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { ESC_ANIMATIONS, ESC_LOCALE, ESC_THEME, ESC_LOGS } from '../../tokens';
3
3
  import { BaseChartComponent } from '../base/base-chart.component';
4
- import { VerticalStackedChartSettings } from '../../models/settings';
5
- import { VerticalStackedChartService } from '../../services';
4
+ import { VerticalStackedChartSettings } from '../../models/settings/VerticalStackedChartSettings';
5
+ import { VerticalStackedChartService } from '../../services/VerticalStackedChartService';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../models/core";
8
- import * as i2 from "../../adapters";
9
- import * as i3 from "../chart-pager/chart-pager.component";
10
- import * as i4 from "@angular/common";
7
+ import * as i1 from "../../models/core/ChartLoader";
8
+ import * as i2 from "../../models/core/ChartDispatcher";
9
+ import * as i3 from "../../adapters/BaseAdapter";
10
+ import * as i4 from "../chart-pager/chart-pager.component";
11
+ import * as i5 from "@angular/common";
11
12
  /**
12
13
  * Componente specifico per la graficazione di un grafico a Barre in modalità Stacked (una serie sopra l'altra)
13
14
  */
@@ -55,12 +56,12 @@ export class EsVerticalStackedChartComponent extends BaseChartComponent {
55
56
  return new VerticalStackedChartService(this.adapter).graphicate(this.Data, settingsCasted);
56
57
  }
57
58
  }
58
- EsVerticalStackedChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i1.ChartDispatcher }, { token: i2.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
59
- EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: i3.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ EsVerticalStackedChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
60
+ EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: i4.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
61
62
  type: Component,
62
63
  args: [{ selector: 'es-vertical-stacked-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i1.ChartDispatcher }, { type: i2.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
64
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ChartLoader }, { type: i2.ChartDispatcher }, { type: i3.BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
64
65
  type: Inject,
65
66
  args: [PLATFORM_ID]
66
67
  }] }, { type: undefined, decorators: [{
@@ -90,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
90
91
  }], LabelTopWhenCompressed: [{
91
92
  type: Input
92
93
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1zdGFja2VkLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVUsdUJBQXVCLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFHbkgsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdEOztHQUVHO0FBT0gsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGtCQUFrQjtJQXNDckU7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ3JCLFFBQWlCLEVBQ1gsY0FBdUIsRUFDM0IsVUFBa0IsRUFDbkIsU0FBaUI7UUFDcEMsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFOYixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBT3BILENBQUM7SUFFRDs7T0FFRztJQUNILDRCQUE0QjtRQUMxQixPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCO1FBQ2YsT0FBcUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CLENBQUMsY0FBNEM7UUFDL0QsY0FBYyxDQUFDLHFCQUFxQixHQUFHLGNBQWMsQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3hKLGNBQWMsQ0FBQyxVQUFVLEdBQUcsY0FBYyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDNUcsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLGNBQWMsQ0FBQyxtQ0FBbUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDO1FBQ2hOLGNBQWMsQ0FBQyx3QkFBd0IsR0FBRyxjQUFjLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNwSyxjQUFjLENBQUMsc0JBQXNCLEdBQUcsY0FBYyxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDOUosQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLGNBQTRDO1FBQ3JELE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUEyQixJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZILENBQUM7OzRIQXZGVSwrQkFBK0IsdUpBMENoQyxXQUFXLGFBQ1gsUUFBUSxhQUNSLGNBQWMsYUFDZCxVQUFVLGFBQ1YsU0FBUztnSEE5Q1IsK0JBQStCLHdZQ3JCNUMsd2pDQW1Cd0k7MkZERTNILCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU07MExBNENaLE1BQU07MEJBQXRDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxTQUFTOzRDQXpDVixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNSSxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxtQ0FBbUM7c0JBQTNDLEtBQUs7Z0JBS0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUtHLHNCQUFzQjtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMnO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX0xPQ0FMRSwgRVNDX1RIRU1FLCBFU0NfTE9HUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZVwiO1xyXG5cclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhLCBQYWdlZENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHNwZWNpZmljbyBwZXIgbGEgZ3JhZmljYXppb25lIGRpIHVuIGdyYWZpY28gYSBCYXJyZSBpbiBtb2RhbGl0w6AgU3RhY2tlZCAodW5hIHNlcmllIHNvcHJhIGwnYWx0cmEpXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VzLXZlcnRpY2FsLXN0YWNrZWQtY2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVmVydGljYWxTdGFja2VkQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2hhcnRDb21wb25lbnQge1xyXG5cclxuICAvKipcclxuICAgKiBEYXRpIHNwZWNpZmljaSBwZXIgaWwgZ3JhZmljbyBvIGRpIHVuIHRpcG8gdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YTogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gKipWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEqKiBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFBcnJheTogUGFnZWRDaGFydERhdGE8VmVydGljYWxTdGFja2VkQ2hhcnREYXRhPltdIHwgUGFnZWRDaGFydERhdGE8YW55PltdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2EgbGEgcGVyY2VudHVhbGUgZGkgY2VsbGEgY2hlIGxhIGNvbG9ubmEgYW5kcsOgIGEgcmllbXBpcmUuIFVuIHZhbG9yZSBwYXJpIGEgMTAwIHJpZW1waXLDoCBsYSBjZWxsYSBjb21wbGV0YW1lbnRlIFxyXG4gICAqIGUgdHV0dGUgbGUgYmFycmUgcmlzdWx0ZXJhbm5vIGFwcGljY2ljYXRlIGwndW4gbCdhbHRyYVxyXG4gICAqL1xyXG4gICBASW5wdXQoKSBDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlcjtcclxuXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgbGUgZGltZW5zaW9uaSBtYXNzaW1lIGRlbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZVxyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxXaWR0aDogbnVtYmVyO1xyXG4gXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgbGEgZGltZW5zaW9uZSBtYXNzaW1hIHNvdHRvIGxhIHF1YWxlIGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBzaSBpbmNsaW5hIGNlcmNhbmRvIGRpIG9jY3VwYXJlIG1lbm8gc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDogbnVtYmVyO1xyXG4gXHJcbiAgIC8qKlxyXG4gICAgKiBJbmRpY2EgdW4gb2Zmc2V0IG9yaXp6b250YWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSB1biBvZmZzZXQgdmVydGljYWxlIGRhIGFwcGxpY2FyZSBhbGxhIGxhYmVsIGFzc29jaWF0YSBhIHVuIGdydXBwbyBkaSBiYXJyZSBxdWFsb3JhIGZvc3NlIGNvbXByZXNzYSBhIGNhdXNhIGRlbGxhIG1hbmNhbnphIGRpIHNwYXppb1xyXG4gICAgKi9cclxuICAgQElucHV0KCkgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfTE9HUykgRVNDX0xPR1M6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0xPQ0FMRSkgRVNDX0xPQ0FMRTogc3RyaW5nLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0xPR1MsIEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBsZSBwcm9wcmlldMOgIHNwZWNpZmljaGUgcGVyIHF1ZXN0YSB0aXBvbG9naWEgZGkgZ3JhZmljbyBwZXIgY3VpIHNlcnZlIHJpZ3JhZmljYXJlXHJcbiAgICovXHJcbiAgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1wiRGF0YVwiLCBcIkRhdGFBcnJheVwiXTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgaSBTZXR0aW5ncyAoRXJlZGl0YXRpIGRhbGxhIGNsYXNzZSBiYXNlLCBxdWluZGkgZGVsIHRpcG8gZ2VuZXJpY28gKipCYXNlU2V0dGluZ3MqKikgY2FzdGF0aSBhbCB0aXBvIHNwZWNpZmljbyBwZXIgcXVlc3RvIGdyYWZpY29cclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGdldENhc3RlZFNldHRpbmdzKCk6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIDxWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzPih0aGlzLlNldHRpbmdzID8/IG5ldyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKCkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZWdyYSBpIFNldHRpbmdzIGJhc2UgY29uIHR1dHRpIGdsaSBJbnB1dCBzcGVjaWZpY2kgZGkgcXVlc3RvIGdyYWZpY28sIGRhbmRvIHByaW9yaXTDoCBhaSBTZXR0aW5ncyBzZSBkZWZpbml0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKTogdm9pZCB7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgPSBzZXR0aW5nc0Nhc3RlZC5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA6IHRoaXMuQ29sdW1uV2lkdGhQZXJjZW50YWdlO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsV2lkdGggOiB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoICE9IG51bGwgPyBzZXR0aW5nc0Nhc3RlZC5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA6IHRoaXMuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGg7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgPSBzZXR0aW5nc0Nhc3RlZC5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQgOiB0aGlzLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZmZldHR1YSBpbCByZW5kZXJpbmcgZGkgcXVlc3RvIGdyYWZpY28gaW4gYmFzZSBhaSBTZXR0aW5nc1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgSW1wb3N0YXppb25pIGRpIGdyYWZpY2F6aW9uZVxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nc0Nhc3RlZDogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyk6IGFueSB7XHJcbiAgICByZXR1cm4gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YT50aGlzLkRhdGEsIHNldHRpbmdzQ2FzdGVkKTtcclxuICB9XHJcbn0iLCI8Y2hhcnQtcGFnZXIgKm5nSWY9XCJpc1BhZ2VkXCIgKG9uUGFnZUNoYW5nZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIiBbSXRlbXNdPVwiRGF0YUFycmF5XCIgW0R0b3NdPVwiRGF0YUR0b3NcIiBbU3RhcnRJbmRleF09XCJEYXRhRHRvU3RhcnRJbmRleFwiXHJcbiAgICBbQnJvd3NlRGVsYXlNc109XCJCcm93c2VEZWxheU1zXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2hlYWRlcl9pbm5lciBsZXQtaGVhZGVySXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyX3RyOyBjb250ZXh0IDogeyRpbXBsaWNpdDogaGVhZGVySXRlbX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvY2hhcnQtcGFnZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmIGxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxvYWRpbmdfdGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgIWxvYWRpbmdfdGVtcGxhdGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJlc2MtbG9hZGluZy1vdmVybGF5XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPkxvYWRpbmcuLi4uPC9wPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBbY2xhc3MuaGlkZS1ibG9ja109XCJsb2FkaW5nQ2hhcnRcIiBpZD1cInt7bmFtZX19XCIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbc3R5bGUuaGVpZ2h0XT1cImlzUGFnZWQgPyAnY2FsYygxMDAlIC0gNDRweCknIDogJzEwMCUnXCI+PC9kaXY+Il19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy12ZXJ0aWNhbC1zdGFja2VkLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVUsdUJBQXVCLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFHbkgsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQUl6Rjs7R0FFRztBQU9ILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxrQkFBa0I7SUFzQ3JFOztPQUVHO0lBQ0gsWUFBWSxFQUFjLEVBQUUsV0FBd0IsRUFBRSxlQUFnQyxFQUFVLE9BQW9CLEVBQUUsSUFBWSxFQUMzRyxVQUFrQixFQUNyQixRQUFpQixFQUNYLGNBQXVCLEVBQzNCLFVBQWtCLEVBQ25CLFNBQWlCO1FBQ3BDLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQU9wSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0QkFBNEI7UUFDMUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQjtRQUNmLE9BQXFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLDRCQUE0QixFQUFFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLGNBQTRDO1FBQy9ELGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxjQUFjLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUN4SixjQUFjLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzVHLGNBQWMsQ0FBQyxtQ0FBbUMsR0FBRyxjQUFjLENBQUMsbUNBQW1DLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQztRQUNoTixjQUFjLENBQUMsd0JBQXdCLEdBQUcsY0FBYyxDQUFDLHdCQUF3QixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDcEssY0FBYyxDQUFDLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQzlKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxjQUE0QztRQUNyRCxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBMkIsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN2SCxDQUFDOzs0SEF2RlUsK0JBQStCLHVKQTBDaEMsV0FBVyxhQUNYLFFBQVEsYUFDUixjQUFjLGFBQ2QsVUFBVSxhQUNWLFNBQVM7Z0hBOUNSLCtCQUErQix3WUN2QjVDLHdqQ0FtQndJOzJGREkzSCwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzBMQTRDWixNQUFNOzBCQUF0QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsU0FBUzs0Q0F6Q1YsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUkscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csbUNBQW1DO3NCQUEzQyxLQUFLO2dCQUtHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFLRyxzQkFBc0I7c0JBQTlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBJbmplY3QsIFBMQVRGT1JNX0lELCBOZ1pvbmUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uLy4uL2FkYXB0ZXJzL0Jhc2VBZGFwdGVyJztcclxuaW1wb3J0IHsgRVNDX0FOSU1BVElPTlMsIEVTQ19MT0NBTEUsIEVTQ19USEVNRSwgRVNDX0xPR1MgfSBmcm9tICcuLi8uLi90b2tlbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXJ0TG9hZGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0TG9hZGVyXCI7XHJcbmltcG9ydCB7IENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydERpc3BhdGNoZXJcIjtcclxuXHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZSc7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSc7XHJcbmltcG9ydCB7IFBhZ2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEvUGFnZWRDaGFydERhdGEnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgc3BlY2lmaWNvIHBlciBsYSBncmFmaWNhemlvbmUgZGkgdW4gZ3JhZmljbyBhIEJhcnJlIGluIG1vZGFsaXTDoCBTdGFja2VkICh1bmEgc2VyaWUgc29wcmEgbCdhbHRyYSlcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNWZXJ0aWNhbFN0YWNrZWRDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGkgc3BlY2lmaWNpIHBlciBpbCBncmFmaWNvIG8gZGkgdW4gdGlwbyB0cmFtdXRhYmlsZSBhbCB0aXBvICoqVmVydGljYWxTdGFja2VkQ2hhcnREYXRhKiogY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhOiBWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKlZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSoqIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YUFycmF5OiBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGE+W10gfCBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsYSBwZXJjZW50dWFsZSBkaSBjZWxsYSBjaGUgbGEgY29sb25uYSBhbmRyw6AgYSByaWVtcGlyZS4gVW4gdmFsb3JlIHBhcmkgYSAxMDAgcmllbXBpcsOgIGxhIGNlbGxhIGNvbXBsZXRhbWVudGUgXHJcbiAgICogZSB0dXR0ZSBsZSBiYXJyZSByaXN1bHRlcmFubm8gYXBwaWNjaWNhdGUgbCd1biBsJ2FsdHJhXHJcbiAgICovXHJcbiAgIEBJbnB1dCgpIENvbHVtbldpZHRoUGVyY2VudGFnZTogbnVtYmVyO1xyXG5cclxuICAgLyoqXHJcbiAgICAqIEluZGljYSBsZSBkaW1lbnNpb25pIG1hc3NpbWUgZGVsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFdpZHRoOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSBsYSBkaW1lbnNpb25lIG1hc3NpbWEgc290dG8gbGEgcXVhbGUgbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHNpIGluY2xpbmEgY2VyY2FuZG8gZGkgb2NjdXBhcmUgbWVubyBzcGF6aW9cclxuICAgICovXHJcbiAgIEBJbnB1dCgpIExhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoOiBudW1iZXI7XHJcbiBcclxuICAgLyoqXHJcbiAgICAqIEluZGljYSB1biBvZmZzZXQgb3JpenpvbnRhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ6IG51bWJlcjtcclxuIFxyXG4gICAvKipcclxuICAgICogSW5kaWNhIHVuIG9mZnNldCB2ZXJ0aWNhbGUgZGEgYXBwbGljYXJlIGFsbGEgbGFiZWwgYXNzb2NpYXRhIGEgdW4gZ3J1cHBvIGRpIGJhcnJlIHF1YWxvcmEgZm9zc2UgY29tcHJlc3NhIGEgY2F1c2EgZGVsbGEgbWFuY2FuemEgZGkgc3BhemlvXHJcbiAgICAqL1xyXG4gICBASW5wdXQoKSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19MT0dTKSBFU0NfTE9HUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfTE9DQUxFKSBFU0NfTE9DQUxFOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KEVTQ19USEVNRSkgRVNDX1RIRU1FOiBzdHJpbmcpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfTE9HUywgRVNDX0FOSU1BVElPTlMsIEVTQ19MT0NBTEUsIEVTQ19USEVNRSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNoZSBwZXIgcXVlc3RhIHRpcG9sb2dpYSBkaSBncmFmaWNvIHBlciBjdWkgc2VydmUgcmlncmFmaWNhcmVcclxuICAgKi9cclxuICBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbXCJEYXRhXCIsIFwiRGF0YUFycmF5XCJdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBpIFNldHRpbmdzIChFcmVkaXRhdGkgZGFsbGEgY2xhc3NlIGJhc2UsIHF1aW5kaSBkZWwgdGlwbyBnZW5lcmljbyAqKkJhc2VTZXR0aW5ncyoqKSBjYXN0YXRpIGFsIHRpcG8gc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKTogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gPFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZmlsbFNwZWNpZmljU2V0dGluZ3Moc2V0dGluZ3NDYXN0ZWQ6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiB2b2lkIHtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSA9IHNldHRpbmdzQ2FzdGVkLkNvbHVtbldpZHRoUGVyY2VudGFnZSAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuQ29sdW1uV2lkdGhQZXJjZW50YWdlIDogdGhpcy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2U7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFdpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxXaWR0aCA6IHRoaXMuTGFiZWxXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggIT0gbnVsbCA/IHNldHRpbmdzQ2FzdGVkLkxhYmVsVmVydGljYWxPcmllbnRhdGlvbkN1dG9mZldpZHRoIDogdGhpcy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aDtcclxuICAgIHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCA9IHNldHRpbmdzQ2FzdGVkLkxhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkIDogdGhpcy5MYWJlbFJpZ2h0V2hlbkNvbXByZXNzZWQ7XHJcbiAgICBzZXR0aW5nc0Nhc3RlZC5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID0gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCAhPSBudWxsID8gc2V0dGluZ3NDYXN0ZWQuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA6IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVmZmV0dHVhIGlsIHJlbmRlcmluZyBkaSBxdWVzdG8gZ3JhZmljbyBpbiBiYXNlIGFpIFNldHRpbmdzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBzZXR0aW5nc0Nhc3RlZCBJbXBvc3RhemlvbmkgZGkgZ3JhZmljYXppb25lXHJcbiAgICogQHJldHVybnMge1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2VydmljZX0gTGEgc2VydmljZSB1dGlsaXp6YXRhIHBlciBpbCByZW5kZXJpbmcgbmVsbG8gc3RhdG8gc3ViaXRvIHN1Y2Nlc3Npdm8gYWwgcmVuZGVyaW5nIGVmZmV0dHVhdG9cclxuICAgKi9cclxuICBncmFwaGljYXRlKHNldHRpbmdzQ2FzdGVkOiBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzKTogYW55IHtcclxuICAgIHJldHVybiBuZXcgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8VmVydGljYWxTdGFja2VkQ2hhcnREYXRhPnRoaXMuRGF0YSwgc2V0dGluZ3NDYXN0ZWQpO1xyXG4gIH1cclxufSIsIjxjaGFydC1wYWdlciAqbmdJZj1cImlzUGFnZWRcIiAob25QYWdlQ2hhbmdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiIFtJdGVtc109XCJEYXRhQXJyYXlcIiBbRHRvc109XCJEYXRhRHRvc1wiIFtTdGFydEluZGV4XT1cIkRhdGFEdG9TdGFydEluZGV4XCJcclxuICAgIFtCcm93c2VEZWxheU1zXT1cIkJyb3dzZURlbGF5TXNcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyX2lubmVyIGxldC1oZWFkZXJJdGVtPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJfdHI7IGNvbnRleHQgOiB7JGltcGxpY2l0OiBoZWFkZXJJdGVtfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9jaGFydC1wYWdlcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nQ2hhcnQgJiYgbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ190ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiAhbG9hZGluZ190ZW1wbGF0ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImVzYy1sb2FkaW5nLW92ZXJsYXlcIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj5cclxuICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+TG9hZGluZy4uLi48L3A+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48ZGl2IFtjbGFzcy5oaWRlLWJsb2NrXT1cImxvYWRpbmdDaGFydFwiIGlkPVwie3tuYW1lfX1cIiBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIFtzdHlsZS5oZWlnaHRdPVwiaXNQYWdlZCA/ICdjYWxjKDEwMCUgLSA0NHB4KScgOiAnMTAwJSdcIj48L2Rpdj4iXX0=
@@ -1,9 +1,17 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { EsChartComponent, EsLineChartComponent, EsAreaChartComponent, EsPieChartComponent, EsVertical2DChartComponent, EsVerticalChartComponent, EsVerticalStackedChartComponent, PageChartSelector } from '../lib/components';
3
- import { ChartLoader, ChartDispatcher } from './models/core';
4
- import { BaseAdapter } from './adapters';
5
- import { ESC_LOCALE, ESC_ANIMATIONS, ESC_THEME, ESC_LOGS } from './tokens';
6
2
  import { CommonModule } from '@angular/common';
3
+ import { ChartLoader } from './models/core/ChartLoader';
4
+ import { ChartDispatcher } from './models/core/ChartDispatcher';
5
+ import { BaseAdapter } from './adapters/BaseAdapter';
6
+ import { ESC_LOCALE, ESC_ANIMATIONS, ESC_THEME, ESC_LOGS } from './tokens';
7
+ import { EsLineChartComponent } from "./components/specializations/es-line-chart.component";
8
+ import { EsAreaChartComponent } from "./components/specializations/es-area-chart.component";
9
+ import { EsPieChartComponent } from "./components/specializations/es-pie-chart.component";
10
+ import { EsVertical2DChartComponent } from "./components/specializations/es-vertical-2d-chart.component";
11
+ import { EsVerticalChartComponent } from "./components/specializations/es-vertical-chart.component";
12
+ import { EsVerticalStackedChartComponent } from "./components/specializations/es-vertical-stacked-chart.component";
13
+ import { PageChartSelector } from "./components/chart-pager/chart-pager.component";
14
+ import { EsChartComponent } from "./components/specializations/es-chart.component";
7
15
  import * as i0 from "@angular/core";
8
16
  /** Componenti esportati dal modulo */
9
17
  const COMPONENTS = [
@@ -58,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
58
66
  exports: [...COMPONENTS]
59
67
  }]
60
68
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY2hhcnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2VzLWNoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLHdCQUF3QixFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHaE8sT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0Msc0NBQXNDO0FBQ3RDLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsK0JBQStCO0lBQy9CLGlCQUFpQjtJQUNqQixvQkFBb0I7Q0FDckIsQ0FBQTtBQVFELE1BQU0sT0FBTyxjQUFjO0lBRXpCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBNkI7UUFDMUMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUM1RCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUU7Z0JBQzdGLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssSUFBSSxjQUFjLEVBQUU7Z0JBQ2pFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtnQkFDdEYsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRTtnQkFDbEUsdURBQXVEO2dCQUN2RCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRTthQUMzRztTQUNGLENBQUM7SUFDSixDQUFDOzsyR0FmVSxjQUFjOzRHQUFkLGNBQWMsaUJBaEJ6QixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsb0JBQW9CLGFBSVYsWUFBWSxhQVh0QixnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsb0JBQW9COzRHQVNULGNBQWMsYUFIZCxDQUFDLGVBQWUsQ0FBQyxZQUZuQixDQUFDLFlBQVksQ0FBQzsyRkFLWixjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUM7aUJBQ3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRXNDaGFydENvbXBvbmVudCwgRXNMaW5lQ2hhcnRDb21wb25lbnQsIEVzQXJlYUNoYXJ0Q29tcG9uZW50LCBFc1BpZUNoYXJ0Q29tcG9uZW50LCBFc1ZlcnRpY2FsMkRDaGFydENvbXBvbmVudCwgRXNWZXJ0aWNhbENoYXJ0Q29tcG9uZW50LCBFc1ZlcnRpY2FsU3RhY2tlZENoYXJ0Q29tcG9uZW50LCBQYWdlQ2hhcnRTZWxlY3RvciB9IGZyb20gJy4uL2xpYi9jb21wb25lbnRzJztcclxuXHJcbmltcG9ydCB7IEVzQ2hhcnRzTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvRXNDaGFhcnRzTW9kdWxlQ29uZmlnJztcclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gJy4vbW9kZWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4vYWRhcHRlcnMnO1xyXG5cclxuaW1wb3J0IHsgRVNDX0xPQ0FMRSwgRVNDX0FOSU1BVElPTlMsIEVTQ19USEVNRSwgRVNDX0xPR1MgfSBmcm9tICcuL3Rva2Vucyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKiogQ29tcG9uZW50aSBlc3BvcnRhdGkgZGFsIG1vZHVsbyAqL1xyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gIEVzQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNMaW5lQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNQaWVDaGFydENvbXBvbmVudCxcclxuICBFc1ZlcnRpY2FsMkRDaGFydENvbXBvbmVudCxcclxuICBFc1ZlcnRpY2FsQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNWZXJ0aWNhbFN0YWNrZWRDaGFydENvbXBvbmVudCxcclxuICBQYWdlQ2hhcnRTZWxlY3RvcixcclxuICBFc0FyZWFDaGFydENvbXBvbmVudFxyXG5dXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGRlY2xhcmF0aW9uczogWy4uLkNPTVBPTkVOVFNdLFxyXG4gIHByb3ZpZGVyczogW0NoYXJ0RGlzcGF0Y2hlcl0sXHJcbiAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc0NoYXJ0c01vZHVsZSB7XHJcblxyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEVzQ2hhcnRzTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxFc0NoYXJ0c01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEVzQ2hhcnRzTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IEVTQ19MT0NBTEUsIHVzZVZhbHVlOiBjb25maWc/LmxvY2FsZSB8fCAnaXQtSVQnIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBFU0NfQU5JTUFUSU9OUywgdXNlVmFsdWU6IGNvbmZpZz8uYW5pbWF0aW9ucyA9PSBudWxsID8gdHJ1ZSA6IGNvbmZpZz8uYW5pbWF0aW9ucyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVNDX1RIRU1FLCB1c2VWYWx1ZTogY29uZmlnPy50aGVtZSB8fCAnc3Bpcml0ZWRhd2F5JyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVNDX0xPR1MsIHVzZVZhbHVlOiBjb25maWc/LmRlYnVnTW9kZSA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmRlYnVnTW9kZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogQmFzZUFkYXB0ZXIsIHVzZUNsYXNzOiBjb25maWc/LmFkYXB0ZXIgfHwgQmFzZUFkYXB0ZXIgfSxcclxuICAgICAgICAvLyBTaW5nbGV0b24gY2F0dGl2YSBieSBFbWEuIFZlcmlmaWNhcmUgc3RyYWRlIG1pZ2xpb3JpXHJcbiAgICAgICAgeyBwcm92aWRlOiBDaGFydExvYWRlciwgdXNlVmFsdWU6IG5ldyBDaGFydExvYWRlcihjb25maWc/LmRlYnVnTW9kZSA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmRlYnVnTW9kZSkgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufSJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY2hhcnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2VzLWNoYXJ0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7O0FBR25GLHNDQUFzQztBQUN0QyxNQUFNLFVBQVUsR0FBRztJQUNqQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsd0JBQXdCO0lBQ3hCLCtCQUErQjtJQUMvQixpQkFBaUI7SUFDakIsb0JBQW9CO0NBQ3JCLENBQUE7QUFRRCxNQUFNLE9BQU8sY0FBYztJQUV6QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTZCO1FBQzFDLE9BQU87WUFDTCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFO2dCQUM3RixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLElBQUksY0FBYyxFQUFFO2dCQUNqRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7Z0JBQ3RGLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sSUFBSSxXQUFXLEVBQUU7Z0JBQ2xFLHVEQUF1RDtnQkFDdkQsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUU7YUFDM0c7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MkdBZlUsY0FBYzs0R0FBZCxjQUFjLGlCQWhCekIsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4QiwrQkFBK0I7UUFDL0IsaUJBQWlCO1FBQ2pCLG9CQUFvQixhQUlWLFlBQVksYUFYdEIsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsMEJBQTBCO1FBQzFCLHdCQUF3QjtRQUN4QiwrQkFBK0I7UUFDL0IsaUJBQWlCO1FBQ2pCLG9CQUFvQjs0R0FTVCxjQUFjLGFBSGQsQ0FBQyxlQUFlLENBQUMsWUFGbkIsQ0FBQyxZQUFZLENBQUM7MkZBS1osY0FBYztrQkFOMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBFc0NoYXJ0c01vZHVsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL0VzQ2hhYXJ0c01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IENoYXJ0TG9hZGVyIH0gZnJvbSAnLi9tb2RlbHMvY29yZS9DaGFydExvYWRlcic7XHJcbmltcG9ydCB7IENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gJy4vbW9kZWxzL2NvcmUvQ2hhcnREaXNwYXRjaGVyJztcclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuL2FkYXB0ZXJzL0Jhc2VBZGFwdGVyJztcclxuXHJcbmltcG9ydCB7IEVTQ19MT0NBTEUsIEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUUsIEVTQ19MT0dTIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5cclxuaW1wb3J0IHsgRXNMaW5lQ2hhcnRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1saW5lLWNoYXJ0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFc0FyZWFDaGFydENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLWFyZWEtY2hhcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzUGllQ2hhcnRDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1waWUtY2hhcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzVmVydGljYWwyRENoYXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzVmVydGljYWxDaGFydENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLXZlcnRpY2FsLWNoYXJ0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFc1ZlcnRpY2FsU3RhY2tlZENoYXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGFnZUNoYXJ0U2VsZWN0b3IgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NoYXJ0LXBhZ2VyL2NoYXJ0LXBhZ2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFc0NoYXJ0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtY2hhcnQuY29tcG9uZW50XCI7XHJcblxyXG5cclxuLyoqIENvbXBvbmVudGkgZXNwb3J0YXRpIGRhbCBtb2R1bG8gKi9cclxuY29uc3QgQ09NUE9ORU5UUyA9IFtcclxuICBFc0NoYXJ0Q29tcG9uZW50LFxyXG4gIEVzTGluZUNoYXJ0Q29tcG9uZW50LFxyXG4gIEVzUGllQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNWZXJ0aWNhbDJEQ2hhcnRDb21wb25lbnQsXHJcbiAgRXNWZXJ0aWNhbENoYXJ0Q29tcG9uZW50LFxyXG4gIEVzVmVydGljYWxTdGFja2VkQ2hhcnRDb21wb25lbnQsXHJcbiAgUGFnZUNoYXJ0U2VsZWN0b3IsXHJcbiAgRXNBcmVhQ2hhcnRDb21wb25lbnRcclxuXVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRTXSxcclxuICBwcm92aWRlcnM6IFtDaGFydERpc3BhdGNoZXJdLFxyXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNDaGFydHNNb2R1bGUge1xyXG5cclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFc0NoYXJ0c01vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RXNDaGFydHNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBFc0NoYXJ0c01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBFU0NfTE9DQUxFLCB1c2VWYWx1ZTogY29uZmlnPy5sb2NhbGUgfHwgJ2l0LUlUJyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVNDX0FOSU1BVElPTlMsIHVzZVZhbHVlOiBjb25maWc/LmFuaW1hdGlvbnMgPT0gbnVsbCA/IHRydWUgOiBjb25maWc/LmFuaW1hdGlvbnMgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVTQ19USEVNRSwgdXNlVmFsdWU6IGNvbmZpZz8udGhlbWUgfHwgJ3NwaXJpdGVkYXdheScgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVTQ19MT0dTLCB1c2VWYWx1ZTogY29uZmlnPy5kZWJ1Z01vZGUgPT0gbnVsbCA/IGZhbHNlIDogY29uZmlnPy5kZWJ1Z01vZGUgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEJhc2VBZGFwdGVyLCB1c2VDbGFzczogY29uZmlnPy5hZGFwdGVyIHx8IEJhc2VBZGFwdGVyIH0sXHJcbiAgICAgICAgLy8gU2luZ2xldG9uIGNhdHRpdmEgYnkgRW1hLiBWZXJpZmljYXJlIHN0cmFkZSBtaWdsaW9yaVxyXG4gICAgICAgIHsgcHJvdmlkZTogQ2hhcnRMb2FkZXIsIHVzZVZhbHVlOiBuZXcgQ2hhcnRMb2FkZXIoY29uZmlnPy5kZWJ1Z01vZGUgPT0gbnVsbCA/IGZhbHNlIDogY29uZmlnPy5kZWJ1Z01vZGUpIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,91 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { ESC_LOGS } from '../../tokens';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
6
+ */
7
+ export class ChartDispatcher {
8
+ /**
9
+ * @ignore
10
+ */
11
+ constructor(logs) {
12
+ this.logs = logs;
13
+ /**
14
+ * Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
15
+ */
16
+ this.Initializations = [];
17
+ /**
18
+ * Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
19
+ */
20
+ this.InitializedGraphs = [];
21
+ }
22
+ /**
23
+ * Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
24
+ * precedentemente registati non hanno finito la fase di inizializzazione
25
+ *
26
+ * @param {string} name Identificativo del grafico da registrare
27
+ * @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
28
+ */
29
+ register(name, chartCreationFunction) {
30
+ if (this.InitializedGraphs.indexOf(name) != -1)
31
+ throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
32
+ this.log("DISPATCHER: Registering chart creation function execution for " + name);
33
+ this.Initializations.push({ name: name, function: chartCreationFunction });
34
+ if (this.Initializations.length == 1) {
35
+ this.log("DISPATCHER: Initial drain started");
36
+ this.drainInitQueues();
37
+ }
38
+ }
39
+ /**
40
+ * Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
41
+ *
42
+ * @param {string} name Identificativo del grafico da deregistrare
43
+ */
44
+ deregisterGraph(name) {
45
+ let index = this.InitializedGraphs.indexOf(name);
46
+ if (index == -1) {
47
+ //Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
48
+ this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
49
+ return;
50
+ }
51
+ this.log("DISPATCHER: Chart deregistered " + name);
52
+ this.InitializedGraphs.splice(index, 1);
53
+ }
54
+ /**
55
+ * Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
56
+ * in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
57
+ *
58
+ * Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
59
+ */
60
+ drainInitQueues() {
61
+ let toExecute = this.Initializations[0];
62
+ this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
63
+ toExecute.function().then(() => {
64
+ this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
65
+ this.InitializedGraphs.push(toExecute.name);
66
+ this.Initializations.splice(0, 1);
67
+ if (this.Initializations.length >= 1) {
68
+ this.log("DISPATCHER: Found queued initializations. Continuing");
69
+ this.drainInitQueues();
70
+ }
71
+ else
72
+ this.log("DISPATCHER: queue is over, nothing more to do");
73
+ });
74
+ }
75
+ /**
76
+ * @ignore
77
+ */
78
+ log(text) {
79
+ if (this.logs)
80
+ console.log("@esfaenza/es-charts: " + text);
81
+ }
82
+ }
83
+ ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
84
+ ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
86
+ type: Injectable
87
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
88
+ type: Inject,
89
+ args: [ESC_LOGS]
90
+ }] }]; } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhcnREaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvbW9kZWxzL2NvcmUvQ2hhcnREaXNwYXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXhDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGVBQWU7SUFZeEI7O09BRUc7SUFDSCxZQUFzQyxJQUFhO1FBQWIsU0FBSSxHQUFKLElBQUksQ0FBUztRQWJuRDs7V0FFRztRQUNLLG9CQUFlLEdBQXNDLEVBQUUsQ0FBQztRQUVoRTs7V0FFRztRQUNLLHNCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUtjLENBQUM7SUFFeEQ7Ozs7OztPQU1HO0lBQ0ksUUFBUSxDQUFDLElBQVksRUFBRSxxQkFBK0I7UUFDekQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQyxNQUFNLDRDQUE0QyxHQUFHLElBQUksR0FBRyxnRUFBZ0UsQ0FBQztRQUVqSSxJQUFJLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxJQUFZO1FBQy9CLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLEVBQ2Y7WUFDSSx1RkFBdUY7WUFDdkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsR0FBRyxJQUFJLEdBQUcsd0NBQXdDLENBQUMsQ0FBQztZQUMxRyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGVBQWU7UUFDbkIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLDBEQUEwRCxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0RixTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLHVDQUF1QyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMxQjs7Z0JBRUcsSUFBSSxDQUFDLEdBQUcsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ssR0FBRyxDQUFDLElBQVk7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7NEdBbkZRLGVBQWUsa0JBZUosUUFBUTtnSEFmbkIsZUFBZTsyRkFBZixlQUFlO2tCQUQzQixVQUFVOzswQkFnQk0sTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBFU0NfTE9HUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGNoZSBzaSBvY2N1cGEgZGVsIGRpc3BhdGNoIGRlbGxlIG9wZXJhemlvbmkgZGkgcmVuZGVyaW5nIGRlaSBncmFmaWNpIHV0aWxpenphbmRvIHVuYSBjb2RhIHBlciBwZXJtZXR0ZXJlIGFkIG9nbmkgZ3JhZmljbyBkaSBhdmVyZSB0ZW1pIGUgbG9jYWxpenphemlvbmUgY3VzdG9tXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDaGFydERpc3BhdGNoZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29kYSBkaSBpbml6aWFsaXp6YXppb25pIGFuY29yYSBkYSBlc2VndWlyZS4gUXVhbmRvIHF1ZXN0YSDDqCB2dW90YSBzaWduaWZpY2EgY2hlIG5lc3N1bm8gc3RhIGNyZWFuZG8gZ3JhZmljaVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIEluaXRpYWxpemF0aW9uczogeyBuYW1lOiBzdHJpbmcsIGZ1bmN0aW9uOiBhbnkgfVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0YSBkZWkgZ3JhZmljaSBpbml6aWFsaXp6YXRpIGUgYXR0aXZpIGluIHVuIGRhdG8gbW9tZW50byAodmllbmUgcmVnaXN0cmF0YSBsYSBwcm9wcmlldMOgICoqbmFtZSoqKS4gTm9uIMOoIHBvc3NpYmlsZSByZWdpc3RyYXJlIGR1ZSBncmFmaWNpIGNvbiBsbyBzdGVzc28gaWRlbnRpZmljYXRpdm9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBJbml0aWFsaXplZEdyYXBoczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChFU0NfTE9HUykgcHJpdmF0ZSBsb2dzOiBib29sZWFuKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ2lzdHJhIHVuIGdyYWZpY28gZGEgdmlzdWFsaXp6YXJlIGluc2llbWUgYWxsYSBwcm9wcmlhIGZ1bnppb25lIGRpIGNyZWF6aW9uZS4gUXVlc3QndWx0aW1hIHNhcsOgIGRpZmZlcml0YSBmaW5vIGEgY2hlIHR1dHRpIGkgZ3JhZmljaVxyXG4gICAgICogcHJlY2VkZW50ZW1lbnRlIHJlZ2lzdGF0aSBub24gaGFubm8gZmluaXRvIGxhIGZhc2UgZGkgaW5pemlhbGl6emF6aW9uZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBJZGVudGlmaWNhdGl2byBkZWwgZ3JhZmljbyBkYSByZWdpc3RyYXJlXHJcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjaGFydENyZWF0aW9uRnVuY3Rpb24gRnVuemlvbmUgY2hlIGZpc2ljYW1lbnRlIGRvdnLDoCBvY2N1cGFyc2kgZGVsbGEgY3JlYXppb25lIGRlbCBncmFmaWNvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWdpc3RlcihuYW1lOiBzdHJpbmcsIGNoYXJ0Q3JlYXRpb25GdW5jdGlvbjogRnVuY3Rpb24pIHtcclxuICAgICAgICBpZiAodGhpcy5Jbml0aWFsaXplZEdyYXBocy5pbmRleE9mKG5hbWUpICE9IC0xKVxyXG4gICAgICAgICAgICB0aHJvdyBcIkF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgYSBkdXBsaWNhdGUgY2hhcnQgJ1wiICsgbmFtZSArIFwiJy4gTWFrZSBzdXJlIHRoZSAnbmFtZScgcHJvcGVydGllcyBvZiB5b3VyIGNoYXJ0cyBhcmUgdW5pdm9xdWVcIjtcclxuXHJcbiAgICAgICAgdGhpcy5sb2coXCJESVNQQVRDSEVSOiBSZWdpc3RlcmluZyBjaGFydCBjcmVhdGlvbiBmdW5jdGlvbiBleGVjdXRpb24gZm9yIFwiICsgbmFtZSk7XHJcbiAgICAgICAgdGhpcy5Jbml0aWFsaXphdGlvbnMucHVzaCh7IG5hbWU6IG5hbWUsIGZ1bmN0aW9uOiBjaGFydENyZWF0aW9uRnVuY3Rpb24gfSk7XHJcbiAgICAgICAgaWYgKHRoaXMuSW5pdGlhbGl6YXRpb25zLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nKFwiRElTUEFUQ0hFUjogSW5pdGlhbCBkcmFpbiBzdGFydGVkXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmRyYWluSW5pdFF1ZXVlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERlcmVnaXN0cmEgdW4gZ3JhZmljbyBwcmVzZW50ZS4gQ2hpYW1hdGEgZ2VuZXJhbG1lbnRlIGFsIGRpc3Bvc2UgZGVsIGdyYWZpY28gaW4gcXVlc3Rpb25lIHF1YW5kbyBub24gZGV2J2Vzc2VyZSBwacO5IG1vc3RyYXRvIG5lbGxhIHBhZ2luYSBjb3JyZW50ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBJZGVudGlmaWNhdGl2byBkZWwgZ3JhZmljbyBkYSBkZXJlZ2lzdHJhcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlcmVnaXN0ZXJHcmFwaChuYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLkluaXRpYWxpemVkR3JhcGhzLmluZGV4T2YobmFtZSk7XHJcbiAgICAgICAgaWYgKGluZGV4ID09IC0xKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgLy9RdWVzdG8gc3VjY2VkZSBxdWFuZG8gc2kgY2VyY2EgZGkgZGlzdHJ1Z2dlcmUgaWwgZ3JhZmljbyBtZW50cmUgc3RhIHZlbmVuZG8gZ3JhZmljYXRvXHJcbiAgICAgICAgICAgIHRoaXMubG9nKFwiRElTUEFUQ0hFUjogUmVnaXN0cmF0aW9uIG1pc3NpbmcgZm9yIGNoYXJ0IFwiICsgbmFtZSArIFwiIGl0IHdhcyBwcm9iYWJseSBkZXN0cm95ZWQgZHVyaW5nIGxvYWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubG9nKFwiRElTUEFUQ0hFUjogQ2hhcnQgZGVyZWdpc3RlcmVkIFwiICsgbmFtZSk7XHJcbiAgICAgICAgdGhpcy5Jbml0aWFsaXplZEdyYXBocy5zcGxpY2UoaW5kZXgsIDEpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRvZG8gY2hlIGVzZWd1ZSBpbiBtYW5pZXJhIHNlcXVlbnppYWxlIGxlIGZ1bnppb25pIGRpIGluaXppYWxpenphemlvbmUgZGVpIGdyYWZpY2kgZmluY2jDqSBwcmVzZW50aSBcclxuICAgICAqIGluIG1vZG8gY2hlIG5lc3N1biBncmFmaWNvIHBvc3NhIGVzc2VyZSBpbml6aWFsaXp6YXRvIGNvbnRlbXBvcmFuZWFtZW50ZSBhZCB1biBhbHRyby5cclxuICAgICAqIFxyXG4gICAgICogUXVlc3RvIMOoIGlsIHB1bnRvIGNoaWF2ZSBjaGUgcGVybWV0dGUgZGkgYXZlcmUgcGVyIG9nbmkgZ3JhZmljbyB0ZW1pIGUgbG9jYWxlIGRpZmZlcmVudGlcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBkcmFpbkluaXRRdWV1ZXMoKSB7XHJcbiAgICAgICAgbGV0IHRvRXhlY3V0ZSA9IHRoaXMuSW5pdGlhbGl6YXRpb25zWzBdO1xyXG4gICAgICAgIHRoaXMubG9nKFwiRElTUEFUQ0hFUjogRXhlY3V0aW5nIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciBjaGFydCBcIiArIHRvRXhlY3V0ZS5uYW1lKTtcclxuXHJcbiAgICAgICAgdG9FeGVjdXRlLmZ1bmN0aW9uKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nKFwiRElTUEFUQ0hFUjogaW5pdGlhbGl6YXRpb24gZm9yIGNoYXJ0IFwiICsgdG9FeGVjdXRlLm5hbWUgKyBcIiBpcyBkb25lXCIpO1xyXG4gICAgICAgICAgICB0aGlzLkluaXRpYWxpemVkR3JhcGhzLnB1c2godG9FeGVjdXRlLm5hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLkluaXRpYWxpemF0aW9ucy5zcGxpY2UoMCwgMSk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLkluaXRpYWxpemF0aW9ucy5sZW5ndGggPj0gMSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2coXCJESVNQQVRDSEVSOiBGb3VuZCBxdWV1ZWQgaW5pdGlhbGl6YXRpb25zLiBDb250aW51aW5nXCIpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kcmFpbkluaXRRdWV1ZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvZyhcIkRJU1BBVENIRVI6IHF1ZXVlIGlzIG92ZXIsIG5vdGhpbmcgbW9yZSB0byBkb1wiKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBsb2codGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9ncylcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJAZXNmYWVuemEvZXMtY2hhcnRzOiBcIiArIHRleHQpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,201 @@
1
+ import { ChartThemes } from './ChartThemes';
2
+ /**
3
+ * Classe di supporto al caricamento dinamico dei vari pezzi di amcharts che mi servono per il grafico (temi, locali, ecc...)
4
+ *
5
+ * Essenzialmente ogni volta che viene creato un grafico, questo acquisisce il tema e il locale applicato IN QUEL MOMENTO,
6
+ * questo significa che per creare due grafici con temi diversi bisogna fare:
7
+ *
8
+ * 1) Caricamento tema 1
9
+ *
10
+ * 2) Creazione grafico 1
11
+ *
12
+ * 3) Scaricamento tema 1
13
+ *
14
+ * 3) Caricamento tema 2
15
+ *
16
+ * 4) Creazione grafico 2
17
+ *
18
+ */
19
+ export class ChartLoader {
20
+ /**
21
+ * @ignore
22
+ */
23
+ constructor(logs) {
24
+ this.logs = logs;
25
+ /**
26
+ * Indica se attualmente ho le animazioni caricate in modo da non ricaricarle inutilmente
27
+ */
28
+ this.AnimationsAreLoaded = false;
29
+ /**
30
+ * Indica l'ultimo tema caricato in modo da non ricaricarlo inutilmente qualora il prossimo grafico da creare richieda lo stesso tema
31
+ */
32
+ this.LastLoadedTheme = "";
33
+ /**
34
+ * Cache dei temi (moduli caricati dinamicamente)
35
+ */
36
+ this.themeCache = {};
37
+ /**
38
+ * Cache delle localizzazioni (moduli caricati dinamicamente)
39
+ */
40
+ this.localizationCache = {};
41
+ }
42
+ /**
43
+ * Applica il tema con le animazioni all'istanza globale di amCharts
44
+ *
45
+ * @param {Object} chartsCore Istanza globale di amCharts
46
+ * @returns {Promise} Promise che identifica la fine del caricamento
47
+ */
48
+ applyAnimations(chartsCore) {
49
+ if (!this.AnimationsAreLoaded) {
50
+ return this.importIfNeeded('themes', ChartThemes.animated).then(() => {
51
+ this.log("CORE: Applying theme " + ChartThemes.animated);
52
+ chartsCore.useTheme(this.themeCache[ChartThemes.animated]);
53
+ this.AnimationsAreLoaded = true;
54
+ });
55
+ }
56
+ else {
57
+ this.log("CORE: theme already applyed " + ChartThemes.animated);
58
+ return new Promise((resolve) => { resolve(true); });
59
+ }
60
+ }
61
+ /**
62
+ * De-applica il tema con le animazioni dall'istanza globale di amCharts
63
+ *
64
+ * @param {Object} chartsCore Istanza globale di amCharts
65
+ * @returns {Promise} Promise che identifica la fine dello scarico
66
+ */
67
+ unapplyAnimations(chartsCore) {
68
+ if (this.AnimationsAreLoaded) {
69
+ this.log("CORE: Animations in use, unapplying theme " + ChartThemes.animated);
70
+ chartsCore.unuseTheme(this.themeCache[ChartThemes.animated]);
71
+ this.AnimationsAreLoaded = false;
72
+ }
73
+ else
74
+ this.log("CORE: Animations already unused, no need to unapply them");
75
+ return new Promise((resolve) => { resolve(true); });
76
+ }
77
+ /**
78
+ * Applica il tema specificato all'istanza globale di amCharts
79
+ *
80
+ * @param {Object} chartsCore Istanza globale di amCharts
81
+ * @param {'spiritedaway' | 'moonrisekingdom' | 'frozen' | 'dark' | 'kelly' | 'material' | 'dataviz' | 'none'} theme Tema da applicare
82
+ * @returns {Promise} Promise che identifica la fine del caricamento
83
+ */
84
+ applyTheme(chartsCore, theme) {
85
+ // Ultimo tema applicato è lo stesso che mi è stato richiesto di applicare --> NO-OP
86
+ if (this.LastLoadedTheme == theme) {
87
+ this.log("CORE: theme already applied " + theme);
88
+ return new Promise((resolve) => { resolve(true); });
89
+ }
90
+ // Scarico il tema precedente a prescindere, ormai non mi serve più
91
+ this.unapplyPreviousTheme(chartsCore);
92
+ // Il tema è il none --> registro la cosa e basta, il tema precedente è stato rimosso subito qui sopra ^
93
+ if (theme == ChartThemes.none) {
94
+ this.LastLoadedTheme = ChartThemes.none;
95
+ return new Promise((resolve) => { resolve(true); });
96
+ }
97
+ // Il tema è diverso dal precedente e non è il tema vuoto --> Importo il tema specificato se non presente in memoria e lo applico al grafico attuale
98
+ return this.importIfNeeded('themes', theme).then(() => {
99
+ this.log("CORE: Applying theme " + theme);
100
+ chartsCore.useTheme(this.themeCache[theme]);
101
+ this.LastLoadedTheme = theme;
102
+ });
103
+ }
104
+ /**
105
+ * De-applica il tema precedente dall'istanza globale di amCharts
106
+ *
107
+ * @param {Object} chartsCore Istanza globale di amCharts
108
+ */
109
+ unapplyPreviousTheme(chartsCore) {
110
+ if (!this.LastLoadedTheme || this.LastLoadedTheme == ChartThemes.none)
111
+ return;
112
+ this.log("CORE: Unapplying previously used theme " + this.LastLoadedTheme);
113
+ chartsCore.unuseTheme(this.themeCache[this.LastLoadedTheme]);
114
+ }
115
+ /**
116
+ * Applica il locale specificato all'istanza specifica del grafico
117
+ *
118
+ * @param {amCharts.Chart} chart Istanza specifica del grafico a cui applicare il locale
119
+ * @param {string} locale Locale da applicare
120
+ * @returns {Promise} Promise che identifica la fine del caricamento
121
+ */
122
+ applyLocale(chart, locale) {
123
+ return this.importIfNeeded('lang', locale).then(() => {
124
+ this.log("Chart " + chart.htmlContainer.id + ": applying locale " + locale);
125
+ chart.language.locale = this.localizationCache[locale];
126
+ });
127
+ }
128
+ /**
129
+ * Permette di importare, se serve un dato tema o localizzazione
130
+ *
131
+ * @param {'lang' | 'themes'} what Oggetto da importare, se localizzazione o tema
132
+ * @param {string} item Chiave dell'oggetto da importare
133
+ *
134
+ * @returns {Promise} Promise che identifica la fine del caricamento
135
+ */
136
+ importIfNeeded(what, item) {
137
+ // Se sto cercando di caricare qualcosa di già caricato non faccio nulla
138
+ if (!(what == 'themes' && !this.themeCache[item]) && !(what == 'lang' && !this.localizationCache[item])) {
139
+ this.log("CORE: " + (what == 'lang' ? "Language " : "Theme ") + item + " already loaded");
140
+ return new Promise((resolve) => { resolve(true); });
141
+ }
142
+ this.log("CORE: Loading " + (what == 'lang' ? "language " : "theme ") + item);
143
+ /*
144
+ * ****************************
145
+ * ******** ATTENZIONE ********
146
+ * ****************************
147
+ *
148
+ * Se stai vedendo questo codice di import e stai valutando di riscriverlo come:
149
+ *
150
+ * V V
151
+ * import(`@amcharts/amcharts4/${what}/${item}`).then(module => {
152
+ * if (what == 'themes') this.themeCache[item] = module.default;
153
+ * else if (what == 'lang') this.localizationCache[item] = module.default;
154
+ * });
155
+ *
156
+ * Sappi che è una pessima idea. Gli import sono valutati da webpack in compiletime per generare i chunk,
157
+ * mettere la navigazione agli import con la concatenazione viene preso malissimo ed essenzialmente dice a webpack
158
+ * di tirare su e bundlare l'intera node_modules. Divertente, no?
159
+ *
160
+ */
161
+ switch (what) {
162
+ case 'themes':
163
+ switch (item) {
164
+ case ChartThemes.spiritedaway:
165
+ return import("@amcharts/amcharts4/themes/spiritedaway").then(theme => this.themeCache[item] = theme.default);
166
+ case ChartThemes.moonrisekingdom:
167
+ return import("@amcharts/amcharts4/themes/moonrisekingdom").then(theme => this.themeCache[item] = theme.default);
168
+ case ChartThemes.frozen:
169
+ return import("@amcharts/amcharts4/themes/frozen").then(theme => this.themeCache[item] = theme.default);
170
+ case ChartThemes.dark:
171
+ return import("@amcharts/amcharts4/themes/dark").then(theme => this.themeCache[item] = theme.default);
172
+ case ChartThemes.kelly:
173
+ return import("@amcharts/amcharts4/themes/kelly").then(theme => this.themeCache[item] = theme.default);
174
+ case ChartThemes.material:
175
+ return import("@amcharts/amcharts4/themes/material").then(theme => this.themeCache[item] = theme.default);
176
+ case ChartThemes.dataviz:
177
+ return import("@amcharts/amcharts4/themes/dataviz").then(theme => this.themeCache[item] = theme.default);
178
+ case ChartThemes.animated:
179
+ return import("@amcharts/amcharts4/themes/animated").then(theme => this.themeCache[item] = theme.default);
180
+ }
181
+ break;
182
+ case 'lang':
183
+ switch (item) {
184
+ case 'it-IT':
185
+ return import("@amcharts/amcharts4/lang/it_IT").then(lang => this.localizationCache[item] = lang.default);
186
+ case 'en-US':
187
+ return import("@amcharts/amcharts4/lang/en_US").then(lang => this.localizationCache[item] = lang.default);
188
+ }
189
+ }
190
+ this.log("CORE: Loading Failed. " + (what == 'lang' ? "Language " : "Theme") + " not recognized: " + item);
191
+ return new Promise((resolve) => { resolve(true); });
192
+ }
193
+ /**
194
+ * @ignore
195
+ */
196
+ log(text) {
197
+ if (this.logs)
198
+ console.log("@esfaenza/es-charts: " + text);
199
+ }
200
+ }
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhcnRMb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvY29yZS9DaGFydExvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTNDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFzQnRCOztPQUVHO0lBQ0gsWUFBb0IsSUFBYTtRQUFiLFNBQUksR0FBSixJQUFJLENBQVM7UUF2QmpDOztXQUVHO1FBQ0ssd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRTdDOztXQUVHO1FBQ0ssb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFFckM7O1dBRUc7UUFDSyxlQUFVLEdBQU8sRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ0ssc0JBQWlCLEdBQU8sRUFBRSxDQUFDO0lBS0UsQ0FBQztJQUV0Qzs7Ozs7T0FLRztJQUNJLGVBQWUsQ0FBQyxVQUFlO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pELFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQ0k7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLDhCQUE4QixHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRSxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLFVBQWU7UUFDL0IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyw0Q0FBNEMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUUsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDbEM7O1lBRUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywwREFBMEQsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxVQUFVLENBQUMsVUFBZSxFQUFFLEtBQXlHO1FBQ25JLG9GQUFvRjtRQUNwRixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksS0FBSyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsOEJBQThCLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDakQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxtRUFBbUU7UUFDbkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRXJDLHdHQUF3RztRQUN4RyxJQUFJLEtBQUssSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN4QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwRDtRQUVELG9KQUFvSjtRQUNwSixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUMxQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CLENBQUMsVUFBZTtRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLFdBQVcsQ0FBQyxJQUFJO1lBQ25FLE9BQU87UUFFVCxJQUFJLENBQUMsR0FBRyxDQUFDLHlDQUF5QyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzRSxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUE7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxLQUFVLEVBQUUsTUFBYztRQUNwQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEdBQUcsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDNUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsSUFBdUIsRUFBRSxJQUFZO1FBRWxELHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDdkcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzFGLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFFOUU7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBaUJHO1FBRUgsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLFFBQVE7Z0JBQ1gsUUFBUSxJQUFJLEVBQUU7b0JBQ1osS0FBSyxXQUFXLENBQUMsWUFBWTt3QkFDM0IsT0FBTyxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDaEgsS0FBSyxXQUFXLENBQUMsZUFBZTt3QkFDOUIsT0FBTyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkgsS0FBSyxXQUFXLENBQUMsTUFBTTt3QkFDckIsT0FBTyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDMUcsS0FBSyxXQUFXLENBQUMsSUFBSTt3QkFDbkIsT0FBTyxNQUFNLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDeEcsS0FBSyxXQUFXLENBQUMsS0FBSzt3QkFDcEIsT0FBTyxNQUFNLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDekcsS0FBSyxXQUFXLENBQUMsUUFBUTt3QkFDdkIsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDNUcsS0FBSyxXQUFXLENBQUMsT0FBTzt3QkFDdEIsT0FBTyxNQUFNLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0csS0FBSyxXQUFXLENBQUMsUUFBUTt3QkFDdkIsT0FBTyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDN0c7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxRQUFRLElBQUksRUFBRTtvQkFDWixLQUFLLE9BQU87d0JBQ1YsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUM1RyxLQUFLLE9BQU87d0JBQ1YsT0FBTyxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUM3RztTQUNKO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDM0csT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFydFRoZW1lcyB9IGZyb20gJy4vQ2hhcnRUaGVtZXMnXHJcblxyXG4vKipcclxuICogQ2xhc3NlIGRpIHN1cHBvcnRvIGFsIGNhcmljYW1lbnRvIGRpbmFtaWNvIGRlaSB2YXJpIHBlenppIGRpIGFtY2hhcnRzIGNoZSBtaSBzZXJ2b25vIHBlciBpbCBncmFmaWNvICh0ZW1pLCBsb2NhbGksIGVjYy4uLilcclxuICogXHJcbiAqIEVzc2VuemlhbG1lbnRlIG9nbmkgdm9sdGEgY2hlIHZpZW5lIGNyZWF0byB1biBncmFmaWNvLCBxdWVzdG8gYWNxdWlzaXNjZSBpbCB0ZW1hIGUgaWwgbG9jYWxlIGFwcGxpY2F0byBJTiBRVUVMIE1PTUVOVE8sXHJcbiAqIHF1ZXN0byBzaWduaWZpY2EgY2hlIHBlciBjcmVhcmUgZHVlIGdyYWZpY2kgY29uIHRlbWkgZGl2ZXJzaSBiaXNvZ25hIGZhcmU6XHJcbiAqIFxyXG4gKiAxKSBDYXJpY2FtZW50byB0ZW1hIDFcclxuICogXHJcbiAqIDIpIENyZWF6aW9uZSBncmFmaWNvIDFcclxuICogXHJcbiAqIDMpIFNjYXJpY2FtZW50byB0ZW1hIDFcclxuICogXHJcbiAqIDMpIENhcmljYW1lbnRvIHRlbWEgMlxyXG4gKiBcclxuICogNCkgQ3JlYXppb25lIGdyYWZpY28gMlxyXG4gKiBcclxuICovXHJcbmV4cG9ydCBjbGFzcyBDaGFydExvYWRlciB7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBzZSBhdHR1YWxtZW50ZSBobyBsZSBhbmltYXppb25pIGNhcmljYXRlIGluIG1vZG8gZGEgbm9uIHJpY2FyaWNhcmxlIGludXRpbG1lbnRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBBbmltYXRpb25zQXJlTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsJ3VsdGltbyB0ZW1hIGNhcmljYXRvIGluIG1vZG8gZGEgbm9uIHJpY2FyaWNhcmxvIGludXRpbG1lbnRlIHF1YWxvcmEgaWwgcHJvc3NpbW8gZ3JhZmljbyBkYSBjcmVhcmUgcmljaGllZGEgbG8gc3Rlc3NvIHRlbWFcclxuICAgKi9cclxuICBwcml2YXRlIExhc3RMb2FkZWRUaGVtZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUgZGVpIHRlbWkgKG1vZHVsaSBjYXJpY2F0aSBkaW5hbWljYW1lbnRlKVxyXG4gICAqL1xyXG4gIHByaXZhdGUgdGhlbWVDYWNoZToge30gPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjaGUgZGVsbGUgbG9jYWxpenphemlvbmkgKG1vZHVsaSBjYXJpY2F0aSBkaW5hbWljYW1lbnRlKVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9jYWxpemF0aW9uQ2FjaGU6IHt9ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZ3M6IGJvb2xlYW4pIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWNhIGlsIHRlbWEgY29uIGxlIGFuaW1hemlvbmkgYWxsJ2lzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjaGFydHNDb3JlIElzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgcHVibGljIGFwcGx5QW5pbWF0aW9ucyhjaGFydHNDb3JlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgaWYgKCF0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW1wb3J0SWZOZWVkZWQoJ3RoZW1lcycsIENoYXJ0VGhlbWVzLmFuaW1hdGVkKS50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLmxvZyhcIkNPUkU6IEFwcGx5aW5nIHRoZW1lIFwiICsgQ2hhcnRUaGVtZXMuYW5pbWF0ZWQpO1xyXG4gICAgICAgIGNoYXJ0c0NvcmUudXNlVGhlbWUodGhpcy50aGVtZUNhY2hlW0NoYXJ0VGhlbWVzLmFuaW1hdGVkXSk7XHJcbiAgICAgICAgdGhpcy5BbmltYXRpb25zQXJlTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiB0aGVtZSBhbHJlYWR5IGFwcGx5ZWQgXCIgKyBDaGFydFRoZW1lcy5hbmltYXRlZCk7XHJcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGUtYXBwbGljYSBpbCB0ZW1hIGNvbiBsZSBhbmltYXppb25pIGRhbGwnaXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IGNoYXJ0c0NvcmUgSXN0YW56YSBnbG9iYWxlIGRpIGFtQ2hhcnRzXHJcbiAgICogQHJldHVybnMge1Byb21pc2V9IFByb21pc2UgY2hlIGlkZW50aWZpY2EgbGEgZmluZSBkZWxsbyBzY2FyaWNvXHJcbiAgICovXHJcbiAgdW5hcHBseUFuaW1hdGlvbnMoY2hhcnRzQ29yZTogYW55KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmICh0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQpIHtcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiBBbmltYXRpb25zIGluIHVzZSwgdW5hcHBseWluZyB0aGVtZSBcIiArIENoYXJ0VGhlbWVzLmFuaW1hdGVkKTtcclxuICAgICAgY2hhcnRzQ29yZS51bnVzZVRoZW1lKHRoaXMudGhlbWVDYWNoZVtDaGFydFRoZW1lcy5hbmltYXRlZF0pO1xyXG4gICAgICB0aGlzLkFuaW1hdGlvbnNBcmVMb2FkZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5sb2coXCJDT1JFOiBBbmltYXRpb25zIGFscmVhZHkgdW51c2VkLCBubyBuZWVkIHRvIHVuYXBwbHkgdGhlbVwiKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geyByZXNvbHZlKHRydWUpIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGljYSBpbCB0ZW1hIHNwZWNpZmljYXRvIGFsbCdpc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge09iamVjdH0gY2hhcnRzQ29yZSBJc3RhbnphIGdsb2JhbGUgZGkgYW1DaGFydHNcclxuICAgKiBAcGFyYW0geydzcGlyaXRlZGF3YXknIHwgJ21vb25yaXNla2luZ2RvbScgfCAnZnJvemVuJyB8ICdkYXJrJyB8ICdrZWxseScgfCAnbWF0ZXJpYWwnIHwgJ2RhdGF2aXonIHwgJ25vbmUnfSB0aGVtZSBUZW1hIGRhIGFwcGxpY2FyZVxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgYXBwbHlUaGVtZShjaGFydHNDb3JlOiBhbnksIHRoZW1lOiAnc3Bpcml0ZWRhd2F5JyB8ICdtb29ucmlzZWtpbmdkb20nIHwgJ2Zyb3plbicgfCAnZGFyaycgfCAna2VsbHknIHwgJ21hdGVyaWFsJyB8ICdkYXRhdml6JyB8ICdub25lJyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAvLyBVbHRpbW8gdGVtYSBhcHBsaWNhdG8gw6ggbG8gc3Rlc3NvIGNoZSBtaSDDqCBzdGF0byByaWNoaWVzdG8gZGkgYXBwbGljYXJlIC0tPiBOTy1PUFxyXG4gICAgaWYgKHRoaXMuTGFzdExvYWRlZFRoZW1lID09IHRoZW1lKSB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ09SRTogdGhlbWUgYWxyZWFkeSBhcHBsaWVkIFwiICsgdGhlbWUpO1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTY2FyaWNvIGlsIHRlbWEgcHJlY2VkZW50ZSBhIHByZXNjaW5kZXJlLCBvcm1haSBub24gbWkgc2VydmUgcGnDuVxyXG4gICAgdGhpcy51bmFwcGx5UHJldmlvdXNUaGVtZShjaGFydHNDb3JlKVxyXG5cclxuICAgIC8vIElsIHRlbWEgw6ggaWwgbm9uZSAtLT4gcmVnaXN0cm8gbGEgY29zYSBlIGJhc3RhLCBpbCB0ZW1hIHByZWNlZGVudGUgw6ggc3RhdG8gcmltb3NzbyBzdWJpdG8gcXVpIHNvcHJhIF5cclxuICAgIGlmICh0aGVtZSA9PSBDaGFydFRoZW1lcy5ub25lKSB7XHJcbiAgICAgIHRoaXMuTGFzdExvYWRlZFRoZW1lID0gQ2hhcnRUaGVtZXMubm9uZTtcclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IHJlc29sdmUodHJ1ZSkgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWwgdGVtYSDDqCBkaXZlcnNvIGRhbCBwcmVjZWRlbnRlIGUgbm9uIMOoIGlsIHRlbWEgdnVvdG8gLS0+IEltcG9ydG8gaWwgdGVtYSBzcGVjaWZpY2F0byBzZSBub24gcHJlc2VudGUgaW4gbWVtb3JpYSBlIGxvIGFwcGxpY28gYWwgZ3JhZmljbyBhdHR1YWxlXHJcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRJZk5lZWRlZCgndGhlbWVzJywgdGhlbWUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IEFwcGx5aW5nIHRoZW1lIFwiICsgdGhlbWUpO1xyXG4gICAgICBjaGFydHNDb3JlLnVzZVRoZW1lKHRoaXMudGhlbWVDYWNoZVt0aGVtZV0pO1xyXG4gICAgICB0aGlzLkxhc3RMb2FkZWRUaGVtZSA9IHRoZW1lO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZS1hcHBsaWNhIGlsIHRlbWEgcHJlY2VkZW50ZSBkYWxsJ2lzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjaGFydHNDb3JlIElzdGFuemEgZ2xvYmFsZSBkaSBhbUNoYXJ0c1xyXG4gICAqL1xyXG4gIHVuYXBwbHlQcmV2aW91c1RoZW1lKGNoYXJ0c0NvcmU6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLkxhc3RMb2FkZWRUaGVtZSB8fCB0aGlzLkxhc3RMb2FkZWRUaGVtZSA9PSBDaGFydFRoZW1lcy5ub25lKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5sb2coXCJDT1JFOiBVbmFwcGx5aW5nIHByZXZpb3VzbHkgdXNlZCB0aGVtZSBcIiArIHRoaXMuTGFzdExvYWRlZFRoZW1lKTtcclxuICAgIGNoYXJ0c0NvcmUudW51c2VUaGVtZSh0aGlzLnRoZW1lQ2FjaGVbdGhpcy5MYXN0TG9hZGVkVGhlbWVdKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGljYSBpbCBsb2NhbGUgc3BlY2lmaWNhdG8gYWxsJ2lzdGFuemEgc3BlY2lmaWNhIGRlbCBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHthbUNoYXJ0cy5DaGFydH0gY2hhcnQgSXN0YW56YSBzcGVjaWZpY2EgZGVsIGdyYWZpY28gYSBjdWkgYXBwbGljYXJlIGlsIGxvY2FsZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgTG9jYWxlIGRhIGFwcGxpY2FyZVxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgYXBwbHlMb2NhbGUoY2hhcnQ6IGFueSwgbG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW1wb3J0SWZOZWVkZWQoJ2xhbmcnLCBsb2NhbGUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgY2hhcnQuaHRtbENvbnRhaW5lci5pZCArIFwiOiBhcHBseWluZyBsb2NhbGUgXCIgKyBsb2NhbGUpO1xyXG4gICAgICBjaGFydC5sYW5ndWFnZS5sb2NhbGUgPSB0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2xvY2FsZV07XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBlcm1ldHRlIGRpIGltcG9ydGFyZSwgc2Ugc2VydmUgdW4gZGF0byB0ZW1hIG8gbG9jYWxpenphemlvbmVcclxuICAgKiBcclxuICAgKiBAcGFyYW0geydsYW5nJyB8ICd0aGVtZXMnfSB3aGF0IE9nZ2V0dG8gZGEgaW1wb3J0YXJlLCBzZSBsb2NhbGl6emF6aW9uZSBvIHRlbWFcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gaXRlbSBDaGlhdmUgZGVsbCdvZ2dldHRvIGRhIGltcG9ydGFyZVxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBQcm9taXNlIGNoZSBpZGVudGlmaWNhIGxhIGZpbmUgZGVsIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgaW1wb3J0SWZOZWVkZWQod2hhdDogJ2xhbmcnIHwgJ3RoZW1lcycsIGl0ZW06IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcblxyXG4gICAgLy8gU2Ugc3RvIGNlcmNhbmRvIGRpIGNhcmljYXJlIHF1YWxjb3NhIGRpIGdpw6AgY2FyaWNhdG8gbm9uIGZhY2NpbyBudWxsYVxyXG4gICAgaWYgKCEod2hhdCA9PSAndGhlbWVzJyAmJiAhdGhpcy50aGVtZUNhY2hlW2l0ZW1dKSAmJiAhKHdoYXQgPT0gJ2xhbmcnICYmICF0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2l0ZW1dKSkge1xyXG4gICAgICB0aGlzLmxvZyhcIkNPUkU6IFwiICsgKHdoYXQgPT0gJ2xhbmcnID8gXCJMYW5ndWFnZSBcIiA6IFwiVGhlbWUgXCIpICsgaXRlbSArIFwiIGFscmVhZHkgbG9hZGVkXCIpO1xyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZyhcIkNPUkU6IExvYWRpbmcgXCIgKyAod2hhdCA9PSAnbGFuZycgPyBcImxhbmd1YWdlIFwiIDogXCJ0aGVtZSBcIikgKyBpdGVtKTtcclxuXHJcbiAgICAvKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKiogQVRURU5aSU9ORSAqKioqKioqKlxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICogXHJcbiAgICAgKiAgU2Ugc3RhaSB2ZWRlbmRvIHF1ZXN0byBjb2RpY2UgZGkgaW1wb3J0IGUgc3RhaSB2YWx1dGFuZG8gZGkgcmlzY3JpdmVybG8gY29tZTpcclxuICAgICAqIFxyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgViAgICAgICBWICAgXHJcbiAgICAgKiAgICAgIGltcG9ydChgQGFtY2hhcnRzL2FtY2hhcnRzNC8ke3doYXR9LyR7aXRlbX1gKS50aGVuKG1vZHVsZSA9PiB7XHJcbiAgICAgKiAgICAgICAgaWYgKHdoYXQgPT0gJ3RoZW1lcycpIHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IG1vZHVsZS5kZWZhdWx0O1xyXG4gICAgICogICAgICAgIGVsc2UgaWYgKHdoYXQgPT0gJ2xhbmcnKSB0aGlzLmxvY2FsaXphdGlvbkNhY2hlW2l0ZW1dID0gbW9kdWxlLmRlZmF1bHQ7XHJcbiAgICAgKiAgICAgIH0pO1xyXG4gICAgICogXHJcbiAgICAgKiAgU2FwcGkgY2hlIMOoIHVuYSBwZXNzaW1hIGlkZWEuIEdsaSBpbXBvcnQgc29ubyB2YWx1dGF0aSBkYSB3ZWJwYWNrIGluIGNvbXBpbGV0aW1lIHBlciBnZW5lcmFyZSBpIGNodW5rLFxyXG4gICAgICogIG1ldHRlcmUgbGEgbmF2aWdhemlvbmUgYWdsaSBpbXBvcnQgY29uIGxhIGNvbmNhdGVuYXppb25lIHZpZW5lIHByZXNvIG1hbGlzc2ltbyBlZCBlc3NlbnppYWxtZW50ZSBkaWNlIGEgd2VicGFja1xyXG4gICAgICogIGRpIHRpcmFyZSBzdSBlIGJ1bmRsYXJlIGwnaW50ZXJhIG5vZGVfbW9kdWxlcy4gRGl2ZXJ0ZW50ZSwgbm8/XHJcbiAgICAgKlxyXG4gICAgICovXHJcblxyXG4gICAgc3dpdGNoICh3aGF0KSB7XHJcbiAgICAgIGNhc2UgJ3RoZW1lcyc6XHJcbiAgICAgICAgc3dpdGNoIChpdGVtKSB7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLnNwaXJpdGVkYXdheTpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL3NwaXJpdGVkYXdheVwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5tb29ucmlzZWtpbmdkb206XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9tb29ucmlzZWtpbmdkb21cIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMuZnJvemVuOlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvZnJvemVuXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmRhcms6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9kYXJrXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlIENoYXJ0VGhlbWVzLmtlbGx5OlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMva2VsbHlcIikudGhlbih0aGVtZSA9PiB0aGlzLnRoZW1lQ2FjaGVbaXRlbV0gPSB0aGVtZS5kZWZhdWx0KTtcclxuICAgICAgICAgIGNhc2UgQ2hhcnRUaGVtZXMubWF0ZXJpYWw6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L3RoZW1lcy9tYXRlcmlhbFwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5kYXRhdml6OlxyXG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0KFwiQGFtY2hhcnRzL2FtY2hhcnRzNC90aGVtZXMvZGF0YXZpelwiKS50aGVuKHRoZW1lID0+IHRoaXMudGhlbWVDYWNoZVtpdGVtXSA9IHRoZW1lLmRlZmF1bHQpO1xyXG4gICAgICAgICAgY2FzZSBDaGFydFRoZW1lcy5hbmltYXRlZDpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvdGhlbWVzL2FuaW1hdGVkXCIpLnRoZW4odGhlbWUgPT4gdGhpcy50aGVtZUNhY2hlW2l0ZW1dID0gdGhlbWUuZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsYW5nJzpcclxuICAgICAgICBzd2l0Y2ggKGl0ZW0pIHtcclxuICAgICAgICAgIGNhc2UgJ2l0LUlUJzpcclxuICAgICAgICAgICAgcmV0dXJuIGltcG9ydChcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvbGFuZy9pdF9JVFwiKS50aGVuKGxhbmcgPT4gdGhpcy5sb2NhbGl6YXRpb25DYWNoZVtpdGVtXSA9IGxhbmcuZGVmYXVsdCk7XHJcbiAgICAgICAgICBjYXNlICdlbi1VUyc6XHJcbiAgICAgICAgICAgIHJldHVybiBpbXBvcnQoXCJAYW1jaGFydHMvYW1jaGFydHM0L2xhbmcvZW5fVVNcIikudGhlbihsYW5nID0+IHRoaXMubG9jYWxpemF0aW9uQ2FjaGVbaXRlbV0gPSBsYW5nLmRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvZyhcIkNPUkU6IExvYWRpbmcgRmFpbGVkLiBcIiArICh3aGF0ID09ICdsYW5nJyA/IFwiTGFuZ3VhZ2UgXCIgOiBcIlRoZW1lXCIpICsgXCIgbm90IHJlY29nbml6ZWQ6IFwiICsgaXRlbSk7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsgcmVzb2x2ZSh0cnVlKSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBsb2codGV4dDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5sb2dzKVxyXG4gICAgICBjb25zb2xlLmxvZyhcIkBlc2ZhZW56YS9lcy1jaGFydHM6IFwiICsgdGV4dCk7XHJcbiAgfVxyXG59Il19
@@ -0,0 +1,61 @@
1
+ /** @ignore */
2
+ const _spiritedaway = 'spiritedaway';
3
+ /** @ignore */
4
+ const _moonrisekingdom = 'moonrisekingdom';
5
+ /** @ignore */
6
+ const _frozen = 'frozen';
7
+ /** @ignore */
8
+ const _dark = 'dark';
9
+ /** @ignore */
10
+ const _kelly = 'kelly';
11
+ /** @ignore */
12
+ const _material = 'material';
13
+ /** @ignore */
14
+ const _dataviz = 'dataviz';
15
+ /** @ignore */
16
+ const _none = 'none';
17
+ /** @ignore */
18
+ const _animated = 'animated';
19
+ /**
20
+ * Classe per enumerare i temi disponibili nella libreria
21
+ */
22
+ // @dynamic
23
+ export class ChartThemes {
24
+ get spiritedaway() { return _spiritedaway; }
25
+ ;
26
+ get moonrisekingdom() { return _moonrisekingdom; }
27
+ ;
28
+ get frozen() { return _frozen; }
29
+ ;
30
+ get dark() { return _dark; }
31
+ ;
32
+ get kelly() { return _kelly; }
33
+ ;
34
+ get material() { return _material; }
35
+ ;
36
+ get dataviz() { return _dataviz; }
37
+ ;
38
+ get none() { return _none; }
39
+ ;
40
+ get animated() { return _animated; }
41
+ ;
42
+ static get spiritedaway() { return _spiritedaway; }
43
+ ;
44
+ static get moonrisekingdom() { return _moonrisekingdom; }
45
+ ;
46
+ static get frozen() { return _frozen; }
47
+ ;
48
+ static get dark() { return _dark; }
49
+ ;
50
+ static get kelly() { return _kelly; }
51
+ ;
52
+ static get material() { return _material; }
53
+ ;
54
+ static get dataviz() { return _dataviz; }
55
+ ;
56
+ static get none() { return _none; }
57
+ ;
58
+ static get animated() { return _animated; }
59
+ ;
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhcnRUaGVtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9tb2RlbHMvY29yZS9DaGFydFRoZW1lcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsTUFBTSxhQUFhLEdBQVcsY0FBYyxDQUFDO0FBQzdDLGNBQWM7QUFDZCxNQUFNLGdCQUFnQixHQUFXLGlCQUFpQixDQUFDO0FBQ25ELGNBQWM7QUFDZCxNQUFNLE9BQU8sR0FBVyxRQUFRLENBQUM7QUFDakMsY0FBYztBQUNkLE1BQU0sS0FBSyxHQUFXLE1BQU0sQ0FBQztBQUM3QixjQUFjO0FBQ2QsTUFBTSxNQUFNLEdBQVcsT0FBTyxDQUFDO0FBQy9CLGNBQWM7QUFDZCxNQUFNLFNBQVMsR0FBVyxVQUFVLENBQUM7QUFDckMsY0FBYztBQUNkLE1BQU0sUUFBUSxHQUFXLFNBQVMsQ0FBQztBQUNuQyxjQUFjO0FBQ2QsTUFBTSxLQUFLLEdBQVcsTUFBTSxDQUFDO0FBQzdCLGNBQWM7QUFDZCxNQUFNLFNBQVMsR0FBVyxVQUFVLENBQUM7QUFFckM7O0dBRUc7QUFDSCxXQUFXO0FBQ1gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsSUFBVyxZQUFZLEtBQUssT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNwRCxJQUFXLGVBQWUsS0FBSyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDMUQsSUFBVyxNQUFNLEtBQUssT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN4QyxJQUFXLElBQUksS0FBSyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3BDLElBQVcsS0FBSyxLQUFLLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdEMsSUFBVyxRQUFRLEtBQUssT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM1QyxJQUFXLE9BQU8sS0FBSyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzFDLElBQVcsSUFBSSxLQUFLLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDcEMsSUFBVyxRQUFRLEtBQUssT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUVyQyxNQUFNLEtBQUssWUFBWSxLQUFLLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDcEQsTUFBTSxLQUFLLGVBQWUsS0FBSyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDMUQsTUFBTSxLQUFLLE1BQU0sS0FBSyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3hDLE1BQU0sS0FBSyxJQUFJLEtBQUssT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUNwQyxNQUFNLEtBQUssS0FBSyxLQUFLLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDdEMsTUFBTSxLQUFLLFFBQVEsS0FBSyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzVDLE1BQU0sS0FBSyxPQUFPLEtBQUssT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUMxQyxNQUFNLEtBQUssSUFBSSxLQUFLLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDcEMsTUFBTSxLQUFLLFFBQVEsS0FBSyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0NBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBpZ25vcmUgKi9cclxuY29uc3QgX3NwaXJpdGVkYXdheTogc3RyaW5nID0gJ3NwaXJpdGVkYXdheSc7XHJcbi8qKiBAaWdub3JlICovXHJcbmNvbnN0IF9tb29ucmlzZWtpbmdkb206IHN0cmluZyA9ICdtb29ucmlzZWtpbmdkb20nO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5jb25zdCBfZnJvemVuOiBzdHJpbmcgPSAnZnJvemVuJztcclxuLyoqIEBpZ25vcmUgKi9cclxuY29uc3QgX2Rhcms6IHN0cmluZyA9ICdkYXJrJztcclxuLyoqIEBpZ25vcmUgKi9cclxuY29uc3QgX2tlbGx5OiBzdHJpbmcgPSAna2VsbHknO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5jb25zdCBfbWF0ZXJpYWw6IHN0cmluZyA9ICdtYXRlcmlhbCc7XHJcbi8qKiBAaWdub3JlICovXHJcbmNvbnN0IF9kYXRhdml6OiBzdHJpbmcgPSAnZGF0YXZpeic7XHJcbi8qKiBAaWdub3JlICovXHJcbmNvbnN0IF9ub25lOiBzdHJpbmcgPSAnbm9uZSc7XHJcbi8qKiBAaWdub3JlICovXHJcbmNvbnN0IF9hbmltYXRlZDogc3RyaW5nID0gJ2FuaW1hdGVkJztcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgcGVyIGVudW1lcmFyZSBpIHRlbWkgZGlzcG9uaWJpbGkgbmVsbGEgbGlicmVyaWFcclxuICovXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBDaGFydFRoZW1lcyB7XHJcbiAgcHVibGljIGdldCBzcGlyaXRlZGF3YXkoKSB7IHJldHVybiBfc3Bpcml0ZWRhd2F5OyB9O1xyXG4gIHB1YmxpYyBnZXQgbW9vbnJpc2VraW5nZG9tKCkgeyByZXR1cm4gX21vb25yaXNla2luZ2RvbTsgfTtcclxuICBwdWJsaWMgZ2V0IGZyb3plbigpIHsgcmV0dXJuIF9mcm96ZW47IH07XHJcbiAgcHVibGljIGdldCBkYXJrKCkgeyByZXR1cm4gX2Rhcms7IH07XHJcbiAgcHVibGljIGdldCBrZWxseSgpIHsgcmV0dXJuIF9rZWxseTsgfTtcclxuICBwdWJsaWMgZ2V0IG1hdGVyaWFsKCkgeyByZXR1cm4gX21hdGVyaWFsOyB9O1xyXG4gIHB1YmxpYyBnZXQgZGF0YXZpeigpIHsgcmV0dXJuIF9kYXRhdml6OyB9O1xyXG4gIHB1YmxpYyBnZXQgbm9uZSgpIHsgcmV0dXJuIF9ub25lOyB9O1xyXG4gIHB1YmxpYyBnZXQgYW5pbWF0ZWQoKSB7IHJldHVybiBfYW5pbWF0ZWQ7IH07XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHNwaXJpdGVkYXdheSgpIHsgcmV0dXJuIF9zcGlyaXRlZGF3YXk7IH07XHJcbiAgcHVibGljIHN0YXRpYyBnZXQgbW9vbnJpc2VraW5nZG9tKCkgeyByZXR1cm4gX21vb25yaXNla2luZ2RvbTsgfTtcclxuICBwdWJsaWMgc3RhdGljIGdldCBmcm96ZW4oKSB7IHJldHVybiBfZnJvemVuOyB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGRhcmsoKSB7IHJldHVybiBfZGFyazsgfTtcclxuICBwdWJsaWMgc3RhdGljIGdldCBrZWxseSgpIHsgcmV0dXJuIF9rZWxseTsgfTtcclxuICBwdWJsaWMgc3RhdGljIGdldCBtYXRlcmlhbCgpIHsgcmV0dXJuIF9tYXRlcmlhbDsgfTtcclxuICBwdWJsaWMgc3RhdGljIGdldCBkYXRhdml6KCkgeyByZXR1cm4gX2RhdGF2aXo7IH07XHJcbiAgcHVibGljIHN0YXRpYyBnZXQgbm9uZSgpIHsgcmV0dXJuIF9ub25lOyB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGFuaW1hdGVkKCkgeyByZXR1cm4gX2FuaW1hdGVkOyB9O1xyXG59Il19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Dati relativi a un grafico di tipo AreaChart
3
+ */
4
+ export class AreaChartData {
5
+ /**
6
+ * Costruttore
7
+ *
8
+ * @param {{ name: Date; values: KeyValue[]; }[]} groups Gruppi di valori raggruppati per data
9
+ * @param {BaseInterval} interval Intervallo della serie. Viene utilizzato per gestire eventuali Gap
10
+ */
11
+ constructor(groups = [], interval) {
12
+ this.groups = groups;
13
+ this.interval = interval;
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJlYUNoYXJ0RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL21vZGVscy9kYXRhL0FyZWFDaGFydERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUV0Qjs7Ozs7T0FLRztJQUNILFlBQW1CLFNBQWdELEVBQUUsRUFBUyxRQUF1QjtRQUFsRixXQUFNLEdBQU4sTUFBTSxDQUE0QztRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBSSxDQUFDO0NBQzdHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUludGVydmFsIH0gZnJvbSAnLi4vc2V0dGluZ3MvYmFzZS9CYXNlSW50ZXJ2YWwnO1xyXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4vYmFzZS9LZXlWYWx1ZSc7XHJcblxyXG4vKipcclxuICogRGF0aSByZWxhdGl2aSBhIHVuIGdyYWZpY28gZGkgdGlwbyBBcmVhQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBBcmVhQ2hhcnREYXRhIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvc3RydXR0b3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7eyBuYW1lOiBEYXRlOyB2YWx1ZXM6IEtleVZhbHVlW107IH1bXX0gZ3JvdXBzIEdydXBwaSBkaSB2YWxvcmkgcmFnZ3J1cHBhdGkgcGVyIGRhdGFcclxuICAgICAqIEBwYXJhbSB7QmFzZUludGVydmFsfSBpbnRlcnZhbCBJbnRlcnZhbGxvIGRlbGxhIHNlcmllLiBWaWVuZSB1dGlsaXp6YXRvIHBlciBnZXN0aXJlIGV2ZW50dWFsaSBHYXBcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIGdyb3VwczogeyBuYW1lOiBEYXRlOyB2YWx1ZXM6IEtleVZhbHVlW107IH1bXSA9IFtdLCBwdWJsaWMgaW50ZXJ2YWw/OiBCYXNlSW50ZXJ2YWwpIHsgfVxyXG59Il19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Dati relativi a un grafico di tipo LineChart
3
+ */
4
+ export class LineChartData {
5
+ /**
6
+ * Costruttore
7
+ *
8
+ * @param {LineSerie[]} series Lista di serie da graficare
9
+ * @param {{upper: lower}}
10
+ */
11
+ constructor(series = [], limit) {
12
+ this.series = series;
13
+ this.limit = limit;
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGluZUNoYXJ0RGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL21vZGVscy9kYXRhL0xpbmVDaGFydERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYTtJQUV0Qjs7Ozs7T0FLRztJQUNILFlBQW1CLFNBQXNCLEVBQUUsRUFBUyxLQUFhO1FBQTlDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtJQUFJLENBQUM7Q0FDekUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW1pdCB9IGZyb20gJy4vYmFzZS9MaW1pdCc7XHJcbmltcG9ydCB7IExpbmVTZXJpZSB9IGZyb20gJy4vYmFzZS9MaW5lU2VyaWUnO1xyXG5cclxuLyoqXHJcbiAqIERhdGkgcmVsYXRpdmkgYSB1biBncmFmaWNvIGRpIHRpcG8gTGluZUNoYXJ0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTGluZUNoYXJ0RGF0YSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb3N0cnV0dG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge0xpbmVTZXJpZVtdfSBzZXJpZXMgTGlzdGEgZGkgc2VyaWUgZGEgZ3JhZmljYXJlXHJcbiAgICAgKiBAcGFyYW0ge3t1cHBlcjogbG93ZXJ9fVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VyaWVzOiBMaW5lU2VyaWVbXSA9IFtdLCBwdWJsaWMgbGltaXQ/OiBMaW1pdCkgeyB9XHJcbn0iXX0=