@c8y/ngx-components 1018.503.52 → 1018.503.56

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 (35) hide show
  1. package/context-dashboard/device-info-dashboard/device-info-dashboard.component.d.ts +1 -1
  2. package/core/common/ApplicationOptions.d.ts +4 -1
  3. package/esm2020/context-dashboard/device-info-dashboard/device-info-dashboard.component.mjs +12 -12
  4. package/esm2020/core/common/ApplicationOptions.mjs +1 -1
  5. package/esm2020/core/dashboard/wiget-time-context/widget-time-context.component.mjs +4 -3
  6. package/esm2020/protocol-lwm2m/components/configuration/lwm2m-configuration.component.mjs +2 -1
  7. package/esm2020/protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.mjs +8 -12
  8. package/esm2020/protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.mjs +21 -9
  9. package/esm2020/protocol-lwm2m/model/index.mjs +3 -1
  10. package/esm2020/protocol-lwm2m/services/lwm2m-configuration.service.mjs +64 -5
  11. package/fesm2015/c8y-ngx-components-context-dashboard.mjs +10 -10
  12. package/fesm2015/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  13. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +30 -21
  14. package/fesm2015/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  15. package/fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs +2 -0
  16. package/fesm2015/c8y-ngx-components-protocol-lwm2m-model.mjs.map +1 -1
  17. package/fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs +63 -4
  18. package/fesm2015/c8y-ngx-components-protocol-lwm2m-services.mjs.map +1 -1
  19. package/fesm2015/c8y-ngx-components.mjs +3 -2
  20. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  21. package/fesm2020/c8y-ngx-components-context-dashboard.mjs +10 -10
  22. package/fesm2020/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  23. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs +27 -19
  24. package/fesm2020/c8y-ngx-components-protocol-lwm2m-components-configuration.mjs.map +1 -1
  25. package/fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs +2 -0
  26. package/fesm2020/c8y-ngx-components-protocol-lwm2m-model.mjs.map +1 -1
  27. package/fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs +63 -4
  28. package/fesm2020/c8y-ngx-components-protocol-lwm2m-services.mjs.map +1 -1
  29. package/fesm2020/c8y-ngx-components.mjs +3 -2
  30. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  31. package/package.json +1 -1
  32. package/protocol-lwm2m/components/configuration/typed-forms/connectivity-settings.component.d.ts +1 -4
  33. package/protocol-lwm2m/components/configuration/typed-forms/single-server-settings.component.d.ts +16 -22
  34. package/protocol-lwm2m/model/index.d.ts +11 -1
  35. package/protocol-lwm2m/services/lwm2m-configuration.service.d.ts +8 -1
@@ -1,9 +1,9 @@
1
1
  import { ActivatedRoute } from '@angular/router';
2
+ import { InventoryService } from '@c8y/client';
2
3
  import { ContextData, Widget } from '@c8y/ngx-components';
3
4
  import { TranslateService } from '@ngx-translate/core';
4
5
  import { Subscription } from 'rxjs';
5
6
  import { WidgetService } from '../widget.service';
