@microsoft/windows-admin-center-sdk 2.128.0 → 2.152.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/angular/assets/strings/cs-CZ/strings.json +1 -1
  2. package/angular/assets/strings/de-DE/strings.json +1 -1
  3. package/angular/assets/strings/es-ES/strings.json +1 -1
  4. package/angular/assets/strings/fr-FR/strings.json +1 -1
  5. package/angular/assets/strings/hu-HU/strings.json +1 -1
  6. package/angular/assets/strings/it-IT/strings.json +1 -1
  7. package/angular/assets/strings/ja-JP/strings.json +1 -1
  8. package/angular/assets/strings/ko-KR/strings.json +1 -1
  9. package/angular/assets/strings/nl-NL/strings.json +1 -1
  10. package/angular/assets/strings/pl-PL/strings.json +1 -1
  11. package/angular/assets/strings/pt-BR/strings.json +1 -1
  12. package/angular/assets/strings/pt-PT/strings.json +1 -1
  13. package/angular/assets/strings/ru-RU/strings.json +1 -1
  14. package/angular/assets/strings/sv-SE/strings.json +1 -1
  15. package/angular/assets/strings/tr-TR/strings.json +1 -1
  16. package/angular/assets/strings/zh-CN/strings.json +1 -1
  17. package/angular/assets/strings/zh-TW/strings.json +1 -1
  18. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js +558 -367
  19. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.js.map +1 -1
  20. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js +1 -1
  21. package/angular/bundles/microsoft-windows-admin-center-sdk-angular.umd.min.js.map +1 -1
  22. package/angular/esm2015/src/controls/accordion/index.js +5 -0
  23. package/angular/esm2015/src/controls/data-table/data-table.component.js +5 -5
  24. package/angular/esm2015/src/controls/dialog/dialog.component.js +2 -2
  25. package/angular/esm2015/src/controls/dropdown/dropdown.service.js +3 -2
  26. package/angular/esm2015/src/controls/form/form-field/array/array-form-field.component.js +29 -22
  27. package/angular/esm2015/src/controls/form/form-field/datetime-range/datetime-range-form-field.component.js +4 -3
  28. package/angular/esm2015/src/controls/form/form-field/list/list-form-field.component.js +1 -1
  29. package/angular/esm2015/src/controls/form/validation-alert/validation-alert.component.js +3 -2
  30. package/angular/esm2015/src/controls/index.js +2 -1
  31. package/angular/esm2015/src/controls/pivot/pivot.component.js +21 -9
  32. package/angular/esm2015/src/controls/settings/common-settings/common-settings.component.js +38 -34
  33. package/angular/esm2015/src/controls/settings/settings-content.component.js +3 -2
  34. package/angular/esm2015/src/controls/settings/settings.component.js +45 -13
  35. package/angular/esm2015/src/controls/settings/settings.module.js +5 -1
  36. package/angular/esm2015/src/controls/tooltip/tooltip-zone.directive.js +2 -2
  37. package/angular/esm2015/src/controls/wizard/models/index.js +1 -1
  38. package/angular/esm2015/src/controls/wizard/models/wizard-builder-interface.js +2 -0
  39. package/angular/esm2015/src/controls/wizard/models/wizard-navigation-interface.js +2 -0
  40. package/angular/esm2015/src/controls/wizard/wizard-builder.js +70 -1
  41. package/angular/esm2015/src/controls/wizard/wizard-navigation-information.js +56 -2
  42. package/angular/esm2015/src/controls/wizard/wizard.component.js +8 -2
  43. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js +508 -322
  44. package/angular/fesm2015/microsoft-windows-admin-center-sdk-angular.js.map +1 -1
  45. package/angular/src/controls/accordion/index.d.ts +4 -0
  46. package/angular/src/controls/form/form-field/array/array-form-field.component.d.ts +2 -1
  47. package/angular/src/controls/index.d.ts +1 -0
  48. package/angular/src/controls/pivot/pivot.component.d.ts +2 -2
  49. package/angular/src/controls/settings/settings.component.d.ts +3 -0
  50. package/angular/src/controls/settings/settings.module.d.ts +3 -2
  51. package/angular/src/controls/wizard/models/index.d.ts +2 -0
  52. package/angular/src/controls/wizard/models/wizard-builder-interface.d.ts +8 -0
  53. package/angular/src/controls/wizard/models/wizard-navigation-interface.d.ts +4 -0
  54. package/angular/src/controls/wizard/wizard-builder.d.ts +36 -1
  55. package/angular/src/controls/wizard/wizard-navigation-information.d.ts +48 -5
  56. package/angular/src/controls/wizard/wizard.component.d.ts +2 -1
  57. package/core/data/resource-cache.d.ts +1 -1
  58. package/core/data/resource-cache.js +1 -1
  59. package/core/data/resource-cache.js.map +1 -1
  60. package/core/security/authorization-manager.js +1 -1
  61. package/core/security/authorization-manager.js.map +1 -1
  62. package/package.json +2 -3
  63. package/styles/css/main.css +1 -1
  64. package/tools/gulp-ps-cim/index.js +1 -1
  65. package/tools/gulp-ps-cim/index.js.map +1 -1
@@ -16,8 +16,8 @@ import * as i2 from "../settings-form.service";
16
16
  import * as i3 from "../../../service/app-context.service";
17
17
  import * as i4 from "../../../service/rpc-shell.service";
18
18
  function CommonSettingsComponent_header_2_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "header", 6);
20
- i0.ɵɵelementStart(1, "h2", 7);
19
+ i0.ɵɵelementStart(0, "header", 7);
20
+ i0.ɵɵelementStart(1, "h2", 8);
21
21
  i0.ɵɵtext(2);
22
22
  i0.ɵɵelementEnd();
23
23
  i0.ɵɵelementEnd();
@@ -28,8 +28,8 @@ function CommonSettingsComponent_header_2_Template(rf, ctx) { if (rf & 1) {
28
28
  i0.ɵɵadvance(1);
29
29
  i0.ɵɵtextInterpolate(ctx_r0.settingsTitle);
30
30
  } }
