@esfaenza/es-charts 15.2.0 → 15.2.2
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.
- package/esm2020/lib/components/base/base-chart.component.mjs +4 -3
- package/esm2020/lib/components/specializations/es-area-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-line-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-pie-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-vertical-2d-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-vertical-chart.component.mjs +10 -12
- package/esm2020/lib/components/specializations/es-vertical-stacked-chart.component.mjs +10 -12
- package/esm2020/lib/es-charts.module.mjs +6 -12
- package/esm2020/lib/models/EsChaartsModuleConfig.mjs +1 -1
- package/esm2020/lib/models/core/ChartDispatcher.mjs +4 -3
- package/esm2020/lib/models/core/ChartLoader.mjs +13 -1
- package/esm2020/lib/tokens.mjs +1 -5
- package/fesm2015/esfaenza-es-charts.mjs +73 -88
- package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
- package/fesm2020/esfaenza-es-charts.mjs +71 -88
- package/fesm2020/esfaenza-es-charts.mjs.map +1 -1
- package/lib/components/base/base-chart.component.d.ts +2 -2
- package/lib/components/specializations/es-area-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-line-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-pie-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-vertical-chart.component.d.ts +2 -1
- package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +2 -1
- package/lib/models/EsChaartsModuleConfig.d.ts +3 -7
- package/lib/models/core/ChartLoader.d.ts +3 -0
- package/lib/tokens.d.ts +0 -4
- package/package.json +3 -2
|
@@ -19,7 +19,7 @@ export class BaseChartComponent {
|
|
|
19
19
|
* @param {ChartDispatcher} Dispatcher Istanza del Dispatcher che si occupa di differire il caricamento dei grafici 1 dopo l'altro in modo che caricamenti pseudo paralleli incasinino tutto
|
|
20
20
|
* @param {boolean} logs Indica se effettuare log a console o meno, iniettato dalle classi specializzate dal token ESC_LOGS
|
|
21
21
|
* @param {boolean} animations Indica se per questo grafico devono essere attive o meno le animazioni. Impostazione generica presa dal token ESC_ANIMATIONS
|
|
22
|
-
* @param {string} locale Indica il locale specifico per questo grafico. Impostazione generica presa dal
|
|
22
|
+
* @param {string} locale Indica il locale specifico per questo grafico. Impostazione generica presa dal LocalizationService
|
|
23
23
|
* @param {string} theme Indica il tema specifico per questo grafico. Impostazione generica presa dal token ESC_THEME
|
|
24
24
|
*/
|
|
25
25
|
constructor(el, platformId, zone, Charter, Dispatcher, logs, animations, locale, theme) {
|
|
@@ -76,7 +76,7 @@ export class BaseChartComponent {
|
|
|
76
76
|
* Metodo di inizializzazione post valorizzazione degli input, utilizzato per valorizzare correttamente le proprietà essenziali del grafico (Animazioni, Tema e Locale)
|
|
77
77
|
*
|
|
78
78
|
* Viene data priorità ai Settings (HTML), priorità secondaria agli Input diretti (Lato HTML), priorità ultima alle impostazioni globali,
|
|
79
|
-
* impostate in fase di import del modulo assegnando valori ai token
|
|
79
|
+
* impostate in fase di import del modulo assegnando valori ai token ESC_ANIMATIONS, ESC_THEME
|
|
80
80
|
*/
|
|
81
81
|
ngOnInit() {
|
|
82
82
|
// Qui servono solo le variabili da conoscere PRE-graficazione per il caricamento dei moduli lazy del grafico
|
|
@@ -150,6 +150,7 @@ export class BaseChartComponent {
|
|
|
150
150
|
this.Chart = this.ChartService.ChartInstance;
|
|
151
151
|
if (!this.Chart)
|
|
152
152
|
this.log("Chart " + this.name + ": Could not create graph");
|
|
153
|
+
// Unico punto reale in cui viene utilizzato il locale, tehe
|
|
153
154
|
return this.Charter.applyLocale(this.Chart, this.Locale).then(() => { this.initDone = true; this.chartLoaded.emit(this); });
|
|
154
155
|
})
|
|
155
156
|
]);
|
|
@@ -346,4 +347,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
346
347
|
}], chartLoaded: [{
|
|
347
348
|
type: Output
|
|
348
349
|
}] } });
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBc0UsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQVksU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBYy9LLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHcEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixrQkFBa0I7SUErTHRDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFlBQW9CLEVBQWMsRUFBVSxVQUFrQixFQUFVLElBQVksRUFBVSxPQUFvQixFQUFVLFVBQTJCLEVBQVUsSUFBYSxFQUNwSyxVQUFtQixFQUFVLE1BQWMsRUFBVSxLQUFhO1FBRHhELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVM7UUFDcEssZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBN0s1RTs7V0FFRztRQUNNLFNBQUksR0FBVyxFQUFFLENBQUM7UUEwRDNCOzs7O1dBSUc7UUFDTSxrQkFBYSxHQUFXLEdBQUcsQ0FBQztRQVlyQzs7V0FFRztRQUNPLHVCQUFrQixHQUE2RCxJQUFJLFlBQVksRUFBOEMsQ0FBQztRQUV4Sjs7V0FFRztRQUNPLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFN0U7O1dBRUc7UUFDTyxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXJFOztXQUVHO1FBQ08sY0FBUyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRW5FOzs7VUFHRTtRQUNRLGdCQUFXLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO1FBRWpHOztXQUVHO1FBQ0ksWUFBTyxHQUFZLEtBQUssQ0FBQztRQUVoQzs7V0FFRztRQUNLLGFBQVEsR0FBWSxLQUFLLENBQUM7SUE2RDhDLENBQUM7SUFFakY7Ozs7O09BS0c7SUFDSCxRQUFRO1FBQ04sNkdBQTZHO1FBRTdHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQy9JLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXZILElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakosSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFDaEIsT0FBTztRQUVULElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLENBQUM7UUFFakQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLENBQUM7UUFDL0gsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQ1osTUFBTSw4Q0FBOEMsQ0FBQztRQUV2RCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLHVEQUF1RCxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsNkJBQTZCLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5Rjs7WUFFQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLHFFQUFxRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ssU0FBUztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsbUNBQW1DLENBQUMsQ0FBQztRQUNyRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUVyRSxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7Z0JBRTdDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLDBCQUEwQixDQUFDLENBQUM7Z0JBRTdFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3SCxDQUFDLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxZQUFZLENBQUMsUUFBc0I7UUFFekMsK0RBQStEO1FBRS9ELFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM5RCxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbEUsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUUxRixRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFFLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUMxRCxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xGLFFBQVEsQ0FBQyw0QkFBNEIsR0FBRyxRQUFRLENBQUMsNEJBQTRCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztRQUNsSyxRQUFRLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUUsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlFLFFBQVEsQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNsRyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FB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QUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUtoQyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBS0csZUFBZTtzQkFBeEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU07Z0JBTUcsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbnRlbnRDaGlsZCwgT3B0aW9uYWwsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZS9JQmFzZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBMZWdlbmRQYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvYmFzZS9MZWdlbmRQYWQnO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydExvYWRlclwiO1xyXG5pbXBvcnQgeyBDaGFydERpc3BhdGNoZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnREaXNwYXRjaGVyXCI7XHJcblxyXG5pbXBvcnQgeyBMaW5lQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL0xpbmVDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGllQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1BpZUNoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS9WZXJ0aWNhbENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsMkRDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvUGFnZWRDaGFydERhdGFcIjtcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBHcmFmaWNvIEJhc2UgY2hlIGdlc3Rpc2NlIHR1dHRlIGxlIGNvc2UgY29tdW5pIGRlaSB2YXJpIGdyYWZpY2kgaXN0YW56aWFiaWxpLCBjb21lIGxhIHByZXNlbnphIG8gbWVudSBkaSB1bmEgbGVnZW5kYSxcclxuICogaWwgdGVtYSB1dGlsaXp6YXRvLCBpbCBsb2NhbGUgZGVsIHNpbmdvbG8gZ3JhZmljbywgZWNjIGVjYy4uLlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGl0b2xvIHBlciBsJ2Fzc2UgWFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIFhUaXRsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBUaXRvbG8gcGVyIGwnYXNzZSBZXHJcbiAgICovXHJcbiAgQElucHV0KCkgWVRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcG9zdGF6aW9uaSBkaSBiYXNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgU2V0dGluZ3M6IEJhc2VTZXR0aW5ncztcclxuXHJcbiAgLyoqXHJcbiAgICogUHJlc2VuemEgbyBtZW5vIGRlbGxhIGxlZ2VuZGFcclxuICAgKi9cclxuICBASW5wdXQoKSBMZWdlbmQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc2l6aW9uZSBkZWxsYSBsZWdlbmRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgTGVnZW5kUG9zaXRpb246IFwidG9wXCIgfCBcImJvdHRvbVwiIHwgXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZXNlbnphIG8gbWVubyBkZWxsYSB0aW1lbGluZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIFRpbWVsaW5lOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBOb21lIGRlbCBncmFmaWNvLCBmb25kYW1lbnRhbGUgYXNzZWduYXJsbyBwZXIgcGVybWV0dGVyZSBhbGxhIGxpYnJlcmlhIGRpIHNjaGVkdWxhcm5lIGxhIGNyZWF6aW9uZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFV0aWxpenpvIG8gbWVubyBkZWxsZSBhbmltYXppb25pLiBTZW56YSBhbmltYXppb25pIGlsIGdyYWZpY28gw6ggbGVnZ2VybWVudGUgcGnDuSBwZXJmb3JtYW50ZSwgc3BlY2lhbG1lbnRlIGFsbCdhdW1lbnRhcmUgZGVpIHB1bnRpIG5lbGxhIHNlcmllXHJcbiAgICovXHJcbiAgQElucHV0KCkgQW5pbWF0aW9uczogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGVtYSBkYSB1dGlsaXp6YXJlLCB2YWxpZG8gc29sbyBwZXIgaWwgZ3JhZmljbyBpbiBxdWVzdGlvbmUuIEdsaSBhbHRyaSBncmFmaWNpIGRlbGxhIHBhZ2luYSBwb3Nzb25vIGF2ZXJlIHN0aWxpIGRpdmVyc2kuXHJcbiAgICogXHJcbiAgICogRXNzZW5kbyBpIHRlbWkgY2FyaWNhdGkgaW4gbWFuaWVyYSBhc2luY3JvbmEgaW4gYmFzZSBhbGwndXRpbGl6em8gdXRpbGl6emFybmUgdGFudGkgZGl2ZXJzaSBpbiB1bid1bmljYSBwYWdpbmEgcG90cmViYmUgcmFsbGVudGFyZSBpbCBwcmltbyBjYXJpY2FtZW50b1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIFRoZW1lOiAnc3Bpcml0ZWRhd2F5JyB8ICdtb29ucmlzZWtpbmdkb20nIHwgJ2Zyb3plbicgfCAnZGFyaycgfCAna2VsbHknIHwgJ21hdGVyaWFsJyB8ICdkYXRhdml6JyB8ICdub25lJztcclxuXHJcbiAgLyoqXHJcbiAgICogTG9jYWxlIGRlbCBzaW5nb2xvIGdyYWZpY29cclxuICAgKi9cclxuICBASW5wdXQoKSBMb2NhbGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIHNlIHV0aWxpenphcmUgaWwgY29tcG9ydGFtZW50byBkaSBkZWZhdWx0IHBlciBpIGNsaWNrIGRlbGxlIHNlcmllIHN1bGxhIExlZ2VuZGEuIE1ldHRlbmRvIHF1ZXN0YSB2YXJpYWJpbGUgYSAqKmZhbHNlKipcclxuICAgKiBlIGNvbGxlZ2FuZG8gbCdvdXRwdXQgKipvblNlcmllc0NsaWNrZWQqKiDDqCBwb3NzaWJpbGUgZ2VuZXJhcmUgdW4gZXZlbnRvIG9nbmkgdm9sdGEgY2hlIGwndXRlbnRlIGZhIGNsaWNrIHN1IHVuYSBzZXJpZSBkZWxsYSBMZWdlbmRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgSGlkZVNlcmllc09uTGFiZWxDbGljazogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWluaW1hIGRpc3RhbnphIG5lbGxhIGdyaWdsaWEgZnJhIGkgdmFsb3JpLCBtb2RpZmljYSBsYSBxdWFudGl0w6AgZGkgc3RlcCBmcmEgaSB2YWxvcmkgZGVsbCdhc3NlIFggZSBxdWluZGkgbGEgZ3JhbnVsYXJpdMOgIGRlaSBkYXRpLlxyXG4gICAqIFxyXG4gICAqIFBpw7kgcGljY29sYSDDqCwgcGnDuSB2YWxvcmkgdmVycmFubm8gaW5zZXJpdGkgbmVsbCdhc3NlIFhcclxuICAgKi9cclxuICBASW5wdXQoKSBNaW5HcmlkRGlzdGFuY2U6IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQ2VyY2EgZGkgYWdnaXVzdGFyZSBpIHZhcmkgc3RlcCBkZWxsJ2Fzc2UgWCBydW90YW5kb2xpIGUgZGltaW51ZW5kb25lIGxlIGRpbWVuc2lvbmkgYWJiYXN0YW56YSBwZXIgbW9zdHJhcm5lIGlsIHBpw7kgcG9zc2liaWxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbjogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUGFkZGluZyBkYSBhcHBsaWNhcmUgYWxsYSBMZWdlbmRhIGluIGNhc28gc2kgdm9nbGlhIHNwb3N0YXJlIHVuIHBvJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExlZ2VuZFBhZGRpbmc6IExlZ2VuZFBhZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGEgZGkgZHRvIGdlbmVyaWNpIGNoZSB2ZXJyYW5ubyBlbWVzc2kgZGFsIHNpc3RlbWEgZGkgZ3JhZmljaSB1bm8gcGVyIHVubyBhdHRyYXZlcnNvIGxhIGZ1bnppb25lICoqRGF0YVJldHJpZXZlKiosIGNoZSBkb3ZyYW5ubyBlc3NlcmVcclxuICAgKiB1c2F0aSBwZXIgdWFuIHNvcnRhIGRpIGNhcmljYW1lbnRvIFwicGFnaW5hdG9cIiBkZWkgZ3JhZmljaVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFEdG9zOiBhbnlbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNlIGRlbGwnYXJyYXkgKipEYXRhRHRvcyoqIG8gZGVsbCdhcnJheSAqKkRhdGFBcnJheSoqIGRhIGN1aSBpbml6aWFyZSBhZCBlbWV0dGVyZSBpIHZhbG9yaSwgdXRpbGUgcGVyIHN1cHBvcnRhcmUgaWwgXCJiYWNrXCIgZGEgdW4gZXZlbnR1YWxlIHBhZ2luYSBkaSBkZXR0YWdsaW9cclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhRHRvU3RhcnRJbmRleDogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBGdW56aW9uZSBkZWZpbml0YSBsYXRvIGFwcGxpY2F0aXZvIGNoZSBpbiBiYXNlIGFsICoqRGF0YUR0byoqIGNvcnJlbnRlIHJlc3RpdHVpc2NlIHVuYSBQcm9taXNlIGRlbCB0aXBvIGRpIGRhdGkgcmljaGllc3RvIHBlciBpbCBncmFmaWNvIGNvcnJlbnRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YVJldHJpZXZlOiAoZHRvOiBhbnksIGluZGV4OiBudW1iZXIpID0+IFByb21pc2U8YW55PjtcclxuXHJcbiAgLyoqXHJcbiAgICogRG9wbyBhdmVyIG5hdmlnYXRvIGEgdW4gbnVvdm8gZ3JhZmljbyB2ZXJyYW5ubyBhdHRlc2kgcXVlc3RpIG1pbGxpc2Vjb25kaSBwcmltYSBkaSByaWNoaWVkZXJlIGkgZGF0aSBhdHRyYXZlcnNvIGxhICoqRGF0YVJldHJpZXZlKiouXHJcbiAgICogXHJcbiAgICogUXVlc3RvIHBlciBldml0YXJlIGNoZSBsJ3V0ZW50ZSBjbGljY2FuZG8gdmVsb2NlbWVudGUgXCJhdmFudGlcIiBnZW5lcmkgdG9ubmVsbGF0ZSBkaSByaWNoaWVzdGUgaW51dGlsaVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEJyb3dzZURlbGF5TXM6IG51bWJlciA9IDUwMDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXN0YXppb25lIGRlaSBncmFmaWNpIG5lbCBjYXNvIHNpIHV0aWxpenppIGxhIG1vZGFsaXTDoCBwYWdpbmF0YVxyXG4gICAqL1xyXG4gIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgc3RhdGljOiBmYWxzZSB9KSBoZWFkZXJfdHI7XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lc3NhZ2dpbyBkaSBjYXJpY2FtZW50byBmcmEgdW4gZ3JhZmljbyBlIGwnYWx0cm8gXHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZCgnbG9hZGluZycsIHsgc3RhdGljOiBmYWxzZSB9KSBsb2FkaW5nX3RlbXBsYXRlO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudG8gbGFuY2lhdG8gc3VsbGEgc2VsZXppb25lIGRpIHVuIHJhbmdlIGRpIGRhdGkgbyBkYWxsYSB0aW1lbGluZSBvIGRhbCBncmFmaWNvLiBWYWxpZG8gcGVyIHR1dHRpIGkgZ3JhZmljaSBjaGUgc3VwcG9ydGFubyBzZXJpZSBiYXNhdGUgc3VsbGUgZGF0ZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx7IGZyb206IERhdGUsIHRvOiBEYXRlLCBpbml0aWFsOiBib29sZWFuIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IGZyb206IERhdGUsIHRvOiBEYXRlLCBpbml0aWFsOiBib29sZWFuIH0+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50byBsYW5jaWF0byBkYWwgY2xpY2sgZGkgdW5hIHNlcmllIGRhbGxhIExlZ2VuZGEsIGEgcGF0dG8gY2hlIGwnSW5wdXQgKipIaWRlU2VyaWVzT25MYWJlbENsaWNrKiogc2lhIGltcG9zdGF0byBhIGZhbHNlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2VyaWVzQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnRvIGxhbmNpYXRvIGFsbCdpbml6aW8gZGVsIGNhcmljYW1lbnRvIGRpIHVuYSBudW92YSBwYWdpbmEgZGVsIGdyYWZpY29cclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25Mb2FkU3RhcnQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnRvIGxhbmNpYXRvIGFsIHRlcm1pbmUgZGVsIGNhcmljYW1lbnRvIGRpIHVuYSBudW92YSBwYWdpbmEgZGVsIGdyYWZpY29cclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25Mb2FkRW5kOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICogRXZlbnRvIGxhbmNpYXRvIGFsIHRlcm1pbmUgZGVsbGEgY3JlYXppb25lIGRlbCBncmFmaWNvIHJlZmVyZW56aWFuZG8gbCdpc3RhbnphIG5hdGl2YSBkZWwgZ3JhZmljbyBjcmVhdG8gaW4gbW9kbyBkYSBwb3RlciBlZmZldHR1YXJlIG1vZGlmaWNoZVxyXG4gICogcG9zdCBpbml6aWFsaXp6YXppb25lIGxhdG8gYXBwbGljYXRpdm9cclxuICAqL1xyXG4gIEBPdXRwdXQoKSBjaGFydExvYWRlZDogRXZlbnRFbWl0dGVyPEJhc2VDaGFydENvbXBvbmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJhc2VDaGFydENvbXBvbmVudD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VydmUgYSBkZWNpZGVyZSBzZSBzYXLDoCBwcmVzZW50ZSBsJ2ludGVyZmFjY2lhIGRpIHBhZ2luYXppb25lXHJcbiAgICovXHJcbiAgcHVibGljIGlzUGFnZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaW5pdERvbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogSXN0YW56YSBuYXRpdmEgZGVsIGdyYWZpY28gYW1jaGFydHMuIFF1YWxzaWFzaSBjb3NhIG5vbiBmYSBxdWVzdGEgbGlicmVyaWEgc2kgcHXDsiBwcmVuZGVyZSBxdWVzdGEgaXN0YW56YSBlIG1vZGlmaWNhcmUgYSBwaWFjaW1lbnRvXHJcbiAgICovXHJcbiAgcHVibGljIENoYXJ0OiBhbTRjaGFydHMuQ2hhcnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpemlvIGRpIGdyYWZpY2F6aW9uZSBkZWwgZ3JhZmljb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBDaGFydFNlcnZpY2U6IElCYXNlU2VydmljZTxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBWYXJpYWJpbGUgY2hlIGluZGljYSBzZSB1bmEgbnVvdmEgcGFnaW5hIGRlbCBncmFmaWNvIMOoIGluIGZhc2UgZGkgY2FyaWNhbWVudG9cclxuICAgKi9cclxuICBwdWJsaWMgbG9hZGluZ0NoYXJ0OiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBEYXRpIGRlbCBncmFmaWNvLiBPZ25pIGltcGxlbWVudGF6aW9uZSBnZXN0aXLDoCBxdWVzdGEgdmFyaWFiaWxlIGluIGJhc2UgYWwgcHJvcHJpbyB0aXBvIGRpIERhdGlcclxuICAgKi9cclxuICBhYnN0cmFjdCBEYXRhOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGkgZGVsIGdyYWZpY28gaW4gbW9kYWxpdMOgIHBhZ2luYXRhLCBwZXIgcXVhbmRvIHR1dHRlIGxlIHBhZ2luZSBzb25vIHByZWNhcmljYXRlIGluIG1lbW9yaWEgKGluIGNhc28gY29udHJhcmlvIHZlcnJlYmJlcsOyIHV0aWxpenphdGkgaSAqKkRhdGFEdG9zKiopXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgRGF0YUFycmF5OiBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBsZSBwcm9wcmlldMOgIHNwZWNpZmljYSBwZXIgdW5hIGRhdGEgaW1wbGVtZW50YXppb25lIGNoZSBkZXZvbm8gY2F1c2FyZSB1biByZXBhaW50IGRlbCBncmFmaWNvXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGdlbmVyaWNvIGRpIGdyYWZpY2F6aW9uZSwgcmVpbXBsZW1lbnRhdG8gZGFsbGUgdmFyaWUgaW1wbGVtZW50YXppb25pXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgZ3JhcGhpY2F0ZShjYXN0ZWRTZXR0aW5ncyk6IElCYXNlU2VydmljZTxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gZ2VuZXJpY28gY2hlIHByZW5kZSBsZSBpbXBvc3RhemlvbmkgZ2VuZXJpY2hlIGRlbCBncmFmaWNvIGUgbGUgY2FzdGEgYWxsYSB0aXBvbG9naWEgZ2l1c3RhIHBlciBpbCBncmFmaWNvIHNwZWNpZmljb1xyXG4gICAqL1xyXG4gIGFic3RyYWN0IGdldENhc3RlZFNldHRpbmdzKCk6IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogTWV0b2RvIGNoZSBcIlJpZW1waWVcIiBsYSBjbGFzc2UgZGVsbGUgaW1wb3N0YXppb25pIGNvbiB0dXR0ZSBsZSBpbXBvc3Rhemlvbmkgc3BlY2lmaWNoZSBwYXNzYXRlIGEgdW4gZGF0byBncmFmaWNvIGNvbWUgSW5wdXRcclxuICAgKi9cclxuICBhYnN0cmFjdCBmaWxsU3BlY2lmaWNTZXR0aW5ncyhzZXR0aW5nc0Nhc3RlZCk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvc3RydXR0b3JlXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtFbGVtZW50UmVmfSBlbCBDb250ZW5pdG9yZSBhbGwnaW50ZXJubyBkZWwgY3VpIHZpZW5lIGNyZWF0byBpbCBncmFmaWNvLiBVdGlsaXp6YXRvIHBlciBlc3RyYXBvbGFybmUgbGEgKipDb250YWluZXJIZWlnaHQqKlxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBwbGF0Zm9ybUlkIHBpYXR0YWZvcm1hIEFuZ3VsYXIgKGJyb3dzZXIsIGVjYy4uLikgcGVyIGVzc2VyZSBzaWN1cmkgY2hlIGFtY2hhcnRzIHZlbmdhIGF0dGl2YXRvIHNvbG8gbGF0byBicm93c2VyLiBOb24gdXRpbGl6emFuZG8gU1NSIG5lbGxlIGFwcGxpY2F6aW9uaSBjaGUgY29uc3VtYW5vIHF1ZXN0YSBsaWJyZXJpYSBub24gw6ggcGFydGljb2xhcm1lbnRlIHNpZ25pZmljYXRpdm8sIG1hIG5vbiBzaSBzYSBtYWlcclxuICAgKiBAcGFyYW0ge05nWm9uZX0gem9uZSBOZ1pvbmUgZGkgZGVmYXVsdCBwZXIgcGVybWV0dGVyZSBkaSBpbml6aWFsaXp6YXJlIGlsIGdyYWZpY28gYWxsJ2luZnVvcmkgZGkgQW5ndWxhciBwZXIgYXZlcmUgcXVhbGNoZSBwcmVzdGF6aW9uZSBpbiBwacO5XHJcbiAgICogQHBhcmFtIHtDaGFydExvYWRlcn0gQ2hhcnRlciBJc3RhbnphIGRlbCBMb2FkZXIgY2hlIHNpIG9jY3VwZXLDoCBkaSBjYXJpY2FyZSBpbiBtZW1vcmlhIHR1dHRvIGNpw7IgY2hlIHNlcnZlIHBlciBpbCBncmFmaWNvIGF0dHVhbGUgKHRlbWksIGxvY2FsZSwgYW5pbWF6aW9uaSwgZWNjLi4uKVxyXG4gICAqIEBwYXJhbSB7Q2hhcnREaXNwYXRjaGVyfSBEaXNwYXRjaGVyIElzdGFuemEgZGVsIERpc3BhdGNoZXIgY2hlIHNpIG9jY3VwYSBkaSBkaWZmZXJpcmUgaWwgY2FyaWNhbWVudG8gZGVpIGdyYWZpY2kgMSBkb3BvIGwnYWx0cm8gaW4gbW9kbyBjaGUgY2FyaWNhbWVudGkgcHNldWRvIHBhcmFsbGVsaSBpbmNhc2luaW5vIHR1dHRvXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBsb2dzIEluZGljYSBzZSBlZmZldHR1YXJlIGxvZyBhIGNvbnNvbGUgbyBtZW5vLCBpbmlldHRhdG8gZGFsbGUgY2xhc3NpIHNwZWNpYWxpenphdGUgZGFsIHRva2VuIEVTQ19MT0dTXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBhbmltYXRpb25zIEluZGljYSBzZSBwZXIgcXVlc3RvIGdyYWZpY28gZGV2b25vIGVzc2VyZSBhdHRpdmUgbyBtZW5vIGxlIGFuaW1hemlvbmkuIEltcG9zdGF6aW9uZSBnZW5lcmljYSBwcmVzYSBkYWwgdG9rZW4gRVNDX0FOSU1BVElPTlNcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gbG9jYWxlIEluZGljYSBpbCBsb2NhbGUgc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljby4gSW1wb3N0YXppb25lIGdlbmVyaWNhIHByZXNhIGRhbCB0b2tlbiBFU0NfTE9DQUxFXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRoZW1lIEluZGljYSBpbCB0ZW1hIHNwZWNpZmljbyBwZXIgcXVlc3RvIGdyYWZpY28uIEltcG9zdGF6aW9uZSBnZW5lcmljYSBwcmVzYSBkYWwgdG9rZW4gRVNDX1RIRU1FXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QsIHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIENoYXJ0ZXI6IENoYXJ0TG9hZGVyLCBwcml2YXRlIERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBsb2dzOiBib29sZWFuLFxyXG4gICAgcHJpdmF0ZSBhbmltYXRpb25zOiBib29sZWFuLCBwcml2YXRlIGxvY2FsZTogc3RyaW5nLCBwcml2YXRlIHRoZW1lOiBzdHJpbmcpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gZGkgaW5pemlhbGl6emF6aW9uZSBwb3N0IHZhbG9yaXp6YXppb25lIGRlZ2xpIGlucHV0LCB1dGlsaXp6YXRvIHBlciB2YWxvcml6emFyZSBjb3JyZXR0YW1lbnRlIGxlIHByb3ByaWV0w6AgZXNzZW56aWFsaSBkZWwgZ3JhZmljbyAoQW5pbWF6aW9uaSwgVGVtYSBlIExvY2FsZSlcclxuICAgKiBcclxuICAgKiBWaWVuZSBkYXRhIHByaW9yaXTDoCBhaSBTZXR0aW5ncyAoSFRNTCksIHByaW9yaXTDoCBzZWNvbmRhcmlhIGFnbGkgSW5wdXQgZGlyZXR0aSAoTGF0byBIVE1MKSwgcHJpb3JpdMOgIHVsdGltYSBhbGxlIGltcG9zdGF6aW9uaSBnbG9iYWxpLFxyXG4gICAqIGltcG9zdGF0ZSBpbiBmYXNlIGRpIGltcG9ydCBkZWwgbW9kdWxvIGFzc2VnbmFuZG8gdmFsb3JpIGFpIHRva2VuIEVTQ19MT0NBTEUsIEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIFF1aSBzZXJ2b25vIHNvbG8gbGUgdmFyaWFiaWxpIGRhIGNvbm9zY2VyZSBQUkUtZ3JhZmljYXppb25lIHBlciBpbCBjYXJpY2FtZW50byBkZWkgbW9kdWxpIGxhenkgZGVsIGdyYWZpY29cclxuXHJcbiAgICB0aGlzLkFuaW1hdGlvbnMgPSB0aGlzLlNldHRpbmdzPy5BbmltYXRpb25zICE9IG51bGwgPyB0aGlzLlNldHRpbmdzPy5BbmltYXRpb25zIDogKHRoaXMuQW5pbWF0aW9ucyAhPSBudWxsID8gdGhpcy5BbmltYXRpb25zIDogdGhpcy5hbmltYXRpb25zKVxyXG4gICAgdGhpcy5UaGVtZSA9IHRoaXMuU2V0dGluZ3M/LlRoZW1lICE9IG51bGwgPyB0aGlzLlNldHRpbmdzPy5UaGVtZSA6ICh0aGlzLlRoZW1lICE9IG51bGwgPyB0aGlzLlRoZW1lIDogPGFueT50aGlzLnRoZW1lKVxyXG4gICAgdGhpcy5Mb2NhbGUgPSB0aGlzLlNldHRpbmdzPy5Mb2NhbGUgIT0gbnVsbCA/IHRoaXMuU2V0dGluZ3M/LkxvY2FsZSA6ICh0aGlzLkxvY2FsZSAhPSBudWxsID8gdGhpcy5Mb2NhbGUgOiB0aGlzLmxvY2FsZSlcclxuXHJcbiAgICB0aGlzLmlzUGFnZWQgPSAodGhpcy5EYXRhQXJyYXkgJiYgdGhpcy5EYXRhQXJyYXkubGVuZ3RoID4gMCAmJiAhdGhpcy5EYXRhKSB8fCAodGhpcy5EYXRhRHRvcyAmJiB0aGlzLkRhdGFEdG9zLmxlbmd0aCA+IDAgJiYgISF0aGlzLkRhdGFSZXRyaWV2ZSk7XHJcbiAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgdGhpcy5uYW1lICsgXCI6IG5nT25Jbml0XCIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXppb25lIHV0aWxpenphdGEgcGVyIGNvbnRyb2xsYXJlIGV2ZW50dWFsaSBwcm9wcmlldMOgIGNoaWF2ZSBkZWwgZ3JhZmljbyBlIHJpZ3JhZmljYXJlIHR1dHRvIHF1YWxvcmEgc2kgcml2ZWxhc3NlIG5lY2Vzc2FyaW9cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgSW5kaWNhemlvbmUgZGVpIGNhbWJpYW1lbnRpIHN1bGxlIHByb3ByaWV0w6AgZGVsIGdyYWZpY28uIFZlZGVyZSBkb2N1bWVudGF6aW9uZSBBbmd1bGFyIGluIG1lcml0b1xyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmICghdGhpcy5pbml0RG9uZSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogbmdPbkNoYW5nZXNcIik7XHJcblxyXG4gICAgbGV0IHByb3BzVG9DaGVjayA9IFtcIlRpbWVsaW5lXCIsIFwiTGVnZW5kXCIsIFwiU2V0dGluZ3NcIiwgXCJBbmltYXRpb25zXCIsIFwiVGhlbWVcIiwgXCJMb2NhbGVcIiwgLi4udGhpcy5nZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCldO1xyXG4gICAgdGhpcy5jaGVja1Byb3BlcnRpZXNBbmRSZWdyYXBoaWNhdGVBc05lZWRlZChjaGFuZ2VzLCBwcm9wc1RvQ2hlY2spO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmVsIHBvc3QgaW5pemlhbGl6emF6aW9uZSwgYSBwYXR0byBjaGUgbWkgdHJvdmkgaW4gYW1iaWVudGUgXCJicm93c2VyXCIsIHByb3NlZ3VvIGFsIGNhcmljYW1lbnRvIGRlbCBncmFmaWNvIHN1bGwnSFRNTFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5uYW1lKVxyXG4gICAgICB0aHJvdyBcImEgVW5pcXVlIG5hbWUgaXMgbWFuZGF0b3J5IHRvIGNyZWF0ZSBhIGNoYXJ0XCI7XHJcblxyXG4gICAgdGhpcy5sb2coXCJDaGFydCBcIiArIHRoaXMubmFtZSArIFwiOiBuZ0FmdGVyVmlld0luaXQsIGdyYXBoaWNhdGluZyBjaGFydCBvdXRzaWRlIEFuZ3VsYXJcIik7XHJcblxyXG4gICAgaWYgKCF0aGlzLmlzUGFnZWQpXHJcbiAgICAgIHRoaXMuZGlzcGF0Y2hMb2FkQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFsbCdvbkRlc3Ryb3kgc2NhcmljbyBpbCBncmFmaWNvIHBlciBsaWJlcmFyZSBtZW1vcmlhXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5DaGFydCkge1xyXG4gICAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgdGhpcy5uYW1lICsgXCI6IFVubG9hZGluZyBkZXN0cm95ZWQgY2hhcnRcIik7XHJcbiAgICAgIHRoaXMuYnJvd3Nlck9ubHkoKCkgPT4geyB0aGlzLkNoYXJ0LmRpc3Bvc2UoKTsgdGhpcy5EaXNwYXRjaGVyLmRlcmVnaXN0ZXJHcmFwaCh0aGlzLm5hbWUpIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgdGhpcy5uYW1lICsgXCI6IFVubG9hZGluZyB1bmNyZWF0ZWQgY2hhcnQgY29tcG9uZW50LiBJdCBwcm9iYWJseSB3YXMgYSBkdXBsaWNhdGVkXCIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0cmEgaWwgZ3JhZmljbyBhdHR1YWxlIG5lbCBEaXNwYXRjaGVyIGluIG1vZG8gY2hlIHZlbmdhIGNhcmljYXRvIGFwcGVuYSBwb3NzaWJpbGVcclxuICAgKi9cclxuICBwcml2YXRlIGRpc3BhdGNoTG9hZENoYXJ0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5icm93c2VyT25seSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuRGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzLm5hbWUsICgpID0+IHsgcmV0dXJuIHRoaXMubG9hZENoYXJ0KCk7IH0pO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElsIGNhcmljYW1lbnRvIGRlbCBncmFmaWNvIGZ1bnppb25hIG5lbCBzZWd1ZW50ZSBtb2RvOlxyXG4gICAqIFxyXG4gICAqIDEpIENhcmljYW1lbnRvIGRlbCB0ZW1hIGUgZGVsbGUgYW5pbWF6aW9uaSwgcXVhbG9yYSBuZWNlc3NhcmlcclxuICAgKiBcclxuICAgKiAyKSBDYXJpY2FtZW50byBkZWxsZSBpbXBvc3Rhemlvbmkgc3BlY2lmaWNoZSBlIGludGVncmF6aW9uZSBjb24gbGUgaW1wb3N0YXppb25pIGdlbmVyaWNoZVxyXG4gICAqIFxyXG4gICAqIDMpIEdyYWZpY2F6aW9uZVxyXG4gICAqIFxyXG4gICAqIDQpIENhcmljYW1lbnRvIGRlbCBsb2NhbGVcclxuICAgKi9cclxuICBwcml2YXRlIGxvYWRDaGFydCgpIHtcclxuICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogU3RhcnQgbG9hZGluZyBNb2R1bGVzIGlmIG5lZWRlZFwiKTtcclxuICAgIHJldHVybiBQcm9taXNlLmFsbChbXHJcbiAgICAgIHRoaXMuc2V0dXBBbUNoYXJ0c1RoZW1lcygpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogR3JhcGhpY2F0aW5nIGFmdGVyIG1vZHVsZXMgbG9hZFwiKTtcclxuXHJcbiAgICAgICAgdmFyIGNhc3RlZFNldHRpbmdzID0gdGhpcy5nZXRDYXN0ZWRTZXR0aW5ncygpO1xyXG4gICAgICAgIHRoaXMuZmlsbFNldHRpbmdzKGNhc3RlZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLmZpbGxTcGVjaWZpY1NldHRpbmdzKGNhc3RlZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLkNoYXJ0U2VydmljZSA9IHRoaXMuZ3JhcGhpY2F0ZShjYXN0ZWRTZXR0aW5ncyk7XHJcbiAgICAgICAgdGhpcy5DaGFydCA9IHRoaXMuQ2hhcnRTZXJ2aWNlLkNoYXJ0SW5zdGFuY2U7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5DaGFydCkgdGhpcy5sb2coXCJDaGFydCBcIiArIHRoaXMubmFtZSArIFwiOiBDb3VsZCBub3QgY3JlYXRlIGdyYXBoXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5DaGFydGVyLmFwcGx5TG9jYWxlKHRoaXMuQ2hhcnQsIHRoaXMuTG9jYWxlKS50aGVuKCgpID0+IHsgdGhpcy5pbml0RG9uZSA9IHRydWU7IHRoaXMuY2hhcnRMb2FkZWQuZW1pdCh0aGlzKSB9KTtcclxuICAgICAgfSlcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmllbXBpbWVudG8gZGVsbGUgaW1wb3N0YXppb25pIG5lbGxhIGNsYXNzZSBTZXR0aW5ncy4gU2kgZGFubm8gcHJpb3JpdMOgIGFpIHZhbG9yaSBnacOgIGltcG9zdGF0aSBuZWkgU2V0dGluZ3MsIFxyXG4gICAqIGludGVncmFuZG8gZXZlbnR1YWxtZW50ZSBjb24gbGUgIHByb3ByaWV0w6AgZGVsIGdyYWZpY29cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge0Jhc2VTZXR0aW5nc30gc2V0dGluZ3MgSW1wb3N0YXppb25pIGJhc2UgcmljZXZ1dGUgZGFsbGEgc3BlY2lhbGl6emF6aW9uZSBkZWwgZ3JhZmljb1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZmlsbFNldHRpbmdzKHNldHRpbmdzOiBCYXNlU2V0dGluZ3MpIHtcclxuXHJcbiAgICAvLyBNZXJnZSBkZWdsaSBJbnB1dCBjb24gaSBTZXR0aW5ncywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzXHJcblxyXG4gICAgc2V0dGluZ3MuVGhlbWUgPSBzZXR0aW5ncy5UaGVtZSA/IHNldHRpbmdzLlRoZW1lIDogdGhpcy5UaGVtZTtcclxuICAgIHNldHRpbmdzLkxvY2FsZSA9IHNldHRpbmdzLkxvY2FsZSA/IHNldHRpbmdzLkxvY2FsZSA6IHRoaXMuTG9jYWxlO1xyXG4gICAgc2V0dGluZ3MuQW5pbWF0aW9ucyA9IHNldHRpbmdzLkFuaW1hdGlvbnMgIT0gbnVsbCA/IHNldHRpbmdzLkFuaW1hdGlvbnMgOiB0aGlzLkFuaW1hdGlvbnM7XHJcblxyXG4gICAgc2V0dGluZ3MuTGVnZW5kID0gc2V0dGluZ3MuTGVnZW5kICE9IG51bGwgPyBzZXR0aW5ncy5MZWdlbmQgOiB0aGlzLkxlZ2VuZDtcclxuICAgIHNldHRpbmdzLk5hbWUgPSBzZXR0aW5ncy5OYW1lID8gc2V0dGluZ3MuTmFtZSA6IHRoaXMubmFtZTtcclxuICAgIHNldHRpbmdzLlRpbWVsaW5lID0gc2V0dGluZ3MuVGltZWxpbmUgIT0gbnVsbCA/IHNldHRpbmdzLlRpbWVsaW5lIDogdGhpcy5UaW1lbGluZTtcclxuICAgIHNldHRpbmdzLkFkYXB0TGFiZWxTaXplQW5kT3JpZW50YXRpb24gPSBzZXR0aW5ncy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uICE9IG51bGwgPyBzZXR0aW5ncy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uIDogdGhpcy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uO1xyXG4gICAgc2V0dGluZ3MuWEF4aXNUaXRsZSA9IHNldHRpbmdzLlhBeGlzVGl0bGUgPyBzZXR0aW5ncy5YQXhpc1RpdGxlIDogdGhpcy5YVGl0bGU7XHJcbiAgICBzZXR0aW5ncy5ZQXhpc1RpdGxlID0gc2V0dGluZ3MuWUF4aXNUaXRsZSA/IHNldHRpbmdzLllBeGlzVGl0bGUgOiB0aGlzLllUaXRsZTtcclxuICAgIHNldHRpbmdzLkxlZ2VuZFBvc2l0aW9uID0gc2V0dGluZ3MuTGVnZW5kUG9zaXRpb24gPyBzZXR0aW5ncy5MZWdlbmRQb3NpdGlvbiA6IHRoaXMuTGVnZW5kUG9zaXRpb247XHJcbiAgICBzZXR0aW5ncy5IaWRlU2VyaWVzT25MYWJlbENsaWNrID0gc2V0dGluZ3MuSGlkZVNlcmllc09uTGFiZWxDbGljayAhPSBudWxsID8gc2V0dGluZ3MuSGlkZVNlcmllc09uTGFiZWxDbGljayA6IHRoaXMuSGlkZVNlcmllc09uTGFiZWxDbGljaztcclxuICAgIHNldHRpbmdzLk1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzLk1pbkdyaWREaXN0YW5jZSAhPSBudWxsID8gc2V0dGluZ3MuTWluR3JpZERpc3RhbmNlIDogdGhpcy5NaW5HcmlkRGlzdGFuY2U7XHJcbiAgICBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZyA/IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcgOiB0aGlzLkxlZ2VuZFBhZGRpbmcgPz8gbnVsbDtcclxuXHJcbiAgICAoPGFueT5zZXR0aW5ncykuQ29udGFpbmVySGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xyXG4gICAgKDxhbnk+c2V0dGluZ3MpLk9uU2VyaWVzQ2xpY2tDYWxsYmFjayA9IChzZXJpZXMpID0+IHsgdGhpcy5vblNlcmllc0NsaWNrZWQuZW1pdChzZXJpZXMpOyB9O1xyXG4gICAgKDxhbnk+c2V0dGluZ3MpLk9uU2VsZWN0aW9uQ2hhbmdlZENhbGxiYWNrID0gKGV2ZW50OiB7IGZyb206IERhdGUsIHRvOiBEYXRlLCBpbml0aWFsOiBib29sZWFuIH0pID0+IHsgdGhpcy5vblNlbGVjdGlvbkNoYW5nZWQuZW1pdCh7IGZyb206IGV2ZW50LmZyb20sIHRvOiBldmVudC50bywgaW5pdGlhbDogZXZlbnQuaW5pdGlhbCB9KTsgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnRyb2xsYSBpIGNhbWJpYW1lbnRpIGF2dmVudXRpIGFsbGUgcHJvcHJpZXTDoCBjaGlhdmUgZSByaWVmZmV0dHVhIGxhIGdyYWZpY2F6aW9uZSBxdWFsb3JhIG5lY2Vzc2FyaW9cclxuICAgKiBcclxuICAgKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgSW5kaWNhemlvbmUgZGVsbGEgbW9kaWZpY2hlIGF2dmVudXRlIG5laSB2YXJpIElucHV0XHJcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gcHJvcHNUb0NoZWNrIExpc3RhIGRlZ2xpIElucHV0IGRhIGNvbnRyb2xsYXJlIHBlciBjdWkgdW5hIG1vZGlmaWNhIGNhdXNhIHVuYSByaWdyYWZpY2F6aW9uZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgY2hlY2tQcm9wZXJ0aWVzQW5kUmVncmFwaGljYXRlQXNOZWVkZWQoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgcHJvcHNUb0NoZWNrOiBzdHJpbmdbXSkge1xyXG4gICAgbGV0IHRvUmVHcmFwaGljYXRlID0gZmFsc2U7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzVG9DaGVjay5sZW5ndGg7IGkrKylcclxuICAgICAgdG9SZUdyYXBoaWNhdGUgPSB0b1JlR3JhcGhpY2F0ZSB8fCAoY2hhbmdlc1twcm9wc1RvQ2hlY2tbaV1dICYmIGNoYW5nZXNbcHJvcHNUb0NoZWNrW2ldXS5jdXJyZW50VmFsdWUpXHJcblxyXG4gICAgaWYgKHRvUmVHcmFwaGljYXRlKVxyXG4gICAgICB0aGlzLnJlbG9hZENoYXJ0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW56aW9uZSBjaGUgZWZmZXR0dWEgdW4gY2FtYmlvIGRpIHBhZ2luYSBwZXIgaSBncmFmaWNpIHBhZ2luYXRpLiBRdWFsb3JhICoqZGF0YSoqIGZvc3NlIG51bGxvIHNpZ25pZmljYSBjaGUgw6ggaW5pemlhdG8gdW4gY2FyaWNhbWVudG8gXHJcbiAgICogZSBhbmNoZSBsYXRvIGFwcGxpY2F0aXZvIGlsIERhdGFSZXRyaWV2ZSBkb3Zyw6AgY29uc2lkZXJhcmUgY2hlIGwnYXNzZW56YSBkaSB2YWxvcmkgbm9uIMOoIGFsdHJvIGNoZSB1bidpbmRpY2F6aW9uZSBkaSBpbml6aW8gY2FyaWNhbWVudG9cclxuICAgKiBcclxuICAgKiBJbCBjYXJpY2FtZW50byBkaSBxdWFsc2lhc2kgcGFnaW5hIGdlbmVyZXLDoCBjb211bnF1ZSB1bmEgcHJpbW8gZXZlbnRvIGNvbiAqKmRhdGEqKiBudWxsbyBpbiBtb2RvIGRhIGluZGljYXJlIGwnaW5pemlvIGNhcmljYW1lbnRvIGVcclxuICAgKiBpbiBzZWNvbmRhIGlzdGFuemEgdW4gYWx0cm8gZXZlbnRvIGluIGN1aSAqKmRhdGEqKiBzYXLDoCBzZW1wcmUgdmFsb3JpenphdG8sIG8gY29uIGlsIER0byBkYSB1c2FyZSBwZXIgcmVjdXBlcmFyZSBpIGRhdGksIG8gY29uIGkgZGF0aVxyXG4gICAqIHZlcmkgZSBwcm9wcmkgZ2nDoCBwcmVzZW50aSBuZWwgKipEYXRhQXJyYXkqKlxyXG4gICAqIFxyXG4gICAqIEkgY2FsbGJhY2sgKipvbkxvYWRTdGFydCoqIGUgKipvbkxvYWRFbmQqKiB2ZW5nb25vIHNlbXByZSBjaGlhbWF0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7eyBkYXRhOiBMaW5lQ2hhcnREYXRhIHwgUGllQ2hhcnREYXRhIHwgVmVydGljYWwyRENoYXJ0RGF0YSB8IFZlcnRpY2FsQ2hhcnREYXRhIHwgYW55LCBpbmRleDogbnVtYmVyIH19IG5kIEluZGljZSBkZWwgY2FyaWNhbWVudG8gZGF0aSwgY29uIGV2ZW50dWFsbWVudGUgZ2nDoCBpIGRhdGkgc2UgZGlzcG9uaWJpbGlcclxuICAgKi9cclxuICBwdWJsaWMgY2hhbmdlUGFnZShuZDogeyBkYXRhOiBMaW5lQ2hhcnREYXRhIHwgUGllQ2hhcnREYXRhIHwgVmVydGljYWwyRENoYXJ0RGF0YSB8IFZlcnRpY2FsQ2hhcnREYXRhIHwgYW55LCBpbmRleDogbnVtYmVyIH0pIHtcclxuICAgIGlmICghbmQuZGF0YSkge1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFydCA9IHRydWU7XHJcbiAgICAgIC8vIFNlcnZlIHBlciBpbmZvcm1hcmUgbCdhcHBsaWNhdGl2byBpbiBsaXN0ZW5pbmcgc3VsbCdpbmRpY2UgYXR0dWFsbWVudGUgaW4gdmlzdWFsaXp6YXppb25lLiBcclxuICAgICAgLy8gTGEgbWFuY2FuemEgZGkgZGF0aSBpbmRpY2EgY2hlIG5vbiBkZXZvbm8gZXNzZXJlIGVmZmV0dHVhdGUgcmljZXJjaGUgcGVyIG9yYVxyXG4gICAgICBpZiAodGhpcy5EYXRhUmV0cmlldmUpXHJcbiAgICAgICAgdGhpcy5EYXRhUmV0cmlldmUobnVsbCwgbmQuaW5kZXgpXHJcbiAgICAgIHRoaXMub25Mb2FkU3RhcnQuZW1pdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuRGF0YVJldHJpZXZlKVxyXG4gICAgICB0aGlzLkRhdGFSZXRyaWV2ZShuZC5kYXRhLCBuZC5pbmRleCkudGhlbih0ID0+IHsgdGhpcy5jaGFuZ2VQYWdlRGF0YVJlY2VpdmVkKHQpOyB9KTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5jaGFuZ2VQYWdlRGF0YVJlY2VpdmVkKG5kLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWwgdGVybWluZSBkZWwgY2FyaWNhbWVudG8gZGVpIGRhdGkgZGkgdW5hIHBhZ2luYSBxdWVzdG8gbWV0b2RvIHZpZW5lIGNoaWFtYXRvIHBlciByaWdyYWZpY2FyZSBsYSBzaXR1YXppb25lIGNvbiBpIG51b3ZpIGRhdGlcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge0xpbmVDaGFydERhdGEgfCBQaWVDaGFydERhdGEgfCBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgVmVydGljYWxDaGFydERhdGEgfCBhbnl9IGRhdGEgRGF0aSBkZWwgZ3JhZmljb1xyXG4gICAqL1xyXG4gIHByaXZhdGUgY2hhbmdlUGFnZURhdGFSZWNlaXZlZChkYXRhOiBMaW5lQ2hhcnREYXRhIHwgUGllQ2hhcnREYXRhIHwgVmVydGljYWwyRENoYXJ0RGF0YSB8IFZlcnRpY2FsQ2hhcnREYXRhIHwgYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmdDaGFydCA9IGZhbHNlO1xyXG4gICAgdGhpcy5vbkxvYWRFbmQuZW1pdCgpO1xyXG4gICAgbGV0IGZpcnN0QmluZCA9ICF0aGlzLkRhdGE7XHJcbiAgICB0aGlzLkRhdGEgPSBkYXRhO1xyXG5cclxuICAgIGlmICghZmlyc3RCaW5kKVxyXG4gICAgICB0aGlzLnJlbG9hZENoYXJ0KCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZGlzcGF0Y2hMb2FkQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJpY2FyaWNhIGlsIGdyYWZpY28gZGlzdHJ1Z2dlbmRvIGlsIHZlY2NoaW8gZSByaWNyZWFuZG8gaWwgbnVvdm9cclxuICAgKiBcclxuICAgKiBMZSBjaGlhbWF0ZSBhIHF1ZXN0byBtZXRvZG8gcG9zc29ubyBlc3NlcmUgdHJhc2Zvcm1hdGUgaW4gY2hpYW1hdGUgYWwgbWV0b2RvICoqZ3JhcGhpY2F0ZSoqIGRlbGxhIFNlcnZpY2UsIHNlIHNvbG8gcXVlbCBtZXRvZG8gZm9zc2UgYWJiYXN0YW56YSBpbnRlbGxpZ2VudGUgcGVyIGNhcGlyZVxyXG4gICAqIGxlIGRpZmZlcmVuemUgZnJhIGlsIGdyYWZpY28gY29tJ2VyYSBwcmltYSBlIGNvbWUgZGV2ZSBkaXZlbnRhcmUsIGluIG1vZG8gZGEgbm9uIHJpY3JlYXJsbyBtYSBzZW1wbGljZW1lbnRlIG1vZGlmaWNhcmUgcXVlbGxvIGNoZSBnacOgIMOoIGRpc2VnbmF0b1xyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVsb2FkQ2hhcnQoKSB7XHJcbiAgICB0aGlzLmJyb3dzZXJPbmx5KCgpID0+IHsgaWYgKCF0aGlzLkNoYXJ0LmlzRGlzcG9zZWQoKSkgdGhpcy5DaGFydC5kaXNwb3NlKCk7IHRoaXMuRGlzcGF0Y2hlci5kZXJlZ2lzdGVyR3JhcGgodGhpcy5uYW1lKSB9KTtcclxuICAgIHRoaXMuRGlzcGF0Y2hlci5yZWdpc3Rlcih0aGlzLm5hbWUsICgpID0+IHsgcmV0dXJuIHRoaXMubG9hZENoYXJ0KCk7IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGVybWV0dGUgZGkgYWdnaXVuZ2VyZSB1biBibG9jY28gZGkgZGF0aSBpbiBtYW5pZXJhIFwibGl2ZVwiIGFkIHVuIGdyYWZpY29cclxuICAgKi9cclxuICBwdWJsaWMgYWRkRGF0YShjaGFydERhdGE6IGFueSkge1xyXG4gICAgdGhpcy5DaGFydFNlcnZpY2UucmVmcmVzaERhdGEoY2hhcnREYXRhKTtcclxuICB9O1xyXG5cclxuICAvKipcclxuICAgKiBGdW56aW9uZSBjaGUgc2kgb2NjdXBhIGRpIGNhcmljYXJlIGkgdGVtaSBuZWNlc3NhcmkgcGVyIGlsIGdyYWZpY28gaW4gb2dnZXR0by4gUHJpbWEgYXBwbGljYSBpbCB0ZW1hLCBwb2ksIHNlIHNlcnZlLCBhcHBsaWNhIGxlIGFuaW1hemlvbmlcclxuICAgKi9cclxuICBwcml2YXRlIHNldHVwQW1DaGFydHNUaGVtZXMoKSB7XHJcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xyXG4gICAgICB0aGlzLkNoYXJ0ZXIuYXBwbHlUaGVtZShhbTRjb3JlLCB0aGlzLlRoZW1lKS50aGVuKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5BbmltYXRpb25zID8gdGhpcy5DaGFydGVyLmFwcGx5QW5pbWF0aW9ucyhhbTRjb3JlKSA6IHRoaXMuQ2hhcnRlci51bmFwcGx5QW5pbWF0aW9ucyhhbTRjb3JlKTtcclxuICAgICAgfSlcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9nKGxvZzogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5sb2dzKVxyXG4gICAgICBjb25zb2xlLmxvZyhcIkBlc2ZhZW56YS9lcy1jaGFydHM6IFwiICsgbG9nKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcG9zdGEgbG8gem9vbSBkYWwgKipmcm9tKiogYWwgKip0byoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtEYXRlfSBmcm9tIEluaXppbyBkZWxsbyB6b29tXHJcbiAgICogQHBhcmFtIHtEYXRlfSB0byBGaW5lIGRlbGxvIHpvb21cclxuICAgKi9cclxuICBwdWJsaWMgc2V0U2VsZWN0aW9uKGZyb206IERhdGUsIHRvOiBEYXRlKSB7XHJcbiAgICB0aGlzLkNoYXJ0U2VydmljZS5zZXRTZWxlY3Rpb24oZnJvbSwgdG8pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGJyb3dzZXJPbmx5KGY6ICgpID0+IHZvaWQpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgZigpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBc0UsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQVksU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBYy9LLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFHcEQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixrQkFBa0I7SUErTHRDOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILFlBQW9CLEVBQWMsRUFBVSxVQUFrQixFQUFVLElBQVksRUFBVSxPQUFvQixFQUFVLFVBQTJCLEVBQVUsSUFBYSxFQUNwSyxVQUFtQixFQUFVLE1BQWMsRUFBVSxLQUFhO1FBRHhELE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVM7UUFDcEssZUFBVSxHQUFWLFVBQVUsQ0FBUztRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBN0s1RTs7V0FFRztRQUNNLFNBQUksR0FBVyxFQUFFLENBQUM7UUEwRDNCOzs7O1dBSUc7UUFDTSxrQkFBYSxHQUFXLEdBQUcsQ0FBQztRQVlyQzs7V0FFRztRQUNPLHVCQUFrQixHQUE2RCxJQUFJLFlBQVksRUFBOEMsQ0FBQztRQUV4Sjs7V0FFRztRQUNPLG9CQUFlLEdBQXlCLElB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QUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRTFGLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUUsUUFBUSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzFELFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEYsUUFBUSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDO1FBQ2xLLFFBQVEsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM5RSxRQUFRLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUUsUUFBUSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2xHLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsc0JBQXNC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RCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBS2hDLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFLRyxlQUFlO3NCQUF4QixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csU0FBUztzQkFBbEIsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29udGVudENoaWxkLCBPcHRpb25hbCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBJQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlL0lCYXNlU2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncy9iYXNlL0Jhc2VTZXR0aW5ncyc7XHJcbmltcG9ydCB7IExlZ2VuZFBhZCB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncy9iYXNlL0xlZ2VuZFBhZCc7XHJcbmltcG9ydCB7IENoYXJ0TG9hZGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0TG9hZGVyXCI7XHJcbmltcG9ydCB7IENoYXJ0RGlzcGF0Y2hlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydERpc3BhdGNoZXJcIjtcclxuXHJcbmltcG9ydCB7IExpbmVDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvTGluZUNoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBQaWVDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvUGllQ2hhcnREYXRhXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsQ2hhcnREYXRhXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsMkRDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvVmVydGljYWwyRENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBQYWdlZENoYXJ0RGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS9QYWdlZENoYXJ0RGF0YVwiO1xyXG5cclxuaW1wb3J0ICogYXMgYW00Y29yZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIEdyYWZpY28gQmFzZSBjaGUgZ2VzdGlzY2UgdHV0dGUgbGUgY29zZSBjb211bmkgZGVpIHZhcmkgZ3JhZmljaSBpc3RhbnppYWJpbGksIGNvbWUgbGEgcHJlc2VuemEgbyBtZW51IGRpIHVuYSBsZWdlbmRhLFxyXG4gKiBpbCB0ZW1hIHV0aWxpenphdG8sIGlsIGxvY2FsZSBkZWwgc2luZ29sbyBncmFmaWNvLCBlY2MgZWNjLi4uXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvKipcclxuICAgKiBUaXRvbG8gcGVyIGwnYXNzZSBYXHJcbiAgICovXHJcbiAgQElucHV0KCkgWFRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRpdG9sbyBwZXIgbCdhc3NlIFlcclxuICAgKi9cclxuICBASW5wdXQoKSBZVGl0bGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSW1wb3N0YXppb25pIGRpIGJhc2VcclxuICAgKi9cclxuICBASW5wdXQoKSBTZXR0aW5nczogQmFzZVNldHRpbmdzO1xyXG5cclxuICAvKipcclxuICAgKiBQcmVzZW56YSBvIG1lbm8gZGVsbGEgbGVnZW5kYVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExlZ2VuZDogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUG9zaXppb25lIGRlbGxhIGxlZ2VuZGFcclxuICAgKi9cclxuICBASW5wdXQoKSBMZWdlbmRQb3NpdGlvbjogXCJ0b3BcIiB8IFwiYm90dG9tXCIgfCBcImxlZnRcIiB8IFwicmlnaHRcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJlc2VuemEgbyBtZW5vIGRlbGxhIHRpbWVsaW5lXHJcbiAgICovXHJcbiAgQElucHV0KCkgVGltZWxpbmU6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIE5vbWUgZGVsIGdyYWZpY28sIGZvbmRhbWVudGFsZSBhc3NlZ25hcmxvIHBlciBwZXJtZXR0ZXJlIGFsbGEgbGlicmVyaWEgZGkgc2NoZWR1bGFybmUgbGEgY3JlYXppb25lXHJcbiAgICovXHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgLyoqXHJcbiAgICogVXRpbGl6em8gbyBtZW5vIGRlbGxlIGFuaW1hemlvbmkuIFNlbnphIGFuaW1hemlvbmkgaWwgZ3JhZmljbyDDqCBsZWdnZXJtZW50ZSBwacO5IHBlcmZvcm1hbnRlLCBzcGVjaWFsbWVudGUgYWxsJ2F1bWVudGFyZSBkZWkgcHVudGkgbmVsbGEgc2VyaWVcclxuICAgKi9cclxuICBASW5wdXQoKSBBbmltYXRpb25zOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBUZW1hIGRhIHV0aWxpenphcmUsIHZhbGlkbyBzb2xvIHBlciBpbCBncmFmaWNvIGluIHF1ZXN0aW9uZS4gR2xpIGFsdHJpIGdyYWZpY2kgZGVsbGEgcGFnaW5hIHBvc3Nvbm8gYXZlcmUgc3RpbGkgZGl2ZXJzaS5cclxuICAgKiBcclxuICAgKiBFc3NlbmRvIGkgdGVtaSBjYXJpY2F0aSBpbiBtYW5pZXJhIGFzaW5jcm9uYSBpbiBiYXNlIGFsbCd1dGlsaXp6byB1dGlsaXp6YXJuZSB0YW50aSBkaXZlcnNpIGluIHVuJ3VuaWNhIHBhZ2luYSBwb3RyZWJiZSByYWxsZW50YXJlIGlsIHByaW1vIGNhcmljYW1lbnRvXHJcbiAgICovXHJcbiAgQElucHV0KCkgVGhlbWU6ICdzcGlyaXRlZGF3YXknIHwgJ21vb25yaXNla2luZ2RvbScgfCAnZnJvemVuJyB8ICdkYXJrJyB8ICdrZWxseScgfCAnbWF0ZXJpYWwnIHwgJ2RhdGF2aXonIHwgJ25vbmUnO1xyXG5cclxuICAvKipcclxuICAgKiBMb2NhbGUgZGVsIHNpbmdvbG8gZ3JhZmljb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIExvY2FsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2Egc2UgdXRpbGl6emFyZSBpbCBjb21wb3J0YW1lbnRvIGRpIGRlZmF1bHQgcGVyIGkgY2xpY2sgZGVsbGUgc2VyaWUgc3VsbGEgTGVnZW5kYS4gTWV0dGVuZG8gcXVlc3RhIHZhcmlhYmlsZSBhICoqZmFsc2UqKlxyXG4gICAqIGUgY29sbGVnYW5kbyBsJ291dHB1dCAqKm9uU2VyaWVzQ2xpY2tlZCoqIMOoIHBvc3NpYmlsZSBnZW5lcmFyZSB1biBldmVudG8gb2duaSB2b2x0YSBjaGUgbCd1dGVudGUgZmEgY2xpY2sgc3UgdW5hIHNlcmllIGRlbGxhIExlZ2VuZGFcclxuICAgKi9cclxuICBASW5wdXQoKSBIaWRlU2VyaWVzT25MYWJlbENsaWNrOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBNaW5pbWEgZGlzdGFuemEgbmVsbGEgZ3JpZ2xpYSBmcmEgaSB2YWxvcmksIG1vZGlmaWNhIGxhIHF1YW50aXTDoCBkaSBzdGVwIGZyYSBpIHZhbG9yaSBkZWxsJ2Fzc2UgWCBlIHF1aW5kaSBsYSBncmFudWxhcml0w6AgZGVpIGRhdGkuXHJcbiAgICogXHJcbiAgICogUGnDuSBwaWNjb2xhIMOoLCBwacO5IHZhbG9yaSB2ZXJyYW5ubyBpbnNlcml0aSBuZWxsJ2Fzc2UgWFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIE1pbkdyaWREaXN0YW5jZTogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBDZXJjYSBkaSBhZ2dpdXN0YXJlIGkgdmFyaSBzdGVwIGRlbGwnYXNzZSBYIHJ1b3RhbmRvbGkgZSBkaW1pbnVlbmRvbmUgbGUgZGltZW5zaW9uaSBhYmJhc3RhbnphIHBlciBtb3N0cmFybmUgaWwgcGnDuSBwb3NzaWJpbGVcclxuICAgKi9cclxuICBASW5wdXQoKSBBZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBQYWRkaW5nIGRhIGFwcGxpY2FyZSBhbGxhIExlZ2VuZGEgaW4gY2FzbyBzaSB2b2dsaWEgc3Bvc3RhcmUgdW4gcG8nXHJcbiAgICovXHJcbiAgQElucHV0KCkgTGVnZW5kUGFkZGluZzogTGVnZW5kUGFkO1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBkdG8gZ2VuZXJpY2kgY2hlIHZlcnJhbm5vIGVtZXNzaSBkYWwgc2lzdGVtYSBkaSBncmFmaWNpIHVubyBwZXIgdW5vIGF0dHJhdmVyc28gbGEgZnVuemlvbmUgKipEYXRhUmV0cmlldmUqKiwgY2hlIGRvdnJhbm5vIGVzc2VyZVxyXG4gICAqIHVzYXRpIHBlciB1YW4gc29ydGEgZGkgY2FyaWNhbWVudG8gXCJwYWdpbmF0b1wiIGRlaSBncmFmaWNpXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YUR0b3M6IGFueVtdO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2UgZGVsbCdhcnJheSAqKkRhdGFEdG9zKiogbyBkZWxsJ2FycmF5ICoqRGF0YUFycmF5KiogZGEgY3VpIGluaXppYXJlIGFkIGVtZXR0ZXJlIGkgdmFsb3JpLCB1dGlsZSBwZXIgc3VwcG9ydGFyZSBpbCBcImJhY2tcIiBkYSB1biBldmVudHVhbGUgcGFnaW5hIGRpIGRldHRhZ2xpb1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFEdG9TdGFydEluZGV4OiBudW1iZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bnppb25lIGRlZmluaXRhIGxhdG8gYXBwbGljYXRpdm8gY2hlIGluIGJhc2UgYWwgKipEYXRhRHRvKiogY29ycmVudGUgcmVzdGl0dWlzY2UgdW5hIFByb21pc2UgZGVsIHRpcG8gZGkgZGF0aSByaWNoaWVzdG8gcGVyIGlsIGdyYWZpY28gY29ycmVudGVcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhUmV0cmlldmU6IChkdG86IGFueSwgaW5kZXg6IG51bWJlcikgPT4gUHJvbWlzZTxhbnk+O1xyXG5cclxuICAvKipcclxuICAgKiBEb3BvIGF2ZXIgbmF2aWdhdG8gYSB1biBudW92byBncmFmaWNvIHZlcnJhbm5vIGF0dGVzaSBxdWVzdGkgbWlsbGlzZWNvbmRpIHByaW1hIGRpIHJpY2hpZWRlcmUgaSBkYXRpIGF0dHJhdmVyc28gbGEgKipEYXRhUmV0cmlldmUqKi5cclxuICAgKiBcclxuICAgKiBRdWVzdG8gcGVyIGV2aXRhcmUgY2hlIGwndXRlbnRlIGNsaWNjYW5kbyB2ZWxvY2VtZW50ZSBcImF2YW50aVwiIGdlbmVyaSB0b25uZWxsYXRlIGRpIHJpY2hpZXN0ZSBpbnV0aWxpXHJcbiAgICovXHJcbiAgQElucHV0KCkgQnJvd3NlRGVsYXlNczogbnVtYmVyID0gNTAwO1xyXG5cclxuICAvKipcclxuICAgKiBJbnRlc3RhemlvbmUgZGVpIGdyYWZpY2kgbmVsIGNhc28gc2kgdXRpbGl6emkgbGEgbW9kYWxpdMOgIHBhZ2luYXRhXHJcbiAgICovXHJcbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGhlYWRlcl90cjtcclxuXHJcbiAgLyoqXHJcbiAgICogTWVzc2FnZ2lvIGRpIGNhcmljYW1lbnRvIGZyYSB1biBncmFmaWNvIGUgbCdhbHRybyBcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKCdsb2FkaW5nJywgeyBzdGF0aWM6IGZhbHNlIH0pIGxvYWRpbmdfdGVtcGxhdGU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50byBsYW5jaWF0byBzdWxsYSBzZWxlemlvbmUgZGkgdW4gcmFuZ2UgZGkgZGF0aSBvIGRhbGxhIHRpbWVsaW5lIG8gZGFsIGdyYWZpY28uIFZhbGlkbyBwZXIgdHV0dGkgaSBncmFmaWNpIGNoZSBzdXBwb3J0YW5vIHNlcmllIGJhc2F0ZSBzdWxsZSBkYXRlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHsgZnJvbTogRGF0ZSwgdG86IERhdGUsIGluaXRpYWw6IGJvb2xlYW4gfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgZnJvbTogRGF0ZSwgdG86IERhdGUsIGluaXRpYWw6IGJvb2xlYW4gfT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnRvIGxhbmNpYXRvIGRhbCBjbGljayBkaSB1bmEgc2VyaWUgZGFsbGEgTGVnZW5kYSwgYSBwYXR0byBjaGUgbCdJbnB1dCAqKkhpZGVTZXJpZXNPbkxhYmVsQ2xpY2sqKiBzaWEgaW1wb3N0YXRvIGEgZmFsc2VcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TZXJpZXNDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudG8gbGFuY2lhdG8gYWxsJ2luaXppbyBkZWwgY2FyaWNhbWVudG8gZGkgdW5hIG51b3ZhIHBhZ2luYSBkZWwgZ3JhZmljb1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRTdGFydDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudG8gbGFuY2lhdG8gYWwgdGVybWluZSBkZWwgY2FyaWNhbWVudG8gZGkgdW5hIG51b3ZhIHBhZ2luYSBkZWwgZ3JhZmljb1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRFbmQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgKiBFdmVudG8gbGFuY2lhdG8gYWwgdGVybWluZSBkZWxsYSBjcmVhemlvbmUgZGVsIGdyYWZpY28gcmVmZXJlbnppYW5kbyBsJ2lzdGFuemEgbmF0aXZhIGRlbCBncmFmaWNvIGNyZWF0byBpbiBtb2RvIGRhIHBvdGVyIGVmZmV0dHVhcmUgbW9kaWZpY2hlXHJcbiAgKiBwb3N0IGluaXppYWxpenphemlvbmUgbGF0byBhcHBsaWNhdGl2b1xyXG4gICovXHJcbiAgQE91dHB1dCgpIGNoYXJ0TG9hZGVkOiBFdmVudEVtaXR0ZXI8QmFzZUNoYXJ0Q29tcG9uZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QmFzZUNoYXJ0Q29tcG9uZW50PigpO1xyXG5cclxuICAvKipcclxuICAgKiBTZXJ2ZSBhIGRlY2lkZXJlIHNlIHNhcsOgIHByZXNlbnRlIGwnaW50ZXJmYWNjaWEgZGkgcGFnaW5hemlvbmVcclxuICAgKi9cclxuICBwdWJsaWMgaXNQYWdlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0RG9uZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBJc3RhbnphIG5hdGl2YSBkZWwgZ3JhZmljbyBhbWNoYXJ0cy4gUXVhbHNpYXNpIGNvc2Egbm9uIGZhIHF1ZXN0YSBsaWJyZXJpYSBzaSBwdcOyIHByZW5kZXJlIHF1ZXN0YSBpc3RhbnphIGUgbW9kaWZpY2FyZSBhIHBpYWNpbWVudG9cclxuICAgKi9cclxuICBwdWJsaWMgQ2hhcnQ6IGFtNGNoYXJ0cy5DaGFydDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2Vydml6aW8gZGkgZ3JhZmljYXppb25lIGRlbCBncmFmaWNvXHJcbiAgICovXHJcbiAgcHVibGljIENoYXJ0U2VydmljZTogSUJhc2VTZXJ2aWNlPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhcmlhYmlsZSBjaGUgaW5kaWNhIHNlIHVuYSBudW92YSBwYWdpbmEgZGVsIGdyYWZpY28gw6ggaW4gZmFzZSBkaSBjYXJpY2FtZW50b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2FkaW5nQ2hhcnQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGkgZGVsIGdyYWZpY28uIE9nbmkgaW1wbGVtZW50YXppb25lIGdlc3RpcsOgIHF1ZXN0YSB2YXJpYWJpbGUgaW4gYmFzZSBhbCBwcm9wcmlvIHRpcG8gZGkgRGF0aVxyXG4gICAqL1xyXG4gIGFic3RyYWN0IERhdGE6IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGF0aSBkZWwgZ3JhZmljbyBpbiBtb2RhbGl0w6AgcGFnaW5hdGEsIHBlciBxdWFuZG8gdHV0dGUgbGUgcGFnaW5lIHNvbm8gcHJlY2FyaWNhdGUgaW4gbWVtb3JpYSAoaW4gY2FzbyBjb250cmFyaW8gdmVycmViYmVyw7IgdXRpbGl6emF0aSBpICoqRGF0YUR0b3MqKilcclxuICAgKi9cclxuICBhYnN0cmFjdCBEYXRhQXJyYXk6IFBhZ2VkQ2hhcnREYXRhPGFueT5bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5kaWNhIGxlIHByb3ByaWV0w6Agc3BlY2lmaWNhIHBlciB1bmEgZGF0YSBpbXBsZW1lbnRhemlvbmUgY2hlIGRldm9ubyBjYXVzYXJlIHVuIHJlcGFpbnQgZGVsIGdyYWZpY29cclxuICAgKi9cclxuICBhYnN0cmFjdCBnZXRTcGVjaWZpY1Byb3BlcnRpZXNUb0NoZWNrKCk6IHN0cmluZ1tdO1xyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gZ2VuZXJpY28gZGkgZ3JhZmljYXppb25lLCByZWltcGxlbWVudGF0byBkYWxsZSB2YXJpZSBpbXBsZW1lbnRhemlvbmlcclxuICAgKi9cclxuICBhYnN0cmFjdCBncmFwaGljYXRlKGNhc3RlZFNldHRpbmdzKTogSUJhc2VTZXJ2aWNlPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBnZW5lcmljbyBjaGUgcHJlbmRlIGxlIGltcG9zdGF6aW9uaSBnZW5lcmljaGUgZGVsIGdyYWZpY28gZSBsZSBjYXN0YSBhbGxhIHRpcG9sb2dpYSBnaXVzdGEgcGVyIGlsIGdyYWZpY28gc3BlY2lmaWNvXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgZ2V0Q2FzdGVkU2V0dGluZ3MoKTogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hlIFwiUmllbXBpZVwiIGxhIGNsYXNzZSBkZWxsZSBpbXBvc3RhemlvbmkgY29uIHR1dHRlIGxlIGltcG9zdGF6aW9uaSBzcGVjaWZpY2hlIHBhc3NhdGUgYSB1biBkYXRvIGdyYWZpY28gY29tZSBJbnB1dFxyXG4gICAqL1xyXG4gIGFic3RyYWN0IGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29zdHJ1dHRvcmVcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge0VsZW1lbnRSZWZ9IGVsIENvbnRlbml0b3JlIGFsbCdpbnRlcm5vIGRlbCBjdWkgdmllbmUgY3JlYXRvIGlsIGdyYWZpY28uIFV0aWxpenphdG8gcGVyIGVzdHJhcG9sYXJuZSBsYSAqKkNvbnRhaW5lckhlaWdodCoqXHJcbiAgICogQHBhcmFtIHtPYmplY3R9IHBsYXRmb3JtSWQgcGlhdHRhZm9ybWEgQW5ndWxhciAoYnJvd3NlciwgZWNjLi4uKSBwZXIgZXNzZXJlIHNpY3VyaSBjaGUgYW1jaGFydHMgdmVuZ2EgYXR0aXZhdG8gc29sbyBsYXRvIGJyb3dzZXIuIE5vbiB1dGlsaXp6YW5kbyBTU1IgbmVsbGUgYXBwbGljYXppb25pIGNoZSBjb25zdW1hbm8gcXVlc3RhIGxpYnJlcmlhIG5vbiDDqCBwYXJ0aWNvbGFybWVudGUgc2lnbmlmaWNhdGl2bywgbWEgbm9uIHNpIHNhIG1haVxyXG4gICAqIEBwYXJhbSB7Tmdab25lfSB6b25lIE5nWm9uZSBkaSBkZWZhdWx0IHBlciBwZXJtZXR0ZXJlIGRpIGluaXppYWxpenphcmUgaWwgZ3JhZmljbyBhbGwnaW5mdW9yaSBkaSBBbmd1bGFyIHBlciBhdmVyZSBxdWFsY2hlIHByZXN0YXppb25lIGluIHBpw7lcclxuICAgKiBAcGFyYW0ge0NoYXJ0TG9hZGVyfSBDaGFydGVyIElzdGFuemEgZGVsIExvYWRlciBjaGUgc2kgb2NjdXBlcsOgIGRpIGNhcmljYXJlIGluIG1lbW9yaWEgdHV0dG8gY2nDsiBjaGUgc2VydmUgcGVyIGlsIGdyYWZpY28gYXR0dWFsZSAodGVtaSwgbG9jYWxlLCBhbmltYXppb25pLCBlY2MuLi4pXHJcbiAgICogQHBhcmFtIHtDaGFydERpc3BhdGNoZXJ9IERpc3BhdGNoZXIgSXN0YW56YSBkZWwgRGlzcGF0Y2hlciBjaGUgc2kgb2NjdXBhIGRpIGRpZmZlcmlyZSBpbCBjYXJpY2FtZW50byBkZWkgZ3JhZmljaSAxIGRvcG8gbCdhbHRybyBpbiBtb2RvIGNoZSBjYXJpY2FtZW50aSBwc2V1ZG8gcGFyYWxsZWxpIGluY2FzaW5pbm8gdHV0dG9cclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGxvZ3MgSW5kaWNhIHNlIGVmZmV0dHVhcmUgbG9nIGEgY29uc29sZSBvIG1lbm8sIGluaWV0dGF0byBkYWxsZSBjbGFzc2kgc3BlY2lhbGl6emF0ZSBkYWwgdG9rZW4gRVNDX0xPR1NcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFuaW1hdGlvbnMgSW5kaWNhIHNlIHBlciBxdWVzdG8gZ3JhZmljbyBkZXZvbm8gZXNzZXJlIGF0dGl2ZSBvIG1lbm8gbGUgYW5pbWF6aW9uaS4gSW1wb3N0YXppb25lIGdlbmVyaWNhIHByZXNhIGRhbCB0b2tlbiBFU0NfQU5JTUFUSU9OU1xyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgSW5kaWNhIGlsIGxvY2FsZSBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvLiBJbXBvc3RhemlvbmUgZ2VuZXJpY2EgcHJlc2EgZGFsIExvY2FsaXphdGlvblNlcnZpY2VcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGhlbWUgSW5kaWNhIGlsIHRlbWEgc3BlY2lmaWNvIHBlciBxdWVzdG8gZ3JhZmljby4gSW1wb3N0YXppb25lIGdlbmVyaWNhIHByZXNhIGRhbCB0b2tlbiBFU0NfVEhFTUVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdCwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsIHByaXZhdGUgQ2hhcnRlcjogQ2hhcnRMb2FkZXIsIHByaXZhdGUgRGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGxvZ3M6IGJvb2xlYW4sXHJcbiAgICBwcml2YXRlIGFuaW1hdGlvbnM6IGJvb2xlYW4sIHByaXZhdGUgbG9jYWxlOiBzdHJpbmcsIHByaXZhdGUgdGhlbWU6IHN0cmluZykgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBkaSBpbml6aWFsaXp6YXppb25lIHBvc3QgdmFsb3JpenphemlvbmUgZGVnbGkgaW5wdXQsIHV0aWxpenphdG8gcGVyIHZhbG9yaXp6YXJlIGNvcnJldHRhbWVudGUgbGUgcHJvcHJpZXTDoCBlc3NlbnppYWxpIGRlbCBncmFmaWNvIChBbmltYXppb25pLCBUZW1hIGUgTG9jYWxlKVxyXG4gICAqIFxyXG4gICAqIFZpZW5lIGRhdGEgcHJpb3JpdMOgIGFpIFNldHRpbmdzIChIVE1MKSwgcHJpb3JpdMOgIHNlY29uZGFyaWEgYWdsaSBJbnB1dCBkaXJldHRpIChMYXRvIEhUTUwpLCBwcmlvcml0w6AgdWx0aW1hIGFsbGUgaW1wb3N0YXppb25pIGdsb2JhbGksXHJcbiAgICogaW1wb3N0YXRlIGluIGZhc2UgZGkgaW1wb3J0IGRlbCBtb2R1bG8gYXNzZWduYW5kbyB2YWxvcmkgYWkgdG9rZW4gRVNDX0FOSU1BVElPTlMsIEVTQ19USEVNRVxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gUXVpIHNlcnZvbm8gc29sbyBsZSB2YXJpYWJpbGkgZGEgY29ub3NjZXJlIFBSRS1ncmFmaWNhemlvbmUgcGVyIGlsIGNhcmljYW1lbnRvIGRlaSBtb2R1bGkgbGF6eSBkZWwgZ3JhZmljb1xyXG5cclxuICAgIHRoaXMuQW5pbWF0aW9ucyA9IHRoaXMuU2V0dGluZ3M/LkFuaW1hdGlvbnMgIT0gbnVsbCA/IHRoaXMuU2V0dGluZ3M/LkFuaW1hdGlvbnMgOiAodGhpcy5BbmltYXRpb25zICE9IG51bGwgPyB0aGlzLkFuaW1hdGlvbnMgOiB0aGlzLmFuaW1hdGlvbnMpXHJcbiAgICB0aGlzLlRoZW1lID0gdGhpcy5TZXR0aW5ncz8uVGhlbWUgIT0gbnVsbCA/IHRoaXMuU2V0dGluZ3M/LlRoZW1lIDogKHRoaXMuVGhlbWUgIT0gbnVsbCA/IHRoaXMuVGhlbWUgOiA8YW55PnRoaXMudGhlbWUpXHJcbiAgICB0aGlzLkxvY2FsZSA9IHRoaXMuU2V0dGluZ3M/LkxvY2FsZSAhPSBudWxsID8gdGhpcy5TZXR0aW5ncz8uTG9jYWxlIDogKHRoaXMuTG9jYWxlICE9IG51bGwgPyB0aGlzLkxvY2FsZSA6IHRoaXMubG9jYWxlKVxyXG5cclxuICAgIHRoaXMuaXNQYWdlZCA9ICh0aGlzLkRhdGFBcnJheSAmJiB0aGlzLkRhdGFBcnJheS5sZW5ndGggPiAwICYmICF0aGlzLkRhdGEpIHx8ICh0aGlzLkRhdGFEdG9zICYmIHRoaXMuRGF0YUR0b3MubGVuZ3RoID4gMCAmJiAhIXRoaXMuRGF0YVJldHJpZXZlKTtcclxuICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogbmdPbkluaXRcIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhemlvbmUgdXRpbGl6emF0YSBwZXIgY29udHJvbGxhcmUgZXZlbnR1YWxpIHByb3ByaWV0w6AgY2hpYXZlIGRlbCBncmFmaWNvIGUgcmlncmFmaWNhcmUgdHV0dG8gcXVhbG9yYSBzaSByaXZlbGFzc2UgbmVjZXNzYXJpb1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlcyBJbmRpY2F6aW9uZSBkZWkgY2FtYmlhbWVudGkgc3VsbGUgcHJvcHJpZXTDoCBkZWwgZ3JhZmljby4gVmVkZXJlIGRvY3VtZW50YXppb25lIEFuZ3VsYXIgaW4gbWVyaXRvXHJcbiAgICovXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKCF0aGlzLmluaXREb25lKVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgdGhpcy5sb2coXCJDaGFydCBcIiArIHRoaXMubmFtZSArIFwiOiBuZ09uQ2hhbmdlc1wiKTtcclxuXHJcbiAgICBsZXQgcHJvcHNUb0NoZWNrID0gW1wiVGltZWxpbmVcIiwgXCJMZWdlbmRcIiwgXCJTZXR0aW5nc1wiLCBcIkFuaW1hdGlvbnNcIiwgXCJUaGVtZVwiLCBcIkxvY2FsZVwiLCAuLi50aGlzLmdldFNwZWNpZmljUHJvcGVydGllc1RvQ2hlY2soKV07XHJcbiAgICB0aGlzLmNoZWNrUHJvcGVydGllc0FuZFJlZ3JhcGhpY2F0ZUFzTmVlZGVkKGNoYW5nZXMsIHByb3BzVG9DaGVjayk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZWwgcG9zdCBpbml6aWFsaXp6YXppb25lLCBhIHBhdHRvIGNoZSBtaSB0cm92aSBpbiBhbWJpZW50ZSBcImJyb3dzZXJcIiwgcHJvc2VndW8gYWwgY2FyaWNhbWVudG8gZGVsIGdyYWZpY28gc3VsbCdIVE1MXHJcbiAgICovXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpXHJcbiAgICAgIHRocm93IFwiYSBVbmlxdWUgbmFtZSBpcyBtYW5kYXRvcnkgdG8gY3JlYXRlIGEgY2hhcnRcIjtcclxuXHJcbiAgICB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgdGhpcy5uYW1lICsgXCI6IG5nQWZ0ZXJWaWV3SW5pdCwgZ3JhcGhpY2F0aW5nIGNoYXJ0IG91dHNpZGUgQW5ndWxhclwiKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuaXNQYWdlZClcclxuICAgICAgdGhpcy5kaXNwYXRjaExvYWRDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWxsJ29uRGVzdHJveSBzY2FyaWNvIGlsIGdyYWZpY28gcGVyIGxpYmVyYXJlIG1lbW9yaWFcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLkNoYXJ0KSB7XHJcbiAgICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogVW5sb2FkaW5nIGRlc3Ryb3llZCBjaGFydFwiKTtcclxuICAgICAgdGhpcy5icm93c2VyT25seSgoKSA9PiB7IHRoaXMuQ2hhcnQuZGlzcG9zZSgpOyB0aGlzLkRpc3BhdGNoZXIuZGVyZWdpc3RlckdyYXBoKHRoaXMubmFtZSkgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMubG9nKFwiQ2hhcnQgXCIgKyB0aGlzLm5hbWUgKyBcIjogVW5sb2FkaW5nIHVuY3JlYXRlZCBjaGFydCBjb21wb25lbnQuIEl0IHByb2JhYmx5IHdhcyBhIGR1cGxpY2F0ZWRcIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RyYSBpbCBncmFmaWNvIGF0dHVhbGUgbmVsIERpc3BhdGNoZXIgaW4gbW9kbyBjaGUgdmVuZ2EgY2FyaWNhdG8gYXBwZW5hIHBvc3NpYmlsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGlzcGF0Y2hMb2FkQ2hhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJyb3dzZXJPbmx5KCgpID0+IHtcclxuICAgICAgdGhpcy5EaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMubmFtZSwgKCkgPT4geyByZXR1cm4gdGhpcy5sb2FkQ2hhcnQoKTsgfSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWwgY2FyaWNhbWVudG8gZGVsIGdyYWZpY28gZnVuemlvbmEgbmVsIHNlZ3VlbnRlIG1vZG86XHJcbiAgICogXHJcbiAgICogMSkgQ2FyaWNhbWVudG8gZGVsIHRlbWEgZSBkZWxsZSBhbmltYXppb25pLCBxdWFsb3JhIG5lY2Vzc2FyaVxyXG4gICAqIFxyXG4gICAqIDIpIENhcmljYW1lbnRvIGRlbGxlIGltcG9zdGF6aW9uaSBzcGVjaWZpY2hlIGUgaW50ZWdyYXppb25lIGNvbiBsZSBpbXBvc3RhemlvbmkgZ2VuZXJpY2hlXHJcbiAgICogXHJcbiAgICogMykgR3JhZmljYXppb25lXHJcbiAgICogXHJcbiAgICogNCkgQ2FyaWNhbWVudG8gZGVsIGxvY2FsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9hZENoYXJ0KCkge1xyXG4gICAgdGhpcy5sb2coXCJDaGFydCBcIiArIHRoaXMubmFtZSArIFwiOiBTdGFydCBsb2FkaW5nIE1vZHVsZXMgaWYgbmVlZGVkXCIpO1xyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcclxuICAgICAgdGhpcy5zZXR1cEFtQ2hhcnRzVGhlbWVzKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2coXCJDaGFydCBcIiArIHRoaXMubmFtZSArIFwiOiBHcmFwaGljYXRpbmcgYWZ0ZXIgbW9kdWxlcyBsb2FkXCIpO1xyXG5cclxuICAgICAgICB2YXIgY2FzdGVkU2V0dGluZ3MgPSB0aGlzLmdldENhc3RlZFNldHRpbmdzKCk7XHJcbiAgICAgICAgdGhpcy5maWxsU2V0dGluZ3MoY2FzdGVkU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuZmlsbFNwZWNpZmljU2V0dGluZ3MoY2FzdGVkU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuQ2hhcnRTZXJ2aWNlID0gdGhpcy5ncmFwaGljYXRlKGNhc3RlZFNldHRpbmdzKTtcclxuICAgICAgICB0aGlzLkNoYXJ0ID0gdGhpcy5DaGFydFNlcnZpY2UuQ2hhcnRJbnN0YW5jZTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLkNoYXJ0KSB0aGlzLmxvZyhcIkNoYXJ0IFwiICsgdGhpcy5uYW1lICsgXCI6IENvdWxkIG5vdCBjcmVhdGUgZ3JhcGhcIik7XHJcblxyXG4gICAgICAgIC8vIFVuaWNvIHB1bnRvIHJlYWxlIGluIGN1aSB2aWVuZSB1dGlsaXp6YXRvIGlsIGxvY2FsZSwgdGVoZVxyXG4gICAgICAgIHJldHVybiB0aGlzLkNoYXJ0ZXIuYXBwbHlMb2NhbGUodGhpcy5DaGFydCwgdGhpcy5Mb2NhbGUpLnRoZW4oKCkgPT4geyB0aGlzLmluaXREb25lID0gdHJ1ZTsgdGhpcy5jaGFydExvYWRlZC5lbWl0KHRoaXMpIH0pO1xyXG4gICAgICB9KVxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSaWVtcGltZW50byBkZWxsZSBpbXBvc3RhemlvbmkgbmVsbGEgY2xhc3NlIFNldHRpbmdzLiBTaSBkYW5ubyBwcmlvcml0w6AgYWkgdmFsb3JpIGdpw6AgaW1wb3N0YXRpIG5laSBTZXR0aW5ncywgXHJcbiAgICogaW50ZWdyYW5kbyBldmVudHVhbG1lbnRlIGNvbiBsZSAgcHJvcHJpZXTDoCBkZWwgZ3JhZmljb1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7QmFzZVNldHRpbmdzfSBzZXR0aW5ncyBJbXBvc3RhemlvbmkgYmFzZSByaWNldnV0ZSBkYWxsYSBzcGVjaWFsaXp6YXppb25lIGRlbCBncmFmaWNvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBmaWxsU2V0dGluZ3Moc2V0dGluZ3M6IEJhc2VTZXR0aW5ncykge1xyXG5cclxuICAgIC8vIE1lcmdlIGRlZ2xpIElucHV0IGNvbiBpIFNldHRpbmdzLCBkYW5kbyBwcmlvcml0w6AgYWkgU2V0dGluZ3NcclxuXHJcbiAgICBzZXR0aW5ncy5UaGVtZSA9IHNldHRpbmdzLlRoZW1lID8gc2V0dGluZ3MuVGhlbWUgOiB0aGlzLlRoZW1lO1xyXG4gICAgc2V0dGluZ3MuTG9jYWxlID0gc2V0dGluZ3MuTG9jYWxlID8gc2V0dGluZ3MuTG9jYWxlIDogdGhpcy5Mb2NhbGU7XHJcbiAgICBzZXR0aW5ncy5BbmltYXRpb25zID0gc2V0dGluZ3MuQW5pbWF0aW9ucyAhPSBudWxsID8gc2V0dGluZ3MuQW5pbWF0aW9ucyA6IHRoaXMuQW5pbWF0aW9ucztcclxuXHJcbiAgICBzZXR0aW5ncy5MZWdlbmQgPSBzZXR0aW5ncy5MZWdlbmQgIT0gbnVsbCA/IHNldHRpbmdzLkxlZ2VuZCA6IHRoaXMuTGVnZW5kO1xyXG4gICAgc2V0dGluZ3MuTmFtZSA9IHNldHRpbmdzLk5hbWUgPyBzZXR0aW5ncy5OYW1lIDogdGhpcy5uYW1lO1xyXG4gICAgc2V0dGluZ3MuVGltZWxpbmUgPSBzZXR0aW5ncy5UaW1lbGluZSAhPSBudWxsID8gc2V0dGluZ3MuVGltZWxpbmUgOiB0aGlzLlRpbWVsaW5lO1xyXG4gICAgc2V0dGluZ3MuQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9IHNldHRpbmdzLkFkYXB0TGFiZWxTaXplQW5kT3JpZW50YXRpb24gIT0gbnVsbCA/IHNldHRpbmdzLkFkYXB0TGFiZWxTaXplQW5kT3JpZW50YXRpb24gOiB0aGlzLkFkYXB0TGFiZWxTaXplQW5kT3JpZW50YXRpb247XHJcbiAgICBzZXR0aW5ncy5YQXhpc1RpdGxlID0gc2V0dGluZ3MuWEF4aXNUaXRsZSA/IHNldHRpbmdzLlhBeGlzVGl0bGUgOiB0aGlzLlhUaXRsZTtcclxuICAgIHNldHRpbmdzLllBeGlzVGl0bGUgPSBzZXR0aW5ncy5ZQXhpc1RpdGxlID8gc2V0dGluZ3MuWUF4aXNUaXRsZSA6IHRoaXMuWVRpdGxlO1xyXG4gICAgc2V0dGluZ3MuTGVnZW5kUG9zaXRpb24gPSBzZXR0aW5ncy5MZWdlbmRQb3NpdGlvbiA/IHNldHRpbmdzLkxlZ2VuZFBvc2l0aW9uIDogdGhpcy5MZWdlbmRQb3NpdGlvbjtcclxuICAgIHNldHRpbmdzLkhpZGVTZXJpZXNPbkxhYmVsQ2xpY2sgPSBzZXR0aW5ncy5IaWRlU2VyaWVzT25MYWJlbENsaWNrICE9IG51bGwgPyBzZXR0aW5ncy5IaWRlU2VyaWVzT25MYWJlbENsaWNrIDogdGhpcy5IaWRlU2VyaWVzT25MYWJlbENsaWNrO1xyXG4gICAgc2V0dGluZ3MuTWluR3JpZERpc3RhbmNlID0gc2V0dGluZ3MuTWluR3JpZERpc3RhbmNlICE9IG51bGwgPyBzZXR0aW5ncy5NaW5HcmlkRGlzdGFuY2UgOiB0aGlzLk1pbkdyaWREaXN0YW5jZTtcclxuICAgIHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nID8gc2V0dGluZ3MuTGVnZW5kUGFkZGluZyA6IHRoaXMuTGVnZW5kUGFkZGluZyA/PyBudWxsO1xyXG5cclxuICAgICg8YW55PnNldHRpbmdzKS5Db250YWluZXJIZWlnaHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAoPGFueT5zZXR0aW5ncykuT25TZXJpZXNDbGlja0NhbGxiYWNrID0gKHNlcmllcykgPT4geyB0aGlzLm9uU2VyaWVzQ2xpY2tlZC5lbWl0KHNlcmllcyk7IH07XHJcbiAgICAoPGFueT5zZXR0aW5ncykuT25TZWxlY3Rpb25DaGFuZ2VkQ2FsbGJhY2sgPSAoZXZlbnQ6IHsgZnJvbTogRGF0ZSwgdG86IERhdGUsIGluaXRpYWw6IGJvb2xlYW4gfSkgPT4geyB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KHsgZnJvbTogZXZlbnQuZnJvbSwgdG86IGV2ZW50LnRvLCBpbml0aWFsOiBldmVudC5pbml0aWFsIH0pOyB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbGxhIGkgY2FtYmlhbWVudGkgYXZ2ZW51dGkgYWxsZSBwcm9wcmlldMOgIGNoaWF2ZSBlIHJpZWZmZXR0dWEgbGEgZ3JhZmljYXppb25lIHF1YWxvcmEgbmVjZXNzYXJpb1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7U2ltcGxlQ2hhbmdlc30gY2hhbmdlcyBJbmRpY2F6aW9uZSBkZWxsYSBtb2RpZmljaGUgYXZ2ZW51dGUgbmVpIHZhcmkgSW5wdXRcclxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwcm9wc1RvQ2hlY2sgTGlzdGEgZGVnbGkgSW5wdXQgZGEgY29udHJvbGxhcmUgcGVyIGN1aSB1bmEgbW9kaWZpY2EgY2F1c2EgdW5hIHJpZ3JhZmljYXppb25lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjaGVja1Byb3BlcnRpZXNBbmRSZWdyYXBoaWNhdGVBc05lZWRlZChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBwcm9wc1RvQ2hlY2s6IHN0cmluZ1tdKSB7XHJcbiAgICBsZXQgdG9SZUdyYXBoaWNhdGUgPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHNUb0NoZWNrLmxlbmd0aDsgaSsrKVxyXG4gICAgICB0b1JlR3JhcGhpY2F0ZSA9IHRvUmVHcmFwaGljYXRlIHx8IChjaGFuZ2VzW3Byb3BzVG9DaGVja1tpXV0gJiYgY2hhbmdlc1twcm9wc1RvQ2hlY2tbaV1dLmN1cnJlbnRWYWx1ZSlcclxuXHJcbiAgICBpZiAodG9SZUdyYXBoaWNhdGUpXHJcbiAgICAgIHRoaXMucmVsb2FkQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bnppb25lIGNoZSBlZmZldHR1YSB1biBjYW1iaW8gZGkgcGFnaW5hIHBlciBpIGdyYWZpY2kgcGFnaW5hdGkuIFF1YWxvcmEgKipkYXRhKiogZm9zc2UgbnVsbG8gc2lnbmlmaWNhIGNoZSDDqCBpbml6aWF0byB1biBjYXJpY2FtZW50byBcclxuICAgKiBlIGFuY2hlIGxhdG8gYXBwbGljYXRpdm8gaWwgRGF0YVJldHJpZXZlIGRvdnLDoCBjb25zaWRlcmFyZSBjaGUgbCdhc3NlbnphIGRpIHZhbG9yaSBub24gw6ggYWx0cm8gY2hlIHVuJ2luZGljYXppb25lIGRpIGluaXppbyBjYXJpY2FtZW50b1xyXG4gICAqIFxyXG4gICAqIElsIGNhcmljYW1lbnRvIGRpIHF1YWxzaWFzaSBwYWdpbmEgZ2VuZXJlcsOgIGNvbXVucXVlIHVuYSBwcmltbyBldmVudG8gY29uICoqZGF0YSoqIG51bGxvIGluIG1vZG8gZGEgaW5kaWNhcmUgbCdpbml6aW8gY2FyaWNhbWVudG8gZVxyXG4gICAqIGluIHNlY29uZGEgaXN0YW56YSB1biBhbHRybyBldmVudG8gaW4gY3VpICoqZGF0YSoqIHNhcsOgIHNlbXByZSB2YWxvcml6emF0bywgbyBjb24gaWwgRHRvIGRhIHVzYXJlIHBlciByZWN1cGVyYXJlIGkgZGF0aSwgbyBjb24gaSBkYXRpXHJcbiAgICogdmVyaSBlIHByb3ByaSBnacOgIHByZXNlbnRpIG5lbCAqKkRhdGFBcnJheSoqXHJcbiAgICogXHJcbiAgICogSSBjYWxsYmFjayAqKm9uTG9hZFN0YXJ0KiogZSAqKm9uTG9hZEVuZCoqIHZlbmdvbm8gc2VtcHJlIGNoaWFtYXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHt7IGRhdGE6IExpbmVDaGFydERhdGEgfCBQaWVDaGFydERhdGEgfCBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgVmVydGljYWxDaGFydERhdGEgfCBhbnksIGluZGV4OiBudW1iZXIgfX0gbmQgSW5kaWNlIGRlbCBjYXJpY2FtZW50byBkYXRpLCBjb24gZXZlbnR1YWxtZW50ZSBnacOgIGkgZGF0aSBzZSBkaXNwb25pYmlsaVxyXG4gICAqL1xyXG4gIHB1YmxpYyBjaGFuZ2VQYWdlKG5kOiB7IGRhdGE6IExpbmVDaGFydERhdGEgfCBQaWVDaGFydERhdGEgfCBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgVmVydGljYWxDaGFydERhdGEgfCBhbnksIGluZGV4OiBudW1iZXIgfSkge1xyXG4gICAgaWYgKCFuZC5kYXRhKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ0NoYXJ0ID0gdHJ1ZTtcclxuICAgICAgLy8gU2VydmUgcGVyIGluZm9ybWFyZSBsJ2FwcGxpY2F0aXZvIGluIGxpc3RlbmluZyBzdWxsJ2luZGljZSBhdHR1YWxtZW50ZSBpbiB2aXN1YWxpenphemlvbmUuIFxyXG4gICAgICAvLyBMYSBtYW5jYW56YSBkaSBkYXRpIGluZGljYSBjaGUgbm9uIGRldm9ubyBlc3NlcmUgZWZmZXR0dWF0ZSByaWNlcmNoZSBwZXIgb3JhXHJcbiAgICAgIGlmICh0aGlzLkRhdGFSZXRyaWV2ZSlcclxuICAgICAgICB0aGlzLkRhdGFSZXRyaWV2ZShudWxsLCBuZC5pbmRleClcclxuICAgICAgdGhpcy5vbkxvYWRTdGFydC5lbWl0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5EYXRhUmV0cmlldmUpXHJcbiAgICAgIHRoaXMuRGF0YVJldHJpZXZlKG5kLmRhdGEsIG5kLmluZGV4KS50aGVuKHQgPT4geyB0aGlzLmNoYW5nZVBhZ2VEYXRhUmVjZWl2ZWQodCk7IH0pO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmNoYW5nZVBhZ2VEYXRhUmVjZWl2ZWQobmQuZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBbCB0ZXJtaW5lIGRlbCBjYXJpY2FtZW50byBkZWkgZGF0aSBkaSB1bmEgcGFnaW5hIHF1ZXN0byBtZXRvZG8gdmllbmUgY2hpYW1hdG8gcGVyIHJpZ3JhZmljYXJlIGxhIHNpdHVhemlvbmUgY29uIGkgbnVvdmkgZGF0aVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7TGluZUNoYXJ0RGF0YSB8IFBpZUNoYXJ0RGF0YSB8IFZlcnRpY2FsMkRDaGFydERhdGEgfCBWZXJ0aWNhbENoYXJ0RGF0YSB8IGFueX0gZGF0YSBEYXRpIGRlbCBncmFmaWNvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjaGFuZ2VQYWdlRGF0YVJlY2VpdmVkKGRhdGE6IExpbmVDaGFydERhdGEgfCBQaWVDaGFydERhdGEgfCBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgVmVydGljYWxDaGFydERhdGEgfCBhbnkpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYXJ0ID0gZmFsc2U7XHJcbiAgICB0aGlzLm9uTG9hZEVuZC5lbWl0KCk7XHJcbiAgICBsZXQgZmlyc3RCaW5kID0gIXRoaXMuRGF0YTtcclxuICAgIHRoaXMuRGF0YSA9IGRhdGE7XHJcblxyXG4gICAgaWYgKCFmaXJzdEJpbmQpXHJcbiAgICAgIHRoaXMucmVsb2FkQ2hhcnQoKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5kaXNwYXRjaExvYWRDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmljYXJpY2EgaWwgZ3JhZmljbyBkaXN0cnVnZ2VuZG8gaWwgdmVjY2hpbyBlIHJpY3JlYW5kbyBpbCBudW92b1xyXG4gICAqIFxyXG4gICAqIExlIGNoaWFtYXRlIGEgcXVlc3RvIG1ldG9kbyBwb3Nzb25vIGVzc2VyZSB0cmFzZm9ybWF0ZSBpbiBjaGlhbWF0ZSBhbCBtZXRvZG8gKipncmFwaGljYXRlKiogZGVsbGEgU2VydmljZSwgc2Ugc29sbyBxdWVsIG1ldG9kbyBmb3NzZSBhYmJhc3RhbnphIGludGVsbGlnZW50ZSBwZXIgY2FwaXJlXHJcbiAgICogbGUgZGlmZmVyZW56ZSBmcmEgaWwgZ3JhZmljbyBjb20nZXJhIHByaW1hIGUgY29tZSBkZXZlIGRpdmVudGFyZSwgaW4gbW9kbyBkYSBub24gcmljcmVhcmxvIG1hIHNlbXBsaWNlbWVudGUgbW9kaWZpY2FyZSBxdWVsbG8gY2hlIGdpw6Agw6ggZGlzZWduYXRvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWxvYWRDaGFydCgpIHtcclxuICAgIHRoaXMuYnJvd3Nlck9ubHkoKCkgPT4geyBpZiAoIXRoaXMuQ2hhcnQuaXNEaXNwb3NlZCgpKSB0aGlzLkNoYXJ0LmRpc3Bvc2UoKTsgdGhpcy5EaXNwYXRjaGVyLmRlcmVnaXN0ZXJHcmFwaCh0aGlzLm5hbWUpIH0pO1xyXG4gICAgdGhpcy5EaXNwYXRjaGVyLnJlZ2lzdGVyKHRoaXMubmFtZSwgKCkgPT4geyByZXR1cm4gdGhpcy5sb2FkQ2hhcnQoKTsgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQZXJtZXR0ZSBkaSBhZ2dpdW5nZXJlIHVuIGJsb2NjbyBkaSBkYXRpIGluIG1hbmllcmEgXCJsaXZlXCIgYWQgdW4gZ3JhZmljb1xyXG4gICAqL1xyXG4gIHB1YmxpYyBhZGREYXRhKGNoYXJ0RGF0YTogYW55KSB7XHJcbiAgICB0aGlzLkNoYXJ0U2VydmljZS5yZWZyZXNoRGF0YShjaGFydERhdGEpO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIEZ1bnppb25lIGNoZSBzaSBvY2N1cGEgZGkgY2FyaWNhcmUgaSB0ZW1pIG5lY2Vzc2FyaSBwZXIgaWwgZ3JhZmljbyBpbiBvZ2dldHRvLiBQcmltYSBhcHBsaWNhIGlsIHRlbWEsIHBvaSwgc2Ugc2VydmUsIGFwcGxpY2EgbGUgYW5pbWF6aW9uaVxyXG4gICAqL1xyXG4gIHByaXZhdGUgc2V0dXBBbUNoYXJ0c1RoZW1lcygpIHtcclxuICAgIHJldHVybiBQcm9taXNlLmFsbChbXHJcbiAgICAgIHRoaXMuQ2hhcnRlci5hcHBseVRoZW1lKGFtNGNvcmUsIHRoaXMuVGhlbWUpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLkFuaW1hdGlvbnMgPyB0aGlzLkNoYXJ0ZXIuYXBwbHlBbmltYXRpb25zKGFtNGNvcmUpIDogdGhpcy5DaGFydGVyLnVuYXBwbHlBbmltYXRpb25zKGFtNGNvcmUpO1xyXG4gICAgICB9KVxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBsb2cobG9nOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmxvZ3MpXHJcbiAgICAgIGNvbnNvbGUubG9nKFwiQGVzZmFlbnphL2VzLWNoYXJ0czogXCIgKyBsb2cpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wb3N0YSBsbyB6b29tIGRhbCAqKmZyb20qKiBhbCAqKnRvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge0RhdGV9IGZyb20gSW5pemlvIGRlbGxvIHpvb21cclxuICAgKiBAcGFyYW0ge0RhdGV9IHRvIEZpbmUgZGVsbG8gem9vbVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRTZWxlY3Rpb24oZnJvbTogRGF0ZSwgdG86IERhdGUpIHtcclxuICAgIHRoaXMuQ2hhcnRTZXJ2aWNlLnNldFNlbGVjdGlvbihmcm9tLCB0byk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAaWdub3JlXHJcbiAgICovXHJcbiAgYnJvd3Nlck9ubHkoZjogKCkgPT4gdm9pZCkge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICBmKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { ESC_ANIMATIONS,
|
|
2
|
+
import { ESC_ANIMATIONS, ESC_THEME, ESC_LOGS } from '../../tokens';
|
|
3
3
|
import { BaseChartComponent } from '../base/base-chart.component';
|
|
4
4
|
import { AreaChartSettings } from '../../models/settings/AreaChartSettings';
|
|
5
5
|
import { AreaChartService } from '../../services/AreaChartService';
|
|
@@ -7,8 +7,9 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "../../models/core/ChartLoader";
|
|
8
8
|
import * as i2 from "../../models/core/ChartDispatcher";
|
|
9
9
|
import * as i3 from "../../adapters/BaseAdapter";
|
|
10
|
-
import * as i4 from "@
|
|
11
|
-
import * as i5 from "
|
|
10
|
+
import * as i4 from "@esfaenza/localizations";
|
|
11
|
+
import * as i5 from "@angular/common";
|
|
12
|
+
import * as i6 from "../chart-pager/chart-pager.component";
|
|
12
13
|
/**
|
|
13
14
|
* Componente specifico per la graficazione di un grafico ad Area
|
|
14
15
|
*/
|
|
@@ -16,8 +17,8 @@ export class EsAreaChartComponent extends BaseChartComponent {
|
|
|
16
17
|
/**
|
|
17
18
|
* @ignore
|
|
18
19
|
*/
|
|
19
|
-
constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_LOGS, ESC_ANIMATIONS,
|
|
20
|
-
super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_LOGS, ESC_ANIMATIONS,
|
|
20
|
+
constructor(el, ChartLoader, ChartDispatcher, adapter, zone, platformId, ESC_LOGS, ESC_ANIMATIONS, ESC_THEME, lc) {
|
|
21
|
+
super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_LOGS, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
|
|
21
22
|
this.adapter = adapter;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
@@ -51,8 +52,8 @@ export class EsAreaChartComponent extends BaseChartComponent {
|
|
|
51
52
|
return new AreaChartService(this.adapter).graphicate(this.Data, settingsCasted);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
EsAreaChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsAreaChartComponent, 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:
|
|
55
|
-
EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsAreaChartComponent, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, 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:rgba(153,153,153,.6);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"], dependencies: [{ kind: "directive", type:
|
|
55
|
+
EsAreaChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsAreaChartComponent, 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_THEME }, { token: i4.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
+
EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsAreaChartComponent, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, 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:rgba(153,153,153,.6);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"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsAreaChartComponent, decorators: [{
|
|
57
58
|
type: Component,
|
|
58
59
|
args: [{ selector: 'es-area-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:rgba(153,153,153,.6);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"] }]
|
|
@@ -65,15 +66,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
65
66
|
}] }, { type: undefined, decorators: [{
|
|
66
67
|
type: Inject,
|
|
67
68
|
args: [ESC_ANIMATIONS]
|
|
68
|
-
}] }, { type: undefined, decorators: [{
|
|
69
|
-
type: Inject,
|
|
70
|
-
args: [ESC_LOCALE]
|
|
71
69
|
}] }, { type: undefined, decorators: [{
|
|
72
70
|
type: Inject,
|
|
73
71
|
args: [ESC_THEME]
|
|
74
|
-
}] }]; }, propDecorators: { Data: [{
|
|
72
|
+
}] }, { type: i4.LocalizationService }]; }, propDecorators: { Data: [{
|
|
75
73
|
type: Input
|
|
76
74
|
}], DataArray: [{
|
|
77
75
|
type: Input
|
|
78
76
|
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtYXJlYS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1hcmVhLWNoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9iYXNlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQVUsdUJBQXVCLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFLbkgsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBS2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7OztBQUluRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxrQkFBa0I7SUFZMUQ7O09BRUc7SUFDSCxZQUFZLEVBQWMsRUFBRSxXQUF3QixFQUFFLGVBQWdDLEVBQVUsT0FBb0IsRUFBRSxJQUFZLEVBQzNHLFVBQWtCLEVBQ3JCLFFBQWlCLEVBQ1gsY0FBdUIsRUFDNUIsU0FBaUIsRUFDcEMsRUFBdUI7UUFDdkIsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTlosWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQU9wSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCw0QkFBNEI7UUFDMUIsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQjtRQUNmLE9BQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLGNBQWlDO0lBRXRELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFVBQVUsQ0FBQyxjQUFpQztRQUMxQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBZ0IsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRyxDQUFDOztpSEF6RFUsb0JBQW9CLHVKQWdCckIsV0FBVyxhQUNYLFFBQVEsYUFDUixjQUFjLGFBQ2QsU0FBUztxR0FuQlIsb0JBQW9CLDhIQzFCakMsd2pDQW1Cd0k7MkZETzNILG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxlQUFlLG1CQUdSLHVCQUF1QixDQUFDLE1BQU07OzBCQWtCNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFNBQVM7OEVBZFYsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBJbmplY3QsIFBMQVRGT1JNX0lELCBOZ1pvbmUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnQGVzZmFlbnphL2xvY2FsaXphdGlvbnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycy9CYXNlQWRhcHRlcic7XHJcbmltcG9ydCB7IEVTQ19BTklNQVRJT05TLCBFU0NfVEhFTUUsIEVTQ19MT0dTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuXHJcbmltcG9ydCB7IEJhc2VDaGFydENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgQ2hhcnRMb2FkZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvcmUvQ2hhcnRMb2FkZXJcIjtcclxuaW1wb3J0IHsgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0RGlzcGF0Y2hlclwiO1xyXG5cclxuaW1wb3J0IHsgQXJlYUNoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MvQXJlYUNoYXJ0U2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvQXJlYUNoYXJ0U2VydmljZSc7XHJcbmltcG9ydCB7IEFyZWFDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS9BcmVhQ2hhcnREYXRhJztcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS9QYWdlZENoYXJ0RGF0YSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBzcGVjaWZpY28gcGVyIGxhIGdyYWZpY2F6aW9uZSBkaSB1biBncmFmaWNvIGFkIEFyZWFcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZXMtYXJlYS1jaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNBcmVhQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2hhcnRDb21wb25lbnQge1xyXG5cclxuICAvKipcclxuICAgKiBEYXRpIHNwZWNpZmljaSBwZXIgaWwgZ3JhZmljbyBvIGRpIHVuIHRpcG8gdHJhbXV0YWJpbGUgYWwgdGlwbyAqKkFyZWFDaGFydERhdGEqKiBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGE6IEFyZWFDaGFydERhdGEgfCBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIExpc3RhIGRpIERhdGkgc3BlY2lmaWNpIHBlciB1biBncmFmaWNvIHBhZ2luYXRvIG8gZGkgY3VpIG9nbmkgYmxvY2NvIGRhdGkgw6ggdHJhbXV0YWJpbGUgYWwgdGlwbyAqKkFyZWFDaGFydERhdGEqKiBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFBcnJheTogUGFnZWRDaGFydERhdGE8QXJlYUNoYXJ0RGF0YT5bXSB8IFBhZ2VkQ2hhcnREYXRhPGFueT5bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGFkYXB0ZXI6IEJhc2VBZGFwdGVyLCB6b25lOiBOZ1pvbmUsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBPYmplY3QsXHJcbiAgICBASW5qZWN0KEVTQ19MT0dTKSBFU0NfTE9HUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0FOSU1BVElPTlMpIEVTQ19BTklNQVRJT05TOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nLFxyXG4gICAgbGM6IExvY2FsaXphdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGVsLCBwbGF0Zm9ybUlkLCB6b25lLCBDaGFydExvYWRlciwgQ2hhcnREaXNwYXRjaGVyLCBFU0NfTE9HUywgRVNDX0FOSU1BVElPTlMsIGxjLkxvY2FsZSwgRVNDX1RIRU1FKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE90dGllbmUgbGUgcHJvcHJpZXTDoCBzcGVjaWZpY2hlIHBlciBxdWVzdGEgdGlwb2xvZ2lhIGRpIGdyYWZpY28gcGVyIGN1aSBzZXJ2ZSByaWdyYWZpY2FyZVxyXG4gICAqL1xyXG4gIGdldFNwZWNpZmljUHJvcGVydGllc1RvQ2hlY2soKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFtcIkRhdGFcIiwgXCJEYXRhQXJyYXlcIl07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGkgU2V0dGluZ3MgKEVyZWRpdGF0aSBkYWxsYSBjbGFzc2UgYmFzZSwgcXVpbmRpIGRlbCB0aXBvIGdlbmVyaWNvICoqQmFzZVNldHRpbmdzKiopIGNhc3RhdGkgYWwgdGlwbyBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge0FyZWFDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKTogQXJlYUNoYXJ0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIDxBcmVhQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgQXJlYUNoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtBcmVhQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBBcmVhQ2hhcnRTZXR0aW5ncyk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVmZmV0dHVhIGlsIHJlbmRlcmluZyBkaSBxdWVzdG8gZ3JhZmljbyBpbiBiYXNlIGFpIFNldHRpbmdzXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtBcmVhQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgSW1wb3N0YXppb25pIGRpIGdyYWZpY2F6aW9uZVxyXG4gICAqIEByZXR1cm5zIHtBcmVhQ2hhcnRTZXJ2aWNlfSBMYSBzZXJ2aWNlIHV0aWxpenphdGEgcGVyIGlsIHJlbmRlcmluZyBuZWxsbyBzdGF0byBzdWJpdG8gc3VjY2Vzc2l2byBhbCByZW5kZXJpbmcgZWZmZXR0dWF0b1xyXG4gICAqL1xyXG4gIGdyYXBoaWNhdGUoc2V0dGluZ3NDYXN0ZWQ6IEFyZWFDaGFydFNldHRpbmdzKTogYW55IHtcclxuICAgIHJldHVybiBuZXcgQXJlYUNoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPEFyZWFDaGFydERhdGE+dGhpcy5EYXRhLCBzZXR0aW5nc0Nhc3RlZCk7XHJcbiAgfVxyXG59IiwiPGNoYXJ0LXBhZ2VyICpuZ0lmPVwiaXNQYWdlZFwiIChvblBhZ2VDaGFuZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCIgW0l0ZW1zXT1cIkRhdGFBcnJheVwiIFtEdG9zXT1cIkRhdGFEdG9zXCIgW1N0YXJ0SW5kZXhdPVwiRGF0YUR0b1N0YXJ0SW5kZXhcIlxyXG4gICAgW0Jyb3dzZURlbGF5TXNdPVwiQnJvd3NlRGVsYXlNc1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJfaW5uZXIgbGV0LWhlYWRlckl0ZW0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcl90cjsgY29udGV4dCA6IHskaW1wbGljaXQ6IGhlYWRlckl0ZW19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2NoYXJ0LXBhZ2VyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiBsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nX3RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmICFsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXNjLWxvYWRpbmctb3ZlcmxheVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Mb2FkaW5nLi4uLjwvcD5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgW2NsYXNzLmhpZGUtYmxvY2tdPVwibG9hZGluZ0NoYXJ0XCIgaWQ9XCJ7e25hbWV9fVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPjwvZGl2PiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Inject, PLATFORM_ID, ChangeDetectionStrategy } from '@angular/core';
|
|
2
|
-
import { ESC_ANIMATIONS,
|
|
2
|
+
import { ESC_ANIMATIONS, ESC_THEME, ESC_LOGS } from '../../tokens';
|
|
3
3
|
import { BaseChartComponent } from '../base/base-chart.component';
|
|
4
4
|
// Services
|
|
5
5
|
import { LineChartService } from "../../services/LineChartService";
|
|
@@ -20,8 +20,9 @@ import * as i1 from "../../models/core/ChartLoader";
|
|
|
20
20
|
import * as i2 from "../../models/core/ChartDispatcher";
|
|
21
21
|
import * as i3 from "@esfaenza/extensions";
|
|
22
22
|
import * as i4 from "../../adapters/BaseAdapter";
|
|
23
|
-
import * as i5 from "@
|
|
24
|
-
import * as i6 from "
|
|
23
|
+
import * as i5 from "@esfaenza/localizations";
|
|
24
|
+
import * as i6 from "@angular/common";
|
|
25
|
+
import * as i7 from "../chart-pager/chart-pager.component";
|
|
25
26
|
/**
|
|
26
27
|
* Componente specifico per la graficazione di un qualsiasi tipo di grafico.
|
|
27
28
|
*
|
|
@@ -31,8 +32,8 @@ export class EsChartComponent extends BaseChartComponent {
|
|
|
31
32
|
/**
|
|
32
33
|
* @ignore
|
|
33
34
|
*/
|
|
34
|
-
constructor(el, ChartLoader, ChartDispatcher, dateService, adapter, zone, platformId, ESC_LOGS, ESC_ANIMATIONS,
|
|
35
|
-
super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_LOGS, ESC_ANIMATIONS,
|
|
35
|
+
constructor(el, ChartLoader, ChartDispatcher, dateService, adapter, zone, platformId, ESC_LOGS, ESC_ANIMATIONS, ESC_THEME, lc) {
|
|
36
|
+
super(el, platformId, zone, ChartLoader, ChartDispatcher, ESC_LOGS, ESC_ANIMATIONS, lc.Locale, ESC_THEME);
|
|
36
37
|
this.dateService = dateService;
|
|
37
38
|
this.adapter = adapter;
|
|
38
39
|
}
|
|
@@ -94,8 +95,8 @@ export class EsChartComponent extends BaseChartComponent {
|
|
|
94
95
|
}
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
|
-
EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.DateService }, { token: i4.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token:
|
|
98
|
-
EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsChartComponent, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, 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:rgba(153,153,153,.6);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"], dependencies: [{ kind: "directive", type:
|
|
98
|
+
EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: i1.ChartLoader }, { token: i2.ChartDispatcher }, { token: i3.DateService }, { token: i4.BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i5.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
99
|
+
EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsChartComponent, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, 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:rgba(153,153,153,.6);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"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i7.PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
99
100
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsChartComponent, decorators: [{
|
|
100
101
|
type: Component,
|
|
101
102
|
args: [{ selector: 'es-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:rgba(153,153,153,.6);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"] }]
|
|
@@ -108,17 +109,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
108
109
|
}] }, { type: undefined, decorators: [{
|
|
109
110
|
type: Inject,
|
|
110
111
|
args: [ESC_ANIMATIONS]
|
|
111
|
-
}] }, { type: undefined, decorators: [{
|
|
112
|
-
type: Inject,
|
|
113
|
-
args: [ESC_LOCALE]
|
|
114
112
|
}] }, { type: undefined, decorators: [{
|
|
115
113
|
type: Inject,
|
|
116
114
|
args: [ESC_THEME]
|
|
117
|
-
}] }]; }, propDecorators: { Type: [{
|
|
115
|
+
}] }, { type: i5.LocalizationService }]; }, propDecorators: { Type: [{
|
|
118
116
|
type: Input
|
|
119
117
|
}], Data: [{
|
|
120
118
|
type: Input
|
|
121
119
|
}], DataArray: [{
|
|
122
120
|
type: Input
|
|
123
121
|
}] } });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUluSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBYWxFLFdBQVc7QUFDWCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkUsV0FBVztBQUNYLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFD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TyxDQUFDLENBQUMsVUFBVSxDQUFzQixJQUFJLENBQUMsSUFBSSxFQUEyQixRQUFRLENBQUMsQ0FBQztZQUNoSSxLQUFLLGtCQUFrQjtnQkFDckIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQTJCLElBQUksQ0FBQyxJQUFJLEVBQWdDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hKO0lBQ0gsQ0FBQzs7NkdBOUZVLGdCQUFnQixrTEEyQmpCLFdBQVcsYUFDWCxRQUFRLGFBQ1IsY0FBYyxhQUNkLFVBQVUsYUFDVixTQUFTO2lHQS9CUixnQkFBZ0IsdUlDOUM3Qix3akNBbUJ3STsyRkQyQjNILGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07OzBCQTZCNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLFNBQVM7NENBMUJWLElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX0xPQ0FMRSwgRVNDX1RIRU1FLCBFU0NfTE9HUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0RGlzcGF0Y2hlclwiO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydExvYWRlclwiO1xyXG5cclxuLy8gRGF0YVxyXG5pbXBvcnQgeyBMaW5lQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL0xpbmVDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGllQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1BpZUNoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS9WZXJ0aWNhbENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsMkRDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL0FyZWFDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvUGFnZWRDaGFydERhdGFcIjtcclxuXHJcbi8vIFNlcnZpY2VzXHJcbmltcG9ydCB7IExpbmVDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvTGluZUNoYXJ0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBQaWVDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvUGllQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL1ZlcnRpY2FsQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvVmVydGljYWwyRENoYXJ0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFyZWFDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvQXJlYUNoYXJ0U2VydmljZVwiO1xyXG5cclxuLy8gU2V0dGluZ3NcclxuaW1wb3J0IHsgUGllQ2hhcnRTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2V0dGluZ3MvUGllQ2hhcnRTZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnRTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2V0dGluZ3MvQXJlYUNoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgVmVydGljYWxDaGFydFNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbENoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgVmVydGljYWwyRENoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsMkRDaGFydFNldHRpbmdzXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgTGluZUNoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL0xpbmVDaGFydFNldHRpbmdzXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBzcGVjaWZpY28gcGVyIGxhIGdyYWZpY2F6aW9uZSBkaSB1biBxdWFsc2lhc2kgdGlwbyBkaSBncmFmaWNvLlxyXG4gKiBcclxuICogU2kgYmFzYSBzdWwgdGlwbyBzcGVjaWZpY2F0byBkYWxsYSBwcm9wcmlldMOgICoqVHlwZSoqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VzLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL2Jhc2UvYmFzZS1jaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc0NoYXJ0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUNoYXJ0Q29tcG9uZW50IHtcclxuXHJcbiAgLyoqXHJcbiAgICogVGlwb2xvZ2lhIGRpIGdyYWZpY28gZGEgcHJlc2VudGFyZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIFR5cGU6ICdwaWUnIHwgJ2xpbmUnIHwgJ3ZlcnRpY2FsJyB8ICd2ZXJ0aWNhbC0yZCcgfCAndmVydGljYWwtc3RhY2tlZCcgfCAnYXJlYSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERhdGkgc3BlY2lmaWNpIHBlciBpbCBncmFmaWNvIG8gZGkgdW4gdGlwbyB0cmFtdXRhYmlsZSBhbCB0aXBvIGdpdXN0byBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGE6IExpbmVDaGFydERhdGEgfCBQaWVDaGFydERhdGEgfCBWZXJ0aWNhbDJEQ2hhcnREYXRhIHwgVmVydGljYWxDaGFydERhdGEgfCBWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGEgfCBBcmVhQ2hhcnREYXRhIHwgYW55O1xyXG5cclxuICAvKipcclxuICAgKiBMaXN0YSBkaSBEYXRpIHNwZWNpZmljaSBwZXIgdW4gZ3JhZmljbyBwYWdpbmF0byBvIGRpIGN1aSBvZ25pIGJsb2NjbyBkYXRpIMOoIHRyYW11dGFiaWxlIGFsIHRpcG8gZ2l1c3RvIGNvbCBzdXBwb3J0byBkZWwgKipCYXNlQWRhcHRlcioqXHJcbiAgICovXHJcbiAgQElucHV0KCkgRGF0YUFycmF5OiBQYWdlZENoYXJ0RGF0YTxMaW5lQ2hhcnREYXRhPltdXHJcbiAgICB8IFBhZ2VkQ2hhcnREYXRhPFBpZUNoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbDJEQ2hhcnREYXRhPltdXHJcbiAgICB8IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsQ2hhcnREYXRhPltdXHJcbiAgICB8IFBhZ2VkQ2hhcnREYXRhPFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxBcmVhQ2hhcnREYXRhPltdXHJcbiAgICB8IFBhZ2VkQ2hhcnREYXRhPGFueT5bXTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGlnbm9yZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBDaGFydExvYWRlcjogQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlcjogQ2hhcnREaXNwYXRjaGVyLCBwcml2YXRlIGRhdGVTZXJ2aWNlOiBEYXRlU2VydmljZSwgcHJpdmF0ZSBhZGFwdGVyOiBCYXNlQWRhcHRlciwgem9uZTogTmdab25lLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxyXG4gICAgQEluamVjdChFU0NfTE9HUykgRVNDX0xPR1M6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19BTklNQVRJT05TKSBFU0NfQU5JTUFUSU9OUzogYm9vbGVhbixcclxuICAgIEBJbmplY3QoRVNDX0xPQ0FMRSkgRVNDX0xPQ0FMRTogc3RyaW5nLFxyXG4gICAgQEluamVjdChFU0NfVEhFTUUpIEVTQ19USEVNRTogc3RyaW5nKSB7XHJcbiAgICBzdXBlcihlbCwgcGxhdGZvcm1JZCwgem9uZSwgQ2hhcnRMb2FkZXIsIENoYXJ0RGlzcGF0Y2hlciwgRVNDX0xPR1MsIEVTQ19BTklNQVRJT05TLCBFU0NfTE9DQUxFLCBFU0NfVEhFTUUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBsZSBwcm9wcmlldMOgIHNwZWNpZmljaGUgcGVyIHF1ZXN0YSB0aXBvbG9naWEgZGkgZ3JhZmljbyBwZXIgY3VpIHNlcnZlIHJpZ3JhZmljYXJlXHJcbiAgICovXHJcbiAgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1wiRGF0YVwiLCBcIlR5cGVcIl07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGkgU2V0dGluZ3MgKEVyZWRpdGF0aSBkYWxsYSBjbGFzc2UgYmFzZSwgcXVpbmRpIGRlbCB0aXBvIGdlbmVyaWNvICoqQmFzZVNldHRpbmdzKiopIGNhc3RhdGkgYWwgdGlwbyBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1BpZUNoYXJ0U2V0dGluZ3MgfCBBcmVhQ2hhcnRTZXR0aW5ncyB8IExpbmVDaGFydFNldHRpbmdzIHwgVmVydGljYWxDaGFydFNldHRpbmdzIHwgVmVydGljYWwyRENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuVHlwZSkge1xyXG4gICAgICBjYXNlICdwaWUnOlxyXG4gICAgICAgIHJldHVybiA8UGllQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgUGllQ2hhcnRTZXR0aW5ncygpKTtcclxuICAgICAgY2FzZSAnYXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIDxBcmVhQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgQXJlYUNoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgICAgIGNhc2UgJ2xpbmUnOlxyXG4gICAgICAgIHJldHVybiA8TGluZUNoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IExpbmVDaGFydFNldHRpbmdzKCkpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XHJcbiAgICAgICAgcmV0dXJuIDxWZXJ0aWNhbENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncygpKTtcclxuICAgICAgY2FzZSAndmVydGljYWwtMmQnOlxyXG4gICAgICAgIHJldHVybiA8VmVydGljYWwyRENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzKCkpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbC1zdGFja2VkJzpcclxuICAgICAgICByZXR1cm4gPFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtQaWVDaGFydFNldHRpbmdzIHwgQXJlYUNoYXJ0U2V0dGluZ3MgfCBMaW5lQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHwgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBQaWVDaGFydFNldHRpbmdzIHwgQXJlYUNoYXJ0U2V0dGluZ3MgfCBMaW5lQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHwgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgLy8gTm9wZS4gU2Ugc2kgdXNhIGwnZXMtY2hhcnQgc2kgZGFubm8gaSBzZXR0aW5ncyBjb24gbCdvZ2dldHRvXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZmZldHR1YSBpbCByZW5kZXJpbmcgZGkgcXVlc3RvIGdyYWZpY28gaW4gYmFzZSBhaSBTZXR0aW5nc1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7UGllQ2hhcnRTZXR0aW5ncyB8IEFyZWFDaGFydFNldHRpbmdzIHwgTGluZUNoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIEltcG9zdGF6aW9uaSBkaSBncmFmaWNhemlvbmVcclxuICAgKiBAcmV0dXJucyB7UGllQ2hhcnRTZXJ2aWNlIHwgQXJlYUNoYXJ0U2VydmljZSB8IExpbmVDaGFydFNlcnZpY2UgfCBWZXJ0aWNhbENoYXJ0U2VydmljZSB8IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfCBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nczogUGllQ2hhcnRTZXR0aW5ncyB8IEFyZWFDaGFydFNldHRpbmdzIHwgTGluZUNoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgc3dpdGNoICh0aGlzLlR5cGUpIHtcclxuICAgICAgY2FzZSAncGllJzpcclxuICAgICAgICByZXR1cm4gbmV3IFBpZUNoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFBpZUNoYXJ0RGF0YT50aGlzLkRhdGEsIDxQaWVDaGFydFNldHRpbmdzPnNldHRpbmdzKTtcclxuICAgICAgY2FzZSAnYXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcmVhQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8QXJlYUNoYXJ0RGF0YT50aGlzLkRhdGEsIDxBcmVhQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICAgIGNhc2UgJ2xpbmUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgTGluZUNoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIsIHRoaXMuZGF0ZVNlcnZpY2UpLmdyYXBoaWNhdGUoPExpbmVDaGFydERhdGE+dGhpcy5EYXRhLCA8TGluZUNoYXJ0U2V0dGluZ3M+c2V0dGluZ3MpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBWZXJ0aWNhbENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsQ2hhcnREYXRhPnRoaXMuRGF0YSwgPFZlcnRpY2FsQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsLTJkJzpcclxuICAgICAgICByZXR1cm4gbmV3IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UodGhpcy5hZGFwdGVyKS5ncmFwaGljYXRlKDxWZXJ0aWNhbDJEQ2hhcnREYXRhPnRoaXMuRGF0YSwgPFZlcnRpY2FsMkRDaGFydFNldHRpbmdzPnNldHRpbmdzKTtcclxuICAgICAgY2FzZSAndmVydGljYWwtc3RhY2tlZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2UodGhpcy5hZGFwdGVyKS5ncmFwaGljYXRlKDxWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGE+dGhpcy5EYXRhLCA8VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiPGNoYXJ0LXBhZ2VyICpuZ0lmPVwiaXNQYWdlZFwiIChvblBhZ2VDaGFuZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCIgW0l0ZW1zXT1cIkRhdGFBcnJheVwiIFtEdG9zXT1cIkRhdGFEdG9zXCIgW1N0YXJ0SW5kZXhdPVwiRGF0YUR0b1N0YXJ0SW5kZXhcIlxyXG4gICAgW0Jyb3dzZURlbGF5TXNdPVwiQnJvd3NlRGVsYXlNc1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJfaW5uZXIgbGV0LWhlYWRlckl0ZW0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcl90cjsgY29udGV4dCA6IHskaW1wbGljaXQ6IGhlYWRlckl0ZW19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2NoYXJ0LXBhZ2VyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiBsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nX3RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmICFsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXNjLWxvYWRpbmctb3ZlcmxheVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Mb2FkaW5nLi4uLjwvcD5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgW2NsYXNzLmhpZGUtYmxvY2tdPVwibG9hZGluZ0NoYXJ0XCIgaWQ9XCJ7e25hbWV9fVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPjwvZGl2PiJdfQ==
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXMtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBVSx1QkFBdUIsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUtuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFhbEUsV0FBVztBQUNYLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVuRSxXQUFXO0FBQ1gsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FB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QU8sQ0FBQyxDQUFDLFVBQVUsQ0FBc0IsSUFBSSxDQUFDLElBQUksRUFBMkIsUUFBUSxDQUFDLENBQUM7WUFDaEksS0FBSyxrQkFBa0I7Z0JBQ3JCLE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUEyQixJQUFJLENBQUMsSUFBSSxFQUFnQyxRQUFRLENBQUMsQ0FBQztTQUNoSjtJQUNILENBQUM7OzZHQTlGVSxnQkFBZ0Isa0xBMkJqQixXQUFXLGFBQ1gsUUFBUSxhQUNSLGNBQWMsYUFDZCxTQUFTO2lHQTlCUixnQkFBZ0IsdUlDaEQ3Qix3akNBbUJ3STsyRkQ2QjNILGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxVQUFVLG1CQUdILHVCQUF1QixDQUFDLE1BQU07OzBCQTZCNUMsTUFBTTsyQkFBQyxXQUFXOzswQkFDbEIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFNBQVM7OEVBekJWLElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEluamVjdCwgUExBVEZPUk1fSUQsIE5nWm9uZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gJ0Blc2ZhZW56YS9sb2NhbGl6YXRpb25zJztcclxuXHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMvQmFzZUFkYXB0ZXInO1xyXG5pbXBvcnQgeyBFU0NfQU5JTUFUSU9OUywgRVNDX1RIRU1FLCBFU0NfTE9HUyB9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnREaXNwYXRjaGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb3JlL0NoYXJ0RGlzcGF0Y2hlclwiO1xyXG5pbXBvcnQgeyBDaGFydExvYWRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29yZS9DaGFydExvYWRlclwiO1xyXG5cclxuLy8gRGF0YVxyXG5pbXBvcnQgeyBMaW5lQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL0xpbmVDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGllQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1BpZUNoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0RGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS9WZXJ0aWNhbENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsMkRDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL1ZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YVwiO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnREYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhL0FyZWFDaGFydERhdGFcIjtcclxuaW1wb3J0IHsgUGFnZWRDaGFydERhdGEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2RhdGEvUGFnZWRDaGFydERhdGFcIjtcclxuXHJcbi8vIFNlcnZpY2VzXHJcbmltcG9ydCB7IExpbmVDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvTGluZUNoYXJ0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBQaWVDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvUGllQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL1ZlcnRpY2FsQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvVmVydGljYWwyRENoYXJ0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFyZWFDaGFydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvQXJlYUNoYXJ0U2VydmljZVwiO1xyXG5cclxuLy8gU2V0dGluZ3NcclxuaW1wb3J0IHsgUGllQ2hhcnRTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2V0dGluZ3MvUGllQ2hhcnRTZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBBcmVhQ2hhcnRTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2V0dGluZ3MvQXJlYUNoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgVmVydGljYWxDaGFydFNldHRpbmdzIH0gZnJvbSBcIi4uLy4uL21vZGVscy9zZXR0aW5ncy9WZXJ0aWNhbENoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgVmVydGljYWwyRENoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsMkRDaGFydFNldHRpbmdzXCI7XHJcbmltcG9ydCB7IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3NcIjtcclxuaW1wb3J0IHsgTGluZUNoYXJ0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NldHRpbmdzL0xpbmVDaGFydFNldHRpbmdzXCI7XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgc3BlY2lmaWNvIHBlciBsYSBncmFmaWNhemlvbmUgZGkgdW4gcXVhbHNpYXNpIHRpcG8gZGkgZ3JhZmljby5cclxuICogXHJcbiAqIFNpIGJhc2Egc3VsIHRpcG8gc3BlY2lmaWNhdG8gZGFsbGEgcHJvcHJpZXTDoCAqKlR5cGUqKlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlcy1jaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuLi9iYXNlL2Jhc2UtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNDaGFydENvbXBvbmVudCBleHRlbmRzIEJhc2VDaGFydENvbXBvbmVudCB7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRpcG9sb2dpYSBkaSBncmFmaWNvIGRhIHByZXNlbnRhcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBUeXBlOiAncGllJyB8ICdsaW5lJyB8ICd2ZXJ0aWNhbCcgfCAndmVydGljYWwtMmQnIHwgJ3ZlcnRpY2FsLXN0YWNrZWQnIHwgJ2FyZWEnO1xyXG5cclxuICAvKipcclxuICAgKiBEYXRpIHNwZWNpZmljaSBwZXIgaWwgZ3JhZmljbyBvIGRpIHVuIHRpcG8gdHJhbXV0YWJpbGUgYWwgdGlwbyBnaXVzdG8gY29sIHN1cHBvcnRvIGRlbCAqKkJhc2VBZGFwdGVyKipcclxuICAgKi9cclxuICBASW5wdXQoKSBEYXRhOiBMaW5lQ2hhcnREYXRhIHwgUGllQ2hhcnREYXRhIHwgVmVydGljYWwyRENoYXJ0RGF0YSB8IFZlcnRpY2FsQ2hhcnREYXRhIHwgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIHwgQXJlYUNoYXJ0RGF0YSB8IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGEgZGkgRGF0aSBzcGVjaWZpY2kgcGVyIHVuIGdyYWZpY28gcGFnaW5hdG8gbyBkaSBjdWkgb2duaSBibG9jY28gZGF0aSDDqCB0cmFtdXRhYmlsZSBhbCB0aXBvIGdpdXN0byBjb2wgc3VwcG9ydG8gZGVsICoqQmFzZUFkYXB0ZXIqKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIERhdGFBcnJheTogUGFnZWRDaGFydERhdGE8TGluZUNoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxQaWVDaGFydERhdGE+W11cclxuICAgIHwgUGFnZWRDaGFydERhdGE8VmVydGljYWwyRENoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbENoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGE+W11cclxuICAgIHwgUGFnZWRDaGFydERhdGE8QXJlYUNoYXJ0RGF0YT5bXVxyXG4gICAgfCBQYWdlZENoYXJ0RGF0YTxhbnk+W107XHJcblxyXG4gIC8qKlxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgQ2hhcnRMb2FkZXI6IENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXI6IENoYXJ0RGlzcGF0Y2hlciwgcHJpdmF0ZSBkYXRlU2VydmljZTogRGF0ZVNlcnZpY2UsIHByaXZhdGUgYWRhcHRlcjogQmFzZUFkYXB0ZXIsIHpvbmU6IE5nWm9uZSxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IE9iamVjdCxcclxuICAgIEBJbmplY3QoRVNDX0xPR1MpIEVTQ19MT0dTOiBib29sZWFuLFxyXG4gICAgQEluamVjdChFU0NfQU5JTUFUSU9OUykgRVNDX0FOSU1BVElPTlM6IGJvb2xlYW4sXHJcbiAgICBASW5qZWN0KEVTQ19USEVNRSkgRVNDX1RIRU1FOiBzdHJpbmcsXHJcbiAgICBsYzogTG9jYWxpemF0aW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoZWwsIHBsYXRmb3JtSWQsIHpvbmUsIENoYXJ0TG9hZGVyLCBDaGFydERpc3BhdGNoZXIsIEVTQ19MT0dTLCBFU0NfQU5JTUFUSU9OUywgbGMuTG9jYWxlLCBFU0NfVEhFTUUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3R0aWVuZSBsZSBwcm9wcmlldMOgIHNwZWNpZmljaGUgcGVyIHF1ZXN0YSB0aXBvbG9naWEgZGkgZ3JhZmljbyBwZXIgY3VpIHNlcnZlIHJpZ3JhZmljYXJlXHJcbiAgICovXHJcbiAgZ2V0U3BlY2lmaWNQcm9wZXJ0aWVzVG9DaGVjaygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW1wiRGF0YVwiLCBcIlR5cGVcIl07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPdHRpZW5lIGkgU2V0dGluZ3MgKEVyZWRpdGF0aSBkYWxsYSBjbGFzc2UgYmFzZSwgcXVpbmRpIGRlbCB0aXBvIGdlbmVyaWNvICoqQmFzZVNldHRpbmdzKiopIGNhc3RhdGkgYWwgdGlwbyBzcGVjaWZpY28gcGVyIHF1ZXN0byBncmFmaWNvXHJcbiAgICogXHJcbiAgICogQHJldHVybnMge1BpZUNoYXJ0U2V0dGluZ3MgfCBBcmVhQ2hhcnRTZXR0aW5ncyB8IExpbmVDaGFydFNldHRpbmdzIHwgVmVydGljYWxDaGFydFNldHRpbmdzIHwgVmVydGljYWwyRENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzfSBTZXR0aW5ncyBjYXN0YXRpIGFsIHRpcG8gZ2l1c3RvXHJcbiAgICovXHJcbiAgZ2V0Q2FzdGVkU2V0dGluZ3MoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuVHlwZSkge1xyXG4gICAgICBjYXNlICdwaWUnOlxyXG4gICAgICAgIHJldHVybiA8UGllQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgUGllQ2hhcnRTZXR0aW5ncygpKTtcclxuICAgICAgY2FzZSAnYXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIDxBcmVhQ2hhcnRTZXR0aW5ncz4odGhpcy5TZXR0aW5ncyA/PyBuZXcgQXJlYUNoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgICAgIGNhc2UgJ2xpbmUnOlxyXG4gICAgICAgIHJldHVybiA8TGluZUNoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IExpbmVDaGFydFNldHRpbmdzKCkpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XHJcbiAgICAgICAgcmV0dXJuIDxWZXJ0aWNhbENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncygpKTtcclxuICAgICAgY2FzZSAndmVydGljYWwtMmQnOlxyXG4gICAgICAgIHJldHVybiA8VmVydGljYWwyRENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzKCkpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbC1zdGFja2VkJzpcclxuICAgICAgICByZXR1cm4gPFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3M+KHRoaXMuU2V0dGluZ3MgPz8gbmV3IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnRlZ3JhIGkgU2V0dGluZ3MgYmFzZSBjb24gdHV0dGkgZ2xpIElucHV0IHNwZWNpZmljaSBkaSBxdWVzdG8gZ3JhZmljbywgZGFuZG8gcHJpb3JpdMOgIGFpIFNldHRpbmdzIHNlIGRlZmluaXRpXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtQaWVDaGFydFNldHRpbmdzIHwgQXJlYUNoYXJ0U2V0dGluZ3MgfCBMaW5lQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHwgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5nc30gc2V0dGluZ3NDYXN0ZWQgU2V0dGluZ3MgY2FzdGF0aSBhbCB0aXBvIGdpdXN0b1xyXG4gICAqL1xyXG4gIGZpbGxTcGVjaWZpY1NldHRpbmdzKHNldHRpbmdzQ2FzdGVkOiBQaWVDaGFydFNldHRpbmdzIHwgQXJlYUNoYXJ0U2V0dGluZ3MgfCBMaW5lQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzIHwgVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncyk6IHZvaWQge1xyXG4gICAgLy8gTm9wZS4gU2Ugc2kgdXNhIGwnZXMtY2hhcnQgc2kgZGFubm8gaSBzZXR0aW5ncyBjb24gbCdvZ2dldHRvXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZmZldHR1YSBpbCByZW5kZXJpbmcgZGkgcXVlc3RvIGdyYWZpY28gaW4gYmFzZSBhaSBTZXR0aW5nc1xyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7UGllQ2hhcnRTZXR0aW5ncyB8IEFyZWFDaGFydFNldHRpbmdzIHwgTGluZUNoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3N9IHNldHRpbmdzQ2FzdGVkIEltcG9zdGF6aW9uaSBkaSBncmFmaWNhemlvbmVcclxuICAgKiBAcmV0dXJucyB7UGllQ2hhcnRTZXJ2aWNlIHwgQXJlYUNoYXJ0U2VydmljZSB8IExpbmVDaGFydFNlcnZpY2UgfCBWZXJ0aWNhbENoYXJ0U2VydmljZSB8IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UgfCBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2V9IExhIHNlcnZpY2UgdXRpbGl6emF0YSBwZXIgaWwgcmVuZGVyaW5nIG5lbGxvIHN0YXRvIHN1Yml0byBzdWNjZXNzaXZvIGFsIHJlbmRlcmluZyBlZmZldHR1YXRvXHJcbiAgICovXHJcbiAgZ3JhcGhpY2F0ZShzZXR0aW5nczogUGllQ2hhcnRTZXR0aW5ncyB8IEFyZWFDaGFydFNldHRpbmdzIHwgTGluZUNoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfCBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB8IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiBhbnkge1xyXG4gICAgc3dpdGNoICh0aGlzLlR5cGUpIHtcclxuICAgICAgY2FzZSAncGllJzpcclxuICAgICAgICByZXR1cm4gbmV3IFBpZUNoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFBpZUNoYXJ0RGF0YT50aGlzLkRhdGEsIDxQaWVDaGFydFNldHRpbmdzPnNldHRpbmdzKTtcclxuICAgICAgY2FzZSAnYXJlYSc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBBcmVhQ2hhcnRTZXJ2aWNlKHRoaXMuYWRhcHRlcikuZ3JhcGhpY2F0ZSg8QXJlYUNoYXJ0RGF0YT50aGlzLkRhdGEsIDxBcmVhQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICAgIGNhc2UgJ2xpbmUnOlxyXG4gICAgICAgIHJldHVybiBuZXcgTGluZUNoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIsIHRoaXMuZGF0ZVNlcnZpY2UpLmdyYXBoaWNhdGUoPExpbmVDaGFydERhdGE+dGhpcy5EYXRhLCA8TGluZUNoYXJ0U2V0dGluZ3M+c2V0dGluZ3MpO1xyXG4gICAgICBjYXNlICd2ZXJ0aWNhbCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBWZXJ0aWNhbENoYXJ0U2VydmljZSh0aGlzLmFkYXB0ZXIpLmdyYXBoaWNhdGUoPFZlcnRpY2FsQ2hhcnREYXRhPnRoaXMuRGF0YSwgPFZlcnRpY2FsQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsLTJkJzpcclxuICAgICAgICByZXR1cm4gbmV3IFZlcnRpY2FsMkRDaGFydFNlcnZpY2UodGhpcy5hZGFwdGVyKS5ncmFwaGljYXRlKDxWZXJ0aWNhbDJEQ2hhcnREYXRhPnRoaXMuRGF0YSwgPFZlcnRpY2FsMkRDaGFydFNldHRpbmdzPnNldHRpbmdzKTtcclxuICAgICAgY2FzZSAndmVydGljYWwtc3RhY2tlZCc6XHJcbiAgICAgICAgcmV0dXJuIG5ldyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2UodGhpcy5hZGFwdGVyKS5ncmFwaGljYXRlKDxWZXJ0aWNhbFN0YWNrZWRDaGFydERhdGE+dGhpcy5EYXRhLCA8VmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncz5zZXR0aW5ncyk7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiPGNoYXJ0LXBhZ2VyICpuZ0lmPVwiaXNQYWdlZFwiIChvblBhZ2VDaGFuZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCIgW0l0ZW1zXT1cIkRhdGFBcnJheVwiIFtEdG9zXT1cIkRhdGFEdG9zXCIgW1N0YXJ0SW5kZXhdPVwiRGF0YUR0b1N0YXJ0SW5kZXhcIlxyXG4gICAgW0Jyb3dzZURlbGF5TXNdPVwiQnJvd3NlRGVsYXlNc1wiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJfaW5uZXIgbGV0LWhlYWRlckl0ZW0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlcl90cjsgY29udGV4dCA6IHskaW1wbGljaXQ6IGhlYWRlckl0ZW19XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L2NoYXJ0LXBhZ2VyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdDaGFydCAmJiBsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5nX3RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0NoYXJ0ICYmICFsb2FkaW5nX3RlbXBsYXRlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXNjLWxvYWRpbmctb3ZlcmxheVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Mb2FkaW5nLi4uLjwvcD5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgW2NsYXNzLmhpZGUtYmxvY2tdPVwibG9hZGluZ0NoYXJ0XCIgaWQ9XCJ7e25hbWV9fVwiIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW3N0eWxlLmhlaWdodF09XCJpc1BhZ2VkID8gJ2NhbGMoMTAwJSAtIDQ0cHgpJyA6ICcxMDAlJ1wiPjwvZGl2PiJdfQ==
|