6
- import { InventoryService } from '@c8y/client';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class DeviceInfoDashboardComponent {
9
9
  private router;
@@ -85,7 +85,10 @@ export declare class ApplicationOptions {
85
85
  hidePowered?: boolean;
86
86
  /** Hides the "Platform information" in the right drawer, will overrule the "hidePowered" option */
87
87
  hidePlatformInformation?: boolean;
88
- /** URL to support page (set to `false` to hide the link). */
88
+ /** Shows the link to support page. Accepts values:
89
+ * false, hide the link
90
+ * string, value of url to be shown
91
+ */
89
92
  supportUrl?: boolean | string;
90
93
  /**
91
94
  * Replacement string for `user` field in audit logs for actions performed by a support user
@@ -1,11 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
+ import { InventoryService } from '@c8y/client';
3
4
  import { gettext } from '@c8y/ngx-components';
4
5
  import { TranslateService } from '@ngx-translate/core';
5
6
  import { from } from 'rxjs';
6
7
  import { map, mergeMap, tap, toArray } from 'rxjs/operators';
7
8
  import { WidgetService } from '../widget.service';
8
- import { InventoryService } from '@c8y/client';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/router";
11
11
  import * as i2 from "../widget.service";
@@ -29,15 +29,15 @@ export class DeviceInfoDashboardComponent {
29
29
  _x: 0,
30
30
  _y: 0,
31
31
  _height: 5,
32
- _width: 4
32
+ _width: 8
33
33
  },
34
34
  {
35
35
  name: 'Data points graph',
36
36
  title: gettext('Device and communication'),
37
- _x: 4,
37
+ _x: 8,
38
38
  _y: 0,
39
39
  _height: 5,
40
- _width: 8,
40
+ _width: 16,
41
41
  config: {
42
42
  interval: 'hours',
43
43
  aggregation: 'NONE',
@@ -205,15 +205,15 @@ export class DeviceInfoDashboardComponent {
205
205
  _x: 0,
206
206
  _y: 5,
207
207
  _height: 8,
208
- _width: 4
208
+ _width: 8
209
209
  },
210
210
  {
211
211
  name: 'Alarm list',
212
212
  title: gettext('Active, critical alarms'),
213
- _x: 4,
213
+ _x: 8,
214
214
  _y: 5,
215
215
  _height: 4,
216
- _width: 4,
216
+ _width: 8,
217
217
  config: {
218
218
  options: {
219
219
  orderMode: 'ACTIVE_FIRST',
@@ -230,18 +230,18 @@ export class DeviceInfoDashboardComponent {
230
230
  {
231
231
  name: 'deviceGroupAssignmentWidget',
232
232
  title: gettext('Group assignment'),
233
- _x: 8,
233
+ _x: 16,
234
234
  _y: 5,
235
235
  _height: 4,
236
- _width: 4
236
+ _width: 8
237
237
  },
238
238
  {
239
239
  componentId: 'Map',
240
240
  title: gettext('Location'),
241
- _x: 4,
241
+ _x: 8,
242
242
  _y: 9,
243
243
  _height: 4,
244
- _width: 8
244
+ _width: 16
245
245
  }
246
246
  ];
247
247
  }
@@ -293,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
293
293
  type: Component,
294
294
  args: [{ selector: 'c8y-device-info-dashboard-dashboard', template: "<div *ngIf=\"!isLoading\">\n <c8y-title>\n {{ title }}\n </c8y-title>\n <c8y-context-dashboard\n [translateWidgetTitle]=\"true\"\n [name]=\"dashboardName\"\n [context]=\"currentContext\"\n [defaultWidgets]=\"widgetsList\"\n [canDelete]=\"false\"\n ></c8y-context-dashboard>\n</div>\n" }]
295
295
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.WidgetService }, { type: i3.TranslateService }, { type: i4.InventoryService }]; } });
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWluZm8tZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2RldmljZS1pbmZvLWRhc2hib2FyZC9kZXZpY2UtaW5mby1kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGV2aWNlLWluZm8tZGFzaGJvYXJkL2RldmljZS1pbmZvLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQWUsT0FBTyxFQUFVLE1BQU0scUJBQXFCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7OztBQU0vQyxNQUFNLE9BQU8sNEJBQTRCO0lBd092QyxZQUNVLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxnQkFBa0M7UUFIbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM081QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGtC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QUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FDM0UsQ0FBQztRQUNKLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsQ0FBQztRQUMxRSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7eUhBcFNVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDJFQ2J6QyxtVEFZQTsyRkRDYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb250ZXh0RGF0YSwgZ2V0dGV4dCwgV2lkZ2V0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgbWVyZ2VNYXAsIHRhcCwgdG9BcnJheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFdpZGdldFNlcnZpY2UgfSBmcm9tICcuLi93aWRnZXQuc2VydmljZSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGV2aWNlLWluZm8tZGFzaGJvYXJkLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtaW5mby1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZUluZm9EYXNoYm9hcmRDb21wb25lbnQge1xuICBpc0xvYWRpbmcgPSB0cnVlO1xuICB0aXRsZTogc3RyaW5nO1xuICBkYXNoYm9hcmROYW1lID0gJyc7XG4gIHdpZGdldHNMaXN0OiBXaWRnZXRbXTtcbiAgY3VycmVudENvbnRleHQ6IENvbnRleHREYXRhO1xuICBjb250ZXh0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHdpZGdldHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBERVZJQ0VfSU5GT19XSURHRVRTID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdkZXZpY2VTdGF0dXNXaWRnZXQnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0RldmljZSBzdGF0dXMnKSxcbiAgICAgIF94OiAwLFxuICAgICAgX3k6IDAsXG4gICAgICBfaGVpZ2h0OiA1LFxuICAgICAgX3dpZHRoOiA0XG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnRGF0YSBwb2ludHMgZ3JhcGgnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0RldmljZSBhbmQgY29tbXVuaWNhdGlvbicpLFxuICAgICAgX3g6IDQsXG4gICAgICBfeTogMCxcbiAgICAgIF9oZWlnaHQ6IDUsXG4gICAgICBfd2lkdGg6IDgsXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgaW50ZXJ2YWw6ICdob3VycycsXG4gICAgICAgIGFnZ3JlZ2F0aW9uOiAnTk9ORScsXG4gICAgICAgIHJlYWx0aW1lOiB0cnVlLFxuICAgICAgICBkYXRhcG9pbnRzSW5pdGlhbERpc3BsYXlMaW1pdDogMyxcbiAgICAgICAgZGF0YXBvaW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X0JhdHRlcnknLFxuICAgICAgICAgICAgc2VyaWVzOiAnbGV2ZWwnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdCYXR0ZXJ5OiBsZXZlbCcpLFxuICAgICAgICAgICAgdW5pdDogJyUnLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjNWUwN2IzJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdyc3NpJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnU2lnbmFsOiBSU1NJJyksXG4gICAgICAgICAgICB1bml0OiAnZEJtJyxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnI2E3ZDBmMScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfTWVtb3J5TWVhc3VyZW1lbnQnLFxuICAgICAgICAgICAgc2VyaWVzOiAnVXNlZCcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ01lbW9yeTogdXNlZCcpLFxuICAgICAgICAgICAgdW5pdDogJ01CJyxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnI2Y3NTIyOScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfQ1BVTWVhc3VyZW1lbnQnLFxuICAgICAgICAgICAgc2VyaWVzOiAnV29ya2xvYWQnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdDUFU6IHdvcmtsb2FkJyksXG4gICAgICAgICAgICB1bml0OiAnJScsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyNiMjRmM2UnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X05ldHdvcmtTdGF0aXN0aWNzJyxcbiAgICAgICAgICAgIHNlcmllczogJ1VwbG9hZCcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ05ldHdvcms6IHVwbG9hZCcpLFxuICAgICAgICAgICAgdW5pdDogJ0tCL3MnLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjODhjMDM5JyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdSQ1NQJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnU2lnbmFsOiBSQ1NQJyksXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyM1ZTJmMTknLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X1NpZ25hbFN0cmVuZ3RoJyxcbiAgICAgICAgICAgIHNlcmllczogJ1JTQ1AnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdTaWduYWw6IFJTQ1AnKSxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzVlMmYxOScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfU2lnbmFsU3RyZW5ndGgnLFxuICAgICAgICAgICAgc2VyaWVzOiAnUlNSUCcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1NpZ25hbDogUlNSUCcpLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjNDNiYTNiJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdSU1JRJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnU2lnbmFsOiBSU1JRJyksXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyMxNGIwYjMnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X1NpZ25hbFN0cmVuZ3RoJyxcbiAgICAgICAgICAgIHNlcmllczogJ2JlcicsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1NpZ25hbDogQkVSJyksXG4gICAgICAgICAgICB1bml0OiAnJScsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyM0NGZmMzMnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X1NpZ25hbFN0cmVuZ3RoJyxcbiAgICAgICAgICAgIHNlcmllczogJ0VDTjAnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdTaWduYWw6IEVDTjAnKSxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzg3M2VmYScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfTmV0d29ya1N0YXRpc3RpY3MnLFxuICAgICAgICAgICAgc2VyaWVzOiAnRG93bmxvYWQnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdOZXR3b3JrOiBkb3dubG9hZCcpLFxuICAgICAgICAgICAgdW5pdDogJ0tCL3MnLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjZjI3YTQ1JyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9NZW1vcnlNZWFzdXJlbWVudCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdUb3RhbCcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ01lbW9yeTogdG90YWwnKSxcbiAgICAgICAgICAgIHVuaXQ6ICdNQicsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyNkYWRkOGMnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIGFsYXJtc0V2ZW50c0NvbmZpZ3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ2M4eV9Mb2NhdGlvblVwZGF0ZScsXG4gICAgICAgICAgICB0aW1lbGluZVR5cGU6ICdFVkVOVCcsXG4gICAgICAgICAgICBjb2xvcjogJyM2ZjZjZDAnLFxuICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICB0eXBlOiAnYzh5X0xvY2F0aW9uVXBkYXRlJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ2M4eV9VbmF2YWlsYWJpbGl0eUFsYXJtJyxcbiAgICAgICAgICAgIHRpbWVsaW5lVHlwZTogJ0FMQVJNJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzM3NWJmMicsXG4gICAgICAgICAgICBmaWx0ZXJzOiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdjOHlfVW5hdmFpbGFiaWxpdHlBbGFybSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0Fzc2V0IFByb3BlcnRpZXMnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0RldmljZSBkYXRhJyksXG4gICAgICBjb25maWc6IHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHByb3BlcnRpZXM6IFtdLFxuICAgICAgICAgIGFsbG93RGlzcGxheUFuZEVkaXRLbm93blByb3BlcnRpZXM6IHRydWUsXG4gICAgICAgICAgaGlkZGVuUHJvcGVydGllc0tleVBhdGhzOiBbJ293bmVyJ11cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF94OiAwLFxuICAgICAgX3k6IDUsXG4gICAgICBfaGVpZ2h0OiA4LFxuICAgICAgX3dpZHRoOiA0XG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnQWxhcm0gbGlzdCcsXG4gICAgICB0aXRsZTogZ2V0dGV4dCgnQWN0aXZlLCBjcml0aWNhbCBhbGFybXMnKSxcbiAgICAgIF94OiA0LFxuICAgICAgX3k6IDUsXG4gICAgICBfaGVpZ2h0OiA0LFxuICAgICAgX3dpZHRoOiA0LFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBvcmRlck1vZGU6ICdBQ1RJVkVfRklSU1QnLFxuICAgICAgICAgIHNldmVyaXR5OiB7IENSSVRJQ0FMOiB0cnVlIH0sXG4gICAgICAgICAgc3RhdHVzOiB7XG4gICAgICAgICAgICBBQ1RJVkU6IHRydWUsXG4gICAgICAgICAgICBBQ0tOT1dMRURHRUQ6IGZhbHNlLFxuICAgICAgICAgICAgQ0xFQVJFRDogZmFsc2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVzOiBbXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnZGV2aWNlR3JvdXBBc3NpZ25tZW50V2lkZ2V0JyxcbiAgICAgIHRpdGxlOiBnZXR0ZXh0KCdHcm91cCBhc3NpZ25tZW50JyksXG4gICAgICBfeDogOCxcbiAgICAgIF95OiA1LFxuICAgICAgX2hlaWdodDogNCxcbiAgICAgIF93aWR0aDogNFxuICAgIH0sXG4gICAge1xuICAgICAgY29tcG9uZW50SWQ6ICdNYXAnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0xvY2F0aW9uJyksXG4gICAgICBfeDogNCxcbiAgICAgIF95OiA5LFxuICAgICAgX2hlaWdodDogNCxcbiAgICAgIF93aWR0aDogOFxuICAgIH1cbiAgXSBhcyBXaWRnZXRbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB3aWRnZXRTZXJ2aWNlOiBXaWRnZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGV4dFN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLnBhcmVudC5kYXRhXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh7IGNvbnRleHREYXRhIH0pID0+IHtcbiAgICAgICAgICB0aGlzLnRpdGxlID0gY29udGV4dERhdGEubmFtZTtcbiAgICAgICAgICB0aGlzLmRhc2hib2FyZE5hbWUgPSBgJHtjb250ZXh0RGF0YS5pZH0tZGV2aWNlLWluZm9gO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyBkYXRhID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IGRhdGEgYXMgQ29udGV4dERhdGE7XG4gICAgICAgIHRoaXMuYWRkRGV2aWNlVGFyZ2V0Rm9yRFAoZGF0YS5jb250ZXh0RGF0YS5pZCwgZGF0YS5jb250ZXh0RGF0YS5uYW1lKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy53aWRnZXRzU3Vic2NyaXB0aW9uID0gZnJvbSh0aGlzLkRFVklDRV9JTkZPX1dJREdFVFMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAod2lkZ2V0ID0+IHRoaXMud2lkZ2V0U2VydmljZS5tYXBMZWdhY3kod2lkZ2V0KSksXG4gICAgICAgIG1hcCh3aWRnZXQgPT4gKHtcbiAgICAgICAgICAuLi53aWRnZXQsXG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAuLi53aWRnZXQuY29uZmlnLFxuICAgICAgICAgICAgZGV2aWNlOiB0aGlzLnJvdXRlci5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YVxuICAgICAgICAgIH1cbiAgICAgICAgfSkpLFxuICAgICAgICB0b0FycmF5KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgZGF0YSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZmlsdGVyU3VwcG9ydGVkU2VyaWVzRm9yRFAodGhpcy5jdXJyZW50Q29udGV4dC5jb250ZXh0RGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3QgPSBkYXRhO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGREZXZpY2VUYXJnZXRGb3JEUChpZDogc3RyaW5nIHwgbnVtYmVyLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkcFdpZGdldCA9IHRoaXMuREVWSUNFX0lORk9fV0lER0VUUy5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgPT0gJ0RhdGEgcG9pbnRzIGdyYXBoJylbMF07XG4gICAgLy8gQWRkIHRhcmdldCB0byBkYXRhUG9pbnQgY29uZmlnXG4gICAgZHBXaWRnZXQuY29uZmlnLmRhdGFwb2ludHMubWFwKGl0ZW0gPT4gKGl0ZW1bJ19fdGFyZ2V0J10gPSB7IGlkLCBuYW1lIH0pKTtcbiAgICAvLyBBZGQgdGFyZ2V0IHRvIGFsYXJtRXZlbnRzIENvbmZpZ1xuICAgIGRwV2lkZ2V0LmNvbmZpZy5hbGFybXNFdmVudHNDb25maWdzLm1hcChpdGVtID0+IChpdGVtWydfX3RhcmdldCddID0geyBpZCwgbmFtZSB9KSk7XG4gIH1cblxuICBhc3luYyBmaWx0ZXJTdXBwb3J0ZWRTZXJpZXNGb3JEUChpZDogc3RyaW5nIHwgbnVtYmVyLCB3aWRnZXRzOiBXaWRnZXRbXSkge1xuICAgIGNvbnN0IHN1cHBvcnRlZE1lYXN1cmVtZW50cyA9IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5nZXRNZWFzdXJlbWVudHNBbmRTZXJpZXMoaWQpO1xuICAgIGNvbnN0IGlzRGF0YVBvaW50U3VwcG9ydGVkID0gZHAgPT5cbiAgICAgIHN1cHBvcnRlZE1lYXN1cmVtZW50cy5zb21lKFxuICAgICAgICAoeyBmcmFnbWVudCwgc2VyaWVzIH0pID0+IGRwLmZyYWdtZW50ID09PSBmcmFnbWVudCAmJiBkcC5zZXJpZXMgPT09IHNlcmllc1xuICAgICAgKTtcbiAgICBjb25zdCBkcFdpZGdldCA9IHdpZGdldHMuZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09ICdEYXRhIHBvaW50cyBncmFwaCcpO1xuICAgIGRwV2lkZ2V0LmNvbmZpZy5kYXRhcG9pbnRzID0gZHBXaWRnZXQuY29uZmlnLmRhdGFwb2ludHMuZmlsdGVyKGlzRGF0YVBvaW50U3VwcG9ydGVkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2lkZ2V0c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29udGV4dFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICA8Yzh5LXRpdGxlPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvYzh5LXRpdGxlPlxuICA8Yzh5LWNvbnRleHQtZGFzaGJvYXJkXG4gICAgW3RyYW5zbGF0ZVdpZGdldFRpdGxlXT1cInRydWVcIlxuICAgIFtuYW1lXT1cImRhc2hib2FyZE5hbWVcIlxuICAgIFtjb250ZXh0XT1cImN1cnJlbnRDb250ZXh0XCJcbiAgICBbZGVmYXVsdFdpZGdldHNdPVwid2lkZ2V0c0xpc3RcIlxuICAgIFtjYW5EZWxldGVdPVwiZmFsc2VcIlxuICA+PC9jOHktY29udGV4dC1kYXNoYm9hcmQ+XG48L2Rpdj5cbiJdfQ==
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWluZm8tZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL2RldmljZS1pbmZvLWRhc2hib2FyZC9kZXZpY2UtaW5mby1kYXNoYm9hcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvZGV2aWNlLWluZm8tZGFzaGJvYXJkL2RldmljZS1pbmZvLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFlLE9BQU8sRUFBVSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7OztBQU1sRCxNQUFNLE9BQU8sNEJBQTRCO0lBd092QyxZQUNVLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLGdCQUFrQyxFQUNsQyxnQkFBa0M7UUFIbEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM081QyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGtC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QUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FDM0UsQ0FBQztRQUNKLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsQ0FBQztRQUMxRSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7eUhBcFNVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDJFQ2J6QyxtVEFZQTsyRkRDYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQ29udGV4dERhdGEsIGdldHRleHQsIFdpZGdldCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZnJvbSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwLCB0YXAsIHRvQXJyYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBXaWRnZXRTZXJ2aWNlIH0gZnJvbSAnLi4vd2lkZ2V0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGV2aWNlLWluZm8tZGFzaGJvYXJkLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtaW5mby1kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZUluZm9EYXNoYm9hcmRDb21wb25lbnQge1xuICBpc0xvYWRpbmcgPSB0cnVlO1xuICB0aXRsZTogc3RyaW5nO1xuICBkYXNoYm9hcmROYW1lID0gJyc7XG4gIHdpZGdldHNMaXN0OiBXaWRnZXRbXTtcbiAgY3VycmVudENvbnRleHQ6IENvbnRleHREYXRhO1xuICBjb250ZXh0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHdpZGdldHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBERVZJQ0VfSU5GT19XSURHRVRTID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdkZXZpY2VTdGF0dXNXaWRnZXQnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0RldmljZSBzdGF0dXMnKSxcbiAgICAgIF94OiAwLFxuICAgICAgX3k6IDAsXG4gICAgICBfaGVpZ2h0OiA1LFxuICAgICAgX3dpZHRoOiA4XG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnRGF0YSBwb2ludHMgZ3JhcGgnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0RldmljZSBhbmQgY29tbXVuaWNhdGlvbicpLFxuICAgICAgX3g6IDgsXG4gICAgICBfeTogMCxcbiAgICAgIF9oZWlnaHQ6IDUsXG4gICAgICBfd2lkdGg6IDE2LFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIGludGVydmFsOiAnaG91cnMnLFxuICAgICAgICBhZ2dyZWdhdGlvbjogJ05PTkUnLFxuICAgICAgICByZWFsdGltZTogdHJ1ZSxcbiAgICAgICAgZGF0YXBvaW50c0luaXRpYWxEaXNwbGF5TGltaXQ6IDMsXG4gICAgICAgIGRhdGFwb2ludHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9CYXR0ZXJ5JyxcbiAgICAgICAgICAgIHNlcmllczogJ2xldmVsJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQmF0dGVyeTogbGV2ZWwnKSxcbiAgICAgICAgICAgIHVuaXQ6ICclJyxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzVlMDdiMycsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfU2lnbmFsU3RyZW5ndGgnLFxuICAgICAgICAgICAgc2VyaWVzOiAncnNzaScsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1NpZ25hbDogUlNTSScpLFxuICAgICAgICAgICAgdW5pdDogJ2RCbScsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyNhN2QwZjEnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X01lbW9yeU1lYXN1cmVtZW50JyxcbiAgICAgICAgICAgIHNlcmllczogJ1VzZWQnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNZW1vcnk6IHVzZWQnKSxcbiAgICAgICAgICAgIHVuaXQ6ICdNQicsXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyNmNzUyMjknLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X0NQVU1lYXN1cmVtZW50JyxcbiAgICAgICAgICAgIHNlcmllczogJ1dvcmtsb2FkJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQ1BVOiB3b3JrbG9hZCcpLFxuICAgICAgICAgICAgdW5pdDogJyUnLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjYjI0ZjNlJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9OZXR3b3JrU3RhdGlzdGljcycsXG4gICAgICAgICAgICBzZXJpZXM6ICdVcGxvYWQnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdOZXR3b3JrOiB1cGxvYWQnKSxcbiAgICAgICAgICAgIHVuaXQ6ICdLQi9zJyxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzg4YzAzOScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfU2lnbmFsU3RyZW5ndGgnLFxuICAgICAgICAgICAgc2VyaWVzOiAnUkNTUCcsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1NpZ25hbDogUkNTUCcpLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjNWUyZjE5JyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdSU0NQJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnU2lnbmFsOiBSU0NQJyksXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyM1ZTJmMTknLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X1NpZ25hbFN0cmVuZ3RoJyxcbiAgICAgICAgICAgIHNlcmllczogJ1JTUlAnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdTaWduYWw6IFJTUlAnKSxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnIzQzYmEzYicsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfU2lnbmFsU3RyZW5ndGgnLFxuICAgICAgICAgICAgc2VyaWVzOiAnUlNSUScsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ1NpZ25hbDogUlNSUScpLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjMTRiMGIzJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdiZXInLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdTaWduYWw6IEJFUicpLFxuICAgICAgICAgICAgdW5pdDogJyUnLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjNDRmZjMzJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmcmFnbWVudDogJ2M4eV9TaWduYWxTdHJlbmd0aCcsXG4gICAgICAgICAgICBzZXJpZXM6ICdFQ04wJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnU2lnbmFsOiBFQ04wJyksXG4gICAgICAgICAgICByZW5kZXJUeXBlOiAnbWluJyxcbiAgICAgICAgICAgIGxpbmVUeXBlOiAnbGluZScsXG4gICAgICAgICAgICBjb2xvcjogJyM4NzNlZmEnLFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZyYWdtZW50OiAnYzh5X05ldHdvcmtTdGF0aXN0aWNzJyxcbiAgICAgICAgICAgIHNlcmllczogJ0Rvd25sb2FkJyxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnTmV0d29yazogZG93bmxvYWQnKSxcbiAgICAgICAgICAgIHVuaXQ6ICdLQi9zJyxcbiAgICAgICAgICAgIHJlbmRlclR5cGU6ICdtaW4nLFxuICAgICAgICAgICAgbGluZVR5cGU6ICdsaW5lJyxcbiAgICAgICAgICAgIGNvbG9yOiAnI2YyN2E0NScsXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJhZ21lbnQ6ICdjOHlfTWVtb3J5TWVhc3VyZW1lbnQnLFxuICAgICAgICAgICAgc2VyaWVzOiAnVG90YWwnLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdNZW1vcnk6IHRvdGFsJyksXG4gICAgICAgICAgICB1bml0OiAnTUInLFxuICAgICAgICAgICAgcmVuZGVyVHlwZTogJ21pbicsXG4gICAgICAgICAgICBsaW5lVHlwZTogJ2xpbmUnLFxuICAgICAgICAgICAgY29sb3I6ICcjZGFkZDhjJyxcbiAgICAgICAgICAgIF9fYWN0aXZlOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICBhbGFybXNFdmVudHNDb25maWdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdjOHlfTG9jYXRpb25VcGRhdGUnLFxuICAgICAgICAgICAgdGltZWxpbmVUeXBlOiAnRVZFTlQnLFxuICAgICAgICAgICAgY29sb3I6ICcjNmY2Y2QwJyxcbiAgICAgICAgICAgIGZpbHRlcnM6IHtcbiAgICAgICAgICAgICAgdHlwZTogJ2M4eV9Mb2NhdGlvblVwZGF0ZSdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfX2FjdGl2ZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdjOHlfVW5hdmFpbGFiaWxpdHlBbGFybScsXG4gICAgICAgICAgICB0aW1lbGluZVR5cGU6ICdBTEFSTScsXG4gICAgICAgICAgICBjb2xvcjogJyMzNzViZjInLFxuICAgICAgICAgICAgZmlsdGVyczoge1xuICAgICAgICAgICAgICB0eXBlOiAnYzh5X1VuYXZhaWxhYmlsaXR5QWxhcm0nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX19hY3RpdmU6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdBc3NldCBQcm9wZXJ0aWVzJyxcbiAgICAgIHRpdGxlOiBnZXR0ZXh0KCdEZXZpY2UgZGF0YScpLFxuICAgICAgY29uZmlnOiB7XG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXSxcbiAgICAgICAgICBhbGxvd0Rpc3BsYXlBbmRFZGl0S25vd25Qcm9wZXJ0aWVzOiB0cnVlLFxuICAgICAgICAgIGhpZGRlblByb3BlcnRpZXNLZXlQYXRoczogWydvd25lciddXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfeDogMCxcbiAgICAgIF95OiA1LFxuICAgICAgX2hlaWdodDogOCxcbiAgICAgIF93aWR0aDogOFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0FsYXJtIGxpc3QnLFxuICAgICAgdGl0bGU6IGdldHRleHQoJ0FjdGl2ZSwgY3JpdGljYWwgYWxhcm1zJyksXG4gICAgICBfeDogOCxcbiAgICAgIF95OiA1LFxuICAgICAgX2hlaWdodDogNCxcbiAgICAgIF93aWR0aDogOCxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgb3JkZXJNb2RlOiAnQUNUSVZFX0ZJUlNUJyxcbiAgICAgICAgICBzZXZlcml0eTogeyBDUklUSUNBTDogdHJ1ZSB9LFxuICAgICAgICAgIHN0YXR1czoge1xuICAgICAgICAgICAgQUNUSVZFOiB0cnVlLFxuICAgICAgICAgICAgQUNLTk9XTEVER0VEOiBmYWxzZSxcbiAgICAgICAgICAgIENMRUFSRUQ6IGZhbHNlXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlczogW11cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ2RldmljZUdyb3VwQXNzaWdubWVudFdpZGdldCcsXG4gICAgICB0aXRsZTogZ2V0dGV4dCgnR3JvdXAgYXNzaWdubWVudCcpLFxuICAgICAgX3g6IDE2LFxuICAgICAgX3k6IDUsXG4gICAgICBfaGVpZ2h0OiA0LFxuICAgICAgX3dpZHRoOiA4XG4gICAgfSxcbiAgICB7XG4gICAgICBjb21wb25lbnRJZDogJ01hcCcsXG4gICAgICB0aXRsZTogZ2V0dGV4dCgnTG9jYXRpb24nKSxcbiAgICAgIF94OiA4LFxuICAgICAgX3k6IDksXG4gICAgICBfaGVpZ2h0OiA0LFxuICAgICAgX3dpZHRoOiAxNlxuICAgIH1cbiAgXSBhcyBXaWRnZXRbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB3aWRnZXRTZXJ2aWNlOiBXaWRnZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGludmVudG9yeVNlcnZpY2U6IEludmVudG9yeVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29udGV4dFN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLnBhcmVudC5kYXRhXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh7IGNvbnRleHREYXRhIH0pID0+IHtcbiAgICAgICAgICB0aGlzLnRpdGxlID0gY29udGV4dERhdGEubmFtZTtcbiAgICAgICAgICB0aGlzLmRhc2hib2FyZE5hbWUgPSBgJHtjb250ZXh0RGF0YS5pZH0tZGV2aWNlLWluZm9gO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShhc3luYyBkYXRhID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29udGV4dCA9IGRhdGEgYXMgQ29udGV4dERhdGE7XG4gICAgICAgIHRoaXMuYWRkRGV2aWNlVGFyZ2V0Rm9yRFAoZGF0YS5jb250ZXh0RGF0YS5pZCwgZGF0YS5jb250ZXh0RGF0YS5uYW1lKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy53aWRnZXRzU3Vic2NyaXB0aW9uID0gZnJvbSh0aGlzLkRFVklDRV9JTkZPX1dJREdFVFMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAod2lkZ2V0ID0+IHRoaXMud2lkZ2V0U2VydmljZS5tYXBMZWdhY3kod2lkZ2V0KSksXG4gICAgICAgIG1hcCh3aWRnZXQgPT4gKHtcbiAgICAgICAgICAuLi53aWRnZXQsXG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAuLi53aWRnZXQuY29uZmlnLFxuICAgICAgICAgICAgZGV2aWNlOiB0aGlzLnJvdXRlci5wYXJlbnQuc25hcHNob3QuZGF0YS5jb250ZXh0RGF0YVxuICAgICAgICAgIH1cbiAgICAgICAgfSkpLFxuICAgICAgICB0b0FycmF5KClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoYXN5bmMgZGF0YSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZmlsdGVyU3VwcG9ydGVkU2VyaWVzRm9yRFAodGhpcy5jdXJyZW50Q29udGV4dC5jb250ZXh0RGF0YS5pZCwgZGF0YSk7XG4gICAgICAgIHRoaXMud2lkZ2V0c0xpc3QgPSBkYXRhO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgfSk7XG4gIH1cblxuICBhZGREZXZpY2VUYXJnZXRGb3JEUChpZDogc3RyaW5nIHwgbnVtYmVyLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBkcFdpZGdldCA9IHRoaXMuREVWSUNFX0lORk9fV0lER0VUUy5maWx0ZXIoaXRlbSA9PiBpdGVtLm5hbWUgPT0gJ0RhdGEgcG9pbnRzIGdyYXBoJylbMF07XG4gICAgLy8gQWRkIHRhcmdldCB0byBkYXRhUG9pbnQgY29uZmlnXG4gICAgZHBXaWRnZXQuY29uZmlnLmRhdGFwb2ludHMubWFwKGl0ZW0gPT4gKGl0ZW1bJ19fdGFyZ2V0J10gPSB7IGlkLCBuYW1lIH0pKTtcbiAgICAvLyBBZGQgdGFyZ2V0IHRvIGFsYXJtRXZlbnRzIENvbmZpZ1xuICAgIGRwV2lkZ2V0LmNvbmZpZy5hbGFybXNFdmVudHNDb25maWdzLm1hcChpdGVtID0+IChpdGVtWydfX3RhcmdldCddID0geyBpZCwgbmFtZSB9KSk7XG4gIH1cblxuICBhc3luYyBmaWx0ZXJTdXBwb3J0ZWRTZXJpZXNGb3JEUChpZDogc3RyaW5nIHwgbnVtYmVyLCB3aWRnZXRzOiBXaWRnZXRbXSkge1xuICAgIGNvbnN0IHN1cHBvcnRlZE1lYXN1cmVtZW50cyA9IGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5nZXRNZWFzdXJlbWVudHNBbmRTZXJpZXMoaWQpO1xuICAgIGNvbnN0IGlzRGF0YVBvaW50U3VwcG9ydGVkID0gZHAgPT5cbiAgICAgIHN1cHBvcnRlZE1lYXN1cmVtZW50cy5zb21lKFxuICAgICAgICAoeyBmcmFnbWVudCwgc2VyaWVzIH0pID0+IGRwLmZyYWdtZW50ID09PSBmcmFnbWVudCAmJiBkcC5zZXJpZXMgPT09IHNlcmllc1xuICAgICAgKTtcbiAgICBjb25zdCBkcFdpZGdldCA9IHdpZGdldHMuZmluZCgoeyBuYW1lIH0pID0+IG5hbWUgPT09ICdEYXRhIHBvaW50cyBncmFwaCcpO1xuICAgIGRwV2lkZ2V0LmNvbmZpZy5kYXRhcG9pbnRzID0gZHBXaWRnZXQuY29uZmlnLmRhdGFwb2ludHMuZmlsdGVyKGlzRGF0YVBvaW50U3VwcG9ydGVkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMud2lkZ2V0c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29udGV4dFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICA8Yzh5LXRpdGxlPlxuICAgIHt7IHRpdGxlIH19XG4gIDwvYzh5LXRpdGxlPlxuICA8Yzh5LWNvbnRleHQtZGFzaGJvYXJkXG4gICAgW3RyYW5zbGF0ZVdpZGdldFRpdGxlXT1cInRydWVcIlxuICAgIFtuYW1lXT1cImRhc2hib2FyZE5hbWVcIlxuICAgIFtjb250ZXh0XT1cImN1cnJlbnRDb250ZXh0XCJcbiAgICBbZGVmYXVsdFdpZGdldHNdPVwid2lkZ2V0c0xpc3RcIlxuICAgIFtjYW5EZWxldGVdPVwiZmFsc2VcIlxuICA+PC9jOHktY29udGV4dC1kYXNoYm9hcmQ+XG48L2Rpdj5cbiJdfQ==
@@ -5,4 +5,4 @@
5
5
  */
6
6
  export class ApplicationOptions {
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBNE05QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFVSTCB0byBzdXBwb3J0IHBhZ2UgKHNldCB0byBgZmFsc2VgIHRvIGhpZGUgdGhlIGxpbmspLiAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsocykgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbmsgfCBMb2dpbkV4dHJhTGlua1tdO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc3RvcmFnZSBsaW1pdGF0aW9uIGZlYXR1cmUuICovXG4gIHN0b3JhZ2VMaW1pdGF0aW9uRmVhdHVyZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTmFtZSBvZiBjb21wYW55IGhhbmRsaW5nIHN1cHBvcnQgcmVxdWVzdHMgZnJvbSBhcHAgdXNlcnMgKGRpc3BsYXllZCBpbiBub3RpZmljYXRpb24gbWVzc2FnZSkuICovXG4gIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIHRlbXBsYXRlIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChkZWZhdWx0OiBgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfSdgKS4gKi9cbiAgZ3VpZGVIcmVmVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBCYXNlIFVSTCBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoaW5jbHVkZSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIsIGlmIHlvdSB3YW50IHZlcnNpb25lZCBsaW5rcykuICovXG4gIGRvY3NCYXNlVXJsPzogc3RyaW5nO1xuICAvKiogQ1NQIHN0cmluZyB0byBiZSBhcHBsaWVkIHRvIGBpbmRleC5odG1sYCBieSByZXBsYWNpbmcgZGVmYXVsdCB2YWx1ZXMuICovXG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgY2xvdWQgc2Vuc29yIHdpemFyZCAqL1xuICBzZW5zb3JQaG9uZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgYSBuZXdzbGV0dGVyIHN1YnNjcmlwdGlvbiBjaGVja2JveCBpbiBlZGl0IHVzZXIgbW9kYWwuICovXG4gIG5ld3NsZXR0ZXI/OiBib29sZWFuO1xuICAvKiogUGF0aCB0byB0aGUgcm9vdCBub2RlX21vZHVsZXMgZGlyICh1c2VmdWwgd2hlbiB3b3JraW5nIGluIG1vbm9yZXBvIHNldHVwLCBlLmcuIHlhcm4gd29ya3NwYWNlcykuICovXG4gIHJvb3ROb2RlTW9kdWxlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb29raWUgQmFubmVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgY29va2llQmFubmVyPzogQ29va2llQmFubmVyQ29uZmlndXJhdGlvbjtcbiAgLyoqIENvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLiBIZXJlIHlvdSBjYW4gZW5hYmxlIG9yIGRpc2FibGUgY29va2llIGNhdGVnb3JpZXMgKi9cbiAgY29va2llUHJlZmVyZW5jZXM/OiBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRGVmYXVsdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB6b29tIGxldmVsIHRvIHNldCBvbiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjZW50ZXIgcG9zaXRpb24gb2YgZWFjaCBuZXcgbWFwLlxuICAgKi9cbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBUaWxlTGF5ZXIge1xuICAvKipcbiAgICogVGhlIGxheWVyIHVybCBpbiB0aGUgc3BlY2lmaWMgbGVhZmxldCBmb3JtYXQuXG4gICAqL1xuICBsYXllclVybDogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zLiBOb3RlIHRoaXMgb3B0aW9ucyBhcmUgbm90IHR5cGVkIGFzIGxlYWZsZXQgc2hvdWxkIG5vdCBiZSBieSBkZWZhdWx0IGluY2x1ZGVkLiBUaGUgdHlwZSBmcm9tIGxlYWZsZXQgaXMgTC5UaWxlTGF5ZXJPcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uczogYW55O1xuICAvKipcbiAgICogQSBsYWJlbCB0byBzaG93IHRvIHRoZSBlbmQgdXNlci5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSBsYXllcnMgdG8gYmUgc2hvd24gdG8gdGhlIHVzZXIuIEhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBK005QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV0FSTklORy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVGhpcyBmaWxlIGhhcyBhbiAqZXhhY3QqIGNvcHkgaW4gcGFja2FnZXMvY2xpL3NyYy93ZWJwYWNrLy5cbiAqIEFueSBjaGFuZ2VzIHRvIHRoaXMgZmlsZSBtdXN0IGJlIHJlZmxlY3RlZCB0aGVyZSwgdG9vLlxuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgLyoqIEFwcGxpY2F0aW9uIG5hbWUgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBBcHBsaWNhdGlvbiBjb250ZXh0IHBhdGggKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBjb250ZXh0UGF0aDogc3RyaW5nO1xuICAvKiogQXBwbGljYXRpb24ga2V5IChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAga2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgdmVyc2lvbiBvZiB0aGUgYXBwbGljYXRpb24gKi9cbiAgdmVyc2lvbj86IHN0cmluZztcbiAgLyoqIFRoZSB2ZXJzaW9uIG9mIHRoZSB1c2VkIFdlYlNESyB2ZXJzaW9uICovXG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBjdXN0b20gdHJhbnNsYXRpb25zLiBJdCBpcyBhbiBvcHRpb25hbCBwcm9wZXJ0eS5cbiAgICpcbiAgICogSXRzIGtleXMgYXJlIGxhbmd1YWdlIGNvZGVzIChodHRwczovL2N1bXVsb2NpdHkuY29tL2d1aWRlcy91c2Vycy1ndWlkZS9nZXR0aW5nLXN0YXJ0ZWQvI2EtbmFtZS1sYW5ndWFnZXMtYS1hdmFpbGFibGUtbGFuZ3VhZ2VzKVxuICAgKiBhbmQgaXRzIHZhbHVlcyBhcmUgb2JqZWN0cyB3aXRoIGtleS12YWx1ZSBwYWlycywgd2hlcmUgdGhlIGtleSBpcyB0aGUgb3JpZ2luYWwgc3RyaW5nIGluIEVuZ2xpc2ggYW5kIHRoZSB2YWx1ZSAtIGl0cyB0cmFuc2xhdGlvbi5cbiAgICpcbiAgICogLSBgSG9tZWA6IFwiU3RhcnRzZWl0ZVwiXG4gICAqXG4gICAqIEZvciBleGFtcGxlIHlvdSBjYW4gYWRkIHRoZSB0cmFuc2xhdGlvbiBvZiB5b3VyIGN1c3RvbSBjb29raWUgYmFubmVyIGNvbmZpZ3VyZWQgaW4gdGhlIGJyYW5kaW5nIHNldHRpbmdzOlxuICAgKiBgYGBqc29uXG4gICAqIFwiaTE4bkV4dHJhXCI6IHtcbiAgICogICBcImRlXCI6IHtcbiAgICogICAgIFwiQWJvdXQgY29va2llcyBvbiBDdW11bG9jaXR5IElvVFwiOiBcIkluZm9ybWF0aW9uZW4genUgQ29va2llcyBpbiBDdW11bG9jaXR5IElvVFwiLFxuICAgKiAgICAgXCJDbGljayBBZ3JlZSBhbmQgUHJvY2VlZCB0byBhY2NlcHQgY29va2llcyBhbmQgZ28gZGlyZWN0bHkgdG8gdGhlIHBsYXRmb3JtIG9yIGNsaWNrIG9uIFByaXZhY3kgUG9saWN5IHRvIHNlZSBkZXRhaWxlZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVzZWQgY29va2llcy5cIjogXCJLbGlja2VuIFNpZSBhdWYgWnVzdGltbWVuIHVuZCBmb3J0ZmFocmVuLCB1bSBDb29raWVzIHp1IGFremVwdGllcmVuIHVuZCBkaXJla3QgenVyIFBsYXR0Zm9ybSB6dSBnZWxhbmdlbiwgb2RlciBrbGlja2VuIFNpZSBhdWYgRGF0ZW5zY2h1dHpyaWNodGxpbmllLCB1bSBkZXRhaWxsaWVydGUgQmVzY2hyZWlidW5nZW4gZGVyIHZlcndlbmRldGVuIENvb2tpZXMgYW56dXplaWdlbi5cIlxuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGkxOG5FeHRyYT86IEkxOG5FeHRyYTtcbiAgLyoqIFBhdGggdG8gdGhlIGZvbGRlciBmcm9tIHdoaWNoICoucG8gZmlsZXMgd2lsbCBiZSBsb2FkZWQuICovXG4gIGxvY2FsZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBBcnJheSBvZiBVUkxzIHRvIGFkZGl0aW9uYWwgKi5jc3MgZmlsZXMgdG8gYmUgbG9hZGVkIGF0IHJ1bnRpbWUuICovXG4gIGV4dHJhQ3NzVXJscz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbiBsaW5rcyBzZXR0aW5ncy4gKi9cbiAgZG9jcz86IERvY3M7XG4gIC8qKiBBcHBsaWNhdGlvbiBpY29uIHRvIGJlIGRpc3BsYXllZCBpbiBhcHAgc3dpdGNoZXIgYW5kIGhlYWRlciBiYXIuICovXG4gIGljb24/OiBJY29uO1xuXG4gIC8vIFRoZXNlIGFyZSB0aGUgb2xkIG9wdGlvbnNcbiAgLyoqIEhpZGUgYXBwbGljYXRpb24gaW4gYXBwIHN3aXRjaGVyIChzYXZlZCB0byB0aGUgc2VydmVyKS4gKi9cbiAgbm9BcHBTd2l0Y2hlcj86IGJvb2xlYW47XG4gIC8qKiBIVE1MIHBhZ2UgdGl0bGUuICovXG4gIGdsb2JhbFRpdGxlPzogc3RyaW5nO1xuICAvKiogSGlkZSBcInBvd2VyZWQgYnlcIiBhbmQgdmVyc2lvbiBpbmZvIGF0IHRoZSBib3R0b20gb2YgdGhlIG5hdmlnYXRvciBhbmQgaW4gdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgaGlkZVBvd2VyZWQ/OiBib29sZWFuO1xuICAvKiogSGlkZXMgdGhlIFwiUGxhdGZvcm0gaW5mb3JtYXRpb25cIiBpbiB0aGUgcmlnaHQgZHJhd2VyLCB3aWxsIG92ZXJydWxlIHRoZSBcImhpZGVQb3dlcmVkXCIgb3B0aW9uICovXG4gIGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgLyoqIFNob3dzIHRoZSBsaW5rIHRvIHN1cHBvcnQgcGFnZS4gQWNjZXB0cyB2YWx1ZXM6XG4gICAqIGZhbHNlLCBoaWRlIHRoZSBsaW5rXG4gICAqIHN0cmluZywgdmFsdWUgb2YgdXJsIHRvIGJlIHNob3duXG4gICAqL1xuICBzdXBwb3J0VXJsPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcGxhY2VtZW50IHN0cmluZyBmb3IgYHVzZXJgIGZpZWxkIGluIGF1ZGl0IGxvZ3MgZm9yIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IGEgc3VwcG9ydCB1c2VyXG4gICAqIChhdmFpbGFibGUgcGxhY2Vob2xkZXJzOiBge3tzdXBwb3J0X3VzZXJ9fWAsIGB7e3N1cHBvcnRlZF91c2VyfX1gKS5cbiAgICovXG4gIHN1cHBvcnRVc2VyU3RyaW5nPzogc3RyaW5nO1xuICAvKipcbiAgICogRGlzYWJsZXMgcmVhbHRpbWUgdXBkYXRlcyBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UmVhbHRpbWVEaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRqdXN0IHRoZSBkZWZhdWx0IHBhZ2VzaXplIG9mIDEwMCBpdGVtcyBvZiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0UGFnZVNpemU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gaGlkZSB0aGUgaGludCB0aGF0IHRoZXJlIGFyZSBtb3JlIGRldmljZXMgd2l0aCBnZW8gY29vcmRpbmF0ZXMgdGhlbiBkaXNwbGF5ZWQgb24gdGhlIG1hcCB3aWRnZXQgYW5kIG1hcHMgaW4gZ2VuZXJhbC5cbiAgICovXG4gIG1hcFdpZGdldEhpZGVNYXhEZXZpY2VPbk1hcEhpbnQ/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgdGhlIHJpZ2h0IGRyYXdlci4gKi9cbiAgcmlnaHREcmF3ZXI/OiBib29sZWFuO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgYnJlYWRjcnVtYnMgaW4gdGhlIGhlYWRlciBmb3IgZ3JvdXBzIGFuZCBkZXZpY2VzIChkZWZhdWx0OiBmYWxzZSkuICovXG4gIGJyZWFkY3J1bWJzPzogYm9vbGVhbjtcbiAgLyoqIENvbGxhcHNlIG5hdmlnYXRvciBvbiBpbml0aWFsIGxvYWQuICovXG4gIGhpZGVOYXZpZ2F0b3I/OiBib29sZWFuO1xuICAvKiogU2hvdyB0YWJzIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LiAqL1xuICB0YWJzSG9yaXpvbnRhbD86IGJvb2xlYW47XG4gIC8qKiBBZGRpdGlvbmFsIGxpbmsocykgdG8gZGlzcGxheSBvbiBsb2dpbiBzY3JlZW4uICovXG4gIGxvZ2luRXh0cmFMaW5rPzogTG9naW5FeHRyYUxpbmsgfCBMb2dpbkV4dHJhTGlua1tdO1xuICAvKiogRW5hYmxlIG9yIGRpc2FibGUgc3RvcmFnZSBsaW1pdGF0aW9uIGZlYXR1cmUuICovXG4gIHN0b3JhZ2VMaW1pdGF0aW9uRmVhdHVyZUVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTmFtZSBvZiBjb21wYW55IGhhbmRsaW5nIHN1cHBvcnQgcmVxdWVzdHMgZnJvbSBhcHAgdXNlcnMgKGRpc3BsYXllZCBpbiBub3RpZmljYXRpb24gbWVzc2FnZSkuICovXG4gIGNvbXBhbnlOYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIHRlbXBsYXRlIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChkZWZhdWx0OiBgJyR7ZG9jc0Jhc2VVcmx9JHtwYXJ0aWFsVXJsfSdgKS4gKi9cbiAgZ3VpZGVIcmVmVGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBCYXNlIFVSTCBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoaW5jbHVkZSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIsIGlmIHlvdSB3YW50IHZlcnNpb25lZCBsaW5rcykuICovXG4gIGRvY3NCYXNlVXJsPzogc3RyaW5nO1xuICAvKiogQ1NQIHN0cmluZyB0byBiZSBhcHBsaWVkIHRvIGBpbmRleC5odG1sYCBieSByZXBsYWNpbmcgZGVmYXVsdCB2YWx1ZXMuICovXG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IHN0cmluZztcbiAgLyoqIEVuYWJsZXMgY2xvdWQgc2Vuc29yIHdpemFyZCAqL1xuICBzZW5zb3JQaG9uZT86IGJvb2xlYW47XG4gIC8qKiBTaG93IG9yIGhpZGUgYSBuZXdzbGV0dGVyIHN1YnNjcmlwdGlvbiBjaGVja2JveCBpbiBlZGl0IHVzZXIgbW9kYWwuICovXG4gIG5ld3NsZXR0ZXI/OiBib29sZWFuO1xuICAvKiogUGF0aCB0byB0aGUgcm9vdCBub2RlX21vZHVsZXMgZGlyICh1c2VmdWwgd2hlbiB3b3JraW5nIGluIG1vbm9yZXBvIHNldHVwLCBlLmcuIHlhcm4gd29ya3NwYWNlcykuICovXG4gIHJvb3ROb2RlTW9kdWxlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb29raWUgQmFubmVyIGNvbmZpZ3VyYXRpb24gKi9cbiAgY29va2llQmFubmVyPzogQ29va2llQmFubmVyQ29uZmlndXJhdGlvbjtcbiAgLyoqIENvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLiBIZXJlIHlvdSBjYW4gZW5hYmxlIG9yIGRpc2FibGUgY29va2llIGNhdGVnb3JpZXMgKi9cbiAgY29va2llUHJlZmVyZW5jZXM/OiBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb247XG4gIC8qKiBBIGtleSBmb3IgdGhlIHByb2R1Y3QgZXhwZXJpZW5jZSBzb2Z0d2FyZSBHYWluc2lnaHQuICovXG4gIGdhaW5zaWdodEtleT86IHN0cmluZztcbiAgLyoqIERpc2FibGUgdXNlciB0cmFja2luZyAqL1xuICBkaXNhYmxlVHJhY2tpbmc/OiBib29sZWFuO1xuICAvKiogTmdNb2R1bGUgZXhwb3J0IGZvciBwbHVnaW5zLiAqL1xuICBleHBvcnRzPzogUGx1Z2luc0V4cG9ydHNbXTtcbiAgLyoqIExpc3Qgb2YgaW1wb3J0ZWQgcmVtb3RlIHBsdWdpbnMuICovXG4gIHJlbW90ZXM/OiBSZW1vdGVQbHVnaW5zO1xuICAvKiogVGhlIHBhY2thZ2Ugc291cmNlIGEgYXBwbGljYXRpb24gb3JpZ2lucyBmcm9tIGFzIElBcHBsaWNhdGlvbiBvciBzaW1wbHkgdGhlIGlkIG9mIHRoZSBzb3VyY2UgKi9cbiAgc291cmNlPzogc3RyaW5nIHwgbnVtYmVyIHwgSUFwcGxpY2F0aW9uO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBhc3NldHMgdG8gY29weSB0byB0aGUgYnVpbGQgb3V0cHV0LlxuICAgKiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9jb3B5LXdlYnBhY2stcGx1Z2luIGZvciBtb3JlIGluZm9ybWF0aW9uXG4gICAqIGFib3V0IHRoZSBwYXR0ZXJucyB0byBhZGQgaGVyZS5cbiAgICovXG4gIGNvcHk/OiBbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBlbmFibGUgb3IgZGlzYWJsZSBjb250ZXh0IGhlbHAsIG9yIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIHVzZWQgdG8gbG9hZCBpdHMgY29udGVudHMuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250ZXh0IGhlbHAgdXNlcyB0aGUgc2FtZSBiYXNlIFVSTCBhcyBkZWZpbmVkIGluIHRoZSBgZG9jc0Jhc2VVcmxgIG9wdGlvblxuICAgKiAoaWYgdGhpcyBvcHRpb24gaXMgdW5kZWZpbmVkLCB0aGVuIHRoZSBmb2xsb3dpbmcgdmFsdWUgd2lsbCBiZSB1c2VkOiBgaHR0cHM6Ly93d3cuY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3t7dmVyc2lvbn19YCkuXG4gICAqIEFsdGVybmF0aXZlbHksIGlmIGEgc3RyaW5nIGlzIHByb3ZpZGVkIGhlcmUsIGl0J2xsIGJlIHVzZWQgYXMgdGhlIGJhc2UgVVJMXG4gICAqIGFuZCBhbnkgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyIHdpbGwgYmUgcmVwbGFjZWQgd2l0aCB0aGUgcmVsZXZhbnQgZG9jcyB2ZXJzaW9uLlxuICAgKi9cbiAgY29udGV4dEhlbHA/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY29ja3BpdCBhbmQgZGV2aWNlbWFuYWdlbWVudCB1c2UgdGhlIG9ubHlSb290cyBxdWVyeSB0byByZXNvbHZlIHJvb3Qgbm9kZXMuIFRoaXNcbiAgICogY291bGQgbGVhZCB0byBwZXJmb3JtYW5jZSBpc3N1ZXMsIGlmIGEgY3VzdG9tZXIgaGFzIGEgbG90IG9mIHJvb3Qgbm9kZXMuIFRoZXJlZm9yZSB5b3UgY2FuIGRpc2FibGVcbiAgICogdGhlIHVzZSBvZiB0aGlzIHF1ZXJ5IHdpdGggdGhpcyBmbGFnLlxuICAgKi9cbiAgZGlzYWJsZU9ubHlSb290c1F1ZXJ5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBmb3JjZSBzaG93aW5nIHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBmb3JjZVNldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgYXBwbGljYXRpb24gbmVlZHMgdG8gc2hvdyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgaXNTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGEgV2ViU0RLIGFwcCByZXF1aXJlcyB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4uXG4gICAqIEluIGNhc2UgeW91IHdvdWxkIGxpa2UgdG8gZGV2ZWxvcCBqdXN0IGEgc3RhdGljIGFwcGxpY2F0aW9uLCB0aGF0IGRvZXMgbm90IHJlcXVpcmUgYW55IGtpbmQgb2YgYWNjZXNzIHRvIHRoZSBiYWNrZW5kLFxuICAgKiB5b3UgY2FuIHVzZSB0aGlzIGZsYWcgdG8gZGlzYWJsZSB0aGUgbG9naW4gc2NyZWVuLlxuICAgKiBOT1RFOiBub3QgYWxsIFdlYlNESyBjb21wb25lbnRzIHN1cHBvcnQgdGhpcywgc29tZSBtaWdodCByZXF1aXJlIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbiBhbmQgd29uJ3Qgd29yay5cbiAgICovXG4gIG5vTG9naW4/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2Ygc3VwcG9ydGluZy9sb2FkaW5nIHBsdWdpbnMgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBub1BsdWdpbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIG9wdCBvdXQgb2YgdGhlIHZlcnNpb24gd2FybmluZyB3aGljaCBpcyBzaG93biBpbiB0aGUgZGV2IHRvb2xzLlxuICAgKi9cbiAgbm9WZXJzaW9uV2FybmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IHRoZSBtYXAgbGF5ZXJzLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBvcGVuIHN0cmVldCBtYXAgbGF5ZXIuXG4gICAqL1xuICBtYXBMYXllcnM/OiBNYXBUaWxlTGF5ZXJbXTtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9ucyBvbiB0aGUgbWFwcy5cbiAgICovXG4gIG1hcENvbmZpZz86IE1hcERlZmF1bHRDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgVVJMIHVzZWQgdG8gbG9va3VwIGdlbyBjb29yZGluYXRlcyBmb3IgYSB1c2VyIHByb3ZpZGVkIGFkZHJlc3MgdmlhIFtub21pbmF0aW0gQVBJXShodHRwczovL25vbWluYXRpbS5vcmcvcmVsZWFzZS1kb2NzL2RldmVsb3AvYXBpL1NlYXJjaC8pLlxuICAgKiBDYW4gYmUgc2V0IHRvIGVtcHR5IHRvIGRpc2FibGUgdGhlIGZpbmQgYWRkcmVzcyBmZWF0dXJlIG9uIHRoZSBsb2NhdGlvbiB0YWIuXG4gICAqIFVzZXM6IGBodHRwczovL25vbWluYXRpbS5vcGVuc3RyZWV0bWFwLm9yZy9zZWFyY2g/Zm9ybWF0PWpzb24mcT17c2VhcmNoVGVybX1gIGlmIG5vdCBzZXQuXG4gICAqL1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRGVmYXVsdENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB6b29tIGxldmVsIHRvIHNldCBvbiBlYWNoIG5ldyBtYXAuXG4gICAqL1xuICB6b29tTGV2ZWw/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBjZW50ZXIgcG9zaXRpb24gb2YgZWFjaCBuZXcgbWFwLlxuICAgKi9cbiAgY2VudGVyPzogW251bWJlciwgbnVtYmVyXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBUaWxlTGF5ZXIge1xuICAvKipcbiAgICogVGhlIGxheWVyIHVybCBpbiB0aGUgc3BlY2lmaWMgbGVhZmxldCBmb3JtYXQuXG4gICAqL1xuICBsYXllclVybDogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBvcHRpb25zLiBOb3RlIHRoaXMgb3B0aW9ucyBhcmUgbm90IHR5cGVkIGFzIGxlYWZsZXQgc2hvdWxkIG5vdCBiZSBieSBkZWZhdWx0IGluY2x1ZGVkLiBUaGUgdHlwZSBmcm9tIGxlYWZsZXQgaXMgTC5UaWxlTGF5ZXJPcHRpb25zLlxuICAgKi9cbiAgb3B0aW9uczogYW55O1xuICAvKipcbiAgICogQSBsYWJlbCB0byBzaG93IHRvIHRoZSBlbmQgdXNlci5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIG9yZGVyIG9mIHRoZSBsYXllcnMgdG8gYmUgc2hvd24gdG8gdGhlIHVzZXIuIEhpZ2hlc3QgcHJpb3JpdHkgZmlyc3QuXG4gICAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVQbHVnaW5zIHtcbiAgLyoqXG4gICAqIEEga2V5IHZhbHVlIHBhaXIsIHdoaWxlIHRoZSB2YWx1ZSBpcyBhbiBhcnJheSBvZiBtb2R1bGVzIHRvIGxvYWQgYW5kIHRoZVxuICAgKiBrZXkgaXMgdGhlIGNvbnRleHQgcGF0aC5cbiAgICogQGV4YW1wbGVcbiAgICogYGBganNcbiAgICoge1xuICAgKiAgICAnY29ja3BpdCc6IFsnSG9tZURhc2hib2FyZE1vZHVsZScsICdEYXRhRXhwbG9yZXJEYXNoYm9hcmQnXSxcbiAgICogICAgJ3dpZGdldC1wYWNrYWdlQDEuMC4wJzogWydFeHRlbmRlZE1hcFdpZGdldCddXG4gICAqIH1cbiAgICogYGBcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNFeHBvcnRzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBbmd1bGFyIG1vZHVsZSBjbGFzcy5cbiAgICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGggdG8gdGhlIG1vZHVsZSB0eXBlc2NyaXB0IGZpbGUuXG4gICAqL1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBzaG9ydCBkZXNjcmlwdGlvbiBhYm91dCB3aGF0IHRoZSBtb2R1bGUgZG9lcy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNjb3BlIHRoZSBwbHVnaW4gdG8gY2VydGFpbiBhcHBsaWNhdGlvbnMuIEUuZy4gaWYgeW91XG4gICAqIGFkZCBoZXJlICdjb2NrcGl0JywgdGhlIHBsdWdpbiBjYW4gb25seSBiZSBpbnN0YWxsZWQgaW50byBhblxuICAgKiBhcHBsaWNhdGlvbiBvbiB0aGUgY29udGV4dFBhdGggYGFwcHMvY29ja3BpdGAuIFlvdSBjYW4gdXNlIGNvbW1hXG4gICAqIHNlcGFyYXRlZCB2YWx1ZXMsIGFzdGVyaXNrIChkZWZhdWx0KSB0byBhbGxvdyBhbGwgYXBwbGljYXRpb25zIG9yXG4gICAqIGBzZWxmYCB0byBsaW1pdCB0aGUgcGx1Z2luIHRvIHRoZSBjdXJyZW50IHNvbHV0aW9uLlxuICAgKi9cbiAgc2NvcGU/OiAnKicgfCAnc2VsZicgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llQmFubmVyQ29uZmlndXJhdGlvbiB7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZSBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRpdGxlPzogc3RyaW5nO1xuICAvKiogSGVyZSB5b3UgY2FuIHNldCB0aGUgVGV4dCBvZiBDb29raWUgQmFubmVyICovXG4gIGNvb2tpZUJhbm5lclRleHQ/OiBzdHJpbmc7XG4gIC8qKiBIZXJlIHlvdSBjYW4gc2V0IHRoZSBwb2xpY3lVcmwgb2YgQ29va2llIEJhbm5lciAqL1xuICBwb2xpY3lVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqIFRoaXMgY2F0ZWdvcnkgaW5jbHVkZXMgZS5nLiBjb29raWVzIHJlbGF0ZWQgdG8gbG9nZ2luZyBpbiAgKi9cbiAgcmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIHRyYWNraW5nIGNvb2tpZXMgICovXG4gIGZ1bmN0aW9uYWw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKiogVGhpcyBjYXRlZ29yeSBpbmNsdWRlcyBlLmcuIGNvb2tpZXMgcmVsYXRlZCB0byBhZHZlcnRpc2luZyAgKi9cbiAgbWFya2V0aW5nPzogYm9vbGVhbiB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkV4dHJhTGluayB7XG4gIHVybDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljb24ge1xuICBjbGFzcz86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvY3Mge1xuICAvKiogSGlkZSBkZWZhdWx0IGxpbmtzIHRvIGRvY3VtZW50YXRpb24uICovXG4gIG5vRGVmYXVsdDogYm9vbGVhbjtcbiAgLyoqIExpc3Qgb2YgcmVnZXggc3RyaW5ncy4gTWF0Y2hpbmcgZGVmYXVsdCBkb2NzIFVSTHMgd2lsbCBiZSBoaWRkZW4uICovXG4gIGV4Y2x1ZGVEZWZhdWx0OiBzdHJpbmdbXTtcbiAgLyoqIEFkZGl0aW9uYWwgbGlua3MgdG8gYmUgZGlzcGxheWVkLiAqL1xuICBsaW5rczogTGlua3NbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rcyB7XG4gIC8qKiBJY29uIGNsYXNzZXMgd2l0aCBgYzh5LWljb25gLCBlLmcuIGBjOHktaWNvbiBjOHktaWNvbi1hZGQtdXNlcmAgb3IgYGM4eS1pY29uIGM4eS1pY29uLWRldmljZS1jb25uZWN0YC4gKi9cbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgdHlwZTogJ2RvYycgfCAncXVpY2tsaW5rJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJMThuRXh0cmEge1xuICBbbGFuZ0NvZGU6IHN0cmluZ106IEkxOG5FeHRyYUxhbmdDb2RlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEkxOG5FeHRyYUxhbmdDb2RlIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlcyB7XG4gIFtsYW5nQ29kZTogc3RyaW5nXTogTGFuZ3VhZ2VzTGFuZ0NvZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFuZ3VhZ2VzTGFuZ0NvZGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hdGl2ZU5hbWU6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJhbmRpbmdDc3NWYXJzIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuIl19
@@ -152,7 +152,6 @@ export class WidgetTimeContextComponent {
152
152
  ngOnDestroy() {
153
153
  this.unsubscribeFromGlobalContext();
154
154
  this.clearQueryParamsIfNeeded();
155
- this.stopRealtime();
156
155
  this.destroy$.next();
157
156
  this.destroy$.complete();
158
157
  }
@@ -356,7 +355,9 @@ export class WidgetTimeContextComponent {
356
355
  this.form.controls.temporaryUserSelectedFromDate.disable();
357
356
  this.form.controls.temporaryUserSelectedToDate.disable();
358
357
  this.form.controls.aggregation.disable();
359
- this.realtimeSubscription = interval(this.REALTIME_INTERVAL).subscribe(() => {
358
+ this.realtimeSubscription = interval(this.REALTIME_INTERVAL)
359
+ .pipe(takeUntil(this.destroy$))
360
+ .subscribe(() => {
360
361
  const newDateFrom = new Date(new Date(this.form.value.currentDateContextFromDate).valueOf() + this.REALTIME_INTERVAL);
361
362
  const newDateTo = new Date(new Date(this.form.value.currentDateContextToDate).valueOf() + this.REALTIME_INTERVAL);
362
363
  this.updateFormValues({
@@ -432,4 +433,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
432
433
  type: ViewChild,
433
434
  args: [DashboardChildActionComponent]
434
435
  }] } });
435
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2Rhc2hib2FyZC93aWdldC10aW1lLWNvbnRleHQvd2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb3JlL2Rhc2hib2FyZC93aWdldC10aW1lLWNvbnRleHQvd2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBTUwsWUFBWSxFQUNaLGtCQUFrQixFQUNuQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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QTBCLDZSQWlCMUIsNkJBQTZCLGdEQ3ZEMUMsaXpNQWtMQTsyRkQ1SWEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QixRQUU3QixFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRTtnVUFPMUMsV0FBVztzQkFEVixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBTU4saUJBQWlCO3NCQURoQixNQUFNO2dCQUttQyxNQUFNO3NCQUEvQyxTQUFTO3VCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQ2hpbGRBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9kYXNoYm9hcmQtY2hpbGQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDaGlsZENvbXBvbmVudCB9IGZyb20gJy4uL2Rhc2hib2FyZC1jaGlsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0c0Rhc2hib2FyZEV2ZW50U2VydmljZSB9IGZyb20gJy4uL3dpZGdldHMtZGFzaGJvYXJkLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZVRpbWVDb250ZXh0LCBUaW1lQ29udGV4dEV2ZW50LCBXaWRnZXRUaW1lQ29udGV4dCB9IGZyb20gJy4uL3dpZGdldC1jaGFuZ2UtZXZlbnQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIElucHV0RGF0ZUNvbnRleHRRdWVyeVBhcmFtcyxcbiAgV2lkZ2V0VGltZUNvbnRleHRTdGF0ZSxcbiAgSW50ZXJ2YWwsXG4gIFdpZGdldFRpbWVDb250ZXh0Q2hhbmdlLFxuICBXaWRnZXREaXNwbGF5U2V0dGluZ3MsXG4gIFRpbWVTcGFuSW5NcyxcbiAgQUdHUkVHQVRJT05fTElNSVRTXG59IGZyb20gJy4vd2lkZ2V0LXRpbWUtY29udGV4dC5tb2RlbCc7XG5pbXBvcnQgeyBXaWRnZXRUaW1lQ29udGV4dFF1ZXJ5U2VydmljZSB9IGZyb20gJy4vd2lkZ2V0LXRpbWUtY29udGV4dC1xdWVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpZGdldFRpbWVDb250ZXh0SGVscGVyU2VydmljZSB9IGZyb20gJy4vd2lkZ2V0LXRpbWUtY29udGV4dC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBY3RpdmF0aW9uRW5kLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25CYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLWJhcic7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvblR5cGUgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS13aWRnZXQtdGltZS1jb250ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dpZGdldC10aW1lLWNvbnRleHQuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnZC1mbGV4IGEtaS1jZW50ZXIgZ2FwLTQnIH1cbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0VGltZUNvbnRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbXBvbmVudCBjYW4gZGVjb3VwbGUgb3Igbm90LlxuICAgKi9cbiAgQElucHV0KClcbiAgY2FuRGVjb3VwbGUgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGRpc3BsYXlTZXR0aW5nczogV2lkZ2V0RGlzcGxheVNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBlYWNoIGNoYW5nZSBhcyBhbiBhcnJheSBvZiBkYXRlcyBbZnJvbSwgdG9dLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGRhdGVDb250ZXh0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXRUaW1lQ29udGV4dENoYW5nZT4oKTtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIEBWaWV3Q2hpbGQoRGFzaGJvYXJkQ2hpbGRBY3Rpb25Db21wb25lbnQpIGFjdGlvbjogRGFzaGJvYXJkQ2hpbGRBY3Rpb25Db21wb25lbnQ7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHRpbWUgY29udGV4dCBpcyBib3VuZCB0byB0aGUgZ2xvYmFsIHNjb3BlLlxuICAgKi9cbiAgaXNDb3VwbGVkID0gdHJ1ZTtcbiAgZGVjb3VwbGVUaW1lQ29udGV4dExhYmVsID0gZ2V0dGV4dCgnRGVjb3VwbGUgdGltZSBjb250ZXh0Jyk7XG4gIGNvdXBsZVRpbWVDb250ZXh0TGFiZWwgPSBnZXR0ZXh0KCdDb3VwbGUgdGltZSBjb250ZXh0Jyk7XG4gIGZvcm06IFJldHVyblR5cGU8V2lkZ2V0VGltZUNvbnRleHRDb21wb25lbnRbJ2NyZWF0ZUZvcm0nXT47XG4gIGFjdGlvbkJhckluR3JvdXBQcmlvcml0eTogbnVtYmVyO1xuICBkaXNhYmxlZEFnZ3JlZ2F0aW9uczogUGFydGlhbDxSZWNvcmQ8YWdncmVnYXRpb25UeXBlLCBib29sZWFuPj4gPSB7fTtcbiAgcmVhZG9ubHkgREVGQVVMVF9JTlRFUlZBTDogSW50ZXJ2YWxbJ2lkJ10gPSAnZGF5cyc7XG4gIHJlYWRvbmx5IEFDVElPTl9CQVJfR1JPVVBfSUQgPSAndGltZWNvbnRleHQnO1xuICByZWFkb25seSBSRUFMVElNRV9JTlRFUlZBTCA9IDEwMDA7XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIG5hdmlnYXRpb25JblByb2dyZXNzOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWx0aW1lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIEBpZ25vcmUgb25seSBESS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgd2lkZ2V0RXZlbnRTZXJ2aWNlOiBXaWRnZXRzRGFzaGJvYXJkRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGFzaGJvYXJkQ2hpbGQ6IERhc2hib2FyZENoaWxkQ29tcG9uZW50LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcXVlcnlTZXJ2aWNlOiBXaWRnZXRUaW1lQ29udGV4dFF1ZXJ5U2VydmljZSxcbiAgICBwcml2YXRlIGhlbHBlclNlcnZpY2U6IFdpZGdldFRpbWVDb250ZXh0SGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYWN0aW9uQmFyU2VydmljZTogQWN0aW9uQmFyU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmUgU3Vic2NyaWJpbmcgdG8gdGhlIGdsb2JhbCBjb250ZXh0LlxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpb25CYXJJbkdyb3VwUHJpb3JpdHkgPSB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0QWN0aW9uQmFyUHJpb3JpdHkodGhpcy5kaXNwbGF5U2V0dGluZ3MpO1xuXG4gICAgY29uc3QgaW5pdGlhbENvbnRleHQ6IFdpZGdldFRpbWVDb250ZXh0U3RhdGUgPVxuICAgICAgdGhpcy5nZXRJbml0aWFsQ29udGV4dCgpIHx8IHRoaXMuZ2V0RGVmYXVsdENvbnRleHQoKTtcbiAgICBpbml0aWFsQ29udGV4dC5hZ2dyZWdhdGlvbiA9IHRoaXMuY2FsY3VsYXRlQWdncmVnYXRpb24oXG4gICAgICBpbml0aWFsQ29udGV4dC5kYXRlLFxuICAgICAgaW5pdGlhbENvbnRleHQuYWdncmVnYXRpb25cbiAgICApO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuY3JlYXRlRm9ybShpbml0aWFsQ29udGV4dCk7XG5cbiAgICB0aGlzLmRhdGVDb250ZXh0Q2hhbmdlLmVtaXQoe1xuICAgICAgZGF0ZTogaW5pdGlhbENvbnRleHQuZGF0ZSxcbiAgICAgIHJlYWx0aW1lOiBpbml0aWFsQ29udGV4dC5yZWFsdGltZSxcbiAgICAgIGFnZ3JlZ2F0aW9uOiBpbml0aWFsQ29udGV4dC5hZ2dyZWdhdGlvblxuICAgIH0pO1xuICAgIGlmICh0aGlzLmlzQ291cGxlZCkge1xuICAgICAgdGhpcy5xdWVyeVNlcnZpY2Uuc2V0RGF0ZUNvbnRleHRRdWVyeVBhcmFtcyhpbml0aWFsQ29udGV4dCk7XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaWJlVG9HbG9iYWxDb250ZXh0KCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1F1ZXJ5UGFyYW1zQ2hhbmdlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1JvdXRlckV2ZW50cygpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9JbnRlcnZhbENoYW5nZSgpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9SZWFsdGltZUNoYW5nZSgpO1xuICAgIHRoaXMuc3Vic2NyaWJlVG9BZ2dyZWdhdGlvbkNoYW5nZSgpO1xuXG4gICAgaWYgKGluaXRpYWxDb250ZXh0LnJlYWx0aW1lKSB7XG4gICAgICB0aGlzLm9uUmVhbHRpbWVWYWx1ZUNoYW5nZShpbml0aWFsQ29udGV4dC5yZWFsdGltZSk7XG4gICAgICB0aGlzLnN0YXJ0UmVhbHRpbWUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGlnbm9yZSBBZGRpbmcgY3VzdG9tIGFjdGlvbnMuXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuRGVjb3VwbGUpIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkQ2hpbGQuYWRkQWN0aW9ucyhbdGhpcy5hY3Rpb25dKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgY291cGxpbmcgb24gb3Igb2ZmLlxuICAgKi9cbiAgdG9nZ2xlRGVjb3VwbGluZygpOiB2b2lkIHtcbiAgICB0aGlzLmlzQ291cGxlZCA9ICF0aGlzLmlzQ291cGxlZDtcbiAgICBjb25zdCBsYXN0RXZlbnRWYWx1ZSA9IHRoaXMud2lkZ2V0RXZlbnRTZXJ2aWNlLmdldExhc3RWYWx1ZSgnVElNRV9DT05URVhUJyk7XG4gICAgY29uc3QgeyByZWFsdGltZSwgYWdncmVnYXRpb24sIGludGVydmFsIH0gPSBsYXN0RXZlbnRWYWx1ZTtcbiAgICBsZXQgZGF0ZTogRGF0ZVRpbWVDb250ZXh0O1xuICAgIGlmIChpbnRlcnZhbCkge1xuICAgICAgZGF0ZSA9IHRoaXMuaGVscGVyU2VydmljZS5nZXREYXRlVGltZUNvbnRleHRCeUludGVydmFsKGludGVydmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGF0ZSA9IGxhc3RFdmVudFZhbHVlLmRhdGVUaW1lQ29udGV4dDtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWVzKHsgZGF0ZSwgaW50ZXJ2YWwsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbiB9KTtcblxuICAgIGlmICh0aGlzLmlzQ291cGxlZCkge1xuICAgICAgdGhpcy5zdWJzY3JpYmVUb0dsb2JhbENvbnRleHQoKTtcbiAgICAgIHRoaXMuZGF0ZUNvbnRleHRDaGFuZ2UuZW1pdCh7IGRhdGUsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbiB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51bnN1YnNjcmliZUZyb21HbG9iYWxDb250ZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgZm9ybSB2YWx1ZSB0byBnbG9iYWwgb3IgbG9jYWwgZGF0ZSBjb250ZXh0LlxuICAgKi9cbiAgYXBwbHlEYXRldGltZUNvbnRleHQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGUoe1xuICAgICAgZGF0ZTogW1xuICAgICAgICBuZXcgRGF0ZSh0aGlzLmZvcm0udmFsdWUudGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGUpLFxuICAgICAgICBuZXcgRGF0ZSh0aGlzLmZvcm0udmFsdWUudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlKVxuICAgICAgXSxcbiAgICAgIGludGVydmFsOiBudWxsLFxuICAgICAgcmVhbHRpbWU6IHRoaXMuZm9ybS52YWx1ZS5yZWFsdGltZSxcbiAgICAgIGFnZ3JlZ2F0aW9uOiB0aGlzLmZvcm0udmFsdWUuYWdncmVnYXRpb25cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgZm9ybSB0byBpbml0aWFsIHZhbHVlIGFuZCB1cGRhdGUgY29udGV4dC5cbiAgICovXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcFJlYWx0aW1lKCk7XG4gICAgdGhpcy51cGRhdGUodGhpcy5nZXREZWZhdWx0Q29udGV4dCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlIHVuc3Vic2NyaWJpbmcuXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUdsb2JhbENvbnRleHQoKTtcbiAgICB0aGlzLmNsZWFyUXVlcnlQYXJhbXNJZk5lZWRlZCgpO1xuICAgIHRoaXMuc3RvcFJlYWx0aW1lKCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0ludGVydmFsQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5jdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoaW50ZXJ2YWwgPT4ge1xuICAgICAgICBpZiAoaW50ZXJ2YWwgIT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuaGVscGVyU2VydmljZS5nZXREYXRlVGltZUNvbnRleHRCeUludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgaW50ZXJ2YWwsXG4gICAgICAgICAgICByZWFsdGltZTogdGhpcy5mb3JtLnZhbHVlLnJlYWx0aW1lLFxuICAgICAgICAgICAgYWdncmVnYXRpb246IHRoaXMuZm9ybS52YWx1ZS5hZ2dyZWdhdGlvblxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9SZWFsdGltZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMucmVhbHRpbWUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocmVhbHRpbWUgPT4ge1xuICAgICAgdGhpcy5vblJlYWx0aW1lVmFsdWVDaGFuZ2UocmVhbHRpbWUpO1xuXG4gICAgICBpZiAocmVhbHRpbWUpIHtcbiAgICAgICAgdGhpcy5zdGFydFJlYWx0aW1lKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3BSZWFsdGltZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0FnZ3JlZ2F0aW9uQ2hhbmdlKCkge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZ2dyZWdhdGlvbi52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoYWdncmVnYXRpb24gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgZGF0ZTogW1xuICAgICAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlKSxcbiAgICAgICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGUpXG4gICAgICAgICAgXSxcbiAgICAgICAgICBpbnRlcnZhbDogdGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEludGVydmFsLFxuICAgICAgICAgIHJlYWx0aW1lOiB0aGlzLmZvcm0udmFsdWUucmVhbHRpbWUsXG4gICAgICAgICAgYWdncmVnYXRpb25cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybShjb250ZXh0OiBXaWRnZXRUaW1lQ29udGV4dFN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgdGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGU6IGNvbnRleHQuZGF0ZVswXS50b0lTT1N0cmluZygpLFxuICAgICAgdGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlOiBjb250ZXh0LmRhdGVbMV0udG9JU09TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlOiBjb250ZXh0LmRhdGVbMF0udG9JU09TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnREYXRlQ29udGV4dFRvRGF0ZTogY29udGV4dC5kYXRlWzFdLnRvSVNPU3RyaW5nKCksXG4gICAgICBjdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbDogY29udGV4dC5pbnRlcnZhbCB8fCAnY3VzdG9tJyxcbiAgICAgIHJlYWx0aW1lOiBjb250ZXh0LnJlYWx0aW1lLFxuICAgICAgYWdncmVnYXRpb246IGNvbnRleHQuYWdncmVnYXRpb25cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyBhIG5ldyBXaWRnZXRDaGFuZ2VFdmVudCBlaXRoZXIgb24gdGhlIGxvY2FsIGNoYW5nZSBlbWl0dGVyIG9yIG9uIHRoZSBnbG9iYWwgb25lLlxuICAgKiBAcGFyYW0gd2lkZ2V0VGltZUNvbnRleHRTdGF0ZSBOZXcgd2lkZ2V0IHRpbWUgY29udGV4dCB2YWx1ZS4qL1xuICBwcml2YXRlIHVwZGF0ZSh7IGRhdGUsIGludGVydmFsLCByZWFsdGltZSwgYWdncmVnYXRpb24gfTogV2lkZ2V0VGltZUNvbnRleHRTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkQWdncmVnYXRpb24gPSB0aGlzLmNhbGN1bGF0ZUFnZ3JlZ2F0aW9uKGRhdGUsIGFnZ3JlZ2F0aW9uKTtcbiAgICBpZiAodGhpcy5pc0NvdXBsZWQpIHtcbiAgICAgIGNvbnN0IGV2ZW50RGF0YTogV2lkZ2V0VGltZUNvbnRleHQgPVxuICAgICAgICBpbnRlcnZhbCAmJiBpbnRlcnZhbCAhPT0gJ2N1c3RvbSdcbiAgICAgICAgICA/IHsgaW50ZXJ2YWwsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9XG4gICAgICAgICAgOiB7IGRhdGVUaW1lQ29udGV4dDogZGF0ZSwgcmVhbHRpbWUsIGFnZ3JlZ2F0aW9uOiB2YWxpZEFnZ3JlZ2F0aW9uIH07XG4gICAgICB0aGlzLndpZGdldEV2ZW50U2VydmljZS5lbWl0KHsgdHlwZTogJ1RJTUVfQ09OVEVYVCcsIGRhdGE6IGV2ZW50RGF0YSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWVzKHsgZGF0ZSwgaW50ZXJ2YWwsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9KTtcbiAgICAgIHRoaXMuZGF0ZUNvbnRleHRDaGFuZ2UuZW1pdCh7IGRhdGUsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvR2xvYmFsQ29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudCQgPSB0aGlzLndpZGdldEV2ZW50U2VydmljZS5nZXRPYnNlcnZhYmxlPFRpbWVDb250ZXh0RXZlbnQ+KCdUSU1FX0NPTlRFWFQnKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGV2ZW50JC5zdWJzY3JpYmUoKGNvbnRleHQ6IFdpZGdldFRpbWVDb250ZXh0KSA9PiB7XG4gICAgICBsZXQgZGF0ZTogRGF0ZVRpbWVDb250ZXh0O1xuICAgICAgY29uc3QgeyByZWFsdGltZSwgaW50ZXJ2YWwsIGFnZ3JlZ2F0aW9uIH0gPSBjb250ZXh0O1xuICAgICAgaWYgKGludGVydmFsKSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbChjb250ZXh0LmludGVydmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGUgPSBjb250ZXh0LmRhdGVUaW1lQ29udGV4dDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kYXRlQ29udGV4dENoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0ZSxcbiAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgIGFnZ3JlZ2F0aW9uXG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlcyh7IGRhdGUsIGludGVydmFsLCByZWFsdGltZSwgYWdncmVnYXRpb24gfSk7XG4gICAgICB0aGlzLnF1ZXJ5U2VydmljZS5zZXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zKHsgaW50ZXJ2YWwsIGRhdGUsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbiB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybVZhbHVlcyh7XG4gICAgZGF0ZSxcbiAgICBpbnRlcnZhbCxcbiAgICByZWFsdGltZSxcbiAgICBhZ2dyZWdhdGlvblxuICB9OiBXaWRnZXRUaW1lQ29udGV4dFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoXG4gICAgICB7XG4gICAgICAgIHRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlOiBkYXRlWzBdLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIHRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZTogZGF0ZVsxXS50b0lTT1N0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZUNvbnRleHRGcm9tRGF0ZTogZGF0ZVswXS50b0lTT1N0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZUNvbnRleHRUb0RhdGU6IGRhdGVbMV0udG9JU09TdHJpbmcoKSxcbiAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgIGN1cnJlbnREYXRlQ29udGV4dEludGVydmFsOiBpbnRlcnZhbCB8fCAnY3VzdG9tJyxcbiAgICAgICAgYWdncmVnYXRpb246IGFnZ3JlZ2F0aW9uIHx8IG51bGxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUZyb21HbG9iYWxDb250ZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDb250ZXh0KCk6IFdpZGdldFRpbWVDb250ZXh0U3RhdGUgfCBudWxsIHtcbiAgICBjb25zdCBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMgPSB0aGlzLnF1ZXJ5U2VydmljZS5kYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICBpZiAoZGF0ZVRpbWVDb250ZXh0RnJvbVF1ZXJ5UGFyYW1zKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMsXG4gICAgICAgIHJlYWx0aW1lOiBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMucmVhbHRpbWUgPz8gZmFsc2UsXG4gICAgICAgIGFnZ3JlZ2F0aW9uOiBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMucmVhbHRpbWVcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IGRhdGVUaW1lQ29udGV4dEZyb21RdWVyeVBhcmFtcy5hZ2dyZWdhdGlvbiB8fCBudWxsXG4gICAgICB9O1xuICAgIH1cbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBsYXN0IHZhbHVlIG9mIGV2ZW50cyBzZXJ2aWNlXG4gICAgY29uc3QgbGFzdEV2ZW50VmFsdWUgPSB0aGlzLndpZGdldEV2ZW50U2VydmljZS5nZXRMYXN0VmFsdWUoJ1RJTUVfQ09OVEVYVCcpO1xuICAgIGNvbnN0IHJlYWx0aW1lID0gbGFzdEV2ZW50VmFsdWU/LnJlYWx0aW1lID8/IGZhbHNlO1xuICAgIGlmIChsYXN0RXZlbnRWYWx1ZSAmJiBsYXN0RXZlbnRWYWx1ZS5kYXRlVGltZUNvbnRleHQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGU6IGxhc3RFdmVudFZhbHVlLmRhdGVUaW1lQ29udGV4dCxcbiAgICAgICAgaW50ZXJ2YWw6ICdjdXN0b20nLFxuICAgICAgICByZWFsdGltZSxcbiAgICAgICAgYWdncmVnYXRpb246IHJlYWx0aW1lID8gbnVsbCA6IGxhc3RFdmVudFZhbHVlLmFnZ3JlZ2F0aW9uXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAobGFzdEV2ZW50VmFsdWUgJiYgbGFzdEV2ZW50VmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGU6IHRoaXMuaGVscGVyU2VydmljZS5nZXREYXRlVGltZUNvbnRleHRCeUludGVydmFsKGxhc3RFdmVudFZhbHVlLmludGVydmFsKSxcbiAgICAgICAgaW50ZXJ2YWw6IGxhc3RFdmVudFZhbHVlLmludGVydmFsLFxuICAgICAgICByZWFsdGltZSxcbiAgICAgICAgYWdncmVnYXRpb246IHJlYWx0aW1lID8gbnVsbCA6IGxhc3RFdmVudFZhbHVlLmFnZ3JlZ2F0aW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1F1ZXJ5UGFyYW1zQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZXJ2aWNlXG4gICAgICAucXVlcnlQYXJhbXNDaGFuZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICh7XG4gICAgICAgICAgZGF0ZUNvbnRleHRGcm9tLFxuICAgICAgICAgIGRhdGVDb250ZXh0VG8sXG4gICAgICAgICAgZGF0ZUNvbnRleHRJbnRlcnZhbCxcbiAgICAgICAgICBkYXRlQ29udGV4dFJlYWx0aW1lLFxuICAgICAgICAgIGRhdGVDb250ZXh0QWdncmVnYXRpb25cbiAgICAgICAgfTogSW5wdXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVhbHRpbWUgPSBkYXRlQ29udGV4dFJlYWx0aW1lID8/IHRoaXMuZm9ybS52YWx1ZS5yZWFsdGltZTtcbiAgICAgICAgICBpZiAoZGF0ZUNvbnRleHRJbnRlcnZhbCkge1xuICAgICAgICAgICAgdGhpcy53aWRnZXRFdmVudFNlcnZpY2UuZW1pdCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdUSU1FX0NPTlRFWFQnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWw6IGRhdGVDb250ZXh0SW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb246IGRhdGVDb250ZXh0QWdncmVnYXRpb25cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVDb250ZXh0OiBEYXRlVGltZUNvbnRleHQgPSBbXG4gICAgICAgICAgICAgIG5ldyBEYXRlKGRhdGVDb250ZXh0RnJvbSksXG4gICAgICAgICAgICAgIG5ldyBEYXRlKGRhdGVDb250ZXh0VG8pXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgdGhpcy53aWRnZXRFdmVudFNlcnZpY2UuZW1pdCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdUSU1FX0NPTlRFWFQnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0ZVRpbWVDb250ZXh0OiBkYXRlQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZWFsdGltZSxcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbjogZGF0ZUNvbnRleHRBZ2dyZWdhdGlvblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUXVlcnlQYXJhbXNJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICAvLyBJZiBuYXZpZ2F0aW9uIGlzIGluIHByb2dyZXNzLCByb3V0ZXIgd2lsbCB0YWtlIGNhcmUgb2YgY2xlYXJpbmcgcXVlcnkgcGFyYW1zLiBUaGlzIHdheSB3ZSBhdm9pZCB1bm5lY2Vzc2FyeSBtYW5pcHVsYXRpb24gb2YgYnJvd3NlciBoaXN0b3J5XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2hlY2sgaWYgYW55IG90aGVyIFdpZGdldFRpbWVDb250ZXh0Q29tcG9uZW50IGFjdGlvbiBpbiBhY3Rpb24gYmFyIGV4aXN0c1xuICAgIGNvbnN0IGFueVdpZGdldFRpbWVDb250ZXh0QWN0aW9uTGVmdCA9IEFycmF5LmZyb20odGhpcy5hY3Rpb25CYXJTZXJ2aWNlLnN0YXRlKS5zb21lKFxuICAgICAgYWN0aW9uID0+IGFjdGlvbi5ncm91cElkID09PSB0aGlzLkFDVElPTl9CQVJfR1JPVVBfSURcbiAgICApO1xuICAgIGlmICghYW55V2lkZ2V0VGltZUNvbnRleHRBY3Rpb25MZWZ0KSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VydmljZS5jbGVhclF1ZXJ5UGFyYW1zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1JvdXRlckV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgZSA9PlxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBlIGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZFxuICAgICAgICApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRDb250ZXh0KCk6IFdpZGdldFRpbWVDb250ZXh0U3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRlOiB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbCh0aGlzLkRFRkFVTFRfSU5URVJWQUwpLFxuICAgICAgaW50ZXJ2YWw6IHRoaXMuREVGQVVMVF9JTlRFUlZBTCxcbiAgICAgIHJlYWx0aW1lOiBmYWxzZSxcbiAgICAgIGFnZ3JlZ2F0aW9uOiBhZ2dyZWdhdGlvblR5cGUuTUlOVVRFTFlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJlYWx0aW1lKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFnZ3JlZ2F0aW9uLmRpc2FibGUoKTtcblxuICAgIHRoaXMucmVhbHRpbWVTdWJzY3JpcHRpb24gPSBpbnRlcnZhbCh0aGlzLlJFQUxUSU1FX0lOVEVSVkFMKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbmV3RGF0ZUZyb20gPSBuZXcgRGF0ZShcbiAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlKS52YWx1ZU9mKCkgKyB0aGlzLlJFQUxUSU1FX0lOVEVSVkFMXG4gICAgICApO1xuICAgICAgY29uc3QgbmV3RGF0ZVRvID0gbmV3IERhdGUoXG4gICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGUpLnZhbHVlT2YoKSArIHRoaXMuUkVBTFRJTUVfSU5URVJWQUxcbiAgICAgICk7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZXMoe1xuICAgICAgICBkYXRlOiBbbmV3RGF0ZUZyb20sIG5ld0RhdGVUb10sXG4gICAgICAgIGludGVydmFsOiB0aGlzLmZvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0SW50ZXJ2YWwsXG4gICAgICAgIHJlYWx0aW1lOiB0cnVlLFxuICAgICAgICBhZ2dyZWdhdGlvbjogbnVsbFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BSZWFsdGltZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlYWx0aW1lU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZm9ybT8uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGUuZW5hYmxlKCk7XG4gICAgdGhpcy5mb3JtPy5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGUuZW5hYmxlKCk7XG4gICAgdGhpcy5mb3JtPy5jb250cm9scy5hZ2dyZWdhdGlvbi5lbmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZWFsdGltZVZhbHVlQ2hhbmdlKHJlYWx0aW1lOiBib29sZWFuKTogdm9pZCB7XG4gICAgbGV0IGRhdGVUaW1lQ29udGV4dDogRGF0ZVRpbWVDb250ZXh0O1xuICAgIGlmICh0aGlzLmZvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0SW50ZXJ2YWwgIT09ICdjdXN0b20nKSB7XG4gICAgICBkYXRlVGltZUNvbnRleHQgPSB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbChcbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEludGVydmFsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjdXJyZW50VGltZVNwYW5Jbk1zID1cbiAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dFRvRGF0ZSkudmFsdWVPZigpIC1cbiAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlKS52YWx1ZU9mKCk7XG4gICAgICBjb25zdCBkYXRlVG8gPSBuZXcgRGF0ZSgpO1xuICAgICAgY29uc3QgZGF0ZUZyb20gPSBuZXcgRGF0ZShkYXRlVG8udmFsdWVPZigpIC0gY3VycmVudFRpbWVTcGFuSW5Ncyk7XG4gICAgICBkYXRlVGltZUNvbnRleHQgPSBbZGF0ZUZyb20sIGRhdGVUb107XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGUoe1xuICAgICAgZGF0ZTogZGF0ZVRpbWVDb250ZXh0LFxuICAgICAgaW50ZXJ2YWw6IHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbCxcbiAgICAgIHJlYWx0aW1lLFxuICAgICAgYWdncmVnYXRpb246IG51bGxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlQWdncmVnYXRpb24oXG4gICAgW2RhdGVGcm9tLCBkYXRlVG9dOiBEYXRlVGltZUNvbnRleHQsXG4gICAgYWdncmVnYXRpb246IGFnZ3JlZ2F0aW9uVHlwZVxuICApOiBhZ2dyZWdhdGlvblR5cGUge1xuICAgIGNvbnN0IHRpbWVSYW5nZUluTXMgPSBkYXRlVG8udmFsdWVPZigpIC0gZGF0ZUZyb20udmFsdWVPZigpO1xuICAgIHRoaXMuZGlzYWJsZWRBZ2dyZWdhdGlvbnMgPSB7XG4gICAgICBEQUlMWTogdGltZVJhbmdlSW5NcyA8PSBUaW1lU3BhbkluTXMuREFZLFxuICAgICAgSE9VUkxZOiB0aW1lUmFuZ2VJbk1zIDw9IFRpbWVTcGFuSW5Ncy5IT1VSLFxuICAgICAgTUlOVVRFTFk6IHRpbWVSYW5nZUluTXMgPD0gVGltZVNwYW5Jbk1zLk1JTlVURVxuICAgIH07XG4gICAgY29uc3QgaXNQcm9wZXJBZ2dyZWdhdGlvbiA9ICF0aGlzLmRpc2FibGVkQWdncmVnYXRpb25zW2FnZ3JlZ2F0aW9uXSB8fCBhZ2dyZWdhdGlvbiA9PT0gbnVsbDtcbiAgICBpZiAoaXNQcm9wZXJBZ2dyZWdhdGlvbikge1xuICAgICAgcmV0dXJuIGFnZ3JlZ2F0aW9uO1xuICAgIH1cblxuICAgIGlmICh0aW1lUmFuZ2VJbk1zID49IEFHR1JFR0FUSU9OX0xJTUlUUy5EQUlMWV9MSU1JVCkge1xuICAgICAgcmV0dXJuIGFnZ3JlZ2F0aW9uVHlwZS5EQUlMWTtcbiAgICB9IGVsc2UgaWYgKHRpbWVSYW5nZUluTXMgPj0gQUdHUkVHQVRJT05fTElNSVRTLkhPVVJMWV9MSU1JVCkge1xuICAgICAgcmV0dXJuIGFnZ3JlZ2F0aW9uVHlwZS5IT1VSTFk7XG4gICAgfSBlbHNlIGlmICh0aW1lUmFuZ2VJbk1zID49IEFHR1JFR0FUSU9OX0xJTUlUUy5NSU5VVEVMWV9MSU1JVCkge1xuICAgICAgcmV0dXJuIGFnZ3JlZ2F0aW9uVHlwZS5NSU5VVEVMWTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG4iLCI8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICAqbmdJZj1cImlzQ291cGxlZFwiXG4gIFtncm91cElkXT1cIkFDVElPTl9CQVJfR1JPVVBfSURcIlxuICBbaW5Hcm91cFByaW9yaXR5XT1cImFjdGlvbkJhckluR3JvdXBQcmlvcml0eVwiXG4gIFtwbGFjZW1lbnRdPVwiJ2xlZnQnXCJcbiAgaXRlbUNsYXNzPVwibmF2YmFyLWZvcm1cIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF0ZVRpbWVQaWNrZXJcIlxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICBkYXRlOiBbZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRGcm9tRGF0ZSwgZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGVdXG4gICAgfVwiXG4gID48L25nLWNvbnRhaW5lcj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIiFpc0NvdXBsZWRcIlxuICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlVGltZVBpY2tlclwiXG4gIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgZGF0ZTogW2Zvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0RnJvbURhdGUsIGZvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0VG9EYXRlXVxuICB9XCJcbj48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlXG4gICNkYXRlVGltZVBpY2tlclxuICBsZXQtZGF0ZT1cImRhdGVcIlxuPlxuICA8Zm9ybVxuICAgIGNsYXNzPVwiZC1mbGV4LXNtXCJcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlTZXR0aW5ncy5nbG9iYWxUaW1lQ29udGV4dFwiPlxuICAgICAgPGxhYmVsPnt7ICdSYW5nZScgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImRyb3Bkb3duIG0tci00IG0tdC14cy00IG0tYi14cy00XCJcbiAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXG4gICAgICAgICNkcm9wZG93bj1cImJzLWRyb3Bkb3duXCJcbiAgICAgICAgZHJvcGRvd25cbiAgICAgICAgW2luc2lkZUNsaWNrXT1cInRydWVcIlxuICAgICAgICAqbmdJZj1cImRhdGVcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgZm9ybS1jb250cm9sIGwtaC0xIGQtZmxleCBhLWktY2VudGVyXCJcbiAgICAgICAgICB0aXRsZT1cInt7IGRhdGVbMF0gfCBjOHlEYXRlOiAnc2hvcnQnIH19IOKAlCB7eyBkYXRlWzFdIHwgYzh5RGF0ZTogJ3Nob3J0JyB9fVwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBkYXRhLWN5PVwid2lkZ2V0LXRpbWUtY29udGV4dC0tc2VsZWN0ZWQtdGltZS1yYW5nZVwiPlxuICAgICAgICAgICAge3sgZGF0ZVswXSB8IGM4eURhdGU6ICdzaG9ydERhdGUnIH19IOKAlCB7eyBkYXRlWzFdIHwgYzh5RGF0ZTogJ3Nob3J0RGF0ZScgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJldCBtLXItOCBtLWwtNFwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LS1kYXRlLXJhbmdlXCJcbiAgICAgICAgICAqZHJvcGRvd25NZW51XG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0xNlwiPlxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZvcm0uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGUuZXJyb3JzID8gJ2hhcy1lcnJvcicgOiAnJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInRnJvbWBkYXRlYCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIGZvcj1cInRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEZyb21gZGF0ZWBcbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGM4eS1kYXRlLXRpbWUtcGlja2VyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZVwiXG4gICAgICAgICAgICAgICAgW21heERhdGVdPVwiZm9ybS52YWx1ZS50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRnJvbWBkYXRlYCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlLmVycm9ycyA/ICdoYXMtZXJyb3InIDogJydcIlxuICAgICAgICAgICAgICA+PC9jOHktZGF0ZS10aW1lLXBpY2tlcj5cbiAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlLmVycm9yc1wiPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImRhdGVBZnRlclJhbmdlTWF4XCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIidUaGlzIGRhdGUgaXMgYWZ0ZXIgdGhlIGxhdGVzdCBhbGxvd2VkIGRhdGUuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaW52YWxpZERhdGVUaW1lXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIidUaGlzIGRhdGUgaXMgaW52YWxpZC4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZT5cbiAgICAgICAgICAgICAgPC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuXG4gICAgICAgICAgICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGUuZXJyb3JzID8gJ2hhcy1lcnJvcicgOiAnJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInVG9gZGF0ZWAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBmb3I9XCJ0ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGVcIlxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgVG9gZGF0ZWBcbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGM4eS1kYXRlLXRpbWUtcGlja2VyXG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGVcIlxuICAgICAgICAgICAgICAgIFttaW5EYXRlXT1cImZvcm0udmFsdWUudGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInVG9gZGF0ZWAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGVcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZvcm0uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlLmVycm9ycyA/ICdoYXMtZXJyb3InIDogJydcIlxuICAgICAgICAgICAgICA+PC9jOHktZGF0ZS10aW1lLXBpY2tlcj5cbiAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlcyBbc2hvd109XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZS5lcnJvcnNcIj5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJkYXRlQmVmb3JlUmFuZ2VNaW5cIlxuICAgICAgICAgICAgICAgICAgW3RleHRdPVwiJ1RoaXMgZGF0ZSBpcyBiZWZvcmUgdGhlIGVhcmxpZXN0IGFsbG93ZWQgZGF0ZS4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZT5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJpbnZhbGlkRGF0ZVRpbWVcIlxuICAgICAgICAgICAgICAgICAgW3RleHRdPVwiJ1RoaXMgZGF0ZSBpcyBpbnZhbGlkLicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlPlxuICAgICAgICAgICAgICA8L2M4eS1tZXNzYWdlcz5cbiAgICAgICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC0xNiBkLWZsZXggZ2FwLTggc2VwYXJhdG9yLXRvcFwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tc20gZmxleC1ncm93XCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnUmVzZXQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJyZXNldCgpOyBkcm9wZG93bi5pc09wZW4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLnZhbHVlLnJlYWx0aW1lXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc20gZmxleC1ncm93XCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQXBwbHknIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhcHBseURhdGV0aW1lQ29udGV4dCgpOyBkcm9wZG93bi5pc09wZW4gPSBmYWxzZVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoZm9ybS5wcmlzdGluZSAmJiBmb3JtLnVudG91Y2hlZCkgfHwgZm9ybS5pbnZhbGlkIHx8IGZvcm0udmFsdWUucmVhbHRpbWVcIlxuICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQXBwbHlcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYzh5LXNlbGVjdC13cmFwcGVyIG0tdC14cy00IG0tYi14cy00IGQtaW5saW5lLWJsb2NrLXhzXCI+XG4gICAgICAgIDxjOHktaW50ZXJ2YWwtcGlja2VyIGZvcm1Db250cm9sTmFtZT1cImN1cnJlbnREYXRlQ29udGV4dEludGVydmFsXCI+PC9jOHktaW50ZXJ2YWwtcGlja2VyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cIm0tbC04IGQtaW5saW5lLWJsb2NrLXhzXCJcbiAgICAgICpuZ0lmPVwiZGlzcGxheVNldHRpbmdzLmdsb2JhbFJlYWx0aW1lQ29udGV4dFwiXG4gICAgPlxuICAgICAgPGM4eS1yZWFsdGltZS1jb250cm9sIGZvcm1Db250cm9sTmFtZT1cInJlYWx0aW1lXCI+PC9jOHktcmVhbHRpbWUtY29udHJvbD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiZGlzcGxheVNldHRpbmdzLmdsb2JhbEFnZ3JlZ2F0aW9uQ29udGV4dFwiXG4gICAgICBjbGFzcz1cImM4eS1zZWxlY3Qtd3JhcHBlciBtLXQteHMtNCBtLWIteHMtNCBkLWlubGluZS1ibG9jay14cyBtLWwtOFwiXG4gICAgPlxuICAgICAgPGM4eS1hZ2dyZWdhdGlvbi1waWNrZXJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRpb25cIlxuICAgICAgICBbZGlzYWJsZWRBZ2dyZWdhdGlvbnNdPVwiZGlzYWJsZWRBZ2dyZWdhdGlvbnNcIlxuICAgICAgPjwvYzh5LWFnZ3JlZ2F0aW9uLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGM4eS1kYXNoYm9hcmQtY2hpbGQtYWN0aW9uPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInRvZ2dsZURlY291cGxpbmcoKVwiXG4gID5cbiAgICA8aSBbYzh5SWNvbl09XCJpc0NvdXBsZWQgPyAnc2NoZWR1bGUxJyA6ICd0b2RheSdcIj48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWwtNFwiPlxuICAgICAge3sgKGlzQ291cGxlZCA/IGRlY291cGxlVGltZUNvbnRleHRMYWJlbCA6IGNvdXBsZVRpbWVDb250ZXh0TGFiZWwpIHwgdHJhbnNsYXRlIH19XG4gICAgPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvYzh5LWRhc2hib2FyZC1jaGlsZC1hY3Rpb24+XG4iXX0=
436
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2Rhc2hib2FyZC93aWdldC10aW1lLWNvbnRleHQvd2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb3JlL2Rhc2hib2FyZC93aWdldC10aW1lLWNvbnRleHQvd2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDckMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBTUwsWUFBWSxFQUNaLGtCQUFrQixFQUNuQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztB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Y1UsMEJBQTBCOzJHQUExQiwwQkFBMEIsNlJBaUIxQiw2QkFBNkIsZ0RDdkQxQyxpek1Ba0xBOzJGRDVJYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UseUJBQXlCLFFBRTdCLEVBQUUsS0FBSyxFQUFFLHlCQUF5QixFQUFFO2dVQU8xQyxXQUFXO3NCQURWLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFNTixpQkFBaUI7c0JBRGhCLE1BQU07Z0JBS21DLE1BQU07c0JBQS9DLFNBQVM7dUJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbnRlcnZhbCwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXNoYm9hcmRDaGlsZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2Rhc2hib2FyZC1jaGlsZC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERhc2hib2FyZENoaWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZGFzaGJvYXJkLWNoaWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRzRGFzaGJvYXJkRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vd2lkZ2V0cy1kYXNoYm9hcmQtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBEYXRlVGltZUNvbnRleHQsIFRpbWVDb250ZXh0RXZlbnQsIFdpZGdldFRpbWVDb250ZXh0IH0gZnJvbSAnLi4vd2lkZ2V0LWNoYW5nZS1ldmVudC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgSW5wdXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zLFxuICBXaWRnZXRUaW1lQ29udGV4dFN0YXRlLFxuICBJbnRlcnZhbCxcbiAgV2lkZ2V0VGltZUNvbnRleHRDaGFuZ2UsXG4gIFdpZGdldERpc3BsYXlTZXR0aW5ncyxcbiAgVGltZVNwYW5Jbk1zLFxuICBBR0dSRUdBVElPTl9MSU1JVFNcbn0gZnJvbSAnLi93aWRnZXQtdGltZS1jb250ZXh0Lm1vZGVsJztcbmltcG9ydCB7IFdpZGdldFRpbWVDb250ZXh0UXVlcnlTZXJ2aWNlIH0gZnJvbSAnLi93aWRnZXQtdGltZS1jb250ZXh0LXF1ZXJ5LnNlcnZpY2UnO1xuaW1wb3J0IHsgV2lkZ2V0VGltZUNvbnRleHRIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi93aWRnZXQtdGltZS1jb250ZXh0LWhlbHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRpb25FbmQsIE5hdmlnYXRpb25FbmQsIE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24tYmFyJztcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uVHlwZSB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXdpZGdldC10aW1lLWNvbnRleHQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd2lkZ2V0LXRpbWUtY29udGV4dC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdkLWZsZXggYS1pLWNlbnRlciBnYXAtNCcgfVxufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRUaW1lQ29udGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgY29tcG9uZW50IGNhbiBkZWNvdXBsZSBvciBub3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBjYW5EZWNvdXBsZSA9IHRydWU7XG5cbiAgQElucHV0KCkgZGlzcGxheVNldHRpbmdzOiBXaWRnZXREaXNwbGF5U2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGVhY2ggY2hhbmdlIGFzIGFuIGFycmF5IG9mIGRhdGVzIFtmcm9tLCB0b10uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgZGF0ZUNvbnRleHRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFdpZGdldFRpbWVDb250ZXh0Q2hhbmdlPigpO1xuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgQFZpZXdDaGlsZChEYXNoYm9hcmRDaGlsZEFjdGlvbkNvbXBvbmVudCkgYWN0aW9uOiBEYXNoYm9hcmRDaGlsZEFjdGlvbkNvbXBvbmVudDtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgdGltZSBjb250ZXh0IGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgc2NvcGUuXG4gICAqL1xuICBpc0NvdXBsZWQgPSB0cnVlO1xuICBkZWNvdXBsZVRpbWVDb250ZXh0TGFiZWwgPSBnZXR0ZXh0KCdEZWNvdXBsZSB0aW1lIGNvbnRleHQnKTtcbiAgY291cGxlVGltZUNvbnRleHRMYWJlbCA9IGdldHRleHQoJ0NvdXBsZSB0aW1lIGNvbnRleHQnKTtcbiAgZm9ybTogUmV0dXJuVHlwZTxXaWRnZXRUaW1lQ29udGV4dENvbXBvbmVudFsnY3JlYXRlRm9ybSddPjtcbiAgYWN0aW9uQmFySW5Hcm91cFByaW9yaXR5OiBudW1iZXI7XG4gIGRpc2FibGVkQWdncmVnYXRpb25zOiBQYXJ0aWFsPFJlY29yZDxhZ2dyZWdhdGlvblR5cGUsIGJvb2xlYW4+PiA9IHt9O1xuICByZWFkb25seSBERUZBVUxUX0lOVEVSVkFMOiBJbnRlcnZhbFsnaWQnXSA9ICdkYXlzJztcbiAgcmVhZG9ubHkgQUNUSU9OX0JBUl9HUk9VUF9JRCA9ICd0aW1lY29udGV4dCc7XG4gIHJlYWRvbmx5IFJFQUxUSU1FX0lOVEVSVkFMID0gMTAwMDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgbmF2aWdhdGlvbkluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhbHRpbWVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQGlnbm9yZSBvbmx5IERJLlxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3aWRnZXRFdmVudFNlcnZpY2U6IFdpZGdldHNEYXNoYm9hcmRFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkYXNoYm9hcmRDaGlsZDogRGFzaGJvYXJkQ2hpbGRDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBxdWVyeVNlcnZpY2U6IFdpZGdldFRpbWVDb250ZXh0UXVlcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgaGVscGVyU2VydmljZTogV2lkZ2V0VGltZUNvbnRleHRIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3Rpb25CYXJTZXJ2aWNlOiBBY3Rpb25CYXJTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogQGlnbm9yZSBTdWJzY3JpYmluZyB0byB0aGUgZ2xvYmFsIGNvbnRleHQuXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGlvbkJhckluR3JvdXBQcmlvcml0eSA9IHRoaXMuaGVscGVyU2VydmljZS5nZXRBY3Rpb25CYXJQcmlvcml0eSh0aGlzLmRpc3BsYXlTZXR0aW5ncyk7XG5cbiAgICBjb25zdCBpbml0aWFsQ29udGV4dDogV2lkZ2V0VGltZUNvbnRleHRTdGF0ZSA9XG4gICAgICB0aGlzLmdldEluaXRpYWxDb250ZXh0KCkgfHwgdGhpcy5nZXREZWZhdWx0Q29udGV4dCgpO1xuICAgIGluaXRpYWxDb250ZXh0LmFnZ3JlZ2F0aW9uID0gdGhpcy5jYWxjdWxhdGVBZ2dyZWdhdGlvbihcbiAgICAgIGluaXRpYWxDb250ZXh0LmRhdGUsXG4gICAgICBpbml0aWFsQ29udGV4dC5hZ2dyZWdhdGlvblxuICAgICk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5jcmVhdGVGb3JtKGluaXRpYWxDb250ZXh0KTtcblxuICAgIHRoaXMuZGF0ZUNvbnRleHRDaGFuZ2UuZW1pdCh7XG4gICAgICBkYXRlOiBpbml0aWFsQ29udGV4dC5kYXRlLFxuICAgICAgcmVhbHRpbWU6IGluaXRpYWxDb250ZXh0LnJlYWx0aW1lLFxuICAgICAgYWdncmVnYXRpb246IGluaXRpYWxDb250ZXh0LmFnZ3JlZ2F0aW9uXG4gICAgfSk7XG4gICAgaWYgKHRoaXMuaXNDb3VwbGVkKSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VydmljZS5zZXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zKGluaXRpYWxDb250ZXh0KTtcbiAgICB9XG4gICAgdGhpcy5zdWJzY3JpYmVUb0dsb2JhbENvbnRleHQoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvUXVlcnlQYXJhbXNDaGFuZ2UoKTtcbiAgICB0aGlzLnN1YnNjcmliZVRvUm91dGVyRXZlbnRzKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0ludGVydmFsQ2hhbmdlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1JlYWx0aW1lQ2hhbmdlKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb0FnZ3JlZ2F0aW9uQ2hhbmdlKCk7XG5cbiAgICBpZiAoaW5pdGlhbENvbnRleHQucmVhbHRpbWUpIHtcbiAgICAgIHRoaXMub25SZWFsdGltZVZhbHVlQ2hhbmdlKGluaXRpYWxDb250ZXh0LnJlYWx0aW1lKTtcbiAgICAgIHRoaXMuc3RhcnRSZWFsdGltZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAaWdub3JlIEFkZGluZyBjdXN0b20gYWN0aW9ucy5cbiAgICovXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYW5EZWNvdXBsZSkge1xuICAgICAgdGhpcy5kYXNoYm9hcmRDaGlsZC5hZGRBY3Rpb25zKFt0aGlzLmFjdGlvbl0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBjb3VwbGluZyBvbiBvciBvZmYuXG4gICAqL1xuICB0b2dnbGVEZWNvdXBsaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb3VwbGVkID0gIXRoaXMuaXNDb3VwbGVkO1xuICAgIGNvbnN0IGxhc3RFdmVudFZhbHVlID0gdGhpcy53aWRnZXRFdmVudFNlcnZpY2UuZ2V0TGFzdFZhbHVlKCdUSU1FX0NPTlRFWFQnKTtcbiAgICBjb25zdCB7IHJlYWx0aW1lLCBhZ2dyZWdhdGlvbiwgaW50ZXJ2YWwgfSA9IGxhc3RFdmVudFZhbHVlO1xuICAgIGxldCBkYXRlOiBEYXRlVGltZUNvbnRleHQ7XG4gICAgaWYgKGludGVydmFsKSB7XG4gICAgICBkYXRlID0gdGhpcy5oZWxwZXJTZXJ2aWNlLmdldERhdGVUaW1lQ29udGV4dEJ5SW50ZXJ2YWwoaW50ZXJ2YWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkYXRlID0gbGFzdEV2ZW50VmFsdWUuZGF0ZVRpbWVDb250ZXh0O1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZXMoeyBkYXRlLCBpbnRlcnZhbCwgcmVhbHRpbWUsIGFnZ3JlZ2F0aW9uIH0pO1xuXG4gICAgaWYgKHRoaXMuaXNDb3VwbGVkKSB7XG4gICAgICB0aGlzLnN1YnNjcmliZVRvR2xvYmFsQ29udGV4dCgpO1xuICAgICAgdGhpcy5kYXRlQ29udGV4dENoYW5nZS5lbWl0KHsgZGF0ZSwgcmVhbHRpbWUsIGFnZ3JlZ2F0aW9uIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlRnJvbUdsb2JhbENvbnRleHQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBmb3JtIHZhbHVlIHRvIGdsb2JhbCBvciBsb2NhbCBkYXRlIGNvbnRleHQuXG4gICAqL1xuICBhcHBseURhdGV0aW1lQ29udGV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICBkYXRlOiBbXG4gICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZSksXG4gICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGUpXG4gICAgICBdLFxuICAgICAgaW50ZXJ2YWw6IG51bGwsXG4gICAgICByZWFsdGltZTogdGhpcy5mb3JtLnZhbHVlLnJlYWx0aW1lLFxuICAgICAgYWdncmVnYXRpb246IHRoaXMuZm9ybS52YWx1ZS5hZ2dyZWdhdGlvblxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyBmb3JtIHRvIGluaXRpYWwgdmFsdWUgYW5kIHVwZGF0ZSBjb250ZXh0LlxuICAgKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wUmVhbHRpbWUoKTtcbiAgICB0aGlzLnVwZGF0ZSh0aGlzLmdldERlZmF1bHRDb250ZXh0KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmUgdW5zdWJzY3JpYmluZy5cbiAgICovXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmVGcm9tR2xvYmFsQ29udGV4dCgpO1xuICAgIHRoaXMuY2xlYXJRdWVyeVBhcmFtc0lmTmVlZGVkKCk7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0ludGVydmFsQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5jdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoaW50ZXJ2YWwgPT4ge1xuICAgICAgICBpZiAoaW50ZXJ2YWwgIT09ICdjdXN0b20nKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuaGVscGVyU2VydmljZS5nZXREYXRlVGltZUNvbnRleHRCeUludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBkYXRlLFxuICAgICAgICAgICAgaW50ZXJ2YWwsXG4gICAgICAgICAgICByZWFsdGltZTogdGhpcy5mb3JtLnZhbHVlLnJlYWx0aW1lLFxuICAgICAgICAgICAgYWdncmVnYXRpb246IHRoaXMuZm9ybS52YWx1ZS5hZ2dyZWdhdGlvblxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9SZWFsdGltZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMucmVhbHRpbWUudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocmVhbHRpbWUgPT4ge1xuICAgICAgdGhpcy5vblJlYWx0aW1lVmFsdWVDaGFuZ2UocmVhbHRpbWUpO1xuXG4gICAgICBpZiAocmVhbHRpbWUpIHtcbiAgICAgICAgdGhpcy5zdGFydFJlYWx0aW1lKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3BSZWFsdGltZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0FnZ3JlZ2F0aW9uQ2hhbmdlKCkge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5hZ2dyZWdhdGlvbi52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoYWdncmVnYXRpb24gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgZGF0ZTogW1xuICAgICAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlKSxcbiAgICAgICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGUpXG4gICAgICAgICAgXSxcbiAgICAgICAgICBpbnRlcnZhbDogdGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEludGVydmFsLFxuICAgICAgICAgIHJlYWx0aW1lOiB0aGlzLmZvcm0udmFsdWUucmVhbHRpbWUsXG4gICAgICAgICAgYWdncmVnYXRpb25cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9ybShjb250ZXh0OiBXaWRnZXRUaW1lQ29udGV4dFN0YXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgdGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGU6IGNvbnRleHQuZGF0ZVswXS50b0lTT1N0cmluZygpLFxuICAgICAgdGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlOiBjb250ZXh0LmRhdGVbMV0udG9JU09TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlOiBjb250ZXh0LmRhdGVbMF0udG9JU09TdHJpbmcoKSxcbiAgICAgIGN1cnJlbnREYXRlQ29udGV4dFRvRGF0ZTogY29udGV4dC5kYXRlWzFdLnRvSVNPU3RyaW5nKCksXG4gICAgICBjdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbDogY29udGV4dC5pbnRlcnZhbCB8fCAnY3VzdG9tJyxcbiAgICAgIHJlYWx0aW1lOiBjb250ZXh0LnJlYWx0aW1lLFxuICAgICAgYWdncmVnYXRpb246IGNvbnRleHQuYWdncmVnYXRpb25cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyBhIG5ldyBXaWRnZXRDaGFuZ2VFdmVudCBlaXRoZXIgb24gdGhlIGxvY2FsIGNoYW5nZSBlbWl0dGVyIG9yIG9uIHRoZSBnbG9iYWwgb25lLlxuICAgKiBAcGFyYW0gd2lkZ2V0VGltZUNvbnRleHRTdGF0ZSBOZXcgd2lkZ2V0IHRpbWUgY29udGV4dCB2YWx1ZS4qL1xuICBwcml2YXRlIHVwZGF0ZSh7IGRhdGUsIGludGVydmFsLCByZWFsdGltZSwgYWdncmVnYXRpb24gfTogV2lkZ2V0VGltZUNvbnRleHRTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkQWdncmVnYXRpb24gPSB0aGlzLmNhbGN1bGF0ZUFnZ3JlZ2F0aW9uKGRhdGUsIGFnZ3JlZ2F0aW9uKTtcbiAgICBpZiAodGhpcy5pc0NvdXBsZWQpIHtcbiAgICAgIGNvbnN0IGV2ZW50RGF0YTogV2lkZ2V0VGltZUNvbnRleHQgPVxuICAgICAgICBpbnRlcnZhbCAmJiBpbnRlcnZhbCAhPT0gJ2N1c3RvbSdcbiAgICAgICAgICA/IHsgaW50ZXJ2YWwsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9XG4gICAgICAgICAgOiB7IGRhdGVUaW1lQ29udGV4dDogZGF0ZSwgcmVhbHRpbWUsIGFnZ3JlZ2F0aW9uOiB2YWxpZEFnZ3JlZ2F0aW9uIH07XG4gICAgICB0aGlzLndpZGdldEV2ZW50U2VydmljZS5lbWl0KHsgdHlwZTogJ1RJTUVfQ09OVEVYVCcsIGRhdGE6IGV2ZW50RGF0YSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWVzKHsgZGF0ZSwgaW50ZXJ2YWwsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9KTtcbiAgICAgIHRoaXMuZGF0ZUNvbnRleHRDaGFuZ2UuZW1pdCh7IGRhdGUsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbjogdmFsaWRBZ2dyZWdhdGlvbiB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvR2xvYmFsQ29udGV4dCgpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudCQgPSB0aGlzLndpZGdldEV2ZW50U2VydmljZS5nZXRPYnNlcnZhYmxlPFRpbWVDb250ZXh0RXZlbnQ+KCdUSU1FX0NPTlRFWFQnKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGV2ZW50JC5zdWJzY3JpYmUoKGNvbnRleHQ6IFdpZGdldFRpbWVDb250ZXh0KSA9PiB7XG4gICAgICBsZXQgZGF0ZTogRGF0ZVRpbWVDb250ZXh0O1xuICAgICAgY29uc3QgeyByZWFsdGltZSwgaW50ZXJ2YWwsIGFnZ3JlZ2F0aW9uIH0gPSBjb250ZXh0O1xuICAgICAgaWYgKGludGVydmFsKSB7XG4gICAgICAgIGRhdGUgPSB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbChjb250ZXh0LmludGVydmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGUgPSBjb250ZXh0LmRhdGVUaW1lQ29udGV4dDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kYXRlQ29udGV4dENoYW5nZS5lbWl0KHtcbiAgICAgICAgZGF0ZSxcbiAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgIGFnZ3JlZ2F0aW9uXG4gICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlcyh7IGRhdGUsIGludGVydmFsLCByZWFsdGltZSwgYWdncmVnYXRpb24gfSk7XG4gICAgICB0aGlzLnF1ZXJ5U2VydmljZS5zZXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zKHsgaW50ZXJ2YWwsIGRhdGUsIHJlYWx0aW1lLCBhZ2dyZWdhdGlvbiB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybVZhbHVlcyh7XG4gICAgZGF0ZSxcbiAgICBpbnRlcnZhbCxcbiAgICByZWFsdGltZSxcbiAgICBhZ2dyZWdhdGlvblxuICB9OiBXaWRnZXRUaW1lQ29udGV4dFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoXG4gICAgICB7XG4gICAgICAgIHRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlOiBkYXRlWzBdLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIHRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZTogZGF0ZVsxXS50b0lTT1N0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZUNvbnRleHRGcm9tRGF0ZTogZGF0ZVswXS50b0lTT1N0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZUNvbnRleHRUb0RhdGU6IGRhdGVbMV0udG9JU09TdHJpbmcoKSxcbiAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgIGN1cnJlbnREYXRlQ29udGV4dEludGVydmFsOiBpbnRlcnZhbCB8fCAnY3VzdG9tJyxcbiAgICAgICAgYWdncmVnYXRpb246IGFnZ3JlZ2F0aW9uIHx8IG51bGxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUZyb21HbG9iYWxDb250ZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDb250ZXh0KCk6IFdpZGdldFRpbWVDb250ZXh0U3RhdGUgfCBudWxsIHtcbiAgICBjb25zdCBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMgPSB0aGlzLnF1ZXJ5U2VydmljZS5kYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICBpZiAoZGF0ZVRpbWVDb250ZXh0RnJvbVF1ZXJ5UGFyYW1zKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMsXG4gICAgICAgIHJlYWx0aW1lOiBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMucmVhbHRpbWUgPz8gZmFsc2UsXG4gICAgICAgIGFnZ3JlZ2F0aW9uOiBkYXRlVGltZUNvbnRleHRGcm9tUXVlcnlQYXJhbXMucmVhbHRpbWVcbiAgICAgICAgICA/IG51bGxcbiAgICAgICAgICA6IGRhdGVUaW1lQ29udGV4dEZyb21RdWVyeVBhcmFtcy5hZ2dyZWdhdGlvbiB8fCBudWxsXG4gICAgICB9O1xuICAgIH1cbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBsYXN0IHZhbHVlIG9mIGV2ZW50cyBzZXJ2aWNlXG4gICAgY29uc3QgbGFzdEV2ZW50VmFsdWUgPSB0aGlzLndpZGdldEV2ZW50U2VydmljZS5nZXRMYXN0VmFsdWUoJ1RJTUVfQ09OVEVYVCcpO1xuICAgIGNvbnN0IHJlYWx0aW1lID0gbGFzdEV2ZW50VmFsdWU/LnJlYWx0aW1lID8/IGZhbHNlO1xuICAgIGlmIChsYXN0RXZlbnRWYWx1ZSAmJiBsYXN0RXZlbnRWYWx1ZS5kYXRlVGltZUNvbnRleHQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGU6IGxhc3RFdmVudFZhbHVlLmRhdGVUaW1lQ29udGV4dCxcbiAgICAgICAgaW50ZXJ2YWw6ICdjdXN0b20nLFxuICAgICAgICByZWFsdGltZSxcbiAgICAgICAgYWdncmVnYXRpb246IHJlYWx0aW1lID8gbnVsbCA6IGxhc3RFdmVudFZhbHVlLmFnZ3JlZ2F0aW9uXG4gICAgICB9O1xuICAgIH1cbiAgICBpZiAobGFzdEV2ZW50VmFsdWUgJiYgbGFzdEV2ZW50VmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGRhdGU6IHRoaXMuaGVscGVyU2VydmljZS5nZXREYXRlVGltZUNvbnRleHRCeUludGVydmFsKGxhc3RFdmVudFZhbHVlLmludGVydmFsKSxcbiAgICAgICAgaW50ZXJ2YWw6IGxhc3RFdmVudFZhbHVlLmludGVydmFsLFxuICAgICAgICByZWFsdGltZSxcbiAgICAgICAgYWdncmVnYXRpb246IHJlYWx0aW1lID8gbnVsbCA6IGxhc3RFdmVudFZhbHVlLmFnZ3JlZ2F0aW9uXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1F1ZXJ5UGFyYW1zQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZXJ2aWNlXG4gICAgICAucXVlcnlQYXJhbXNDaGFuZ2UkKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICh7XG4gICAgICAgICAgZGF0ZUNvbnRleHRGcm9tLFxuICAgICAgICAgIGRhdGVDb250ZXh0VG8sXG4gICAgICAgICAgZGF0ZUNvbnRleHRJbnRlcnZhbCxcbiAgICAgICAgICBkYXRlQ29udGV4dFJlYWx0aW1lLFxuICAgICAgICAgIGRhdGVDb250ZXh0QWdncmVnYXRpb25cbiAgICAgICAgfTogSW5wdXREYXRlQ29udGV4dFF1ZXJ5UGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVhbHRpbWUgPSBkYXRlQ29udGV4dFJlYWx0aW1lID8/IHRoaXMuZm9ybS52YWx1ZS5yZWFsdGltZTtcbiAgICAgICAgICBpZiAoZGF0ZUNvbnRleHRJbnRlcnZhbCkge1xuICAgICAgICAgICAgdGhpcy53aWRnZXRFdmVudFNlcnZpY2UuZW1pdCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdUSU1FX0NPTlRFWFQnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWw6IGRhdGVDb250ZXh0SW50ZXJ2YWwsXG4gICAgICAgICAgICAgICAgcmVhbHRpbWUsXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb246IGRhdGVDb250ZXh0QWdncmVnYXRpb25cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVDb250ZXh0OiBEYXRlVGltZUNvbnRleHQgPSBbXG4gICAgICAgICAgICAgIG5ldyBEYXRlKGRhdGVDb250ZXh0RnJvbSksXG4gICAgICAgICAgICAgIG5ldyBEYXRlKGRhdGVDb250ZXh0VG8pXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgdGhpcy53aWRnZXRFdmVudFNlcnZpY2UuZW1pdCh7XG4gICAgICAgICAgICAgIHR5cGU6ICdUSU1FX0NPTlRFWFQnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZGF0ZVRpbWVDb250ZXh0OiBkYXRlQ29udGV4dCxcbiAgICAgICAgICAgICAgICByZWFsdGltZSxcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbjogZGF0ZUNvbnRleHRBZ2dyZWdhdGlvblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyUXVlcnlQYXJhbXNJZk5lZWRlZCgpOiB2b2lkIHtcbiAgICAvLyBJZiBuYXZpZ2F0aW9uIGlzIGluIHByb2dyZXNzLCByb3V0ZXIgd2lsbCB0YWtlIGNhcmUgb2YgY2xlYXJpbmcgcXVlcnkgcGFyYW1zLiBUaGlzIHdheSB3ZSBhdm9pZCB1bm5lY2Vzc2FyeSBtYW5pcHVsYXRpb24gb2YgYnJvd3NlciBoaXN0b3J5XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2hlY2sgaWYgYW55IG90aGVyIFdpZGdldFRpbWVDb250ZXh0Q29tcG9uZW50IGFjdGlvbiBpbiBhY3Rpb24gYmFyIGV4aXN0c1xuICAgIGNvbnN0IGFueVdpZGdldFRpbWVDb250ZXh0QWN0aW9uTGVmdCA9IEFycmF5LmZyb20odGhpcy5hY3Rpb25CYXJTZXJ2aWNlLnN0YXRlKS5zb21lKFxuICAgICAgYWN0aW9uID0+IGFjdGlvbi5ncm91cElkID09PSB0aGlzLkFDVElPTl9CQVJfR1JPVVBfSURcbiAgICApO1xuICAgIGlmICghYW55V2lkZ2V0VGltZUNvbnRleHRBY3Rpb25MZWZ0KSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VydmljZS5jbGVhclF1ZXJ5UGFyYW1zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb1JvdXRlckV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgZSA9PlxuICAgICAgICAgICAgZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBlIGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZFxuICAgICAgICApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgIHRoaXMubmF2aWdhdGlvbkluUHJvZ3Jlc3MgPSBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0O1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRDb250ZXh0KCk6IFdpZGdldFRpbWVDb250ZXh0U3RhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBkYXRlOiB0aGlzLmhlbHBlclNlcnZpY2UuZ2V0RGF0ZVRpbWVDb250ZXh0QnlJbnRlcnZhbCh0aGlzLkRFRkFVTFRfSU5URVJWQUwpLFxuICAgICAgaW50ZXJ2YWw6IHRoaXMuREVGQVVMVF9JTlRFUlZBTCxcbiAgICAgIHJlYWx0aW1lOiBmYWxzZSxcbiAgICAgIGFnZ3JlZ2F0aW9uOiBhZ2dyZWdhdGlvblR5cGUuTUlOVVRFTFlcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJlYWx0aW1lKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLmFnZ3JlZ2F0aW9uLmRpc2FibGUoKTtcblxuICAgIHRoaXMucmVhbHRpbWVTdWJzY3JpcHRpb24gPSBpbnRlcnZhbCh0aGlzLlJFQUxUSU1FX0lOVEVSVkFMKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0RhdGVGcm9tID0gbmV3IERhdGUoXG4gICAgICAgICAgbmV3IERhdGUodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlKS52YWx1ZU9mKCkgKyB0aGlzLlJFQUxUSU1FX0lOVEVSVkFMXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IG5ld0RhdGVUbyA9IG5ldyBEYXRlKFxuICAgICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGUpLnZhbHVlT2YoKSArIHRoaXMuUkVBTFRJTUVfSU5URVJWQUxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWVzKHtcbiAgICAgICAgICBkYXRlOiBbbmV3RGF0ZUZyb20sIG5ld0RhdGVUb10sXG4gICAgICAgICAgaW50ZXJ2YWw6IHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbCxcbiAgICAgICAgICByZWFsdGltZTogdHJ1ZSxcbiAgICAgICAgICBhZ2dyZWdhdGlvbjogbnVsbFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUmVhbHRpbWUoKTogdm9pZCB7XG4gICAgdGhpcy5yZWFsdGltZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZvcm0/LmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlLmVuYWJsZSgpO1xuICAgIHRoaXMuZm9ybT8uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlLmVuYWJsZSgpO1xuICAgIHRoaXMuZm9ybT8uY29udHJvbHMuYWdncmVnYXRpb24uZW5hYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIG9uUmVhbHRpbWVWYWx1ZUNoYW5nZShyZWFsdGltZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGxldCBkYXRlVGltZUNvbnRleHQ6IERhdGVUaW1lQ29udGV4dDtcbiAgICBpZiAodGhpcy5mb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEludGVydmFsICE9PSAnY3VzdG9tJykge1xuICAgICAgZGF0ZVRpbWVDb250ZXh0ID0gdGhpcy5oZWxwZXJTZXJ2aWNlLmdldERhdGVUaW1lQ29udGV4dEJ5SW50ZXJ2YWwoXG4gICAgICAgIHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY3VycmVudFRpbWVTcGFuSW5NcyA9XG4gICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRUb0RhdGUpLnZhbHVlT2YoKSAtXG4gICAgICAgIG5ldyBEYXRlKHRoaXMuZm9ybS52YWx1ZS5jdXJyZW50RGF0ZUNvbnRleHRGcm9tRGF0ZSkudmFsdWVPZigpO1xuICAgICAgY29uc3QgZGF0ZVRvID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IGRhdGVGcm9tID0gbmV3IERhdGUoZGF0ZVRvLnZhbHVlT2YoKSAtIGN1cnJlbnRUaW1lU3BhbkluTXMpO1xuICAgICAgZGF0ZVRpbWVDb250ZXh0ID0gW2RhdGVGcm9tLCBkYXRlVG9dO1xuICAgIH1cblxuICAgIHRoaXMudXBkYXRlKHtcbiAgICAgIGRhdGU6IGRhdGVUaW1lQ29udGV4dCxcbiAgICAgIGludGVydmFsOiB0aGlzLmZvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0SW50ZXJ2YWwsXG4gICAgICByZWFsdGltZSxcbiAgICAgIGFnZ3JlZ2F0aW9uOiBudWxsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUFnZ3JlZ2F0aW9uKFxuICAgIFtkYXRlRnJvbSwgZGF0ZVRvXTogRGF0ZVRpbWVDb250ZXh0LFxuICAgIGFnZ3JlZ2F0aW9uOiBhZ2dyZWdhdGlvblR5cGVcbiAgKTogYWdncmVnYXRpb25UeXBlIHtcbiAgICBjb25zdCB0aW1lUmFuZ2VJbk1zID0gZGF0ZVRvLnZhbHVlT2YoKSAtIGRhdGVGcm9tLnZhbHVlT2YoKTtcbiAgICB0aGlzLmRpc2FibGVkQWdncmVnYXRpb25zID0ge1xuICAgICAgREFJTFk6IHRpbWVSYW5nZUluTXMgPD0gVGltZVNwYW5Jbk1zLkRBWSxcbiAgICAgIEhPVVJMWTogdGltZVJhbmdlSW5NcyA8PSBUaW1lU3BhbkluTXMuSE9VUixcbiAgICAgIE1JTlVURUxZOiB0aW1lUmFuZ2VJbk1zIDw9IFRpbWVTcGFuSW5Ncy5NSU5VVEVcbiAgICB9O1xuICAgIGNvbnN0IGlzUHJvcGVyQWdncmVnYXRpb24gPSAhdGhpcy5kaXNhYmxlZEFnZ3JlZ2F0aW9uc1thZ2dyZWdhdGlvbl0gfHwgYWdncmVnYXRpb24gPT09IG51bGw7XG4gICAgaWYgKGlzUHJvcGVyQWdncmVnYXRpb24pIHtcbiAgICAgIHJldHVybiBhZ2dyZWdhdGlvbjtcbiAgICB9XG5cbiAgICBpZiAodGltZVJhbmdlSW5NcyA+PSBBR0dSRUdBVElPTl9MSU1JVFMuREFJTFlfTElNSVQpIHtcbiAgICAgIHJldHVybiBhZ2dyZWdhdGlvblR5cGUuREFJTFk7XG4gICAgfSBlbHNlIGlmICh0aW1lUmFuZ2VJbk1zID49IEFHR1JFR0FUSU9OX0xJTUlUUy5IT1VSTFlfTElNSVQpIHtcbiAgICAgIHJldHVybiBhZ2dyZWdhdGlvblR5cGUuSE9VUkxZO1xuICAgIH0gZWxzZSBpZiAodGltZVJhbmdlSW5NcyA+PSBBR0dSRUdBVElPTl9MSU1JVFMuTUlOVVRFTFlfTElNSVQpIHtcbiAgICAgIHJldHVybiBhZ2dyZWdhdGlvblR5cGUuTUlOVVRFTFk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxufVxuIiwiPGM4eS1hY3Rpb24tYmFyLWl0ZW1cbiAgKm5nSWY9XCJpc0NvdXBsZWRcIlxuICBbZ3JvdXBJZF09XCJBQ1RJT05fQkFSX0dST1VQX0lEXCJcbiAgW2luR3JvdXBQcmlvcml0eV09XCJhY3Rpb25CYXJJbkdyb3VwUHJpb3JpdHlcIlxuICBbcGxhY2VtZW50XT1cIidsZWZ0J1wiXG4gIGl0ZW1DbGFzcz1cIm5hdmJhci1mb3JtXCJcbj5cbiAgPG5nLWNvbnRhaW5lclxuICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVUaW1lUGlja2VyXCJcbiAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgZGF0ZTogW2Zvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0RnJvbURhdGUsIGZvcm0udmFsdWUuY3VycmVudERhdGVDb250ZXh0VG9EYXRlXVxuICAgIH1cIlxuICA+PC9uZy1jb250YWluZXI+XG48L2M4eS1hY3Rpb24tYmFyLWl0ZW0+XG5cbjxuZy1jb250YWluZXJcbiAgKm5nSWY9XCIhaXNDb3VwbGVkXCJcbiAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF0ZVRpbWVQaWNrZXJcIlxuICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgIGRhdGU6IFtmb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dEZyb21EYXRlLCBmb3JtLnZhbHVlLmN1cnJlbnREYXRlQ29udGV4dFRvRGF0ZV1cbiAgfVwiXG4+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGF0ZVRpbWVQaWNrZXJcbiAgbGV0LWRhdGU9XCJkYXRlXCJcbj5cbiAgPGZvcm1cbiAgICBjbGFzcz1cImQtZmxleC1zbVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5U2V0dGluZ3MuZ2xvYmFsVGltZUNvbnRleHRcIj5cbiAgICAgIDxsYWJlbD57eyAnUmFuZ2UnIHwgdHJhbnNsYXRlIH19PC9sYWJlbD5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJkcm9wZG93biBtLXItNCBtLXQteHMtNCBtLWIteHMtNFwiXG4gICAgICAgIGNvbnRhaW5lcj1cImJvZHlcIlxuICAgICAgICAjZHJvcGRvd249XCJicy1kcm9wZG93blwiXG4gICAgICAgIGRyb3Bkb3duXG4gICAgICAgIFtpbnNpZGVDbGlja109XCJ0cnVlXCJcbiAgICAgICAgKm5nSWY9XCJkYXRlXCJcbiAgICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIGZvcm0tY29udHJvbCBsLWgtMSBkLWZsZXggYS1pLWNlbnRlclwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyBkYXRlWzBdIHwgYzh5RGF0ZTogJ3Nob3J0JyB9fSDigJQge3sgZGF0ZVsxXSB8IGM4eURhdGU6ICdzaG9ydCcgfX1cIlxuICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICBkcm9wZG93blRvZ2dsZVxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gZGF0YS1jeT1cIndpZGdldC10aW1lLWNvbnRleHQtLXNlbGVjdGVkLXRpbWUtcmFuZ2VcIj5cbiAgICAgICAgICAgIHt7IGRhdGVbMF0gfCBjOHlEYXRlOiAnc2hvcnREYXRlJyB9fSDigJQge3sgZGF0ZVsxXSB8IGM4eURhdGU6ICdzaG9ydERhdGUnIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZXQgbS1yLTggbS1sLTRcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS0tZGF0ZS1yYW5nZVwiXG4gICAgICAgICAgKmRyb3Bkb3duTWVudVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMTZcIj5cbiAgICAgICAgICAgIDxjOHktZm9ybS1ncm91cFxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlLmVycm9ycyA/ICdoYXMtZXJyb3InIDogJydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0Zyb21gZGF0ZWAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBmb3I9XCJ0ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZVwiXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGcm9tYGRhdGVgXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxjOHktZGF0ZS10aW1lLXBpY2tlclxuICAgICAgICAgICAgICAgIGlkPVwidGVtcG9yYXJ5VXNlclNlbGVjdGVkRnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIFttYXhEYXRlXT1cImZvcm0udmFsdWUudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0Zyb21gZGF0ZWAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZS5lcnJvcnMgPyAnaGFzLWVycm9yJyA6ICcnXCJcbiAgICAgICAgICAgICAgPjwvYzh5LWRhdGUtdGltZS1waWNrZXI+XG4gICAgICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRGcm9tRGF0ZS5lcnJvcnNcIj5cbiAgICAgICAgICAgICAgICA8Yzh5LW1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJkYXRlQWZ0ZXJSYW5nZU1heFwiXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCInVGhpcyBkYXRlIGlzIGFmdGVyIHRoZSBsYXRlc3QgYWxsb3dlZCBkYXRlLicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgID48L2M4eS1tZXNzYWdlPlxuICAgICAgICAgICAgICAgIDxjOHktbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgbmFtZT1cImludmFsaWREYXRlVGltZVwiXG4gICAgICAgICAgICAgICAgICBbdGV4dF09XCInVGhpcyBkYXRlIGlzIGludmFsaWQuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2U+XG4gICAgICAgICAgICAgIDwvYzh5LW1lc3NhZ2VzPlxuICAgICAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cblxuICAgICAgICAgICAgPGM4eS1mb3JtLWdyb3VwXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZvcm0uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlLmVycm9ycyA/ICdoYXMtZXJyb3InIDogJydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ1RvYGRhdGVgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgZm9yPVwidGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlXCJcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGVcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFRvYGRhdGVgXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxjOHktZGF0ZS10aW1lLXBpY2tlclxuICAgICAgICAgICAgICAgIGlkPVwidGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlXCJcbiAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJmb3JtLnZhbHVlLnRlbXBvcmFyeVVzZXJTZWxlY3RlZEZyb21EYXRlXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RvYGRhdGVgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHMudGVtcG9yYXJ5VXNlclNlbGVjdGVkVG9EYXRlXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJmb3JtLmNvbnRyb2xzLnRlbXBvcmFyeVVzZXJTZWxlY3RlZFRvRGF0ZS5lcnJvcnMgPyAnaGFzLWVycm9yJyA6ICcnXCJcbiAgICAgICAgICAgICAgPjwvYzh5LWRhdGUtdGltZS1waWNrZXI+XG4gICAgICAgICAgICAgIDxjOHktbWVzc2FnZXMgW3Nob3ddPVwiZm9ybS5jb250cm9scy50ZW1wb3JhcnlVc2VyU2VsZWN0ZWRUb0RhdGUuZXJyb3JzXCI+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiZGF0ZUJlZm9yZVJhbmdlTWluXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIidUaGlzIGRhdGUgaXMgYmVmb3JlIHRoZSBlYXJsaWVzdCBhbGxvd2VkIGRhdGUuJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgPjwvYzh5LW1lc3NhZ2U+XG4gICAgICAgICAgICAgICAgPGM4eS1tZXNzYWdlXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiaW52YWxpZERhdGVUaW1lXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIidUaGlzIGRhdGUgaXMgaW52YWxpZC4nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICA+PC9jOHktbWVzc2FnZT5cbiAgICAgICAgICAgICAgPC9jOHktbWVzc2FnZXM+XG4gICAgICAgICAgICA8L2M4eS1mb3JtLWdyb3VwPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtMTYgZC1mbGV4IGdhcC04IHNlcGFyYXRvci10b3BcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgYnRuLXNtIGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1Jlc2V0JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwicmVzZXQoKTsgZHJvcGRvd24uaXNPcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS52YWx1ZS5yZWFsdGltZVwiXG4gICAgICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBSZXNldFxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtIGZsZXgtZ3Jvd1wiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0FwcGx5JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlEYXRldGltZUNvbnRleHQoKTsgZHJvcGRvd24uaXNPcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiKGZvcm0ucHJpc3RpbmUgJiYgZm9ybS51bnRvdWNoZWQpIHx8IGZvcm0uaW52YWxpZCB8fCBmb3JtLnZhbHVlLnJlYWx0aW1lXCJcbiAgICAgICAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEFwcGx5XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImM4eS1zZWxlY3Qtd3JhcHBlciBtLXQteHMtNCBtLWIteHMtNCBkLWlubGluZS1ibG9jay14c1wiPlxuICAgICAgICA8Yzh5LWludGVydmFsLXBpY2tlciBmb3JtQ29udHJvbE5hbWU9XCJjdXJyZW50RGF0ZUNvbnRleHRJbnRlcnZhbFwiPjwvYzh5LWludGVydmFsLXBpY2tlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJtLWwtOCBkLWlubGluZS1ibG9jay14c1wiXG4gICAgICAqbmdJZj1cImRpc3BsYXlTZXR0aW5ncy5nbG9iYWxSZWFsdGltZUNvbnRleHRcIlxuICAgID5cbiAgICAgIDxjOHktcmVhbHRpbWUtY29udHJvbCBmb3JtQ29udHJvbE5hbWU9XCJyZWFsdGltZVwiPjwvYzh5LXJlYWx0aW1lLWNvbnRyb2w+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImRpc3BsYXlTZXR0aW5ncy5nbG9iYWxBZ2dyZWdhdGlvbkNvbnRleHRcIlxuICAgICAgY2xhc3M9XCJjOHktc2VsZWN0LXdyYXBwZXIgbS10LXhzLTQgbS1iLXhzLTQgZC1pbmxpbmUtYmxvY2steHMgbS1sLThcIlxuICAgID5cbiAgICAgIDxjOHktYWdncmVnYXRpb24tcGlja2VyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0aW9uXCJcbiAgICAgICAgW2Rpc2FibGVkQWdncmVnYXRpb25zXT1cImRpc2FibGVkQWdncmVnYXRpb25zXCJcbiAgICAgID48L2M4eS1hZ2dyZWdhdGlvbi1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG5cbjxjOHktZGFzaGJvYXJkLWNoaWxkLWFjdGlvbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJ0b2dnbGVEZWNvdXBsaW5nKClcIlxuICA+XG4gICAgPGkgW2M4eUljb25dPVwiaXNDb3VwbGVkID8gJ3NjaGVkdWxlMScgOiAndG9kYXknXCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwibS1sLTRcIj5cbiAgICAgIHt7IChpc0NvdXBsZWQgPyBkZWNvdXBsZVRpbWVDb250ZXh0TGFiZWwgOiBjb3VwbGVUaW1lQ29udGV4dExhYmVsKSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2M4eS1kYXNoYm9hcmQtY2hpbGQtYWN0aW9uPlxuIl19
@@ -43,6 +43,7 @@ export class Lwm2mConfigurationComponent {
43
43
  path: this.getPath(Endpoint.servers)
44
44
  }
45
45
  ];
46
+ this.lwm2mConfigService.getSecurityModes();
46
47
  }
47
48
  onActivate(event) {
48
49
  this.componentInstance = event;
@@ -58,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
58
59
  type: Component,
59
60
  args: [{ selector: 'c8y-lwm2m-configuration', imports: [CoreModule, Lwm2mUIThemeModule, CdkTreeModule, RouterModule], standalone: true, template: "<div class=\"card content-fullpage d-col\">\n <div class=\"card-header p-0\">\n <c8y-ui-tabs\n class=\"card-has-tabs card-tabs\"\n [tabs]=\"tabs\"\n [orientation]=\"'horizontal'\"\n ></c8y-ui-tabs>\n </div>\n <div class=\"inner-scroll bg-level-0 flex-grow\">\n <form class=\"card-block--formly fit-h\">\n <router-outlet (activate)=\"onActivate($event)\"></router-outlet>\n </form>\n </div>\n <div\n class=\"card-footer separator sticky-bottom\"\n *ngIf=\"componentInstance?.fields?.length > 0\"\n >\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n (click)=\"componentInstance.cancel()\"\n [disabled]=\"!componentInstance.form.dirty\"\n >\n {{ 'Cancel' | translate }}\n </button>\n <button\n class=\"btn btn-primary\"\n title=\"{{ 'Save' | translate }}\"\n type=\"button\"\n [disabled]=\"componentInstance.form.invalid || !componentInstance.form.dirty\"\n (click)=\"componentInstance.save()\"\n >\n {{ 'Save' | translate }}\n </button>\n </div>\n</div>\n" }]
60
61
  }], ctorParameters: function () { return [{ type: i1.Lwm2mConfigurationService }, { type: i2.ActivatedRoute }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFPLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBVS9ELE1BQU0sT0FBTywyQkFBMkI7SUFJdEMsWUFDVSxrQkFBMEQsRUFDMUQsS0FBcUI7UUFEckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QztRQUMxRCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRTVFLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVjtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO2FBQzVDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDdEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7YUFDdkM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxDQUFDO2dCQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2FBQ3JDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFrQjtRQUNoQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQzdDLE9BQU8sV0FBVyxRQUFRLHdCQUF3QixRQUFRLEVBQUUsQ0FBQztJQUMvRCxDQUFDOzt3SEE5Q1UsMkJBQTJCOzRHQUEzQiwyQkFBMkIsbUZDaEJ4QyxzbUNBcUNBLDJDRHhCWSxVQUFVLDJ3QkFBRSxrQkFBa0IsOEJBQUUsYUFBYSw4QkFBRSxZQUFZOzJGQUcxRCwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UseUJBQXlCLFdBRTFCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsY0FDMUQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW5kcG9pbnQsIFNldHRpbmdzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEx3bTJtQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL3NlcnZpY2VzJztcbmltcG9ydCB7IEx3bTJtVUlUaGVtZU1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vZm9ybWx5JztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBUYWIsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgTHdtMm1Gb3JtV3JhcHBlckJhc2UgfSBmcm9tICcuL3R5cGVkLWZvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWx3bTJtLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBMd20ybVVJVGhlbWVNb2R1bGUsIENka1RyZWVNb2R1bGUsIFJvdXRlck1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTHdtMm1Db25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgdGFiczogVGFiW107XG4gIGNvbXBvbmVudEluc3RhbmNlOiBMd20ybUZvcm1XcmFwcGVyQmFzZTxTZXR0aW5ncz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsd20ybUNvbmZpZ1NlcnZpY2U6IEx3bTJtQ29uZmlndXJhdGlvblNlcnZpY2U8SUlkZW50aWZpZWQ+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMubHdtMm1Db25maWdTZXJ2aWNlLmRldmljZUlkID0gdGhpcy5yb3V0ZT8uc25hcHNob3Q/LnBhcmVudD8ucGFyYW1zPy5pZDtcblxuICAgIHRoaXMudGFicyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ2NvZycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdEZXZpY2Ugc2V0dGluZ3MnKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmRldmljZVNldHRpbmdzKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ2Nvbm5lY3RlZCcsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdDb25uZWN0aXZpdHknKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmNvbm5lY3Rpdml0eSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdjOHktZmlybXdhcmUnLFxuICAgICAgICBsYWJlbDogZ2V0dGV4dCgnRmlybXdhcmUgdXBkYXRlJyksXG4gICAgICAgIHBhdGg6IHRoaXMuZ2V0UGF0aChFbmRwb2ludC5maXJtd2FyZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdyb290LXNlcnZlcicsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCb290c3RyYXAnKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmJvb3RzdHJhcClcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdzdGFjaycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2ZXJzIHdyaXR0ZW4gZHVyaW5nIGJvb3RzdHJhcCcpLFxuICAgICAgICBwYXRoOiB0aGlzLmdldFBhdGgoRW5kcG9pbnQuc2VydmVycylcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgb25BY3RpdmF0ZShldmVudCkge1xuICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSBldmVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aChlbmRwb2ludDogRW5kcG9pbnQpIHtcbiAgICBjb25zdCB7IGRldmljZUlkIH0gPSB0aGlzLmx3bTJtQ29uZmlnU2VydmljZTtcbiAgICByZXR1cm4gYC9kZXZpY2UvJHtkZXZpY2VJZH0vbHdtMm0tY29uZmlndXJhdGlvbi8ke2VuZHBvaW50fWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGNvbnRlbnQtZnVsbHBhZ2UgZC1jb2xcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMFwiPlxuICAgIDxjOHktdWktdGFic1xuICAgICAgY2xhc3M9XCJjYXJkLWhhcy10YWJzIGNhcmQtdGFic1wiXG4gICAgICBbdGFic109XCJ0YWJzXCJcbiAgICAgIFtvcmllbnRhdGlvbl09XCInaG9yaXpvbnRhbCdcIlxuICAgID48L2M4eS11aS10YWJzPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0wIGZsZXgtZ3Jvd1wiPlxuICAgIDxmb3JtIGNsYXNzPVwiY2FyZC1ibG9jay0tZm9ybWx5IGZpdC1oXCI+XG4gICAgICA8cm91dGVyLW91dGxldCAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCI+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNhcmQtZm9vdGVyIHNlcGFyYXRvciBzdGlja3ktYm90dG9tXCJcbiAgICAqbmdJZj1cImNvbXBvbmVudEluc3RhbmNlPy5maWVsZHM/Lmxlbmd0aCA+IDBcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgdGl0bGU9XCJ7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJjb21wb25lbnRJbnN0YW5jZS5jYW5jZWwoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNvbXBvbmVudEluc3RhbmNlLmZvcm0uZGlydHlcIlxuICAgID5cbiAgICAgIHt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgdGl0bGU9XCJ7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiY29tcG9uZW50SW5zdGFuY2UuZm9ybS5pbnZhbGlkIHx8ICFjb21wb25lbnRJbnN0YW5jZS5mb3JtLmRpcnR5XCJcbiAgICAgIChjbGljayk9XCJjb21wb25lbnRJbnN0YW5jZS5zYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdTYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm90b2NvbC1sd20ybS9jb21wb25lbnRzL2NvbmZpZ3VyYXRpb24vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFPLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBVS9ELE1BQU0sT0FBTywyQkFBMkI7SUFJdEMsWUFDVSxrQkFBMEQsRUFDMUQsS0FBcUI7UUFEckIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF3QztRQUMxRCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRTVFLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVjtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxLQUFLLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO2FBQzVDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDO2dCQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO2FBQzFDO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDdEM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUM7Z0JBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7YUFDdkM7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxDQUFDO2dCQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO2FBQ3JDO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBSztRQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVPLE9BQU8sQ0FBQyxRQUFrQjtRQUNoQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1FBQzdDLE9BQU8sV0FBVyxRQUFRLHdCQUF3QixRQUFRLEVBQUUsQ0FBQztJQUMvRCxDQUFDOzt3SEFoRFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsbUZDaEJ4QyxzbUNBcUNBLDJDRHhCWSxVQUFVLDJ3QkFBRSxrQkFBa0IsOEJBQUUsYUFBYSw4QkFBRSxZQUFZOzJGQUcxRCwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0UseUJBQXlCLFdBRTFCLENBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsY0FDMUQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW5kcG9pbnQsIFNldHRpbmdzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9wcm90b2NvbC1sd20ybS9tb2RlbCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEx3bTJtQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3Byb3RvY29sLWx3bTJtL3NlcnZpY2VzJztcbmltcG9ydCB7IEx3bTJtVUlUaGVtZU1vZHVsZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvcHJvdG9jb2wtbHdtMm0vZm9ybWx5JztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlLCBUYWIsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IElJZGVudGlmaWVkIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgTHdtMm1Gb3JtV3JhcHBlckJhc2UgfSBmcm9tICcuL3R5cGVkLWZvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWx3bTJtLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbHdtMm0tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBMd20ybVVJVGhlbWVNb2R1bGUsIENka1RyZWVNb2R1bGUsIFJvdXRlck1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTHdtMm1Db25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgdGFiczogVGFiW107XG4gIGNvbXBvbmVudEluc3RhbmNlOiBMd20ybUZvcm1XcmFwcGVyQmFzZTxTZXR0aW5ncz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBsd20ybUNvbmZpZ1NlcnZpY2U6IEx3bTJtQ29uZmlndXJhdGlvblNlcnZpY2U8SUlkZW50aWZpZWQ+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMubHdtMm1Db25maWdTZXJ2aWNlLmRldmljZUlkID0gdGhpcy5yb3V0ZT8uc25hcHNob3Q/LnBhcmVudD8ucGFyYW1zPy5pZDtcblxuICAgIHRoaXMudGFicyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ2NvZycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdEZXZpY2Ugc2V0dGluZ3MnKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmRldmljZVNldHRpbmdzKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbjogJ2Nvbm5lY3RlZCcsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdDb25uZWN0aXZpdHknKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmNvbm5lY3Rpdml0eSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdjOHktZmlybXdhcmUnLFxuICAgICAgICBsYWJlbDogZ2V0dGV4dCgnRmlybXdhcmUgdXBkYXRlJyksXG4gICAgICAgIHBhdGg6IHRoaXMuZ2V0UGF0aChFbmRwb2ludC5maXJtd2FyZSlcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdyb290LXNlcnZlcicsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdCb290c3RyYXAnKSxcbiAgICAgICAgcGF0aDogdGhpcy5nZXRQYXRoKEVuZHBvaW50LmJvb3RzdHJhcClcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb246ICdzdGFjaycsXG4gICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdTZXJ2ZXJzIHdyaXR0ZW4gZHVyaW5nIGJvb3RzdHJhcCcpLFxuICAgICAgICBwYXRoOiB0aGlzLmdldFBhdGgoRW5kcG9pbnQuc2VydmVycylcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgdGhpcy5sd20ybUNvbmZpZ1NlcnZpY2UuZ2V0U2VjdXJpdHlNb2RlcygpO1xuICB9XG5cbiAgb25BY3RpdmF0ZShldmVudCkge1xuICAgIHRoaXMuY29tcG9uZW50SW5zdGFuY2UgPSBldmVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aChlbmRwb2ludDogRW5kcG9pbnQpIHtcbiAgICBjb25zdCB7IGRldmljZUlkIH0gPSB0aGlzLmx3bTJtQ29uZmlnU2VydmljZTtcbiAgICByZXR1cm4gYC9kZXZpY2UvJHtkZXZpY2VJZH0vbHdtMm0tY29uZmlndXJhdGlvbi8ke2VuZHBvaW50fWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjYXJkIGNvbnRlbnQtZnVsbHBhZ2UgZC1jb2xcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHAtMFwiPlxuICAgIDxjOHktdWktdGFic1xuICAgICAgY2xhc3M9XCJjYXJkLWhhcy10YWJzIGNhcmQtdGFic1wiXG4gICAgICBbdGFic109XCJ0YWJzXCJcbiAgICAgIFtvcmllbnRhdGlvbl09XCInaG9yaXpvbnRhbCdcIlxuICAgID48L2M4eS11aS10YWJzPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImlubmVyLXNjcm9sbCBiZy1sZXZlbC0wIGZsZXgtZ3Jvd1wiPlxuICAgIDxmb3JtIGNsYXNzPVwiY2FyZC1ibG9jay0tZm9ybWx5IGZpdC1oXCI+XG4gICAgICA8cm91dGVyLW91dGxldCAoYWN0aXZhdGUpPVwib25BY3RpdmF0ZSgkZXZlbnQpXCI+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cImNhcmQtZm9vdGVyIHNlcGFyYXRvciBzdGlja3ktYm90dG9tXCJcbiAgICAqbmdJZj1cImNvbXBvbmVudEluc3RhbmNlPy5maWVsZHM/Lmxlbmd0aCA+IDBcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgdGl0bGU9XCJ7eyAnQ2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJjb21wb25lbnRJbnN0YW5jZS5jYW5jZWwoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIWNvbXBvbmVudEluc3RhbmNlLmZvcm0uZGlydHlcIlxuICAgID5cbiAgICAgIHt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxuICAgICAgdGl0bGU9XCJ7eyAnU2F2ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiY29tcG9uZW50SW5zdGFuY2UuZm9ybS5pbnZhbGlkIHx8ICFjb21wb25lbnRJbnN0YW5jZS5mb3JtLmRpcnR5XCJcbiAgICAgIChjbGljayk9XCJjb21wb25lbnRJbnN0YW5jZS5zYXZlKClcIlxuICAgID5cbiAgICAgIHt7ICdTYXZlJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19