31
- function CommonSettingsComponent_li_5_h3_1_Template(rf, ctx) { if (rf & 1) {
32
- i0.ɵɵelementStart(0, "h3", 11);
31
+ function CommonSettingsComponent_li_6_h3_1_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "h3", 12);
33
33
  i0.ɵɵtext(1);
34
34
  i0.ɵɵelementEnd();
35
35
  } if (rf & 2) {
@@ -41,11 +41,11 @@ function CommonSettingsComponent_li_5_h3_1_Template(rf, ctx) { if (rf & 1) {
41
41
  i0.ɵɵadvance(1);
42
42
  i0.ɵɵtextInterpolate(group_r4.group);
43
43
  } }
44
- function CommonSettingsComponent_li_5_a_2_Template(rf, ctx) { if (rf & 1) {
45
- i0.ɵɵelementStart(0, "a", 12);
46
- i0.ɵɵelement(1, "div", 13);
47
- i0.ɵɵelementStart(2, "div", 14);
48
- i0.ɵɵelementStart(3, "span", 15);
44
+ function CommonSettingsComponent_li_6_a_2_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "a", 13);
46
+ i0.ɵɵelement(1, "div", 14);
47
+ i0.ɵɵelementStart(2, "div", 15);
48
+ i0.ɵɵelementStart(3, "span", 16);
49
49
  i0.ɵɵtext(4);
50
50
  i0.ɵɵelementEnd();
51
51
  i0.ɵɵelementEnd();
@@ -66,10 +66,10 @@ function CommonSettingsComponent_li_5_a_2_Template(rf, ctx) { if (rf & 1) {
66
66
  i0.ɵɵadvance(1);
67
67
  i0.ɵɵtextInterpolate(setting_r9.label);
68
68
  } }
69
- function CommonSettingsComponent_li_5_Template(rf, ctx) { if (rf & 1) {
70
- i0.ɵɵelementStart(0, "li", 8);
71
- i0.ɵɵtemplate(1, CommonSettingsComponent_li_5_h3_1_Template, 2, 3, "h3", 9);
72
- i0.ɵɵtemplate(2, CommonSettingsComponent_li_5_a_2_Template, 5, 19, "a", 10);
69
+ function CommonSettingsComponent_li_6_Template(rf, ctx) { if (rf & 1) {
70
+ i0.ɵɵelementStart(0, "li", 9);
71
+ i0.ɵɵtemplate(1, CommonSettingsComponent_li_6_h3_1_Template, 2, 3, "h3", 10);
72
+ i0.ɵɵtemplate(2, CommonSettingsComponent_li_6_a_2_Template, 5, 19, "a", 11);
73
73
  i0.ɵɵelementEnd();
74
74
  } if (rf & 2) {
75
75
  const group_r4 = ctx.$implicit;
@@ -79,34 +79,34 @@ function CommonSettingsComponent_li_5_Template(rf, ctx) { if (rf & 1) {
79
79
  i0.ɵɵadvance(1);
80
80
  i0.ɵɵproperty("ngForOf", group_r4.options);
81
81
  } }
82
- function CommonSettingsComponent_div_6_div_1_Template(rf, ctx) { if (rf & 1) {
82
+ function CommonSettingsComponent_div_7_div_1_Template(rf, ctx) { if (rf & 1) {
83
83
  const _r15 = i0.ɵɵgetCurrentView();
84
- i0.ɵɵelementStart(0, "div", 17);
85
- i0.ɵɵlistener("click", function CommonSettingsComponent_div_6_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r15); const layer_r13 = ctx.$implicit; const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.onOverlayClick(layer_r13); });
84
+ i0.ɵɵelementStart(0, "div", 18);
85
+ i0.ɵɵlistener("click", function CommonSettingsComponent_div_7_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r15); const layer_r13 = ctx.$implicit; const ctx_r14 = i0.ɵɵnextContext(2); return ctx_r14.onOverlayClick(layer_r13); });
86
86
  i0.ɵɵelementEnd();
87
87
  } }
88
- function CommonSettingsComponent_div_6_Template(rf, ctx) { if (rf & 1) {
88
+ function CommonSettingsComponent_div_7_Template(rf, ctx) { if (rf & 1) {
89
89
  i0.ɵɵelementStart(0, "div");
90
- i0.ɵɵtemplate(1, CommonSettingsComponent_div_6_div_1_Template, 1, 0, "div", 16);
90
+ i0.ɵɵtemplate(1, CommonSettingsComponent_div_7_div_1_Template, 1, 0, "div", 17);
91
91
  i0.ɵɵelementEnd();
92
92
  } if (rf & 2) {
93
93
  const ctx_r2 = i0.ɵɵnextContext();
94
94
  i0.ɵɵadvance(1);
95
95
  i0.ɵɵproperty("ngForOf", ctx_r2.layers);
96
96
  } }
97
- function CommonSettingsComponent_sme_settings_header_7_h3_1_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelementStart(0, "h3", 19);
97
+ function CommonSettingsComponent_sme_settings_header_8_h3_1_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "h3", 20);
99
99
  i0.ɵɵtext(1);
100
100
  i0.ɵɵelementEnd();
101
101
  } if (rf & 2) {
102
102
  const ctx_r16 = i0.ɵɵnextContext(2);
103
103
  i0.ɵɵattribute("aria-label", ctx_r16.selectedSettingTitle);
104
104
  i0.ɵɵadvance(1);
105
- i0.ɵɵtextInterpolate(ctx_r16.selectedSettingTitle);
105
+ i0.ɵɵtextInterpolate1(" ", ctx_r16.selectedSettingTitle, "");
106
106
  } }
107
- function CommonSettingsComponent_sme_settings_header_7_Template(rf, ctx) { if (rf & 1) {
107
+ function CommonSettingsComponent_sme_settings_header_8_Template(rf, ctx) { if (rf & 1) {
108
108
  i0.ɵɵelementStart(0, "sme-settings-header");
109
- i0.ɵɵtemplate(1, CommonSettingsComponent_sme_settings_header_7_h3_1_Template, 2, 2, "h3", 18);
109
+ i0.ɵɵtemplate(1, CommonSettingsComponent_sme_settings_header_8_h3_1_Template, 2, 2, "h3", 19);
110
110
  i0.ɵɵelementEnd();
111
111
  } if (rf & 2) {
112
112
  const ctx_r3 = i0.ɵɵnextContext();
@@ -368,30 +368,34 @@ export class CommonSettingsComponent extends CoreBaseComponent {
368
368
  } if (rf & 2) {
369
369
  let _t;
370
370
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.settingsComponent = _t.first);
371
- } }, inputs: { settingsTitle: "settingsTitle", settings: "settings", showHeader: "showHeader", hackShowOverlay: "hackShowOverlay", hackToolHeader: "hackToolHeader", backRoute: "backRoute" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 12, vars: 5, consts: [[3, "settingsTitle"], ["class", "sme-layout-tool-header", 4, "ngIf"], ["role", "tablist", 1, "sme-padding-horizontal-lg", "sme-arrange-stack-v", "sme-focus-zone"], ["role", "presentation", 1, "sme-position-flex-auto", "sme-arrange-stack-v", "sme-arrange-overflow-hide-x", "sme-arrange-overflow-auto-y"], ["class", "sme-margin-inset-none", "role", "presentation", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "sme-layout-tool-header"], [1, "sme-position-flex-none", "sme-font-h3"], ["role", "presentation", 1, "sme-margin-inset-none"], ["class", "sme-margin-top-xs sme-font-h5", 3, "id", "title", 4, "ngIf"], ["class", "sme-padding-squish-v-sm sme-arrange-stack-h sme-scheme-nav-item", "role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title", 4, "ngFor", "ngForOf"], [1, "sme-margin-top-xs", "sme-font-h5", 3, "id", "title"], ["role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 1, "sme-padding-squish-v-sm", "sme-arrange-stack-h", "sme-scheme-nav-item", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title"], [1, "sme-icon", "sme-margin-right-xs", 3, "ngClass"], [1, "sme-position-flex-auto"], [3, "id"], ["class", "sme-layout-absolute sme-position-inset-none sme-layer-above sme-scheme-backdrop-opaque", 3, "click", 4, "ngFor", "ngForOf"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-layer-above", "sme-scheme-backdrop-opaque", 3, "click"], ["id", "sme-shell-setting-selectedTitle", 4, "ngIf"], ["id", "sme-shell-setting-selectedTitle"]], template: function CommonSettingsComponent_Template(rf, ctx) { if (rf & 1) {
371
+ } }, inputs: { settingsTitle: "settingsTitle", settings: "settings", showHeader: "showHeader", hackShowOverlay: "hackShowOverlay", hackToolHeader: "hackToolHeader", backRoute: "backRoute" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 13, vars: 6, consts: [[3, "settingsTitle"], ["class", "sme-layout-tool-header", 4, "ngIf"], ["role", "region"], ["role", "tablist", 1, "sme-padding-horizontal-lg", "sme-arrange-stack-v", "sme-focus-zone"], ["role", "presentation", 1, "sme-position-flex-auto", "sme-arrange-stack-v", "sme-arrange-overflow-hide-x", "sme-arrange-overflow-auto-y"], ["class", "sme-margin-inset-none", "role", "presentation", 4, "ngFor", "ngForOf"], [4, "ngIf"], [1, "sme-layout-tool-header"], [1, "sme-position-flex-none", "sme-font-h3"], ["role", "presentation", 1, "sme-margin-inset-none"], ["class", "sme-margin-top-xs sme-font-h5", 3, "id", "title", 4, "ngIf"], ["class", "sme-padding-squish-v-sm sme-arrange-stack-h sme-scheme-nav-item", "role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title", 4, "ngFor", "ngForOf"], [1, "sme-margin-top-xs", "sme-font-h5", 3, "id", "title"], ["role", "tab", "href", "setting.routeParams.extras && setting.routeParams.extras.replaceUrl", "routerLinkActive", "sme-active", 1, "sme-padding-squish-v-sm", "sme-arrange-stack-h", "sme-scheme-nav-item", 3, "routerLink", "preserveFragment", "skipLocationChange", "replaceUrl", "queryParams", "title"], [1, "sme-icon", "sme-margin-right-xs", 3, "ngClass"], [1, "sme-position-flex-auto"], [3, "id"], ["class", "sme-layout-absolute sme-position-inset-none sme-layer-above sme-scheme-backdrop-opaque", 3, "click", 4, "ngFor", "ngForOf"], [1, "sme-layout-absolute", "sme-position-inset-none", "sme-layer-above", "sme-scheme-backdrop-opaque", 3, "click"], ["id", "sme-shell-setting-selectedTitle", 4, "ngIf"], ["id", "sme-shell-setting-selectedTitle"]], template: function CommonSettingsComponent_Template(rf, ctx) { if (rf & 1) {
372
372
  i0.ɵɵprojectionDef();
373
373
  i0.ɵɵelementStart(0, "sme-settings", 0);
374
374
  i0.ɵɵelementStart(1, "sme-settings-navigation");
375
375
  i0.ɵɵtemplate(2, CommonSettingsComponent_header_2_Template, 3, 2, "header", 1);
376
- i0.ɵɵelementStart(3, "nav", 2);
377
- i0.ɵɵelementStart(4, "ul", 3);
378
- i0.ɵɵtemplate(5, CommonSettingsComponent_li_5_Template, 3, 2, "li", 4);
376
+ i0.ɵɵelementStart(3, "div", 2);
377
+ i0.ɵɵelementStart(4, "nav", 3);
378
+ i0.ɵɵelementStart(5, "ul", 4);
379
+ i0.ɵɵtemplate(6, CommonSettingsComponent_li_6_Template, 3, 2, "li", 5);
379
380
  i0.ɵɵelementEnd();
380
381
  i0.ɵɵelementEnd();
381
- i0.ɵɵtemplate(6, CommonSettingsComponent_div_6_Template, 2, 1, "div", 5);
382
382
  i0.ɵɵelementEnd();
383
- i0.ɵɵtemplate(7, CommonSettingsComponent_sme_settings_header_7_Template, 2, 1, "sme-settings-header", 5);
384
- i0.ɵɵelementStart(8, "sme-settings-content");
385
- i0.ɵɵelement(9, "router-outlet");
383
+ i0.ɵɵtemplate(7, CommonSettingsComponent_div_7_Template, 2, 1, "div", 6);
386
384
  i0.ɵɵelementEnd();
387
- i0.ɵɵelementStart(10, "sme-settings-footer");
388
- i0.ɵɵprojection(11);
385
+ i0.ɵɵtemplate(8, CommonSettingsComponent_sme_settings_header_8_Template, 2, 1, "sme-settings-header", 6);
386
+ i0.ɵɵelementStart(9, "sme-settings-content");
387
+ i0.ɵɵelement(10, "router-outlet");
388
+ i0.ɵɵelementEnd();
389
+ i0.ɵɵelementStart(11, "sme-settings-footer");
390
+ i0.ɵɵprojection(12);
389
391
  i0.ɵɵelementEnd();
390
392
  i0.ɵɵelementEnd();
391
393
  } if (rf & 2) {
392
394
  i0.ɵɵproperty("settingsTitle", ctx.hackToolHeader ? "" : ctx.settingsTitle);
393
395
  i0.ɵɵadvance(2);
394
396
  i0.ɵɵproperty("ngIf", ctx.hackToolHeader);
397
+ i0.ɵɵadvance(1);
398
+ i0.ɵɵattribute("aria-label", ctx.settingsTitle);
395
399
  i0.ɵɵadvance(3);
396
400
  i0.ɵɵproperty("ngForOf", ctx.groupTools);
397
401
  i0.ɵɵadvance(1);
@@ -421,4 +425,4 @@ export class CommonSettingsComponent extends CoreBaseComponent {
421
425
  type: ViewChild,
422
426
  args: [SettingsComponent]
423
427
  }] }); })();
424
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3NldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3MvY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBRUwsZUFBZSxFQUlmLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsY0FBYyxFQUdkLE1BQU0sRUFFVCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUd0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIs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O2tCQURoQixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSztZQUlDLGNBQWM7a0JBRHBCLEtBQUs7WUFJQyxTQUFTO2tCQURmLEtBQUs7WUFJQyxpQkFBaUI7a0JBRHZCLFNBQVM7bUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBEb0NoZWNrLFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIEl0ZXJhYmxlRGlmZmVyLFxyXG4gICAgSXRlcmFibGVEaWZmZXJzLFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgICBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICBOYXZpZ2F0aW9uRXh0cmFzLFxyXG4gICAgUm91dGVyLFxyXG4gICAgUm91dGVyU3RhdGVTbmFwc2hvdFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE5ldCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9uZXQnO1xyXG5pbXBvcnQgeyBScGNPdmVybGF5Q2xvc2VDbGllbnQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9vdmVybGF5L3JwYy1vdmVybGF5LWNsb3NlLWNsaWVudCc7XHJcbmltcG9ydCB7IFJwY0RpYWxvZ092ZXJsYXlEYXRhIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvb3ZlcmxheS9ycGMtb3ZlcmxheS1tb2RlbCc7XHJcbmltcG9ydCB7IERlZmVycmVkRGF0YSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL3JwYyc7XHJcbmltcG9ydCB7IFJwY1R5cGUgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9ycGMtYmFzZSc7XHJcbmltcG9ydCB7IFJwY091dGJvdW5kIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvcnBjLW91dGJvdW5kJztcclxuaW1wb3J0IHsgZW1wdHksIGZyb20sIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvYXBwLWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFJwY1NoZWxsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvcnBjLXNoZWxsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhbkNvbXBvbmVudERlYWN0aXZhdGUgfSBmcm9tICcuLi9zZXR0aW5ncy1jYW4tZGVhY3RpdmF0ZS1ndWFyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzLWZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi4vc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbSwgQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtIH0gZnJvbSAnLi9jb21tb24tc2V0dGluZ3MtbmF2aWdhdGlvbi1pdGVtJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBUb29sc01lbnUge1xyXG4gICAgZ3JvdXA6IHN0cmluZztcclxuICAgIG9wdGlvbnM6IENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybVtdO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLWNvbW1vbi1zZXR0aW5ncycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIERvQ2hlY2ssIEFmdGVyVmlld0NoZWNrZWQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHNvdXJjZSBuYW1lIHRvIHVzZSBmb3IgbG9nZ2luZ1xyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGxvZ1NvdXJjZU5hbWUoKSB7XHJcbiAgICAgICAgcmV0dXJuICdDb21tb25TZXR0aW5nc0NvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNvbWJpbmVkRm9ybTogRm9ybUdyb3VwO1xyXG4gICAgcHVibGljIHNlbGVjdGVkU2V0dGluZ1RpdGxlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVmYXVsdEdyb3VwID0gJ2RlZmF1bHQnO1xyXG4gICAgcHVibGljIGdyb3VwVG9vbHM6IEdyb3VwVG9vbHNNZW51W107XHJcbiAgICBwdWJsaWMgbGF5ZXJzOiBScGNEaWFsb2dPdmVybGF5RGF0YVtdID0gW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXR0aW5nc1RpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXR0aW5nczogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd0hlYWRlciA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBoYWNrU2hvd092ZXJsYXkgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhhY2tUb29sSGVhZGVyID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiYWNrUm91dGU6IHsgY29tbWFuZHM6IGFueVtdLCBleHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzIH07XHJcblxyXG4gICAgQFZpZXdDaGlsZChTZXR0aW5nc0NvbXBvbmVudClcclxuICAgIHB1YmxpYyBzZXR0aW5nc0NvbXBvbmVudDogU2V0dGluZ3NDb21wb25lbnQ7XHJcblxyXG4gICAgcHJpdmF0ZSBsYXRlc3RGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwcml2YXRlIGxhdGVzdFByaXN0aW5lRm9ybVZhbHVlOiBhbnk7XHJcbiAgICBwcml2YXRlIGxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50OiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBzZXR0aW5nc0RpZmZlcjogSXRlcmFibGVEaWZmZXI8YW55PjtcclxuICAgIHByaXZhdGUgYXV0b2ZvY3VzID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHVibGljIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgIHByaXZhdGUgc2V0dGluZ3NGb3JtczogU2V0dGluZ3NGb3JtU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGl0ZXJhYmxlRGlmZmVyczogSXRlcmFibGVEaWZmZXJzLFxyXG4gICAgICAgIHByaXZhdGUgYXBwQ29udGV4dDogQXBwQ29udGV4dFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBycGNTaGVsbFNlcnZpY2U6IFJwY1NoZWxsU2VydmljZVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMuY29tYmluZWRGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zZXR0aW5nc0Zvcm1zLmZvcm1BZGRlZCgpLnN1YnNjcmliZSgoZm9ybUFkZGVkRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAvLyB0byBhdm9pZCBkdXBsaWNhdGVzIHdlIGZpcnN0IHJlbW92ZSB0aGUgZm9ybSBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RGb3JtID0gZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXA7XHJcbiAgICAgICAgICAgIHRoaXMubGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RGb3JtVXBkYXRlVmFsdWVJbkNvbXBvbmVudCA9IGZvcm1BZGRlZERhdGEudXBkYXRlVmFsdWVJbkNvbXBvbmVudDtcclxuICAgICAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NEaWZmZXIgPSB0aGlzLml0ZXJhYmxlRGlmZmVycy5maW5kKHRoaXMuc2V0dGluZ3MpLmNyZWF0ZShudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmhhY2tTaG93T3ZlcmxheSkge1xyXG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJwY1NoZWxsU2VydmljZS5vdmVybGF5T3BlblN1YmplY3RcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRlZmVycmVkRGF0YTogRGVmZXJyZWREYXRhPFJwY0RpYWxvZ092ZXJsYXlEYXRhLCB2b2lkPikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIG92ZXJsYXkgdG9vbHMgd2l0aCBvbmUgbW9yZSBsYXllciBvciByZW1vdmUgb25lIGZyb20gdG9wXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlZmVycmVkRGF0YS5kYXRhLm92ZXJsYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucHVzaChkZWZlcnJlZERhdGEuZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxheWVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5ZXJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUnBjIE92ZXJsYXlDbG9zZTogY2xvc2UgcmVxdWVzdCBpcyBjYWxsZWQgd2hpbGUgbGF5ZXIgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBkZWZlcnJlZERhdGEuZGVmZXJyZWQucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlcykge1xyXG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLnNldHRpbmdzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NEaWZmZXIgPSB0aGlzLml0ZXJhYmxlRGlmZmVycy5maW5kKHRoaXMuc2V0dGluZ3MpLmNyZWF0ZShudWxsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jcmVhdGVNZW51KCk7XHJcbiAgICAgICAgdGhpcy5yZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nRG9DaGVjaygpIHtcclxuICAgICAgICBzdXBlci5uZ0RvQ2hlY2soKTtcclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5nc0RpZmZlcikge1xyXG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5zZXR0aW5nc0RpZmZlci5kaWZmKHRoaXMuc2V0dGluZ3MpO1xyXG4gICAgICAgICAgICBpZiAoY2hhbmdlcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVNZW51KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICBpZiAodGhpcy5hdXRvZm9jdXMpIHtcclxuICAgICAgICAgICAgY29uc3QgZm9jdXNFbGVtZW50cyA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbcm9sZT1cInRhYlwiXScpO1xyXG4gICAgICAgICAgICBpZiAoZm9jdXNFbGVtZW50cyAmJiBmb2N1c0VsZW1lbnRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgZm9jdXNFbGVtZW50c1swXS5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvZm9jdXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY3JlYXRlTWVudSgpIHtcclxuICAgICAgICBjb25zdCBncm91cFRvb2xzOiBHcm91cFRvb2xzTWVudVtdID0gW107XHJcbiAgICAgICAgZ3JvdXBUb29sc1snZGVmYXVsdCddID0geyBncm91cDogJ2RlZmF1bHQnLCBvcHRpb25zOiBbXSB9O1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoISEhc2V0dGluZy5ncm91cCkge1xyXG4gICAgICAgICAgICAgICAgZ3JvdXBUb29sc1snZGVmYXVsdCddLm9wdGlvbnMucHVzaChzZXR0aW5nKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmICghISFncm91cFRvb2xzW3NldHRpbmcuZ3JvdXBdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JvdXBUb29sc1tzZXR0aW5nLmdyb3VwXSA9IHsgZ3JvdXA6IHNldHRpbmcuZ3JvdXAsIHRpdGxlOiBzZXR0aW5nLmdyb3VwVGl0bGUsIG9wdGlvbnM6IFtdIH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBncm91cFRvb2xzW3NldHRpbmcuZ3JvdXBdLm9wdGlvbnMucHVzaChzZXR0aW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZ3JvdXBUb29scyA9IFtdO1xyXG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBncm91cFRvb2xzKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3VwVG9vbHMucHVzaChncm91cFRvb2xzW3Byb3BdKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVjYWxjdWxhdGVBY3RpdmVQYW5lbCgpIHtcclxuICAgICAgICBjb25zdCBzZXR0aW5nID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT50aGlzLmdldEFjdGl2ZVNldHRpbmdJdGVtKCk7XHJcbiAgICAgICAgaWYgKE1zZnRTbWUuaXNOdWxsT3JVbmRlZmluZWQoc2V0dGluZykpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmcuZm9ybSAmJiBzZXR0aW5nLmZvcm0uZGlydHkpIHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShzZXR0aW5nLmZvcm0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNldHRpbmcudXBkYXRlVmFsdWVJbkNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLm5ld0Zvcm1WYWx1ZShzZXR0aW5nLmZvcm0sIGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0uc2V0VmFsdWUoZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RGb3JtLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMucmVtb3ZlRm9ybShzZXR0aW5nLmZvcm0pO1xyXG4gICAgICAgIHNldHRpbmcuZm9ybSA9IHRoaXMubGF0ZXN0Rm9ybTtcclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmcuZm9ybSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jb21iaW5lZEZvcm0uY29udHJvbHNbc2V0dGluZy5sYWJlbF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZWRGb3JtLnNldENvbnRyb2woc2V0dGluZy5sYWJlbCwgc2V0dGluZy5mb3JtKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZWRGb3JtLmFkZENvbnRyb2woc2V0dGluZy5sYWJlbCwgc2V0dGluZy5mb3JtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0dGluZy51cGRhdGVWYWx1ZUluQ29tcG9uZW50ID0gdGhpcy5sYXRlc3RGb3JtVXBkYXRlVmFsdWVJbkNvbXBvbmVudDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGlzY2FyZEFsbENoaWxkRm9ybXMoKSB7XHJcbiAgICAgICAgLy8gRm9yIHRoZSBjdXJyZW50IGFjdGl2ZSBzZXR0aW5nLCB3ZSBuZWVkIHRvIHJlc2V0IHRoZSBmb3JtIHRvIGl0c1xyXG4gICAgICAgIC8vIG9yaWdpbmFsIHByaXN0aW5lIGZvcm0gd2hlbiBkaXNjYXJkaW5nIGNoYW5nZXNcclxuICAgICAgICBjb25zdCBhY3RpdmVTZXR0aW5nID0gdGhpcy5nZXRBY3RpdmVTZXR0aW5nSXRlbSgpO1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmdXaXRoRm9ybSA9IDxDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0+YWN0aXZlU2V0dGluZztcclxuICAgICAgICBpZiAoc2V0dGluZ1dpdGhGb3JtLmZvcm0pIHtcclxuICAgICAgICAgICAgc2V0dGluZ1dpdGhGb3JtLmZvcm0ucmVzZXQodGhpcy5sYXRlc3RQcmlzdGluZUZvcm1WYWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNldHRpbmdzLmZvckVhY2goKG90aGVyU2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3RoZXJTZXR0aW5nICE9PSBhY3RpdmVTZXR0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvdGhlcnNldHRpbmdXaXRoRm9ybSA9IDxDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0+b3RoZXJTZXR0aW5nO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLnJlbW92ZUZvcm0ob3RoZXJzZXR0aW5nV2l0aEZvcm0uZm9ybSk7XHJcbiAgICAgICAgICAgICAgICBvdGhlcnNldHRpbmdXaXRoRm9ybS5mb3JtID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbWJpbmVkRm9ybS5jb250cm9sc1tvdGhlcnNldHRpbmdXaXRoRm9ybS5sYWJlbF0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbWJpbmVkRm9ybS5yZW1vdmVDb250cm9sKG90aGVyc2V0dGluZ1dpdGhGb3JtLmxhYmVsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhY2NlcHRBbGxDaGlsZEZvcm1zVmFsdWUoKSB7XHJcbiAgICAgICAgY29uc3QgYWN0aXZlU2V0dGluZyA9IHRoaXMuZ2V0QWN0aXZlU2V0dGluZ0l0ZW0oKTtcclxuICAgICAgICB0aGlzLnNldHRpbmdzLmZvckVhY2goKHNldHRpbmcpID0+IHtcclxuICAgICAgICAgICAgY29uc3Qgc2V0dGluZ1dpdGhGb3JtID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT5zZXR0aW5nO1xyXG4gICAgICAgICAgICBpZiAoc2V0dGluZ1dpdGhGb3JtLmZvcm0pIHtcclxuICAgICAgICAgICAgICAgIHNldHRpbmdXaXRoRm9ybS5mb3JtLnJlc2V0KHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoc2V0dGluZ1dpdGhGb3JtLmZvcm0pKTtcclxuICAgICAgICAgICAgICAgIGlmIChhY3RpdmVTZXR0aW5nID09PSBzZXR0aW5nV2l0aEZvcm0pIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhdGVzdFByaXN0aW5lRm9ybVZhbHVlID0gdGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShzZXR0aW5nV2l0aEZvcm0uZm9ybSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0U21lSWNvbkNsYXNzKHNldHRpbmc6IENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW0pIHtcclxuICAgICAgICBjb25zdCBuZ0NsYXNzUGFyYW1ldGVyID0ge307XHJcbiAgICAgICAgaWYgKHNldHRpbmcuc21lSWNvbkNsYXNzTmFtZSkge1xyXG4gICAgICAgICAgICBuZ0NsYXNzUGFyYW1ldGVyW3NldHRpbmcuc21lSWNvbkNsYXNzTmFtZV0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmdDbGFzc1BhcmFtZXRlcjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuRGVhY3RpdmF0ZShcclxuICAgICAgICBjb21wb25lbnQ6IENhbkNvbXBvbmVudERlYWN0aXZhdGUsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldHRpbmdzQ29tcG9uZW50LmNhbkRlYWN0aXZhdGUoY29tcG9uZW50LCByb3V0ZSwgc3RhdGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLWNvbW1vbi1zZXR0aW5ncycsXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIHRoZSBpZEJhZyB1c2VkIGJ5IHRoaXMgY29tcG9uZW50IHRvIHN0b3JlIHVuaXF1ZSBlbGVtZW50IGlkcy5cclxuICAgICAqIGlkIHZhbHVlcyB3aWxsIGJlIGFzc2lnbmVkIGJlIHRoZSBAc2VlIEJhc2VDb21wb25lbnQgc3VwZXIgY2xhc3MuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjcmVhdGVJZEJhZygpOiBNc2Z0U21lLlN0cmluZ01hcDxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBncm91cDogJycsXHJcbiAgICAgICAgICAgIG9wdGlvbjogJydcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRBY3RpdmVTZXR0aW5nSXRlbSgpOiBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtIHtcclxuICAgICAgICBpZiAodGhpcy5zZXR0aW5ncyAmJiB0aGlzLnNldHRpbmdzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBzZXR0aW5nIG9mIHRoaXMuc2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGV4dHJhcyA9IHNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihleHRyYXMsIHtcclxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxUcmVlID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShzZXR0aW5nLnJvdXRlUGFyYW1zLmNvbW1hbmRzLCBleHRyYXMpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucm91dGVyLmlzQWN0aXZlKHVybFRyZWUsIGZhbHNlKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTZXR0aW5nVGl0bGUgPSBzZXR0aW5nLmxhYmVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZXR0aW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uT3ZlcmxheUNsaWNrKGxheWVyOiBScGNEaWFsb2dPdmVybGF5RGF0YSk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGxheWVyUnBjID0gdGhpcy5hcHBDb250ZXh0LnJwYy5ycGNNYW5hZ2VyLnJwY0NoYW5uZWwuZ2V0UnBjPFJwY091dGJvdW5kPihcclxuICAgICAgICAgICAgbGF5ZXIuc291cmNlTmFtZSxcclxuICAgICAgICAgICAgbGF5ZXIuc291cmNlU3ViTmFtZSxcclxuICAgICAgICAgICAgUnBjVHlwZS5PdXRib3VuZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgZnJvbShScGNPdmVybGF5Q2xvc2VDbGllbnQub3ZlcmxheUNsb3NlKHRoaXMuYXBwQ29udGV4dC5ycGMsIHsgb3ZlcmxheTogZmFsc2UsIGRpYWxvZ0lkOiBsYXllci5kaWFsb2dJZCB9LCBsYXllclJwYykpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0Lm92ZXJsYXlDbG9zZWQgJiYgdGhpcy5sYXllcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IHRoaXMuYXBwQ29udGV4dC5ub3RpZmljYXRpb24uY3JlYXRlKG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbi5zaG93RXJyb3IodGhpcy5zdHJpbmdzLk1zZnRTbWVTaGVsbC5Bbmd1bGFyLk92ZXJsYXkuY2xvc2VFcnJvclRpdGxlLCBOZXQuZ2V0RXJyb3JNZXNzYWdlKGVycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW1wdHkoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSBjdXJyZW50IGNvbnRyb2wgYW5kIGFsbCBpdHMgY2hpbGRyZW4gcmVjdXJzaXZlbGx5LFxyXG4gICAgICogaW5jbHVkaW5nIGRpc2FibGVkIGNvbnRyb2xzLlxyXG4gICAgICpcclxuICAgICAqIFdvcmthcm91bmQgZm9yIG1pc3NpbmcgZnVuY3Rpb25hbGl0eSBhZGRlZCBpbiBsYXRlciB2ZXJzaW9ucyBvZiBhbmd1bGFyXHJcbiAgICAgKiBDdXJyZW50bHkgZ2V0UmF3VmFsdWUgb25seSByZXR1cm5zIHRoZSB2YWx1ZSBvZiBodGUgY3VycmVudCBjb250cm9sIGRpc2FibGVkXHJcbiAgICAgKiBjaGlsZHJlbiBidXQgb25seSBlbmFibGVkIGNvbnRyb2xzIG9mIG90aGVyIGRlc2NlbmRhbnRzOlxyXG4gICAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9jb21taXQvMWVjZTczNjZjOGI2N2YzODdmYmUxM2Y4ZDEyOGMxOWY0YzUwZGQxOVxyXG4gICAgICpcclxuICAgICAqIE9uY2Ugd2UgdXBncmFkZSBhbmd1bGFyIHZlcnNpb24gd2UgY2FuIHJlbW92ZSB0aGlzIGNvZGUuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGZvcm1Db250cm9sIFRoZSBmb3JtIGNvbnRyb2wgdG8gZ2V0IHRoZSB2YWx1ZSBmcm9tXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZ2V0UmF3VmFsdWVSZWN1cnNpdmUoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IGFueSB7XHJcbiAgICAgICAgaWYgKGZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0ge307XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm1Db250cm9sLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gdGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShmb3JtQ29udHJvbC5jb250cm9sc1trZXldKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAoZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sLmNvbnRyb2xzLm1hcCgoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShjb250cm9sKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICB9XHJcbn1cclxuIiwiPHNtZS1zZXR0aW5ncyBbc2V0dGluZ3NUaXRsZV09XCJoYWNrVG9vbEhlYWRlciA/ICcnIDogc2V0dGluZ3NUaXRsZVwiPlxyXG4gIDxzbWUtc2V0dGluZ3MtbmF2aWdhdGlvbj5cclxuICAgIDxoZWFkZXIgY2xhc3M9XCJzbWUtbGF5b3V0LXRvb2wtaGVhZGVyXCIgKm5nSWY9XCJoYWNrVG9vbEhlYWRlclwiPlxyXG4gICAgICA8aDIgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1mb250LWgzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzZXR0aW5nc1RpdGxlXCI+e3tzZXR0aW5nc1RpdGxlfX08L2gyPlxyXG4gICAgPC9oZWFkZXI+XHJcbiAgICA8bmF2IHJvbGU9XCJ0YWJsaXN0XCIgY2xhc3M9XCJzbWUtcGFkZGluZy1ob3Jpem9udGFsLWxnIHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWZvY3VzLXpvbmVcIj5cclxuICAgICAgPHVsIGNsYXNzPVwic21lLXBvc2l0aW9uLWZsZXgtYXV0byBzbWUtYXJyYW5nZS1zdGFjay12IHNtZS1hcnJhbmdlLW92ZXJmbG93LWhpZGUteCBzbWUtYXJyYW5nZS1vdmVyZmxvdy1hdXRvLXlcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBncm91cCBvZiBncm91cFRvb2xzOyBsZXQgaiA9IGluZGV4XCIgY2xhc3M9XCJzbWUtbWFyZ2luLWluc2V0LW5vbmVcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgICAgICAgIDxoMyBbaWRdPVwiaWRCYWcuZ3JvdXAgKyAnLScgKyBqXCIgY2xhc3M9XCJzbWUtbWFyZ2luLXRvcC14cyBzbWUtZm9udC1oNVwiICpuZ0lmPVwiZ3JvdXAuZ3JvdXAhPT1kZWZhdWx0R3JvdXBcIiBbdGl0bGVdPVwiZ3JvdXAuZ3JvdXBcIj57e2dyb3VwLmdyb3VwfX08L2gzPlxyXG4gICAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgc2V0dGluZyBvZiBncm91cC5vcHRpb25zOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJzbWUtcGFkZGluZy1zcXVpc2gtdi1zbSBzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1zY2hlbWUtbmF2LWl0ZW1cIiByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgIGhyZWY9XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5yZXBsYWNlVXJsXCJcclxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJyb3V0ZXIuaXNBY3RpdmUoc2V0dGluZy5yb3V0ZVBhcmFtcy5jb21tYW5kc1swXSwgZmFsc2UpXCIgW3JvdXRlckxpbmtdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5jb21tYW5kc1wiIHJvdXRlckxpbmtBY3RpdmU9XCJzbWUtYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgW3ByZXNlcnZlRnJhZ21lbnRdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucHJlc2VydmVGcmFnbWVudFwiIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMuc2tpcExvY2F0aW9uQ2hhbmdlXCJcclxuICAgICAgICAgICAgICAgW3JlcGxhY2VVcmxdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucmVwbGFjZVVybFwiIFtxdWVyeVBhcmFtc109XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5xdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICAgICAgIFt0aXRsZV09XCJzZXR0aW5nLmxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsbGVkYnk9XCJ7e2lkQmFnLm9wdGlvbn19LXt7an19LXt7aX19IHt7aWRCYWcuZ3JvdXB9fS17e2p9fVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtaWNvbiBzbWUtbWFyZ2luLXJpZ2h0LXhzXCIgW25nQ2xhc3NdPVwiZ2V0U21lSWNvbkNsYXNzKHNldHRpbmcpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJpZEJhZy5vcHRpb24gKyAnLScgKyBqICsgJy0nICsgaVwiIFtjbGFzcy5zbWUtZGlydHldPVwiISEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIiBbY2xhc3Muc21lLXByaXN0aW5lXT1cIiEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIj57e3NldHRpbmcubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L25hdj5cclxuICAgIDxkaXYgKm5nSWY9XCJoYWNrU2hvd092ZXJsYXlcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgbGF5ZXIgb2YgbGF5ZXJzXCIgY2xhc3M9XCJzbWUtbGF5b3V0LWFic29sdXRlIHNtZS1wb3NpdGlvbi1pbnNldC1ub25lIHNtZS1sYXllci1hYm92ZSBzbWUtc2NoZW1lLWJhY2tkcm9wLW9wYXF1ZVwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cIm9uT3ZlcmxheUNsaWNrKGxheWVyKVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zbWUtc2V0dGluZ3MtbmF2aWdhdGlvbj5cclxuICA8c21lLXNldHRpbmdzLWhlYWRlciAqbmdJZj1cIiEhc2hvd0hlYWRlclwiPlxyXG4gICAgPGgzIGlkPVwic21lLXNoZWxsLXNldHRpbmctc2VsZWN0ZWRUaXRsZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2VsZWN0ZWRTZXR0aW5nVGl0bGVcIiAqbmdJZj1cIiEhZ2V0QWN0aXZlU2V0dGluZ0l0ZW0oKVwiPnt7c2VsZWN0ZWRTZXR0aW5nVGl0bGV9fTwvaDM+XHJcbiAgPC9zbWUtc2V0dGluZ3MtaGVhZGVyPlxyXG4gIDxzbWUtc2V0dGluZ3MtY29udGVudD5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L3NtZS1zZXR0aW5ncy1jb250ZW50PlxyXG4gIDxzbWUtc2V0dGluZ3MtZm9vdGVyPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvc21lLXNldHRpbmdzLWZvb3Rlcj5cclxuPC9zbWUtc2V0dGluZ3M+XHJcbiJdfQ==
428
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL3NldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3MvY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULFFBQVEsRUFDUixLQUFLLEVBRUwsZUFBZSxFQUlmLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsY0FBYyxFQUdkLE1BQU0sRUFFVCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUd0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFFaEYsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQTRCLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIs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QlUsYUFBYTtrQkFEbkIsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxlQUFlO2tCQURyQixLQUFLO1lBSUMsY0FBYztrQkFEcEIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLGlCQUFpQjtrQkFEdkIsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICAgIENvbXBvbmVudCxcclxuICAgIERvQ2hlY2ssXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgSXRlcmFibGVEaWZmZXIsXHJcbiAgICBJdGVyYWJsZURpZmZlcnMsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICAgIEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgIE5hdmlnYXRpb25FeHRyYXMsXHJcbiAgICBSb3V0ZXIsXHJcbiAgICBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmV0IH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kYXRhL25ldCc7XHJcbmltcG9ydCB7IFJwY092ZXJsYXlDbG9zZUNsaWVudCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL292ZXJsYXkvcnBjLW92ZXJsYXktY2xvc2UtY2xpZW50JztcclxuaW1wb3J0IHsgUnBjRGlhbG9nT3ZlcmxheURhdGEgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9vdmVybGF5L3JwYy1vdmVybGF5LW1vZGVsJztcclxuaW1wb3J0IHsgRGVmZXJyZWREYXRhIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9ycGMvcnBjJztcclxuaW1wb3J0IHsgUnBjVHlwZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL3JwYy1iYXNlJztcclxuaW1wb3J0IHsgUnBjT3V0Ym91bmQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9ycGMtb3V0Ym91bmQnO1xyXG5pbXBvcnQgeyBlbXB0eSwgZnJvbSwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9hcHAtY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUnBjU2hlbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9ycGMtc2hlbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4uL3NldHRpbmdzLWNhbi1kZWFjdGl2YXRlLWd1YXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuLi9zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtLCBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtV2l0aEZvcm0gfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy1uYXZpZ2F0aW9uLWl0ZW0nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFRvb2xzTWVudSB7XHJcbiAgICBncm91cDogc3RyaW5nO1xyXG4gICAgb3B0aW9uczogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtW107XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtY29tbW9uLXNldHRpbmdzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21tb25TZXR0aW5nc0NvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgRG9DaGVjaywgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ0NvbW1vblNldHRpbmdzQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29tYmluZWRGb3JtOiBGb3JtR3JvdXA7XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWRTZXR0aW5nVGl0bGU6IHN0cmluZztcclxuICAgIHB1YmxpYyByZWFkb25seSBkZWZhdWx0R3JvdXAgPSAnZGVmYXVsdCc7XHJcbiAgICBwdWJsaWMgZ3JvdXBUb29sczogR3JvdXBUb29sc01lbnVbXTtcclxuICAgIHB1YmxpYyBsYXllcnM6IFJwY0RpYWxvZ092ZXJsYXlEYXRhW10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzOiBDb21tb25TZXR0aW5nc05hdmlnYXRpb25JdGVtW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SGVhZGVyID0gdHJ1ZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGhhY2tTaG93T3ZlcmxheSA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgaGFja1Rvb2xIZWFkZXIgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBAVmlld0NoaWxkKFNldHRpbmdzQ29tcG9uZW50KVxyXG4gICAgcHVibGljIHNldHRpbmdzQ29tcG9uZW50OiBTZXR0aW5nc0NvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIGxhdGVzdEZvcm06IEZvcm1Hcm91cDtcclxuICAgIHByaXZhdGUgbGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWU6IGFueTtcclxuICAgIHByaXZhdGUgbGF0ZXN0Rm9ybVVwZGF0ZVZhbHVlSW5Db21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIHNldHRpbmdzRGlmZmVyOiBJdGVyYWJsZURpZmZlcjxhbnk+O1xyXG4gICAgcHJpdmF0ZSBhdXRvZm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBzZXR0aW5nc0Zvcm1zOiBTZXR0aW5nc0Zvcm1TZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXHJcbiAgICAgICAgcHJpdmF0ZSBhcHBDb250ZXh0OiBBcHBDb250ZXh0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJwY1NoZWxsU2VydmljZTogUnBjU2hlbGxTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0ZXMgd2UgZmlyc3QgcmVtb3ZlIHRoZSBmb3JtIGlmIGl0IGV4aXN0c1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0gPSBmb3JtQWRkZWREYXRhLmZvcm1Hcm91cDtcclxuICAgICAgICAgICAgdGhpcy5sYXRlc3RQcmlzdGluZUZvcm1WYWx1ZSA9IHRoaXMuZ2V0UmF3VmFsdWVSZWN1cnNpdmUoZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50ID0gZm9ybUFkZGVkRGF0YS51cGRhdGVWYWx1ZUluQ29tcG9uZW50O1xyXG4gICAgICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgICAgICB9KSk7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG5cclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaGFja1Nob3dPdmVybGF5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMucnBjU2hlbGxTZXJ2aWNlLm92ZXJsYXlPcGVuU3ViamVjdFxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVmZXJyZWREYXRhOiBEZWZlcnJlZERhdGE8UnBjRGlhbG9nT3ZlcmxheURhdGEsIHZvaWQ+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb3ZlcmxheSB0b29scyB3aXRoIG9uZSBtb3JlIGxheWVyIG9yIHJlbW92ZSBvbmUgZnJvbSB0b3BcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZGVmZXJyZWREYXRhLmRhdGEub3ZlcmxheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wdXNoKGRlZmVycmVkRGF0YS5kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGF5ZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXllcnMucG9wKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdScGMgT3ZlcmxheUNsb3NlOiBjbG9zZSByZXF1ZXN0IGlzIGNhbGxlZCB3aGlsZSBsYXllciBpcyBubyBsb25nZXIgYXZhaWxhYmxlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmVycmVkRGF0YS5kZWZlcnJlZC5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMuc2V0dGluZ3MpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0RpZmZlciA9IHRoaXMuaXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5zZXR0aW5ncykuY3JlYXRlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICB0aGlzLnJlY2FsY3VsYXRlQWN0aXZlUGFuZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdEb0NoZWNrKCkge1xyXG4gICAgICAgIHN1cGVyLm5nRG9DaGVjaygpO1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzRGlmZmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLnNldHRpbmdzRGlmZmVyLmRpZmYodGhpcy5zZXR0aW5ncyk7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU1lbnUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmF1dG9mb2N1cykge1xyXG4gICAgICAgICAgICBjb25zdCBmb2N1c0VsZW1lbnRzID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tyb2xlPVwidGFiXCJdJyk7XHJcbiAgICAgICAgICAgIGlmIChmb2N1c0VsZW1lbnRzICYmIGZvY3VzRWxlbWVudHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBmb2N1c0VsZW1lbnRzWzBdLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjcmVhdGVNZW51KCkge1xyXG4gICAgICAgIGNvbnN0IGdyb3VwVG9vbHM6IEdyb3VwVG9vbHNNZW51W10gPSBbXTtcclxuICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10gPSB7IGdyb3VwOiAnZGVmYXVsdCcsIG9wdGlvbnM6IFtdIH07XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5mb3JFYWNoKChzZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghISFzZXR0aW5nLmdyb3VwKSB7XHJcbiAgICAgICAgICAgICAgICBncm91cFRvb2xzWydkZWZhdWx0J10ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgaWYgKCEhIWdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBncm91cFRvb2xzW3NldHRpbmcuZ3JvdXBdID0geyBncm91cDogc2V0dGluZy5ncm91cCwgdGl0bGU6IHNldHRpbmcuZ3JvdXBUaXRsZSwgb3B0aW9uczogW10gfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGdyb3VwVG9vbHNbc2V0dGluZy5ncm91cF0ub3B0aW9ucy5wdXNoKHNldHRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFRvb2xzID0gW107XHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIGdyb3VwVG9vbHMpIHtcclxuICAgICAgICAgICAgaWYgKHByb3ApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZ3JvdXBUb29scy5wdXNoKGdyb3VwVG9vbHNbcHJvcF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZWNhbGN1bGF0ZUFjdGl2ZVBhbmVsKCkge1xyXG4gICAgICAgIGNvbnN0IHNldHRpbmcgPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnRoaXMuZ2V0QWN0aXZlU2V0dGluZ0l0ZW0oKTtcclxuICAgICAgICBpZiAoTXNmdFNtZS5pc051bGxPclVuZGVmaW5lZChzZXR0aW5nKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSkge1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKHNldHRpbmcuZm9ybSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2V0dGluZy51cGRhdGVWYWx1ZUluQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMubmV3Rm9ybVZhbHVlKHNldHRpbmcuZm9ybSwgZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGF0ZXN0Rm9ybS5zZXRWYWx1ZShmb3JtVmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxhdGVzdEZvcm0ubWFya0FzRGlydHkoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5yZW1vdmVGb3JtKHNldHRpbmcuZm9ybSk7XHJcbiAgICAgICAgc2V0dGluZy5mb3JtID0gdGhpcy5sYXRlc3RGb3JtO1xyXG5cclxuICAgICAgICBpZiAoc2V0dGluZy5mb3JtKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbWJpbmVkRm9ybS5jb250cm9sc1tzZXR0aW5nLmxhYmVsXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0uc2V0Q29udHJvbChzZXR0aW5nLmxhYmVsLCBzZXR0aW5nLmZvcm0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21iaW5lZEZvcm0uYWRkQ29udHJvbChzZXR0aW5nLmxhYmVsLCBzZXR0aW5nLmZvcm0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXR0aW5nLnVwZGF0ZVZhbHVlSW5Db21wb25lbnQgPSB0aGlzLmxhdGVzdEZvcm1VcGRhdGVWYWx1ZUluQ29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkaXNjYXJkQWxsQ2hpbGRGb3JtcygpIHtcclxuICAgICAgICAvLyBGb3IgdGhlIGN1cnJlbnQgYWN0aXZlIHNldHRpbmcsIHdlIG5lZWQgdG8gcmVzZXQgdGhlIGZvcm0gdG8gaXRzXHJcbiAgICAgICAgLy8gb3JpZ2luYWwgcHJpc3RpbmUgZm9ybSB3aGVuIGRpc2NhcmRpbmcgY2hhbmdlc1xyXG4gICAgICAgIGNvbnN0IGFjdGl2ZVNldHRpbmcgPSB0aGlzLmdldEFjdGl2ZVNldHRpbmdJdGVtKCk7XHJcbiAgICAgICAgY29uc3Qgc2V0dGluZ1dpdGhGb3JtID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT5hY3RpdmVTZXR0aW5nO1xyXG4gICAgICAgIGlmIChzZXR0aW5nV2l0aEZvcm0uZm9ybSkge1xyXG4gICAgICAgICAgICBzZXR0aW5nV2l0aEZvcm0uZm9ybS5yZXNldCh0aGlzLmxhdGVzdFByaXN0aW5lRm9ybVZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgob3RoZXJTZXR0aW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChvdGhlclNldHRpbmcgIT09IGFjdGl2ZVNldHRpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG90aGVyc2V0dGluZ1dpdGhGb3JtID0gPENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW1XaXRoRm9ybT5vdGhlclNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMucmVtb3ZlRm9ybShvdGhlcnNldHRpbmdXaXRoRm9ybS5mb3JtKTtcclxuICAgICAgICAgICAgICAgIG90aGVyc2V0dGluZ1dpdGhGb3JtLmZvcm0gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29tYmluZWRGb3JtLmNvbnRyb2xzW290aGVyc2V0dGluZ1dpdGhGb3JtLmxhYmVsXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29tYmluZWRGb3JtLnJlbW92ZUNvbnRyb2wob3RoZXJzZXR0aW5nV2l0aEZvcm0ubGFiZWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFjY2VwdEFsbENoaWxkRm9ybXNWYWx1ZSgpIHtcclxuICAgICAgICBjb25zdCBhY3RpdmVTZXR0aW5nID0gdGhpcy5nZXRBY3RpdmVTZXR0aW5nSXRlbSgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuZm9yRWFjaCgoc2V0dGluZykgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzZXR0aW5nV2l0aEZvcm0gPSA8Q29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbVdpdGhGb3JtPnNldHRpbmc7XHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5nV2l0aEZvcm0uZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgc2V0dGluZ1dpdGhGb3JtLmZvcm0ucmVzZXQodGhpcy5nZXRSYXdWYWx1ZVJlY3Vyc2l2ZShzZXR0aW5nV2l0aEZvcm0uZm9ybSkpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVNldHRpbmcgPT09IHNldHRpbmdXaXRoRm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGF0ZXN0UHJpc3RpbmVGb3JtVmFsdWUgPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKHNldHRpbmdXaXRoRm9ybS5mb3JtKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRTbWVJY29uQ2xhc3Moc2V0dGluZzogQ29tbW9uU2V0dGluZ3NOYXZpZ2F0aW9uSXRlbSkge1xyXG4gICAgICAgIGNvbnN0IG5nQ2xhc3NQYXJhbWV0ZXIgPSB7fTtcclxuICAgICAgICBpZiAoc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lKSB7XHJcbiAgICAgICAgICAgIG5nQ2xhc3NQYXJhbWV0ZXJbc2V0dGluZy5zbWVJY29uQ2xhc3NOYW1lXSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZ0NsYXNzUGFyYW1ldGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjYW5EZWFjdGl2YXRlKFxyXG4gICAgICAgIGNvbXBvbmVudDogQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSxcclxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCxcclxuICAgICAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2V0dGluZ3NDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NDb21wb25lbnQuY2FuRGVhY3RpdmF0ZShjb21wb25lbnQsIHJvdXRlLCBzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtY29tbW9uLXNldHRpbmdzJyxcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgdGhlIGlkQmFnIHVzZWQgYnkgdGhpcyBjb21wb25lbnQgdG8gc3RvcmUgdW5pcXVlIGVsZW1lbnQgaWRzLlxyXG4gICAgICogaWQgdmFsdWVzIHdpbGwgYmUgYXNzaWduZWQgYmUgdGhlIEBzZWUgQmFzZUNvbXBvbmVudCBzdXBlciBjbGFzcy5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUlkQmFnKCk6IE1zZnRTbWUuU3RyaW5nTWFwPHN0cmluZz4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGdyb3VwOiAnJyxcclxuICAgICAgICAgICAgb3B0aW9uOiAnJ1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEFjdGl2ZVNldHRpbmdJdGVtKCk6IENvbW1vblNldHRpbmdzTmF2aWdhdGlvbkl0ZW0ge1xyXG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdzICYmIHRoaXMuc2V0dGluZ3MubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNldHRpbmcgb2YgdGhpcy5zZXR0aW5ncykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0cmFzID0gc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgfHwge307XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGV4dHJhcywge1xyXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuYWN0aXZhdGVkUm91dGVcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFRyZWUgPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKHNldHRpbmcucm91dGVQYXJhbXMuY29tbWFuZHMsIGV4dHJhcyk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIuaXNBY3RpdmUodXJsVHJlZSwgZmFsc2UpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNldHRpbmdUaXRsZSA9IHNldHRpbmcubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb25PdmVybGF5Q2xpY2sobGF5ZXI6IFJwY0RpYWxvZ092ZXJsYXlEYXRhKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbGF5ZXJScGMgPSB0aGlzLmFwcENvbnRleHQucnBjLnJwY01hbmFnZXIucnBjQ2hhbm5lbC5nZXRScGM8UnBjT3V0Ym91bmQ+KFxyXG4gICAgICAgICAgICBsYXllci5zb3VyY2VOYW1lLFxyXG4gICAgICAgICAgICBsYXllci5zb3VyY2VTdWJOYW1lLFxyXG4gICAgICAgICAgICBScGNUeXBlLk91dGJvdW5kXHJcbiAgICAgICAgKTtcclxuICAgICAgICBmcm9tKFJwY092ZXJsYXlDbG9zZUNsaWVudC5vdmVybGF5Q2xvc2UodGhpcy5hcHBDb250ZXh0LnJwYywgeyBvdmVybGF5OiBmYWxzZSwgZGlhbG9nSWQ6IGxheWVyLmRpYWxvZ0lkIH0sIGxheWVyUnBjKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQub3ZlcmxheUNsb3NlZCAmJiB0aGlzLmxheWVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5ZXJzLnBvcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gdGhpcy5hcHBDb250ZXh0Lm5vdGlmaWNhdGlvbi5jcmVhdGUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uLnNob3dFcnJvcih0aGlzLnN0cmluZ3MuTXNmdFNtZVNoZWxsLkFuZ3VsYXIuT3ZlcmxheS5jbG9zZUVycm9yVGl0bGUsIE5ldC5nZXRFcnJvck1lc3NhZ2UoZXJyb3IpKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sYXllcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheWVycy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udHJvbCBhbmQgYWxsIGl0cyBjaGlsZHJlbiByZWN1cnNpdmVsbHksXHJcbiAgICAgKiBpbmNsdWRpbmcgZGlzYWJsZWQgY29udHJvbHMuXHJcbiAgICAgKlxyXG4gICAgICogV29ya2Fyb3VuZCBmb3IgbWlzc2luZyBmdW5jdGlvbmFsaXR5IGFkZGVkIGluIGxhdGVyIHZlcnNpb25zIG9mIGFuZ3VsYXJcclxuICAgICAqIEN1cnJlbnRseSBnZXRSYXdWYWx1ZSBvbmx5IHJldHVybnMgdGhlIHZhbHVlIG9mIGh0ZSBjdXJyZW50IGNvbnRyb2wgZGlzYWJsZWRcclxuICAgICAqIGNoaWxkcmVuIGJ1dCBvbmx5IGVuYWJsZWQgY29udHJvbHMgb2Ygb3RoZXIgZGVzY2VuZGFudHM6XHJcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2NvbW1pdC8xZWNlNzM2NmM4YjY3ZjM4N2ZiZTEzZjhkMTI4YzE5ZjRjNTBkZDE5XHJcbiAgICAgKlxyXG4gICAgICogT25jZSB3ZSB1cGdyYWRlIGFuZ3VsYXIgdmVyc2lvbiB3ZSBjYW4gcmVtb3ZlIHRoaXMgY29kZS5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gZm9ybUNvbnRyb2wgVGhlIGZvcm0gY29udHJvbCB0byBnZXQgdGhlIHZhbHVlIGZyb21cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRSYXdWYWx1ZVJlY3Vyc2l2ZShmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sKTogYW55IHtcclxuICAgICAgICBpZiAoZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB7fTtcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMoZm9ybUNvbnRyb2wuY29udHJvbHMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgICAgICAgIHZhbHVlW2tleV0gPSB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKGZvcm1Db250cm9sLmNvbnRyb2xzW2tleV0pO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChmb3JtQ29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wuY29udHJvbHMubWFwKChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFJhd1ZhbHVlUmVjdXJzaXZlKGNvbnRyb2wpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbC52YWx1ZTtcclxuICAgIH1cclxufVxyXG4iLCI8c21lLXNldHRpbmdzIFtzZXR0aW5nc1RpdGxlXT1cImhhY2tUb29sSGVhZGVyID8gJycgOiBzZXR0aW5nc1RpdGxlXCI+XHJcbiAgPHNtZS1zZXR0aW5ncy1uYXZpZ2F0aW9uPlxyXG4gICAgPGhlYWRlciBjbGFzcz1cInNtZS1sYXlvdXQtdG9vbC1oZWFkZXJcIiAqbmdJZj1cImhhY2tUb29sSGVhZGVyXCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWZvbnQtaDNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzVGl0bGVcIj57e3NldHRpbmdzVGl0bGV9fTwvaDI+XHJcbiAgICA8L2hlYWRlcj5cclxuICAgIDxkaXYgcm9sZT1cInJlZ2lvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2V0dGluZ3NUaXRsZVwiPlxyXG4gICAgICA8bmF2IHJvbGU9XCJ0YWJsaXN0XCIgY2xhc3M9XCJzbWUtcGFkZGluZy1ob3Jpem9udGFsLWxnIHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWZvY3VzLXpvbmVcIj5cclxuICAgICAgICA8dWwgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1hcnJhbmdlLXN0YWNrLXYgc21lLWFycmFuZ2Utb3ZlcmZsb3ctaGlkZS14IHNtZS1hcnJhbmdlLW92ZXJmbG93LWF1dG8teVwiXHJcbiAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCI+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwVG9vbHM7IGxldCBqID0gaW5kZXhcIiBjbGFzcz1cInNtZS1tYXJnaW4taW5zZXQtbm9uZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cclxuICAgICAgICAgICAgPGgzIFtpZF09XCJpZEJhZy5ncm91cCArICctJyArIGpcIiBjbGFzcz1cInNtZS1tYXJnaW4tdG9wLXhzIHNtZS1mb250LWg1XCIgKm5nSWY9XCJncm91cC5ncm91cCE9PWRlZmF1bHRHcm91cFwiXHJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cImdyb3VwLmdyb3VwXCI+e3tncm91cC5ncm91cH19PC9oMz5cclxuICAgICAgICAgICAgPGEgKm5nRm9yPVwibGV0IHNldHRpbmcgb2YgZ3JvdXAub3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzbWUtcGFkZGluZy1zcXVpc2gtdi1zbSBzbWUtYXJyYW5nZS1zdGFjay1oIHNtZS1zY2hlbWUtbmF2LWl0ZW1cIiByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICBocmVmPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucmVwbGFjZVVybFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJyb3V0ZXIuaXNBY3RpdmUoc2V0dGluZy5yb3V0ZVBhcmFtcy5jb21tYW5kc1swXSwgZmFsc2UpXCJcclxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmNvbW1hbmRzXCIgcm91dGVyTGlua0FjdGl2ZT1cInNtZS1hY3RpdmVcIlxyXG4gICAgICAgICAgICAgIFtwcmVzZXJ2ZUZyYWdtZW50XT1cInNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzICYmIHNldHRpbmcucm91dGVQYXJhbXMuZXh0cmFzLnByZXNlcnZlRnJhZ21lbnRcIlxyXG4gICAgICAgICAgICAgIFtza2lwTG9jYXRpb25DaGFuZ2VdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMuc2tpcExvY2F0aW9uQ2hhbmdlXCJcclxuICAgICAgICAgICAgICBbcmVwbGFjZVVybF09XCJzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcyAmJiBzZXR0aW5nLnJvdXRlUGFyYW1zLmV4dHJhcy5yZXBsYWNlVXJsXCJcclxuICAgICAgICAgICAgICBbcXVlcnlQYXJhbXNdPVwic2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMgJiYgc2V0dGluZy5yb3V0ZVBhcmFtcy5leHRyYXMucXVlcnlQYXJhbXNcIlxyXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJzZXR0aW5nLmxhYmVsXCIgYXR0ci5hcmlhLWxhYmVsbGVkYnk9XCJ7e2lkQmFnLm9wdGlvbn19LXt7an19LXt7aX19IHt7aWRCYWcuZ3JvdXB9fS17e2p9fVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtaWNvbiBzbWUtbWFyZ2luLXJpZ2h0LXhzXCIgW25nQ2xhc3NdPVwiZ2V0U21lSWNvbkNsYXNzKHNldHRpbmcpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIFtpZF09XCJpZEJhZy5vcHRpb24gKyAnLScgKyBqICsgJy0nICsgaVwiIFtjbGFzcy5zbWUtZGlydHldPVwiISEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIlxyXG4gICAgICAgICAgICAgICAgICBbY2xhc3Muc21lLXByaXN0aW5lXT1cIiEoc2V0dGluZy5mb3JtICYmIHNldHRpbmcuZm9ybS5kaXJ0eSlcIj57e3NldHRpbmcubGFiZWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICA8L25hdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImhhY2tTaG93T3ZlcmxheVwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsYXllciBvZiBsYXllcnNcIlxyXG4gICAgICAgIGNsYXNzPVwic21lLWxheW91dC1hYnNvbHV0ZSBzbWUtcG9zaXRpb24taW5zZXQtbm9uZSBzbWUtbGF5ZXItYWJvdmUgc21lLXNjaGVtZS1iYWNrZHJvcC1vcGFxdWVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbk92ZXJsYXlDbGljayhsYXllcilcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc21lLXNldHRpbmdzLW5hdmlnYXRpb24+XHJcbiAgPHNtZS1zZXR0aW5ncy1oZWFkZXIgKm5nSWY9XCIhIXNob3dIZWFkZXJcIj5cclxuICAgIDxoMyBpZD1cInNtZS1zaGVsbC1zZXR0aW5nLXNlbGVjdGVkVGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNlbGVjdGVkU2V0dGluZ1RpdGxlXCIgKm5nSWY9XCIhIWdldEFjdGl2ZVNldHRpbmdJdGVtKClcIj5cclxuICAgICAge3tzZWxlY3RlZFNldHRpbmdUaXRsZX19PC9oMz5cclxuICA8L3NtZS1zZXR0aW5ncy1oZWFkZXI+XHJcbiAgPHNtZS1zZXR0aW5ncy1jb250ZW50PlxyXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvc21lLXNldHRpbmdzLWNvbnRlbnQ+XHJcbiAgPHNtZS1zZXR0aW5ncy1mb290ZXI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgPC9zbWUtc2V0dGluZ3MtZm9vdGVyPlxyXG48L3NtZS1zZXR0aW5ncz4iXX0=
@@ -17,7 +17,8 @@ export class SettingsContentComponent extends CoreBaseComponent {
17
17
  */
18
18
  getInitialHostClasses() {
19
19
  return super.getInitialHostClasses().concat([
20
- 'sme-settings-content'
20
+ 'sme-settings-content',
21
+ 'sme-position-stretch'
21
22
  ]);
22
23
  }
23
24
  }
@@ -33,4 +34,4 @@ export class SettingsContentComponent extends CoreBaseComponent {
33
34
  template: '<ng-content></ng-content>'
34
35
  }]
35
36
  }], function () { return [{ type: i0.Injector }]; }, null); })();
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9zZXR0aW5ncy9zZXR0aW5ncy1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTTdELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFTM0QsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQVREOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8sMEJBQTBCLENBQUM7SUFDdEMsQ0FBQztJQU1EOztPQUVHO0lBQ08scUJBQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hDLHNCQUFzQjtTQUN6QixDQUFDLENBQUM7SUFDUCxDQUFDOzttSEFwQlEsd0JBQXdCO2dGQUF4Qix3QkFBd0I7O1FBRnRCLGtCQUF5Qjs7dUZBRTNCLHdCQUF3QjtjQUpwQyxTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLDJCQUEyQjthQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NtZS1zZXR0aW5ncy1jb250ZW50JyxcclxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PidcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29udGVudENvbXBvbmVudCBleHRlbmRzIENvcmVCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnU2V0dGluZ3NDb250ZW50Q29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLXNldHRpbmdzLWNvbnRlbnQnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcbn1cclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy9zZXR0aW5ncy9zZXR0aW5ncy1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTTdELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxpQkFBaUI7SUFTM0QsWUFBWSxRQUFrQjtRQUMxQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQVREOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8sMEJBQTBCLENBQUM7SUFDdEMsQ0FBQztJQU1EOztPQUVHO0lBQ08scUJBQXFCO1FBQzNCLE9BQU8sS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3hDLHNCQUFzQjtZQUN0QixzQkFBc0I7U0FDekIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBckJRLHdCQUF3QjtnRkFBeEIsd0JBQXdCOztRQUZ0QixrQkFBeUI7O3VGQUUzQix3QkFBd0I7Y0FKcEMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRSwyQkFBMkI7YUFDeEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tbW9uL2Jhc2UuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtc2V0dGluZ3MtY29udGVudCcsXHJcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1NldHRpbmdzQ29udGVudENvbXBvbmVudCc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyB0aGUgaW5pdGlhbCBob3N0IGNsYXNzZXMgdG8gYmUgYXBwbGllZCB0byB0aGlzIGVsZW1lbnRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldEluaXRpYWxIb3N0Q2xhc3NlcygpIHtcclxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkuY29uY2F0KFtcclxuICAgICAgICAgICAgJ3NtZS1zZXR0aW5ncy1jb250ZW50JyxcclxuICAgICAgICAgICAgJ3NtZS1wb3NpdGlvbi1zdHJldGNoJ1xyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,16 +1,20 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, Injector, Input } from '@angular/core';
2
+ import { Component, Injector, Input, ViewChild } from '@angular/core';
3
3
  import { map } from 'rxjs/operators';
