devexpress-dashboard-angular 21.1.11 → 21.1.12
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/bundles/devexpress-dashboard-angular-ui-dashboard-control.umd.js +15 -15
- package/bundles/devexpress-dashboard-angular-ui-dashboard-control.umd.js.map +1 -1
- package/bundles/devexpress-dashboard-angular-ui-dashboard-control.umd.min.js.map +1 -1
- package/esm2015/ui/dashboard-control/index.js +16 -16
- package/esm5/ui/dashboard-control/index.js +16 -16
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.js +15 -15
- package/fesm2015/devexpress-dashboard-angular-ui-dashboard-control.js.map +1 -1
- package/fesm5/devexpress-dashboard-angular-ui-dashboard-control.js +15 -15
- package/fesm5/devexpress-dashboard-angular-ui-dashboard-control.js.map +1 -1
- package/package.json +5 -5
- package/ui/dashboard-control/index.d.ts +25 -25
|
@@ -54,7 +54,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
54
54
|
optionHost.setHost(this);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* [descr:
|
|
57
|
+
* [descr:dxDashboardControlOptions.ajaxRemoteService]
|
|
58
58
|
|
|
59
59
|
*/
|
|
60
60
|
get ajaxRemoteService() {
|
|
@@ -64,7 +64,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
64
64
|
this._setOption('ajaxRemoteService', value);
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
* [descr:
|
|
67
|
+
* [descr:dxDashboardControlOptions.allowMaximizeItems]
|
|
68
68
|
|
|
69
69
|
*/
|
|
70
70
|
get allowMaximizeItems() {
|
|
@@ -74,7 +74,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
74
74
|
this._setOption('allowMaximizeItems', value);
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
* [descr:
|
|
77
|
+
* [descr:dxDashboardControlOptions.dashboardId]
|
|
78
78
|
|
|
79
79
|
*/
|
|
80
80
|
get dashboardId() {
|
|
@@ -84,7 +84,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
84
84
|
this._setOption('dashboardId', value);
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
* [descr:
|
|
87
|
+
* [descr:dxDashboardControlOptions.dataRequestOptions]
|
|
88
88
|
|
|
89
89
|
*/
|
|
90
90
|
get dataRequestOptions() {
|
|
@@ -94,7 +94,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
94
94
|
this._setOption('dataRequestOptions', value);
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
|
-
* [descr:
|
|
97
|
+
* [descr:dxDashboardControlOptions.encodeHtml]
|
|
98
98
|
|
|
99
99
|
*/
|
|
100
100
|
get encodeHtml() {
|
|
@@ -104,7 +104,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
104
104
|
this._setOption('encodeHtml', value);
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* [descr:
|
|
107
|
+
* [descr:dxDashboardControlOptions.endpoint]
|
|
108
108
|
|
|
109
109
|
*/
|
|
110
110
|
get endpoint() {
|
|
@@ -114,7 +114,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
114
114
|
this._setOption('endpoint', value);
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
* [descr:
|
|
117
|
+
* [descr:dxDashboardControlOptions.extensions]
|
|
118
118
|
|
|
119
119
|
*/
|
|
120
120
|
get extensions() {
|
|
@@ -124,7 +124,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
124
124
|
this._setOption('extensions', value);
|
|
125
125
|
}
|
|
126
126
|
/**
|
|
127
|
-
* [descr:
|
|
127
|
+
* [descr:dxDashboardControlOptions.initialDashboardId]
|
|
128
128
|
|
|
129
129
|
*/
|
|
130
130
|
get initialDashboardId() {
|
|
@@ -134,7 +134,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
134
134
|
this._setOption('initialDashboardId', value);
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
|
-
* [descr:
|
|
137
|
+
* [descr:dxDashboardControlOptions.initialDashboardState]
|
|
138
138
|
|
|
139
139
|
*/
|
|
140
140
|
get initialDashboardState() {
|
|
@@ -144,7 +144,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
144
144
|
this._setOption('initialDashboardState', value);
|
|
145
145
|
}
|
|
146
146
|
/**
|
|
147
|
-
* [descr:
|
|
147
|
+
* [descr:dxDashboardControlOptions.limitVisibleDataMode]
|
|
148
148
|
|
|
149
149
|
*/
|
|
150
150
|
get limitVisibleDataMode() {
|
|
@@ -154,7 +154,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
154
154
|
this._setOption('limitVisibleDataMode', value);
|
|
155
155
|
}
|
|
156
156
|
/**
|
|
157
|
-
* [descr:
|
|
157
|
+
* [descr:dxDashboardControlOptions.loadDefaultDashboard]
|
|
158
158
|
|
|
159
159
|
*/
|
|
160
160
|
get loadDefaultDashboard() {
|
|
@@ -164,7 +164,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
164
164
|
this._setOption('loadDefaultDashboard', value);
|
|
165
165
|
}
|
|
166
166
|
/**
|
|
167
|
-
* [descr:
|
|
167
|
+
* [descr:dxDashboardControlOptions.resizeByTimer]
|
|
168
168
|
|
|
169
169
|
*/
|
|
170
170
|
get resizeByTimer() {
|
|
@@ -174,7 +174,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
174
174
|
this._setOption('resizeByTimer', value);
|
|
175
175
|
}
|
|
176
176
|
/**
|
|
177
|
-
* [descr:
|
|
177
|
+
* [descr:dxDashboardControlOptions.showConfirmationOnBrowserClosing]
|
|
178
178
|
|
|
179
179
|
*/
|
|
180
180
|
get showConfirmationOnBrowserClosing() {
|
|
@@ -184,7 +184,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
184
184
|
this._setOption('showConfirmationOnBrowserClosing', value);
|
|
185
185
|
}
|
|
186
186
|
/**
|
|
187
|
-
* [descr:
|
|
187
|
+
* [descr:dxDashboardControlOptions.useNeutralFilterMode]
|
|
188
188
|
|
|
189
189
|
*/
|
|
190
190
|
get useNeutralFilterMode() {
|
|
@@ -194,7 +194,7 @@ let DxDashboardControlComponent = class DxDashboardControlComponent extends DxCo
|
|
|
194
194
|
this._setOption('useNeutralFilterMode', value);
|
|
195
195
|
}
|
|
196
196
|
/**
|
|
197
|
-
* [descr:
|
|
197
|
+
* [descr:dxDashboardControlOptions.workingMode]
|
|
198
198
|
|
|
199
199
|
*/
|
|
200
200
|
get workingMode() {
|
|
@@ -454,4 +454,4 @@ DxDashboardControlModule = tslib_1.__decorate([
|
|
|
454
454
|
})
|
|
455
455
|
], DxDashboardControlModule);
|
|
456
456
|
export { DxDashboardControlModule };
|
|
457
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUs1RTs7O0dBR0c7QUFVSCxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUE0QixTQUFRLFdBQVc7SUFvWXhELFlBQVksVUFBc0IsRUFBRSxNQUFjLEVBQUUsWUFBNEIsRUFDeEUsY0FBNkIsRUFDN0IsVUFBNEIsRUFDNUIsYUFBNEIsRUFDUCxVQUFlO1FBRXhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUN0QixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3JELEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUNyRSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDakUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3JFLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRTtZQUN2RSxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUU7WUFDdkUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNyRCxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDM0QsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN2RCxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3ZELEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ25DLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1lBQzdCLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzVCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQzFCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzVCLEVBQUUsSUFBSSxFQUFFLDBCQUEwQixFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLDZCQUE2QixFQUFFO1lBQ3ZDLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ3RDLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ3RDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO1lBQy9CLEVBQUUsSUFBSSxFQUFFLHdDQUF3QyxFQUFFO1lBQ2xELEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFO1lBQ3RDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO1NBQ2hDLENBQUMsQ0FBQztRQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQXJhRDs7O09BR0c7SUFFSCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUFvRTtRQUN0RixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRDs7O09BR0c7SUFFSCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsSUFBSSxrQkFBa0IsQ0FBQyxLQUFjO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUdEOzs7T0FHRztJQUVILElBQUksV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBR0Q7OztPQUdHO0lBRUgsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUksa0JBQWtCLENBQUMsS0FBcUU7UUFDeEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBR0Q7OztPQUdHO0lBRUgsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFHRDs7O09BR0c7SUFFSCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUdEOzs7T0FHRztJQUVILElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUMsS0FBaTdDO1FBQzU3QyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBR0Q7OztPQUdHO0lBRUgsSUFBSSxrQkFBa0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELElBQUksa0JBQWtCLENBQUMsS0FBYTtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFHRDs7O09BR0c7SUFFSCxJQUFJLHFCQUFxQjtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxxQkFBcUIsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUdEOzs7T0FHRztJQUVILElBQUksb0JBQW9CO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLG9CQUFvQixDQUFDLEtBQWE7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBR0Q7OztPQUdHO0lBRUgsSUFBSSxvQkFBb0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksb0JBQW9CLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHRDs7O09BR0c7SUFFSCxJQUFJLGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUdEOzs7T0FHRztJQUVILElBQUksZ0NBQWdDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFJLGdDQUFnQyxDQUFDLEtBQWM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBR0Q7OztPQUdHO0lBRUgsSUFBSSxvQkFBb0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUNELElBQUksb0JBQW9CLENBQUMsS0FBYztRQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFHRDs7O09BR0c7SUFFSCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQXVPUyxlQUFlLENBQUMsT0FBTyxFQUFFLE9BQU87UUFFdEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBR0QsV0FBVztRQUNQLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBRUosQ0FBQTs7WUFoRDJCLFVBQVU7WUFBVSxNQUFNO1lBQWdCLGNBQWM7WUFDeEQsYUFBYTtZQUNqQixnQkFBZ0I7WUFDYixhQUFhOzRDQUMzQixNQUFNLFNBQUMsV0FBVzs7QUFoWTNCO0lBREMsS0FBSyxFQUFFOzs7b0VBR1A7QUFXRDtJQURDLEtBQUssRUFBRTs7O3FFQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7Ozs4REFHUDtBQVdEO0lBREMsS0FBSyxFQUFFOzs7cUVBR1A7QUFXRDtJQURDLEtBQUssRUFBRTs7OzZEQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7OzsyREFHUDtBQVdEO0lBREMsS0FBSyxFQUFFOzs7NkRBR1A7QUFXRDtJQURDLEtBQUssRUFBRTs7O3FFQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7Ozt3RUFHUDtBQVdEO0lBREMsS0FBSyxFQUFFOzs7dUVBR1A7QUFXRDtJQURDLEtBQUssRUFBRTs7O3VFQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7OztnRUFHUDtBQVdEO0lBREMsS0FBSyxFQUFFOzs7bUZBR1A7QUFXRDtJQURDLEtBQUssRUFBRTs7O3VFQUdQO0FBV0Q7SUFEQyxLQUFLLEVBQUU7Ozs4REFHUDtBQVdTO0lBQVQsTUFBTSxFQUFFO3NDQUFpQixZQUFZO21FQUFNO0FBUWxDO0lBQVQsTUFBTSxFQUFFO3NDQUF5QixZQUFZOzJFQUFNO0FBUTFDO0lBQVQsTUFBTSxFQUFFO3NDQUF1QixZQUFZO3lFQUFNO0FBUXhDO0lBQVQsTUFBTSxFQUFFO3NDQUF5QixZQUFZOzJFQUFNO0FBUTFDO0lBQVQsTUFBTSxFQUFFO3NDQUEwQixZQUFZOzRFQUFNO0FBUTNDO0lBQVQsTUFBTSxFQUFFO3NDQUEwQixZQUFZOzRFQUFNO0FBUTNDO0lBQVQsTUFBTSxFQUFFO3NDQUFpQixZQUFZO21FQUFNO0FBUWxDO0lBQVQsTUFBTSxFQUFFO3NDQUFvQixZQUFZO3NFQUFNO0FBUXJDO0lBQVQsTUFBTSxFQUFFO3NDQUFrQixZQUFZO29FQUFNO0FBUW5DO0lBQVQsTUFBTSxFQUFFO3NDQUFrQixZQUFZO29FQUFNO0FBT25DO0lBQVQsTUFBTSxFQUFFO3NDQUEwQixZQUFZOzRFQUFnRTtBQU9yRztJQUFULE1BQU0sRUFBRTtzQ0FBMkIsWUFBWTs2RUFBVTtBQU9oRDtJQUFULE1BQU0sRUFBRTtzQ0FBb0IsWUFBWTtzRUFBUztBQU94QztJQUFULE1BQU0sRUFBRTtzQ0FBMkIsWUFBWTs2RUFBaUU7QUFPdkc7SUFBVCxNQUFNLEVBQUU7c0NBQW1CLFlBQVk7cUVBQVU7QUFPeEM7SUFBVCxNQUFNLEVBQUU7c0NBQWlCLFlBQVk7bUVBQVM7QUFPckM7SUFBVCxNQUFNLEVBQUU7c0NBQW1CLFlBQVk7cUVBQTY2QztBQU8zOEM7SUFBVCxNQUFNLEVBQUU7c0NBQTJCLFlBQVk7NkVBQVM7QUFPL0M7SUFBVCxNQUFNLEVBQUU7c0NBQThCLFlBQVk7Z0ZBQVM7QUFPbEQ7SUFBVCxNQUFNLEVBQUU7c0NBQTZCLFlBQVk7K0VBQVM7QUFPakQ7SUFBVCxNQUFNLEVBQUU7c0NBQTZCLFlBQVk7K0VBQVU7QUFPbEQ7SUFBVCxNQUFNLEVBQUU7c0NBQXNCLFlBQVk7d0VBQVU7QUFPM0M7SUFBVCxNQUFNLEVBQUU7c0NBQXlDLFlBQVk7MkZBQVU7QUFPOUQ7SUFBVCxNQUFNLEVBQUU7c0NBQTZCLFlBQVk7K0VBQVU7QUFPbEQ7SUFBVCxNQUFNLEVBQUU7c0NBQW9CLFlBQVk7c0VBQVM7QUE1WHpDLDJCQUEyQjtJQVR2QyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1AsY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0I7U0FDbkI7S0FDSixDQUFDO0lBeVlXLG1CQUFBLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTs2Q0FKSixVQUFVLEVBQVUsTUFBTSxFQUFnQixjQUFjO1FBQ3hELGFBQWE7UUFDakIsZ0JBQWdCO1FBQ2IsYUFBYTtHQXZZM0IsMkJBQTJCLENBb2J2QztTQXBiWSwyQkFBMkI7QUE0ZHhDLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0NBQUksQ0FBQTtBQUE1Qix3QkFBd0I7SUF0Q3BDLFFBQVEsQ0FBQztRQUNSLE9BQU8sRUFBRTtZQUNQLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixpQ0FBaUM7WUFDakMsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1NBQzNCO1FBQ0QsWUFBWSxFQUFFO1lBQ1osMkJBQTJCO1NBQzVCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixpQ0FBaUM7WUFDakMsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtTQUNqQjtLQUNGLENBQUM7R0FDVyx3QkFBd0IsQ0FBSTtTQUE1Qix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cclxuXHJcblxyXG5pbXBvcnQgeyBCcm93c2VyVHJhbnNmZXJTdGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUcmFuc2ZlclN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgTmdab25lLFxyXG4gICAgUExBVEZPUk1fSUQsXHJcbiAgICBJbmplY3QsXHJcblxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5pbXBvcnQgeyBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQvZGVzaWduZXIvZGF0YS1zb3VyY2Utd2l6YXJkL2RhdGEtc291cmNlLXdpemFyZC1leHRlbnNpb24nO1xyXG5cclxuaW1wb3J0IER4RGFzaGJvYXJkQ29udHJvbCBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9pbnRlZ3JhdGlvbi9pbmRleCc7XHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIER4Q29tcG9uZW50LFxyXG4gICAgRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZSxcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICBXYXRjaGVySGVscGVyXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRHhvQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFJbnNwZWN0b3JNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1dpemFyZFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1ZpZXdlckFwaU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sXVxyXG5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkeC1kYXNoYm9hcmQtY29udHJvbCcsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBEeFRlbXBsYXRlSG9zdCxcclxuICAgICAgICBXYXRjaGVySGVscGVyLFxyXG4gICAgICAgIE5lc3RlZE9wdGlvbkhvc3RcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudCBleHRlbmRzIER4Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIGluc3RhbmNlOiBEeERhc2hib2FyZENvbnRyb2w7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuYWpheFJlbW90ZVNlcnZpY2VdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhamF4UmVtb3RlU2VydmljZSgpOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdhamF4UmVtb3RlU2VydmljZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IGFqYXhSZW1vdGVTZXJ2aWNlKHZhbHVlOiB7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9KSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdhamF4UmVtb3RlU2VydmljZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuYWxsb3dNYXhpbWl6ZUl0ZW1zXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYWxsb3dNYXhpbWl6ZUl0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FsbG93TWF4aW1pemVJdGVtcycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGFsbG93TWF4aW1pemVJdGVtcyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignYWxsb3dNYXhpbWl6ZUl0ZW1zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5kYXNoYm9hcmRJZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhc2hib2FyZElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGFzaGJvYXJkSWQnKTtcclxuICAgIH1cclxuICAgIHNldCBkYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdkYXNoYm9hcmRJZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuZGF0YVJlcXVlc3RPcHRpb25zXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YVJlcXVlc3RPcHRpb25zKCk6IHsgaXRlbURhdGFMb2FkaW5nTW9kZT86IHN0cmluZywgaXRlbURhdGFSZXF1ZXN0TW9kZT86IHN0cmluZyB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkYXRhUmVxdWVzdE9wdGlvbnMnKTtcclxuICAgIH1cclxuICAgIHNldCBkYXRhUmVxdWVzdE9wdGlvbnModmFsdWU6IHsgaXRlbURhdGFMb2FkaW5nTW9kZT86IHN0cmluZywgaXRlbURhdGFSZXF1ZXN0TW9kZT86IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdkYXRhUmVxdWVzdE9wdGlvbnMnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmVuY29kZUh0bWxdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBlbmNvZGVIdG1sKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2VuY29kZUh0bWwnKTtcclxuICAgIH1cclxuICAgIHNldCBlbmNvZGVIdG1sKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdlbmNvZGVIdG1sJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5lbmRwb2ludF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGVuZHBvaW50KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZW5kcG9pbnQnKTtcclxuICAgIH1cclxuICAgIHNldCBlbmRwb2ludCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdlbmRwb2ludCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuZXh0ZW5zaW9uc11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGV4dGVuc2lvbnMoKTogeyBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHZpZXdlckFwaT86IHsgb25EYXNoYm9hcmRUaXRsZVRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUFjdGlvbkF2YWlsYWJpbGl0eUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2FwdGlvblRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUNsaWNrPzogRnVuY3Rpb24sIG9uSXRlbURyaWxsRG93blN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1FbGVtZW50Q3VzdG9tQ29sb3I/OiBGdW5jdGlvbiwgb25JdGVtTWFzdGVyRmlsdGVyU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVNlbGVjdGlvbkNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtVmlzdWFsSW50ZXJhY3Rpdml0eT86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRDcmVhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0aW5nPzogRnVuY3Rpb24sIG9uU2VsZWN0ZWRUYWJQYWdlQ2hhbmdlZD86IEZ1bmN0aW9uIH0gfSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZXh0ZW5zaW9ucycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGV4dGVuc2lvbnModmFsdWU6IHsgZGFzaGJvYXJkRXhwb3J0PzogeyBhbGxvd0V4cG9ydERhc2hib2FyZD86IGJvb2xlYW4sIGFsbG93RXhwb3J0RGFzaGJvYXJkSXRlbXM/OiBib29sZWFuLCBvbkV4cG9ydERpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93bj86IEZ1bmN0aW9uIH0sIGRhc2hib2FyZFBhcmFtZXRlckRpYWxvZz86IHsgb25EeW5hbWljTG9va1VwVmFsdWVzTG9hZGVkPzogRnVuY3Rpb24sIG9uSGlkZGVuPzogRnVuY3Rpb24sIG9uU2hvd2luZz86IEZ1bmN0aW9uLCBvblNob3duPzogRnVuY3Rpb24gfSwgZGF0YUluc3BlY3Rvcj86IHsgYWxsb3dJbnNwZWN0QWdncmVnYXRlZERhdGE/OiBib29sZWFuLCBhbGxvd0luc3BlY3RSYXdEYXRhPzogYm9vbGVhbiwgb25EaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd24/OiBGdW5jdGlvbiwgb25HcmlkQ29udGVudFJlYWR5PzogRnVuY3Rpb24sIG9uR3JpZEluaXRpYWxpemVkPzogRnVuY3Rpb24gfSwgZGF0YVNvdXJjZVdpemFyZD86IHsgYWxsb3dDcmVhdGVOZXdKc29uQ29ubmVjdGlvbj86IGJvb2xlYW4sIGVuYWJsZUN1c3RvbVNxbD86IGJvb2xlYW4sIG9uQ3VzdG9taXplRGF0YVNvdXJjZVdpemFyZD86IEZ1bmN0aW9uLCB3aXphcmRTZXR0aW5ncz86IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2V4dGVuc2lvbnMnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmluaXRpYWxEYXNoYm9hcmRJZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRJZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRJZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkSWQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmluaXRpYWxEYXNoYm9hcmRTdGF0ZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkU3RhdGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmxpbWl0VmlzaWJsZURhdGFNb2RlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbGltaXRWaXNpYmxlRGF0YU1vZGUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdsaW1pdFZpc2libGVEYXRhTW9kZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IGxpbWl0VmlzaWJsZURhdGFNb2RlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2xpbWl0VmlzaWJsZURhdGFNb2RlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5sb2FkRGVmYXVsdERhc2hib2FyZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxvYWREZWZhdWx0RGFzaGJvYXJkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2xvYWREZWZhdWx0RGFzaGJvYXJkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbG9hZERlZmF1bHREYXNoYm9hcmQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2xvYWREZWZhdWx0RGFzaGJvYXJkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5yZXNpemVCeVRpbWVyXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcmVzaXplQnlUaW1lcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVzaXplQnlUaW1lcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigncmVzaXplQnlUaW1lcicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmddXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZycpO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMudXNlTmV1dHJhbEZpbHRlck1vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB1c2VOZXV0cmFsRmlsdGVyTW9kZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd1c2VOZXV0cmFsRmlsdGVyTW9kZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IHVzZU5ldXRyYWxGaWx0ZXJNb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd1c2VOZXV0cmFsRmlsdGVyTW9kZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMud29ya2luZ01vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB3b3JraW5nTW9kZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3dvcmtpbmdNb2RlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgd29ya2luZ01vZGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd29ya2luZ01vZGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5vbkJlZm9yZVJlbmRlcl1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkJlZm9yZVJlbmRlcjogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5vbkRhc2hib2FyZEJlZ2luVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkQmVnaW5VcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25EYXNoYm9hcmRFbmRVcGRhdGVdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRFbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25EYXNoYm9hcmRJbml0aWFsaXplZF1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRhc2hib2FyZEluaXRpYWxpemVkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uRGFzaGJvYXJkSW5pdGlhbGl6aW5nXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkSW5pdGlhbGl6aW5nOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uSW5pdGlhbGl6aW5nXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSW5pdGlhbGl6aW5nOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uSXRlbUJlZ2luVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSXRlbUJlZ2luVXBkYXRlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uSXRlbUVuZFVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkl0ZW1FbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25PcHRpb25DaGFuZ2VkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uT3B0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFqYXhSZW1vdGVTZXJ2aWNlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGNvbXBsZXRlPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGFsbG93TWF4aW1pemVJdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBkYXNoYm9hcmRJZENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGRhdGFSZXF1ZXN0T3B0aW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHsgaXRlbURhdGFMb2FkaW5nTW9kZT86IHN0cmluZywgaXRlbURhdGFSZXF1ZXN0TW9kZT86IHN0cmluZyB9PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZW5jb2RlSHRtbENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBlbmRwb2ludENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGV4dGVuc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGl0ZW1CaW5kaW5nUGFuZWw/OiB7IG9uQ3VzdG9taXplRGF0YUl0ZW1Db250YWluZXJTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIGl0ZW1PcHRpb25zUGFuZWw/OiB7IG9uQ3VzdG9taXplU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBtb2JpbGVMYXlvdXQ/OiB7IG1vYmlsZUxheW91dEVuYWJsZWQ/OiBzdHJpbmcgfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaW5pdGlhbERhc2hib2FyZElkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgaW5pdGlhbERhc2hib2FyZFN0YXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbGltaXRWaXNpYmxlRGF0YU1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBsb2FkRGVmYXVsdERhc2hib2FyZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSByZXNpemVCeVRpbWVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHVzZU5ldXRyYWxGaWx0ZXJNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHdvcmtpbmdNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSwgdGVtcGxhdGVIb3N0OiBEeFRlbXBsYXRlSG9zdCxcclxuICAgICAgICAgICAgX3dhdGNoZXJIZWxwZXI6IFdhdGNoZXJIZWxwZXIsXHJcbiAgICAgICAgICAgIG9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICAgICAgICAgIHRyYW5zZmVyU3RhdGU6IFRyYW5zZmVyU3RhdGUsXHJcbiAgICAgICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSkge1xyXG5cclxuICAgICAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIHRlbXBsYXRlSG9zdCwgX3dhdGNoZXJIZWxwZXIsIHRyYW5zZmVyU3RhdGUsIHBsYXRmb3JtSWQpO1xyXG5cclxuICAgICAgICB0aGlzLl9jcmVhdGVFdmVudEVtaXR0ZXJzKFtcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdiZWZvcmVSZW5kZXInLCBlbWl0OiAnb25CZWZvcmVSZW5kZXInIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkQmVnaW5VcGRhdGUnLCBlbWl0OiAnb25EYXNoYm9hcmRCZWdpblVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRFbmRVcGRhdGUnLCBlbWl0OiAnb25EYXNoYm9hcmRFbmRVcGRhdGUnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkSW5pdGlhbGl6ZWQnLCBlbWl0OiAnb25EYXNoYm9hcmRJbml0aWFsaXplZCcgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRJbml0aWFsaXppbmcnLCBlbWl0OiAnb25EYXNoYm9hcmRJbml0aWFsaXppbmcnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkU3RhdGVDaGFuZ2VkJywgZW1pdDogJ29uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2luaXRpYWxpemluZycsIGVtaXQ6ICdvbkluaXRpYWxpemluZycgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpdGVtQmVnaW5VcGRhdGUnLCBlbWl0OiAnb25JdGVtQmVnaW5VcGRhdGUnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaXRlbUVuZFVwZGF0ZScsIGVtaXQ6ICdvbkl0ZW1FbmRVcGRhdGUnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnb3B0aW9uQ2hhbmdlZCcsIGVtaXQ6ICdvbk9wdGlvbkNoYW5nZWQnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2FqYXhSZW1vdGVTZXJ2aWNlQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdhbGxvd01heGltaXplSXRlbXNDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2Rhc2hib2FyZElkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdkYXRhUmVxdWVzdE9wdGlvbnNDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2VuY29kZUh0bWxDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2VuZHBvaW50Q2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdleHRlbnNpb25zQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdpbml0aWFsRGFzaGJvYXJkSWRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnbGltaXRWaXNpYmxlRGF0YU1vZGVDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2xvYWREZWZhdWx0RGFzaGJvYXJkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdyZXNpemVCeVRpbWVyQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAndXNlTmV1dHJhbEZpbHRlck1vZGVDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3dvcmtpbmdNb2RlQ2hhbmdlJyB9XHJcbiAgICAgICAgXSk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBfY3JlYXRlSW5zdGFuY2UoZWxlbWVudCwgb3B0aW9ucykge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IER4RGFzaGJvYXJkQ29udHJvbChlbGVtZW50LCBvcHRpb25zKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fZGVzdHJveVdpZGdldCgpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSxcclxuICAgIER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcclxuICAgIER4b0V4dGVuc2lvbnNNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUsXHJcbiAgICBEeG9EYXRhSW5zcGVjdG9yTW9kdWxlLFxyXG4gICAgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcclxuICAgIER4b1dpemFyZFNldHRpbmdzTW9kdWxlLFxyXG4gICAgRHhvSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcclxuICAgIER4b0l0ZW1PcHRpb25zUGFuZWxNb2R1bGUsXHJcbiAgICBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUsXHJcbiAgICBEeG9WaWV3ZXJBcGlNb2R1bGUsXHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZSxcclxuICAgIEJyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50LFxyXG4gICAgRHhvQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUsXHJcbiAgICBEeG9EYXRhUmVxdWVzdE9wdGlvbnNNb2R1bGUsXHJcbiAgICBEeG9FeHRlbnNpb25zTW9kdWxlLFxyXG4gICAgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlLFxyXG4gICAgRHhvRGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nTW9kdWxlLFxyXG4gICAgRHhvRGF0YUluc3BlY3Rvck1vZHVsZSxcclxuICAgIER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUsXHJcbiAgICBEeG9XaXphcmRTZXR0aW5nc01vZHVsZSxcclxuICAgIER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUsXHJcbiAgICBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlLFxyXG4gICAgRHhvTW9iaWxlTGF5b3V0TW9kdWxlLFxyXG4gICAgRHhvVmlld2VyQXBpTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4RGFzaGJvYXJkQ29udHJvbE1vZHVsZSB7IH1cclxuIl19
|
|
457
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlC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QkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsMEJBQTBCO1NBQzNCO1FBQ0QsWUFBWSxFQUFFO1lBQ1osMkJBQTJCO1NBQzVCO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsMkJBQTJCO1lBQzNCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4QixpQ0FBaUM7WUFDakMsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtTQUNqQjtLQUNGLENBQUM7R0FDVyx3QkFBd0IsQ0FBSTtTQUE1Qix3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cclxuXHJcblxyXG5pbXBvcnQgeyBCcm93c2VyVHJhbnNmZXJTdGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBUcmFuc2ZlclN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgTmdab25lLFxyXG4gICAgUExBVEZPUk1fSUQsXHJcbiAgICBJbmplY3QsXHJcblxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcblxyXG5pbXBvcnQgeyBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQvZGVzaWduZXIvZGF0YS1zb3VyY2Utd2l6YXJkL2RhdGEtc291cmNlLXdpemFyZC1leHRlbnNpb24nO1xyXG5cclxuaW1wb3J0IER4RGFzaGJvYXJkQ29udHJvbCBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9pbnRlZ3JhdGlvbi9pbmRleCc7XHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIER4Q29tcG9uZW50LFxyXG4gICAgRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgRHhUZW1wbGF0ZU1vZHVsZSxcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICBXYXRjaGVySGVscGVyXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRHhvQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFJbnNwZWN0b3JNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1dpemFyZFNldHRpbmdzTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b1ZpZXdlckFwaU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuXHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sXVxyXG5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkeC1kYXNoYm9hcmQtY29udHJvbCcsXHJcbiAgICB0ZW1wbGF0ZTogJycsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBEeFRlbXBsYXRlSG9zdCxcclxuICAgICAgICBXYXRjaGVySGVscGVyLFxyXG4gICAgICAgIE5lc3RlZE9wdGlvbkhvc3RcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudCBleHRlbmRzIER4Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIGluc3RhbmNlOiBEeERhc2hib2FyZENvbnRyb2w7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5hamF4UmVtb3RlU2VydmljZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGFqYXhSZW1vdGVTZXJ2aWNlKCk6IHsgYmVmb3JlU2VuZD86IEZ1bmN0aW9uLCBjb21wbGV0ZT86IEZ1bmN0aW9uLCBoZWFkZXJzPzogYW55IH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgYWpheFJlbW90ZVNlcnZpY2UodmFsdWU6IHsgYmVmb3JlU2VuZD86IEZ1bmN0aW9uLCBjb21wbGV0ZT86IEZ1bmN0aW9uLCBoZWFkZXJzPzogYW55IH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmFsbG93TWF4aW1pemVJdGVtc11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGFsbG93TWF4aW1pemVJdGVtcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdhbGxvd01heGltaXplSXRlbXMnKTtcclxuICAgIH1cclxuICAgIHNldCBhbGxvd01heGltaXplSXRlbXModmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FsbG93TWF4aW1pemVJdGVtcycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5kYXNoYm9hcmRJZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhc2hib2FyZElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGFzaGJvYXJkSWQnKTtcclxuICAgIH1cclxuICAgIHNldCBkYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdkYXNoYm9hcmRJZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5kYXRhUmVxdWVzdE9wdGlvbnNdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhUmVxdWVzdE9wdGlvbnMoKTogeyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGFSZXF1ZXN0T3B0aW9ucyh2YWx1ZTogeyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5lbmNvZGVIdG1sXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZW5jb2RlSHRtbCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdlbmNvZGVIdG1sJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgZW5jb2RlSHRtbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZW5jb2RlSHRtbCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5lbmRwb2ludF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGVuZHBvaW50KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZW5kcG9pbnQnKTtcclxuICAgIH1cclxuICAgIHNldCBlbmRwb2ludCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdlbmRwb2ludCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5leHRlbnNpb25zXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZXh0ZW5zaW9ucygpOiB7IGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGl0ZW1CaW5kaW5nUGFuZWw/OiB7IG9uQ3VzdG9taXplRGF0YUl0ZW1Db250YWluZXJTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIGl0ZW1PcHRpb25zUGFuZWw/OiB7IG9uQ3VzdG9taXplU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBtb2JpbGVMYXlvdXQ/OiB7IG1vYmlsZUxheW91dEVuYWJsZWQ/OiBzdHJpbmcgfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdleHRlbnNpb25zJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgZXh0ZW5zaW9ucyh2YWx1ZTogeyBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHZpZXdlckFwaT86IHsgb25EYXNoYm9hcmRUaXRsZVRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUFjdGlvbkF2YWlsYWJpbGl0eUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2FwdGlvblRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUNsaWNrPzogRnVuY3Rpb24sIG9uSXRlbURyaWxsRG93blN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1FbGVtZW50Q3VzdG9tQ29sb3I/OiBGdW5jdGlvbiwgb25JdGVtTWFzdGVyRmlsdGVyU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVNlbGVjdGlvbkNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtVmlzdWFsSW50ZXJhY3Rpdml0eT86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRDcmVhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0aW5nPzogRnVuY3Rpb24sIG9uU2VsZWN0ZWRUYWJQYWdlQ2hhbmdlZD86IEZ1bmN0aW9uIH0gfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZXh0ZW5zaW9ucycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5pbml0aWFsRGFzaGJvYXJkSWRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBpbml0aWFsRGFzaGJvYXJkSWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkSWQnKTtcclxuICAgIH1cclxuICAgIHNldCBpbml0aWFsRGFzaGJvYXJkSWQodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignaW5pdGlhbERhc2hib2FyZElkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmluaXRpYWxEYXNoYm9hcmRTdGF0ZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRTdGF0ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkU3RhdGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMubGltaXRWaXNpYmxlRGF0YU1vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsaW1pdFZpc2libGVEYXRhTW9kZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2xpbWl0VmlzaWJsZURhdGFNb2RlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbGltaXRWaXNpYmxlRGF0YU1vZGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbGltaXRWaXNpYmxlRGF0YU1vZGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMubG9hZERlZmF1bHREYXNoYm9hcmRdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsb2FkRGVmYXVsdERhc2hib2FyZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGxvYWREZWZhdWx0RGFzaGJvYXJkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsb2FkRGVmYXVsdERhc2hib2FyZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5yZXNpemVCeVRpbWVyXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcmVzaXplQnlUaW1lcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVzaXplQnlUaW1lcih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigncmVzaXplQnlUaW1lcicsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5zaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLnVzZU5ldXRyYWxGaWx0ZXJNb2RlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdXNlTmV1dHJhbEZpbHRlck1vZGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbigndXNlTmV1dHJhbEZpbHRlck1vZGUnKTtcclxuICAgIH1cclxuICAgIHNldCB1c2VOZXV0cmFsRmlsdGVyTW9kZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbigndXNlTmV1dHJhbEZpbHRlck1vZGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMud29ya2luZ01vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB3b3JraW5nTW9kZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3dvcmtpbmdNb2RlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgd29ya2luZ01vZGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignd29ya2luZ01vZGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uQmVmb3JlUmVuZGVyXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQmVmb3JlUmVuZGVyOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRCZWdpblVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRhc2hib2FyZEJlZ2luVXBkYXRlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRFbmRVcGRhdGVdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRFbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEluaXRpYWxpemVkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkSW5pdGlhbGl6ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEluaXRpYWxpemluZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRhc2hib2FyZEluaXRpYWxpemluZzogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkU3RhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25Jbml0aWFsaXppbmddXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25Jbml0aWFsaXppbmc6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkl0ZW1CZWdpblVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkl0ZW1CZWdpblVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uSXRlbUVuZFVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkl0ZW1FbmRVcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbk9wdGlvbkNoYW5nZWRdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25PcHRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYWxsb3dNYXhpbWl6ZUl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGRhc2hib2FyZElkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBlbmNvZGVIdG1sQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGVuZHBvaW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZXh0ZW5zaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHsgZGFzaGJvYXJkRXhwb3J0PzogeyBhbGxvd0V4cG9ydERhc2hib2FyZD86IGJvb2xlYW4sIGFsbG93RXhwb3J0RGFzaGJvYXJkSXRlbXM/OiBib29sZWFuLCBvbkV4cG9ydERpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93bj86IEZ1bmN0aW9uIH0sIGRhc2hib2FyZFBhcmFtZXRlckRpYWxvZz86IHsgb25EeW5hbWljTG9va1VwVmFsdWVzTG9hZGVkPzogRnVuY3Rpb24sIG9uSGlkZGVuPzogRnVuY3Rpb24sIG9uU2hvd2luZz86IEZ1bmN0aW9uLCBvblNob3duPzogRnVuY3Rpb24gfSwgZGF0YUluc3BlY3Rvcj86IHsgYWxsb3dJbnNwZWN0QWdncmVnYXRlZERhdGE/OiBib29sZWFuLCBhbGxvd0luc3BlY3RSYXdEYXRhPzogYm9vbGVhbiwgb25EaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd24/OiBGdW5jdGlvbiwgb25HcmlkQ29udGVudFJlYWR5PzogRnVuY3Rpb24sIG9uR3JpZEluaXRpYWxpemVkPzogRnVuY3Rpb24gfSwgZGF0YVNvdXJjZVdpemFyZD86IHsgYWxsb3dDcmVhdGVOZXdKc29uQ29ubmVjdGlvbj86IGJvb2xlYW4sIGVuYWJsZUN1c3RvbVNxbD86IGJvb2xlYW4sIG9uQ3VzdG9taXplRGF0YVNvdXJjZVdpemFyZD86IEZ1bmN0aW9uLCB3aXphcmRTZXR0aW5ncz86IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBsaW1pdFZpc2libGVEYXRhTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGxvYWREZWZhdWx0RGFzaGJvYXJkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHJlc2l6ZUJ5VGltZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgdXNlTmV1dHJhbEZpbHRlck1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgd29ya2luZ01vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lLCB0ZW1wbGF0ZUhvc3Q6IER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgICAgICBfd2F0Y2hlckhlbHBlcjogV2F0Y2hlckhlbHBlcixcclxuICAgICAgICAgICAgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgICAgICAgICAgdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSxcclxuICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogYW55KSB7XHJcblxyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIG5nWm9uZSwgdGVtcGxhdGVIb3N0LCBfd2F0Y2hlckhlbHBlciwgdHJhbnNmZXJTdGF0ZSwgcGxhdGZvcm1JZCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUV2ZW50RW1pdHRlcnMoW1xyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2JlZm9yZVJlbmRlcicsIGVtaXQ6ICdvbkJlZm9yZVJlbmRlcicgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRCZWdpblVwZGF0ZScsIGVtaXQ6ICdvbkRhc2hib2FyZEJlZ2luVXBkYXRlJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEVuZFVwZGF0ZScsIGVtaXQ6ICdvbkRhc2hib2FyZEVuZFVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRJbml0aWFsaXplZCcsIGVtaXQ6ICdvbkRhc2hib2FyZEluaXRpYWxpemVkJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEluaXRpYWxpemluZycsIGVtaXQ6ICdvbkRhc2hib2FyZEluaXRpYWxpemluZycgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRTdGF0ZUNoYW5nZWQnLCBlbWl0OiAnb25EYXNoYm9hcmRTdGF0ZUNoYW5nZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaW5pdGlhbGl6aW5nJywgZW1pdDogJ29uSW5pdGlhbGl6aW5nJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2l0ZW1CZWdpblVwZGF0ZScsIGVtaXQ6ICdvbkl0ZW1CZWdpblVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpdGVtRW5kVXBkYXRlJywgZW1pdDogJ29uSXRlbUVuZFVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdvcHRpb25DaGFuZ2VkJywgZW1pdDogJ29uT3B0aW9uQ2hhbmdlZCcgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2FsbG93TWF4aW1pemVJdGVtc0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZGFzaGJvYXJkSWRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2RhdGFSZXF1ZXN0T3B0aW9uc0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZW5jb2RlSHRtbENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZW5kcG9pbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2V4dGVuc2lvbnNDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2luaXRpYWxEYXNoYm9hcmRJZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnaW5pdGlhbERhc2hib2FyZFN0YXRlQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdsaW1pdFZpc2libGVEYXRhTW9kZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnbG9hZERlZmF1bHREYXNoYm9hcmRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3Jlc2l6ZUJ5VGltZXJDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICd1c2VOZXV0cmFsRmlsdGVyTW9kZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnd29ya2luZ01vZGVDaGFuZ2UnIH1cclxuICAgICAgICBdKTtcclxuICAgICAgICBvcHRpb25Ib3N0LnNldEhvc3QodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVJbnN0YW5jZShlbGVtZW50LCBvcHRpb25zKSB7XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRHhEYXNoYm9hcmRDb250cm9sKGVsZW1lbnQsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9kZXN0cm95V2lkZ2V0KCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlLFxyXG4gICAgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlLFxyXG4gICAgRHhvRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZEV4cG9ydE1vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcclxuICAgIER4b0RhdGFJbnNwZWN0b3JNb2R1bGUsXHJcbiAgICBEeG9EYXRhU291cmNlV2l6YXJkTW9kdWxlLFxyXG4gICAgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUsXHJcbiAgICBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlLFxyXG4gICAgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcclxuICAgIER4b01vYmlsZUxheW91dE1vZHVsZSxcclxuICAgIER4b1ZpZXdlckFwaU1vZHVsZSxcclxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxyXG4gICAgQnJvd3NlclRyYW5zZmVyU3RhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeERhc2hib2FyZENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSxcclxuICAgIER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcclxuICAgIER4b0V4dGVuc2lvbnNNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUsXHJcbiAgICBEeG9EYXRhSW5zcGVjdG9yTW9kdWxlLFxyXG4gICAgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcclxuICAgIER4b1dpemFyZFNldHRpbmdzTW9kdWxlLFxyXG4gICAgRHhvSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcclxuICAgIER4b0l0ZW1PcHRpb25zUGFuZWxNb2R1bGUsXHJcbiAgICBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUsXHJcbiAgICBEeG9WaWV3ZXJBcGlNb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -57,7 +57,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
57
57
|
}
|
|
58
58
|
Object.defineProperty(DxDashboardControlComponent.prototype, "ajaxRemoteService", {
|
|
59
59
|
/**
|
|
60
|
-
* [descr:
|
|
60
|
+
* [descr:dxDashboardControlOptions.ajaxRemoteService]
|
|
61
61
|
|
|
62
62
|
*/
|
|
63
63
|
get: function () {
|
|
@@ -71,7 +71,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(DxDashboardControlComponent.prototype, "allowMaximizeItems", {
|
|
73
73
|
/**
|
|
74
|
-
* [descr:
|
|
74
|
+
* [descr:dxDashboardControlOptions.allowMaximizeItems]
|
|
75
75
|
|
|
76
76
|
*/
|
|
77
77
|
get: function () {
|
|
@@ -85,7 +85,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
85
85
|
});
|
|
86
86
|
Object.defineProperty(DxDashboardControlComponent.prototype, "dashboardId", {
|
|
87
87
|
/**
|
|
88
|
-
* [descr:
|
|
88
|
+
* [descr:dxDashboardControlOptions.dashboardId]
|
|
89
89
|
|
|
90
90
|
*/
|
|
91
91
|
get: function () {
|
|
@@ -99,7 +99,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(DxDashboardControlComponent.prototype, "dataRequestOptions", {
|
|
101
101
|
/**
|
|
102
|
-
* [descr:
|
|
102
|
+
* [descr:dxDashboardControlOptions.dataRequestOptions]
|
|
103
103
|
|
|
104
104
|
*/
|
|
105
105
|
get: function () {
|
|
@@ -113,7 +113,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
113
113
|
});
|
|
114
114
|
Object.defineProperty(DxDashboardControlComponent.prototype, "encodeHtml", {
|
|
115
115
|
/**
|
|
116
|
-
* [descr:
|
|
116
|
+
* [descr:dxDashboardControlOptions.encodeHtml]
|
|
117
117
|
|
|
118
118
|
*/
|
|
119
119
|
get: function () {
|
|
@@ -127,7 +127,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
127
127
|
});
|
|
128
128
|
Object.defineProperty(DxDashboardControlComponent.prototype, "endpoint", {
|
|
129
129
|
/**
|
|
130
|
-
* [descr:
|
|
130
|
+
* [descr:dxDashboardControlOptions.endpoint]
|
|
131
131
|
|
|
132
132
|
*/
|
|
133
133
|
get: function () {
|
|
@@ -141,7 +141,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
141
141
|
});
|
|
142
142
|
Object.defineProperty(DxDashboardControlComponent.prototype, "extensions", {
|
|
143
143
|
/**
|
|
144
|
-
* [descr:
|
|
144
|
+
* [descr:dxDashboardControlOptions.extensions]
|
|
145
145
|
|
|
146
146
|
*/
|
|
147
147
|
get: function () {
|
|
@@ -155,7 +155,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
155
155
|
});
|
|
156
156
|
Object.defineProperty(DxDashboardControlComponent.prototype, "initialDashboardId", {
|
|
157
157
|
/**
|
|
158
|
-
* [descr:
|
|
158
|
+
* [descr:dxDashboardControlOptions.initialDashboardId]
|
|
159
159
|
|
|
160
160
|
*/
|
|
161
161
|
get: function () {
|
|
@@ -169,7 +169,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
169
169
|
});
|
|
170
170
|
Object.defineProperty(DxDashboardControlComponent.prototype, "initialDashboardState", {
|
|
171
171
|
/**
|
|
172
|
-
* [descr:
|
|
172
|
+
* [descr:dxDashboardControlOptions.initialDashboardState]
|
|
173
173
|
|
|
174
174
|
*/
|
|
175
175
|
get: function () {
|
|
@@ -183,7 +183,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
183
183
|
});
|
|
184
184
|
Object.defineProperty(DxDashboardControlComponent.prototype, "limitVisibleDataMode", {
|
|
185
185
|
/**
|
|
186
|
-
* [descr:
|
|
186
|
+
* [descr:dxDashboardControlOptions.limitVisibleDataMode]
|
|
187
187
|
|
|
188
188
|
*/
|
|
189
189
|
get: function () {
|
|
@@ -197,7 +197,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
197
197
|
});
|
|
198
198
|
Object.defineProperty(DxDashboardControlComponent.prototype, "loadDefaultDashboard", {
|
|
199
199
|
/**
|
|
200
|
-
* [descr:
|
|
200
|
+
* [descr:dxDashboardControlOptions.loadDefaultDashboard]
|
|
201
201
|
|
|
202
202
|
*/
|
|
203
203
|
get: function () {
|
|
@@ -211,7 +211,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
211
211
|
});
|
|
212
212
|
Object.defineProperty(DxDashboardControlComponent.prototype, "resizeByTimer", {
|
|
213
213
|
/**
|
|
214
|
-
* [descr:
|
|
214
|
+
* [descr:dxDashboardControlOptions.resizeByTimer]
|
|
215
215
|
|
|
216
216
|
*/
|
|
217
217
|
get: function () {
|
|
@@ -225,7 +225,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
225
225
|
});
|
|
226
226
|
Object.defineProperty(DxDashboardControlComponent.prototype, "showConfirmationOnBrowserClosing", {
|
|
227
227
|
/**
|
|
228
|
-
* [descr:
|
|
228
|
+
* [descr:dxDashboardControlOptions.showConfirmationOnBrowserClosing]
|
|
229
229
|
|
|
230
230
|
*/
|
|
231
231
|
get: function () {
|
|
@@ -239,7 +239,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
239
239
|
});
|
|
240
240
|
Object.defineProperty(DxDashboardControlComponent.prototype, "useNeutralFilterMode", {
|
|
241
241
|
/**
|
|
242
|
-
* [descr:
|
|
242
|
+
* [descr:dxDashboardControlOptions.useNeutralFilterMode]
|
|
243
243
|
|
|
244
244
|
*/
|
|
245
245
|
get: function () {
|
|
@@ -253,7 +253,7 @@ var DxDashboardControlComponent = /** @class */ (function (_super) {
|
|
|
253
253
|
});
|
|
254
254
|
Object.defineProperty(DxDashboardControlComponent.prototype, "workingMode", {
|
|
255
255
|
/**
|
|
256
|
-
* [descr:
|
|
256
|
+
* [descr:dxDashboardControlOptions.workingMode]
|
|
257
257
|
|
|
258
258
|
*/
|
|
259
259
|
get: function () {
|
|
@@ -520,4 +520,4 @@ var DxDashboardControlModule = /** @class */ (function () {
|
|
|
520
520
|
return DxDashboardControlModule;
|
|
521
521
|
}());
|
|
522
522
|
export { DxDashboardControlModule };
|
|
523
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlC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QkFDdEIseUJBQXlCO2dCQUN6Qix1QkFBdUI7Z0JBQ3ZCLHlCQUF5QjtnQkFDekIseUJBQXlCO2dCQUN6QixxQkFBcUI7Z0JBQ3JCLGtCQUFrQjtnQkFDbEIsbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLDBCQUEwQjthQUMzQjtZQUNELFlBQVksRUFBRTtnQkFDWiwyQkFBMkI7YUFDNUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsMkJBQTJCO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLDJCQUEyQjtnQkFDM0IsbUJBQW1CO2dCQUNuQix3QkFBd0I7Z0JBQ3hCLGlDQUFpQztnQkFDakMsc0JBQXNCO2dCQUN0Qix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIseUJBQXlCO2dCQUN6Qix5QkFBeUI7Z0JBQ3pCLHFCQUFxQjtnQkFDckIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7YUFDakI7U0FDRixDQUFDO09BQ1csd0JBQXdCLENBQUk7SUFBRCwrQkFBQztDQUFBLEFBQXpDLElBQXlDO1NBQTVCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xyXG5cclxuXHJcbmltcG9ydCB7IEJyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRyYW5zZmVyU3RhdGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBQTEFURk9STV9JRCxcclxuICAgIEluamVjdCxcclxuXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmltcG9ydCB7IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9kZXNpZ25lci9kYXRhLXNvdXJjZS13aXphcmQvZGF0YS1zb3VyY2Utd2l6YXJkLWV4dGVuc2lvbic7XHJcblxyXG5pbXBvcnQgRHhEYXNoYm9hcmRDb250cm9sIGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkL2ludGVncmF0aW9uL2luZGV4JztcclxuXHJcblxyXG5pbXBvcnQge1xyXG4gICAgRHhDb21wb25lbnQsXHJcbiAgICBEeFRlbXBsYXRlSG9zdCxcclxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxyXG4gICAgTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgIFdhdGNoZXJIZWxwZXJcclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9FeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YUluc3BlY3Rvck1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0l0ZW1PcHRpb25zUGFuZWxNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b01vYmlsZUxheW91dE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvVmlld2VyQXBpTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xdXHJcblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4LWRhc2hib2FyZC1jb250cm9sJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgIFdhdGNoZXJIZWxwZXIsXHJcbiAgICAgICAgTmVzdGVkT3B0aW9uSG9zdFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgRHhDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgaW5zdGFuY2U6IER4RGFzaGJvYXJkQ29udHJvbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5hamF4UmVtb3RlU2VydmljZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGFqYXhSZW1vdGVTZXJ2aWNlKCk6IHsgYmVmb3JlU2VuZD86IEZ1bmN0aW9uLCBjb21wbGV0ZT86IEZ1bmN0aW9uLCBoZWFkZXJzPzogYW55IH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgYWpheFJlbW90ZVNlcnZpY2UodmFsdWU6IHsgYmVmb3JlU2VuZD86IEZ1bmN0aW9uLCBjb21wbGV0ZT86IEZ1bmN0aW9uLCBoZWFkZXJzPzogYW55IH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2FqYXhSZW1vdGVTZXJ2aWNlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5hbGxvd01heGltaXplSXRlbXNdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBhbGxvd01heGltaXplSXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignYWxsb3dNYXhpbWl6ZUl0ZW1zJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgYWxsb3dNYXhpbWl6ZUl0ZW1zKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdhbGxvd01heGltaXplSXRlbXMnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmRhc2hib2FyZElkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGFzaGJvYXJkSWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkYXNoYm9hcmRJZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhc2hib2FyZElkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2Rhc2hib2FyZElkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5kYXRhUmVxdWVzdE9wdGlvbnNdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBkYXRhUmVxdWVzdE9wdGlvbnMoKTogeyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhdGFSZXF1ZXN0T3B0aW9ucyh2YWx1ZTogeyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2RhdGFSZXF1ZXN0T3B0aW9ucycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuZW5jb2RlSHRtbF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGVuY29kZUh0bWwoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZW5jb2RlSHRtbCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGVuY29kZUh0bWwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2VuY29kZUh0bWwnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmVuZHBvaW50XVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZW5kcG9pbnQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdlbmRwb2ludCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGVuZHBvaW50KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2VuZHBvaW50JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5leHRlbnNpb25zXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZXh0ZW5zaW9ucygpOiB7IGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGl0ZW1CaW5kaW5nUGFuZWw/OiB7IG9uQ3VzdG9taXplRGF0YUl0ZW1Db250YWluZXJTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIGl0ZW1PcHRpb25zUGFuZWw/OiB7IG9uQ3VzdG9taXplU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBtb2JpbGVMYXlvdXQ/OiB7IG1vYmlsZUxheW91dEVuYWJsZWQ/OiBzdHJpbmcgfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdleHRlbnNpb25zJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgZXh0ZW5zaW9ucyh2YWx1ZTogeyBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHZpZXdlckFwaT86IHsgb25EYXNoYm9hcmRUaXRsZVRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUFjdGlvbkF2YWlsYWJpbGl0eUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2FwdGlvblRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUNsaWNrPzogRnVuY3Rpb24sIG9uSXRlbURyaWxsRG93blN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1FbGVtZW50Q3VzdG9tQ29sb3I/OiBGdW5jdGlvbiwgb25JdGVtTWFzdGVyRmlsdGVyU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVNlbGVjdGlvbkNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtVmlzdWFsSW50ZXJhY3Rpdml0eT86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRDcmVhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0aW5nPzogRnVuY3Rpb24sIG9uU2VsZWN0ZWRUYWJQYWdlQ2hhbmdlZD86IEZ1bmN0aW9uIH0gfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZXh0ZW5zaW9ucycsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuaW5pdGlhbERhc2hib2FyZElkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaW5pdGlhbERhc2hib2FyZElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignaW5pdGlhbERhc2hib2FyZElkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgaW5pdGlhbERhc2hib2FyZElkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRJZCcsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMuaW5pdGlhbERhc2hib2FyZFN0YXRlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaW5pdGlhbERhc2hib2FyZFN0YXRlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignaW5pdGlhbERhc2hib2FyZFN0YXRlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgaW5pdGlhbERhc2hib2FyZFN0YXRlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMubGltaXRWaXNpYmxlRGF0YU1vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBsaW1pdFZpc2libGVEYXRhTW9kZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2xpbWl0VmlzaWJsZURhdGFNb2RlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbGltaXRWaXNpYmxlRGF0YU1vZGUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbGltaXRWaXNpYmxlRGF0YU1vZGUnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLmxvYWREZWZhdWx0RGFzaGJvYXJkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgbG9hZERlZmF1bHREYXNoYm9hcmQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbG9hZERlZmF1bHREYXNoYm9hcmQnKTtcclxuICAgIH1cclxuICAgIHNldCBsb2FkRGVmYXVsdERhc2hib2FyZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignbG9hZERlZmF1bHREYXNoYm9hcmQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLnJlc2l6ZUJ5VGltZXJdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCByZXNpemVCeVRpbWVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Jlc2l6ZUJ5VGltZXInKTtcclxuICAgIH1cclxuICAgIHNldCByZXNpemVCeVRpbWVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5zaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy51c2VOZXV0cmFsRmlsdGVyTW9kZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHVzZU5ldXRyYWxGaWx0ZXJNb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgdXNlTmV1dHJhbEZpbHRlck1vZGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy53b3JraW5nTW9kZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHdvcmtpbmdNb2RlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignd29ya2luZ01vZGUnKTtcclxuICAgIH1cclxuICAgIHNldCB3b3JraW5nTW9kZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd3b3JraW5nTW9kZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uQmVmb3JlUmVuZGVyXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uQmVmb3JlUmVuZGVyOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbC5PcHRpb25zLm9uRGFzaGJvYXJkQmVnaW5VcGRhdGVdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRCZWdpblVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5vbkRhc2hib2FyZEVuZFVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRhc2hib2FyZEVuZFVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5vbkRhc2hib2FyZEluaXRpYWxpemVkXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkSW5pdGlhbGl6ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25EYXNoYm9hcmRJbml0aWFsaXppbmddXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXppbmc6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25EYXNoYm9hcmRTdGF0ZUNoYW5nZWRdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25Jbml0aWFsaXppbmddXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25Jbml0aWFsaXppbmc6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25JdGVtQmVnaW5VcGRhdGVdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25JdGVtQmVnaW5VcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sLk9wdGlvbnMub25JdGVtRW5kVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSXRlbUVuZFVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2wuT3B0aW9ucy5vbk9wdGlvbkNoYW5nZWRdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25PcHRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGJlZm9yZVNlbmQ/OiBGdW5jdGlvbiwgY29tcGxldGU/OiBGdW5jdGlvbiwgaGVhZGVycz86IGFueSB9PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgYWxsb3dNYXhpbWl6ZUl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGRhc2hib2FyZElkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBpdGVtRGF0YUxvYWRpbmdNb2RlPzogc3RyaW5nLCBpdGVtRGF0YVJlcXVlc3RNb2RlPzogc3RyaW5nIH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBlbmNvZGVIdG1sQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGVuZHBvaW50Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZXh0ZW5zaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPHsgZGFzaGJvYXJkRXhwb3J0PzogeyBhbGxvd0V4cG9ydERhc2hib2FyZD86IGJvb2xlYW4sIGFsbG93RXhwb3J0RGFzaGJvYXJkSXRlbXM/OiBib29sZWFuLCBvbkV4cG9ydERpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93bj86IEZ1bmN0aW9uIH0sIGRhc2hib2FyZFBhcmFtZXRlckRpYWxvZz86IHsgb25EeW5hbWljTG9va1VwVmFsdWVzTG9hZGVkPzogRnVuY3Rpb24sIG9uSGlkZGVuPzogRnVuY3Rpb24sIG9uU2hvd2luZz86IEZ1bmN0aW9uLCBvblNob3duPzogRnVuY3Rpb24gfSwgZGF0YUluc3BlY3Rvcj86IHsgYWxsb3dJbnNwZWN0QWdncmVnYXRlZERhdGE/OiBib29sZWFuLCBhbGxvd0luc3BlY3RSYXdEYXRhPzogYm9vbGVhbiwgb25EaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd24/OiBGdW5jdGlvbiwgb25HcmlkQ29udGVudFJlYWR5PzogRnVuY3Rpb24sIG9uR3JpZEluaXRpYWxpemVkPzogRnVuY3Rpb24gfSwgZGF0YVNvdXJjZVdpemFyZD86IHsgYWxsb3dDcmVhdGVOZXdKc29uQ29ubmVjdGlvbj86IGJvb2xlYW4sIGVuYWJsZUN1c3RvbVNxbD86IGJvb2xlYW4sIG9uQ3VzdG9taXplRGF0YVNvdXJjZVdpemFyZD86IEZ1bmN0aW9uLCB3aXphcmRTZXR0aW5ncz86IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBpbml0aWFsRGFzaGJvYXJkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBsaW1pdFZpc2libGVEYXRhTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGxvYWREZWZhdWx0RGFzaGJvYXJkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHJlc2l6ZUJ5VGltZXJDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgdXNlTmV1dHJhbEZpbHRlck1vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgd29ya2luZ01vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lLCB0ZW1wbGF0ZUhvc3Q6IER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgICAgICBfd2F0Y2hlckhlbHBlcjogV2F0Y2hlckhlbHBlcixcclxuICAgICAgICAgICAgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgICAgICAgICAgdHJhbnNmZXJTdGF0ZTogVHJhbnNmZXJTdGF0ZSxcclxuICAgICAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogYW55KSB7XHJcblxyXG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIG5nWm9uZSwgdGVtcGxhdGVIb3N0LCBfd2F0Y2hlckhlbHBlciwgdHJhbnNmZXJTdGF0ZSwgcGxhdGZvcm1JZCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUV2ZW50RW1pdHRlcnMoW1xyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2JlZm9yZVJlbmRlcicsIGVtaXQ6ICdvbkJlZm9yZVJlbmRlcicgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRCZWdpblVwZGF0ZScsIGVtaXQ6ICdvbkRhc2hib2FyZEJlZ2luVXBkYXRlJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEVuZFVwZGF0ZScsIGVtaXQ6ICdvbkRhc2hib2FyZEVuZFVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRJbml0aWFsaXplZCcsIGVtaXQ6ICdvbkRhc2hib2FyZEluaXRpYWxpemVkJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEluaXRpYWxpemluZycsIGVtaXQ6ICdvbkRhc2hib2FyZEluaXRpYWxpemluZycgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdkYXNoYm9hcmRTdGF0ZUNoYW5nZWQnLCBlbWl0OiAnb25EYXNoYm9hcmRTdGF0ZUNoYW5nZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaW5pdGlhbGl6aW5nJywgZW1pdDogJ29uSW5pdGlhbGl6aW5nJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2l0ZW1CZWdpblVwZGF0ZScsIGVtaXQ6ICdvbkl0ZW1CZWdpblVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpdGVtRW5kVXBkYXRlJywgZW1pdDogJ29uSXRlbUVuZFVwZGF0ZScgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdvcHRpb25DaGFuZ2VkJywgZW1pdDogJ29uT3B0aW9uQ2hhbmdlZCcgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnYWpheFJlbW90ZVNlcnZpY2VDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2FsbG93TWF4aW1pemVJdGVtc0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZGFzaGJvYXJkSWRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2RhdGFSZXF1ZXN0T3B0aW9uc0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZW5jb2RlSHRtbENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZW5kcG9pbnRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2V4dGVuc2lvbnNDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2luaXRpYWxEYXNoYm9hcmRJZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnaW5pdGlhbERhc2hib2FyZFN0YXRlQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdsaW1pdFZpc2libGVEYXRhTW9kZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnbG9hZERlZmF1bHREYXNoYm9hcmRDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3Jlc2l6ZUJ5VGltZXJDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3Nob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICd1c2VOZXV0cmFsRmlsdGVyTW9kZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnd29ya2luZ01vZGVDaGFuZ2UnIH1cclxuICAgICAgICBdKTtcclxuICAgICAgICBvcHRpb25Ib3N0LnNldEhvc3QodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9jcmVhdGVJbnN0YW5jZShlbGVtZW50LCBvcHRpb25zKSB7XHJcblxyXG4gICAgICAgIHJldHVybiBuZXcgRHhEYXNoYm9hcmRDb250cm9sKGVsZW1lbnQsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLl9kZXN0cm95V2lkZ2V0KCk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlLFxyXG4gICAgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlLFxyXG4gICAgRHhvRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZEV4cG9ydE1vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcclxuICAgIER4b0RhdGFJbnNwZWN0b3JNb2R1bGUsXHJcbiAgICBEeG9EYXRhU291cmNlV2l6YXJkTW9kdWxlLFxyXG4gICAgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUsXHJcbiAgICBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlLFxyXG4gICAgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcclxuICAgIER4b01vYmlsZUxheW91dE1vZHVsZSxcclxuICAgIER4b1ZpZXdlckFwaU1vZHVsZSxcclxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxyXG4gICAgQnJvd3NlclRyYW5zZmVyU3RhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeERhc2hib2FyZENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSxcclxuICAgIER4b0RhdGFSZXF1ZXN0T3B0aW9uc01vZHVsZSxcclxuICAgIER4b0V4dGVuc2lvbnNNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUsXHJcbiAgICBEeG9EYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2dNb2R1bGUsXHJcbiAgICBEeG9EYXRhSW5zcGVjdG9yTW9kdWxlLFxyXG4gICAgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSxcclxuICAgIER4b1dpemFyZFNldHRpbmdzTW9kdWxlLFxyXG4gICAgRHhvSXRlbUJpbmRpbmdQYW5lbE1vZHVsZSxcclxuICAgIER4b0l0ZW1PcHRpb25zUGFuZWxNb2R1bGUsXHJcbiAgICBEeG9Nb2JpbGVMYXlvdXRNb2R1bGUsXHJcbiAgICBEeG9WaWV3ZXJBcGlNb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sTW9kdWxlIHsgfVxyXG4iXX0=
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL2Rhc2hib2FyZC1jb250cm9sLyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOztBQUdwQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixXQUFXLEVBQ1gsTUFBTSxFQUVOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLGtCQUFrQixNQUFNLHdDQUF3QyxDQUFDO0FBR3hFLE9BQU8sRUFDSCxXQUFXLEVBQ1gsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlC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QkFDdEIseUJBQXlCO2dCQUN6Qix1QkFBdUI7Z0JBQ3ZCLHlCQUF5QjtnQkFDekIseUJBQXlCO2dCQUN6QixxQkFBcUI7Z0JBQ3JCLGtCQUFrQjtnQkFDbEIsbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLDBCQUEwQjthQUMzQjtZQUNELFlBQVksRUFBRTtnQkFDWiwyQkFBMkI7YUFDNUI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsMkJBQTJCO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLDJCQUEyQjtnQkFDM0IsbUJBQW1CO2dCQUNuQix3QkFBd0I7Z0JBQ3hCLGlDQUFpQztnQkFDakMsc0JBQXNCO2dCQUN0Qix5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIseUJBQXlCO2dCQUN6Qix5QkFBeUI7Z0JBQ3pCLHFCQUFxQjtnQkFDckIsa0JBQWtCO2dCQUNsQixnQkFBZ0I7YUFDakI7U0FDRixDQUFDO09BQ1csd0JBQXdCLENBQUk7SUFBRCwrQkFBQztDQUFBLEFBQXpDLElBQXlDO1NBQTVCLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xyXG5cclxuXHJcbmltcG9ydCB7IEJyb3dzZXJUcmFuc2ZlclN0YXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IFRyYW5zZmVyU3RhdGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBQTEFURk9STV9JRCxcclxuICAgIEluamVjdCxcclxuXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuXHJcbmltcG9ydCB7IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC9kZXNpZ25lci9kYXRhLXNvdXJjZS13aXphcmQvZGF0YS1zb3VyY2Utd2l6YXJkLWV4dGVuc2lvbic7XHJcblxyXG5pbXBvcnQgRHhEYXNoYm9hcmRDb250cm9sIGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkL2ludGVncmF0aW9uL2luZGV4JztcclxuXHJcblxyXG5pbXBvcnQge1xyXG4gICAgRHhDb21wb25lbnQsXHJcbiAgICBEeFRlbXBsYXRlSG9zdCxcclxuICAgIER4SW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICBEeFRlbXBsYXRlTW9kdWxlLFxyXG4gICAgTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgIFdhdGNoZXJIZWxwZXJcclxufSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBEeG9BamF4UmVtb3RlU2VydmljZU1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9FeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5pbXBvcnQgeyBEeG9EYXNoYm9hcmRFeHBvcnRNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YUluc3BlY3Rvck1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvRGF0YVNvdXJjZVdpemFyZE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b0l0ZW1PcHRpb25zUGFuZWxNb2R1bGUgfSBmcm9tICdkZXZleHByZXNzLWRhc2hib2FyZC1hbmd1bGFyL3VpL25lc3RlZCc7XHJcbmltcG9ydCB7IER4b01vYmlsZUxheW91dE1vZHVsZSB9IGZyb20gJ2RldmV4cHJlc3MtZGFzaGJvYXJkLWFuZ3VsYXIvdWkvbmVzdGVkJztcclxuaW1wb3J0IHsgRHhvVmlld2VyQXBpTW9kdWxlIH0gZnJvbSAnZGV2ZXhwcmVzcy1kYXNoYm9hcmQtYW5ndWxhci91aS9uZXN0ZWQnO1xyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xdXHJcblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4LWRhc2hib2FyZC1jb250cm9sJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgIFdhdGNoZXJIZWxwZXIsXHJcbiAgICAgICAgTmVzdGVkT3B0aW9uSG9zdFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhEYXNoYm9hcmRDb250cm9sQ29tcG9uZW50IGV4dGVuZHMgRHhDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgaW5zdGFuY2U6IER4RGFzaGJvYXJkQ29udHJvbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmFqYXhSZW1vdGVTZXJ2aWNlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYWpheFJlbW90ZVNlcnZpY2UoKTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGNvbXBsZXRlPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignYWpheFJlbW90ZVNlcnZpY2UnKTtcclxuICAgIH1cclxuICAgIHNldCBhamF4UmVtb3RlU2VydmljZSh2YWx1ZTogeyBiZWZvcmVTZW5kPzogRnVuY3Rpb24sIGNvbXBsZXRlPzogRnVuY3Rpb24sIGhlYWRlcnM/OiBhbnkgfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignYWpheFJlbW90ZVNlcnZpY2UnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuYWxsb3dNYXhpbWl6ZUl0ZW1zXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgYWxsb3dNYXhpbWl6ZUl0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2FsbG93TWF4aW1pemVJdGVtcycpO1xyXG4gICAgfVxyXG4gICAgc2V0IGFsbG93TWF4aW1pemVJdGVtcyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignYWxsb3dNYXhpbWl6ZUl0ZW1zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmRhc2hib2FyZElkXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGFzaGJvYXJkSWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdkYXNoYm9hcmRJZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGRhc2hib2FyZElkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2Rhc2hib2FyZElkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmRhdGFSZXF1ZXN0T3B0aW9uc11cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGFSZXF1ZXN0T3B0aW9ucygpOiB7IGl0ZW1EYXRhTG9hZGluZ01vZGU/OiBzdHJpbmcsIGl0ZW1EYXRhUmVxdWVzdE1vZGU/OiBzdHJpbmcgfSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignZGF0YVJlcXVlc3RPcHRpb25zJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgZGF0YVJlcXVlc3RPcHRpb25zKHZhbHVlOiB7IGl0ZW1EYXRhTG9hZGluZ01vZGU/OiBzdHJpbmcsIGl0ZW1EYXRhUmVxdWVzdE1vZGU/OiBzdHJpbmcgfSkge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignZGF0YVJlcXVlc3RPcHRpb25zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmVuY29kZUh0bWxdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBlbmNvZGVIdG1sKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2VuY29kZUh0bWwnKTtcclxuICAgIH1cclxuICAgIHNldCBlbmNvZGVIdG1sKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdlbmNvZGVIdG1sJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmVuZHBvaW50XVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZW5kcG9pbnQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCdlbmRwb2ludCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGVuZHBvaW50KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2VuZHBvaW50JywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmV4dGVuc2lvbnNdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBleHRlbnNpb25zKCk6IHsgZGFzaGJvYXJkRXhwb3J0PzogeyBhbGxvd0V4cG9ydERhc2hib2FyZD86IGJvb2xlYW4sIGFsbG93RXhwb3J0RGFzaGJvYXJkSXRlbXM/OiBib29sZWFuLCBvbkV4cG9ydERpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93bj86IEZ1bmN0aW9uIH0sIGRhc2hib2FyZFBhcmFtZXRlckRpYWxvZz86IHsgb25EeW5hbWljTG9va1VwVmFsdWVzTG9hZGVkPzogRnVuY3Rpb24sIG9uSGlkZGVuPzogRnVuY3Rpb24sIG9uU2hvd2luZz86IEZ1bmN0aW9uLCBvblNob3duPzogRnVuY3Rpb24gfSwgZGF0YUluc3BlY3Rvcj86IHsgYWxsb3dJbnNwZWN0QWdncmVnYXRlZERhdGE/OiBib29sZWFuLCBhbGxvd0luc3BlY3RSYXdEYXRhPzogYm9vbGVhbiwgb25EaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd24/OiBGdW5jdGlvbiwgb25HcmlkQ29udGVudFJlYWR5PzogRnVuY3Rpb24sIG9uR3JpZEluaXRpYWxpemVkPzogRnVuY3Rpb24gfSwgZGF0YVNvdXJjZVdpemFyZD86IHsgYWxsb3dDcmVhdGVOZXdKc29uQ29ubmVjdGlvbj86IGJvb2xlYW4sIGVuYWJsZUN1c3RvbVNxbD86IGJvb2xlYW4sIG9uQ3VzdG9taXplRGF0YVNvdXJjZVdpemFyZD86IEZ1bmN0aW9uLCB3aXphcmRTZXR0aW5ncz86IElEYXNoYm9hcmREYXRhU291cmNlV2l6YXJkU2V0dGluZ3MgfSwgaXRlbUJpbmRpbmdQYW5lbD86IHsgb25DdXN0b21pemVEYXRhSXRlbUNvbnRhaW5lclNlY3Rpb25zPzogRnVuY3Rpb24gfSwgaXRlbU9wdGlvbnNQYW5lbD86IHsgb25DdXN0b21pemVTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIG1vYmlsZUxheW91dD86IHsgbW9iaWxlTGF5b3V0RW5hYmxlZD86IHN0cmluZyB9LCB2aWV3ZXJBcGk/OiB7IG9uRGFzaGJvYXJkVGl0bGVUb29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1BY3Rpb25BdmFpbGFiaWxpdHlDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUNhcHRpb25Ub29sYmFyVXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DbGljaz86IEZ1bmN0aW9uLCBvbkl0ZW1EcmlsbERvd25TdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtRWxlbWVudEN1c3RvbUNvbG9yPzogRnVuY3Rpb24sIG9uSXRlbU1hc3RlckZpbHRlclN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1TZWxlY3Rpb25DaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVZpc3VhbEludGVyYWN0aXZpdHk/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0Q3JlYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRPcHRpb25zUHJlcGFyZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGluZz86IEZ1bmN0aW9uLCBvblNlbGVjdGVkVGFiUGFnZUNoYW5nZWQ/OiBGdW5jdGlvbiB9IH0ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2V4dGVuc2lvbnMnKTtcclxuICAgIH1cclxuICAgIHNldCBleHRlbnNpb25zKHZhbHVlOiB7IGRhc2hib2FyZEV4cG9ydD86IHsgYWxsb3dFeHBvcnREYXNoYm9hcmQ/OiBib29sZWFuLCBhbGxvd0V4cG9ydERhc2hib2FyZEl0ZW1zPzogYm9vbGVhbiwgb25FeHBvcnREaWFsb2dIaWRkZW4/OiBGdW5jdGlvbiwgb25FeHBvcnREaWFsb2dTaG93aW5nPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd24/OiBGdW5jdGlvbiB9LCBkYXNoYm9hcmRQYXJhbWV0ZXJEaWFsb2c/OiB7IG9uRHluYW1pY0xvb2tVcFZhbHVlc0xvYWRlZD86IEZ1bmN0aW9uLCBvbkhpZGRlbj86IEZ1bmN0aW9uLCBvblNob3dpbmc/OiBGdW5jdGlvbiwgb25TaG93bj86IEZ1bmN0aW9uIH0sIGRhdGFJbnNwZWN0b3I/OiB7IGFsbG93SW5zcGVjdEFnZ3JlZ2F0ZWREYXRhPzogYm9vbGVhbiwgYWxsb3dJbnNwZWN0UmF3RGF0YT86IGJvb2xlYW4sIG9uRGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3duPzogRnVuY3Rpb24sIG9uR3JpZENvbnRlbnRSZWFkeT86IEZ1bmN0aW9uLCBvbkdyaWRJbml0aWFsaXplZD86IEZ1bmN0aW9uIH0sIGRhdGFTb3VyY2VXaXphcmQ/OiB7IGFsbG93Q3JlYXRlTmV3SnNvbkNvbm5lY3Rpb24/OiBib29sZWFuLCBlbmFibGVDdXN0b21TcWw/OiBib29sZWFuLCBvbkN1c3RvbWl6ZURhdGFTb3VyY2VXaXphcmQ/OiBGdW5jdGlvbiwgd2l6YXJkU2V0dGluZ3M/OiBJRGFzaGJvYXJkRGF0YVNvdXJjZVdpemFyZFNldHRpbmdzIH0sIGl0ZW1CaW5kaW5nUGFuZWw/OiB7IG9uQ3VzdG9taXplRGF0YUl0ZW1Db250YWluZXJTZWN0aW9ucz86IEZ1bmN0aW9uIH0sIGl0ZW1PcHRpb25zUGFuZWw/OiB7IG9uQ3VzdG9taXplU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBtb2JpbGVMYXlvdXQ/OiB7IG1vYmlsZUxheW91dEVuYWJsZWQ/OiBzdHJpbmcgfSwgdmlld2VyQXBpPzogeyBvbkRhc2hib2FyZFRpdGxlVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQWN0aW9uQXZhaWxhYmlsaXR5Q2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1DYXB0aW9uVG9vbGJhclVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2xpY2s/OiBGdW5jdGlvbiwgb25JdGVtRHJpbGxEb3duU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbUVsZW1lbnRDdXN0b21Db2xvcj86IEZ1bmN0aW9uLCBvbkl0ZW1NYXN0ZXJGaWx0ZXJTdGF0ZUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtU2VsZWN0aW9uQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1WaXN1YWxJbnRlcmFjdGl2aXR5PzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldENyZWF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0T3B0aW9uc1ByZXBhcmVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0ZWQ/OiBGdW5jdGlvbiwgb25JdGVtV2lkZ2V0VXBkYXRpbmc/OiBGdW5jdGlvbiwgb25TZWxlY3RlZFRhYlBhZ2VDaGFuZ2VkPzogRnVuY3Rpb24gfSB9KSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdleHRlbnNpb25zJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLmluaXRpYWxEYXNoYm9hcmRJZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGluaXRpYWxEYXNoYm9hcmRJZCgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRJZCcpO1xyXG4gICAgfVxyXG4gICAgc2V0IGluaXRpYWxEYXNoYm9hcmRJZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdpbml0aWFsRGFzaGJvYXJkSWQnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMuaW5pdGlhbERhc2hib2FyZFN0YXRlXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaW5pdGlhbERhc2hib2FyZFN0YXRlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignaW5pdGlhbERhc2hib2FyZFN0YXRlJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgaW5pdGlhbERhc2hib2FyZFN0YXRlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2luaXRpYWxEYXNoYm9hcmRTdGF0ZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5saW1pdFZpc2libGVEYXRhTW9kZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxpbWl0VmlzaWJsZURhdGFNb2RlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignbGltaXRWaXNpYmxlRGF0YU1vZGUnKTtcclxuICAgIH1cclxuICAgIHNldCBsaW1pdFZpc2libGVEYXRhTW9kZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdsaW1pdFZpc2libGVEYXRhTW9kZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5sb2FkRGVmYXVsdERhc2hib2FyZF1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxvYWREZWZhdWx0RGFzaGJvYXJkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ2xvYWREZWZhdWx0RGFzaGJvYXJkJyk7XHJcbiAgICB9XHJcbiAgICBzZXQgbG9hZERlZmF1bHREYXNoYm9hcmQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZXRPcHRpb24oJ2xvYWREZWZhdWx0RGFzaGJvYXJkJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLnJlc2l6ZUJ5VGltZXJdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCByZXNpemVCeVRpbWVyKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb24oJ3Jlc2l6ZUJ5VGltZXInKTtcclxuICAgIH1cclxuICAgIHNldCByZXNpemVCeVRpbWVyKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCdyZXNpemVCeVRpbWVyJywgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLnNob3dDb25maXJtYXRpb25PbkJyb3dzZXJDbG9zaW5nXVxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcnKTtcclxuICAgIH1cclxuICAgIHNldCBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3NldE9wdGlvbignc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmcnLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMudXNlTmV1dHJhbEZpbHRlck1vZGVdXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB1c2VOZXV0cmFsRmlsdGVyTW9kZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCd1c2VOZXV0cmFsRmlsdGVyTW9kZScpO1xyXG4gICAgfVxyXG4gICAgc2V0IHVzZU5ldXRyYWxGaWx0ZXJNb2RlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd1c2VOZXV0cmFsRmlsdGVyTW9kZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy53b3JraW5nTW9kZV1cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHdvcmtpbmdNb2RlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvbignd29ya2luZ01vZGUnKTtcclxuICAgIH1cclxuICAgIHNldCB3b3JraW5nTW9kZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0T3B0aW9uKCd3b3JraW5nTW9kZScsIHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25CZWZvcmVSZW5kZXJdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25CZWZvcmVSZW5kZXI6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEJlZ2luVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkQmVnaW5VcGRhdGU6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkRhc2hib2FyZEVuZFVwZGF0ZV1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkRhc2hib2FyZEVuZFVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uRGFzaGJvYXJkSW5pdGlhbGl6ZWRdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRJbml0aWFsaXplZDogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uRGFzaGJvYXJkSW5pdGlhbGl6aW5nXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uRGFzaGJvYXJkSW5pdGlhbGl6aW5nOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25EYXNoYm9hcmRTdGF0ZUNoYW5nZWRdXHJcbiAgICBcclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgb25EYXNoYm9hcmRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBbZGVzY3I6ZHhEYXNoYm9hcmRDb250cm9sT3B0aW9ucy5vbkluaXRpYWxpemluZ11cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbkluaXRpYWxpemluZzogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uSXRlbUJlZ2luVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSXRlbUJlZ2luVXBkYXRlOiBFdmVudEVtaXR0ZXI8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogW2Rlc2NyOmR4RGFzaGJvYXJkQ29udHJvbE9wdGlvbnMub25JdGVtRW5kVXBkYXRlXVxyXG4gICAgXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIG9uSXRlbUVuZFVwZGF0ZTogRXZlbnRFbWl0dGVyPGFueT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFtkZXNjcjpkeERhc2hib2FyZENvbnRyb2xPcHRpb25zLm9uT3B0aW9uQ2hhbmdlZF1cclxuICAgIFxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBvbk9wdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBhamF4UmVtb3RlU2VydmljZUNoYW5nZTogRXZlbnRFbWl0dGVyPHsgYmVmb3JlU2VuZD86IEZ1bmN0aW9uLCBjb21wbGV0ZT86IEZ1bmN0aW9uLCBoZWFkZXJzPzogYW55IH0+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBhbGxvd01heGltaXplSXRlbXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZGFzaGJvYXJkSWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBkYXRhUmVxdWVzdE9wdGlvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IGl0ZW1EYXRhTG9hZGluZ01vZGU/OiBzdHJpbmcsIGl0ZW1EYXRhUmVxdWVzdE1vZGU/OiBzdHJpbmcgfT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGVuY29kZUh0bWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgZW5kcG9pbnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBleHRlbnNpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyBkYXNoYm9hcmRFeHBvcnQ/OiB7IGFsbG93RXhwb3J0RGFzaGJvYXJkPzogYm9vbGVhbiwgYWxsb3dFeHBvcnREYXNoYm9hcmRJdGVtcz86IGJvb2xlYW4sIG9uRXhwb3J0RGlhbG9nSGlkZGVuPzogRnVuY3Rpb24sIG9uRXhwb3J0RGlhbG9nU2hvd2luZz86IEZ1bmN0aW9uLCBvbkV4cG9ydERpYWxvZ1Nob3duPzogRnVuY3Rpb24gfSwgZGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nPzogeyBvbkR5bmFtaWNMb29rVXBWYWx1ZXNMb2FkZWQ/OiBGdW5jdGlvbiwgb25IaWRkZW4/OiBGdW5jdGlvbiwgb25TaG93aW5nPzogRnVuY3Rpb24sIG9uU2hvd24/OiBGdW5jdGlvbiB9LCBkYXRhSW5zcGVjdG9yPzogeyBhbGxvd0luc3BlY3RBZ2dyZWdhdGVkRGF0YT86IGJvb2xlYW4sIGFsbG93SW5zcGVjdFJhd0RhdGE/OiBib29sZWFuLCBvbkRpYWxvZ0hpZGRlbj86IEZ1bmN0aW9uLCBvbkRpYWxvZ1Nob3dpbmc/OiBGdW5jdGlvbiwgb25EaWFsb2dTaG93bj86IEZ1bmN0aW9uLCBvbkdyaWRDb250ZW50UmVhZHk/OiBGdW5jdGlvbiwgb25HcmlkSW5pdGlhbGl6ZWQ/OiBGdW5jdGlvbiB9LCBkYXRhU291cmNlV2l6YXJkPzogeyBhbGxvd0NyZWF0ZU5ld0pzb25Db25uZWN0aW9uPzogYm9vbGVhbiwgZW5hYmxlQ3VzdG9tU3FsPzogYm9vbGVhbiwgb25DdXN0b21pemVEYXRhU291cmNlV2l6YXJkPzogRnVuY3Rpb24sIHdpemFyZFNldHRpbmdzPzogSURhc2hib2FyZERhdGFTb3VyY2VXaXphcmRTZXR0aW5ncyB9LCBpdGVtQmluZGluZ1BhbmVsPzogeyBvbkN1c3RvbWl6ZURhdGFJdGVtQ29udGFpbmVyU2VjdGlvbnM/OiBGdW5jdGlvbiB9LCBpdGVtT3B0aW9uc1BhbmVsPzogeyBvbkN1c3RvbWl6ZVNlY3Rpb25zPzogRnVuY3Rpb24gfSwgbW9iaWxlTGF5b3V0PzogeyBtb2JpbGVMYXlvdXRFbmFibGVkPzogc3RyaW5nIH0sIHZpZXdlckFwaT86IHsgb25EYXNoYm9hcmRUaXRsZVRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUFjdGlvbkF2YWlsYWJpbGl0eUNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtQ2FwdGlvblRvb2xiYXJVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbUNsaWNrPzogRnVuY3Rpb24sIG9uSXRlbURyaWxsRG93blN0YXRlQ2hhbmdlZD86IEZ1bmN0aW9uLCBvbkl0ZW1FbGVtZW50Q3VzdG9tQ29sb3I/OiBGdW5jdGlvbiwgb25JdGVtTWFzdGVyRmlsdGVyU3RhdGVDaGFuZ2VkPzogRnVuY3Rpb24sIG9uSXRlbVNlbGVjdGlvbkNoYW5nZWQ/OiBGdW5jdGlvbiwgb25JdGVtVmlzdWFsSW50ZXJhY3Rpdml0eT86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRDcmVhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldE9wdGlvbnNQcmVwYXJlZD86IEZ1bmN0aW9uLCBvbkl0ZW1XaWRnZXRVcGRhdGVkPzogRnVuY3Rpb24sIG9uSXRlbVdpZGdldFVwZGF0aW5nPzogRnVuY3Rpb24sIG9uU2VsZWN0ZWRUYWJQYWdlQ2hhbmdlZD86IEZ1bmN0aW9uIH0gfT47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGluaXRpYWxEYXNoYm9hcmRJZENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGluaXRpYWxEYXNoYm9hcmRTdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG4gICAgLyoqXHJcbiAgICBcclxuICAgICAqIFRoaXMgbWVtYmVyIHN1cHBvcnRzIHRoZSBpbnRlcm5hbCBpbmZyYXN0cnVjdHVyZSBhbmQgaXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgZnJvbSB5b3VyIGNvZGUuXHJcbiAgICBcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIGxpbWl0VmlzaWJsZURhdGFNb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgbG9hZERlZmF1bHREYXNoYm9hcmRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgIFxyXG4gICAgICogVGhpcyBtZW1iZXIgc3VwcG9ydHMgdGhlIGludGVybmFsIGluZnJhc3RydWN0dXJlIGFuZCBpcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBmcm9tIHlvdXIgY29kZS5cclxuICAgIFxyXG4gICAgICovXHJcbiAgICBAT3V0cHV0KCkgcmVzaXplQnlUaW1lckNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBzaG93Q29uZmlybWF0aW9uT25Ccm93c2VyQ2xvc2luZ0NoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB1c2VOZXV0cmFsRmlsdGVyTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB3b3JraW5nTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz47XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUsIHRlbXBsYXRlSG9zdDogRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICAgICAgICAgIF93YXRjaGVySGVscGVyOiBXYXRjaGVySGVscGVyLFxyXG4gICAgICAgICAgICBvcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgICAgICB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlLFxyXG4gICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnkpIHtcclxuXHJcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgbmdab25lLCB0ZW1wbGF0ZUhvc3QsIF93YXRjaGVySGVscGVyLCB0cmFuc2ZlclN0YXRlLCBwbGF0Zm9ybUlkKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRXZlbnRFbWl0dGVycyhbXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnYmVmb3JlUmVuZGVyJywgZW1pdDogJ29uQmVmb3JlUmVuZGVyJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEJlZ2luVXBkYXRlJywgZW1pdDogJ29uRGFzaGJvYXJkQmVnaW5VcGRhdGUnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkRW5kVXBkYXRlJywgZW1pdDogJ29uRGFzaGJvYXJkRW5kVXBkYXRlJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZEluaXRpYWxpemVkJywgZW1pdDogJ29uRGFzaGJvYXJkSW5pdGlhbGl6ZWQnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnZGFzaGJvYXJkSW5pdGlhbGl6aW5nJywgZW1pdDogJ29uRGFzaGJvYXJkSW5pdGlhbGl6aW5nJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2Rhc2hib2FyZFN0YXRlQ2hhbmdlZCcsIGVtaXQ6ICdvbkRhc2hib2FyZFN0YXRlQ2hhbmdlZCcgfSxcclxuICAgICAgICAgICAgeyBzdWJzY3JpYmU6ICdpbml0aWFsaXppbmcnLCBlbWl0OiAnb25Jbml0aWFsaXppbmcnIH0sXHJcbiAgICAgICAgICAgIHsgc3Vic2NyaWJlOiAnaXRlbUJlZ2luVXBkYXRlJywgZW1pdDogJ29uSXRlbUJlZ2luVXBkYXRlJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ2l0ZW1FbmRVcGRhdGUnLCBlbWl0OiAnb25JdGVtRW5kVXBkYXRlJyB9LFxyXG4gICAgICAgICAgICB7IHN1YnNjcmliZTogJ29wdGlvbkNoYW5nZWQnLCBlbWl0OiAnb25PcHRpb25DaGFuZ2VkJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdhamF4UmVtb3RlU2VydmljZUNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnYWxsb3dNYXhpbWl6ZUl0ZW1zQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdkYXNoYm9hcmRJZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZGF0YVJlcXVlc3RPcHRpb25zQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdlbmNvZGVIdG1sQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdlbmRwb2ludENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnZXh0ZW5zaW9uc0NoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnaW5pdGlhbERhc2hib2FyZElkQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdpbml0aWFsRGFzaGJvYXJkU3RhdGVDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ2xpbWl0VmlzaWJsZURhdGFNb2RlQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICdsb2FkRGVmYXVsdERhc2hib2FyZENoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAncmVzaXplQnlUaW1lckNoYW5nZScgfSxcclxuICAgICAgICAgICAgeyBlbWl0OiAnc2hvd0NvbmZpcm1hdGlvbk9uQnJvd3NlckNsb3NpbmdDaGFuZ2UnIH0sXHJcbiAgICAgICAgICAgIHsgZW1pdDogJ3VzZU5ldXRyYWxGaWx0ZXJNb2RlQ2hhbmdlJyB9LFxyXG4gICAgICAgICAgICB7IGVtaXQ6ICd3b3JraW5nTW9kZUNoYW5nZScgfVxyXG4gICAgICAgIF0pO1xyXG4gICAgICAgIG9wdGlvbkhvc3Quc2V0SG9zdCh0aGlzKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUluc3RhbmNlKGVsZW1lbnQsIG9wdGlvbnMpIHtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBEeERhc2hib2FyZENvbnRyb2woZWxlbWVudCwgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3lXaWRnZXQoKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgRHhvQWpheFJlbW90ZVNlcnZpY2VNb2R1bGUsXHJcbiAgICBEeG9EYXRhUmVxdWVzdE9wdGlvbnNNb2R1bGUsXHJcbiAgICBEeG9FeHRlbnNpb25zTW9kdWxlLFxyXG4gICAgRHhvRGFzaGJvYXJkRXhwb3J0TW9kdWxlLFxyXG4gICAgRHhvRGFzaGJvYXJkUGFyYW1ldGVyRGlhbG9nTW9kdWxlLFxyXG4gICAgRHhvRGF0YUluc3BlY3Rvck1vZHVsZSxcclxuICAgIER4b0RhdGFTb3VyY2VXaXphcmRNb2R1bGUsXHJcbiAgICBEeG9XaXphcmRTZXR0aW5nc01vZHVsZSxcclxuICAgIER4b0l0ZW1CaW5kaW5nUGFuZWxNb2R1bGUsXHJcbiAgICBEeG9JdGVtT3B0aW9uc1BhbmVsTW9kdWxlLFxyXG4gICAgRHhvTW9iaWxlTGF5b3V0TW9kdWxlLFxyXG4gICAgRHhvVmlld2VyQXBpTW9kdWxlLFxyXG4gICAgRHhJbnRlZ3JhdGlvbk1vZHVsZSxcclxuICAgIER4VGVtcGxhdGVNb2R1bGUsXHJcbiAgICBCcm93c2VyVHJhbnNmZXJTdGF0ZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBEeERhc2hib2FyZENvbnRyb2xDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIER4RGFzaGJvYXJkQ29udHJvbENvbXBvbmVudCxcclxuICAgIER4b0FqYXhSZW1vdGVTZXJ2aWNlTW9kdWxlLFxyXG4gICAgRHhvRGF0YVJlcXVlc3RPcHRpb25zTW9kdWxlLFxyXG4gICAgRHhvRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZEV4cG9ydE1vZHVsZSxcclxuICAgIER4b0Rhc2hib2FyZFBhcmFtZXRlckRpYWxvZ01vZHVsZSxcclxuICAgIER4b0RhdGFJbnNwZWN0b3JNb2R1bGUsXHJcbiAgICBEeG9EYXRhU291cmNlV2l6YXJkTW9kdWxlLFxyXG4gICAgRHhvV2l6YXJkU2V0dGluZ3NNb2R1bGUsXHJcbiAgICBEeG9JdGVtQmluZGluZ1BhbmVsTW9kdWxlLFxyXG4gICAgRHhvSXRlbU9wdGlvbnNQYW5lbE1vZHVsZSxcclxuICAgIER4b01vYmlsZUxheW91dE1vZHVsZSxcclxuICAgIER4b1ZpZXdlckFwaU1vZHVsZSxcclxuICAgIER4VGVtcGxhdGVNb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeERhc2hib2FyZENvbnRyb2xNb2R1bGUgeyB9XHJcbiJdfQ==
|