@syncfusion/ej2-angular-charts 30.1.41 → 30.1.42-ngcc

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 (149) hide show
  1. package/@syncfusion/ej2-angular-charts.es5.js +5029 -0
  2. package/@syncfusion/ej2-angular-charts.es5.js.map +1 -0
  3. package/@syncfusion/ej2-angular-charts.js +4747 -0
  4. package/@syncfusion/ej2-angular-charts.js.map +1 -0
  5. package/LICENSE +10 -0
  6. package/dist/ej2-angular-charts.umd.js +5719 -0
  7. package/dist/ej2-angular-charts.umd.js.map +1 -0
  8. package/dist/ej2-angular-charts.umd.min.js +11 -0
  9. package/dist/ej2-angular-charts.umd.min.js.map +1 -0
  10. package/ej2-angular-charts.d.ts +13 -0
  11. package/ej2-angular-charts.metadata.json +1 -0
  12. package/package.json +10 -23
  13. package/public_api.d.ts +1 -1
  14. package/schematics/utils/lib-details.js +2 -2
  15. package/schematics/utils/lib-details.ts +2 -2
  16. package/src/accumulation-chart/accumulationchart-all.module.d.ts +15 -21
  17. package/src/accumulation-chart/accumulationchart.component.d.ts +58 -61
  18. package/src/accumulation-chart/accumulationchart.module.d.ts +5 -13
  19. package/src/accumulation-chart/annotations.directive.d.ts +80 -85
  20. package/src/accumulation-chart/series.directive.d.ts +244 -249
  21. package/src/bullet-chart/bulletchart-all.module.d.ts +8 -14
  22. package/src/bullet-chart/bulletchart.component.d.ts +38 -41
  23. package/src/bullet-chart/bulletchart.module.d.ts +5 -12
  24. package/src/bullet-chart/ranges.directive.d.ts +68 -73
  25. package/src/chart/annotations.directive.d.ts +96 -101
  26. package/src/chart/axes.directive.d.ts +382 -387
  27. package/src/chart/categories.directive.d.ts +69 -74
  28. package/src/chart/chart-all.module.d.ts +66 -72
  29. package/src/chart/chart.component.d.ts +86 -89
  30. package/src/chart/chart.module.d.ts +5 -24
  31. package/src/chart/columns.directive.d.ts +30 -35
  32. package/src/chart/indicators.directive.d.ts +250 -255
  33. package/src/chart/multilevellabels.directive.d.ts +57 -62
  34. package/src/chart/rangecolorsettings.directive.d.ts +36 -41
  35. package/src/chart/rows.directive.d.ts +30 -35
  36. package/src/chart/segments.directive.d.ts +41 -46
  37. package/src/chart/selecteddataindexes.directive.d.ts +32 -37
  38. package/src/chart/series.directive.d.ts +483 -488
  39. package/src/chart/striplines.directive.d.ts +166 -171
  40. package/src/chart/trendlines.directive.d.ts +112 -117
  41. package/src/chart3d/axes.directive.d.ts +266 -271
  42. package/src/chart3d/chart3d-all.module.d.ts +20 -26
  43. package/src/chart3d/chart3d.component.d.ts +62 -65
  44. package/src/chart3d/chart3d.module.d.ts +5 -16
  45. package/src/chart3d/columns.directive.d.ts +26 -31
  46. package/src/chart3d/rows.directive.d.ts +26 -31
  47. package/src/chart3d/selecteddataindexes.directive.d.ts +32 -37
  48. package/src/chart3d/series.directive.d.ts +172 -177
  49. package/src/circularchart3d/circularchart3d-all.module.d.ts +13 -19
  50. package/src/circularchart3d/circularchart3d.component.d.ts +55 -58
  51. package/src/circularchart3d/circularchart3d.module.d.ts +5 -13
  52. package/src/circularchart3d/selecteddataindexes.directive.d.ts +32 -37
  53. package/src/circularchart3d/series.directive.d.ts +142 -147
  54. package/src/index.d.ts +63 -63
  55. package/src/range-navigator/rangenavigator-all.module.d.ts +8 -14
  56. package/src/range-navigator/rangenavigator.component.d.ts +41 -44
  57. package/src/range-navigator/rangenavigator.module.d.ts +5 -12
  58. package/src/range-navigator/series.directive.d.ts +78 -83
  59. package/src/smithchart/series.directive.d.ts +88 -93
  60. package/src/smithchart/smithchart-all.module.d.ts +8 -14
  61. package/src/smithchart/smithchart.component.d.ts +41 -44
  62. package/src/smithchart/smithchart.module.d.ts +5 -12
  63. package/src/sparkline/rangebandsettings.directive.d.ts +33 -38
  64. package/src/sparkline/sparkline-all.module.d.ts +7 -13
  65. package/src/sparkline/sparkline.component.d.ts +43 -46
  66. package/src/sparkline/sparkline.module.d.ts +5 -12
  67. package/src/stock-chart/annotations.directive.d.ts +84 -89
  68. package/src/stock-chart/axes.directive.d.ts +286 -291
  69. package/src/stock-chart/indicators.directive.d.ts +208 -213
  70. package/src/stock-chart/periods.directive.d.ts +42 -47
  71. package/src/stock-chart/rows.directive.d.ts +30 -35
  72. package/src/stock-chart/selecteddataindexes.directive.d.ts +32 -37
  73. package/src/stock-chart/series.directive.d.ts +242 -247
  74. package/src/stock-chart/stockchart-all.module.d.ts +7 -13
  75. package/src/stock-chart/stockchart.component.d.ts +65 -68
  76. package/src/stock-chart/stockchart.module.d.ts +5 -20
  77. package/src/stock-chart/stockevents.directive.d.ts +83 -88
  78. package/src/stock-chart/trendlines.directive.d.ts +113 -118
  79. package/CHANGELOG.md +0 -3576
  80. package/esm2020/public_api.mjs +0 -2
  81. package/esm2020/src/accumulation-chart/accumulationchart-all.module.mjs +0 -53
  82. package/esm2020/src/accumulation-chart/accumulationchart.component.mjs +0 -146
  83. package/esm2020/src/accumulation-chart/accumulationchart.module.mjs +0 -43
  84. package/esm2020/src/accumulation-chart/annotations.directive.mjs +0 -62
  85. package/esm2020/src/accumulation-chart/series.directive.mjs +0 -62
  86. package/esm2020/src/bullet-chart/bulletchart-all.module.mjs +0 -32
  87. package/esm2020/src/bullet-chart/bulletchart.component.mjs +0 -85
  88. package/esm2020/src/bullet-chart/bulletchart.module.mjs +0 -34
  89. package/esm2020/src/bullet-chart/ranges.directive.mjs +0 -54
  90. package/esm2020/src/chart/annotations.directive.mjs +0 -60
  91. package/esm2020/src/chart/axes.directive.mjs +0 -58
  92. package/esm2020/src/chart/categories.directive.mjs +0 -59
  93. package/esm2020/src/chart/chart-all.module.mjs +0 -206
  94. package/esm2020/src/chart/chart.component.mjs +0 -525
  95. package/esm2020/src/chart/chart.module.mjs +0 -142
  96. package/esm2020/src/chart/columns.directive.mjs +0 -52
  97. package/esm2020/src/chart/indicators.directive.mjs +0 -54
  98. package/esm2020/src/chart/multilevellabels.directive.mjs +0 -60
  99. package/esm2020/src/chart/rangecolorsettings.directive.mjs +0 -52
  100. package/esm2020/src/chart/rows.directive.mjs +0 -52
  101. package/esm2020/src/chart/segments.directive.mjs +0 -58
  102. package/esm2020/src/chart/selecteddataindexes.directive.mjs +0 -52
  103. package/esm2020/src/chart/series.directive.mjs +0 -68
  104. package/esm2020/src/chart/striplines.directive.mjs +0 -56
  105. package/esm2020/src/chart/trendlines.directive.mjs +0 -58
  106. package/esm2020/src/chart3d/axes.directive.mjs +0 -52
  107. package/esm2020/src/chart3d/chart3d-all.module.mjs +0 -68
  108. package/esm2020/src/chart3d/chart3d.component.mjs +0 -189
  109. package/esm2020/src/chart3d/chart3d.module.mjs +0 -70
  110. package/esm2020/src/chart3d/columns.directive.mjs +0 -52
  111. package/esm2020/src/chart3d/rows.directive.mjs +0 -52
  112. package/esm2020/src/chart3d/selecteddataindexes.directive.mjs +0 -52
  113. package/esm2020/src/chart3d/series.directive.mjs +0 -62
  114. package/esm2020/src/circularchart3d/circularchart3d-all.module.mjs +0 -47
  115. package/esm2020/src/circularchart3d/circularchart3d.component.mjs +0 -125
  116. package/esm2020/src/circularchart3d/circularchart3d.module.mjs +0 -43
  117. package/esm2020/src/circularchart3d/selecteddataindexes.directive.mjs +0 -52
  118. package/esm2020/src/circularchart3d/series.directive.mjs +0 -62
  119. package/esm2020/src/index.mjs +0 -64
  120. package/esm2020/src/range-navigator/rangenavigator-all.module.mjs +0 -32
  121. package/esm2020/src/range-navigator/rangenavigator.component.mjs +0 -127
  122. package/esm2020/src/range-navigator/rangenavigator.module.mjs +0 -34
  123. package/esm2020/src/range-navigator/series.directive.mjs +0 -54
  124. package/esm2020/src/smithchart/series.directive.mjs +0 -46
  125. package/esm2020/src/smithchart/smithchart-all.module.mjs +0 -32
  126. package/esm2020/src/smithchart/smithchart.component.mjs +0 -78
  127. package/esm2020/src/smithchart/smithchart.module.mjs +0 -34
  128. package/esm2020/src/sparkline/rangebandsettings.directive.mjs +0 -46
  129. package/esm2020/src/sparkline/sparkline-all.module.mjs +0 -29
  130. package/esm2020/src/sparkline/sparkline.component.mjs +0 -71
  131. package/esm2020/src/sparkline/sparkline.module.mjs +0 -34
  132. package/esm2020/src/stock-chart/annotations.directive.mjs +0 -60
  133. package/esm2020/src/stock-chart/axes.directive.mjs +0 -52
  134. package/esm2020/src/stock-chart/indicators.directive.mjs +0 -54
  135. package/esm2020/src/stock-chart/periods.directive.mjs +0 -54
  136. package/esm2020/src/stock-chart/rows.directive.mjs +0 -52
  137. package/esm2020/src/stock-chart/selecteddataindexes.directive.mjs +0 -52
  138. package/esm2020/src/stock-chart/series.directive.mjs +0 -58
  139. package/esm2020/src/stock-chart/stockchart-all.module.mjs +0 -29
  140. package/esm2020/src/stock-chart/stockchart.component.mjs +0 -337
  141. package/esm2020/src/stock-chart/stockchart.module.mjs +0 -106
  142. package/esm2020/src/stock-chart/stockevents.directive.mjs +0 -54
  143. package/esm2020/src/stock-chart/trendlines.directive.mjs +0 -59
  144. package/esm2020/syncfusion-ej2-angular-charts.mjs +0 -5
  145. package/fesm2015/syncfusion-ej2-angular-charts.mjs +0 -4376
  146. package/fesm2015/syncfusion-ej2-angular-charts.mjs.map +0 -1
  147. package/fesm2020/syncfusion-ej2-angular-charts.mjs +0 -4376
  148. package/fesm2020/syncfusion-ej2-angular-charts.mjs.map +0 -1
  149. package/syncfusion-ej2-angular-charts.d.ts +0 -5