4
4
  import { CoreBaseComponent } from '../common/base.component';
5
5
  import { SmeInject } from '../common/decorators/injection.decorators';
6
6
  import { DialogService } from '../dialog/dialog.service';
7
+ import { LayoutComponent } from '../layout/layout.component';
7
8
  import { SettingsFormService } from './settings-form.service';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@angular/common";
10
- import * as i2 from "../tooltip/tooltip.directive";
11
+ import * as i2 from "../layout/layout.component";
12
+ import * as i3 from "../layout/layout-definition.component";
13
+ import * as i4 from "../layout/layout-item.component";
14
+ import * as i5 from "../tooltip/tooltip.directive";
11
15
  function SettingsComponent_div_1_Template(rf, ctx) { if (rf & 1) {
12
- i0.ɵɵelementStart(0, "div", 4);
13
- i0.ɵɵelementStart(1, "h2", 5);
16
+ i0.ɵɵelementStart(0, "div", 8);
17
+ i0.ɵɵelementStart(1, "h2", 9);
14
18
  i0.ɵɵtext(2);
15
19
  i0.ɵɵelementEnd();
16
20
  i0.ɵɵelementEnd();
@@ -95,25 +99,50 @@ export class SettingsComponent extends CoreBaseComponent {
95
99
  'sme-settings'
96
100
  ]);
97
101
  }
