@eui/core 18.0.0-rc.34 → 18.0.0-rc.36
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/docs/classes/CssUtils.html +59 -2
- package/docs/dependencies.html +1 -1
- package/docs/injectables/EuiAppShellService.html +13 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +6 -10
- package/esm2022/lib/helpers/css-utils.mjs +74 -60
- package/esm2022/lib/helpers/dom-helpers.mjs +3 -9
- package/esm2022/lib/services/eui-app-shell.service.mjs +20 -16
- package/fesm2022/eui-core.mjs +93 -82
- package/fesm2022/eui-core.mjs.map +1 -1
- package/lib/helpers/css-utils.d.ts +24 -18
- package/lib/helpers/css-utils.d.ts.map +1 -1
- package/lib/helpers/dom-helpers.d.ts +1 -1
- package/lib/helpers/dom-helpers.d.ts.map +1 -1
- package/lib/services/eui-app-shell.service.d.ts +3 -2
- package/lib/services/eui-app-shell.service.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
3
3
|
import { BehaviorSubject, defer, firstValueFrom } from 'rxjs';
|
|
4
4
|
import { EuiEuLanguages, getActiveLang } from '@eui/base';
|
|
5
5
|
import { GLOBAL_CONFIG_TOKEN } from './config/tokens';
|
|
@@ -129,10 +129,11 @@ export class EuiAppShellService {
|
|
|
129
129
|
isDimmerActive: isActive,
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
|
-
constructor(config, http, platformId, router, storeService, i18nService) {
|
|
132
|
+
constructor(config, http, platformId, document, router, storeService, i18nService) {
|
|
133
133
|
this.config = config;
|
|
134
134
|
this.http = http;
|
|
135
135
|
this.platformId = platformId;
|
|
136
|
+
this.document = document;
|
|
136
137
|
this.router = router;
|
|
137
138
|
this.storeService = storeService;
|
|
138
139
|
this.i18nService = i18nService;
|
|
@@ -222,14 +223,14 @@ export class EuiAppShellService {
|
|
|
222
223
|
...this.state,
|
|
223
224
|
isDimmerActive: !isActive,
|
|
224
225
|
});
|
|
225
|
-
CssUtils.activateEditModeCssVars(!isActive);
|
|
226
|
+
CssUtils.activateEditModeCssVars(!isActive, this.document);
|
|
226
227
|
}
|
|
227
228
|
setDimmerActiveState(activeState) {
|
|
228
229
|
this.setState({
|
|
229
230
|
...this.state,
|
|
230
231
|
isDimmerActive: activeState,
|
|
231
232
|
});
|
|
232
|
-
CssUtils.activateEditModeCssVars(activeState);
|
|
233
|
+
CssUtils.activateEditModeCssVars(activeState, this.document);
|
|
233
234
|
}
|
|
234
235
|
// --------------
|
|
235
236
|
// public methods
|
|
@@ -248,42 +249,42 @@ export class EuiAppShellService {
|
|
|
248
249
|
hasSidebar: true,
|
|
249
250
|
});
|
|
250
251
|
if (!this.state.isSidebarHidden) {
|
|
251
|
-
CssUtils.activateSidebarCssVars();
|
|
252
|
+
CssUtils.activateSidebarCssVars(this.document, this.platformId);
|
|
252
253
|
}
|
|
253
254
|
}
|
|
254
255
|
activateSidebarHeader() {
|
|
255
|
-
CssUtils.activateSidebarHeaderCssVars();
|
|
256
|
+
CssUtils.activateSidebarHeaderCssVars(this.document, this.platformId);
|
|
256
257
|
}
|
|
257
258
|
activateSidebarFooter() {
|
|
258
|
-
CssUtils.activateSidebarFooterCssVars();
|
|
259
|
+
CssUtils.activateSidebarFooterCssVars(this.document, this.platformId);
|
|
259
260
|
}
|
|
260
261
|
activateHeader() {
|
|
261
262
|
this.setState({
|
|
262
263
|
...this.state,
|
|
263
264
|
hasHeader: true,
|
|
264
265
|
});
|
|
265
|
-
CssUtils.activateHeaderCssVars();
|
|
266
|
+
CssUtils.activateHeaderCssVars(this.document, this.platformId);
|
|
266
267
|
}
|
|
267
268
|
activateBreadcrumb() {
|
|
268
269
|
this.setState({
|
|
269
270
|
...this.state,
|
|
270
271
|
hasBreadcrumb: true,
|
|
271
272
|
});
|
|
272
|
-
CssUtils.activateBreadcrumbCssVars();
|
|
273
|
+
CssUtils.activateBreadcrumbCssVars(this.document, this.platformId);
|
|
273
274
|
}
|
|
274
275
|
activateTopMessage(height) {
|
|
275
276
|
this.setState({
|
|
276
277
|
...this.state,
|
|
277
278
|
hasTopMessage: true,
|
|
278
279
|
});
|
|
279
|
-
CssUtils.activateTopMessageCssVars(height);
|
|
280
|
+
CssUtils.activateTopMessageCssVars(height, this.document);
|
|
280
281
|
}
|
|
281
282
|
activateToolbar() {
|
|
282
283
|
this.setState({
|
|
283
284
|
...this.state,
|
|
284
285
|
hasToolbar: true,
|
|
285
286
|
});
|
|
286
|
-
CssUtils.activateToolbarCssVars();
|
|
287
|
+
CssUtils.activateToolbarCssVars(this.document, this.platformId);
|
|
287
288
|
}
|
|
288
289
|
activateToolbarMenu() {
|
|
289
290
|
this.setState({
|
|
@@ -295,7 +296,7 @@ export class EuiAppShellService {
|
|
|
295
296
|
* Returns the current value of --eui-f-size-base CSS variable
|
|
296
297
|
*/
|
|
297
298
|
getBaseFontSize() {
|
|
298
|
-
return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base');
|
|
299
|
+
return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base', this.document, this.platformId);
|
|
299
300
|
}
|
|
300
301
|
/**
|
|
301
302
|
* Updates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize
|
|
@@ -305,7 +306,7 @@ export class EuiAppShellService {
|
|
|
305
306
|
...this.state,
|
|
306
307
|
appBaseFontSize: newsize,
|
|
307
308
|
}, false);
|
|
308
|
-
CssUtils.setCssVarValue('--eui-f-size-base', newsize);
|
|
309
|
+
CssUtils.setCssVarValue('--eui-f-size-base', newsize, this.document);
|
|
309
310
|
}
|
|
310
311
|
// ---------------
|
|
311
312
|
// private getters
|
|
@@ -340,7 +341,7 @@ export class EuiAppShellService {
|
|
|
340
341
|
if (this.state.breakpointValues.length === 0) {
|
|
341
342
|
this.setState({
|
|
342
343
|
...this.state,
|
|
343
|
-
breakpointValues: CssUtils.getBreakpointValues(),
|
|
344
|
+
breakpointValues: CssUtils.getBreakpointValues(this.document, this.platformId),
|
|
344
345
|
});
|
|
345
346
|
}
|
|
346
347
|
this.state.breakpointValues.forEach((b, i) => {
|
|
@@ -391,7 +392,7 @@ export class EuiAppShellService {
|
|
|
391
392
|
}
|
|
392
393
|
});
|
|
393
394
|
}
|
|
394
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1.HttpClient }, { token: PLATFORM_ID }, { token: i2.Router }, { token: i3.StoreService }, { token: i4.I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
395
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i2.Router }, { token: i3.StoreService }, { token: i4.I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
395
396
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, providedIn: 'root' }); }
|
|
396
397
|
}
|
|
397
398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, decorators: [{
|
|
@@ -407,7 +408,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
407
408
|
}] }, { type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
408
409
|
type: Inject,
|
|
409
410
|
args: [PLATFORM_ID]
|
|
411
|
+
}] }, { type: Document, decorators: [{
|
|
412
|
+
type: Inject,
|
|
413
|
+
args: [DOCUMENT]
|
|
410
414
|
}] }, { type: i2.Router }, { type: i3.StoreService }, { type: i4.I18nService, decorators: [{
|
|
411
415
|
type: Optional
|
|
412
416
|
}] }] });
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWFwcC1zaGVsbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9ldWktYXBwLXNoZWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBZ0IsYUFBYSxFQUE0QixNQUFNLFdBQVcsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RCxPQUFPLEVBQVUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sT0FBTyxNQUFNLG1CQUFtQixDQUFDO0FBQ3hDLE9BQU8sR0FBRyxNQUFNLGVBQWUsQ0FBQztBQUNoQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQXlEaEQsTUFBTSxZQUFZLEdBQVk7SUFDMUIsT0FBTyxFQUFFLEVBQUU7SUFDWCxZQUFZLEVBQUUsRUFBRTtJQUNoQixXQUFXLEVBQUUsRUFBRTtJQUNmLGVBQWUsRUFBRSxFQUFFO0lBRW5CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFB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RCw4REFBOEQ7SUFDdEQsV0FBVyxDQUFDLEtBQVU7UUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8saUNBQWlDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQzdELElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxRQUFRLENBQ1Q7b0JBQ0ksR0FBRyxJQUFJLENBQUMsS0FBSztvQkFDYixjQUFjLEVBQUUsVUFBVTtpQkFDN0IsRUFDRCxLQUFLLENBQ1IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBN1lRLGtCQUFrQixrQkE0RkgsbUJBQW1CLHVEQUUvQixXQUFXO2tIQTlGZCxrQkFBa0IsY0FGZixNQUFNOzsyRkFFVCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkE2RlEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUV0QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUdsQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlZmVyLCBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRXVpRXVMYW5ndWFnZXMsIEdsb2JhbENvbmZpZywgZ2V0QWN0aXZlTGFuZywgRXVpTGFuZ3VhZ2UsIEV1aU1lbnVJdGVtIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL2kxOG4nO1xuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLWVzL2lzRXF1YWwnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gtZXMvZ2V0JztcbmltcG9ydCB7IENzc1V0aWxzIH0gZnJvbSAnLi4vaGVscGVycy9jc3MtdXRpbHMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGludGVyZmFjZSBVSVN0YXRlPEJQID0gYW55LCBESSA9IGFueSwgQU1EID1hbnksIEJQViA9IGFueT4ge1xuICAgIC8vIGFwcCBzdGF0ZVxuICAgIGFwcE5hbWU/OiBzdHJpbmc7XG4gICAgYXBwU2hvcnROYW1lPzogc3RyaW5nO1xuICAgIGFwcFN1YlRpdGxlPzogc3RyaW5nO1xuICAgIGFwcEJhc2VGb250U2l6ZT86IHN0cmluZztcblxuICAgIC8vIFNpZGViYXIgc3RhdGVcbiAgICBpc1NpZGViYXJPcGVuPzogYm9vbGVhbjtcbiAgICBpc1NpZGViYXJBY3RpdmU/OiBib29sZWFuO1xuICAgIGhhc1NpZGViYXI/OiBib29sZWFuO1xuICAgIGhhc0JyZWFkY3J1bWI/OiBib29sZWFuO1xuICAgIGhhc0hlYWRlcj86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyTG9nbz86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyRW52aXJvbm1lbnQ/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXI/OiBib29sZWFuO1xuICAgIGhhc1Rvb2xiYXJNZW51PzogYm9vbGVhbjtcbiAgICBlbnZpcm9ubWVudFZhbHVlPzogc3RyaW5nO1xuICAgIGlzU2lkZWJhckhpZGRlbj86IGJvb2xlYW47XG4gICAgaGFzVG9wTWVzc2FnZT86IGJvb2xlYW47XG5cbiAgICAvLyB3aW5kb3cgc3RhdGVcbiAgICB3aW5kb3dXaWR0aD86IG51bWJlcjtcbiAgICB3aW5kb3dIZWlnaHQ/OiBudW1iZXI7XG4gICAgbWFpbkNvbnRlbnRIZWlnaHQ/OiBudW1iZXI7XG4gICAgcGFnZUhlYWRlckhlaWdodD86IG51bWJlcjtcbiAgICBicmVha3BvaW50Pzogc3RyaW5nO1xuICAgIHdyYXBwZXJDbGFzc2VzPzogc3RyaW5nO1xuICAgIGJyZWFrcG9pbnRzPzogQlA7XG4gICAgYnJlYWtwb2ludFZhbHVlcz86IEJQVjtcblxuICAgIC8vIG5hdmlnYXRpb24gc3RhdGVcbiAgICBtZW51TGlua3M/OiBFdWlNZW51SXRlbVtdO1xuICAgIHNpZGViYXJMaW5rcz86IEV1aU1lbnVJdGVtW107XG4gICAgY29tYmluZWRMaW5rcz86IEV1aU1lbnVJdGVtW107XG5cbiAgICAvLyBvdGhlciBzdGF0ZXNcbiAgICBpc0Jsb2NrRG9jdW1lbnRBY3RpdmU/OiBib29sZWFuO1xuXG4gICAgLy8gZGV2aWNlIGluZm9cbiAgICBkZXZpY2VJbmZvOiBESTtcblxuICAgIC8vIGxhbmd1YWdlIGluZm9zXG4gICAgYWN0aXZlTGFuZ3VhZ2U6IHN0cmluZztcbiAgICBsYW5ndWFnZXM6IChzdHJpbmcgfCBFdWlMYW5ndWFnZSlbXTtcblxuICAgIC8vIGFwcCBtZXRhZGF0YVxuICAgIGFwcE1ldGFkYXRhOiBBTUQ7XG5cbiAgICAvLyB2YXJpb3VzIGR5bmFtaWMgc3RhdGVcbiAgICBoYXNNb2RhbEFjdGl2ZT86IGJvb2xlYW47XG4gICAgaXNEaW1tZXJBY3RpdmU/OiBib29sZWFuOyAvLyBVc2FnZTogbWFwIHRvIGV1aSBiYXNlIGRpcmVjdGl2ZSBpbnB1dCBjb2VyY2UgZXVpSGlnaGxpZ2h0ZWRcbn1cblxuY29uc3QgaW5pdGlhbFN0YXRlOiBVSVN0YXRlID0ge1xuICAgIGFwcE5hbWU6ICcnLFxuICAgIGFwcFNob3J0TmFtZTogJycsXG4gICAgYXBwU3ViVGl0bGU6ICcnLFxuICAgIGFwcEJhc2VGb250U2l6ZTogJycsXG5cbiAgICBpc1NpZGViYXJPcGVuOiB0cnVlLFxuICAgIGlzU2lkZWJhckFjdGl2ZTogZmFsc2UsXG4gICAgaGFzU2lkZWJhcjogZmFsc2UsXG4gICAgaGFzSGVhZGVyOiBmYWxzZSxcbiAgICBoYXNCcmVhZGNydW1iOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJMb2dvOiBmYWxzZSxcbiAgICBoYXNIZWFkZXJFbnZpcm9ubWVudDogZmFsc2UsXG4gICAgaGFzVG9vbGJhcjogZmFsc2UsXG4gICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgIGVudmlyb25tZW50VmFsdWU6ICcnLFxuICAgIGlzU2lkZWJhckhpZGRlbjogZmFsc2UsXG4gICAgaGFzVG9wTWVzc2FnZTogZmFsc2UsXG4gICAgd2luZG93V2lkdGg6IDAsXG4gICAgd2luZG93SGVpZ2h0OiAwLFxuICAgIG1haW5Db250ZW50SGVpZ2h0OiAwLFxuICAgIHBhZ2VIZWFkZXJIZWlnaHQ6IDAsXG4gICAgd3JhcHBlckNsYXNzZXM6ICcnLFxuICAgIGJyZWFrcG9pbnQ6ICcnLFxuICAgIGJyZWFrcG9pbnRzOiB7XG4gICAgICAgIGlzTW9iaWxlOiBmYWxzZSxcbiAgICAgICAgaXNUYWJsZXQ6IGZhbHNlLFxuICAgICAgICBpc0x0TGFyZ2VUYWJsZXQ6IGZhbHNlLFxuICAgICAgICBpc0x0RGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzRGVza3RvcDogZmFsc2UsXG4gICAgICAgIGlzWEw6IGZhbHNlLFxuICAgICAgICBpc1hYTDogZmFsc2UsXG4gICAgICAgIGlzRkhEOiBmYWxzZSxcbiAgICAgICAgaXMySzogZmFsc2UsXG4gICAgICAgIGlzNEs6IGZhbHNlLFxuICAgIH0sXG4gICAgYnJlYWtwb2ludFZhbHVlczogW10sXG4gICAgbWVudUxpbmtzOiBbXSxcbiAgICBzaWRlYmFyTGlua3M6IFtdLFxuICAgIGNvbWJpbmVkTGlua3M6IFtdLFxuICAgIGlzQmxvY2tEb2N1bWVudEFjdGl2ZTogZmFsc2UsXG4gICAgZGV2aWNlSW5mbzogbnVsbCxcbiAgICBhY3RpdmVMYW5ndWFnZTogJ2VuJyxcbiAgICBsYW5ndWFnZXM6IEV1aUV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlcygpLFxuICAgIGFwcE1ldGFkYXRhOiBudWxsLFxuICAgIGhhc01vZGFsQWN0aXZlOiBmYWxzZSxcbiAgICBpc0RpbW1lckFjdGl2ZTogZmFsc2UsXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlBcHBTaGVsbFNlcnZpY2Uge1xuICAgIG5hdmlnYXRpb25TdGFydEN1c3RvbUhhbmRsZXI6ICgpID0+IHZvaWQ7XG4gICAgbmF2aWdhdGlvbkVuZEN1c3RvbUhhbmRsZXI6ICgpID0+IHZvaWQ7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgZ2V0IHN0YXRlJCgpOiBPYnNlcnZhYmxlPFVJU3RhdGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gZXhwb3NlZCBvYnNlcnZhYmxlc1xuXG4gICAgZ2V0IGJyZWFrcG9pbnQkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9icmVha3BvaW50JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldCBicmVha3BvaW50cyQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnRzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gc3RhdGUgb3BlcmF0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS1cbiAgICBnZXQgc3RhdGUoKTogVUlTdGF0ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHVibGljIHNldHRlcnMgYW5kIGZ1bmN0aW9uc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBzZXQgaXNTaWRlYmFyT3Blbihpc09wZW46IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFyT3BlbjogaXNPcGVuLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgaXNTaWRlYmFyT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNTaWRlYmFyT3BlbjtcbiAgICB9XG5cbiAgICBzZXQgaXNTaWRlYmFyQWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzU2lkZWJhckFjdGl2ZTogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldCBzaWRlYmFyTGlua3MobGlua3M6IEV1aU1lbnVJdGVtW10pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgc2lkZWJhckxpbmtzOiBsaW5rcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IG1lbnVMaW5rcyhsaW5rczogRXVpTWVudUl0ZW1bXSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBtZW51TGlua3M6IGxpbmtzLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgaXNCbG9ja0RvY3VtZW50QWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzQmxvY2tEb2N1bWVudEFjdGl2ZTogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBoYXNIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmhhc0hlYWRlcjtcbiAgICB9XG5cbiAgICAvLyBFZGl0IG1vZGVcbiAgICBnZXQgaXNEaW1tZXJBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlLmlzRGltbWVyQWN0aXZlO1xuICAgIH1cblxuICAgIHNldCBpc0RpbW1lckFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0RpbW1lckFjdGl2ZTogaXNBY3RpdmUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3N0YXRlJDogQmVoYXZpb3JTdWJqZWN0PFVJU3RhdGU+O1xuICAgIHByaXZhdGUgX2JyZWFrcG9pbnQkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgX2JyZWFrcG9pbnRzJDogQmVoYXZpb3JTdWJqZWN0PGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgY29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBvYmplY3QsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgc3RvcmVTZXJ2aWNlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBsZXQgc3RhdGVXaXRoQ29uZmlnID0gaW5pdGlhbFN0YXRlO1xuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBjb25maWc/LmkxOG4/LmkxOG5TZXJ2aWNlPy5sYW5ndWFnZXMgfHwgaW5pdGlhbFN0YXRlLmxhbmd1YWdlcztcbiAgICAgICAgY29uc3QgZGVmYXVsdExhbmd1YWdlID0gY29uZmlnPy5pMThuPy5pMThuU2VydmljZT8uZGVmYXVsdExhbmd1YWdlIHx8IGluaXRpYWxTdGF0ZS5hY3RpdmVMYW5ndWFnZTtcbiAgICAgICAgc3RhdGVXaXRoQ29uZmlnID0ge1xuICAgICAgICAgICAgLi4uc3RhdGVXaXRoQ29uZmlnLFxuICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgIGxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICBhY3RpdmVMYW5ndWFnZTogZGVmYXVsdExhbmd1YWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChzdGF0ZVdpdGhDb25maWcpO1xuICAgICAgICB0aGlzLl9icmVha3BvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICAgICAgICB0aGlzLl9icmVha3BvaW50cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgICAgICAgdGhpcy5iaW5kQWN0aXZlTGFuZ3VhZ2VUb0FwcFNoZWxsU3RhdGUoKTtcblxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRTdGF0ZShuZXh0U3RhdGU6IFVJU3RhdGUsIHVwZGF0ZUkxOCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgbGV0IGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzO1xuICAgICAgICBsZXQgY29tYmluZWRMaW5rcztcblxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgICAgLy8gY2hlY2sgaWYgd2luZG93IHdpZHRoIGhhcyBiZWVuIHVwZGF0ZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS53aW5kb3dXaWR0aCAhPT0gbmV4dFN0YXRlLndpbmRvd1dpZHRoKSB7XG4gICAgICAgICAgICBicmVha3BvaW50ID0gdGhpcy5nZXRCcmVha3BvaW50KG5leHRTdGF0ZS53aW5kb3dXaWR0aCk7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHRoaXMuZ2V0QnJlYWtwb2ludHMoYnJlYWtwb2ludCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnQkLm5leHQoYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50cyQubmV4dChicmVha3BvaW50cyk7XG5cbiAgICAgICAgICAgIC8vIGlmIG5vdCBwcm9wYWdhdGUgdGhlIG9sZCBvbmVzIHdpdGhvdXQgZG9pbmcgYW55IGNhbGN1bGF0aW9uc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnJlYWtwb2ludCA9IHN0YXRlLmJyZWFrcG9pbnQ7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHN0YXRlLmJyZWFrcG9pbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluYWxseSBnZXQgdGhlIHdyYXBwZXIgY2xhc3NlcyB3aGVuIGJvdGggdGhlIHN0YXRlIGFuZCBicmVha3BvaW50IGFyZSBrbm93blxuICAgICAgICBjb25zdCB3cmFwcGVyQ2xhc3NlcyA9IHRoaXMuZ2V0V3JhcHBlckNsYXNzZXMobmV4dFN0YXRlLCBicmVha3BvaW50KTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVudUxpbmtzIG9yIHNpZGViYXJMaW5rcyBoYXZlIGNoYW5nZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5tZW51TGlua3MgIT09IG5leHRTdGF0ZS5tZW51TGlua3MgfHwgdGhpcy5zdGF0ZS5zaWRlYmFyTGlua3MgIT09IG5leHRTdGF0ZS5zaWRlYmFyTGlua3MpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MgPSBbLi4ubmV4dFN0YXRlLm1lbnVMaW5rcywgLi4ubmV4dFN0YXRlLnNpZGViYXJMaW5rc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZExpbmtzID0gdGhpcy5zdGF0ZS5jb21iaW5lZExpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGVCZWZvcmVVcGRhdGUgPSB7IC4uLnRoaXMuc3RhdGUgfTtcblxuICAgICAgICAvLyB3ZSBwdXQgaXQgYWxsIHRvZ2V0aGVyIHdpdGggdGhlIGNhbGN1bGF0ZWQgcHJvcGVydGllc1xuICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAuLi5uZXh0U3RhdGUsXG4gICAgICAgICAgICB3cmFwcGVyQ2xhc3NlcyxcbiAgICAgICAgICAgIGJyZWFrcG9pbnQsXG4gICAgICAgICAgICBicmVha3BvaW50cyxcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHVwZGF0ZSB0aGUgU3RvcmUgTGFuZ3VhZ2VcbiAgICAgICAgaWYgKHVwZGF0ZUkxOCAmJiBuZXh0U3RhdGUuYWN0aXZlTGFuZ3VhZ2UgIT09IHN0YXRlQmVmb3JlVXBkYXRlLmFjdGl2ZUxhbmd1YWdlKSB7XG4gICAgICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogbmV4dFN0YXRlLmFjdGl2ZUxhbmd1YWdlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgYSBzbGljZSBmcm9tIHRoZSBzdGF0ZSB3aGV0aGVyIHRoYXQgY2hhbmdlc1xuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBjYW4gYmUgJ2tleScgb3IgJ2tleS5zdWIuc3ViJ1xuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0U3RhdGUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+XG4gICAgICAgICAgICAvLyBjaGVjayBpZiBrZXkgZXhpc3RzXG4gICAgICAgICAgICBrZXlcbiAgICAgICAgICAgICAgICA/IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZSkgPT4gZ2V0KHN0YXRlLCBrZXkpKSxcbiAgICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSksXG4gICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IGlzRXF1YWwoeCwgeSkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdGhpcy5zdGF0ZSQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNpZGViYXJUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaWRlYmFyT3BlbiA9ICF0aGlzLnN0YXRlLmlzU2lkZWJhck9wZW47XG4gICAgfVxuXG4gICAgLy8gRWRpdCBtb2RlXG4gICAgcHVibGljIGRpbW1lckFjdGl2ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmlzRGltbWVyQWN0aXZlO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0RpbW1lckFjdGl2ZTogIWlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVFZGl0TW9kZUNzc1ZhcnMoIWlzQWN0aXZlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGltbWVyQWN0aXZlU3RhdGUoYWN0aXZlU3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNEaW1tZXJBY3RpdmU6IGFjdGl2ZVN0YXRlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVFZGl0TW9kZUNzc1ZhcnMoYWN0aXZlU3RhdGUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHVibGljIG1ldGhvZHNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgIHB1YmxpYyBmZXRjaEFwcE1ldGFkYXRhKG1ldGFkYXRhRmlsZVBhdGggPSAnYXNzZXRzL2FwcC1tZXRhZGF0YS5qc29uJyk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEpzb24obWV0YWRhdGFGaWxlUGF0aCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICBhcHBNZXRhZGF0YTogZGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBoYXNTaWRlYmFyOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuaXNTaWRlYmFySGlkZGVuKSB7XG4gICAgICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVNpZGViYXJDc3NWYXJzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFySGVhZGVyKCk6IHZvaWQge1xuICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVNpZGViYXJIZWFkZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckZvb3RlcigpOiB2b2lkIHtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVTaWRlYmFyRm9vdGVyQ3NzVmFycygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZUhlYWRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzSGVhZGVyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVIZWFkZXJDc3NWYXJzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlQnJlYWRjcnVtYigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzQnJlYWRjcnVtYjogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIENzc1V0aWxzLmFjdGl2YXRlQnJlYWRjcnVtYkNzc1ZhcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb3BNZXNzYWdlKGhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1RvcE1lc3NhZ2U6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVRvcE1lc3NhZ2VDc3NWYXJzKGhlaWdodCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlVG9vbGJhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhcjogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIENzc1V0aWxzLmFjdGl2YXRlVG9vbGJhckNzc1ZhcnMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb29sYmFyTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgLS1ldWktZi1zaXplLWJhc2UgQ1NTIHZhcmlhYmxlXG4gICAgICovXG4gICAgcHVibGljIGdldEJhc2VGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5hcHBCYXNlRm9udFNpemUgfHwgQ3NzVXRpbHMuZ2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWYtc2l6ZS1iYXNlJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiAtLWV1aS1mLXNpemUtYmFzZSBDU1MgdmFyaWFibGUgYW5kIHRoZSBVSVN0YXRlIGFwcEJhc2VGb250U2l6ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRCYXNlRm9udFNpemUobmV3c2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICBhcHBCYXNlRm9udFNpemU6IG5ld3NpemUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICAgIENzc1V0aWxzLnNldENzc1ZhclZhbHVlKCctLWV1aS1mLXNpemUtYmFzZScsIG5ld3NpemUpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIHByaXZhdGUgZ2V0dGVyc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAgIHByaXZhdGUgZ2V0V3JhcHBlckNsYXNzZXMoc3RhdGU6IFVJU3RhdGUsIGJyZWFrcG9pbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgY2xhc3Nlcy5wdXNoKGJyZWFrcG9pbnQpO1xuXG4gICAgICAgIGlmIChzdGF0ZS5oYXNTaWRlYmFyKSB7XG4gICAgICAgICAgICBpZiAoc3RhdGUuaXNTaWRlYmFySGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLS1oaWRkZW4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJPcGVuKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLS1vcGVuJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2lkZWJhci0tY2xvc2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbz8uaXNGRikge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdmZicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5kZXZpY2VJbmZvPy5pc0lFKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2llJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmRldmljZUluZm8/LmlzQ2hyb21lKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2Nocm9tZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJyZWFrcG9pbnQod2luZG93V2lkdGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGxldCBia3AgPSAnJztcblxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5icmVha3BvaW50VmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICBicmVha3BvaW50VmFsdWVzOiBDc3NVdGlscy5nZXRCcmVha3BvaW50VmFsdWVzKCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdGUuYnJlYWtwb2ludFZhbHVlcy5mb3JFYWNoKChiLCBpKSA9PiB7XG4gICAgICAgICAgICBpZiAoaSA8IHRoaXMuc3RhdGUuYnJlYWtwb2ludFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAod2luZG93V2lkdGggPj0gYi52YWx1ZSAmJiB3aW5kb3dXaWR0aCA8IHRoaXMuc3RhdGUuYnJlYWtwb2ludFZhbHVlc1tpKzFdLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGJrcCA9IGIuYmtwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZih3aW5kb3dXaWR0aCA+PSBiLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgYmtwID0gYi5ia3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBia3A7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCcmVha3BvaW50cyhia3A6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpc01vYmlsZTogYmtwID09PSAneHMnIHx8IGJrcCA9PT0gJ3NtJyxcbiAgICAgICAgICAgIGlzVGFibGV0OiBia3AgPT09ICdtZCcsXG4gICAgICAgICAgICBpc0x0TGFyZ2VUYWJsZXQ6IGJrcCA9PT0gJ3hzJyB8fCBia3AgPT09ICdzbScgfHwgYmtwID09PSAnbWQnIHx8IGJrcCA9PT0gJ2xnJyxcbiAgICAgICAgICAgIGlzTHREZXNrdG9wOiBia3AgPT09ICd4cycgfHwgYmtwID09PSAnc20nIHx8IGJrcCA9PT0gJ21kJyB8fCBia3AgPT09ICdsZycgfHwgYmtwID09PSAneGwnLFxuICAgICAgICAgICAgaXNEZXNrdG9wOiBia3AgPT09ICd4eGwnLFxuICAgICAgICAgICAgaXNYTDogYmtwID09PSAneGwnLFxuICAgICAgICAgICAgaXNYWEw6IGJrcCA9PT0gJ3h4bCcsXG4gICAgICAgICAgICBpc0ZIRDogYmtwID09PSAnZmhkJyxcbiAgICAgICAgICAgIGlzMks6IGJrcCA9PT0gJzJrJyxcbiAgICAgICAgICAgIGlzNEs6IGJrcCA9PT0gJzRrJyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEpzb24odXJsOiBzdHJpbmcpOiBQcm9taXNlPG9iamVjdD4ge1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldCh1cmwpKS50aGVuKHRoaXMuZXh0cmFjdERhdGEpLmNhdGNoKHRoaXMuaGFuZGxlRXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdERhdGEocmVzOiBSZXNwb25zZSk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IGJvZHkgPSByZXM7XG4gICAgICAgIHJldHVybiBib2R5IHx8IHt9O1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQnLCBlcnJvcik7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvci5tZXNzYWdlIHx8IGVycm9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRBY3RpdmVMYW5ndWFnZVRvQXBwU2hlbGxTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZVNlcnZpY2Uuc2VsZWN0KGdldEFjdGl2ZUxhbmcpLnN1YnNjcmliZSgoYWN0aXZlTGFuZykgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUxhbmcgIT09IHRoaXMuc3RhdGUuYWN0aXZlTGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlTGFuZ3VhZ2U6IGFjdGl2ZUxhbmcsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
417
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWFwcC1zaGVsbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9ldWktYXBwLXNoZWxsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQWdCLGFBQWEsRUFBNEIsTUFBTSxXQUFXLENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEQsT0FBTyxFQUFVLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQUN4QyxPQUFPLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDaEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUF5RGhELE1BQU0sWUFBWSxHQUFZO0lBQzFCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsWUFBWSxFQUFFLEVBQUU7SUFDaEIsV0FBVyxFQUFFLEVBQUU7SUFDZixlQUFlLEVBQUUsRUFBRTtJQUVuQixhQUFhLEVBQUUsSUFBSTtJQUNuQixlQUFlLEVBQUUsS0FBSztJQUN0QixVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsS0FBSztJQUNwQixhQUFhLEVBQUUsS0FBSztJQUNwQixvQkFBb0IsRUFBRSxLQUFL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QTlZUSxrQkFBa0Isa0JBNEZILG1CQUFtQix1REFFL0IsV0FBVyxhQUNYLFFBQVE7a0hBL0ZYLGtCQUFrQixjQUZmLE1BQU07OzJGQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQTZGUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRXRDLE1BQU07MkJBQUMsV0FBVzs7MEJBQ2xCLE1BQU07MkJBQUMsUUFBUTs7MEJBR2YsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVmZXIsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdWlFdUxhbmd1YWdlcywgR2xvYmFsQ29uZmlnLCBnZXRBY3RpdmVMYW5nLCBFdWlMYW5ndWFnZSwgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgR0xPQkFMX0NPTkZJR19UT0tFTiB9IGZyb20gJy4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bic7XG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yZS9zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gtZXMvaXNFcXVhbCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC1lcy9nZXQnO1xuaW1wb3J0IHsgQ3NzVXRpbHMgfSBmcm9tICcuLi9oZWxwZXJzL2Nzcy11dGlscyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgaW50ZXJmYWNlIFVJU3RhdGU8QlAgPSBhbnksIERJID0gYW55LCBBTUQgPWFueSwgQlBWID0gYW55PiB7XG4gICAgLy8gYXBwIHN0YXRlXG4gICAgYXBwTmFtZT86IHN0cmluZztcbiAgICBhcHBTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgYXBwU3ViVGl0bGU/OiBzdHJpbmc7XG4gICAgYXBwQmFzZUZvbnRTaXplPzogc3RyaW5nO1xuXG4gICAgLy8gU2lkZWJhciBzdGF0ZVxuICAgIGlzU2lkZWJhck9wZW4/OiBib29sZWFuO1xuICAgIGlzU2lkZWJhckFjdGl2ZT86IGJvb2xlYW47XG4gICAgaGFzU2lkZWJhcj86IGJvb2xlYW47XG4gICAgaGFzQnJlYWRjcnVtYj86IGJvb2xlYW47XG4gICAgaGFzSGVhZGVyPzogYm9vbGVhbjtcbiAgICBoYXNIZWFkZXJMb2dvPzogYm9vbGVhbjtcbiAgICBoYXNIZWFkZXJFbnZpcm9ubWVudD86IGJvb2xlYW47XG4gICAgaGFzVG9vbGJhcj86IGJvb2xlYW47XG4gICAgaGFzVG9vbGJhck1lbnU/OiBib29sZWFuO1xuICAgIGVudmlyb25tZW50VmFsdWU/OiBzdHJpbmc7XG4gICAgaXNTaWRlYmFySGlkZGVuPzogYm9vbGVhbjtcbiAgICBoYXNUb3BNZXNzYWdlPzogYm9vbGVhbjtcblxuICAgIC8vIHdpbmRvdyBzdGF0ZVxuICAgIHdpbmRvd1dpZHRoPzogbnVtYmVyO1xuICAgIHdpbmRvd0hlaWdodD86IG51bWJlcjtcbiAgICBtYWluQ29udGVudEhlaWdodD86IG51bWJlcjtcbiAgICBwYWdlSGVhZGVySGVpZ2h0PzogbnVtYmVyO1xuICAgIGJyZWFrcG9pbnQ/OiBzdHJpbmc7XG4gICAgd3JhcHBlckNsYXNzZXM/OiBzdHJpbmc7XG4gICAgYnJlYWtwb2ludHM/OiBCUDtcbiAgICBicmVha3BvaW50VmFsdWVzPzogQlBWO1xuXG4gICAgLy8gbmF2aWdhdGlvbiBzdGF0ZVxuICAgIG1lbnVMaW5rcz86IEV1aU1lbnVJdGVtW107XG4gICAgc2lkZWJhckxpbmtzPzogRXVpTWVudUl0ZW1bXTtcbiAgICBjb21iaW5lZExpbmtzPzogRXVpTWVudUl0ZW1bXTtcblxuICAgIC8vIG90aGVyIHN0YXRlc1xuICAgIGlzQmxvY2tEb2N1bWVudEFjdGl2ZT86IGJvb2xlYW47XG5cbiAgICAvLyBkZXZpY2UgaW5mb1xuICAgIGRldmljZUluZm86IERJO1xuXG4gICAgLy8gbGFuZ3VhZ2UgaW5mb3NcbiAgICBhY3RpdmVMYW5ndWFnZTogc3RyaW5nO1xuICAgIGxhbmd1YWdlczogKHN0cmluZyB8IEV1aUxhbmd1YWdlKVtdO1xuXG4gICAgLy8gYXBwIG1ldGFkYXRhXG4gICAgYXBwTWV0YWRhdGE6IEFNRDtcblxuICAgIC8vIHZhcmlvdXMgZHluYW1pYyBzdGF0ZVxuICAgIGhhc01vZGFsQWN0aXZlPzogYm9vbGVhbjtcbiAgICBpc0RpbW1lckFjdGl2ZT86IGJvb2xlYW47IC8vIFVzYWdlOiBtYXAgdG8gZXVpIGJhc2UgZGlyZWN0aXZlIGlucHV0IGNvZXJjZSBldWlIaWdobGlnaHRlZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IFVJU3RhdGUgPSB7XG4gICAgYXBwTmFtZTogJycsXG4gICAgYXBwU2hvcnROYW1lOiAnJyxcbiAgICBhcHBTdWJUaXRsZTogJycsXG4gICAgYXBwQmFzZUZvbnRTaXplOiAnJyxcblxuICAgIGlzU2lkZWJhck9wZW46IHRydWUsXG4gICAgaXNTaWRlYmFyQWN0aXZlOiBmYWxzZSxcbiAgICBoYXNTaWRlYmFyOiBmYWxzZSxcbiAgICBoYXNIZWFkZXI6IGZhbHNlLFxuICAgIGhhc0JyZWFkY3J1bWI6IGZhbHNlLFxuICAgIGhhc0hlYWRlckxvZ286IGZhbHNlLFxuICAgIGhhc0hlYWRlckVudmlyb25tZW50OiBmYWxzZSxcbiAgICBoYXNUb29sYmFyOiBmYWxzZSxcbiAgICBoYXNUb29sYmFyTWVudTogZmFsc2UsXG4gICAgZW52aXJvbm1lbnRWYWx1ZTogJycsXG4gICAgaXNTaWRlYmFySGlkZGVuOiBmYWxzZSxcbiAgICBoYXNUb3BNZXNzYWdlOiBmYWxzZSxcbiAgICB3aW5kb3dXaWR0aDogMCxcbiAgICB3aW5kb3dIZWlnaHQ6IDAsXG4gICAgbWFpbkNvbnRlbnRIZWlnaHQ6IDAsXG4gICAgcGFnZUhlYWRlckhlaWdodDogMCxcbiAgICB3cmFwcGVyQ2xhc3NlczogJycsXG4gICAgYnJlYWtwb2ludDogJycsXG4gICAgYnJlYWtwb2ludHM6IHtcbiAgICAgICAgaXNNb2JpbGU6IGZhbHNlLFxuICAgICAgICBpc1RhYmxldDogZmFsc2UsXG4gICAgICAgIGlzTHRMYXJnZVRhYmxldDogZmFsc2UsXG4gICAgICAgIGlzTHREZXNrdG9wOiBmYWxzZSxcbiAgICAgICAgaXNEZXNrdG9wOiBmYWxzZSxcbiAgICAgICAgaXNYTDogZmFsc2UsXG4gICAgICAgIGlzWFhMOiBmYWxzZSxcbiAgICAgICAgaXNGSEQ6IGZhbHNlLFxuICAgICAgICBpczJLOiBmYWxzZSxcbiAgICAgICAgaXM0SzogZmFsc2UsXG4gICAgfSxcbiAgICBicmVha3BvaW50VmFsdWVzOiBbXSxcbiAgICBtZW51TGlua3M6IFtdLFxuICAgIHNpZGViYXJMaW5rczogW10sXG4gICAgY29tYmluZWRMaW5rczogW10sXG4gICAgaXNCbG9ja0RvY3VtZW50QWN0aXZlOiBmYWxzZSxcbiAgICBkZXZpY2VJbmZvOiBudWxsLFxuICAgIGFjdGl2ZUxhbmd1YWdlOiAnZW4nLFxuICAgIGxhbmd1YWdlczogRXVpRXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VzKCksXG4gICAgYXBwTWV0YWRhdGE6IG51bGwsXG4gICAgaGFzTW9kYWxBY3RpdmU6IGZhbHNlLFxuICAgIGlzRGltbWVyQWN0aXZlOiBmYWxzZSxcbn07XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aUFwcFNoZWxsU2VydmljZSB7XG4gICAgbmF2aWdhdGlvblN0YXJ0Q3VzdG9tSGFuZGxlcjogKCkgPT4gdm9pZDtcbiAgICBuYXZpZ2F0aW9uRW5kQ3VzdG9tSGFuZGxlcjogKCkgPT4gdm9pZDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBnZXQgc3RhdGUkKCk6IE9ic2VydmFibGU8VUlTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBleHBvc2VkIG9ic2VydmFibGVzXG5cbiAgICBnZXQgYnJlYWtwb2ludCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JyZWFrcG9pbnQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0IGJyZWFrcG9pbnRzJCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYnJlYWtwb2ludHMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBzdGF0ZSBvcGVyYXRpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLVxuICAgIGdldCBzdGF0ZSgpOiBVSVN0YXRlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBwdWJsaWMgc2V0dGVycyBhbmQgZnVuY3Rpb25zXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIHNldCBpc1NpZGViYXJPcGVuKGlzT3BlbjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc1NpZGViYXJPcGVuOiBpc09wZW4sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBpc1NpZGViYXJPcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5pc1NpZGViYXJPcGVuO1xuICAgIH1cblxuICAgIHNldCBpc1NpZGViYXJBY3RpdmUoaXNBY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNTaWRlYmFyQWN0aXZlOiBpc0FjdGl2ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0IHNpZGViYXJMaW5rcyhsaW5rczogRXVpTWVudUl0ZW1bXSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBzaWRlYmFyTGlua3M6IGxpbmtzLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXQgbWVudUxpbmtzKGxpbmtzOiBFdWlNZW51SXRlbVtdKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIG1lbnVMaW5rczogbGlua3MsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNldCBpc0Jsb2NrRG9jdW1lbnRBY3RpdmUoaXNBY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNCbG9ja0RvY3VtZW50QWN0aXZlOiBpc0FjdGl2ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0hlYWRlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuaGFzSGVhZGVyO1xuICAgIH1cblxuICAgIC8vIEVkaXQgbW9kZVxuICAgIGdldCBpc0RpbW1lckFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuaXNEaW1tZXJBY3RpdmU7XG4gICAgfVxuXG4gICAgc2V0IGlzRGltbWVyQWN0aXZlKGlzQWN0aXZlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGlzRGltbWVyQWN0aXZlOiBpc0FjdGl2ZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc3RhdGUkOiBCZWhhdmlvclN1YmplY3Q8VUlTdGF0ZT47XG4gICAgcHJpdmF0ZSBfYnJlYWtwb2ludCQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBfYnJlYWtwb2ludHMkOiBCZWhhdmlvclN1YmplY3Q8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBjb25maWc6IEdsb2JhbENvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IG9iamVjdCxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgc3RvcmVTZXJ2aWNlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBsZXQgc3RhdGVXaXRoQ29uZmlnID0gaW5pdGlhbFN0YXRlO1xuICAgICAgICBjb25zdCBsYW5ndWFnZXMgPSBjb25maWc/LmkxOG4/LmkxOG5TZXJ2aWNlPy5sYW5ndWFnZXMgfHwgaW5pdGlhbFN0YXRlLmxhbmd1YWdlcztcbiAgICAgICAgY29uc3QgZGVmYXVsdExhbmd1YWdlID0gY29uZmlnPy5pMThuPy5pMThuU2VydmljZT8uZGVmYXVsdExhbmd1YWdlIHx8IGluaXRpYWxTdGF0ZS5hY3RpdmVMYW5ndWFnZTtcbiAgICAgICAgc3RhdGVXaXRoQ29uZmlnID0ge1xuICAgICAgICAgICAgLi4uc3RhdGVXaXRoQ29uZmlnLFxuICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgIGxhbmd1YWdlcyxcbiAgICAgICAgICAgICAgICBhY3RpdmVMYW5ndWFnZTogZGVmYXVsdExhbmd1YWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5fc3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChzdGF0ZVdpdGhDb25maWcpO1xuICAgICAgICB0aGlzLl9icmVha3BvaW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICAgICAgICB0aGlzLl9icmVha3BvaW50cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgICAgICAgdGhpcy5iaW5kQWN0aXZlTGFuZ3VhZ2VUb0FwcFNoZWxsU3RhdGUoKTtcblxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRTdGF0ZShuZXh0U3RhdGU6IFVJU3RhdGUsIHVwZGF0ZUkxOCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgbGV0IGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzO1xuICAgICAgICBsZXQgY29tYmluZWRMaW5rcztcblxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGU7XG5cbiAgICAgICAgLy8gY2hlY2sgaWYgd2luZG93IHdpZHRoIGhhcyBiZWVuIHVwZGF0ZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS53aW5kb3dXaWR0aCAhPT0gbmV4dFN0YXRlLndpbmRvd1dpZHRoKSB7XG4gICAgICAgICAgICBicmVha3BvaW50ID0gdGhpcy5nZXRCcmVha3BvaW50KG5leHRTdGF0ZS53aW5kb3dXaWR0aCk7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHRoaXMuZ2V0QnJlYWtwb2ludHMoYnJlYWtwb2ludCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2JyZWFrcG9pbnQkLm5leHQoYnJlYWtwb2ludCk7XG4gICAgICAgICAgICB0aGlzLl9icmVha3BvaW50cyQubmV4dChicmVha3BvaW50cyk7XG5cbiAgICAgICAgICAgIC8vIGlmIG5vdCBwcm9wYWdhdGUgdGhlIG9sZCBvbmVzIHdpdGhvdXQgZG9pbmcgYW55IGNhbGN1bGF0aW9uc1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYnJlYWtwb2ludCA9IHN0YXRlLmJyZWFrcG9pbnQ7XG4gICAgICAgICAgICBicmVha3BvaW50cyA9IHN0YXRlLmJyZWFrcG9pbnRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZmluYWxseSBnZXQgdGhlIHdyYXBwZXIgY2xhc3NlcyB3aGVuIGJvdGggdGhlIHN0YXRlIGFuZCBicmVha3BvaW50IGFyZSBrbm93blxuICAgICAgICBjb25zdCB3cmFwcGVyQ2xhc3NlcyA9IHRoaXMuZ2V0V3JhcHBlckNsYXNzZXMobmV4dFN0YXRlLCBicmVha3BvaW50KTtcblxuICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWVudUxpbmtzIG9yIHNpZGViYXJMaW5rcyBoYXZlIGNoYW5nZWQgZnJvbSBwcmV2aW91cyBzdGF0ZVxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5tZW51TGlua3MgIT09IG5leHRTdGF0ZS5tZW51TGlua3MgfHwgdGhpcy5zdGF0ZS5zaWRlYmFyTGlua3MgIT09IG5leHRTdGF0ZS5zaWRlYmFyTGlua3MpIHtcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MgPSBbLi4ubmV4dFN0YXRlLm1lbnVMaW5rcywgLi4ubmV4dFN0YXRlLnNpZGViYXJMaW5rc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb21iaW5lZExpbmtzID0gdGhpcy5zdGF0ZS5jb21iaW5lZExpbmtzO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhdGVCZWZvcmVVcGRhdGUgPSB7IC4uLnRoaXMuc3RhdGUgfTtcblxuICAgICAgICAvLyB3ZSBwdXQgaXQgYWxsIHRvZ2V0aGVyIHdpdGggdGhlIGNhbGN1bGF0ZWQgcHJvcGVydGllc1xuICAgICAgICB0aGlzLl9zdGF0ZSQubmV4dCh7XG4gICAgICAgICAgICAuLi5uZXh0U3RhdGUsXG4gICAgICAgICAgICB3cmFwcGVyQ2xhc3NlcyxcbiAgICAgICAgICAgIGJyZWFrcG9pbnQsXG4gICAgICAgICAgICBicmVha3BvaW50cyxcbiAgICAgICAgICAgIGNvbWJpbmVkTGlua3MsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHVwZGF0ZSB0aGUgU3RvcmUgTGFuZ3VhZ2VcbiAgICAgICAgaWYgKHVwZGF0ZUkxOCAmJiBuZXh0U3RhdGUuYWN0aXZlTGFuZ3VhZ2UgIT09IHN0YXRlQmVmb3JlVXBkYXRlLmFjdGl2ZUxhbmd1YWdlKSB7XG4gICAgICAgICAgICB0aGlzLmkxOG5TZXJ2aWNlLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogbmV4dFN0YXRlLmFjdGl2ZUxhbmd1YWdlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW1pdHMgYSBzbGljZSBmcm9tIHRoZSBzdGF0ZSB3aGV0aGVyIHRoYXQgY2hhbmdlc1xuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBjYW4gYmUgJ2tleScgb3IgJ2tleS5zdWIuc3ViJ1xuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0U3RhdGUoa2V5Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGRlZmVyKCgpID0+XG4gICAgICAgICAgICAvLyBjaGVjayBpZiBrZXkgZXhpc3RzXG4gICAgICAgICAgICBrZXlcbiAgICAgICAgICAgICAgICA/IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZSkgPT4gZ2V0KHN0YXRlLCBrZXkpKSxcbiAgICAgICAgICAgICAgICAgICAgICAvLyBmaWx0ZXIoKHN0YXRlKSA9PiBzdGF0ZSksXG4gICAgICAgICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IGlzRXF1YWwoeCwgeSkpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdGhpcy5zdGF0ZSQsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNpZGViYXJUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTaWRlYmFyT3BlbiA9ICF0aGlzLnN0YXRlLmlzU2lkZWJhck9wZW47XG4gICAgfVxuXG4gICAgLy8gRWRpdCBtb2RlXG4gICAgcHVibGljIGRpbW1lckFjdGl2ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSB0aGlzLmlzRGltbWVyQWN0aXZlO1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBpc0RpbW1lckFjdGl2ZTogIWlzQWN0aXZlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVFZGl0TW9kZUNzc1ZhcnMoIWlzQWN0aXZlLCB0aGlzLmRvY3VtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RGltbWVyQWN0aXZlU3RhdGUoYWN0aXZlU3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaXNEaW1tZXJBY3RpdmU6IGFjdGl2ZVN0YXRlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVFZGl0TW9kZUNzc1ZhcnMoYWN0aXZlU3RhdGUsIHRoaXMuZG9jdW1lbnQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHVibGljIG1ldGhvZHNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLVxuICAgIHB1YmxpYyBmZXRjaEFwcE1ldGFkYXRhKG1ldGFkYXRhRmlsZVBhdGggPSAnYXNzZXRzL2FwcC1tZXRhZGF0YS5qc29uJyk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEpzb24obWV0YWRhdGFGaWxlUGF0aCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgICAgICBhcHBNZXRhZGF0YTogZGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICBoYXNTaWRlYmFyOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuc3RhdGUuaXNTaWRlYmFySGlkZGVuKSB7XG4gICAgICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVNpZGViYXJDc3NWYXJzKHRoaXMuZG9jdW1lbnQsIHRoaXMucGxhdGZvcm1JZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVTaWRlYmFySGVhZGVyKCk6IHZvaWQge1xuICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVNpZGViYXJIZWFkZXJDc3NWYXJzKHRoaXMuZG9jdW1lbnQsIHRoaXMucGxhdGZvcm1JZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlU2lkZWJhckZvb3RlcigpOiB2b2lkIHtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVTaWRlYmFyRm9vdGVyQ3NzVmFycyh0aGlzLmRvY3VtZW50LCB0aGlzLnBsYXRmb3JtSWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhY3RpdmF0ZUhlYWRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzSGVhZGVyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgQ3NzVXRpbHMuYWN0aXZhdGVIZWFkZXJDc3NWYXJzKHRoaXMuZG9jdW1lbnQsIHRoaXMucGxhdGZvcm1JZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlQnJlYWRjcnVtYigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzQnJlYWRjcnVtYjogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIENzc1V0aWxzLmFjdGl2YXRlQnJlYWRjcnVtYkNzc1ZhcnModGhpcy5kb2N1bWVudCwgdGhpcy5wbGF0Zm9ybUlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb3BNZXNzYWdlKGhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1RvcE1lc3NhZ2U6IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgICBDc3NVdGlscy5hY3RpdmF0ZVRvcE1lc3NhZ2VDc3NWYXJzKGhlaWdodCwgdGhpcy5kb2N1bWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFjdGl2YXRlVG9vbGJhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhcjogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIENzc1V0aWxzLmFjdGl2YXRlVG9vbGJhckNzc1ZhcnModGhpcy5kb2N1bWVudCwgdGhpcy5wbGF0Zm9ybUlkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWN0aXZhdGVUb29sYmFyTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgLS1ldWktZi1zaXplLWJhc2UgQ1NTIHZhcmlhYmxlXG4gICAgICovXG4gICAgcHVibGljIGdldEJhc2VGb250U2l6ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZS5hcHBCYXNlRm9udFNpemUgfHwgQ3NzVXRpbHMuZ2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWYtc2l6ZS1iYXNlJywgdGhpcy5kb2N1bWVudCwgdGhpcy5wbGF0Zm9ybUlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBjdXJyZW50IHZhbHVlIG9mIC0tZXVpLWYtc2l6ZS1iYXNlIENTUyB2YXJpYWJsZSBhbmQgdGhlIFVJU3RhdGUgYXBwQmFzZUZvbnRTaXplXG4gICAgICovXG4gICAgcHVibGljIHNldEJhc2VGb250U2l6ZShuZXdzaXplOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgIGFwcEJhc2VGb250U2l6ZTogbmV3c2l6ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgKTtcbiAgICAgICAgQ3NzVXRpbHMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWYtc2l6ZS1iYXNlJywgbmV3c2l6ZSwgdGhpcy5kb2N1bWVudCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gcHJpdmF0ZSBnZXR0ZXJzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tXG4gICAgcHJpdmF0ZSBnZXRXcmFwcGVyQ2xhc3NlcyhzdGF0ZTogVUlTdGF0ZSwgYnJlYWtwb2ludDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBjbGFzc2VzLnB1c2goYnJlYWtwb2ludCk7XG5cbiAgICAgICAgaWYgKHN0YXRlLmhhc1NpZGViYXIpIHtcbiAgICAgICAgICAgIGlmIChzdGF0ZS5pc1NpZGViYXJIaWRkZW4pIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItLWhpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHN0YXRlLmlzU2lkZWJhck9wZW4pIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzLnB1c2goJ3NpZGViYXItLW9wZW4nKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaWRlYmFyLS1jbG9zZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5kZXZpY2VJbmZvPy5pc0ZGKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZmJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmRldmljZUluZm8/LmlzSUUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnaWUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuZGV2aWNlSW5mbz8uaXNDaHJvbWUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnY2hyb21lJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QnJlYWtwb2ludCh3aW5kb3dXaWR0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGJrcCA9ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmJyZWFrcG9pbnRWYWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRWYWx1ZXM6IENzc1V0aWxzLmdldEJyZWFrcG9pbnRWYWx1ZXModGhpcy5kb2N1bWVudCwgdGhpcy5wbGF0Zm9ybUlkKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGF0ZS5icmVha3BvaW50VmFsdWVzLmZvckVhY2goKGIsIGkpID0+IHtcbiAgICAgICAgICAgIGlmIChpIDwgdGhpcy5zdGF0ZS5icmVha3BvaW50VmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGlmICh3aW5kb3dXaWR0aCA+PSBiLnZhbHVlICYmIHdpbmRvd1dpZHRoIDwgdGhpcy5zdGF0ZS5icmVha3BvaW50VmFsdWVzW2krMV0udmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgYmtwID0gYi5ia3A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmKHdpbmRvd1dpZHRoID49IGIudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBia3AgPSBiLmJrcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGJrcDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJyZWFrcG9pbnRzKGJrcDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlzTW9iaWxlOiBia3AgPT09ICd4cycgfHwgYmtwID09PSAnc20nLFxuICAgICAgICAgICAgaXNUYWJsZXQ6IGJrcCA9PT0gJ21kJyxcbiAgICAgICAgICAgIGlzTHRMYXJnZVRhYmxldDogYmtwID09PSAneHMnIHx8IGJrcCA9PT0gJ3NtJyB8fCBia3AgPT09ICdtZCcgfHwgYmtwID09PSAnbGcnLFxuICAgICAgICAgICAgaXNMdERlc2t0b3A6IGJrcCA9PT0gJ3hzJyB8fCBia3AgPT09ICdzbScgfHwgYmtwID09PSAnbWQnIHx8IGJrcCA9PT0gJ2xnJyB8fCBia3AgPT09ICd4bCcsXG4gICAgICAgICAgICBpc0Rlc2t0b3A6IGJrcCA9PT0gJ3h4bCcsXG4gICAgICAgICAgICBpc1hMOiBia3AgPT09ICd4bCcsXG4gICAgICAgICAgICBpc1hYTDogYmtwID09PSAneHhsJyxcbiAgICAgICAgICAgIGlzRkhEOiBia3AgPT09ICdmaGQnLFxuICAgICAgICAgICAgaXMySzogYmtwID09PSAnMmsnLFxuICAgICAgICAgICAgaXM0SzogYmtwID09PSAnNGsnLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SnNvbih1cmw6IHN0cmluZyk6IFByb21pc2U8b2JqZWN0PiB7XG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0KHVybCkpLnRoZW4odGhpcy5leHRyYWN0RGF0YSkuY2F0Y2godGhpcy5oYW5kbGVFcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBleHRyYWN0RGF0YShyZXM6IFJlc3BvbnNlKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHJlcztcbiAgICAgICAgcmV0dXJuIGJvZHkgfHwge307XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdBbiBlcnJvciBvY2N1cnJlZCcsIGVycm9yKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmluZEFjdGl2ZUxhbmd1YWdlVG9BcHBTaGVsbFN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlU2VydmljZS5zZWxlY3QoZ2V0QWN0aXZlTGFuZykuc3Vic2NyaWJlKChhY3RpdmVMYW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlTGFuZyAhPT0gdGhpcy5zdGF0ZS5hY3RpdmVMYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVMYW5ndWFnZTogYWN0aXZlTGFuZyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
package/fesm2022/eui-core.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { merge, fromEvent, throwError, of, forkJoin, from, BehaviorSubject, defe
|
|
|
10
10
|
import { mapTo, map, mergeMap, tap, debounceTime, distinctUntilChanged, take, switchMap, catchError, concatMap, filter, takeUntil } from 'rxjs/operators';
|
|
11
11
|
import * as i1$2 from '@ngx-translate/core';
|
|
12
12
|
import { TranslateLoader } from '@ngx-translate/core';
|
|
13
|
-
import { isPlatformBrowser, LOCATION_INITIALIZED, DOCUMENT, getLocaleId, registerLocaleData } from '@angular/common';
|
|
13
|
+
import { isPlatformBrowser, LOCATION_INITIALIZED, DOCUMENT, isPlatformServer, getLocaleId, registerLocaleData } from '@angular/common';
|
|
14
14
|
import * as i1$3 from '@ngrx/store';
|
|
15
15
|
import { createSelector } from '@ngrx/store';
|
|
16
16
|
import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
@@ -2123,16 +2123,10 @@ const offset = (nativeEl) => {
|
|
|
2123
2123
|
};
|
|
2124
2124
|
};
|
|
2125
2125
|
// PRIVATE FUNCTIONS
|
|
2126
|
-
// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
|
|
2127
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2128
2126
|
const getStyle = (nativeEl, cssProp) => {
|
|
2129
|
-
// IE
|
|
2130
2127
|
/* istanbul ignore if */
|
|
2131
|
-
if (nativeEl
|
|
2132
|
-
return nativeEl
|
|
2133
|
-
}
|
|
2134
|
-
if (window.getComputedStyle) {
|
|
2135
|
-
return window.getComputedStyle(nativeEl)[cssProp];
|
|
2128
|
+
if (getComputedStyle(nativeEl)) {
|
|
2129
|
+
return getComputedStyle(nativeEl)[cssProp];
|
|
2136
2130
|
}
|
|
2137
2131
|
// finally try and get inline style
|
|
2138
2132
|
/* istanbul ignore next */
|
|
@@ -2324,113 +2318,126 @@ const handleError = (error) => {
|
|
|
2324
2318
|
const isDefined = (value) => value !== undefined && value !== null;
|
|
2325
2319
|
|
|
2326
2320
|
class CssUtils {
|
|
2327
|
-
|
|
2328
|
-
|
|
2321
|
+
/**
|
|
2322
|
+
* Get the value of a CSS variable. Using getComputedStyle to get the value of the CSS variable (Browser Specific API)
|
|
2323
|
+
* @param inputProperty
|
|
2324
|
+
* @param document
|
|
2325
|
+
* @param platform
|
|
2326
|
+
*/
|
|
2327
|
+
static { this.getCssVarValue = (inputProperty, document, platform) => {
|
|
2328
|
+
if (isPlatformServer(platform)) {
|
|
2329
|
+
return document.documentElement.style.getPropertyValue(inputProperty);
|
|
2330
|
+
}
|
|
2331
|
+
else {
|
|
2332
|
+
return getComputedStyle(document.documentElement).getPropertyValue(inputProperty);
|
|
2333
|
+
}
|
|
2329
2334
|
}; }
|
|
2330
|
-
static { this.setCssVarValue = (propertyName, propertyValue) => {
|
|
2335
|
+
static { this.setCssVarValue = (propertyName, propertyValue, document) => {
|
|
2331
2336
|
document.documentElement.style.setProperty(propertyName, propertyValue);
|
|
2332
2337
|
}; }
|
|
2333
|
-
static { this.setCssVar = (inputProperty, outputProperty) => {
|
|
2334
|
-
const cssVarValue = this.getCssVarValue(inputProperty);
|
|
2335
|
-
this.setCssVarValue(outputProperty, cssVarValue);
|
|
2338
|
+
static { this.setCssVar = (inputProperty, outputProperty, document, platform) => {
|
|
2339
|
+
const cssVarValue = this.getCssVarValue(inputProperty, document, platform);
|
|
2340
|
+
this.setCssVarValue(outputProperty, cssVarValue, document);
|
|
2336
2341
|
}; }
|
|
2337
|
-
static { this.initCssVars = () => {
|
|
2338
|
-
this.setCssVar('--eui-app-header-height-default', '--eui-app-header-height');
|
|
2339
|
-
this.setCssVar('--eui-app-breadcrumb-height-default', '--eui-app-breadcrumb-height');
|
|
2340
|
-
this.setCssVar('--eui-app-top-message-height-default', '--eui-app-top-message-height');
|
|
2341
|
-
this.setCssVar('--eui-app-toolbar-height-default', '--eui-app-toolbar-height');
|
|
2342
|
-
this.setCssVar('--eui-app-sidebar-width-default', '--eui-app-sidebar-width');
|
|
2343
|
-
this.setCssVar('--eui-app-sidebar-width-close-default', '--eui-app-sidebar-width-close');
|
|
2344
|
-
this.setCssVar('--eui-app-sidebar-header-height-default', '--eui-app-sidebar-header-height');
|
|
2345
|
-
this.setCssVar('--eui-app-sidebar-footer-height-default', '--eui-app-sidebar-footer-height');
|
|
2342
|
+
static { this.initCssVars = (document, platform) => {
|
|
2343
|
+
this.setCssVar('--eui-app-header-height-default', '--eui-app-header-height', document, platform);
|
|
2344
|
+
this.setCssVar('--eui-app-breadcrumb-height-default', '--eui-app-breadcrumb-height', document, platform);
|
|
2345
|
+
this.setCssVar('--eui-app-top-message-height-default', '--eui-app-top-message-height', document, platform);
|
|
2346
|
+
this.setCssVar('--eui-app-toolbar-height-default', '--eui-app-toolbar-height', document, platform);
|
|
2347
|
+
this.setCssVar('--eui-app-sidebar-width-default', '--eui-app-sidebar-width', document, platform);
|
|
2348
|
+
this.setCssVar('--eui-app-sidebar-width-close-default', '--eui-app-sidebar-width-close', document, platform);
|
|
2349
|
+
this.setCssVar('--eui-app-sidebar-header-height-default', '--eui-app-sidebar-header-height', document, platform);
|
|
2350
|
+
this.setCssVar('--eui-app-sidebar-footer-height-default', '--eui-app-sidebar-footer-height', document, platform);
|
|
2346
2351
|
}; }
|
|
2347
2352
|
// eslint-disable-next-line
|
|
2348
|
-
static { this.getBreakpointValues = () => {
|
|
2353
|
+
static { this.getBreakpointValues = (document, platform) => {
|
|
2349
2354
|
const breakpoints = [];
|
|
2350
|
-
const xs = this.getCssVarValue('--eui-bp-xs');
|
|
2355
|
+
const xs = this.getCssVarValue('--eui-bp-xs', document, platform);
|
|
2351
2356
|
breakpoints.push({ bkp: 'xs', pxValue: xs, value: xs.replace('px', '') });
|
|
2352
|
-
const sm = this.getCssVarValue('--eui-bp-sm');
|
|
2357
|
+
const sm = this.getCssVarValue('--eui-bp-sm', document, platform);
|
|
2353
2358
|
breakpoints.push({ bkp: 'sm', pxValue: sm, value: sm.replace('px', '') });
|
|
2354
|
-
const md = this.getCssVarValue('--eui-bp-md');
|
|
2359
|
+
const md = this.getCssVarValue('--eui-bp-md', document, platform);
|
|
2355
2360
|
breakpoints.push({ bkp: 'md', pxValue: md, value: md.replace('px', '') });
|
|
2356
|
-
const lg = this.getCssVarValue('--eui-bp-lg');
|
|
2361
|
+
const lg = this.getCssVarValue('--eui-bp-lg', document, platform);
|
|
2357
2362
|
breakpoints.push({ bkp: 'lg', pxValue: lg, value: lg.replace('px', '') });
|
|
2358
|
-
const xl = this.getCssVarValue('--eui-bp-xl');
|
|
2363
|
+
const xl = this.getCssVarValue('--eui-bp-xl', document, platform);
|
|
2359
2364
|
breakpoints.push({ bkp: 'xl', pxValue: xl, value: xl.replace('px', '') });
|
|
2360
|
-
const xxl = this.getCssVarValue('--eui-bp-xxl');
|
|
2365
|
+
const xxl = this.getCssVarValue('--eui-bp-xxl', document, platform);
|
|
2361
2366
|
breakpoints.push({ bkp: 'xxl', pxValue: xxl, value: xxl.replace('px', '') });
|
|
2362
|
-
const fhd = this.getCssVarValue('--eui-bp-fhd');
|
|
2367
|
+
const fhd = this.getCssVarValue('--eui-bp-fhd', document, platform);
|
|
2363
2368
|
breakpoints.push({ bkp: 'fhd', pxValue: fhd, value: fhd.replace('px', '') });
|
|
2364
|
-
const twok = this.getCssVarValue('--eui-bp-2k');
|
|
2369
|
+
const twok = this.getCssVarValue('--eui-bp-2k', document, platform);
|
|
2365
2370
|
breakpoints.push({ bkp: '2k', pxValue: twok, value: twok.replace('px', '') });
|
|
2366
|
-
const fourk = this.getCssVarValue('--eui-bp-4k');
|
|
2371
|
+
const fourk = this.getCssVarValue('--eui-bp-4k', document, platform);
|
|
2367
2372
|
breakpoints.push({ bkp: '4k', pxValue: fourk, value: fourk.replace('px', '') });
|
|
2368
2373
|
return breakpoints;
|
|
2369
2374
|
}; }
|
|
2370
|
-
static { this.activateEditModeCssVars = (isActive) => {
|
|
2375
|
+
static { this.activateEditModeCssVars = (isActive, document) => {
|
|
2371
2376
|
if (isActive) {
|
|
2372
|
-
this.setCssVarValue('--eui-docpage-navigation-z-index', 'inherit'); // Reset doc-page-navigation-column z-index
|
|
2373
|
-
this.setCssVarValue('--eui-z-index-sidebar', 'inherit'); // Reset eui-app-sidebar z-index
|
|
2374
|
-
this.setCssVarValue('--eui-z-index-root', 'inherit'); // Reset eui-app-main-content z-index
|
|
2377
|
+
this.setCssVarValue('--eui-docpage-navigation-z-index', 'inherit', document); // Reset doc-page-navigation-column z-index
|
|
2378
|
+
this.setCssVarValue('--eui-z-index-sidebar', 'inherit', document); // Reset eui-app-sidebar z-index
|
|
2379
|
+
this.setCssVarValue('--eui-z-index-root', 'inherit', document); // Reset eui-app-main-content z-index
|
|
2375
2380
|
}
|
|
2376
2381
|
else {
|
|
2377
|
-
this.setCssVarValue('--eui-docpage-navigation-z-index', '2'); // Restore doc-page-navigation-column z-index
|
|
2378
|
-
this.setCssVarValue('--eui-z-index-sidebar', '1044'); // Restore eui-app-sidebar z-index
|
|
2379
|
-
this.setCssVarValue('--eui-z-index-root', '1'); // Restore eui-app-main-content z-index
|
|
2382
|
+
this.setCssVarValue('--eui-docpage-navigation-z-index', '2', document); // Restore doc-page-navigation-column z-index
|
|
2383
|
+
this.setCssVarValue('--eui-z-index-sidebar', '1044', document); // Restore eui-app-sidebar z-index
|
|
2384
|
+
this.setCssVarValue('--eui-z-index-root', '1', document); // Restore eui-app-main-content z-index
|
|
2380
2385
|
}
|
|
2381
2386
|
}; }
|
|
2382
|
-
static { this.activateHeaderCssVars = () => {
|
|
2383
|
-
this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height');
|
|
2387
|
+
static { this.activateHeaderCssVars = (document, platform) => {
|
|
2388
|
+
this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);
|
|
2384
2389
|
}; }
|
|
2385
|
-
static { this.activateBreadcrumbCssVars = () => {
|
|
2386
|
-
this.setCssVar('--eui-app-breadcrumb-height-active', '--eui-app-breadcrumb-height');
|
|
2390
|
+
static { this.activateBreadcrumbCssVars = (document, platform) => {
|
|
2391
|
+
this.setCssVar('--eui-app-breadcrumb-height-active', '--eui-app-breadcrumb-height', document, platform);
|
|
2387
2392
|
}; }
|
|
2388
|
-
static { this.activateTopMessageCssVars = (height) => {
|
|
2389
|
-
this.setCssVarValue('--eui-app-top-message-height', `${height}px
|
|
2393
|
+
static { this.activateTopMessageCssVars = (height, document) => {
|
|
2394
|
+
this.setCssVarValue('--eui-app-top-message-height', `${height}px`, document);
|
|
2390
2395
|
}; }
|
|
2391
|
-
static { this.activateToolbarCssVars = () => {
|
|
2392
|
-
this.setCssVar('--eui-app-toolbar-height-active', '--eui-app-toolbar-height');
|
|
2396
|
+
static { this.activateToolbarCssVars = (document, platform) => {
|
|
2397
|
+
this.setCssVar('--eui-app-toolbar-height-active', '--eui-app-toolbar-height', document, platform);
|
|
2393
2398
|
}; }
|
|
2394
|
-
static { this.activateFooterCssVars = () => {
|
|
2395
|
-
this.setCssVar('--eui-app-footer-height-active', '--eui-app-footer-height');
|
|
2399
|
+
static { this.activateFooterCssVars = (document, platform) => {
|
|
2400
|
+
this.setCssVar('--eui-app-footer-height-active', '--eui-app-footer-height', document, platform);
|
|
2396
2401
|
}; }
|
|
2397
|
-
static { this.setHeaderShrinkCssVar = (active) => {
|
|
2402
|
+
static { this.setHeaderShrinkCssVar = (active, document, platform) => {
|
|
2398
2403
|
if (active) {
|
|
2399
|
-
this.setCssVar('--eui-app-header-height-shrink', '--eui-app-header-height');
|
|
2404
|
+
this.setCssVar('--eui-app-header-height-shrink', '--eui-app-header-height', document, platform);
|
|
2400
2405
|
}
|
|
2401
2406
|
else {
|
|
2402
|
-
this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height');
|
|
2407
|
+
this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);
|
|
2403
2408
|
}
|
|
2404
2409
|
}; }
|
|
2405
|
-
static { this.activateSidebarCssVars = () => {
|
|
2406
|
-
this.setCssVar('--eui-app-sidebar-width-active', '--eui-app-sidebar-width');
|
|
2407
|
-
this.setCssVar('--eui-app-sidebar-width-close-active', '--eui-app-sidebar-width-close');
|
|
2410
|
+
static { this.activateSidebarCssVars = (document, platform) => {
|
|
2411
|
+
this.setCssVar('--eui-app-sidebar-width-active', '--eui-app-sidebar-width', document, platform);
|
|
2412
|
+
this.setCssVar('--eui-app-sidebar-width-close-active', '--eui-app-sidebar-width-close', document, platform);
|
|
2408
2413
|
}; }
|
|
2409
|
-
static { this.removeSidebarCssVars = () => {
|
|
2414
|
+
static { this.removeSidebarCssVars = (document) => {
|
|
2410
2415
|
document.documentElement.style.removeProperty('--eui-app-sidebar-header-height');
|
|
2411
2416
|
document.documentElement.style.removeProperty('--eui-app-sidebar-footer-height');
|
|
2412
2417
|
document.documentElement.style.removeProperty('--eui-app-sidebar-width');
|
|
2413
2418
|
document.documentElement.style.removeProperty('--eui-app-sidebar-width-close');
|
|
2414
2419
|
}; }
|
|
2415
|
-
static { this.activateSidebarHeaderCssVars = () => {
|
|
2416
|
-
this.setCssVar('--eui-app-sidebar-header-height-active', '--eui-app-sidebar-header-height');
|
|
2420
|
+
static { this.activateSidebarHeaderCssVars = (document, platform) => {
|
|
2421
|
+
this.setCssVar('--eui-app-sidebar-header-height-active', '--eui-app-sidebar-header-height', document, platform);
|
|
2417
2422
|
}; }
|
|
2418
|
-
static { this.activateSidebarFooterCssVars = () => {
|
|
2419
|
-
this.setCssVar('--eui-app-sidebar-footer-height-active', '--eui-app-sidebar-footer-height');
|
|
2423
|
+
static { this.activateSidebarFooterCssVars = (document, platform) => {
|
|
2424
|
+
this.setCssVar('--eui-app-sidebar-footer-height-active', '--eui-app-sidebar-footer-height', document, platform);
|
|
2420
2425
|
}; }
|
|
2421
2426
|
/**
|
|
2422
|
-
* Gets the viewport height and width and
|
|
2427
|
+
* Gets the viewport height and width and multiply it by 1% to get a value for a vh/vw unit
|
|
2423
2428
|
* Sets the value in the --eui-app-vh custom property to the root of the document
|
|
2424
2429
|
* Sets the value in the --eui-app-vw custom property to the root of the document
|
|
2425
2430
|
* Example for 100% height: calc(var(--eui-app-vh, 1vh) * 100);
|
|
2426
2431
|
* Example for 50% height: calc(var(--eui-app-vh, 1vh) * 50);
|
|
2427
2432
|
* Example for 50% width: calc(var(--eui-app-vw, 1vw) * 50);
|
|
2428
2433
|
*/
|
|
2429
|
-
static setAppViewportCssVars() {
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
+
static setAppViewportCssVars(platform) {
|
|
2435
|
+
if (isPlatformBrowser(platform)) {
|
|
2436
|
+
const vh = window.innerHeight * 0.01;
|
|
2437
|
+
const vw = window.innerWidth * 0.01;
|
|
2438
|
+
this.setCssVarValue('--eui-app-vh', `${vh}px`, document);
|
|
2439
|
+
this.setCssVarValue('--eui-app-vw', `${vw}px`, document);
|
|
2440
|
+
}
|
|
2434
2441
|
}
|
|
2435
2442
|
}
|
|
2436
2443
|
|
|
@@ -2913,10 +2920,11 @@ class EuiAppShellService {
|
|
|
2913
2920
|
isDimmerActive: isActive,
|
|
2914
2921
|
});
|
|
2915
2922
|
}
|
|
2916
|
-
constructor(config, http, platformId, router, storeService, i18nService) {
|
|
2923
|
+
constructor(config, http, platformId, document, router, storeService, i18nService) {
|
|
2917
2924
|
this.config = config;
|
|
2918
2925
|
this.http = http;
|
|
2919
2926
|
this.platformId = platformId;
|
|
2927
|
+
this.document = document;
|
|
2920
2928
|
this.router = router;
|
|
2921
2929
|
this.storeService = storeService;
|
|
2922
2930
|
this.i18nService = i18nService;
|
|
@@ -3006,14 +3014,14 @@ class EuiAppShellService {
|
|
|
3006
3014
|
...this.state,
|
|
3007
3015
|
isDimmerActive: !isActive,
|
|
3008
3016
|
});
|
|
3009
|
-
CssUtils.activateEditModeCssVars(!isActive);
|
|
3017
|
+
CssUtils.activateEditModeCssVars(!isActive, this.document);
|
|
3010
3018
|
}
|
|
3011
3019
|
setDimmerActiveState(activeState) {
|
|
3012
3020
|
this.setState({
|
|
3013
3021
|
...this.state,
|
|
3014
3022
|
isDimmerActive: activeState,
|
|
3015
3023
|
});
|
|
3016
|
-
CssUtils.activateEditModeCssVars(activeState);
|
|
3024
|
+
CssUtils.activateEditModeCssVars(activeState, this.document);
|
|
3017
3025
|
}
|
|
3018
3026
|
// --------------
|
|
3019
3027
|
// public methods
|
|
@@ -3032,42 +3040,42 @@ class EuiAppShellService {
|
|
|
3032
3040
|
hasSidebar: true,
|
|
3033
3041
|
});
|
|
3034
3042
|
if (!this.state.isSidebarHidden) {
|
|
3035
|
-
CssUtils.activateSidebarCssVars();
|
|
3043
|
+
CssUtils.activateSidebarCssVars(this.document, this.platformId);
|
|
3036
3044
|
}
|
|
3037
3045
|
}
|
|
3038
3046
|
activateSidebarHeader() {
|
|
3039
|
-
CssUtils.activateSidebarHeaderCssVars();
|
|
3047
|
+
CssUtils.activateSidebarHeaderCssVars(this.document, this.platformId);
|
|
3040
3048
|
}
|
|
3041
3049
|
activateSidebarFooter() {
|
|
3042
|
-
CssUtils.activateSidebarFooterCssVars();
|
|
3050
|
+
CssUtils.activateSidebarFooterCssVars(this.document, this.platformId);
|
|
3043
3051
|
}
|
|
3044
3052
|
activateHeader() {
|
|
3045
3053
|
this.setState({
|
|
3046
3054
|
...this.state,
|
|
3047
3055
|
hasHeader: true,
|
|
3048
3056
|
});
|
|
3049
|
-
CssUtils.activateHeaderCssVars();
|
|
3057
|
+
CssUtils.activateHeaderCssVars(this.document, this.platformId);
|
|
3050
3058
|
}
|
|
3051
3059
|
activateBreadcrumb() {
|
|
3052
3060
|
this.setState({
|
|
3053
3061
|
...this.state,
|
|
3054
3062
|
hasBreadcrumb: true,
|
|
3055
3063
|
});
|
|
3056
|
-
CssUtils.activateBreadcrumbCssVars();
|
|
3064
|
+
CssUtils.activateBreadcrumbCssVars(this.document, this.platformId);
|
|
3057
3065
|
}
|
|
3058
3066
|
activateTopMessage(height) {
|
|
3059
3067
|
this.setState({
|
|
3060
3068
|
...this.state,
|
|
3061
3069
|
hasTopMessage: true,
|
|
3062
3070
|
});
|
|
3063
|
-
CssUtils.activateTopMessageCssVars(height);
|
|
3071
|
+
CssUtils.activateTopMessageCssVars(height, this.document);
|
|
3064
3072
|
}
|
|
3065
3073
|
activateToolbar() {
|
|
3066
3074
|
this.setState({
|
|
3067
3075
|
...this.state,
|
|
3068
3076
|
hasToolbar: true,
|
|
3069
3077
|
});
|
|
3070
|
-
CssUtils.activateToolbarCssVars();
|
|
3078
|
+
CssUtils.activateToolbarCssVars(this.document, this.platformId);
|
|
3071
3079
|
}
|
|
3072
3080
|
activateToolbarMenu() {
|
|
3073
3081
|
this.setState({
|
|
@@ -3079,7 +3087,7 @@ class EuiAppShellService {
|
|
|
3079
3087
|
* Returns the current value of --eui-f-size-base CSS variable
|
|
3080
3088
|
*/
|
|
3081
3089
|
getBaseFontSize() {
|
|
3082
|
-
return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base');
|
|
3090
|
+
return this.state.appBaseFontSize || CssUtils.getCssVarValue('--eui-f-size-base', this.document, this.platformId);
|
|
3083
3091
|
}
|
|
3084
3092
|
/**
|
|
3085
3093
|
* Updates the current value of --eui-f-size-base CSS variable and the UIState appBaseFontSize
|
|
@@ -3089,7 +3097,7 @@ class EuiAppShellService {
|
|
|
3089
3097
|
...this.state,
|
|
3090
3098
|
appBaseFontSize: newsize,
|
|
3091
3099
|
}, false);
|
|
3092
|
-
CssUtils.setCssVarValue('--eui-f-size-base', newsize);
|
|
3100
|
+
CssUtils.setCssVarValue('--eui-f-size-base', newsize, this.document);
|
|
3093
3101
|
}
|
|
3094
3102
|
// ---------------
|
|
3095
3103
|
// private getters
|
|
@@ -3124,7 +3132,7 @@ class EuiAppShellService {
|
|
|
3124
3132
|
if (this.state.breakpointValues.length === 0) {
|
|
3125
3133
|
this.setState({
|
|
3126
3134
|
...this.state,
|
|
3127
|
-
breakpointValues: CssUtils.getBreakpointValues(),
|
|
3135
|
+
breakpointValues: CssUtils.getBreakpointValues(this.document, this.platformId),
|
|
3128
3136
|
});
|
|
3129
3137
|
}
|
|
3130
3138
|
this.state.breakpointValues.forEach((b, i) => {
|
|
@@ -3175,7 +3183,7 @@ class EuiAppShellService {
|
|
|
3175
3183
|
}
|
|
3176
3184
|
});
|
|
3177
3185
|
}
|
|
3178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1$5.HttpClient }, { token: PLATFORM_ID }, { token: i1$4.Router }, { token: StoreService }, { token: I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i1$5.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: i1$4.Router }, { token: StoreService }, { token: I18nService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3179
3187
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, providedIn: 'root' }); }
|
|
3180
3188
|
}
|
|
3181
3189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiAppShellService, decorators: [{
|
|
@@ -3191,6 +3199,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
|
3191
3199
|
}] }, { type: i1$5.HttpClient }, { type: undefined, decorators: [{
|
|
3192
3200
|
type: Inject,
|
|
3193
3201
|
args: [PLATFORM_ID]
|
|
3202
|
+
}] }, { type: Document, decorators: [{
|
|
3203
|
+
type: Inject,
|
|
3204
|
+
args: [DOCUMENT]
|
|
3194
3205
|
}] }, { type: i1$4.Router }, { type: StoreService }, { type: I18nService, decorators: [{
|
|
3195
3206
|
type: Optional
|
|
3196
3207
|
}] }] });
|