@@ -1,58 +0,0 @@
1
- import { Directive, ContentChildren, ContentChild } from '@angular/core';
2
- import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
3
- import { StockChartTrendlinesDirective } from './trendlines.directive';
4
- import * as i0 from "@angular/core";
5
- let input = ['animation', 'bearFillColor', 'border', 'bullFillColor', 'cardinalSplineTension', 'close', 'columnSpacing', 'columnWidth', 'cornerRadius', 'dashArray', 'dataSource', 'emptyPointSettings', 'enableSolidCandles', 'enableTooltip', 'fill', 'high', 'lastValueLabel', 'legendImageUrl', 'legendShape', 'low', 'marker', 'name', 'opacity', 'open', 'pointColorMapping', 'query', 'selectionStyle', 'showNearestTooltip', 'tooltipMappingName', 'trendlines', 'type', 'visible', 'volume', 'width', 'xAxisName', 'xName', 'yAxisName', 'yName'];
6
- let outputs = [];
7
- /**
8
- * Series Directive
9
- * ```html
10
- * <e-stockchart-series-collection>
11
- * <e-stockchart-series></e-stockchart-series>
12
- * </e-stockchart-series-collection>
13
- * ```
14
- */
15
- export class StockChartSeriesDirective extends ComplexBase {
16
- constructor(viewContainerRef) {
17
- super();
18
- this.viewContainerRef = viewContainerRef;
19
- this.tags = ['trendlines'];
20
- setValue('currentInstance', this, this.viewContainerRef);
21
- this.registerEvents(outputs);
22
- this.directivePropList = input;
23
- }
24
- }
25
- StockChartSeriesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
26
- StockChartSeriesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartSeriesDirective, selector: "e-stockchart-series-collection>e-stockchart-series", inputs: { animation: "animation", bearFillColor: "bearFillColor", border: "border", bullFillColor: "bullFillColor", cardinalSplineTension: "cardinalSplineTension", close: "close", columnSpacing: "columnSpacing", columnWidth: "columnWidth", cornerRadius: "cornerRadius", dashArray: "dashArray", dataSource: "dataSource", emptyPointSettings: "emptyPointSettings", enableSolidCandles: "enableSolidCandles", enableTooltip: "enableTooltip", fill: "fill", high: "high", lastValueLabel: "lastValueLabel", legendImageUrl: "legendImageUrl", legendShape: "legendShape", low: "low", marker: "marker", name: "name", opacity: "opacity", open: "open", pointColorMapping: "pointColorMapping", query: "query", selectionStyle: "selectionStyle", showNearestTooltip: "showNearestTooltip", tooltipMappingName: "tooltipMappingName", trendlines: "trendlines", type: "type", visible: "visible", volume: "volume", width: "width", xAxisName: "xAxisName", xName: "xName", yAxisName: "yAxisName", yName: "yName" }, queries: [{ propertyName: "childTrendlines", first: true, predicate: StockChartTrendlinesDirective, descendants: true }], usesInheritance: true, ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: 'e-stockchart-series-collection>e-stockchart-series',
31
- inputs: input,
32
- outputs: outputs,
33
- queries: {
34
- childTrendlines: new ContentChild(StockChartTrendlinesDirective)
35
- }
36
- }]
37
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
38
- /**
39
- * StockChartSeries Array Directive
40
- * @private
41
- */
42
- export class StockChartSeriesCollectionDirective extends ArrayBase {
43
- constructor() {
44
- super('series');
45
- }
46
- }
47
- StockChartSeriesCollectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesCollectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
48
- StockChartSeriesCollectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: StockChartSeriesCollectionDirective, selector: "ejs-stockchart>e-stockchart-series-collection", queries: [{ propertyName: "children", predicate: StockChartSeriesDirective }], usesInheritance: true, ngImport: i0 });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartSeriesCollectionDirective, decorators: [{
50
- type: Directive,
51
- args: [{
52
- selector: 'ejs-stockchart>e-stockchart-series-collection',
53
- queries: {
54
- children: new ContentChildren(StockChartSeriesDirective)
55
- },
56
- }]
57
- }], ctorParameters: function () { return []; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWVzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9jay1jaGFydC9zZXJpZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXZFLElBQUksS0FBSyxHQUFhLENBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JpQixJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7R0FPRztBQVNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxXQUFzQztJQWdPakYsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQTVOOUMsU0FBSSxHQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUE4Tm5DLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3NIQXJPUSx5QkFBeUI7MEdBQXpCLHlCQUF5QixtbUNBSEksNkJBQTZCOzJGQUcxRCx5QkFBeUI7a0JBUnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9EQUFvRDtvQkFDOUQsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsNkJBQTZCLENBQUM7cUJBQ25FO2lCQUNKOztBQXlPRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sbUNBQW9DLFNBQVEsU0FBOEM7SUFDbkc7UUFDSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7Z0lBSFEsbUNBQW1DO29IQUFuQyxtQ0FBbUMsOEdBSFYseUJBQXlCOzJGQUdsRCxtQ0FBbUM7a0JBTi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsT0FBTyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQztxQkFDM0Q7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5pbXBvcnQgeyBTdG9ja0NoYXJ0VHJlbmRsaW5lc0RpcmVjdGl2ZSB9IGZyb20gJy4vdHJlbmRsaW5lcy5kaXJlY3RpdmUnO1xuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhbmltYXRpb24nLCAnYmVhckZpbGxDb2xvcicsICdib3JkZXInLCAnYnVsbEZpbGxDb2xvcicsICdjYXJkaW5hbFNwbGluZVRlbnNpb24nLCAnY2xvc2UnLCAnY29sdW1uU3BhY2luZycsICdjb2x1bW5XaWR0aCcsICdjb3JuZXJSYWRpdXMnLCAnZGFzaEFycmF5JywgJ2RhdGFTb3VyY2UnLCAnZW1wdHlQb2ludFNldHRpbmdzJywgJ2VuYWJsZVNvbGlkQ2FuZGxlcycsICdlbmFibGVUb29sdGlwJywgJ2ZpbGwnLCAnaGlnaCcsICdsYXN0VmFsdWVMYWJlbCcsICdsZWdlbmRJbWFnZVVybCcsICdsZWdlbmRTaGFwZScsICdsb3cnLCAnbWFya2VyJywgJ25hbWUnLCAnb3BhY2l0eScsICdvcGVuJywgJ3BvaW50Q29sb3JNYXBwaW5nJywgJ3F1ZXJ5JywgJ3NlbGVjdGlvblN0eWxlJywgJ3Nob3dOZWFyZXN0VG9vbHRpcCcsICd0b29sdGlwTWFwcGluZ05hbWUnLCAndHJlbmRsaW5lcycsICd0eXBlJywgJ3Zpc2libGUnLCAndm9sdW1lJywgJ3dpZHRoJywgJ3hBeGlzTmFtZScsICd4TmFtZScsICd5QXhpc05hbWUnLCAneU5hbWUnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBTZXJpZXMgRGlyZWN0aXZlXG4gKiBgYGBodG1sXG4gKiA8ZS1zdG9ja2NoYXJ0LXNlcmllcy1jb2xsZWN0aW9uPlxuICogPGUtc3RvY2tjaGFydC1zZXJpZXM+PC9lLXN0b2NrY2hhcnQtc2VyaWVzPlxuICogPC9lLXN0b2NrY2hhcnQtc2VyaWVzLWNvbGxlY3Rpb24+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLXN0b2NrY2hhcnQtc2VyaWVzLWNvbGxlY3Rpb24+ZS1zdG9ja2NoYXJ0LXNlcmllcycsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkVHJlbmRsaW5lczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0VHJlbmRsaW5lc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUgZXh0ZW5kcyBDb21wbGV4QmFzZTxTdG9ja0NoYXJ0U2VyaWVzRGlyZWN0aXZlPiB7XG4gICAgcHVibGljIGRpcmVjdGl2ZVByb3BMaXN0OiBhbnk7XG5cdFxuICAgIHB1YmxpYyBjaGlsZFRyZW5kbGluZXM6IGFueTtcbiAgICBwdWJsaWMgdGFnczogc3RyaW5nW10gPSBbJ3RyZW5kbGluZXMnXTtcbiAgICAvKiogXG4gICAgICogVGhlIHR5cGUgb2YgdGhlIHNlcmllcyBhcmUgXG4gICAgICogKiBMaW5lIFxuICAgICAqICogQ29sdW1uIFxuICAgICAqICogQXJlYSBcbiAgICAgKiAqIFNwbGluZSBcbiAgICAgKiAqIEhpbG8gXG4gICAgICogKiBIaWxvT3BlbkNsb3NlIFxuICAgICAqICogQ2FuZGxlXG4gICAgICogQGRlZmF1bHQgJ0NhbmRsZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIHRvIGN1c3RvbWl6aW5nIGFuaW1hdGlvbiBmb3IgdGhlIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYW5pbWF0aW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCBpbiBzdG9jayBjaGFydHMgdG8gdmlzdWFsaXplIHRoZSBwcmljZSBtb3ZlbWVudHMgaW4gc3RvY2suIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGNvbG9yIG9mIHRoZSBjYW5kbGUvcG9pbnQsIHdoZW4gdGhlIG9wZW5pbmcgcHJpY2UgaXMgbGVzcyB0aGFuIHRoZSBjbG9zaW5nIHByaWNlLlxuICAgICAqIEBkZWZhdWx0ICcjMmVjZDcxJ1xuICAgICAqL1xuICAgIHB1YmxpYyBiZWFyRmlsbENvbG9yOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgdG8gY3VzdG9taXppbmcgdGhlIGJvcmRlciBvZiB0aGUgc2VyaWVzLiBUaGlzIGlzIGFwcGxpY2FibGUgb25seSBmb3IgYENvbHVtbmAgYW5kIGBCYXJgIHR5cGUgc2VyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBib3JkZXI6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIGluIGZpbmFuY2lhbCBjaGFydHMgdG8gdmlzdWFsaXplIHRoZSBwcmljZSBtb3ZlbWVudHMgaW4gc3RvY2suIFxuICAgICAqIEl0IGRlZmluZXMgdGhlIGNvbG9yIG9mIHRoZSBjYW5kbGUvcG9pbnQsIHdoZW4gdGhlIG9wZW5pbmcgcHJpY2UgaXMgaGlnaGVyIHRoYW4gdGhlIGNsb3NpbmcgcHJpY2UuXG4gICAgICogQGRlZmF1bHQgJyNlNzRjM2QnXG4gICAgICovXG4gICAgcHVibGljIGJ1bGxGaWxsQ29sb3I6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgZGVmaW5lcyB0ZW5zaW9uIG9mIGNhcmRpbmFsIHNwbGluZSB0eXBlcy5cbiAgICAgKiBAZGVmYXVsdCAwLjVcbiAgICAgKi9cbiAgICBwdWJsaWMgY2FyZGluYWxTcGxpbmVUZW5zaW9uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBEYXRhU291cmNlIGZpZWxkIHRoYXQgY29udGFpbnMgdGhlIGNsb3NlIHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGNsb3NlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRvIHJlbmRlciB0aGUgY29sdW1uIHNlcmllcyBwb2ludHMgd2l0aCBwYXJ0aWN1bGFyIGNvbHVtbiBzcGFjaW5nLiBJdCB0YWtlcyB2YWx1ZSBmcm9tIDAgLSAxLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgICBwdWJsaWMgY29sdW1uU3BhY2luZzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyByZW5kZXIgdGhlIGNvbHVtbiBzZXJpZXMgcG9pbnRzIHdpdGggcGFydGljdWxhciBjb2x1bW4gd2lkdGguIElmIHRoZSBzZXJpZXMgdHlwZSBpcyBoaXN0b2dyYW0gdGhlIFxuICAgICAqIGRlZmF1bHQgdmFsdWUgaXMgMSBvdGhlcndpc2UgMC43LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2x1bW5XaWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUbyByZW5kZXIgdGhlIGNvbHVtbiBzZXJpZXMgcG9pbnRzIHdpdGggcGFydGljdWxhciByb3VuZGVkIGNvcm5lci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29ybmVyUmFkaXVzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHBhdHRlcm4gb2YgZGFzaGVzIGFuZCBnYXBzIHRvIHN0cm9rZSB0aGUgbGluZXMgaW4gYExpbmVgIHR5cGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0ICcwJ1xuICAgICAqL1xuICAgIHB1YmxpYyBkYXNoQXJyYXk6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBEYXRhU291cmNlIGZvciB0aGUgc2VyaWVzLiBJdCBjYW4gYmUgYW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzIG9yIGFuIGluc3RhbmNlIG9mIERhdGFNYW5hZ2VyLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGRhdGFTb3VyY2U6IGFueTtcbiAgICAvKiogXG4gICAgICogb3B0aW9ucyB0byBjdXN0b21pemUgdGhlIGVtcHR5IHBvaW50cyBpbiBzZXJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGVtcHR5UG9pbnRTZXR0aW5nczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGlzIHByb3BlcnR5IGlzIGFwcGxpY2FibGUgZm9yIGNhbmRsZSBzZXJpZXMuIFxuICAgICAqIEl0IGVuYWJsZXMvZGlzYWJsZXMgdG8gdmlzdWFsbHkgY29tcGFyZSB0aGUgY3VycmVudCB2YWx1ZXMgd2l0aCB0aGUgcHJldmlvdXMgdmFsdWVzIGluIHN0b2NrLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcHVibGljIGVuYWJsZVNvbGlkQ2FuZGxlczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJZiBzZXQgdHJ1ZSwgdGhlIFRvb2x0aXAgZm9yIHNlcmllcyB3aWxsIGJlIHZpc2libGUuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBlbmFibGVUb29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBmaWxsIGNvbG9yIGZvciB0aGUgc2VyaWVzIHRoYXQgYWNjZXB0cyB2YWx1ZSBpbiBoZXggYW5kIHJnYmEgYXMgYSB2YWxpZCBDU1MgY29sb3Igc3RyaW5nLiBcbiAgICAgKiBJdCBhbHNvIHJlcHJlc2VudHMgdGhlIGNvbG9yIG9mIHRoZSBzaWduYWwgbGluZXMgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuIFxuICAgICAqIEZvciB0ZWNobmljYWwgaW5kaWNhdG9ycywgdGhlIGRlZmF1bHQgdmFsdWUgaXMgJ2JsdWUnIGFuZCBmb3Igc2VyaWVzLCBpdCBoYXMgbnVsbC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGZpbGw6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgaGlnaCB2YWx1ZSBvZiB5IFxuICAgICAqIEl0IGlzIGFwcGxpY2FibGUgZm9yIHNlcmllcyBhbmQgdGVjaG5pY2FsIGluZGljYXRvcnNcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBoaWdoOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIE9wdGlvbnMgZm9yIGN1c3RvbWl6aW5nIGFuZCBkaXNwbGF5aW5nIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBzZXJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGxhc3RWYWx1ZUxhYmVsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBVUkwgZm9yIHRoZSBJbWFnZSB0aGF0IGlzIHRvIGJlIGRpc3BsYXllZCBhcyBhIExlZ2VuZCBpY29uLiAgSXQgcmVxdWlyZXMgIGBsZWdlbmRTaGFwZWAgdmFsdWUgdG8gYmUgYW4gYEltYWdlYC5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBsZWdlbmRJbWFnZVVybDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc2hhcGUgb2YgdGhlIGxlZ2VuZC4gRWFjaCBzZXJpZXMgaGFzIGl0cyBvd24gbGVnZW5kIHNoYXBlLiBUaGV5IGFyZSBcbiAgICAgKiAqIENpcmNsZSAtIFJlbmRlcnMgYSBjaXJjbGUuIFxuICAgICAqICogUmVjdGFuZ2xlIC0gUmVuZGVycyBhIHJlY3RhbmdsZS4gXG4gICAgICogKiBUcmlhbmdsZSAtIFJlbmRlcnMgYSB0cmlhbmdsZS4gXG4gICAgICogKiBEaWFtb25kIC0gUmVuZGVycyBhIGRpYW1vbmQuIFxuICAgICAqICogQ3Jvc3MgLSBSZW5kZXJzIGEgY3Jvc3MuIFxuICAgICAqICogSG9yaXpvbnRhbExpbmUgLSBSZW5kZXJzIGEgaG9yaXpvbnRhbExpbmUuIFxuICAgICAqICogVmVydGljYWxMaW5lIC0gUmVuZGVycyBhIHZlcnRpY2FsTGluZS4gXG4gICAgICogKiBQZW50YWdvbiAtIFJlbmRlcnMgYSBwZW50YWdvbi4gXG4gICAgICogKiBJbnZlcnRlZFRyaWFuZ2xlIC0gUmVuZGVycyBhIGludmVydGVkVHJpYW5nbGUuIFxuICAgICAqICogU2VyaWVzVHlwZSAtUmVuZGVyIGEgbGVnZW5kIHNoYXBlIGJhc2VkIG9uIHNlcmllcyB0eXBlLiBcbiAgICAgKiAqIEltYWdlIC1SZW5kZXIgYSBpbWFnZS4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnU2VyaWVzVHlwZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVnZW5kU2hhcGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgbG93IHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGxvdzogYW55O1xuICAgIC8qKiBcbiAgICAgKiBPcHRpb25zIGZvciBkaXNwbGF5aW5nIGFuZCBjdXN0b21pemluZyBtYXJrZXJzIGZvciBpbmRpdmlkdWFsIHBvaW50cyBpbiBhIHNlcmllcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya2VyOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJpZXMgdmlzaWJsZSBpbiBsZWdlbmQuXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgb3BhY2l0eSBvZiB0aGUgc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICBwdWJsaWMgb3BhY2l0eTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgRGF0YVNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSBvcGVuIHZhbHVlIG9mIHkgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG9wZW46IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgY29sb3IgdmFsdWUgb2YgcG9pbnQgXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzXG4gICAgICogQGRlZmF1bHQgJydcbiAgICAgKi9cbiAgICBwdWJsaWMgcG9pbnRDb2xvck1hcHBpbmc6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHF1ZXJ5IHRvIHNlbGVjdCBkYXRhIGZyb20gRGF0YVNvdXJjZS4gVGhpcyBwcm9wZXJ0eSBpcyBhcHBsaWNhYmxlIG9ubHkgd2hlbiB0aGUgRGF0YVNvdXJjZSBpcyBgZWouRGF0YU1hbmFnZXJgLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgcXVlcnk6IGFueTtcbiAgICAvKiogXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgc2VsZWN0ZWQgc2VyaWVzIG9yIHBvaW50cy5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdGlvblN0eWxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGRpc3BsYXkgb2YgdG9vbHRpcHMgZm9yIHRoZSBuZWFyZXN0IGRhdGEgcG9pbnQgdG8gdGhlIGN1cnNvciBmb3Igc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd05lYXJlc3RUb29sdGlwOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBwcm92aWRlZCB2YWx1ZSB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgYSBUb29sdGlwIG5hbWVcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB0b29sdGlwTWFwcGluZ05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgY29sbGVjdGlvbiBvZiB0cmVuZGxpbmVzIHRoYXQgYXJlIHVzZWQgdG8gcHJlZGljdCB0aGUgdHJlbmRcbiAgICAgKi9cbiAgICBwdWJsaWMgdHJlbmRsaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHZpc2liaWxpdHkgb2Ygc2VyaWVzLlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgdmlzaWJsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHRoZSBkYXRhIHNvdXJjZSBmaWVsZCB0aGF0IGNvbnRhaW5zIHRoZSB2b2x1bWUgdmFsdWUgaW4gY2FuZGxlIGNoYXJ0cyBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBmaW5hbmNpYWwgc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHZvbHVtZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgc3Ryb2tlIHdpZHRoIGZvciB0aGUgc2VyaWVzIHRoYXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciBgTGluZWAgdHlwZSBzZXJpZXMuIFxuICAgICAqIEl0IGFsc28gcmVwcmVzZW50cyB0aGUgc3Ryb2tlIHdpZHRoIG9mIHRoZSBzaWduYWwgbGluZXMgaW4gdGVjaG5pY2FsIGluZGljYXRvcnMuXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgaG9yaXpvbnRhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VyaWVzLiBJdCByZXF1aXJlcyBgYXhlc2Agb2YgdGhlIGNoYXJ0LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB4QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeCB2YWx1ZS4gXG4gICAgICogSXQgaXMgYXBwbGljYWJsZSBmb3Igc2VyaWVzIGFuZCB0ZWNobmljYWwgaW5kaWNhdG9yc1xuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHhOYW1lOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSB2ZXJ0aWNhbCBheGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VyaWVzLiBJdCByZXF1aXJlcyBgYXhlc2Agb2YgdGhlIGNoYXJ0LiBcbiAgICAgKiBJdCBpcyBhcHBsaWNhYmxlIGZvciBzZXJpZXMgYW5kIHRlY2huaWNhbCBpbmRpY2F0b3JzXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyB5QXhpc05hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIERhdGFTb3VyY2UgZmllbGQgdGhhdCBjb250YWlucyB0aGUgeSB2YWx1ZS5cbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyB5TmFtZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogU3RvY2tDaGFydFNlcmllcyBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXN0b2NrY2hhcnQ+ZS1zdG9ja2NoYXJ0LXNlcmllcy1jb2xsZWN0aW9uJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUpXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tDaGFydFNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmUgZXh0ZW5kcyBBcnJheUJhc2U8U3RvY2tDaGFydFNlcmllc0NvbGxlY3Rpb25EaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3NlcmllcycpO1xuICAgIH1cbn0iXX0=
@@ -1,29 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { StockChartModule } from './stockchart.module';
4
- import { StockLegend } from '@syncfusion/ej2-charts';
5
- import * as i0 from "@angular/core";
6
- export const StockLegendService = { provide: 'ChartsStockLegend', useValue: StockLegend };
7
- /**
8
- * NgModule definition for the StockChart component with providers.
9
- */
10
- export class StockChartAllModule {
11
- }
12
- StockChartAllModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- StockChartAllModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, imports: [CommonModule, StockChartModule], exports: [StockChartModule] });
14
- StockChartAllModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, providers: [
15
- StockLegendService
16
- ], imports: [[CommonModule, StockChartModule], StockChartModule] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartAllModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- imports: [CommonModule, StockChartModule],
21
- exports: [
22
- StockChartModule
23
- ],
24
- providers: [
25
- StockLegendService
26
- ]
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2tjaGFydC1hbGwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b2NrLWNoYXJ0L3N0b2NrY2hhcnQtYWxsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFBOztBQUdsRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBa0IsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBRXhHOztHQUVHO0FBVUgsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLFlBUmxCLFlBQVksRUFBRSxnQkFBZ0IsYUFFcEMsZ0JBQWdCO2lIQU1YLG1CQUFtQixhQUpsQjtRQUNOLGtCQUFrQjtLQUNyQixZQU5RLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLEVBRXJDLGdCQUFnQjsyRkFNWCxtQkFBbUI7a0JBVC9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3FCQUNuQjtvQkFDRCxTQUFTLEVBQUM7d0JBQ04sa0JBQWtCO3FCQUNyQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3RvY2tDaGFydFRyZW5kbGluZURpcmVjdGl2ZSwgU3RvY2tDaGFydFRyZW5kbGluZXNEaXJlY3RpdmUgfSBmcm9tICcuL3RyZW5kbGluZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRTZXJpZXNEaXJlY3RpdmUsIFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBeGlzRGlyZWN0aXZlLCBTdG9ja0NoYXJ0QXhlc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXhlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydFJvd0RpcmVjdGl2ZSwgU3RvY2tDaGFydFJvd3NEaXJlY3RpdmUgfSBmcm9tICcuL3Jvd3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBbm5vdGF0aW9uRGlyZWN0aXZlLCBTdG9ja0NoYXJ0QW5ub3RhdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhEaXJlY3RpdmUsIFN0b2NrQ2hhcnRTZWxlY3RlZERhdGFJbmRleGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3RlZGRhdGFpbmRleGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0UGVyaW9kRGlyZWN0aXZlLCBTdG9ja0NoYXJ0UGVyaW9kc0RpcmVjdGl2ZSB9IGZyb20gJy4vcGVyaW9kcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tFdmVudERpcmVjdGl2ZSwgU3RvY2tFdmVudHNEaXJlY3RpdmUgfSBmcm9tICcuL3N0b2NrZXZlbnRzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0SW5kaWNhdG9yRGlyZWN0aXZlLCBTdG9ja0NoYXJ0SW5kaWNhdG9yc0RpcmVjdGl2ZSB9IGZyb20gJy4vaW5kaWNhdG9ycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydENvbXBvbmVudCB9IGZyb20gJy4vc3RvY2tjaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RvY2tDaGFydE1vZHVsZSB9IGZyb20gJy4vc3RvY2tjaGFydC5tb2R1bGUnO1xuaW1wb3J0IHtTdG9ja0xlZ2VuZH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cydcblxuXG5leHBvcnQgY29uc3QgU3RvY2tMZWdlbmRTZXJ2aWNlOiBWYWx1ZVByb3ZpZGVyID0geyBwcm92aWRlOiAnQ2hhcnRzU3RvY2tMZWdlbmQnLCB1c2VWYWx1ZTogU3RvY2tMZWdlbmR9O1xuXG4vKipcbiAqIE5nTW9kdWxlIGRlZmluaXRpb24gZm9yIHRoZSBTdG9ja0NoYXJ0IGNvbXBvbmVudCB3aXRoIHByb3ZpZGVycy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTdG9ja0NoYXJ0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFN0b2NrQ2hhcnRNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczpbXG4gICAgICAgIFN0b2NrTGVnZW5kU2VydmljZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgU3RvY2tDaGFydEFsbE1vZHVsZSB7IH0iXX0=
@@ -1,337 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
3
- import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
- import { StockChart } from '@syncfusion/ej2-charts';
5
- import { Template } from '@syncfusion/ej2-angular-base';
6
- import { StockChartSeriesCollectionDirective } from './series.directive';
7
- import { StockChartAxesDirective } from './axes.directive';
8
- import { StockChartRowsDirective } from './rows.directive';
9
- import { StockChartAnnotationsDirective } from './annotations.directive';
10
- import { StockChartSelectedDataIndexesDirective } from './selecteddataindexes.directive';
11
- import { StockChartPeriodsDirective } from './periods.directive';
12
- import { StockEventsDirective } from './stockevents.directive';
13
- import { StockChartIndicatorsDirective } from './indicators.directive';
14
- import * as i0 from "@angular/core";
15
- export const inputs = ['annotations', 'axes', 'background', 'border', 'chartArea', 'crosshair', 'dataSource', 'enableCustomRange', 'enablePeriodSelector', 'enablePersistence', 'enableRtl', 'enableSelector', 'exportType', 'height', 'indicatorType', 'indicators', 'isMultiSelect', 'isSelect', 'isTransposed', 'legendSettings', 'locale', 'margin', 'periods', 'primaryXAxis', 'primaryYAxis', 'rows', 'selectedDataIndexes', 'selectionMode', 'series', 'seriesType', 'stockEvents', 'theme', 'title', 'titleStyle', 'tooltip', 'trendlineType', 'width', 'zoomSettings'];
16
- export const outputs = ['axisLabelRender', 'beforeExport', 'legendClick', 'legendRender', 'load', 'loaded', 'onZooming', 'pointClick', 'pointMove', 'rangeChange', 'selectorRender', 'seriesRender', 'stockChartMouseClick', 'stockChartMouseDown', 'stockChartMouseLeave', 'stockChartMouseMove', 'stockChartMouseUp', 'stockEventRender', 'tooltipRender', 'dataSourceChange'];
17
- export const twoWays = ['dataSource'];
18
- /**
19
- * Stock Chart Component
20
- * ```html
21
- * <ejs-stockchart></ejs-stockchart>
22
- * ```
23
- */
24
- let StockChartComponent = class StockChartComponent extends StockChart {
25
- constructor(ngEle, srenderer, viewContainerRef, injector) {
26
- super();
27
- this.ngEle = ngEle;
28
- this.srenderer = srenderer;
29
- this.viewContainerRef = viewContainerRef;
30
- this.injector = injector;
31
- this.tags = ['series', 'axes', 'rows', 'annotations', 'selectedDataIndexes', 'periods', 'stockEvents', 'indicators'];
32
- this.element = this.ngEle.nativeElement;
33
- this.injectedModules = this.injectedModules || [];
34
- try {
35
- let mod = this.injector.get('ChartsLineSeries');
36
- if (this.injectedModules.indexOf(mod) === -1) {
37
- this.injectedModules.push(mod);
38
- }
39
- }
40
- catch { }
41
- try {
42
- let mod = this.injector.get('ChartsColumnSeries');
43
- if (this.injectedModules.indexOf(mod) === -1) {
44
- this.injectedModules.push(mod);
45
- }
46
- }
47
- catch { }
48
- try {
49
- let mod = this.injector.get('ChartsSplineSeries');
50
- if (this.injectedModules.indexOf(mod) === -1) {
51
- this.injectedModules.push(mod);
52
- }
53
- }
54
- catch { }
55
- try {
56
- let mod = this.injector.get('ChartsSplineAreaSeries');
57
- if (this.injectedModules.indexOf(mod) === -1) {
58
- this.injectedModules.push(mod);
59
- }
60
- }
61
- catch { }
62
- try {
63
- let mod = this.injector.get('ChartsStripLine');
64
- if (this.injectedModules.indexOf(mod) === -1) {
65
- this.injectedModules.push(mod);
66
- }
67
- }
68
- catch { }
69
- try {
70
- let mod = this.injector.get('ChartsAreaSeries');
71
- if (this.injectedModules.indexOf(mod) === -1) {
72
- this.injectedModules.push(mod);
73
- }
74
- }
75
- catch { }
76
- try {
77
- let mod = this.injector.get('ChartsRangeAreaSeries');
78
- if (this.injectedModules.indexOf(mod) === -1) {
79
- this.injectedModules.push(mod);
80
- }
81
- }
82
- catch { }
83
- try {
84
- let mod = this.injector.get('ChartsTooltip');
85
- if (this.injectedModules.indexOf(mod) === -1) {
86
- this.injectedModules.push(mod);
87
- }
88
- }
89
- catch { }
90
- try {
91
- let mod = this.injector.get('ChartsCrosshair');
92
- if (this.injectedModules.indexOf(mod) === -1) {
93
- this.injectedModules.push(mod);
94
- }
95
- }
96
- catch { }
97
- try {
98
- let mod = this.injector.get('ChartsDateTime');
99
- if (this.injectedModules.indexOf(mod) === -1) {
100
- this.injectedModules.push(mod);
101
- }
102
- }
103
- catch { }
104
- try {
105
- let mod = this.injector.get('ChartsZoom');
106
- if (this.injectedModules.indexOf(mod) === -1) {
107
- this.injectedModules.push(mod);
108
- }
109
- }
110
- catch { }
111
- try {
112
- let mod = this.injector.get('ChartsDataLabel');
113
- if (this.injectedModules.indexOf(mod) === -1) {
114
- this.injectedModules.push(mod);
115
- }
116
- }
117
- catch { }
118
- try {
119
- let mod = this.injector.get('ChartsSelection');
120
- if (this.injectedModules.indexOf(mod) === -1) {
121
- this.injectedModules.push(mod);
122
- }
123
- }
124
- catch { }
125
- try {
126
- let mod = this.injector.get('ChartsChartAnnotation');
127
- if (this.injectedModules.indexOf(mod) === -1) {
128
- this.injectedModules.push(mod);
129
- }
130
- }
131
- catch { }
132
- try {
133
- let mod = this.injector.get('ChartsHiloSeries');
134
- if (this.injectedModules.indexOf(mod) === -1) {
135
- this.injectedModules.push(mod);
136
- }
137
- }
138
- catch { }
139
- try {
140
- let mod = this.injector.get('ChartsHiloOpenCloseSeries');
141
- if (this.injectedModules.indexOf(mod) === -1) {
142
- this.injectedModules.push(mod);
143
- }
144
- }
145
- catch { }
146
- try {
147
- let mod = this.injector.get('ChartsCandleSeries');
148
- if (this.injectedModules.indexOf(mod) === -1) {
149
- this.injectedModules.push(mod);
150
- }
151
- }
152
- catch { }
153
- try {
154
- let mod = this.injector.get('ChartsSmaIndicator');
155
- if (this.injectedModules.indexOf(mod) === -1) {
156
- this.injectedModules.push(mod);
157
- }
158
- }
159
- catch { }
160
- try {
161
- let mod = this.injector.get('ChartsTmaIndicator');
162
- if (this.injectedModules.indexOf(mod) === -1) {
163
- this.injectedModules.push(mod);
164
- }
165
- }
166
- catch { }
167
- try {
168
- let mod = this.injector.get('ChartsEmaIndicator');
169
- if (this.injectedModules.indexOf(mod) === -1) {
170
- this.injectedModules.push(mod);
171
- }
172
- }
173
- catch { }
174
- try {
175
- let mod = this.injector.get('ChartsAccumulationDistributionIndicator');
176
- if (this.injectedModules.indexOf(mod) === -1) {
177
- this.injectedModules.push(mod);
178
- }
179
- }
180
- catch { }
181
- try {
182
- let mod = this.injector.get('ChartsMacdIndicator');
183
- if (this.injectedModules.indexOf(mod) === -1) {
184
- this.injectedModules.push(mod);
185
- }
186
- }
187
- catch { }
188
- try {
189
- let mod = this.injector.get('ChartsAtrIndicator');
190
- if (this.injectedModules.indexOf(mod) === -1) {
191
- this.injectedModules.push(mod);
192
- }
193
- }
194
- catch { }
195
- try {
196
- let mod = this.injector.get('ChartsRsiIndicator');
197
- if (this.injectedModules.indexOf(mod) === -1) {
198
- this.injectedModules.push(mod);
199
- }
200
- }
201
- catch { }
202
- try {
203
- let mod = this.injector.get('ChartsMomentumIndicator');
204
- if (this.injectedModules.indexOf(mod) === -1) {
205
- this.injectedModules.push(mod);
206
- }
207
- }
208
- catch { }
209
- try {
210
- let mod = this.injector.get('ChartsStochasticIndicator');
211
- if (this.injectedModules.indexOf(mod) === -1) {
212
- this.injectedModules.push(mod);
213
- }
214
- }
215
- catch { }
216
- try {
217
- let mod = this.injector.get('ChartsBollingerBands');
218
- if (this.injectedModules.indexOf(mod) === -1) {
219
- this.injectedModules.push(mod);
220
- }
221
- }
222
- catch { }
223
- try {
224
- let mod = this.injector.get('ChartsTrendlines');
225
- if (this.injectedModules.indexOf(mod) === -1) {
226
- this.injectedModules.push(mod);
227
- }
228
- }
229
- catch { }
230
- try {
231
- let mod = this.injector.get('ChartsRangeTooltip');
232
- if (this.injectedModules.indexOf(mod) === -1) {
233
- this.injectedModules.push(mod);
234
- }
235
- }
236
- catch { }
237
- try {
238
- let mod = this.injector.get('ChartsExport');
239
- if (this.injectedModules.indexOf(mod) === -1) {
240
- this.injectedModules.push(mod);
241
- }
242
- }
243
- catch { }
244
- try {
245
- let mod = this.injector.get('ChartsStockLegend');
246
- if (this.injectedModules.indexOf(mod) === -1) {
247
- this.injectedModules.push(mod);
248
- }
249
- }
250
- catch { }
251
- try {
252
- let mod = this.injector.get('ChartsDateTimeCategory');
253
- if (this.injectedModules.indexOf(mod) === -1) {
254
- this.injectedModules.push(mod);
255
- }
256
- }
257
- catch { }
258
- try {
259
- let mod = this.injector.get('ChartsLastValueLabel');
260
- if (this.injectedModules.indexOf(mod) === -1) {
261
- this.injectedModules.push(mod);
262
- }
263
- }
264
- catch { }
265
- this.registerEvents(outputs);
266
- this.addTwoWay.call(this, twoWays);
267
- setValue('currentInstance', this, this.viewContainerRef);
268
- this.context = new ComponentBase();
269
- }
270
- ngOnInit() {
271
- this.context.ngOnInit(this);
272
- }
273
- ngAfterViewInit() {
274
- this.context.ngAfterViewInit(this);
275
- }
276
- ngOnDestroy() {
277
- this.context.ngOnDestroy(this);
278
- }
279
- ngAfterContentChecked() {
280
- this.tagObjects[0].instance = this.childSeries;
281
- if (this.childAxes) {
282
- this.tagObjects[1].instance = this.childAxes;
283
- }
284
- if (this.childRows) {
285
- this.tagObjects[2].instance = this.childRows;
286
- }
287
- if (this.childAnnotations) {
288
- this.tagObjects[3].instance = this.childAnnotations;
289
- }
290
- if (this.childSelectedDataIndexes) {
291
- this.tagObjects[4].instance = this.childSelectedDataIndexes;
292
- }
293
- if (this.childPeriods) {
294
- this.tagObjects[5].instance = this.childPeriods;
295
- }
296
- if (this.childStockEvents) {
297
- this.tagObjects[6].instance = this.childStockEvents;
298
- }
299
- if (this.childIndicators) {
300
- this.tagObjects[7].instance = this.childIndicators;
301
- }
302
- this.context.ngAfterContentChecked(this);
303
- }
304
- };
305
- StockChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
306
- StockChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: StockChartComponent, selector: "ejs-stockchart", inputs: { annotations: "annotations", axes: "axes", background: "background", border: "border", chartArea: "chartArea", crosshair: "crosshair", dataSource: "dataSource", enableCustomRange: "enableCustomRange", enablePeriodSelector: "enablePeriodSelector", enablePersistence: "enablePersistence", enableRtl: "enableRtl", enableSelector: "enableSelector", exportType: "exportType", height: "height", indicatorType: "indicatorType", indicators: "indicators", isMultiSelect: "isMultiSelect", isSelect: "isSelect", isTransposed: "isTransposed", legendSettings: "legendSettings", locale: "locale", margin: "margin", periods: "periods", primaryXAxis: "primaryXAxis", primaryYAxis: "primaryYAxis", rows: "rows", selectedDataIndexes: "selectedDataIndexes", selectionMode: "selectionMode", series: "series", seriesType: "seriesType", stockEvents: "stockEvents", theme: "theme", title: "title", titleStyle: "titleStyle", tooltip: "tooltip", trendlineType: "trendlineType", width: "width", zoomSettings: "zoomSettings" }, outputs: { axisLabelRender: "axisLabelRender", beforeExport: "beforeExport", legendClick: "legendClick", legendRender: "legendRender", load: "load", loaded: "loaded", onZooming: "onZooming", pointClick: "pointClick", pointMove: "pointMove", rangeChange: "rangeChange", selectorRender: "selectorRender", seriesRender: "seriesRender", stockChartMouseClick: "stockChartMouseClick", stockChartMouseDown: "stockChartMouseDown", stockChartMouseLeave: "stockChartMouseLeave", stockChartMouseMove: "stockChartMouseMove", stockChartMouseUp: "stockChartMouseUp", stockEventRender: "stockEventRender", tooltipRender: "tooltipRender", dataSourceChange: "dataSourceChange" }, queries: [{ propertyName: "tooltip_template", first: true, predicate: ["tooltipTemplate"], descendants: true }, { propertyName: "childSeries", first: true, predicate: StockChartSeriesCollectionDirective, descendants: true }, { propertyName: "childAxes", first: true, predicate: StockChartAxesDirective, descendants: true }, { propertyName: "childRows", first: true, predicate: StockChartRowsDirective, descendants: true }, { propertyName: "childAnnotations", first: true, predicate: StockChartAnnotationsDirective, descendants: true }, { propertyName: "childSelectedDataIndexes", first: true, predicate: StockChartSelectedDataIndexesDirective, descendants: true }, { propertyName: "childPeriods", first: true, predicate: StockChartPeriodsDirective, descendants: true }, { propertyName: "childStockEvents", first: true, predicate: StockEventsDirective, descendants: true }, { propertyName: "childIndicators", first: true, predicate: StockChartIndicatorsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
307
- __decorate([
308
- Template()
309
- ], StockChartComponent.prototype, "tooltip_template", void 0);
310
- StockChartComponent = __decorate([
311
- ComponentMixins([ComponentBase])
312
- ], StockChartComponent);
313
- export { StockChartComponent };
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StockChartComponent, decorators: [{
315
- type: Component,
316
- args: [{
317
- selector: 'ejs-stockchart',
318
- inputs: inputs,
319
- outputs: outputs,
320
- template: '',
321
- changeDetection: ChangeDetectionStrategy.OnPush,
322
- queries: {
323
- childSeries: new ContentChild(StockChartSeriesCollectionDirective),
324
- childAxes: new ContentChild(StockChartAxesDirective),
325
- childRows: new ContentChild(StockChartRowsDirective),
326
- childAnnotations: new ContentChild(StockChartAnnotationsDirective),
327
- childSelectedDataIndexes: new ContentChild(StockChartSelectedDataIndexesDirective),
328
- childPeriods: new ContentChild(StockChartPeriodsDirective),
329
- childStockEvents: new ContentChild(StockEventsDirective),
330
- childIndicators: new ContentChild(StockChartIndicatorsDirective)
331
- }
332
- }]
333
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { tooltip_template: [{
334
- type: ContentChild,
335
- args: ['tooltipTemplate']
336
- }] } });
337
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2tjaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvY2stY2hhcnQvc3RvY2tjaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLHVCQUF1QixFQUFpRCxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUosT0FBTyxFQUFFLGFBQWEsRUFBK0IsZUFBZSxFQUEwQixRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3SSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV2RSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxhQUFhLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLFdBQVcsRUFBQyxZQUFZLEVBQUMsbUJBQW1CLEVBQUMsc0JBQXNCLEVBQUMsbUJBQW1CLEVBQUMsV0FBVyxFQUFDLGdCQUFnQixFQUFDLFlBQVksRUFB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RkFDaEIsOEJBQThCLDJGQUN0QixzQ0FBc0MsK0VBQ2xELDBCQUEwQixtRkFDdEIsb0JBQW9CLGtGQUNyQiw2QkFBNkIsdUVBVnpELEVBQUU7QUFnRFo7SUFEQyxRQUFRLEVBQUU7NkRBQ2tCO0FBbENwQixtQkFBbUI7SUFEL0IsZUFBZSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7R0FDcEIsbUJBQW1CLENBNlQvQjtTQTdUWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFsQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsTUFBTSxFQUFFLE1BQU07b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUU7d0JBQ0wsV0FBVyxFQUFFLElBQUksWUFBWSxDQUFDLG1DQUFtQyxDQUFDO3dCQUNsRSxTQUFTLEVBQUUsSUFBSSxZQUFZLENBQUMsdUJBQXVCLENBQUM7d0JBQ3BELFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDcEQsZ0JBQWdCLEVBQUUsSUFBSSxZQUFZLENBQUMsOEJBQThCLENBQUM7d0JBQ2xFLHdCQUF3QixFQUFFLElBQUksWUFBWSxDQUFDLHNDQUFzQyxDQUFDO3dCQUNsRixZQUFZLEVBQUUsSUFBSSxZQUFZLENBQUMsMEJBQTBCLENBQUM7d0JBQzFELGdCQUFnQixFQUFFLElBQUksWUFBWSxDQUFDLG9CQUFvQixDQUFDO3dCQUN4RCxlQUFlLEVBQUUsSUFBSSxZQUFZLENBQUMsNkJBQTZCLENBQUM7cUJBQ25FO2lCQUNKOytLQW9DVSxnQkFBZ0I7c0JBRnRCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIEluamVjdG9yLCBWYWx1ZVByb3ZpZGVyLCBDb250ZW50Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudEJhc2UsIElDb21wb25lbnRCYXNlLCBhcHBseU1peGlucywgQ29tcG9uZW50TWl4aW5zLCBQcm9wZXJ0eUNvbGxlY3Rpb25JbmZvLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuaW1wb3J0IHsgU3RvY2tDaGFydCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZXJpZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRBeGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9heGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0NoYXJ0Um93c0RpcmVjdGl2ZSB9IGZyb20gJy4vcm93cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydEFubm90YXRpb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RvY2tDaGFydFNlbGVjdGVkRGF0YUluZGV4ZXNEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdGVkZGF0YWluZGV4ZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRQZXJpb2RzRGlyZWN0aXZlIH0gZnJvbSAnLi9wZXJpb2RzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdG9ja0V2ZW50c0RpcmVjdGl2ZSB9IGZyb20gJy4vc3RvY2tldmVudHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN0b2NrQ2hhcnRJbmRpY2F0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9pbmRpY2F0b3JzLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBpbnB1dHM6IHN0cmluZ1tdID0gWydhbm5vdGF0aW9ucycsJ2F4ZXMnLCdiYWNrZ3JvdW5kJywnYm9yZGVyJywnY2hhcnRBcmVhJywnY3Jvc3NoYWlyJywnZGF0YVNvdXJjZScsJ2VuYWJsZUN1c3RvbVJhbmdlJywnZW5hYmxlUGVyaW9kU2VsZWN0b3InLCdlbmFibGVQZXJzaXN0ZW5jZScsJ2VuYWJsZVJ0bCcsJ2VuYWJsZVNlbGVjdG9yJywnZXhwb3J0VHlwZScsJ2hlaWdodCcsJ2luZGljYXRvclR5cGUnLCdpbmRpY2F0b3JzJywnaXNNdWx0aVNlbGVjdCcsJ2lzU2VsZWN0JywnaXNUcmFuc3Bvc2VkJywnbGVnZW5kU2V0dGluZ3MnLCdsb2NhbGUnLCdtYXJnaW4nLCdwZXJpb2RzJywncHJpbWFyeVhBeGlzJywncHJpbWFyeVlBeGlzJywncm93cycsJ3NlbGVjdGVkRGF0YUluZGV4ZXMnLCdzZWxlY3Rpb25Nb2RlJywnc2VyaWVzJywnc2VyaWVzVHlwZScsJ3N0b2NrRXZlbnRzJywndGhlbWUnLCd0aXRsZScsJ3RpdGxlU3R5bGUnLCd0b29sdGlwJywndHJlbmRsaW5lVHlwZScsJ3dpZHRoJywnem9vbVNldHRpbmdzJ107XG5leHBvcnQgY29uc3Qgb3V0cHV0czogc3RyaW5nW10gPSBbJ2F4aXNMYWJlbFJlbmRlcicsJ2JlZm9yZUV4cG9ydCcsJ2xlZ2VuZENsaWNrJywnbGVnZW5kUmVuZGVyJywnbG9hZCcsJ2xvYWRlZCcsJ29uWm9vbWluZycsJ3BvaW50Q2xpY2snLCdwb2ludE1vdmUnLCdyYW5nZUNoYW5nZScsJ3NlbGVjdG9yUmVuZGVyJywnc2VyaWVzUmVuZGVyJywnc3RvY2tDaGFydE1vdXNlQ2xpY2snLCdzdG9ja0NoYXJ0TW91c2VEb3duJywnc3RvY2tDaGFydE1vdXNlTGVhdmUnLCdzdG9ja0NoYXJ0TW91c2VNb3ZlJywnc3RvY2tDaGFydE1vdXNlVXAnLCdzdG9ja0V2ZW50UmVuZGVyJywndG9vbHRpcFJlbmRlcicsJ2RhdGFTb3VyY2VDaGFuZ2UnXTtcbmV4cG9ydCBjb25zdCB0d29XYXlzOiBzdHJpbmdbXSA9IFsnZGF0YVNvdXJjZSddO1xuXG4vKipcbiAqIFN0b2NrIENoYXJ0IENvbXBvbmVudFxuICogYGBgaHRtbFxuICogPGVqcy1zdG9ja2NoYXJ0PjwvZWpzLXN0b2NrY2hhcnQ+XG4gKiBgYGBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlanMtc3RvY2tjaGFydCcsXG4gICAgaW5wdXRzOiBpbnB1dHMsXG4gICAgb3V0cHV0czogb3V0cHV0cyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcXVlcmllczoge1xuICAgICAgICBjaGlsZFNlcmllczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0U2VyaWVzQ29sbGVjdGlvbkRpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEF4ZXM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEF4ZXNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRSb3dzOiBuZXcgQ29udGVudENoaWxkKFN0b2NrQ2hhcnRSb3dzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQW5ub3RhdGlvbnM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEFubm90YXRpb25zRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlczogbmV3IENvbnRlbnRDaGlsZChTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhlc0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZFBlcmlvZHM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydFBlcmlvZHNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRTdG9ja0V2ZW50czogbmV3IENvbnRlbnRDaGlsZChTdG9ja0V2ZW50c0RpcmVjdGl2ZSksIFxuICAgICAgICBjaGlsZEluZGljYXRvcnM6IG5ldyBDb250ZW50Q2hpbGQoU3RvY2tDaGFydEluZGljYXRvcnNEaXJlY3RpdmUpXG4gICAgfVxufSlcbkBDb21wb25lbnRNaXhpbnMoW0NvbXBvbmVudEJhc2VdKVxuZXhwb3J0IGNsYXNzIFN0b2NrQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBTdG9ja0NoYXJ0IGltcGxlbWVudHMgSUNvbXBvbmVudEJhc2Uge1xuICAgIHB1YmxpYyBjb250ZXh0IDogYW55O1xuICAgIHB1YmxpYyB0YWdPYmplY3RzOiBhbnk7XG5cdGF4aXNMYWJlbFJlbmRlcjogYW55O1xuXHRiZWZvcmVFeHBvcnQ6IGFueTtcblx0bGVnZW5kQ2xpY2s6IGFueTtcblx0bGVnZW5kUmVuZGVyOiBhbnk7XG5cdGxvYWQ6IGFueTtcblx0bG9hZGVkOiBhbnk7XG5cdG9uWm9vbWluZzogYW55O1xuXHRwb2ludENsaWNrOiBhbnk7XG5cdHBvaW50TW92ZTogYW55O1xuXHRyYW5nZUNoYW5nZTogYW55O1xuXHRzZWxlY3RvclJlbmRlcjogYW55O1xuXHRzZXJpZXNSZW5kZXI6IGFueTtcblx0c3RvY2tDaGFydE1vdXNlQ2xpY2s6IGFueTtcblx0c3RvY2tDaGFydE1vdXNlRG93bjogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VMZWF2ZTogYW55O1xuXHRzdG9ja0NoYXJ0TW91c2VNb3ZlOiBhbnk7XG5cdHN0b2NrQ2hhcnRNb3VzZVVwOiBhbnk7XG5cdHN0b2NrRXZlbnRSZW5kZXI6IGFueTtcblx0dG9vbHRpcFJlbmRlcjogYW55O1xuXHRwdWJsaWMgZGF0YVNvdXJjZUNoYW5nZTogYW55O1xuICAgIHB1YmxpYyBjaGlsZFNlcmllczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRTZXJpZXNDb2xsZWN0aW9uRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRBeGVzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydEF4ZXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFJvd3M6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0Um93c0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkQW5ub3RhdGlvbnM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0QW5ub3RhdGlvbnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZFNlbGVjdGVkRGF0YUluZGV4ZXM6IFF1ZXJ5TGlzdDxTdG9ja0NoYXJ0U2VsZWN0ZWREYXRhSW5kZXhlc0RpcmVjdGl2ZT47XG4gICAgcHVibGljIGNoaWxkUGVyaW9kczogUXVlcnlMaXN0PFN0b2NrQ2hhcnRQZXJpb2RzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRTdG9ja0V2ZW50czogUXVlcnlMaXN0PFN0b2NrRXZlbnRzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRJbmRpY2F0b3JzOiBRdWVyeUxpc3Q8U3RvY2tDaGFydEluZGljYXRvcnNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsnc2VyaWVzJywgJ2F4ZXMnLCAncm93cycsICdhbm5vdGF0aW9ucycsICdzZWxlY3RlZERhdGFJbmRleGVzJywgJ3BlcmlvZHMnLCAnc3RvY2tFdmVudHMnLCAnaW5kaWNhdG9ycyddO1xuICAgIEBDb250ZW50Q2hpbGQoJ3Rvb2x0aXBUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdG9vbHRpcF90ZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0VsZTogRWxlbWVudFJlZiwgcHJpdmF0ZSBzcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0xpbmVTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NvbHVtblNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3BsaW5lU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTcGxpbmVBcmVhU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdHJpcExpbmUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0FyZWFTZXJpZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlQXJlYVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ3Jvc3NoYWlyJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNEYXRlVGltZScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzWm9vbScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRGF0YUxhYmVsJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0NoYXJ0QW5ub3RhdGlvbicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlsb1NlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzSGlsb09wZW5DbG9zZVNlcmllcycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQ2FuZGxlU2VyaWVzJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTbWFJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1RtYUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRW1hSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNBY2N1bXVsYXRpb25EaXN0cmlidXRpb25JbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c01hY2RJbmRpY2F0b3InKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c0F0ckluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzUnNpSW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNNb21lbnR1bUluZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzU3RvY2hhc3RpY0luZGljYXRvcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzQm9sbGluZ2VyQmFuZHMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1RyZW5kbGluZXMnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ0NoYXJ0c1JhbmdlVG9vbHRpcCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdDaGFydHNTdG9ja0xlZ2VuZCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzRGF0ZVRpbWVDYXRlZ29yeScpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnQ2hhcnRzTGFzdFZhbHVlTGFiZWwnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cclxuICAgICAgICB0aGlzLnJlZ2lzdGVyRXZlbnRzKG91dHB1dHMpO1xuICAgICAgICB0aGlzLmFkZFR3b1dheS5jYWxsKHRoaXMsIHR3b1dheXMpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5jb250ZXh0ICA9IG5ldyBDb21wb25lbnRCYXNlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdPbkluaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nQWZ0ZXJWaWV3SW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uRGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ09iamVjdHNbMF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VyaWVzO1xuICAgICAgICBpZiAodGhpcy5jaGlsZEF4ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzFdLmluc3RhbmNlID0gdGhpcy5jaGlsZEF4ZXMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRSb3dzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1syXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRSb3dzIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkQW5ub3RhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZEFubm90YXRpb25zIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNF0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU2VsZWN0ZWREYXRhSW5kZXhlcyBhcyBhbnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jaGlsZFBlcmlvZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzVdLmluc3RhbmNlID0gdGhpcy5jaGlsZFBlcmlvZHMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRTdG9ja0V2ZW50cykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhZ09iamVjdHNbNl0uaW5zdGFuY2UgPSB0aGlzLmNoaWxkU3RvY2tFdmVudHMgYXMgYW55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY2hpbGRJbmRpY2F0b3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFnT2JqZWN0c1s3XS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRJbmRpY2F0b3JzIGFzIGFueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ0FmdGVyQ29udGVudENoZWNrZWQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyRXZlbnRzOiAoZXZlbnRMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgICBwdWJsaWMgYWRkVHdvV2F5OiAocHJvcExpc3Q6IHN0cmluZ1tdKSA9PiB2b2lkO1xufVxuXG4iXX0=