102
+ isPaddingRequired() {
103
+ if (this.layoutComponent && this.layoutComponent.currentLayoutDefinition) {
104
+ return this.addPadding = this.layoutComponent.currentLayoutDefinition.name === 'narrow';
105
+ }
106
+ }
98
107
  }
99
108
  /** @nocollapse */ SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { return new (t || SettingsComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
100
- /** @nocollapse */ SettingsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SettingsComponent, selectors: [["sme-settings"]], inputs: { backRoute: "backRoute", settingsTitle: "settingsTitle" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 8, vars: 1, consts: [[1, "sme-arrange-stack-v", "sme-layout-absolute", "sme-position-inset-none", "sme-layout-responsive-zone-md"], ["class", " sme-layout-tool-header sme-position-flex-none sme-arrange-ellipsis", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-arrange-stack-h"], [1, "sme-position-flex-auto", "sme-arrange-stack-v"], [1, "sme-layout-tool-header", "sme-position-flex-none", "sme-arrange-ellipsis"], [1, "sme-font-h3", 3, "title"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
109
+ /** @nocollapse */ SettingsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SettingsComponent, selectors: [["sme-settings"]], viewQuery: function SettingsComponent_Query(rf, ctx) { if (rf & 1) {
110
+ i0.ɵɵviewQuery(LayoutComponent, 1);
111
+ } if (rf & 2) {
112
+ let _t;
113
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.layoutComponent = _t.first);
114
+ } }, inputs: { backRoute: "backRoute", settingsTitle: "settingsTitle" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 12, vars: 8, consts: [[1, "sme-arrange-stack-v", "sme-layout-relative", "sme-arrange-overflow-auto-y", "sme-position-stretch"], ["class", " sme-layout-tool-header sme-position-flex-none sme-arrange-ellipsis", 4, "ngIf"], [1, "sme-position-flex-auto", "sme-arrange-overflow-auto", 3, "padLastItem", "layoutChanged"], ["layout", ""], ["name", "narrow", 3, "until", "columns"], ["name", "wide", 3, "columns"], [3, "columnSpan"], [3, "columnSpan", "ngClass"], [1, "sme-layout-tool-header", "sme-position-flex-none", "sme-arrange-ellipsis"], [1, "sme-font-h3", 3, "title"]], template: function SettingsComponent_Template(rf, ctx) { if (rf & 1) {
101
115
  i0.ɵɵprojectionDef(_c0);
102
116
  i0.ɵɵelementStart(0, "div", 0);
103
117
  i0.ɵɵtemplate(1, SettingsComponent_div_1_Template, 3, 3, "div", 1);
104
- i0.ɵɵelementStart(2, "div", 2);
105
- i0.ɵɵprojection(3);
106
- i0.ɵɵelementStart(4, "div", 3);
107
- i0.ɵɵprojection(5, 1);
108
- i0.ɵɵprojection(6, 2);
109
- i0.ɵɵprojection(7, 3);
118
+ i0.ɵɵelementStart(2, "sme-layout", 2, 3);
119
+ i0.ɵɵlistener("layoutChanged", function SettingsComponent_Template_sme_layout_layoutChanged_2_listener() { return ctx.isPaddingRequired(); });
120
+ i0.ɵɵelement(4, "sme-layout-definition", 4);
121
+ i0.ɵɵelement(5, "sme-layout-definition", 5);
122
+ i0.ɵɵelementStart(6, "sme-layout-item", 6);
123
+ i0.ɵɵprojection(7);
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(8, "sme-layout-item", 7);
126
+ i0.ɵɵprojection(9, 1);
127
+ i0.ɵɵprojection(10, 2);
128
+ i0.ɵɵprojection(11, 3);
110
129
  i0.ɵɵelementEnd();
111
130
  i0.ɵɵelementEnd();
112
131
  i0.ɵɵelementEnd();
113
132
  } if (rf & 2) {
114
133
  i0.ɵɵadvance(1);
115
134
  i0.ɵɵproperty("ngIf", ctx.settingsTitle);
116
- } }, directives: [i1.NgIf, i2.TooltipDirective], encapsulation: 2 });
135
+ i0.ɵɵadvance(1);
136
+ i0.ɵɵproperty("padLastItem", false);
137
+ i0.ɵɵadvance(2);
138
+ i0.ɵɵproperty("until", 800)("columns", 1);
139
+ i0.ɵɵadvance(1);
140
+ i0.ɵɵproperty("columns", 4);
141
+ i0.ɵɵadvance(1);
142
+ i0.ɵɵproperty("columnSpan", 1);
143
+ i0.ɵɵadvance(2);
144
+ i0.ɵɵproperty("columnSpan", 3)("ngClass", ctx.addPadding ? "sme-position-stretch sme-padding-left-xl" : "sme-position-stretch");
145
+ } }, directives: [i1.NgIf, i2.LayoutComponent, i3.LayoutDefinitionComponent, i4.LayoutItemComponent, i1.NgClass, i5.TooltipDirective], encapsulation: 2 });
117
146
  __decorate([
118
147
  SmeInject(SettingsFormService),
119
148
  __metadata("design:type", SettingsFormService)
@@ -132,5 +161,8 @@ __decorate([
132
161
  type: Input
133
162
  }], settingsTitle: [{
134
163
  type: Input
164
+ }], layoutComponent: [{
165
+ type: ViewChild,
166
+ args: [LayoutComponent]
135
167
  }], settingsForms: [], dialogService: [] }); })();
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSWhHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztJQ1IxRCw4QkFBdUc7SUFDbkcsNkJBQWtGO0lBQUEsWUFBaUI7SUFBQSxpQkFBSztJQUM1RyxpQkFBTTs7O0lBREUsZUFBdUI7SUFBdkIsNENBQXVCO0lBQUMsa0RBQWlDO0lBQXFCLGVBQWlCO0lBQWpCLDBDQUFpQjs7OztBRGEzRyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBNEJwRCxZQUFZLFFBQWtCO1FBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQXBCYixhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUUxQixjQUFTLEdBQUcsSUFBSSxDQUFDO0lBbUJ6QixDQUFDO0lBNUJEOztPQUVHO0lBQ0gsSUFBYyxhQUFhO1FBQ3ZCLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQXlCTSxRQUFRO1FBQ1gsS0FBSyxDQUFD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QkFBMkc7UUFDdkcsa0VBRU07UUFDTiw4QkFBd0Q7UUFDcEQsa0JBQTBEO1FBQzFELDhCQUF3RDtRQUNwRCxxQkFBc0Q7UUFDdEQscUJBQXVEO1FBQ3ZELHFCQUFzRDtRQUMxRCxpQkFBTTtRQUNWLGlCQUFNO1FBQ1YsaUJBQU07O1FBWGdGLGVBQW1CO1FBQW5CLHdDQUFtQjs7QURxQ3JHO0lBREMsU0FBUyxDQUFDLG1CQUFtQixDQUFDOzhCQUNULG1CQUFtQjt3REFBQztBQUcxQztJQURDLFNBQVMsQ0FBQyxhQUFhLENBQUM7OEJBQ0gsYUFBYTt3REFBQzt1RkExQjNCLGlCQUFpQjtjQUo3QixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFdBQVcsRUFBRSwyQkFBMkI7YUFDM0M7MkRBa0JVLFNBQVM7a0JBRGYsS0FBSztZQUlDLGFBQWE7a0JBRG5CLEtBQUs7WUFJQyxhQUFhLE1BR2IsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIE5hdmlnYXRpb25FeHRyYXMsIFJvdXRlclN0YXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ29yZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21tb24vYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWVJbmplY3QgfSBmcm9tICcuLi9jb21tb24vZGVjb3JhdG9ycy9pbmplY3Rpb24uZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYW5Db21wb25lbnREZWFjdGl2YXRlIH0gZnJvbSAnLi9zZXR0aW5ncy1jYW4tZGVhY3RpdmF0ZS1ndWFyZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtU2VydmljZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzbWUtc2V0dGluZ3MnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NDb21wb25lbnQgZXh0ZW5kcyBDb3JlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdDaGVja2VkIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzb3VyY2UgbmFtZSB0byB1c2UgZm9yIGxvZ2dpbmdcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldCBsb2dTb3VyY2VOYW1lKCkge1xyXG4gICAgICAgIHJldHVybiAnU2V0dGluZ3NDb21wb25lbnQnO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhbGxGb3JtczogRm9ybUdyb3VwW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIGF1dG9Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVwcmVjYXRlZCBBZGQgeW91ciBvd24gY3VzdG9tIGJhY2sgYnV0dG9uIGluIHRoZSBmb3JtXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmFja1JvdXRlOiB7IGNvbW1hbmRzOiBhbnlbXSwgZXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcyB9O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0dGluZ3NUaXRsZTogc3RyaW5nO1xyXG5cclxuICAgIEBTbWVJbmplY3QoU2V0dGluZ3NGb3JtU2VydmljZSlcclxuICAgIHB1YmxpYyBzZXR0aW5nc0Zvcm1zOiBTZXR0aW5nc0Zvcm1TZXJ2aWNlO1xyXG5cclxuICAgIEBTbWVJbmplY3QoRGlhbG9nU2VydmljZSlcclxuICAgIHB1YmxpYyBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuc3RvcFByb2Nlc3NpbmdFdmVudHMoKTtcclxuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuYWxsRm9ybXMuZm9yRWFjaCgoZm9ybSkgPT4gdGhpcy5hbGxGb3Jtcy5wdXNoKGZvcm0pKTtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmZvcm1BZGRlZCgpLnN1YnNjcmliZSgoZm9ybUFkZGVkRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gdG8gYXZvaWQgZHVwbGljYXRlcyB3ZSBmaXJzdCByZW1vdmUgdGhlIGZvcm0gaWYgaXQgZXhpc3RzXHJcbiAgICAgICAgICAgICAgICBNc2Z0U21lLnJlbW92ZSh0aGlzLmFsbEZvcm1zLCBmb3JtQWRkZWREYXRhLmZvcm1Hcm91cCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbEZvcm1zLnB1c2goZm9ybUFkZGVkRGF0YS5mb3JtR3JvdXApO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBuZXcgZm9ybSwgaXQgbWVhbnMgdGhlIHVzZXIgbmF2aWdhdGVkIHNvIHdlIHJlc2V0IHRoZSBhdXRvZm9jdXNcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuZm9ybVJlbW92ZWQoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAoZm9ybSkgPT4geyBNc2Z0U21lLnJlbW92ZSh0aGlzLmFsbEZvcm1zLCBmb3JtKTsgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuc3RhcnRQcm9jZXNzaW5nRXZlbnRzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNhbkRlYWN0aXZhdGUoXHJcbiAgICAgICAgY29tcG9uZW50OiBDYW5Db21wb25lbnREZWFjdGl2YXRlLFxyXG4gICAgICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxyXG4gICAgICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbiAgICApOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBjb250aW51ZU5hdmlnYXRpb246IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5hbGxGb3Jtcy5maXJzdCgoZm9ybSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZm9ybS5kaXJ0eSkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWVOYXZpZ2F0aW9uID0gdGhpcy5kaWFsb2dTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgLnNob3dDb25maXJtYXRpb24oY29tcG9uZW50LmNvbmZpcm1Db250aW51ZUVkaXRpbmdEaWFsb2dPcHRpb25zKGZvcm0sIHRoaXMuYWxsRm9ybXMpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGRlZmF1bHQgaXMgdG8gY29udGludWUgZWRpdGluZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlzY2FyZENoYW5nZXMgPSAhcmVzdWx0LmNvbmZpcm1lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaXNjYXJkQ2hhbmdlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5hbGxGb3JtcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkaXNjYXJkQ2hhbmdlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHdpdGggb25lIGRpcnR5IGZvcm0gaXMgZW5vdWdoIHRvIHNob3cgdGhlIGRpYWxvZywgbm8gbmVlZCB0byBpdGVyYXRlIG92ZXIgYWxsIHRoZSBvdGhlciBkaWFsb2dzXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gY29udGludWVOYXZpZ2F0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQW5ndWxhciBMaWZlIEN5Y2xlIGhvb2sgZm9yIEFmdGVyIFZpZXcgQ2hlY2tlZC5cclxuICAgICAqIFdoZW4gdGhlIHZpc2liaWxpdHkgY2hhbmdlcywgd2UgYXJlIGdvaW5nIHRvIGZvY3VzIG9uIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgaGFzIHRoZSBhdXRvZm9jdXMgYXR0cmlidXRlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdDaGVja2VkKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGF1dG9mb2N1c0VsZW1lbnQgPSB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW2F1dG9mb2N1c10nKTtcclxuICAgICAgICAgICAgaWYgKGF1dG9mb2N1c0VsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXV0b0ZvY3VzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBhdXRvZm9jdXNFbGVtZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBpbml0aWFsIGhvc3QgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoaXMgZWxlbWVudFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0SW5pdGlhbEhvc3RDbGFzc2VzKCkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5nZXRJbml0aWFsSG9zdENsYXNzZXMoKS5jb25jYXQoW1xyXG4gICAgICAgICAgICAnc21lLXNldHRpbmdzJ1xyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzbWUtYXJyYW5nZS1zdGFjay12IHNtZS1sYXlvdXQtYWJzb2x1dGUgc21lLXBvc2l0aW9uLWluc2V0LW5vbmUgc21lLWxheW91dC1yZXNwb25zaXZlLXpvbmUtbWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCIgc21lLWxheW91dC10b29sLWhlYWRlciBzbWUtcG9zaXRpb24tZmxleC1ub25lIHNtZS1hcnJhbmdlLWVsbGlwc2lzXCIgKm5nSWY9XCJzZXR0aW5nc1RpdGxlXCI+XHJcbiAgICAgICAgPGgyIFt0aXRsZV09XCJzZXR0aW5nc1RpdGxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzZXR0aW5nc1RpdGxlXCIgY2xhc3M9XCJzbWUtZm9udC1oM1wiPnt7c2V0dGluZ3NUaXRsZX19PC9oMj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2Utc3RhY2staFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1uYXZpZ2F0aW9uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzbWUtcG9zaXRpb24tZmxleC1hdXRvIHNtZS1hcnJhbmdlLXN0YWNrLXZcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1mb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0lDVDFELDhCQUF1RztJQUNuRyw2QkFBa0Y7SUFBQSxZQUFpQjtJQUFBLGlCQUFLO0lBQzVHLGlCQUFNOzs7SUFERSxlQUF1QjtJQUF2Qiw0Q0FBdUI7SUFBQyxrREFBaUM7SUFBcUIsZUFBaUI7SUFBakIsMENBQWlCOzs7O0FEYzNHLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFpQ3BELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBekJiLGFBQVEsR0FBZ0IsRUFBRSxDQUFDO1FBSTFCLGNBQVMsR0FBRyxJQUFJLENBQUM7SUFzQnpCLENBQUM7SUFqQ0Q7O09BRUc7SUFDSCxJQUFjLGFBQWE7UUFD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ZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0NoZWNrZWQsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgTmF2aWdhdGlvbkV4dHJhcywgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3JlQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbW1vbi9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNtZUluamVjdCB9IGZyb20gJy4uL2NvbW1vbi9kZWNvcmF0b3JzL2luamVjdGlvbi5kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FuQ29tcG9uZW50RGVhY3RpdmF0ZSB9IGZyb20gJy4vc2V0dGluZ3MtY2FuLWRlYWN0aXZhdGUtZ3VhcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybVNlcnZpY2UgfSBmcm9tICcuL3NldHRpbmdzLWZvcm0uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc21lLXNldHRpbmdzJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IGV4dGVuZHMgQ29yZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc291cmNlIG5hbWUgdG8gdXNlIGZvciBsb2dnaW5nXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXQgbG9nU291cmNlTmFtZSgpIHtcclxuICAgICAgICByZXR1cm4gJ1NldHRpbmdzQ29tcG9uZW50JztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWxsRm9ybXM6IEZvcm1Hcm91cFtdID0gW107XHJcblxyXG4gICAgcHVibGljIGFkZFBhZGRpbmc6IGJvb2xlYW47XHJcblxyXG4gICAgcHJpdmF0ZSBhdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlcHJlY2F0ZWQgQWRkIHlvdXIgb3duIGN1c3RvbSBiYWNrIGJ1dHRvbiBpbiB0aGUgZm9ybVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJhY2tSb3V0ZTogeyBjb21tYW5kczogYW55W10sIGV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXMgfTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldHRpbmdzVGl0bGU6IHN0cmluZztcclxuXHJcbiAgICBAVmlld0NoaWxkKExheW91dENvbXBvbmVudClcclxuICAgIHByaXZhdGUgbGF5b3V0Q29tcG9uZW50OiBMYXlvdXRDb21wb25lbnQ7XHJcblxyXG4gICAgQFNtZUluamVjdChTZXR0aW5nc0Zvcm1TZXJ2aWNlKVxyXG4gICAgcHVibGljIHNldHRpbmdzRm9ybXM6IFNldHRpbmdzRm9ybVNlcnZpY2U7XHJcblxyXG4gICAgQFNtZUluamVjdChEaWFsb2dTZXJ2aWNlKVxyXG4gICAgcHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5zdG9wUHJvY2Vzc2luZ0V2ZW50cygpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5hbGxGb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiB0aGlzLmFsbEZvcm1zLnB1c2goZm9ybSkpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzRm9ybXMuZm9ybUFkZGVkKCkuc3Vic2NyaWJlKChmb3JtQWRkZWREYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB0byBhdm9pZCBkdXBsaWNhdGVzIHdlIGZpcnN0IHJlbW92ZSB0aGUgZm9ybSBpZiBpdCBleGlzdHNcclxuICAgICAgICAgICAgICAgIE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm1BZGRlZERhdGEuZm9ybUdyb3VwKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRm9ybXMucHVzaChmb3JtQWRkZWREYXRhLmZvcm1Hcm91cCk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhIG5ldyBmb3JtLCBpdCBtZWFucyB0aGUgdXNlciBuYXZpZ2F0ZWQgc28gd2UgcmVzZXQgdGhlIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvRm9jdXMgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5mb3JtUmVtb3ZlZCgpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIChmb3JtKSA9PiB7IE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm0pOyB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGb3Jtcy5zdGFydFByb2Nlc3NpbmdFdmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY2FuRGVhY3RpdmF0ZShcclxuICAgICAgICBjb21wb25lbnQ6IENhbkNvbXBvbmVudERlYWN0aXZhdGUsXHJcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXHJcbiAgICAgICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcclxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGNvbnRpbnVlTmF2aWdhdGlvbjogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFsbEZvcm1zLmZpcnN0KChmb3JtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChmb3JtLmRpcnR5KSB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZU5hdmlnYXRpb24gPSB0aGlzLmRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAuc2hvd0NvbmZpcm1hdGlvbihjb21wb25lbnQuY29uZmlybUNvbnRpbnVlRWRpdGluZ0RpYWxvZ09wdGlvbnMoZm9ybSwgdGhpcy5hbGxGb3JtcykpXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUaGUgZGVmYXVsdCBpcyB0byBjb250aW51ZSBlZGl0aW5nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNjYXJkQ2hhbmdlcyA9ICFyZXN1bHQuY29uZmlybWVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRpc2NhcmRDaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXR0aW5nc0Zvcm1zLmFsbEZvcm1zID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRpc2NhcmRDaGFuZ2VzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gd2l0aCBvbmUgZGlydHkgZm9ybSBpcyBlbm91Z2ggdG8gc2hvdyB0aGUgZGlhbG9nLCBubyBuZWVkIHRvIGl0ZXJhdGUgb3ZlciBhbGwgdGhlIG90aGVyIGRpYWxvZ3NcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjb250aW51ZU5hdmlnYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbmd1bGFyIExpZmUgQ3ljbGUgaG9vayBmb3IgQWZ0ZXIgVmlldyBDaGVja2VkLlxyXG4gICAgICogV2hlbiB0aGUgdmlzaWJpbGl0eSBjaGFuZ2VzLCB3ZSBhcmUgZ29pbmcgdG8gZm9jdXMgb24gdGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBoYXMgdGhlIGF1dG9mb2N1cyBhdHRyaWJ1dGVcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0NoZWNrZWQoKTtcclxuICAgICAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcclxuICAgICAgICAgICAgY29uc3QgYXV0b2ZvY3VzRWxlbWVudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbYXV0b2ZvY3VzXScpO1xyXG4gICAgICAgICAgICBpZiAoYXV0b2ZvY3VzRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRvRm9jdXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGF1dG9mb2N1c0VsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIGluaXRpYWwgaG9zdCBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhpcyBlbGVtZW50XHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRJbml0aWFsSG9zdENsYXNzZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldEluaXRpYWxIb3N0Q2xhc3NlcygpLmNvbmNhdChbXHJcbiAgICAgICAgICAgICdzbWUtc2V0dGluZ3MnXHJcbiAgICAgICAgXSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzUGFkZGluZ1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLmxheW91dENvbXBvbmVudCAmJiB0aGlzLmxheW91dENvbXBvbmVudC5jdXJyZW50TGF5b3V0RGVmaW5pdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hZGRQYWRkaW5nID0gIHRoaXMubGF5b3V0Q29tcG9uZW50LmN1cnJlbnRMYXlvdXREZWZpbml0aW9uLm5hbWUgPT09ICduYXJyb3cnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21lLWFycmFuZ2Utc3RhY2stdiBzbWUtbGF5b3V0LXJlbGF0aXZlIHNtZS1hcnJhbmdlLW92ZXJmbG93LWF1dG8teSBzbWUtcG9zaXRpb24tc3RyZXRjaFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBzbWUtbGF5b3V0LXRvb2wtaGVhZGVyIHNtZS1wb3NpdGlvbi1mbGV4LW5vbmUgc21lLWFycmFuZ2UtZWxsaXBzaXNcIiAqbmdJZj1cInNldHRpbmdzVGl0bGVcIj5cclxuICAgICAgICA8aDIgW3RpdGxlXT1cInNldHRpbmdzVGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInNldHRpbmdzVGl0bGVcIiBjbGFzcz1cInNtZS1mb250LWgzXCI+e3tzZXR0aW5nc1RpdGxlfX08L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8c21lLWxheW91dCAjbGF5b3V0IChsYXlvdXRDaGFuZ2VkKT1cImlzUGFkZGluZ1JlcXVpcmVkKClcIiBjbGFzcz1cInNtZS1wb3NpdGlvbi1mbGV4LWF1dG8gc21lLWFycmFuZ2Utb3ZlcmZsb3ctYXV0b1wiIFtwYWRMYXN0SXRlbV09XCJmYWxzZVwiPlxyXG4gICAgICAgIDxzbWUtbGF5b3V0LWRlZmluaXRpb24gbmFtZT1cIm5hcnJvd1wiIFt1bnRpbF09XCI4MDBcIiBbY29sdW1uc109XCIxXCI+PC9zbWUtbGF5b3V0LWRlZmluaXRpb24+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtZGVmaW5pdGlvbiBuYW1lPVwid2lkZVwiIFtjb2x1bW5zXT1cIjRcIj48L3NtZS1sYXlvdXQtZGVmaW5pdGlvbj5cclxuICAgICAgICA8c21lLWxheW91dC1pdGVtIFtjb2x1bW5TcGFuXT1cIjFcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLW5hdmlnYXRpb25cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9zbWUtbGF5b3V0LWl0ZW0+XHJcbiAgICAgICAgPHNtZS1sYXlvdXQtaXRlbSBbY29sdW1uU3Bhbl09XCIzXCIgW25nQ2xhc3NdPVwiYWRkUGFkZGluZyA/ICdzbWUtcG9zaXRpb24tc3RyZXRjaCBzbWUtcGFkZGluZy1sZWZ0LXhsJyA6ICdzbWUtcG9zaXRpb24tc3RyZXRjaCdcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWhlYWRlclwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic21lLXNldHRpbmdzLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNtZS1zZXR0aW5ncy1mb290ZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9zbWUtbGF5b3V0LWl0ZW0+XHJcbiAgICA8L3NtZS1sYXlvdXQ+XHJcbjwvZGl2PiJdfQ==
@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
4
  import { HeaderModule } from '../header/header.module';
