devexpress-dashboard-angular 25.2.3 → 25.2.4
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/fesm2022/devexpress-dashboard-angular-ui-dashboard-control-nested.mjs +145 -145
- package/fesm2022/devexpress-dashboard-angular-ui-dashboard-control-nested.mjs.map +1 -1
- package/fesm2022/devexpress-dashboard-angular-ui-dashboard-control.mjs +40 -37
- package/fesm2022/devexpress-dashboard-angular-ui-dashboard-control.mjs.map +1 -1
- package/fesm2022/devexpress-dashboard-angular-ui-nested.mjs +148 -148
- package/fesm2022/devexpress-dashboard-angular-ui-nested.mjs.map +1 -1
- package/package.json +9 -9
- package/ui/dashboard-control/index.d.ts +559 -126
- package/ui/dashboard-control/nested/ajax-remote-service.d.ts +8 -8
- package/ui/dashboard-control/nested/chart-indicators.d.ts +4 -4
- package/ui/dashboard-control/nested/dashboard-export.d.ts +26 -8
- package/ui/dashboard-control/nested/dashboard-parameter-dialog.d.ts +38 -10
- package/ui/dashboard-control/nested/data-inspector.d.ts +42 -12
- package/ui/dashboard-control/nested/data-request-options.d.ts +2 -2
- package/ui/dashboard-control/nested/data-source-wizard.d.ts +10 -4
- package/ui/dashboard-control/nested/designer-toolbar.d.ts +12 -4
- package/ui/dashboard-control/nested/extensions.d.ts +356 -68
- package/ui/dashboard-control/nested/fetch-remote-service.d.ts +6 -6
- package/ui/dashboard-control/nested/item-binding-panel.d.ts +12 -4
- package/ui/dashboard-control/nested/item-options-panel.d.ts +10 -4
- package/ui/dashboard-control/nested/mobile-layout.d.ts +2 -2
- package/ui/dashboard-control/nested/text-box-item-editor.d.ts +18 -6
- package/ui/dashboard-control/nested/viewer-api.d.ts +202 -30
- package/ui/dashboard-control/nested/wizard-settings.d.ts +2 -2
- package/ui/nested/ajax-remote-service.d.ts +2 -2
- package/ui/nested/base/i-dashboard-data-source-wizard-settings.d.ts +1 -1
- package/ui/nested/chart-indicators.d.ts +2 -2
- package/ui/nested/dashboard-export.d.ts +2 -2
- package/ui/nested/dashboard-parameter-dialog.d.ts +2 -2
- package/ui/nested/data-inspector.d.ts +2 -2
- package/ui/nested/data-request-options.d.ts +2 -2
- package/ui/nested/data-source-wizard.d.ts +2 -2
- package/ui/nested/designer-toolbar.d.ts +2 -2
- package/ui/nested/extensions.d.ts +2 -2
- package/ui/nested/fetch-remote-service.d.ts +2 -2
- package/ui/nested/item-binding-panel.d.ts +2 -2
- package/ui/nested/item-options-panel.d.ts +2 -2
- package/ui/nested/mobile-layout.d.ts +2 -2
- package/ui/nested/text-box-item-editor.d.ts +2 -2
- package/ui/nested/viewer-api.d.ts +2 -2
- package/ui/nested/wizard-settings.d.ts +2 -2
- package/esm2022/devexpress-dashboard-angular.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/ui/dashboard-control/devexpress-dashboard-angular-ui-dashboard-control.mjs +0 -5
- package/esm2022/ui/dashboard-control/index.mjs +0 -751
- package/esm2022/ui/dashboard-control/nested/ajax-remote-service.mjs +0 -75
- package/esm2022/ui/dashboard-control/nested/chart-indicators.mjs +0 -59
- package/esm2022/ui/dashboard-control/nested/dashboard-export.mjs +0 -91
- package/esm2022/ui/dashboard-control/nested/dashboard-parameter-dialog.mjs +0 -83
- package/esm2022/ui/dashboard-control/nested/data-inspector.mjs +0 -107
- package/esm2022/ui/dashboard-control/nested/data-request-options.mjs +0 -67
- package/esm2022/ui/dashboard-control/nested/data-source-wizard.mjs +0 -83
- package/esm2022/ui/dashboard-control/nested/designer-toolbar.mjs +0 -59
- package/esm2022/ui/dashboard-control/nested/devexpress-dashboard-angular-ui-dashboard-control-nested.mjs +0 -5
- package/esm2022/ui/dashboard-control/nested/extensions.mjs +0 -139
- package/esm2022/ui/dashboard-control/nested/fetch-remote-service.mjs +0 -67
- package/esm2022/ui/dashboard-control/nested/index.mjs +0 -17
- package/esm2022/ui/dashboard-control/nested/item-binding-panel.mjs +0 -59
- package/esm2022/ui/dashboard-control/nested/item-options-panel.mjs +0 -59
- package/esm2022/ui/dashboard-control/nested/mobile-layout.mjs +0 -59
- package/esm2022/ui/dashboard-control/nested/text-box-item-editor.mjs +0 -67
- package/esm2022/ui/dashboard-control/nested/viewer-api.mjs +0 -163
- package/esm2022/ui/dashboard-control/nested/wizard-settings.mjs +0 -83
- package/esm2022/ui/nested/ajax-remote-service.mjs +0 -75
- package/esm2022/ui/nested/base/i-dashboard-data-source-wizard-settings.mjs +0 -39
- package/esm2022/ui/nested/chart-indicators.mjs +0 -59
- package/esm2022/ui/nested/dashboard-export.mjs +0 -91
- package/esm2022/ui/nested/dashboard-parameter-dialog.mjs +0 -83
- package/esm2022/ui/nested/data-inspector.mjs +0 -107
- package/esm2022/ui/nested/data-request-options.mjs +0 -67
- package/esm2022/ui/nested/data-source-wizard.mjs +0 -83
- package/esm2022/ui/nested/designer-toolbar.mjs +0 -59
- package/esm2022/ui/nested/devexpress-dashboard-angular-ui-nested.mjs +0 -5
- package/esm2022/ui/nested/extensions.mjs +0 -139
- package/esm2022/ui/nested/fetch-remote-service.mjs +0 -67
- package/esm2022/ui/nested/index.mjs +0 -17
- package/esm2022/ui/nested/item-binding-panel.mjs +0 -59
- package/esm2022/ui/nested/item-options-panel.mjs +0 -59
- package/esm2022/ui/nested/mobile-layout.mjs +0 -59
- package/esm2022/ui/nested/text-box-item-editor.mjs +0 -67
- package/esm2022/ui/nested/viewer-api.mjs +0 -163
- package/esm2022/ui/nested/wizard-settings.mjs +0 -57
|
@@ -1,751 +0,0 @@
|
|
|
1
|
-
/* tslint:disable:max-line-length */
|
|
2
|
-
import { Component, NgModule, PLATFORM_ID, Inject, Input, Output } from '@angular/core';
|
|
3
|
-
import DxDashboardControl from 'devexpress-dashboard/integration/index';
|
|
4
|
-
import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, WatcherHelper } from 'devextreme-angular/core';
|
|
5
|
-
import { DxoAjaxRemoteServiceModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
6
|
-
import { DxoDataRequestOptionsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
7
|
-
import { DxoExtensionsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
8
|
-
import { DxoChartIndicatorsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
9
|
-
import { DxoDashboardExportModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
10
|
-
import { DxoDashboardParameterDialogModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
11
|
-
import { DxoDataInspectorModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
12
|
-
import { DxoDataSourceWizardModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
13
|
-
import { DxoWizardSettingsModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
14
|
-
import { DxoDesignerToolbarModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
15
|
-
import { DxoItemBindingPanelModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
16
|
-
import { DxoItemOptionsPanelModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
17
|
-
import { DxoMobileLayoutModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
18
|
-
import { DxoTextBoxItemEditorModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
19
|
-
import { DxoViewerApiModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
20
|
-
import { DxoFetchRemoteServiceModule } from 'devexpress-dashboard-angular/ui/nested';
|
|
21
|
-
import { DxoDashboardControlAjaxRemoteServiceModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
22
|
-
import { DxoDashboardControlDataRequestOptionsModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
23
|
-
import { DxoDashboardControlExtensionsModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
24
|
-
import { DxoDashboardControlChartIndicatorsModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
25
|
-
import { DxoDashboardControlDashboardExportModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
26
|
-
import { DxoDashboardControlDashboardParameterDialogModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
27
|
-
import { DxoDashboardControlDataInspectorModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
28
|
-
import { DxoDashboardControlDataSourceWizardModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
29
|
-
import { DxoDashboardControlWizardSettingsModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
30
|
-
import { DxoDashboardControlDesignerToolbarModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
31
|
-
import { DxoDashboardControlItemBindingPanelModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
32
|
-
import { DxoDashboardControlItemOptionsPanelModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
33
|
-
import { DxoDashboardControlMobileLayoutModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
34
|
-
import { DxoDashboardControlTextBoxItemEditorModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
35
|
-
import { DxoDashboardControlViewerApiModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
36
|
-
import { DxoDashboardControlFetchRemoteServiceModule } from 'devexpress-dashboard-angular/ui/dashboard-control/nested';
|
|
37
|
-
import * as i0 from "@angular/core";
|
|
38
|
-
import * as i1 from "devextreme-angular/core";
|
|
39
|
-
/**
|
|
40
|
-
* [descr:dxDashboardControl]
|
|
41
|
-
|
|
42
|
-
*/
|
|
43
|
-
export class DxDashboardControlComponent extends DxComponent {
|
|
44
|
-
instance = null;
|
|
45
|
-
/**
|
|
46
|
-
* [descr:dxDashboardControlOptions.ajaxRemoteService]
|
|
47
|
-
|
|
48
|
-
*/
|
|
49
|
-
get ajaxRemoteService() {
|
|
50
|
-
return this._getOption('ajaxRemoteService');
|
|
51
|
-
}
|
|
52
|
-
set ajaxRemoteService(value) {
|
|
53
|
-
this._setOption('ajaxRemoteService', value);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* [descr:dxDashboardControlOptions.allowMaximizeItems]
|
|
57
|
-
|
|
58
|
-
*/
|
|
59
|
-
get allowMaximizeItems() {
|
|
60
|
-
return this._getOption('allowMaximizeItems');
|
|
61
|
-
}
|
|
62
|
-
set allowMaximizeItems(value) {
|
|
63
|
-
this._setOption('allowMaximizeItems', value);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* [descr:dxDashboardControlOptions.dashboardId]
|
|
67
|
-
|
|
68
|
-
*/
|
|
69
|
-
get dashboardId() {
|
|
70
|
-
return this._getOption('dashboardId');
|
|
71
|
-
}
|
|
72
|
-
set dashboardId(value) {
|
|
73
|
-
this._setOption('dashboardId', value);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* [descr:dxDashboardControlOptions.dataRequestOptions]
|
|
77
|
-
|
|
78
|
-
*/
|
|
79
|
-
get dataRequestOptions() {
|
|
80
|
-
return this._getOption('dataRequestOptions');
|
|
81
|
-
}
|
|
82
|
-
set dataRequestOptions(value) {
|
|
83
|
-
this._setOption('dataRequestOptions', value);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* [descr:dxDashboardControlOptions.encodeHtml]
|
|
87
|
-
|
|
88
|
-
*/
|
|
89
|
-
get encodeHtml() {
|
|
90
|
-
return this._getOption('encodeHtml');
|
|
91
|
-
}
|
|
92
|
-
set encodeHtml(value) {
|
|
93
|
-
this._setOption('encodeHtml', value);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* [descr:dxDashboardControlOptions.endpoint]
|
|
97
|
-
|
|
98
|
-
*/
|
|
99
|
-
get endpoint() {
|
|
100
|
-
return this._getOption('endpoint');
|
|
101
|
-
}
|
|
102
|
-
set endpoint(value) {
|
|
103
|
-
this._setOption('endpoint', value);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* [descr:dxDashboardControlOptions.extensions]
|
|
107
|
-
|
|
108
|
-
*/
|
|
109
|
-
get extensions() {
|
|
110
|
-
return this._getOption('extensions');
|
|
111
|
-
}
|
|
112
|
-
set extensions(value) {
|
|
113
|
-
this._setOption('extensions', value);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* [descr:dxDashboardControlOptions.fetchRemoteService]
|
|
117
|
-
|
|
118
|
-
*/
|
|
119
|
-
get fetchRemoteService() {
|
|
120
|
-
return this._getOption('fetchRemoteService');
|
|
121
|
-
}
|
|
122
|
-
set fetchRemoteService(value) {
|
|
123
|
-
this._setOption('fetchRemoteService', value);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* [descr:dxDashboardControlOptions.initialDashboardId]
|
|
127
|
-
|
|
128
|
-
*/
|
|
129
|
-
get initialDashboardId() {
|
|
130
|
-
return this._getOption('initialDashboardId');
|
|
131
|
-
}
|
|
132
|
-
set initialDashboardId(value) {
|
|
133
|
-
this._setOption('initialDashboardId', value);
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* [descr:dxDashboardControlOptions.initialDashboardState]
|
|
137
|
-
|
|
138
|
-
*/
|
|
139
|
-
get initialDashboardState() {
|
|
140
|
-
return this._getOption('initialDashboardState');
|
|
141
|
-
}
|
|
142
|
-
set initialDashboardState(value) {
|
|
143
|
-
this._setOption('initialDashboardState', value);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* [descr:dxDashboardControlOptions.limitVisibleDataMode]
|
|
147
|
-
|
|
148
|
-
*/
|
|
149
|
-
get limitVisibleDataMode() {
|
|
150
|
-
return this._getOption('limitVisibleDataMode');
|
|
151
|
-
}
|
|
152
|
-
set limitVisibleDataMode(value) {
|
|
153
|
-
this._setOption('limitVisibleDataMode', value);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* [descr:dxDashboardControlOptions.loadDefaultDashboard]
|
|
157
|
-
|
|
158
|
-
*/
|
|
159
|
-
get loadDefaultDashboard() {
|
|
160
|
-
return this._getOption('loadDefaultDashboard');
|
|
161
|
-
}
|
|
162
|
-
set loadDefaultDashboard(value) {
|
|
163
|
-
this._setOption('loadDefaultDashboard', value);
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* [descr:dxDashboardControlOptions.nonce]
|
|
167
|
-
|
|
168
|
-
*/
|
|
169
|
-
get nonce() {
|
|
170
|
-
return this._getOption('nonce');
|
|
171
|
-
}
|
|
172
|
-
set nonce(value) {
|
|
173
|
-
this._setOption('nonce', value);
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* [descr:dxDashboardControlOptions.resizeByTimer]
|
|
177
|
-
|
|
178
|
-
*/
|
|
179
|
-
get resizeByTimer() {
|
|
180
|
-
return this._getOption('resizeByTimer');
|
|
181
|
-
}
|
|
182
|
-
set resizeByTimer(value) {
|
|
183
|
-
this._setOption('resizeByTimer', value);
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* [descr:dxDashboardControlOptions.showConfirmationOnBrowserClosing]
|
|
187
|
-
|
|
188
|
-
*/
|
|
189
|
-
get showConfirmationOnBrowserClosing() {
|
|
190
|
-
return this._getOption('showConfirmationOnBrowserClosing');
|
|
191
|
-
}
|
|
192
|
-
set showConfirmationOnBrowserClosing(value) {
|
|
193
|
-
this._setOption('showConfirmationOnBrowserClosing', value);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* [descr:dxDashboardControlOptions.useNeutralFilterMode]
|
|
197
|
-
|
|
198
|
-
*/
|
|
199
|
-
get useNeutralFilterMode() {
|
|
200
|
-
return this._getOption('useNeutralFilterMode');
|
|
201
|
-
}
|
|
202
|
-
set useNeutralFilterMode(value) {
|
|
203
|
-
this._setOption('useNeutralFilterMode', value);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* [descr:dxDashboardControlOptions.workingMode]
|
|
207
|
-
|
|
208
|
-
*/
|
|
209
|
-
get workingMode() {
|
|
210
|
-
return this._getOption('workingMode');
|
|
211
|
-
}
|
|
212
|
-
set workingMode(value) {
|
|
213
|
-
this._setOption('workingMode', value);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
|
|
217
|
-
* [descr:dxDashboardControlOptions.onBeforeRender]
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
*/
|
|
221
|
-
onBeforeRender;
|
|
222
|
-
/**
|
|
223
|
-
|
|
224
|
-
* [descr:dxDashboardControlOptions.onDashboardBeginUpdate]
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
*/
|
|
228
|
-
onDashboardBeginUpdate;
|
|
229
|
-
/**
|
|
230
|
-
|
|
231
|
-
* [descr:dxDashboardControlOptions.onDashboardEndUpdate]
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
*/
|
|
235
|
-
onDashboardEndUpdate;
|
|
236
|
-
/**
|
|
237
|
-
|
|
238
|
-
* [descr:dxDashboardControlOptions.onDashboardInitialized]
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
*/
|
|
242
|
-
onDashboardInitialized;
|
|
243
|
-
/**
|
|
244
|
-
|
|
245
|
-
* [descr:dxDashboardControlOptions.onDashboardInitializing]
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
*/
|
|
249
|
-
onDashboardInitializing;
|
|
250
|
-
/**
|
|
251
|
-
|
|
252
|
-
* [descr:dxDashboardControlOptions.onDashboardStateChanged]
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
*/
|
|
256
|
-
onDashboardStateChanged;
|
|
257
|
-
/**
|
|
258
|
-
|
|
259
|
-
* [descr:dxDashboardControlOptions.onInitializing]
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
*/
|
|
263
|
-
onInitializing;
|
|
264
|
-
/**
|
|
265
|
-
|
|
266
|
-
* [descr:dxDashboardControlOptions.onItemBeginUpdate]
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
*/
|
|
270
|
-
onItemBeginUpdate;
|
|
271
|
-
/**
|
|
272
|
-
|
|
273
|
-
* [descr:dxDashboardControlOptions.onItemEndUpdate]
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
*/
|
|
277
|
-
onItemEndUpdate;
|
|
278
|
-
/**
|
|
279
|
-
|
|
280
|
-
* [descr:dxDashboardControlOptions.onOptionChanged]
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
*/
|
|
284
|
-
onOptionChanged;
|
|
285
|
-
/**
|
|
286
|
-
|
|
287
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
288
|
-
|
|
289
|
-
*/
|
|
290
|
-
ajaxRemoteServiceChange;
|
|
291
|
-
/**
|
|
292
|
-
|
|
293
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
294
|
-
|
|
295
|
-
*/
|
|
296
|
-
allowMaximizeItemsChange;
|
|
297
|
-
/**
|
|
298
|
-
|
|
299
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
300
|
-
|
|
301
|
-
*/
|
|
302
|
-
dashboardIdChange;
|
|
303
|
-
/**
|
|
304
|
-
|
|
305
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
306
|
-
|
|
307
|
-
*/
|
|
308
|
-
dataRequestOptionsChange;
|
|
309
|
-
/**
|
|
310
|
-
|
|
311
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
312
|
-
|
|
313
|
-
*/
|
|
314
|
-
encodeHtmlChange;
|
|
315
|
-
/**
|
|
316
|
-
|
|
317
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
318
|
-
|
|
319
|
-
*/
|
|
320
|
-
endpointChange;
|
|
321
|
-
/**
|
|
322
|
-
|
|
323
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
324
|
-
|
|
325
|
-
*/
|
|
326
|
-
extensionsChange;
|
|
327
|
-
/**
|
|
328
|
-
|
|
329
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
330
|
-
|
|
331
|
-
*/
|
|
332
|
-
fetchRemoteServiceChange;
|
|
333
|
-
/**
|
|
334
|
-
|
|
335
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
336
|
-
|
|
337
|
-
*/
|
|
338
|
-
initialDashboardIdChange;
|
|
339
|
-
/**
|
|
340
|
-
|
|
341
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
342
|
-
|
|
343
|
-
*/
|
|
344
|
-
initialDashboardStateChange;
|
|
345
|
-
/**
|
|
346
|
-
|
|
347
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
348
|
-
|
|
349
|
-
*/
|
|
350
|
-
limitVisibleDataModeChange;
|
|
351
|
-
/**
|
|
352
|
-
|
|
353
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
354
|
-
|
|
355
|
-
*/
|
|
356
|
-
loadDefaultDashboardChange;
|
|
357
|
-
/**
|
|
358
|
-
|
|
359
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
360
|
-
|
|
361
|
-
*/
|
|
362
|
-
nonceChange;
|
|
363
|
-
/**
|
|
364
|
-
|
|
365
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
366
|
-
|
|
367
|
-
*/
|
|
368
|
-
resizeByTimerChange;
|
|
369
|
-
/**
|
|
370
|
-
|
|
371
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
372
|
-
|
|
373
|
-
*/
|
|
374
|
-
showConfirmationOnBrowserClosingChange;
|
|
375
|
-
/**
|
|
376
|
-
|
|
377
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
378
|
-
|
|
379
|
-
*/
|
|
380
|
-
useNeutralFilterModeChange;
|
|
381
|
-
/**
|
|
382
|
-
|
|
383
|
-
* This member supports the internal infrastructure and is not intended to be used directly from your code.
|
|
384
|
-
|
|
385
|
-
*/
|
|
386
|
-
workingModeChange;
|
|
387
|
-
constructor(elementRef, ngZone, templateHost, _watcherHelper, optionHost, transferState, platformId) {
|
|
388
|
-
super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);
|
|
389
|
-
this._createEventEmitters([
|
|
390
|
-
{ subscribe: 'beforeRender', emit: 'onBeforeRender' },
|
|
391
|
-
{ subscribe: 'dashboardBeginUpdate', emit: 'onDashboardBeginUpdate' },
|
|
392
|
-
{ subscribe: 'dashboardEndUpdate', emit: 'onDashboardEndUpdate' },
|
|
393
|
-
{ subscribe: 'dashboardInitialized', emit: 'onDashboardInitialized' },
|
|
394
|
-
{ subscribe: 'dashboardInitializing', emit: 'onDashboardInitializing' },
|
|
395
|
-
{ subscribe: 'dashboardStateChanged', emit: 'onDashboardStateChanged' },
|
|
396
|
-
{ subscribe: 'initializing', emit: 'onInitializing' },
|
|
397
|
-
{ subscribe: 'itemBeginUpdate', emit: 'onItemBeginUpdate' },
|
|
398
|
-
{ subscribe: 'itemEndUpdate', emit: 'onItemEndUpdate' },
|
|
399
|
-
{ subscribe: 'optionChanged', emit: 'onOptionChanged' },
|
|
400
|
-
{ emit: 'ajaxRemoteServiceChange' },
|
|
401
|
-
{ emit: 'allowMaximizeItemsChange' },
|
|
402
|
-
{ emit: 'dashboardIdChange' },
|
|
403
|
-
{ emit: 'dataRequestOptionsChange' },
|
|
404
|
-
{ emit: 'encodeHtmlChange' },
|
|
405
|
-
{ emit: 'endpointChange' },
|
|
406
|
-
{ emit: 'extensionsChange' },
|
|
407
|
-
{ emit: 'fetchRemoteServiceChange' },
|
|
408
|
-
{ emit: 'initialDashboardIdChange' },
|
|
409
|
-
{ emit: 'initialDashboardStateChange' },
|
|
410
|
-
{ emit: 'limitVisibleDataModeChange' },
|
|
411
|
-
{ emit: 'loadDefaultDashboardChange' },
|
|
412
|
-
{ emit: 'nonceChange' },
|
|
413
|
-
{ emit: 'resizeByTimerChange' },
|
|
414
|
-
{ emit: 'showConfirmationOnBrowserClosingChange' },
|
|
415
|
-
{ emit: 'useNeutralFilterModeChange' },
|
|
416
|
-
{ emit: 'workingModeChange' }
|
|
417
|
-
]);
|
|
418
|
-
optionHost.setHost(this);
|
|
419
|
-
}
|
|
420
|
-
_createInstance(element, options) {
|
|
421
|
-
return new DxDashboardControl(element, options);
|
|
422
|
-
}
|
|
423
|
-
ngOnDestroy() {
|
|
424
|
-
this._destroyWidget();
|
|
425
|
-
}
|
|
426
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.DxTemplateHost }, { token: i1.WatcherHelper }, { token: i1.NestedOptionHost }, { token: i0.TransferState }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
427
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxDashboardControlComponent, selector: "dx-dashboard-control", inputs: { ajaxRemoteService: "ajaxRemoteService", allowMaximizeItems: "allowMaximizeItems", dashboardId: "dashboardId", dataRequestOptions: "dataRequestOptions", encodeHtml: "encodeHtml", endpoint: "endpoint", extensions: "extensions", fetchRemoteService: "fetchRemoteService", initialDashboardId: "initialDashboardId", initialDashboardState: "initialDashboardState", limitVisibleDataMode: "limitVisibleDataMode", loadDefaultDashboard: "loadDefaultDashboard", nonce: "nonce", resizeByTimer: "resizeByTimer", showConfirmationOnBrowserClosing: "showConfirmationOnBrowserClosing", useNeutralFilterMode: "useNeutralFilterMode", workingMode: "workingMode" }, outputs: { onBeforeRender: "onBeforeRender", onDashboardBeginUpdate: "onDashboardBeginUpdate", onDashboardEndUpdate: "onDashboardEndUpdate", onDashboardInitialized: "onDashboardInitialized", onDashboardInitializing: "onDashboardInitializing", onDashboardStateChanged: "onDashboardStateChanged", onInitializing: "onInitializing", onItemBeginUpdate: "onItemBeginUpdate", onItemEndUpdate: "onItemEndUpdate", onOptionChanged: "onOptionChanged", ajaxRemoteServiceChange: "ajaxRemoteServiceChange", allowMaximizeItemsChange: "allowMaximizeItemsChange", dashboardIdChange: "dashboardIdChange", dataRequestOptionsChange: "dataRequestOptionsChange", encodeHtmlChange: "encodeHtmlChange", endpointChange: "endpointChange", extensionsChange: "extensionsChange", fetchRemoteServiceChange: "fetchRemoteServiceChange", initialDashboardIdChange: "initialDashboardIdChange", initialDashboardStateChange: "initialDashboardStateChange", limitVisibleDataModeChange: "limitVisibleDataModeChange", loadDefaultDashboardChange: "loadDefaultDashboardChange", nonceChange: "nonceChange", resizeByTimerChange: "resizeByTimerChange", showConfirmationOnBrowserClosingChange: "showConfirmationOnBrowserClosingChange", useNeutralFilterModeChange: "useNeutralFilterModeChange", workingModeChange: "workingModeChange" }, providers: [
|
|
428
|
-
DxTemplateHost,
|
|
429
|
-
WatcherHelper,
|
|
430
|
-
NestedOptionHost
|
|
431
|
-
], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
432
|
-
}
|
|
433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlComponent, decorators: [{
|
|
434
|
-
type: Component,
|
|
435
|
-
args: [{
|
|
436
|
-
selector: 'dx-dashboard-control',
|
|
437
|
-
template: '',
|
|
438
|
-
providers: [
|
|
439
|
-
DxTemplateHost,
|
|
440
|
-
WatcherHelper,
|
|
441
|
-
NestedOptionHost
|
|
442
|
-
]
|
|
443
|
-
}]
|
|
444
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.DxTemplateHost }, { type: i1.WatcherHelper }, { type: i1.NestedOptionHost }, { type: i0.TransferState }, { type: undefined, decorators: [{
|
|
445
|
-
type: Inject,
|
|
446
|
-
args: [PLATFORM_ID]
|
|
447
|
-
}] }], propDecorators: { ajaxRemoteService: [{
|
|
448
|
-
type: Input
|
|
449
|
-
}], allowMaximizeItems: [{
|
|
450
|
-
type: Input
|
|
451
|
-
}], dashboardId: [{
|
|
452
|
-
type: Input
|
|
453
|
-
}], dataRequestOptions: [{
|
|
454
|
-
type: Input
|
|
455
|
-
}], encodeHtml: [{
|
|
456
|
-
type: Input
|
|
457
|
-
}], endpoint: [{
|
|
458
|
-
type: Input
|
|
459
|
-
}], extensions: [{
|
|
460
|
-
type: Input
|
|
461
|
-
}], fetchRemoteService: [{
|
|
462
|
-
type: Input
|
|
463
|
-
}], initialDashboardId: [{
|
|
464
|
-
type: Input
|
|
465
|
-
}], initialDashboardState: [{
|
|
466
|
-
type: Input
|
|
467
|
-
}], limitVisibleDataMode: [{
|
|
468
|
-
type: Input
|
|
469
|
-
}], loadDefaultDashboard: [{
|
|
470
|
-
type: Input
|
|
471
|
-
}], nonce: [{
|
|
472
|
-
type: Input
|
|
473
|
-
}], resizeByTimer: [{
|
|
474
|
-
type: Input
|
|
475
|
-
}], showConfirmationOnBrowserClosing: [{
|
|
476
|
-
type: Input
|
|
477
|
-
}], useNeutralFilterMode: [{
|
|
478
|
-
type: Input
|
|
479
|
-
}], workingMode: [{
|
|
480
|
-
type: Input
|
|
481
|
-
}], onBeforeRender: [{
|
|
482
|
-
type: Output
|
|
483
|
-
}], onDashboardBeginUpdate: [{
|
|
484
|
-
type: Output
|
|
485
|
-
}], onDashboardEndUpdate: [{
|
|
486
|
-
type: Output
|
|
487
|
-
}], onDashboardInitialized: [{
|
|
488
|
-
type: Output
|
|
489
|
-
}], onDashboardInitializing: [{
|
|
490
|
-
type: Output
|
|
491
|
-
}], onDashboardStateChanged: [{
|
|
492
|
-
type: Output
|
|
493
|
-
}], onInitializing: [{
|
|
494
|
-
type: Output
|
|
495
|
-
}], onItemBeginUpdate: [{
|
|
496
|
-
type: Output
|
|
497
|
-
}], onItemEndUpdate: [{
|
|
498
|
-
type: Output
|
|
499
|
-
}], onOptionChanged: [{
|
|
500
|
-
type: Output
|
|
501
|
-
}], ajaxRemoteServiceChange: [{
|
|
502
|
-
type: Output
|
|
503
|
-
}], allowMaximizeItemsChange: [{
|
|
504
|
-
type: Output
|
|
505
|
-
}], dashboardIdChange: [{
|
|
506
|
-
type: Output
|
|
507
|
-
}], dataRequestOptionsChange: [{
|
|
508
|
-
type: Output
|
|
509
|
-
}], encodeHtmlChange: [{
|
|
510
|
-
type: Output
|
|
511
|
-
}], endpointChange: [{
|
|
512
|
-
type: Output
|
|
513
|
-
}], extensionsChange: [{
|
|
514
|
-
type: Output
|
|
515
|
-
}], fetchRemoteServiceChange: [{
|
|
516
|
-
type: Output
|
|
517
|
-
}], initialDashboardIdChange: [{
|
|
518
|
-
type: Output
|
|
519
|
-
}], initialDashboardStateChange: [{
|
|
520
|
-
type: Output
|
|
521
|
-
}], limitVisibleDataModeChange: [{
|
|
522
|
-
type: Output
|
|
523
|
-
}], loadDefaultDashboardChange: [{
|
|
524
|
-
type: Output
|
|
525
|
-
}], nonceChange: [{
|
|
526
|
-
type: Output
|
|
527
|
-
}], resizeByTimerChange: [{
|
|
528
|
-
type: Output
|
|
529
|
-
}], showConfirmationOnBrowserClosingChange: [{
|
|
530
|
-
type: Output
|
|
531
|
-
}], useNeutralFilterModeChange: [{
|
|
532
|
-
type: Output
|
|
533
|
-
}], workingModeChange: [{
|
|
534
|
-
type: Output
|
|
535
|
-
}] } });
|
|
536
|
-
export class DxDashboardControlModule {
|
|
537
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
538
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlModule, declarations: [DxDashboardControlComponent], imports: [DxoAjaxRemoteServiceModule,
|
|
539
|
-
DxoDataRequestOptionsModule,
|
|
540
|
-
DxoExtensionsModule,
|
|
541
|
-
DxoChartIndicatorsModule,
|
|
542
|
-
DxoDashboardExportModule,
|
|
543
|
-
DxoDashboardParameterDialogModule,
|
|
544
|
-
DxoDataInspectorModule,
|
|
545
|
-
DxoDataSourceWizardModule,
|
|
546
|
-
DxoWizardSettingsModule,
|
|
547
|
-
DxoDesignerToolbarModule,
|
|
548
|
-
DxoItemBindingPanelModule,
|
|
549
|
-
DxoItemOptionsPanelModule,
|
|
550
|
-
DxoMobileLayoutModule,
|
|
551
|
-
DxoTextBoxItemEditorModule,
|
|
552
|
-
DxoViewerApiModule,
|
|
553
|
-
DxoFetchRemoteServiceModule,
|
|
554
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
555
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
556
|
-
DxoDashboardControlExtensionsModule,
|
|
557
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
558
|
-
DxoDashboardControlDashboardExportModule,
|
|
559
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
560
|
-
DxoDashboardControlDataInspectorModule,
|
|
561
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
562
|
-
DxoDashboardControlWizardSettingsModule,
|
|
563
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
564
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
565
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
566
|
-
DxoDashboardControlMobileLayoutModule,
|
|
567
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
568
|
-
DxoDashboardControlViewerApiModule,
|
|
569
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
570
|
-
DxIntegrationModule,
|
|
571
|
-
DxTemplateModule], exports: [DxDashboardControlComponent, DxoAjaxRemoteServiceModule,
|
|
572
|
-
DxoDataRequestOptionsModule,
|
|
573
|
-
DxoExtensionsModule,
|
|
574
|
-
DxoChartIndicatorsModule,
|
|
575
|
-
DxoDashboardExportModule,
|
|
576
|
-
DxoDashboardParameterDialogModule,
|
|
577
|
-
DxoDataInspectorModule,
|
|
578
|
-
DxoDataSourceWizardModule,
|
|
579
|
-
DxoWizardSettingsModule,
|
|
580
|
-
DxoDesignerToolbarModule,
|
|
581
|
-
DxoItemBindingPanelModule,
|
|
582
|
-
DxoItemOptionsPanelModule,
|
|
583
|
-
DxoMobileLayoutModule,
|
|
584
|
-
DxoTextBoxItemEditorModule,
|
|
585
|
-
DxoViewerApiModule,
|
|
586
|
-
DxoFetchRemoteServiceModule,
|
|
587
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
588
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
589
|
-
DxoDashboardControlExtensionsModule,
|
|
590
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
591
|
-
DxoDashboardControlDashboardExportModule,
|
|
592
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
593
|
-
DxoDashboardControlDataInspectorModule,
|
|
594
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
595
|
-
DxoDashboardControlWizardSettingsModule,
|
|
596
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
597
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
598
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
599
|
-
DxoDashboardControlMobileLayoutModule,
|
|
600
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
601
|
-
DxoDashboardControlViewerApiModule,
|
|
602
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
603
|
-
DxTemplateModule] });
|
|
604
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlModule, imports: [DxoAjaxRemoteServiceModule,
|
|
605
|
-
DxoDataRequestOptionsModule,
|
|
606
|
-
DxoExtensionsModule,
|
|
607
|
-
DxoChartIndicatorsModule,
|
|
608
|
-
DxoDashboardExportModule,
|
|
609
|
-
DxoDashboardParameterDialogModule,
|
|
610
|
-
DxoDataInspectorModule,
|
|
611
|
-
DxoDataSourceWizardModule,
|
|
612
|
-
DxoWizardSettingsModule,
|
|
613
|
-
DxoDesignerToolbarModule,
|
|
614
|
-
DxoItemBindingPanelModule,
|
|
615
|
-
DxoItemOptionsPanelModule,
|
|
616
|
-
DxoMobileLayoutModule,
|
|
617
|
-
DxoTextBoxItemEditorModule,
|
|
618
|
-
DxoViewerApiModule,
|
|
619
|
-
DxoFetchRemoteServiceModule,
|
|
620
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
621
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
622
|
-
DxoDashboardControlExtensionsModule,
|
|
623
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
624
|
-
DxoDashboardControlDashboardExportModule,
|
|
625
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
626
|
-
DxoDashboardControlDataInspectorModule,
|
|
627
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
628
|
-
DxoDashboardControlWizardSettingsModule,
|
|
629
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
630
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
631
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
632
|
-
DxoDashboardControlMobileLayoutModule,
|
|
633
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
634
|
-
DxoDashboardControlViewerApiModule,
|
|
635
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
636
|
-
DxIntegrationModule,
|
|
637
|
-
DxTemplateModule, DxoAjaxRemoteServiceModule,
|
|
638
|
-
DxoDataRequestOptionsModule,
|
|
639
|
-
DxoExtensionsModule,
|
|
640
|
-
DxoChartIndicatorsModule,
|
|
641
|
-
DxoDashboardExportModule,
|
|
642
|
-
DxoDashboardParameterDialogModule,
|
|
643
|
-
DxoDataInspectorModule,
|
|
644
|
-
DxoDataSourceWizardModule,
|
|
645
|
-
DxoWizardSettingsModule,
|
|
646
|
-
DxoDesignerToolbarModule,
|
|
647
|
-
DxoItemBindingPanelModule,
|
|
648
|
-
DxoItemOptionsPanelModule,
|
|
649
|
-
DxoMobileLayoutModule,
|
|
650
|
-
DxoTextBoxItemEditorModule,
|
|
651
|
-
DxoViewerApiModule,
|
|
652
|
-
DxoFetchRemoteServiceModule,
|
|
653
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
654
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
655
|
-
DxoDashboardControlExtensionsModule,
|
|
656
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
657
|
-
DxoDashboardControlDashboardExportModule,
|
|
658
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
659
|
-
DxoDashboardControlDataInspectorModule,
|
|
660
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
661
|
-
DxoDashboardControlWizardSettingsModule,
|
|
662
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
663
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
664
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
665
|
-
DxoDashboardControlMobileLayoutModule,
|
|
666
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
667
|
-
DxoDashboardControlViewerApiModule,
|
|
668
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
669
|
-
DxTemplateModule] });
|
|
670
|
-
}
|
|
671
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxDashboardControlModule, decorators: [{
|
|
672
|
-
type: NgModule,
|
|
673
|
-
args: [{
|
|
674
|
-
imports: [
|
|
675
|
-
DxoAjaxRemoteServiceModule,
|
|
676
|
-
DxoDataRequestOptionsModule,
|
|
677
|
-
DxoExtensionsModule,
|
|
678
|
-
DxoChartIndicatorsModule,
|
|
679
|
-
DxoDashboardExportModule,
|
|
680
|
-
DxoDashboardParameterDialogModule,
|
|
681
|
-
DxoDataInspectorModule,
|
|
682
|
-
DxoDataSourceWizardModule,
|
|
683
|
-
DxoWizardSettingsModule,
|
|
684
|
-
DxoDesignerToolbarModule,
|
|
685
|
-
DxoItemBindingPanelModule,
|
|
686
|
-
DxoItemOptionsPanelModule,
|
|
687
|
-
DxoMobileLayoutModule,
|
|
688
|
-
DxoTextBoxItemEditorModule,
|
|
689
|
-
DxoViewerApiModule,
|
|
690
|
-
DxoFetchRemoteServiceModule,
|
|
691
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
692
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
693
|
-
DxoDashboardControlExtensionsModule,
|
|
694
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
695
|
-
DxoDashboardControlDashboardExportModule,
|
|
696
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
697
|
-
DxoDashboardControlDataInspectorModule,
|
|
698
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
699
|
-
DxoDashboardControlWizardSettingsModule,
|
|
700
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
701
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
702
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
703
|
-
DxoDashboardControlMobileLayoutModule,
|
|
704
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
705
|
-
DxoDashboardControlViewerApiModule,
|
|
706
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
707
|
-
DxIntegrationModule,
|
|
708
|
-
DxTemplateModule
|
|
709
|
-
],
|
|
710
|
-
declarations: [
|
|
711
|
-
DxDashboardControlComponent
|
|
712
|
-
],
|
|
713
|
-
exports: [
|
|
714
|
-
DxDashboardControlComponent,
|
|
715
|
-
DxoAjaxRemoteServiceModule,
|
|
716
|
-
DxoDataRequestOptionsModule,
|
|
717
|
-
DxoExtensionsModule,
|
|
718
|
-
DxoChartIndicatorsModule,
|
|
719
|
-
DxoDashboardExportModule,
|
|
720
|
-
DxoDashboardParameterDialogModule,
|
|
721
|
-
DxoDataInspectorModule,
|
|
722
|
-
DxoDataSourceWizardModule,
|
|
723
|
-
DxoWizardSettingsModule,
|
|
724
|
-
DxoDesignerToolbarModule,
|
|
725
|
-
DxoItemBindingPanelModule,
|
|
726
|
-
DxoItemOptionsPanelModule,
|
|
727
|
-
DxoMobileLayoutModule,
|
|
728
|
-
DxoTextBoxItemEditorModule,
|
|
729
|
-
DxoViewerApiModule,
|
|
730
|
-
DxoFetchRemoteServiceModule,
|
|
731
|
-
DxoDashboardControlAjaxRemoteServiceModule,
|
|
732
|
-
DxoDashboardControlDataRequestOptionsModule,
|
|
733
|
-
DxoDashboardControlExtensionsModule,
|
|
734
|
-
DxoDashboardControlChartIndicatorsModule,
|
|
735
|
-
DxoDashboardControlDashboardExportModule,
|
|
736
|
-
DxoDashboardControlDashboardParameterDialogModule,
|
|
737
|
-
DxoDashboardControlDataInspectorModule,
|
|
738
|
-
DxoDashboardControlDataSourceWizardModule,
|
|
739
|
-
DxoDashboardControlWizardSettingsModule,
|
|
740
|
-
DxoDashboardControlDesignerToolbarModule,
|
|
741
|
-
DxoDashboardControlItemBindingPanelModule,
|
|
742
|
-
DxoDashboardControlItemOptionsPanelModule,
|
|
743
|
-
DxoDashboardControlMobileLayoutModule,
|
|
744
|
-
DxoDashboardControlTextBoxItemEditorModule,
|
|
745
|
-
DxoDashboardControlViewerApiModule,
|
|
746
|
-
DxoDashboardControlFetchRemoteServiceModule,
|
|
747
|
-
DxTemplateModule
|
|
748
|
-
]
|
|
749
|
-
}]
|
|
750
|
-
}] });
|
|
751
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWkvZGFzaGJvYXJkLWNvbnRyb2wvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBR3BDLE9BQU8sRUFFSCxTQUFTLEVBQ1QsUUFBUSxFQUdSLFdBQVcsRUFDWCxNQUFNLEVBRU4sS0FBSyxFQUNMLE1BQU0sRUFHVCxNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3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d0JBQ3pDLHVDQUF1Qzt3QkFDdkMsd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLHlDQUF5Qzt3QkFDekMscUNBQXFDO3dCQUNyQywwQ0FBMEM7d0JBQzFDLGtDQUFrQzt3QkFDbEMsMkNBQTJDO3dCQUMzQyxtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLGlDQUFpQzt3QkFDakMsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3dCQUMzQiwwQ0FBMEM7d0JBQzFDLDJDQUEyQzt3QkFDM0MsbUNBQW1DO3dCQUNuQyx3Q0FBd0M7d0JBQ3hDLHdDQUF3Qzt3QkFDeEMsaURBQWlEO3dCQUNqRCxzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2Qyx3Q0FBd0M7d0JBQ3hDLHlDQUF5Qzt3QkFDekMseUNBQXlDO3dCQUN6QyxxQ0FBcUM7d0JBQ3JDLDBDQUEwQzt3QkFDMUMsa0NBQWtDO3dCQUNsQywyQ0FBMkM7d0JBQzNDLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuXG5pbXBvcnQge1xuICAgIFRyYW5zZmVyU3RhdGUsXG4gICAgQ29tcG9uZW50LFxuICAgIE5nTW9kdWxlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgTmdab25lLFxuICAgIFBMQVRGT1JNX0lELFxuICAgIEluamVjdCxcblxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgRXZlbnRFbWl0dGVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9kZXNpZ25lci9kYXRhLXNvdXJjZS13aXphcmQvZGF0YS1zb3VyY2Utd2l6YXJkLWV4dGVuc2lvbic7XG5cbmltcG9ydCBEeERhc2hib2FyZENvbnRyb2wgZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQvaW50ZWdyYXRpb24vaW5kZXgnO1xuXG5cbmltcG9ydCB7XG4gICAgRHhDb21wb25lbnQsXG4gICAgRHhUZW1wbGF0ZUhvc3QsXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXG4gICAgV2F0Y2hlckhlbHBlclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0NoYXJ0SW5kaWNhdG9yc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZEV4cG9ydE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b0RhdGFJbnNwZWN0b3JNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXRhU291cmNlV2l6YXJkTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EZXNpZ25lclRvb2xiYXJNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b01vYmlsZUxheW91dE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcbmltcG9ydCB7IER4b1RleHRCb3hJdGVtRWRpdG9yTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvVmlld2VyQXBpTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRmV0Y2hSZW1vdGVTZXJ2aWNlTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xuXG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRDb250cm9sQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRDb250cm9sRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbEV4dGVuc2lvbnNNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRDb250cm9sQ2hhcnRJbmRpY2F0b3JzTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbERhc2hib2FyZEV4cG9ydE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvZGFzaGJvYXJkLWNvbnRyb2wvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZENvbnRyb2xEYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRDb250cm9sRGF0YUluc3BlY3Rvck1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvZGFzaGJvYXJkLWNvbnRyb2wvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZENvbnRyb2xEYXRhU291cmNlV2l6YXJkTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbFdpemFyZFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbERlc2lnbmVyVG9vbGJhck1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvZGFzaGJvYXJkLWNvbnRyb2wvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZENvbnRyb2xJdGVtQmluZGluZ1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbEl0ZW1PcHRpb25zUGFuZWxNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sL25lc3RlZCc7XG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRDb250cm9sTW9iaWxlTGF5b3V0TW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbFRleHRCb3hJdGVtRWRpdG9yTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9kYXNoYm9hcmQtY29udHJvbC9uZXN0ZWQnO1xuaW1wb3J0IHsgRHhvRGFzaGJvYXJkQ29udHJvbFZpZXdlckFwaU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvZGFzaGJvYXJkLWNvbnRyb2wvbmVzdGVkJztcbmltcG9ydCB7IER4b0Rhc2hib2FyZENvbnRyb2xGZXRjaFJlbW90ZVNlcnZpY2VNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sL25lc3RlZCc7XG5cblxuXG5cbi8qKlxuICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbF1cblxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2R4LWRhc2hib2FyZC1jb250cm9sJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxuICAgICAgICBXYXRjaGVySGVscGVyLFxuICAgICAgICBOZXN0ZWRPcHRpb25Ib3N0XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEeERhc2hib2FyZENvbnRyb2xDb21wb25lbnQgZXh0ZW5kcyBEeENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgaW5zdGFuY2U6IER4RGFzaGJvYXJkQ29udHJvbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5hamF4UmVtb3RlU2VydmljZV1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBhamF4UmVtb3RlU2VydmljZSgpOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignYWpheFJlbW90ZVNlcnZpY2UnKTtcbiAgICB9XG4gICAgc2V0IGFqYXhSZW1vdGVTZXJ2aWNlKHZhbHVlOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignYWpheFJlbW90ZVNlcnZpY2UnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5hbGxvd01heGltaXplSXRlbXNdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgYWxsb3dNYXhpbWl6ZUl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdhbGxvd01heGltaXplSXRlbXMnKTtcbiAgICB9XG4gICAgc2V0IGFsbG93TWF4aW1pemVJdGVtcyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FsbG93TWF4aW1pemVJdGVtcycsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmRhc2hib2FyZElkXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGRhc2hib2FyZElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2Rhc2hib2FyZElkJyk7XG4gICAgfVxuICAgIHNldCBkYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGFzaGJvYXJkSWQnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5kYXRhUmVxdWVzdE9wdGlvbnNdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgZGF0YVJlcXVlc3RPcHRpb25zKCk6IHsgaXRlbURhdGFMb2FkaW5nTW9kZT86IHN0cmluZywgaXRlbURhdGFSZXF1ZXN0TW9kZT86IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGF0YVJlcXVlc3RPcHRpb25zJyk7XG4gICAgfVxuICAgIHNldCBkYXRhUmVxdWVzdE9wdGlvbnModmFsdWU6IHsgaXRlbURhdGFMb2FkaW5nTW9kZT86IHN0cmluZywgaXRlbURhdGFSZXF1ZXN0TW9kZT86IHN0cmluZyB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGF0YVJlcXVlc3RPcHRpb25zJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuZW5jb2RlSHRtbF1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBlbmNvZGVIdG1sKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdlbmNvZGVIdG1sJyk7XG4gICAgfVxuICAgIHNldCBlbmNvZGVIdG1sKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZW5jb2RlSHRtbCcsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmVuZHBvaW50XVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2VuZHBvaW50Jyk7XG4gICAgfVxuICAgIHNldCBlbmRwb2ludCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZW5kcG9pbnQnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5leHRlbnNpb25zXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGV4dGVuc2lvbnMoKTogeyBjaGFydEluZGljYXRvcnM/OiB7IGN1c3RvbUluZGljYXRvclR5cGVzPzogYW55IH0sIGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGRlc2lnbmVyVG9vbGJhcj86IHsgb25QcmVwYXJpbmc/OiBGdW5jdGlvbiB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHRleHRCb3hJdGVtRWRpdG9yPzogeyBvblJpY2hFZGl0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvblJpY2hFZGl0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24gfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZXh0ZW5zaW9ucycpO1xuICAgIH1cbiAgICBzZXQgZXh0ZW5zaW9ucyh2YWx1ZTogeyBjaGFydEluZGljYXRvcnM/OiB7IGN1c3RvbUluZGljYXRvclR5cGVzPzogYW55IH0sIGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGRlc2lnbmVyVG9vbGJhcj86IHsgb25QcmVwYXJpbmc/OiBGdW5jdGlvbiB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHRleHRCb3hJdGVtRWRpdG9yPzogeyBvblJpY2hFZGl0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvblJpY2hFZGl0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24gfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZXh0ZW5zaW9ucycsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmZldGNoUmVtb3RlU2VydmljZV1cbiAgICBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGdldCBmZXRjaFJlbW90ZVNlcnZpY2UoKTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2ZldGNoUmVtb3RlU2VydmljZScpO1xuICAgIH1cbiAgICBzZXQgZmV0Y2hSZW1vdGVTZXJ2aWNlKHZhbHVlOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9KSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZmV0Y2hSZW1vdGVTZXJ2aWNlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuaW5pdGlhbERhc2hib2FyZElkXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkSWQnKTtcbiAgICB9XG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaW5pdGlhbERhc2hib2FyZElkJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuaW5pdGlhbERhc2hib2FyZFN0YXRlXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkU3RhdGUnKTtcbiAgICB9XG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaW5pdGlhbERhc2hib2FyZFN0YXRlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMubGltaXRWaXNpYmxlRGF0YU1vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgbGltaXRWaXNpYmxlRGF0YU1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbGltaXRWaXNpYmxlRGF0YU1vZGUnKTtcbiAgICB9XG4gICAgc2V0IGxpbWl0VmlzaWJsZURhdGFNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsaW1pdFZpc2libGVEYXRhTW9kZScsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmxvYWREZWZhdWx0RGFzaGJvYXJkXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGxvYWREZWZhdWx0RGFzaGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcpO1xuICAgIH1cbiAgICBzZXQgbG9hZERlZmF1bHREYXNoYm9hcmQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcsIHZhbHVlKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm5vbmNlXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IG5vbmNlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ25vbmNlJyk7XG4gICAgfVxuICAgIHNldCBub25jZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbm9uY2UnLCB2YWx1ZSk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5yZXNpemVCeVRpbWVyXVxuICAgIFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHJlc2l6ZUJ5VGltZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Jlc2l6ZUJ5VGltZXInKTtcbiAgICB9XG4gICAgc2V0IHJlc2l6ZUJ5VGltZXIodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmddXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJyk7XG4gICAgfVxuICAgIHNldCBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMudXNlTmV1dHJhbEZpbHRlck1vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgdXNlTmV1dHJhbEZpbHRlck1vZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJyk7XG4gICAgfVxuICAgIHNldCB1c2VOZXV0cmFsRmlsdGVyTW9kZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJywgdmFsdWUpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMud29ya2luZ01vZGVdXG4gICAgXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBnZXQgd29ya2luZ01vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignd29ya2luZ01vZGUnKTtcbiAgICB9XG4gICAgc2V0IHdvcmtpbmdNb2RlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd3b3JraW5nTW9kZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkJlZm9yZVJlbmRlcl1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25CZWZvcmVSZW5kZXI6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRCZWdpblVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRCZWdpblVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEVuZFVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRFbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRJbml0aWFsaXplZF1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEluaXRpYWxpemluZ11cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXppbmc6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRTdGF0ZUNoYW5nZWRdXG4gICAgXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uSW5pdGlhbGl6aW5nXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkluaXRpYWxpemluZzogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkl0ZW1CZWdpblVwZGF0ZV1cbiAgICBcbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25JdGVtQmVnaW5VcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25JdGVtRW5kVXBkYXRlXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkl0ZW1FbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25PcHRpb25DaGFuZ2VkXVxuICAgIFxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbk9wdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9PjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIGFsbG93TWF4aW1pemVJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZW5jb2RlSHRtbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZW5kcG9pbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgZXh0ZW5zaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHsgY2hhcnRJbmRpY2F0b3JzPzogeyBjdXN0b21JbmRpY2F0b3JUeXBlcz86IGFueSB9LCBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBkZXNpZ25lclRvb2xiYXI/OiB7IG9uUHJlcGFyaW5nPzogRnVuY3Rpb24gfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB0ZXh0Qm94SXRlbUVkaXRvcj86IHsgb25SaWNoRWRpdENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25SaWNoRWRpdE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uIH0sIHZpZXdlckFwaT86IHsgb25EYXNoYm9hcmRUaXRsZVRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUFjdGlvbkF2YWlsYWJpbGl0eUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2FwdGlvblRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUNsaWNrPzogRnVuY3Rpb24sIG9uSXRlbURyaWxsRG93blN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1FbGVtZW50Q3VzdG9tQ29sb3I/OiBGdW5jdGlvbiwgb25JdGVtTWFzdGVyRmlsdGVyU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVNlbGVjdGlvbkNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtVmlzdWFsSW50ZXJhY3Rpdml0eT86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRDcmVhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0aW5nPzogRnVuY3Rpb24sIG9uU2VsZWN0ZWRUYWJQYWdlQ2hhbmdlZD86IEZ1bmN0aW9uIH0gfT47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBmZXRjaFJlbW90ZVNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9PjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIGluaXRpYWxEYXNoYm9hcmRJZENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgbGltaXRWaXNpYmxlRGF0YU1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgbG9hZERlZmF1bHREYXNoYm9hcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIG5vbmNlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlc2l6ZUJ5VGltZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcblxuICAgIC8qKlxuICAgIFxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXG4gICAgXG4gICAgICovXG4gICAgQE91dHB1dCgpIHNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG5cbiAgICAvKipcbiAgICBcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxuICAgIFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB1c2VOZXV0cmFsRmlsdGVyTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuXG4gICAgLyoqXG4gICAgXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cbiAgICBcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgd29ya2luZ01vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuXG5cblxuXG5cblxuXG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSwgdGVtcGxhdGVIb3N0OiBEeFRlbXBsYXRlSG9zdCxcbiAgICAgICAgICAgIF93YXRjaGVySGVscGVyOiBXYXRjaGVySGVscGVyLFxuICAgICAgICAgICAgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCxcbiAgICAgICAgICAgIHRyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUsXG4gICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnkpIHtcblxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIHRlbXBsYXRlSG9zdCwgX3dhdGNoZXJIZWxwZXIsIHRyYW5zZmVyU3RhdGUsIHBsYXRmb3JtSWQpO1xuXG4gICAgICAgIHRoaXMuX2NyZWF0ZUV2ZW50RW1pdHRlcnMoW1xuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdiZWZvcmVSZW5kZXInLCBlbWl0OiAnb25CZWZvcmVSZW5kZXInIH0sXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEJlZ2luVXBkYXRlJywgZW1pdDogJ29uRGFzaGJvYXJkQmVnaW5VcGRhdGUnIH0sXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEVuZFVwZGF0ZScsIGVtaXQ6ICdvbkRhc2hib2FyZEVuZFVwZGF0ZScgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkSW5pdGlhbGl6ZWQnLCBlbWl0OiAnb25EYXNoYm9hcmRJbml0aWFsaXplZCcgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkSW5pdGlhbGl6aW5nJywgZW1pdDogJ29uRGFzaGJvYXJkSW5pdGlhbGl6aW5nJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRTdGF0ZUNoYW5nZWQnLCBlbWl0OiAnb25EYXNoYm9hcmRTdGF0ZUNoYW5nZWQnIH0sXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2luaXRpYWxpemluZycsIGVtaXQ6ICdvbkluaXRpYWxpemluZycgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaXRlbUJlZ2luVXBkYXRlJywgZW1pdDogJ29uSXRlbUJlZ2luVXBkYXRlJyB9LFxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpdGVtRW5kVXBkYXRlJywgZW1pdDogJ29uSXRlbUVuZFVwZGF0ZScgfSxcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnb3B0aW9uQ2hhbmdlZCcsIGVtaXQ6ICdvbk9wdGlvbkNoYW5nZWQnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdhamF4UmVtb3RlU2VydmljZUNoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2FsbG93TWF4aW1pemVJdGVtc0NoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2Rhc2hib2FyZElkQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZW5jb2RlSHRtbENoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2VuZHBvaW50Q2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnZXh0ZW5zaW9uc0NoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2ZldGNoUmVtb3RlU2VydmljZUNoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2luaXRpYWxEYXNoYm9hcmRJZENoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZUNoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ2xpbWl0VmlzaWJsZURhdGFNb2RlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnbG9hZERlZmF1bHREYXNoYm9hcmRDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdub25jZUNoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ3Jlc2l6ZUJ5VGltZXJDaGFuZ2UnIH0sXG4gICAgICAgICAgICB7IGVtaXQ6ICdzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ0NoYW5nZScgfSxcbiAgICAgICAgICAgIHsgZW1pdDogJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlQ2hhbmdlJyB9LFxuICAgICAgICAgICAgeyBlbWl0OiAnd29ya2luZ01vZGVDaGFuZ2UnIH1cbiAgICAgICAgXSk7XG4gICAgICAgIG9wdGlvbkhvc3Quc2V0SG9zdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUluc3RhbmNlKGVsZW1lbnQsIG9wdGlvbnMpIHtcblxuICAgICAgICByZXR1cm4gbmV3IER4RGFzaGJvYXJkQ29udHJvbChlbGVtZW50LCBvcHRpb25zKTtcbiAgICB9XG5cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9kZXN0cm95V2lkZ2V0KCk7XG4gICAgfVxuXG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeG9EYXRhUmVxdWVzdE9wdGlvbnNNb2R1bGUsXG4gICAgRHhvRXh0ZW5zaW9uc01vZHVsZSxcbiAgICBEeG9DaGFydEluZGljYXRvcnNNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcbiAgICBEeG9EYXRhSW5zcGVjdG9yTW9kdWxlLFxuICAgIER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUsXG4gICAgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUsXG4gICAgRHhvRGVzaWduZXJUb29sYmFyTW9kdWxlLFxuICAgIER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUsXG4gICAgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcbiAgICBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUsXG4gICAgRHhvVGV4dEJveEl0ZW1FZGl0b3JNb2R1bGUsXG4gICAgRHhvVmlld2VyQXBpTW9kdWxlLFxuICAgIER4b0ZldGNoUmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbERhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRXh0ZW5zaW9uc01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sQ2hhcnRJbmRpY2F0b3JzTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xEYXNoYm9hcmRFeHBvcnRNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbERhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRGF0YUluc3BlY3Rvck1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sV2l6YXJkU2V0dGluZ3NNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbERlc2lnbmVyVG9vbGJhck1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sTW9iaWxlTGF5b3V0TW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xUZXh0Qm94SXRlbUVkaXRvck1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sVmlld2VyQXBpTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xGZXRjaFJlbW90ZVNlcnZpY2VNb2R1bGUsXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcbiAgICBEeFRlbXBsYXRlTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50LFxuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlLFxuICAgIER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcbiAgICBEeG9FeHRlbnNpb25zTW9kdWxlLFxuICAgIER4b0NoYXJ0SW5kaWNhdG9yc01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nTW9kdWxlLFxuICAgIER4b0RhdGFJbnNwZWN0b3JNb2R1bGUsXG4gICAgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcbiAgICBEeG9XaXphcmRTZXR0aW5nc01vZHVsZSxcbiAgICBEeG9EZXNpZ25lclRvb2xiYXJNb2R1bGUsXG4gICAgRHhvSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcbiAgICBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlLFxuICAgIER4b01vYmlsZUxheW91dE1vZHVsZSxcbiAgICBEeG9UZXh0Qm94SXRlbUVkaXRvck1vZHVsZSxcbiAgICBEeG9WaWV3ZXJBcGlNb2R1bGUsXG4gICAgRHhvRmV0Y2hSZW1vdGVTZXJ2aWNlTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xBamF4UmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xFeHRlbnNpb25zTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xDaGFydEluZGljYXRvcnNNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbERhc2hib2FyZEV4cG9ydE1vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xEYXRhSW5zcGVjdG9yTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xEYXRhU291cmNlV2l6YXJkTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xXaXphcmRTZXR0aW5nc01vZHVsZSxcbiAgICBEeG9EYXNoYm9hcmRDb250cm9sRGVzaWduZXJUb29sYmFyTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xJdGVtQmluZGluZ1BhbmVsTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xJdGVtT3B0aW9uc1BhbmVsTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xNb2JpbGVMYXlvdXRNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbFRleHRCb3hJdGVtRWRpdG9yTW9kdWxlLFxuICAgIER4b0Rhc2hib2FyZENvbnRyb2xWaWV3ZXJBcGlNb2R1bGUsXG4gICAgRHhvRGFzaGJvYXJkQ29udHJvbEZldGNoUmVtb3RlU2VydmljZU1vZHVsZSxcbiAgICBEeFRlbXBsYXRlTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sTW9kdWxlIHsgfVxuXG5cbiJdfQ==
|