5
+ import { LayoutModule } from '../layout/layout.module';
5
6
  import { TooltipModule } from '../tooltip/tooltip.module';
6
7
  import { CommonSettingsComponent } from './common-settings/common-settings.component';
7
8
  import { SettingsPageComponent } from './common-settings/settings-page.component';
@@ -28,6 +29,7 @@ export class SettingsModule {
28
29
  RouterModule,
29
30
  CommonModule,
30
31
  HeaderModule,
32
+ LayoutModule,
31
33
  TooltipModule
32
34
  ]] });
33
35
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(SettingsModule, { declarations: [SettingsComponent,
@@ -40,6 +42,7 @@ export class SettingsModule {
40
42
  CommonSettingsComponent], imports: [RouterModule,
41
43
  CommonModule,
42
44
  HeaderModule,
45
+ LayoutModule,
43
46
  TooltipModule], exports: [SettingsComponent,
44
47
  SettingsFormDirective,
45
48
  SettingsFooterComponent,
@@ -55,6 +58,7 @@ export class SettingsModule {
55
58
  RouterModule,
56
59
  CommonModule,
57
60
  HeaderModule,
61
+ LayoutModule,
58
62
  TooltipModule
59
63
  ],
60
64
  exports: [
@@ -86,4 +90,4 @@ export class SettingsModule {
86
90
  i0.ɵɵsetComponentScope(CommonSettingsComponent, [SettingsComponent,
87
91
  SettingsNavigationComponent, i1.NgIf, i1.NgForOf, i2.TooltipDirective, i3.RouterLinkWithHref, i3.RouterLinkActive, i1.NgClass, SettingsHeaderComponent,
88
92
  SettingsContentComponent, i3.RouterOutlet, SettingsFooterComponent], []);
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7OztBQWtDekQsTUFBTSxPQUFPLGNBQWM7OytGQUFkLGNBQWM7cUVBQWQsY0FBYzswRUFMWjtRQUNQLG1CQUFtQjtRQUNuQixrQkFBa0I7S0FDckIsWUE3QlE7WUFDTCxZQUFZO1lBQ1osWUFBWTtZQUNaLFlBQVk7WUFDWixhQUFhO1NBQ2hCO3dGQTBCUSxjQUFjLG1CQWRuQixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsdUJBQXVCLGFBdkJ2QixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhLGFBR2IsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLHVCQUF1Qjt1RkFpQmxCLGNBQWM7Y0FoQzFCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osYUFBYTtpQkFDaEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQix1QkFBdUI7b0JBQ3ZCLHVCQUF1QjtvQkFDdkIsd0JBQXdCO29CQUN4QixxQkFBcUI7b0JBQ3JCLDJCQUEyQjtvQkFDM0IsdUJBQXVCO2lCQUMxQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1YsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO29CQUN2Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIsMkJBQTJCO29CQUMzQix1QkFBdUI7aUJBQzFCO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxtQkFBbUI7b0JBQ25CLGtCQUFrQjtpQkFDckI7YUFDSjs7dUJBTk8sdUJBQXVCLEdBUHZCLGlCQUFpQjtJQU1qQiwyQkFBMkIsb0dBSDNCLHVCQUF1QjtJQUN2Qix3QkFBd0IsbUJBRnhCLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDb21tb25TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLXNldHRpbmdzL2NvbW1vbi1zZXR0aW5ncy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy9zZXR0aW5ncy1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhbkRlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vc2V0dGluZ3MtY2FuLWRlYWN0aXZhdGUtZ3VhcmQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNldHRpbmdzQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXR0aW5ncy1mb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtbmF2aWdhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBIZWFkZXJNb2R1bGUsXHJcbiAgICAgICAgVG9vbHRpcE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0Zvcm1EaXJlY3RpdmUsXHJcbiAgICAgICAgU2V0dGluZ3NGb290ZXJDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NIZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NDb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc05hdmlnYXRpb25Db21wb25lbnQsXHJcbiAgICAgICAgQ29tbW9uU2V0dGluZ3NDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBTZXR0aW5nc0NvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0Zvcm1EaXJlY3RpdmUsXHJcbiAgICAgICAgU2V0dGluZ3NGb290ZXJDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NIZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NDb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzUGFnZUNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc05hdmlnYXRpb25Db21wb25lbnQsXHJcbiAgICAgICAgQ29tbW9uU2V0dGluZ3NDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBTZXR0aW5nc0Zvcm1TZXJ2aWNlLFxyXG4gICAgICAgIENhbkRlYWN0aXZhdGVHdWFyZFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NNb2R1bGUgeyB9XHJcbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFtQ3pELE1BQU0sT0FBTyxjQUFjOzsrRkFBZCxjQUFjO3FFQUFkLGNBQWM7MEVBTFo7UUFDUCxtQkFBbUI7UUFDbkIsa0JBQWtCO0tBQ3JCLFlBOUJRO1lBQ0wsWUFBWTtZQUNaLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7U0FDaEI7d0ZBMEJRLGNBQWMsbUJBZG5CLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLDJCQUEyQjtRQUMzQix1QkFBdUIsYUF4QnZCLFlBQVk7UUFDWixZQUFZO1FBQ1osWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhLGFBR2IsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLHVCQUF1Qjt1RkFpQmxCLGNBQWM7Y0FqQzFCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixhQUFhO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHVCQUF1QjtvQkFDdkIsdUJBQXVCO29CQUN2Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIsMkJBQTJCO29CQUMzQix1QkFBdUI7aUJBQzFCO2dCQUNELFlBQVksRUFBRTtvQkFDVixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qix1QkFBdUI7b0JBQ3ZCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQiwyQkFBMkI7b0JBQzNCLHVCQUF1QjtpQkFDMUI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsa0JBQWtCO2lCQUNyQjthQUNKOzt1QkFOTyx1QkFBdUIsR0FQdkIsaUJBQWlCO0lBTWpCLDJCQUEyQixvR0FIM0IsdUJBQXVCO0lBQ3ZCLHdCQUF3QixtQkFGeEIsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgSGVhZGVyTW9kdWxlIH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcclxuaW1wb3J0IHsgQ29tbW9uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy9jb21tb24tc2V0dGluZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24tc2V0dGluZ3Mvc2V0dGluZ3MtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlR3VhcmQgfSBmcm9tICcuL3NldHRpbmdzLWNhbi1kZWFjdGl2YXRlLWd1YXJkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLWZvb3Rlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuL3NldHRpbmdzLWZvcm0uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NGb3JtU2VydmljZSB9IGZyb20gJy4vc2V0dGluZ3MtZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3NIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc05hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLW5hdmlnYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIFJvdXRlck1vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgSGVhZGVyTW9kdWxlLFxyXG4gICAgICAgIExheW91dE1vZHVsZSxcclxuICAgICAgICBUb29sdGlwTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzRm9ybURpcmVjdGl2ZSxcclxuICAgICAgICBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBDb21tb25TZXR0aW5nc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzRm9ybURpcmVjdGl2ZSxcclxuICAgICAgICBTZXR0aW5nc0Zvb3RlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0hlYWRlckNvbXBvbmVudCxcclxuICAgICAgICBTZXR0aW5nc0NvbnRlbnRDb21wb25lbnQsXHJcbiAgICAgICAgU2V0dGluZ3NQYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIFNldHRpbmdzTmF2aWdhdGlvbkNvbXBvbmVudCxcclxuICAgICAgICBDb21tb25TZXR0aW5nc0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIFNldHRpbmdzRm9ybVNlcnZpY2UsXHJcbiAgICAgICAgQ2FuRGVhY3RpdmF0ZUd1YXJkXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZXR0aW5nc01vZHVsZSB7IH1cclxuIl19