@eo-sdk/client 10.0.0-rc.3 → 10.1.0-rc.1

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 (44) hide show
  1. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts +13 -61
  4. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts.map +1 -1
  5. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts +5 -0
  6. package/app/eo-framework/app-shell/app-bar/app-bar.component.d.ts.map +1 -1
  7. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts +3 -7
  8. package/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.d.ts.map +1 -1
  9. package/app/eo-framework/form-elements/date/date.component.d.ts +1 -0
  10. package/app/eo-framework/form-elements/date/date.component.d.ts.map +1 -1
  11. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +4 -1
  12. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
  13. package/app/eo-framework/frame/frame.component.d.ts +5 -0
  14. package/app/eo-framework/frame/frame.component.d.ts.map +1 -1
  15. package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
  16. package/assets/_default/i18n/de.json +3 -0
  17. package/assets/_default/i18n/en.json +3 -0
  18. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  19. package/esm2020/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +4 -4
  20. package/esm2020/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +16 -12
  21. package/esm2020/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +16 -13
  22. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +52 -31
  23. package/esm2020/app/eo-framework/actions/actions/workflow-action/workflow/workflow.component.mjs +3 -3
  24. package/esm2020/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +14 -3
  25. package/esm2020/app/eo-framework/app-shell/app-bar/side-bar/side-bar.component.mjs +6 -20
  26. package/esm2020/app/eo-framework/form-elements/date/date.component.mjs +7 -5
  27. package/esm2020/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +45 -26
  28. package/esm2020/app/eo-framework/frame/frame.component.mjs +19 -1
  29. package/esm2020/app/eo-framework/grid/filters/datetime-filter.component.mjs +3 -3
  30. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +3 -3
  31. package/esm2020/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +5 -4
  32. package/esm2020/app/eo-framework/ui/signature-tab/signature-tab.component.mjs +3 -3
  33. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +33 -3
  34. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +32 -2
  35. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  36. package/fesm2015/eo-sdk-client.mjs +160 -97
  37. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  38. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +32 -2
  39. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  40. package/fesm2020/eo-sdk-client.mjs +163 -101
  41. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  42. package/package.json +3 -3
  43. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +7 -54
  44. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
@@ -22,8 +22,8 @@ export class DatetimeRangeComponent {
22
22
  { label: RangeValue.getOperatorLabel(SearchFilter.OPERATOR.LESS_OR_EQUAL), value: SearchFilter.OPERATOR.LESS_OR_EQUAL },
23
23
  { label: RangeValue.getOperatorLabel(SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH), value: SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH }
24
24
  ];
25
- this.propagateChange = (_) => {
26
- };
25
+ this.propagateChange = (_) => { };
26
+ this.validationChange = () => { };
27
27
  this.datePipe = new LocaleDatePipe(translate);
28
28
  }
29
29
  createForm() {
@@ -36,49 +36,68 @@ export class DatetimeRangeComponent {
36
36
  this.rangeForm.valueChanges.subscribe(() => this.onValueChange());
37
37
  }
38
38
  writeValue(value) {
39
- if (value && value instanceof RangeValue && (value.firstValue || value.secondValue)) {
40
- let match = this.availableSearchOptions.find((o) => o.value === value.operator);
41
- this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
42
- this.value = value;
43
- if (!value.secondValue) {
44
- this.rangeForm.patchValue({
45
- dateValue: value.firstValue ? new Date(value.firstValue) : null
46
- });
47
- }
48
- else {
49
- this.rangeForm.patchValue({
50
- dateValueFrom: value.firstValue ? new Date(value.firstValue) : null,
51
- dateValue: value.secondValue ? new Date(value.secondValue) : null
52
- });
53
- }
54
- }
55
- else {
56
- this.value = null;
57
- this.rangeForm.reset();
58
- }
39
+ this._setValue(value);
59
40
  }
60
41
  registerOnChange(fn) {
61
42
  this.propagateChange = fn;
62
43
  }
44
+ registerOnValidatorChange(fn) {
45
+ this.validationChange = fn;
46
+ }
63
47
  registerOnTouched(fn) {
64
48
  }
65
49
  onValueChange() {
66
50
  let dateValue = this.formatDate(this.rangeForm.get('dateValue').value);
67
51
  if (this.searchOption === SearchFilter.OPERATOR.INTERVAL_INCLUDE_BOTH) {
68
- let dateValueFrom = this.formatDate(this.rangeForm.get('dateValueFrom').value);
52
+ let dateValueFrom = this.formatDate(this.rangeForm.get('dateValueFrom').value) || new Date().toISOString();
69
53
  if (dateValueFrom || dateValue) {
70
54
  this.isValid = this.rangeForm.valid && !!dateValueFrom && !!dateValue;
71
55
  this.swapInputs = dateValueFrom && dateValue && dateValueFrom > dateValue;
72
- this.value = !this.isValid ? null : new RangeValue(this.searchOption, this.swapInputs ? dateValue : dateValueFrom, this.swapInputs ? dateValueFrom : dateValue);
56
+ this._setValue(new RangeValue(this.searchOption, this.swapInputs ? dateValue : dateValueFrom, this.swapInputs ? dateValueFrom : dateValue));
57
+ this.validationChange();
73
58
  }
74
59
  }
75
60
  else {
76
61
  this.swapInputs = false;
77
62
  this.isValid = this.rangeForm.valid;
78
- this.value = !this.isValid || !dateValue ? null : new RangeValue(this.searchOption, dateValue);
63
+ this._setValue(!this.isValid || !dateValue ? null : new RangeValue(this.searchOption, dateValue));
79
64
  }
80
65
  this.propagateChange(this.value);
81
66
  }
67
+ _setValue(value, emitEvent = false) {
68
+ if (JSON.stringify(this.value) === JSON.stringify(value))
69
+ return;
70
+ if (value && value instanceof RangeValue && (value.firstValue || value.secondValue)) {
71
+ let match = this.availableSearchOptions.find((o) => o.value === value.operator);
72
+ this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
73
+ const fV = value.firstValue ? new Date(value.firstValue) : null;
74
+ const sV = value.secondValue ? new Date(value.secondValue) : null;
75
+ this.value = value;
76
+ if (!value.secondValue) {
77
+ if (JSON.stringify(this.rangeForm.value.dateValue) !== JSON.stringify(fV)) {
78
+ this.rangeForm.patchValue({
79
+ dateValue: fV
80
+ }, { emitEvent });
81
+ }
82
+ }
83
+ else {
84
+ if (JSON.stringify(this.rangeForm.value.dateValueFrom) !== JSON.stringify(fV)) {
85
+ this.rangeForm.patchValue({
86
+ dateValueFrom: fV
87
+ }, { emitEvent });
88
+ }
89
+ if (JSON.stringify(this.rangeForm.value.dateValue) !== JSON.stringify(sV)) {
90
+ this.rangeForm.patchValue({
91
+ dateValue: sV
92
+ }, { emitEvent });
93
+ }
94
+ }
95
+ }
96
+ else {
97
+ this.value = null;
98
+ this.rangeForm.reset();
99
+ }
100
+ }
82
101
  formatDate(value) {
83
102
  return !value ? null :
84
103
  this.withTime ? value.toISOString().replace(':00.000', '') : this.datePipe.transform(value, 'yyyy-MM-dd');
@@ -147,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
147
166
  type: HostBinding,
148
167
  args: ['class.swap']
149
168
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS1yYW5nZS9kYXRldGltZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lLXJhbmdlL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQU1MLGlCQUFpQixFQUNqQixhQUFhLEVBQ2QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7O0FBc0JqRixNQUFNLE9BQU8sc0JBQXNCO0lBdUJqQyxZQUFvQixFQUFzQixFQUFTLFNBQTJCO1FBQTFELE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFuQnJFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFRSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSS9DLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFdkIsK0JBQStCO1FBQ3hCLDJCQUFzQixHQUFHO1lBQzlCLEVBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBQztZQUNyRyxFQUFDLEtBQUssRUFBRSxVQUFVLENB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O1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDWjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDNUJILHNjQVFPOzJGRHlCTSxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixRQUNLO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCO3dJQUlRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVxQixVQUFVO3NCQUFwQyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVmFsaWRhdG9yLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGVEYXRlUGlwZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGlwZXMvbG9jYWxlLWRhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWRhdGV0aW1lLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRldGltZVJhbmdlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXRpbWVSYW5nZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2Zvcm0tZWxlbWVudC1yYW5nZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRldGltZVJhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKSB3aXRoVGltZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcGlja2VyVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgb3BlcmF0b3IgPSAnZXEnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3dhcCcpIHN3YXBJbnB1dHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByYW5nZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHZhbHVlOiBSYW5nZVZhbHVlO1xuICBwcml2YXRlIGlzVmFsaWQgPSB0cnVlO1xuXG4gIC8vIG9wdGlvbnMgZm9yIHNlYXJjaCBzaXR1YXRpb25cbiAgcHVibGljIGF2YWlsYWJsZVNlYXJjaE9wdGlvbnMgPSBbXG4gICAge2xhYmVsOiBSYW5nZVZhbHVlLmdldE9wZXJhdG9yTGFiZWwoU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTH0sXG4gICAge2xhYmVsOiBSYW5nZVZhbHVlLmdldE9wZXJhdG9yTGFiZWwoU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpLCB2YWx1ZTogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUx9LFxuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMfSxcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEh9XG4gIF07XG4gIC8vIHRoZSBzZWxlY3RlZCBzZWFyY2ggb3B0aW9uXG4gIHB1YmxpYyBzZWFyY2hPcHRpb246IHN0cmluZztcbiAgZGF0ZVBpcGU6IExvY2FsZURhdGVQaXBlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMuZGF0ZVBpcGUgPSBuZXcgTG9jYWxlRGF0ZVBpcGUodHJhbnNsYXRlKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5yYW5nZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGRhdGVWYWx1ZTogW10sXG4gICAgICBkYXRlVmFsdWVGcm9tOiBbXVxuICAgIH0pO1xuICB9XG5cbiAgb25Gb3JtVmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5yYW5nZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uVmFsdWVDaGFuZ2UoKSk7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBSYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgUmFuZ2VWYWx1ZSAmJiAodmFsdWUuZmlyc3RWYWx1ZSB8fCB2YWx1ZS5zZWNvbmRWYWx1ZSkpIHtcblxuICAgICAgbGV0IG1hdGNoID0gdGhpcy5hdmFpbGFibGVTZWFyY2hPcHRpb25zLmZpbmQoKG8pID0+IG8udmFsdWUgPT09IHZhbHVlLm9wZXJhdG9yKTtcbiAgICAgIHRoaXMuc2VhcmNoT3B0aW9uID0gbWF0Y2ggPyBtYXRjaC52YWx1ZSA6IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcblxuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgaWYgKCF2YWx1ZS5zZWNvbmRWYWx1ZSkge1xuICAgICAgICB0aGlzLnJhbmdlRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBkYXRlVmFsdWU6IHZhbHVlLmZpcnN0VmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZS5maXJzdFZhbHVlKSA6IG51bGxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJhbmdlRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBkYXRlVmFsdWVGcm9tOiB2YWx1ZS5maXJzdFZhbHVlID8gbmV3IERhdGUodmFsdWUuZmlyc3RWYWx1ZSkgOiBudWxsLFxuICAgICAgICAgIGRhdGVWYWx1ZTogdmFsdWUuc2Vjb25kVmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZS5zZWNvbmRWYWx1ZSkgOiBudWxsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgdGhpcy5yYW5nZUZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSgpIHtcblxuICAgIGxldCBkYXRlVmFsdWUgPSB0aGlzLmZvcm1hdERhdGUodGhpcy5yYW5nZUZvcm0uZ2V0KCdkYXRlVmFsdWUnKS52YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2VhcmNoT3B0aW9uID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIKSB7XG4gICAgICBsZXQgZGF0ZVZhbHVlRnJvbSA9IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnJhbmdlRm9ybS5nZXQoJ2RhdGVWYWx1ZUZyb20nKS52YWx1ZSk7XG5cbiAgICAgIGlmIChkYXRlVmFsdWVGcm9tIHx8IGRhdGVWYWx1ZSkge1xuICAgICAgICB0aGlzLmlzVmFsaWQgPSB0aGlzLnJhbmdlRm9ybS52YWxpZCAmJiAhIWRhdGVWYWx1ZUZyb20gJiYgISFkYXRlVmFsdWU7XG4gICAgICAgIHRoaXMuc3dhcElucHV0cyA9IGRhdGVWYWx1ZUZyb20gJiYgZGF0ZVZhbHVlICYmIGRhdGVWYWx1ZUZyb20gPiBkYXRlVmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWUgPSAhdGhpcy5pc1ZhbGlkID8gbnVsbCA6IG5ldyBSYW5nZVZhbHVlKFxuICAgICAgICAgIHRoaXMuc2VhcmNoT3B0aW9uLFxuICAgICAgICAgIHRoaXMuc3dhcElucHV0cyA/IGRhdGVWYWx1ZSA6IGRhdGVWYWx1ZUZyb20sXG4gICAgICAgICAgdGhpcy5zd2FwSW5wdXRzID8gZGF0ZVZhbHVlRnJvbSA6IGRhdGVWYWx1ZVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN3YXBJbnB1dHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IHRoaXMucmFuZ2VGb3JtLnZhbGlkO1xuICAgICAgdGhpcy52YWx1ZSA9ICF0aGlzLmlzVmFsaWQgfHwgIWRhdGVWYWx1ZSA/IG51bGwgOiBuZXcgUmFuZ2VWYWx1ZSh0aGlzLnNlYXJjaE9wdGlvbiwgZGF0ZVZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBmb3JtYXREYXRlKHZhbHVlOiBEYXRlKSB7XG4gICAgcmV0dXJuICF2YWx1ZSA/IG51bGwgOlxuICAgICAgdGhpcy53aXRoVGltZSA/IHZhbHVlLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnOjAwLjAwMCcsICcnKSA6IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAneXl5eS1NTS1kZCcpO1xuICB9XG5cbiAgLy8gcmV0dXJucyBudWxsIHdoZW4gdmFsaWQgZWxzZSB0aGUgdmFsaWRhdGlvbiBvYmplY3RcbiAgcHVibGljIHZhbGlkYXRlKGM6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuXG4gICAgbGV0IGVycjtcbiAgICBpZiAodGhpcy5zZWFyY2hPcHRpb24gPT09IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTCkge1xuICAgICAgZXJyID0ge1xuICAgICAgICBkYXRlY29udHJvbDoge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyID0ge1xuICAgICAgICBkYXRlcmFuZ2U6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiAodGhpcy5pc1ZhbGlkKSA/IG51bGwgOiBlcnI7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlYXJjaE9wdGlvbiA9IHRoaXMub3BlcmF0b3I7XG4gICAgdGhpcy5jcmVhdGVGb3JtKCk7XG4gICAgdGhpcy5vbkZvcm1WYWx1ZUNoYW5nZSgpO1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImVvLWRhdGV0aW1lLXJhbmdlXCIgW2Zvcm1Hcm91cF09XCJyYW5nZUZvcm1cIj5cbiAgPGVvLWRhdGUgKm5nSWY9XCJzZWFyY2hPcHRpb24gPT09ICdndGVsdGUnXCIgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCJcbiAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlVmFsdWVGcm9tXCI+PC9lby1kYXRlPlxuXG4gIDx5dmMtZHJvcGRvd24gWyhuZ01vZGVsKV09XCJzZWFyY2hPcHRpb25cIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKClcIiBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCJcbiAgICBbb3B0aW9uc109XCJhdmFpbGFibGVTZWFyY2hPcHRpb25zXCI+PC95dmMtZHJvcGRvd24+XG5cbiAgPGVvLWRhdGUgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVZhbHVlXCI+PC9lby1kYXRlPlxuPC9mb3JtPiJdfQ==
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRldGltZS1yYW5nZS9kYXRldGltZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9mb3JtLWVsZW1lbnRzL2RhdGV0aW1lLXJhbmdlL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFVLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQU1MLGlCQUFpQixFQUNqQixhQUFhLEVBQ2QsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1EQUFtRCxDQUFDOzs7Ozs7O0FBc0JqRixNQUFNLE9BQU8sc0JBQXNCO0lBdUJqQyxZQUFvQixFQUFzQixFQUFTLFNBQTJCO1FBQTFELE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFuQnJFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFFRSxlQUFVLEdBQVksS0FBSyxDQUFDO1FBSS9DLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFdkIsK0JBQStCO1FBQ3hCLDJCQUFzQixHQUFHO1lBQzlCLEVBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBQztZQUNyRyxFQUFDLEtBQUssRUFBRSxVQUFVLENB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QVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDNUJILHNjQVFPOzJGRHlCTSxzQkFBc0I7a0JBcEJsQyxTQUFTOytCQUNFLG1CQUFtQixhQUdsQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixRQUNLO3dCQUNKLEtBQUssRUFBRSxvQkFBb0I7cUJBQzVCO3dJQUlRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVxQixVQUFVO3NCQUFwQyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVW50eXBlZEZvcm1Hcm91cCxcbiAgVW50eXBlZEZvcm1Db250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgVmFsaWRhdG9yLFxuICBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7UmFuZ2VWYWx1ZSwgU2VhcmNoRmlsdGVyLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGVEYXRlUGlwZX0gZnJvbSAnLi4vLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGlwZXMvbG9jYWxlLWRhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWRhdGV0aW1lLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRldGltZVJhbmdlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXRpbWVSYW5nZUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9XG4gIF0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2Zvcm0tZWxlbWVudC1yYW5nZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRldGltZVJhbmdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcblxuICBASW5wdXQoKSB3aXRoVGltZTogYm9vbGVhbjtcbiAgQElucHV0KCkgcGlja2VyVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgb3BlcmF0b3IgPSAnZXEnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc3dhcCcpIHN3YXBJbnB1dHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICByYW5nZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHZhbHVlOiBSYW5nZVZhbHVlO1xuICBwcml2YXRlIGlzVmFsaWQgPSB0cnVlO1xuXG4gIC8vIG9wdGlvbnMgZm9yIHNlYXJjaCBzaXR1YXRpb25cbiAgcHVibGljIGF2YWlsYWJsZVNlYXJjaE9wdGlvbnMgPSBbXG4gICAge2xhYmVsOiBSYW5nZVZhbHVlLmdldE9wZXJhdG9yTGFiZWwoU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkVRVUFMKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5FUVVBTH0sXG4gICAge2xhYmVsOiBSYW5nZVZhbHVlLmdldE9wZXJhdG9yTGFiZWwoU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUwpLCB2YWx1ZTogU2VhcmNoRmlsdGVyLk9QRVJBVE9SLkdSRUFURVJfT1JfRVFVQUx9LFxuICAgIHtsYWJlbDogUmFuZ2VWYWx1ZS5nZXRPcGVyYXRvckxhYmVsKFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5MRVNTX09SX0VRVUFMfSxcbiAgICB7bGFiZWw6IFJhbmdlVmFsdWUuZ2V0T3BlcmF0b3JMYWJlbChTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIKSwgdmFsdWU6IFNlYXJjaEZpbHRlci5PUEVSQVRPUi5JTlRFUlZBTF9JTkNMVURFX0JPVEh9XG4gIF07XG4gIC8vIHRoZSBzZWxlY3RlZCBzZWFyY2ggb3B0aW9uXG4gIHB1YmxpYyBzZWFyY2hPcHRpb246IHN0cmluZztcbiAgZGF0ZVBpcGU6IExvY2FsZURhdGVQaXBlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHRoaXMuZGF0ZVBpcGUgPSBuZXcgTG9jYWxlRGF0ZVBpcGUodHJhbnNsYXRlKTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKSB7XG4gICAgdGhpcy5yYW5nZUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGRhdGVWYWx1ZTogW10sXG4gICAgICBkYXRlVmFsdWVGcm9tOiBbXVxuICAgIH0pO1xuICB9XG5cbiAgb25Gb3JtVmFsdWVDaGFuZ2UoKSB7XG4gICAgdGhpcy5yYW5nZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uVmFsdWVDaGFuZ2UoKSk7XG4gIH1cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fVxuICB2YWxpZGF0aW9uQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogUmFuZ2VWYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuX3NldFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlPyhmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdGlvbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZSgpIHtcblxuICAgIGxldCBkYXRlVmFsdWUgPSB0aGlzLmZvcm1hdERhdGUodGhpcy5yYW5nZUZvcm0uZ2V0KCdkYXRlVmFsdWUnKS52YWx1ZSk7XG4gICAgaWYgKHRoaXMuc2VhcmNoT3B0aW9uID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuSU5URVJWQUxfSU5DTFVERV9CT1RIKSB7XG4gICAgICBsZXQgZGF0ZVZhbHVlRnJvbSA9IHRoaXMuZm9ybWF0RGF0ZSh0aGlzLnJhbmdlRm9ybS5nZXQoJ2RhdGVWYWx1ZUZyb20nKS52YWx1ZSkgfHwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuXG4gICAgICBpZiAoZGF0ZVZhbHVlRnJvbSB8fCBkYXRlVmFsdWUpIHtcbiAgICAgICAgdGhpcy5pc1ZhbGlkID0gdGhpcy5yYW5nZUZvcm0udmFsaWQgJiYgISFkYXRlVmFsdWVGcm9tICYmICEhZGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnN3YXBJbnB1dHMgPSBkYXRlVmFsdWVGcm9tICYmIGRhdGVWYWx1ZSAmJiBkYXRlVmFsdWVGcm9tID4gZGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLl9zZXRWYWx1ZShuZXcgUmFuZ2VWYWx1ZShcbiAgICAgICAgICB0aGlzLnNlYXJjaE9wdGlvbixcbiAgICAgICAgICB0aGlzLnN3YXBJbnB1dHMgPyBkYXRlVmFsdWUgOiBkYXRlVmFsdWVGcm9tLFxuICAgICAgICAgIHRoaXMuc3dhcElucHV0cyA/IGRhdGVWYWx1ZUZyb20gOiBkYXRlVmFsdWVcbiAgICAgICAgKSk7XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkNoYW5nZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN3YXBJbnB1dHMgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNWYWxpZCA9IHRoaXMucmFuZ2VGb3JtLnZhbGlkO1xuICAgICAgdGhpcy5fc2V0VmFsdWUoIXRoaXMuaXNWYWxpZCB8fCAhZGF0ZVZhbHVlID8gbnVsbCA6IG5ldyBSYW5nZVZhbHVlKHRoaXMuc2VhcmNoT3B0aW9uLCBkYXRlVmFsdWUpKTtcbiAgICB9XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRWYWx1ZSh2YWx1ZTogUmFuZ2VWYWx1ZSwgZW1pdEV2ZW50ID0gZmFsc2UpIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy52YWx1ZSkgPT09IEpTT04uc3RyaW5naWZ5KHZhbHVlKSkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIFJhbmdlVmFsdWUgJiYgKHZhbHVlLmZpcnN0VmFsdWUgfHwgdmFsdWUuc2Vjb25kVmFsdWUpKSB7XG5cbiAgICAgIGxldCBtYXRjaCA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB2YWx1ZS5vcGVyYXRvcik7XG4gICAgICB0aGlzLnNlYXJjaE9wdGlvbiA9IG1hdGNoID8gbWF0Y2gudmFsdWUgOiB0aGlzLmF2YWlsYWJsZVNlYXJjaE9wdGlvbnNbMF0udmFsdWU7XG5cbiAgICAgIGNvbnN0IGZWID0gdmFsdWUuZmlyc3RWYWx1ZSA/IG5ldyBEYXRlKHZhbHVlLmZpcnN0VmFsdWUpIDogbnVsbDtcbiAgICAgIGNvbnN0IHNWID0gdmFsdWUuc2Vjb25kVmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZS5zZWNvbmRWYWx1ZSkgOiBudWxsO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICBpZiAoIXZhbHVlLnNlY29uZFZhbHVlKSB7XG4gICAgICAgIGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLnJhbmdlRm9ybS52YWx1ZS5kYXRlVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShmVikpIHtcbiAgICAgICAgICB0aGlzLnJhbmdlRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGRhdGVWYWx1ZTogZlZcbiAgICAgICAgICB9LCB7ZW1pdEV2ZW50fSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLnJhbmdlRm9ybS52YWx1ZS5kYXRlVmFsdWVGcm9tKSAhPT0gSlNPTi5zdHJpbmdpZnkoZlYpKSB7XG4gICAgICAgICAgdGhpcy5yYW5nZUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBkYXRlVmFsdWVGcm9tOiBmVlxuICAgICAgICAgIH0sIHtlbWl0RXZlbnR9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkodGhpcy5yYW5nZUZvcm0udmFsdWUuZGF0ZVZhbHVlKSAhPT0gSlNPTi5zdHJpbmdpZnkoc1YpKSB7XG4gICAgICAgICAgdGhpcy5yYW5nZUZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBkYXRlVmFsdWU6IHNWXG4gICAgICAgICAgfSwge2VtaXRFdmVudH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICB0aGlzLnJhbmdlRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdERhdGUodmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiAhdmFsdWUgPyBudWxsIDpcbiAgICAgIHRoaXMud2l0aFRpbWUgPyB2YWx1ZS50b0lTT1N0cmluZygpLnJlcGxhY2UoJzowMC4wMDAnLCAnJykgOiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh2YWx1ZSwgJ3l5eXktTU0tZGQnKTtcbiAgfVxuXG4gIC8vIHJldHVybnMgbnVsbCB3aGVuIHZhbGlkIGVsc2UgdGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gIHB1YmxpYyB2YWxpZGF0ZShjOiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcblxuICAgIGxldCBlcnI7XG4gICAgaWYgKHRoaXMuc2VhcmNoT3B0aW9uID09PSBTZWFyY2hGaWx0ZXIuT1BFUkFUT1IuRVFVQUwpIHtcbiAgICAgIGVyciA9IHtcbiAgICAgICAgZGF0ZWNvbnRyb2w6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIGVyciA9IHtcbiAgICAgICAgZGF0ZXJhbmdlOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gKHRoaXMuaXNWYWxpZCkgPyBudWxsIDogZXJyO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZWFyY2hPcHRpb24gPSB0aGlzLm9wZXJhdG9yO1xuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xuICAgIHRoaXMub25Gb3JtVmFsdWVDaGFuZ2UoKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJlby1kYXRldGltZS1yYW5nZVwiIFtmb3JtR3JvdXBdPVwicmFuZ2VGb3JtXCI+XG4gIDxlby1kYXRlICpuZ0lmPVwic2VhcmNoT3B0aW9uID09PSAnZ3RlbHRlJ1wiIFt3aXRoVGltZV09XCJ3aXRoVGltZVwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVZhbHVlRnJvbVwiPjwvZW8tZGF0ZT5cblxuICA8eXZjLWRyb3Bkb3duIFsobmdNb2RlbCldPVwic2VhcmNoT3B0aW9uXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgW29wdGlvbnNdPVwiYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1wiPjwveXZjLWRyb3Bkb3duPlxuXG4gIDxlby1kYXRlIFt3aXRoVGltZV09XCJ3aXRoVGltZVwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVWYWx1ZVwiPjwvZW8tZGF0ZT5cbjwvZm9ybT4iXX0=
@@ -79,6 +79,14 @@ export class FrameComponent {
79
79
  isHidden: () => {
80
80
  return this.transparentBar;
81
81
  }
82
+ },
83
+ {
84
+ name: this.translate.instant('eo.sidebar.help.manual'),
85
+ nameKey: 'eo.sidebar.help.manual',
86
+ shortcut: 'D',
87
+ onExecuteAction: () => {
88
+ window.open(this.docu.link);
89
+ },
82
90
  }
83
91
  ]
84
92
  };
@@ -207,7 +215,17 @@ export class FrameComponent {
207
215
  this.uploadRegistry.register(rootTarget);
208
216
  this.setStyle();
209
217
  }
218
+ getDocumentation() {
219
+ this.userService
220
+ .user$
221
+ .subscribe(data => {
222
+ const docu = this.config.getRaw('about.docu');
223
+ const link = docu.link.replace('###userLang###', data.userSettings.clientlocale.substring(0, 2));
224
+ this.docu = { ...docu, link };
225
+ });
226
+ }
210
227
  ngOnInit() {
228
+ this.getDocumentation();
211
229
  }
212
230
  setStyle() {
213
231
  this.transparentBar = !!this.location.path().match(/\/dashboard|\/enter/);
@@ -242,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
242
260
  type: HostBinding,
243
261
  args: ['attr.data-roles']
244
262
  }] } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RCxPQUFPLEVBSUwsWUFBWSxFQU1NLGdCQUFnQixFQUNuQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEIsTUFBTSxPQUFPLGNBQWM7SUFxSnpCLDZFQUE2RTtJQUU3RSxrQkFBa0IsQ0FBQyxNQUFXO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFvQixNQUE0QixFQUM1QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBYyxFQUNkLFFBQWtCLEVBQ25CLFNBQTJCLEVBQzFCLFdBQXdCLEVBQ3hCLGNBQXFDLEVBQ3JDLG1CQUF3QyxFQUN4QyxjQUFxQztRQUV2RCxrRUFBa0U7UUFYaEQsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFC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QUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7MkdBL05VLGNBQWM7K0ZBQWQsY0FBYyxpVkN2QjNCLHF3REF1Q0E7MkZEaEJhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTt5V0FPWSxjQUFjO3NCQUE3QyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFDSSxLQUFLO3NCQUF0QyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFDSyxRQUFRO3NCQUE1QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDQSxhQUFhO3NCQUEvQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFpSmpDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLZixLQUFLO3NCQUFwQyxXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIE5hdmlnYXRpb25FbmR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtHbG9iYWxTaG9ydGN1dENvbXBvbmVudH0gZnJvbSAnLi4vc2hvcnRjdXRzL2dsb2JhbC1zaG9ydGN1dC1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFVwbG9hZFJlZ2lzdHJ5U2VydmljZSxcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBVcGxvYWRUYXJnZXQsXG4gIFVzZXJTZXJ2aWNlLFxuICBBdXRoU2VydmljZSxcbiAgRW9Vc2VyLFxuICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgQ29uZmlnLFxuICBUcmFuc2xhdGVTZXJ2aWNlLCBFbnZpcm9ubWVudEVuYWlvXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQgeyBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1mcmFtZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmFtZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyYW1lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnJhbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXNoYm9hcmQnKSB0cmFuc3BhcmVudEJhciA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpZXctbm8tYmFyJykgbm9CYXIgPSAwO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpZXctbm8taGVhZGVyJykgbm9IZWFkZXIgPSAwO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9iamVjdC1zdGF0ZScpIGlzT2JqZWN0U3RhdGUgPSB0cnVlO1xuXG4gIGluaXRFcnJvcjogYW55O1xuICBhdXRoZW50aWNhdGVkID0gZmFsc2U7XG4gIGRpciA9ICdsdHInOyAvLyBkZWZhdWx0IGRpcmVjdGlvbiAtIExlZnQgVG8gUmlnaHRcbiAgaXNNb2JpbGVFbnY6IGJvb2xlYW4gPSBFbnZpcm9ubWVudEVuYWlvLmlzTW9iaWxlRW52aXJvbm1lbnQoKTtcbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG5cbiAgLy8gc2hvcnRjdXQgYWN0aW9uc1xuICBzaG9ydGN1dHM6IEdsb2JhbFNob3J0Y3V0Q29tcG9uZW50ID0ge1xuICAgIGlkOiAnZW8uYXBwJyxcbiAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmdlbmVyYWwudGl0bGUnKSxcbiAgICBsYWJlbEtleTogJ2VvLnNob3J0Y3V0cy5nZW5lcmFsLnRpdGxlJyxcbiAgICBhY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uYWRkJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmFkZCcsXG4gICAgICAgIHNob3J0Y3V0OiAnQycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnYWRkJ319XSk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmludHJheSA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uc2VhcmNoJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLnNlYXJjaCcsXG4gICAgICAgIHNob3J0Y3V0OiAnRicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24ubG9nb3V0JyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaG9ydGN1dHMuYWN0aW9uLmxvZ291dCcsXG4gICAgICAgIHNob3J0Y3V0OiAnTCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiBudWxsLCBwcmltYXJ5OiBbJ2VudGVyJywge2xvZ291dDogdHJ1ZX1dfX1dKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGp1c3QudmlldycsXG4gICAgICAgIHNob3J0Y3V0OiAnVicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4gdGhpcy5hZGp1c3RWaWV3KCksXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNwYXJlbnRCYXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIC8vIG5hdmlnYXRpb24gc2hvcnRjdXRzXG4gIG5hdlNob3J0Y3V0czogR2xvYmFsU2hvcnRjdXRDb21wb25lbnQgPSB7XG4gICAgaWQ6ICdlby5hcHAubmF2JyxcbiAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLnRpdGxlJyksXG4gICAgbGFiZWxLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24udGl0bGUnLFxuICAgIGFjdGlvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc2hvcnRjdXRzLmFjdGlvbi5kYXNoYm9hcmQnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnNob3J0Y3V0cy5hY3Rpb24uZGFzaGJvYXJkJyxcbiAgICAgICAgc2hvcnRjdXQ6ICcwJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2Rhc2hib2FyZCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24uaW5ib3gnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5pbmJveCcsXG4gICAgICAgIHNob3J0Y3V0OiAnMScsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9pbmJveCcpO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5pbmJveCA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5wcmVwYXJlJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ucHJlcGFyZScsXG4gICAgICAgIHNob3J0Y3V0OiAnMicsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9wcmVwYXJlJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmludHJheSA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5mYXZvcml0ZXMnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5mYXZvcml0ZXMnLFxuICAgICAgICBzaG9ydGN1dDogJzMnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvZmF2b3JpdGVzJyk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmZhdm9yaXRlcyA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmJhci5idXR0b24uc2V0dGluZ3MudGl0bGUnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLmJhci5idXR0b24uc2V0dGluZ3MudGl0bGUnLFxuICAgICAgICBzaG9ydGN1dDogJzQnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvc2V0dGluZ3MnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLnByb2Nlc3MnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5wcm9jZXNzJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc1JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3Byb2Nlc3MnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLm5vdGlmaWNhdGlvbnMnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5ub3RpZmljYXRpb25zJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc2JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL25vdGlmaWNhdGlvbnMnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLnN0b3JlZHF1ZXJpZXMnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5zdG9yZWRxdWVyaWVzJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc3JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3N0b3JlZC1xdWVyaWVzJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5yZWN5Y2xlYmluJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby52aWV3Lm5hdmlnYXRpb24ucmVjeWNsZWJpbicsXG4gICAgICAgIHNob3J0Y3V0OiAnOCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9yZWN5Y2xlYmluJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgXVxuICB9O1xuXG5cbiAgLy8gQEhvc3RMaXN0ZW5lciBhbGxvd3MgdXMgdG8gYWxzbyBndWFyZCBhZ2FpbnN0IGJyb3dzZXIgcmVmcmVzaCwgY2xvc2UsIGV0Yy5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmJlZm9yZXVubG9hZCcsIFsnJGV2ZW50J10pXG4gIHVubG9hZE5vdGlmaWNhdGlvbigkZXZlbnQ6IGFueSkge1xuICAgIHJldHVybiAhdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpO1xuICB9XG4gIFxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1yb2xlcycpIHJvbGVzID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZnk6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2FwYWJpbGl0aWVzU2VydmljZTogQ2FwYWJpbGl0aWVzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRSZWdpc3RyeTogVXBsb2FkUmVnaXN0cnlTZXJ2aWNlKSB7XG5cbiAgICAvLyB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0aWVzU2VydmljZS5nZXRDYXBhYmlsaXRpZXMoKTtcblxuICAgIC8vIEluaXRpYWxpemF0aW9uIG9mIHRoZSBjb3JlIGNvbXBvbmVudHMgaXMgZG9uZSwgc28gd2UgY2hlY2sgaXRzIHN0YXRlXG4gICAgLy8gQW55IGVycm9ycyBkdXJpbmcgZ2xvYmFsIGluaXRpYWxpemF0aW9uP1xuICAgIC8vIGlmICh0aGlzLmluaXQuZ2V0U3RhdGUoKS5lcnJvciAhPT0gbnVsbCkge1xuICAgIC8vICAgdGhpcy5pbml0RXJyb3IgPSB7XG4gICAgLy8gICAgIGNhdXNlOiB0aGlzLmluaXQuZ2V0U3RhdGUoKS5lcnJvclxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZSgodXNlcjogRW9Vc2VyKSA9PiB7XG4gICAgICAgIHRoaXMuZGlyID0gdXNlciA/IHVzZXIudWlEaXJlY3Rpb24gOiAnbHRyJztcbiAgICAgICAgdGhpcy5yb2xlcyA9IHVzZXI/LnJvbGVzPy5tYXAociA9PiByLm5hbWUpLmpvaW4oJzsnKSB8fCAnJztcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZXJcbiAgICAgIC5ldmVudHNcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgdGhpcy5zZXRTdHlsZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYXV0aFNlcnZpY2VcbiAgICAgIC5hdXRoZW50aWNhdGVkJFxuICAgICAgLnN1YnNjcmliZShhdXRoZW50aWNhdGVkID0+IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0ZWQgPSBhdXRoZW50aWNhdGVkO1xuICAgICAgICAvLyBmZXRjaCBjYXBhYmlsaXRpZXMgYWdhaW4gb25jZSBhIHVzZXIgaXMgYXV0aGVudGljYXRlZFxuICAgICAgICBpZiAoYXV0aGVudGljYXRlZCkge1xuICAgICAgICAgIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgICAgICB9XG4gICAgICB9KSk7XG5cbiAgICAvLyBhZGQgcm9vdCB1cGxvYWQgdGFyZ2V0XG4gICAgbGV0IHJvb3RUYXJnZXQgPSBuZXcgVXBsb2FkVGFyZ2V0KCdyb290JywgVXBsb2FkVGFyZ2V0LlJPT1QpO1xuICAgIHJvb3RUYXJnZXQub25VcGxvYWRTdWNjZXNzID0gKCkgPT4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvcHJlcGFyZSddKTtcbiAgICB0aGlzLnVwbG9hZFJlZ2lzdHJ5LnJlZ2lzdGVyKHJvb3RUYXJnZXQpO1xuXG4gICAgdGhpcy5zZXRTdHlsZSgpO1xuICB9XG5cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGUoKSB7XG4gICAgdGhpcy50cmFuc3BhcmVudEJhciA9ICEhdGhpcy5sb2NhdGlvbi5wYXRoKCkubWF0Y2goL1xcL2Rhc2hib2FyZHxcXC9lbnRlci8pO1xuICAgIHRoaXMuaXNPYmplY3RTdGF0ZSA9ICEhdGhpcy5sb2NhdGlvbi5wYXRoKCkubWF0Y2goL1xcL29iamVjdFxcLy8pO1xuICB9XG5cbiAgYWRqdXN0VmlldygpIHtcbiAgICB0aGlzLm5vQmFyID0gKHRoaXMubm9CYXIgKyAxKSAlIDM7XG4gICAgdGhpcy5ub0hlYWRlciA9IHRoaXMubm9CYXIgPT09IDIgPyAxIDogMDtcbiAgfVxufVxuXG4iLCI8IS0tIGdsb2JhbCB1cGxvYWQgY29tcG9uZW50IC0tPlxuPGVvLXVwbG9hZC1vdmVybGF5ICpuZ0lmPVwiYXV0aGVudGljYXRlZCAmJiBjYXBhYmlsaXRpZXM/LmludHJheVwiPjwvZW8tdXBsb2FkLW92ZXJsYXk+XG5cbjwhLS0gbWFpbiBhcHBsaWNhdGlvbiBza2VsZXRvbiAtLT5cbjxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvblwiIFtkaXJdPVwiZGlyXCIgW2VvU2hvcnRjdXRzXT1cIm5hdlNob3J0Y3V0c1wiPlxuXG4gIDxkaXYgY2xhc3M9XCJhcHBcIiAqbmdJZj1cIiFpbml0RXJyb3JcIiBbZW9TaG9ydGN1dHNdPVwic2hvcnRjdXRzXCI+XG4gICAgPGVvLWFwcC1iYXIgW3RyYW5zcGFyZW50XT1cInRyYW5zcGFyZW50QmFyXCIgKm5nSWY9XCJhdXRoZW50aWNhdGVkXCI+XG4gICAgICA8ZW8tc2lkZWJhci1wbHVnaW4gY2xhc3M9XCJuYXZpXCIgW3R5cGVdPVwiJ3NpZGViYXItbmF2aWdhdGlvbidcIj48L2VvLXNpZGViYXItcGx1Z2luPlxuICAgICAgPGVvLXNpZGViYXItcGx1Z2luIGNsYXNzPVwiaGVscFwiIFt0eXBlXT1cIidzaWRlYmFyLWhlbHAnXCI+PC9lby1zaWRlYmFyLXBsdWdpbj5cbiAgICAgIDxlby1zaWRlYmFyLXBsdWdpbiBjbGFzcz1cInByb2ZpbGVcIiBbdHlwZV09XCInc2lkZWJhci1wcm9maWxlJ1wiPjwvZW8tc2lkZWJhci1wbHVnaW4+XG4gICAgPC9lby1hcHAtYmFyPlxuICAgIDxkaXYgY2xhc3M9XCJlby1hcHAtY29udGVudFwiPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIGFwcCBpbml0IGZhaWxlZCBub3RpZmljYXRpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJpbml0LWVycm9yXCIgKm5nSWY9XCJpbml0RXJyb3JcIj5cbiAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19lcnJvci5zdmcnXCI+PC9lby1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5hcHAuaW5pdC5mYWlsLnRpdGxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2F1c2VcIiB0cmFuc2xhdGU+ZW8uYXBwLmluaXQuZmFpbC5tZXNzYWdlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2F1c2UgZXJyb3JcIj57e2luaXRFcnJvci5jYXVzZX19PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5XCI+XG4gICAgPCEtLTxuZy1wcm9ncmVzcyBbcG9zaXRpb25Vc2luZ109XCInbWFyZ2luTGVmdCdcIiBbbWluaW11bV09XCIwLjNcIiBbbWF4aW11bV09XCIxXCItLT5cbiAgICA8IS0tW3NwZWVkXT1cIjMwMFwiIFtzaG93U3Bpbm5lcl09XCJmYWxzZVwiLS0+XG4gICAgPCEtLVtkaXJlY3Rpb25dPVwiZGlyID09PSAncnRsJyA/ICdyaWdodFRvTGVmdEluY3JlYXNlZCcgOiAnbGVmdFRvUmlnaHRJbmNyZWFzZWQnXCItLT5cbiAgICA8IS0tW2NvbG9yXT1cIicjYmIzZjVhJ1wiIFt0cmlja2xlU3BlZWRdPVwiMzAwXCIgW3RoaWNrXT1cInRydWVcIiBbZWFzZV09XCInbGluZWFyJ1wiLS0+XG4gICAgPCEtLSZndDs8L25nLXByb2dyZXNzPi0tPlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXQgbmFtZT1cIm1vZGFsXCI+PC9yb3V0ZXItb3V0bGV0PlxuICA8ZW8tZ2xvYmFsLXNob3J0Y3V0cyAqbmdJZj1cImF1dGhlbnRpY2F0ZWQgJiYgIWlzTW9iaWxlRW52XCI+PC9lby1nbG9iYWwtc2hvcnRjdXRzPlxuICA8ZW8tYWN0aW9uLW1lbnU+PC9lby1hY3Rpb24tbWVudT5cbiAgPHNlY3Rpb24gI2V4dGVybmFsRGlhbG9nPjwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZnJhbWUvZnJhbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBUyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd0RCxPQUFPLEVBSUwsWUFBWSxFQU1NLGdCQUFnQixFQUNuQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRdEIsTUFBTSxPQUFPLGNBQWM7SUE4SnpCLDZFQUE2RTtJQUU3RSxrQkFBa0IsQ0FBQyxNQUFXO1FBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFJRCxZQUFvQixNQUE0QixFQUM1QixXQUF3QixFQUN4QixNQUFjLEVBQ2QsTUFBYyxFQUNkLFFBQWtCLEVBQ25CLFNBQTJCLEVBQzFCLFdBQXdCLEVBQ3hCLGNBQXFDLEVBQ3JDLG1CQUF3QyxFQUN4QyxjQUFxQztRQUV2RCxrRUFBa0U7UUFYaEQsV0FBTSxHQUFOLE1BQU0sQ0FBc0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ25CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFC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QUFtQjtnQkFDSyxRQUFRO3NCQUE1QyxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDQSxhQUFhO3NCQUEvQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkEwSmpDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLZixLQUFLO3NCQUFwQyxXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXIsIE5hdmlnYXRpb25FbmR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtHbG9iYWxTaG9ydGN1dENvbXBvbmVudH0gZnJvbSAnLi4vc2hvcnRjdXRzL2dsb2JhbC1zaG9ydGN1dC1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIFVwbG9hZFJlZ2lzdHJ5U2VydmljZSxcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBVcGxvYWRUYXJnZXQsXG4gIFVzZXJTZXJ2aWNlLFxuICBBdXRoU2VydmljZSxcbiAgRW9Vc2VyLFxuICBOb3RpZmljYXRpb25zU2VydmljZSxcbiAgQ29uZmlnLFxuICBUcmFuc2xhdGVTZXJ2aWNlLCBFbnZpcm9ubWVudEVuYWlvXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQgeyBQZW5kaW5nQ2hhbmdlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9wZW5kaW5nLWNoYW5nZXMvcGVuZGluZy1jaGFuZ2VzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1mcmFtZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmFtZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZyYW1lLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRnJhbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXNoYm9hcmQnKSB0cmFuc3BhcmVudEJhciA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpZXctbm8tYmFyJykgbm9CYXIgPSAwO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnZpZXctbm8taGVhZGVyJykgbm9IZWFkZXIgPSAwO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm9iamVjdC1zdGF0ZScpIGlzT2JqZWN0U3RhdGUgPSB0cnVlO1xuXG4gIGluaXRFcnJvcjogYW55O1xuICBhdXRoZW50aWNhdGVkID0gZmFsc2U7XG4gIGRpciA9ICdsdHInOyAvLyBkZWZhdWx0IGRpcmVjdGlvbiAtIExlZnQgVG8gUmlnaHRcbiAgaXNNb2JpbGVFbnY6IGJvb2xlYW4gPSBFbnZpcm9ubWVudEVuYWlvLmlzTW9iaWxlRW52aXJvbm1lbnQoKTtcbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIGRvY3U6IHtsaW5rOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmd9O1xuXG4gIC8vIHNob3J0Y3V0IGFjdGlvbnNcbiAgc2hvcnRjdXRzOiBHbG9iYWxTaG9ydGN1dENvbXBvbmVudCA9IHtcbiAgICBpZDogJ2VvLmFwcCcsXG4gICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5nZW5lcmFsLnRpdGxlJyksXG4gICAgbGFiZWxLZXk6ICdlby5zaG9ydGN1dHMuZ2VuZXJhbC50aXRsZScsXG4gICAgYWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYWN0aW9uLmFkZCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5hZGQnLFxuICAgICAgICBzaG9ydGN1dDogJ0MnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ2FkZCd9fV0pO1xuICAgICAgICB9LFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmNhcGFiaWxpdGllcyA/ICF0aGlzLmNhcGFiaWxpdGllcy5pbnRyYXkgOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYWN0aW9uLnNlYXJjaCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5zZWFyY2gnLFxuICAgICAgICBzaG9ydGN1dDogJ0YnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ3NlYXJjaCd9fV0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYWN0aW9uLmxvZ291dCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5sb2dvdXQnLFxuICAgICAgICBzaG9ydGN1dDogJ0wnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogbnVsbCwgcHJpbWFyeTogWydlbnRlcicsIHtsb2dvdXQ6IHRydWV9XX19XSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNob3J0Y3V0cy5hY3Rpb24uYWRqdXN0LnZpZXcnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnNob3J0Y3V0cy5hY3Rpb24uYWRqdXN0LnZpZXcnLFxuICAgICAgICBzaG9ydGN1dDogJ1YnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHRoaXMuYWRqdXN0VmlldygpLFxuICAgICAgICBpc0hpZGRlbjogKCkgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zcGFyZW50QmFyO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaWRlYmFyLmhlbHAubWFudWFsJyksXG4gICAgICAgIG5hbWVLZXk6ICdlby5zaWRlYmFyLmhlbHAubWFudWFsJyxcbiAgICAgICAgc2hvcnRjdXQ6ICdEJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgd2luZG93Lm9wZW4odGhpcy5kb2N1LmxpbmspO1xuICAgICAgICB9LFxuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgLy8gbmF2aWdhdGlvbiBzaG9ydGN1dHNcbiAgbmF2U2hvcnRjdXRzOiBHbG9iYWxTaG9ydGN1dENvbXBvbmVudCA9IHtcbiAgICBpZDogJ2VvLmFwcC5uYXYnLFxuICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24udGl0bGUnKSxcbiAgICBsYWJlbEtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi50aXRsZScsXG4gICAgYWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaG9ydGN1dHMuYWN0aW9uLmRhc2hib2FyZCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uc2hvcnRjdXRzLmFjdGlvbi5kYXNoYm9hcmQnLFxuICAgICAgICBzaG9ydGN1dDogJzAnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvZGFzaGJvYXJkJyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnZpZXcubmF2aWdhdGlvbi5pbmJveCcpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLmluYm94JyxcbiAgICAgICAgc2hvcnRjdXQ6ICcxJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2luYm94Jyk7XG4gICAgICAgIH0sXG4gICAgICAgIGlzSGlkZGVuOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FwYWJpbGl0aWVzID8gIXRoaXMuY2FwYWJpbGl0aWVzLmluYm94IDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLnByZXBhcmUnKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5wcmVwYXJlJyxcbiAgICAgICAgc2hvcnRjdXQ6ICcyJyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3ByZXBhcmUnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNIaWRkZW46ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgPyAhdGhpcy5jYXBhYmlsaXRpZXMuaW50cmF5IDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLmZhdm9yaXRlcycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLmZhdm9yaXRlcycsXG4gICAgICAgIHNob3J0Y3V0OiAnMycsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9mYXZvcml0ZXMnKTtcbiAgICAgICAgfSxcbiAgICAgICAgaXNIaWRkZW46ICgpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXBhYmlsaXRpZXMgPyAhdGhpcy5jYXBhYmlsaXRpZXMuZmF2b3JpdGVzIDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5zZXR0aW5ncy50aXRsZScpLFxuICAgICAgICBuYW1lS2V5OiAnZW8uYmFyLmJ1dHRvbi5zZXR0aW5ncy50aXRsZScsXG4gICAgICAgIHNob3J0Y3V0OiAnNCcsXG4gICAgICAgIG9uRXhlY3V0ZUFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9zZXR0aW5ncycpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ucHJvY2VzcycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnByb2Nlc3MnLFxuICAgICAgICBzaG9ydGN1dDogJzUnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvcHJvY2VzcycpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24ubm90aWZpY2F0aW9ucycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLm5vdGlmaWNhdGlvbnMnLFxuICAgICAgICBzaG9ydGN1dDogJzYnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvbm90aWZpY2F0aW9ucycpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby52aWV3Lm5hdmlnYXRpb24uc3RvcmVkcXVlcmllcycpLFxuICAgICAgICBuYW1lS2V5OiAnZW8udmlldy5uYXZpZ2F0aW9uLnN0b3JlZHF1ZXJpZXMnLFxuICAgICAgICBzaG9ydGN1dDogJzcnLFxuICAgICAgICBvbkV4ZWN1dGVBY3Rpb246ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvc3RvcmVkLXF1ZXJpZXMnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8udmlldy5uYXZpZ2F0aW9uLnJlY3ljbGViaW4nKSxcbiAgICAgICAgbmFtZUtleTogJ2VvLnZpZXcubmF2aWdhdGlvbi5yZWN5Y2xlYmluJyxcbiAgICAgICAgc2hvcnRjdXQ6ICc4JyxcbiAgICAgICAgb25FeGVjdXRlQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL3JlY3ljbGViaW4nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICBdXG4gIH07XG5cblxuICAvLyBASG9zdExpc3RlbmVyIGFsbG93cyB1cyB0byBhbHNvIGd1YXJkIGFnYWluc3QgYnJvd3NlciByZWZyZXNoLCBjbG9zZSwgZXRjLlxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6YmVmb3JldW5sb2FkJywgWyckZXZlbnQnXSlcbiAgdW5sb2FkTm90aWZpY2F0aW9uKCRldmVudDogYW55KSB7XG4gICAgcmV0dXJuICF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCk7XG4gIH1cbiAgXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXJvbGVzJykgcm9sZXMgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmeTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgICAgICAgcHVibGljIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjYXBhYmlsaXRpZXNTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHVwbG9hZFJlZ2lzdHJ5OiBVcGxvYWRSZWdpc3RyeVNlcnZpY2UpIHtcblxuICAgIC8vIHRoaXMuY2FwYWJpbGl0aWVzID0gdGhpcy5jYXBhYmlsaXRpZXNTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuXG4gICAgLy8gSW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvcmUgY29tcG9uZW50cyBpcyBkb25lLCBzbyB3ZSBjaGVjayBpdHMgc3RhdGVcbiAgICAvLyBBbnkgZXJyb3JzIGR1cmluZyBnbG9iYWwgaW5pdGlhbGl6YXRpb24/XG4gICAgLy8gaWYgKHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yICE9PSBudWxsKSB7XG4gICAgLy8gICB0aGlzLmluaXRFcnJvciA9IHtcbiAgICAvLyAgICAgY2F1c2U6IHRoaXMuaW5pdC5nZXRTdGF0ZSgpLmVycm9yXG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkXG4gICAgICAuc3Vic2NyaWJlKCh1c2VyOiBFb1VzZXIpID0+IHtcbiAgICAgICAgdGhpcy5kaXIgPSB1c2VyID8gdXNlci51aURpcmVjdGlvbiA6ICdsdHInO1xuICAgICAgICB0aGlzLnJvbGVzID0gdXNlcj8ucm9sZXM/Lm1hcChyID0+IHIubmFtZSkuam9pbignOycpIHx8ICcnO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlclxuICAgICAgLmV2ZW50c1xuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICB0aGlzLnNldFN0eWxlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hdXRoU2VydmljZVxuICAgICAgLmF1dGhlbnRpY2F0ZWQkXG4gICAgICAuc3Vic2NyaWJlKGF1dGhlbnRpY2F0ZWQgPT4gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYXV0aGVudGljYXRlZCA9IGF1dGhlbnRpY2F0ZWQ7XG4gICAgICAgIC8vIGZldGNoIGNhcGFiaWxpdGllcyBhZ2FpbiBvbmNlIGEgdXNlciBpcyBhdXRoZW50aWNhdGVkXG4gICAgICAgIGlmIChhdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdGllc1NlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pKTtcblxuICAgIC8vIGFkZCByb290IHVwbG9hZCB0YXJnZXRcbiAgICBsZXQgcm9vdFRhcmdldCA9IG5ldyBVcGxvYWRUYXJnZXQoJ3Jvb3QnLCBVcGxvYWRUYXJnZXQuUk9PVCk7XG4gICAgcm9vdFRhcmdldC5vblVwbG9hZFN1Y2Nlc3MgPSAoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9wcmVwYXJlJ10pO1xuICAgIHRoaXMudXBsb2FkUmVnaXN0cnkucmVnaXN0ZXIocm9vdFRhcmdldCk7XG5cbiAgICB0aGlzLnNldFN0eWxlKCk7XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgY29uc3QgZG9jdSA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuZG9jdScpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlLnN1YnN0cmluZygwLCAyKSk7XG4gICAgICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgICAgIH0pXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldERvY3VtZW50YXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U3R5bGUoKSB7XG4gICAgdGhpcy50cmFuc3BhcmVudEJhciA9ICEhdGhpcy5sb2NhdGlvbi5wYXRoKCkubWF0Y2goL1xcL2Rhc2hib2FyZHxcXC9lbnRlci8pO1xuICAgIHRoaXMuaXNPYmplY3RTdGF0ZSA9ICEhdGhpcy5sb2NhdGlvbi5wYXRoKCkubWF0Y2goL1xcL29iamVjdFxcLy8pO1xuICB9XG5cbiAgYWRqdXN0VmlldygpIHtcbiAgICB0aGlzLm5vQmFyID0gKHRoaXMubm9CYXIgKyAxKSAlIDM7XG4gICAgdGhpcy5ub0hlYWRlciA9IHRoaXMubm9CYXIgPT09IDIgPyAxIDogMDtcbiAgfVxufVxuXG4iLCI8IS0tIGdsb2JhbCB1cGxvYWQgY29tcG9uZW50IC0tPlxuPGVvLXVwbG9hZC1vdmVybGF5ICpuZ0lmPVwiYXV0aGVudGljYXRlZCAmJiBjYXBhYmlsaXRpZXM/LmludHJheVwiPjwvZW8tdXBsb2FkLW92ZXJsYXk+XG5cbjwhLS0gbWFpbiBhcHBsaWNhdGlvbiBza2VsZXRvbiAtLT5cbjxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvblwiIFtkaXJdPVwiZGlyXCIgW2VvU2hvcnRjdXRzXT1cIm5hdlNob3J0Y3V0c1wiPlxuXG4gIDxkaXYgY2xhc3M9XCJhcHBcIiAqbmdJZj1cIiFpbml0RXJyb3JcIiBbZW9TaG9ydGN1dHNdPVwic2hvcnRjdXRzXCI+XG4gICAgPGVvLWFwcC1iYXIgW3RyYW5zcGFyZW50XT1cInRyYW5zcGFyZW50QmFyXCIgKm5nSWY9XCJhdXRoZW50aWNhdGVkXCI+XG4gICAgICA8ZW8tc2lkZWJhci1wbHVnaW4gY2xhc3M9XCJuYXZpXCIgW3R5cGVdPVwiJ3NpZGViYXItbmF2aWdhdGlvbidcIj48L2VvLXNpZGViYXItcGx1Z2luPlxuICAgICAgPGVvLXNpZGViYXItcGx1Z2luIGNsYXNzPVwiaGVscFwiIFt0eXBlXT1cIidzaWRlYmFyLWhlbHAnXCI+PC9lby1zaWRlYmFyLXBsdWdpbj5cbiAgICAgIDxlby1zaWRlYmFyLXBsdWdpbiBjbGFzcz1cInByb2ZpbGVcIiBbdHlwZV09XCInc2lkZWJhci1wcm9maWxlJ1wiPjwvZW8tc2lkZWJhci1wbHVnaW4+XG4gICAgPC9lby1hcHAtYmFyPlxuICAgIDxkaXYgY2xhc3M9XCJlby1hcHAtY29udGVudFwiPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIGFwcCBpbml0IGZhaWxlZCBub3RpZmljYXRpb24gLS0+XG4gIDxkaXYgY2xhc3M9XCJpbml0LWVycm9yXCIgKm5nSWY9XCJpbml0RXJyb3JcIj5cbiAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19lcnJvci5zdmcnXCI+PC9lby1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5hcHAuaW5pdC5mYWlsLnRpdGxlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2F1c2VcIiB0cmFuc2xhdGU+ZW8uYXBwLmluaXQuZmFpbC5tZXNzYWdlPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2F1c2UgZXJyb3JcIj57e2luaXRFcnJvci5jYXVzZX19PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJvdmVybGF5XCI+XG4gICAgPCEtLTxuZy1wcm9ncmVzcyBbcG9zaXRpb25Vc2luZ109XCInbWFyZ2luTGVmdCdcIiBbbWluaW11bV09XCIwLjNcIiBbbWF4aW11bV09XCIxXCItLT5cbiAgICA8IS0tW3NwZWVkXT1cIjMwMFwiIFtzaG93U3Bpbm5lcl09XCJmYWxzZVwiLS0+XG4gICAgPCEtLVtkaXJlY3Rpb25dPVwiZGlyID09PSAncnRsJyA/ICdyaWdodFRvTGVmdEluY3JlYXNlZCcgOiAnbGVmdFRvUmlnaHRJbmNyZWFzZWQnXCItLT5cbiAgICA8IS0tW2NvbG9yXT1cIicjYmIzZjVhJ1wiIFt0cmlja2xlU3BlZWRdPVwiMzAwXCIgW3RoaWNrXT1cInRydWVcIiBbZWFzZV09XCInbGluZWFyJ1wiLS0+XG4gICAgPCEtLSZndDs8L25nLXByb2dyZXNzPi0tPlxuICA8L2Rpdj5cbiAgPHJvdXRlci1vdXRsZXQgbmFtZT1cIm1vZGFsXCI+PC9yb3V0ZXItb3V0bGV0PlxuICA8ZW8tZ2xvYmFsLXNob3J0Y3V0cyAqbmdJZj1cImF1dGhlbnRpY2F0ZWQgJiYgIWlzTW9iaWxlRW52XCI+PC9lby1nbG9iYWwtc2hvcnRjdXRzPlxuICA8ZW8tYWN0aW9uLW1lbnU+PC9lby1hY3Rpb24tbWVudT5cbiAgPHNlY3Rpb24gI2V4dGVybmFsRGlhbG9nPjwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
@@ -64,12 +64,12 @@ export class DatetimeFilterComponent extends DateComponent {
64
64
  }
65
65
  }
66
66
  DatetimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, deps: [{ token: i1.TranslateService }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component });
67
- DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\" [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
67
+ DatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DatetimeFilterComponent, selector: "eo-datetime-custom", viewQueries: [{ propertyName: "eoDialog", first: true, predicate: EoDialogComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<yvc-datepicker [calendar]=\"true\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\" [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"], dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] });
68
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DatetimeFilterComponent, decorators: [{
69
69
  type: Component,
70
- args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [withTime]=\"withTime\" [labels]=\"labels\" [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
70
+ args: [{ selector: 'eo-datetime-custom', template: "<yvc-datepicker [calendar]=\"true\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels\" [ngModelOptions]=\"{standalone: true}\"\n [(ngModel)]=\"value\" (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host yvc-datepicker{border:0;outline:0;box-sizing:border-box}\n"] }]
71
71
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i1.EventService }]; }, propDecorators: { eoDialog: [{
72
72
  type: ViewChild,
73
73
  args: [EoDialogComponent]
74
74
  }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZmlsdGVycy9kYXRldGltZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRlL2RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFFdEQsT0FBTyxFQUFDLFVBQVUsRUFBZ0QsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUNBQXlDLENBQUM7Ozs7O0FBRXRFLHVDQUF1QztBQUN2QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFaEUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFVBQVMsUUFBUTtJQUN6RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUNsSSxDQUFDLENBQUM7QUFPRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQVV4RCxZQUFZLFNBQTJCLEVBQVUsWUFBMEI7UUFDekUsS0FBSyxDQUFD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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQStCO1FBQzlDLDJDQUEyQztJQUM3QyxDQUFDOztvSEFoRVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsb0dBUXZCLGlCQUFpQix1RUM3QjlCLGdOQUNpRjsyRkRvQnBFLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7a0lBWUEsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lEYXRlQW5ndWxhckNvbXB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uLy4uL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7RW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtEYXRlRmlsdGVyLCBJQWZ0ZXJHdWlBdHRhY2hlZFBhcmFtcywgSUZpbHRlclBhcmFtcywgVXRpbHN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7RGF0ZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybS1lbGVtZW50cy9kYXRlL2RhdGUuY29tcG9uZW50JztcblxuLy8gY3VzdG9tIGNvbmRpdGlvbiBmb3IgRGF0ZVRpbWUgdmFsdWVzXG5jb25zdCBjcmVhdGVDb25kaXRpb24gPSBEYXRlRmlsdGVyLnByb3RvdHlwZVsnY3JlYXRlQ29uZGl0aW9uJ107XG5cbkRhdGVGaWx0ZXIucHJvdG90eXBlWydjcmVhdGVDb25kaXRpb24nXSA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKGNyZWF0ZUNvbmRpdGlvbi5jYWxsKHRoaXMsIHBvc2l0aW9uKSwgdGhpcy5kYXRlQ29tcEZyb20xLmRhdGVDb21wLl9mcmFtZXdvcmtDb21wb25lbnRJbnN0YW5jZS5zZXJpYWxpemUoKSk7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1kYXRldGltZS1jdXN0b20nLFxuICB0ZW1wbGF0ZVVybDogJy4uLy4uL2Zvcm0tZWxlbWVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uL2Zvcm0tZWxlbWVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgSURhdGVBbmd1bGFyQ29tcCB7XG5cbiAgcGFyYW1zOiBhbnkgPSB7fTtcbiAgY29sdW1uOiBhbnk7XG4gIGZpbHRlclBhcmFtczogSUZpbHRlclBhcmFtcztcbiAgLy8gZmlsdGVySW5zdGFuY2U6IERhdGVGaWx0ZXI7XG4gIGZpbHRlckluc3RhbmNlOiBhbnk7XG5cbiAgQFZpZXdDaGlsZChFb0RpYWxvZ0NvbXBvbmVudCkgZW9EaWFsb2c6IEVvRGlhbG9nQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSkge1xuICAgIHN1cGVyKHRyYW5zbGF0ZSk7XG4gIH1cblxuICBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVySW5zdGFuY2VbJ19maWx0ZXJNb2RlbCddID0ge1xuICAgICAgZGF0ZVRvOiBzdXBlci5mb3JtYXREYXRlKHRoaXMuZmlsdGVySW5zdGFuY2VbJ2RhdGVDb21wVG8xJ10uZ2V0RGF0ZSgpKSxcbiAgICAgIGRhdGVGcm9tOiBzdXBlci5mb3JtYXREYXRlKHRoaXMuZmlsdGVySW5zdGFuY2VbJ2RhdGVDb21wRnJvbTEnXS5nZXREYXRlKCkpLFxuICAgICAgdHlwZTogdGhpcy5maWx0ZXJJbnN0YW5jZS5nZXRDb25kaXRpb24xVHlwZSgpLFxuICAgICAgd2l0aFRpbWU6IHRoaXMud2l0aFRpbWUsXG4gICAgICBmaWx0ZXJUeXBlOiAnZGF0ZSdcbiAgICB9O1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShlOiBhbnkpIHtcbiAgICB0aGlzLnNlcmlhbGl6ZSgpO1xuICAgIHRoaXMucGFyYW1zLm9uRGF0ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHNldERhdGUodmFsdWUpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgZ2V0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy5maWx0ZXJQYXJhbXMgPSBwYXJhbXMuZmlsdGVyUGFyYW1zO1xuICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLmZpbHRlclBhcmFtc1snd2l0aFRpbWUnXTtcbiAgICAvLyB0aGlzLnBpY2tlclRpdGxlID0gdGhpcy5maWx0ZXJQYXJhbXMuY29sRGVmLmhlYWRlck5hbWU7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVySW5zdGFuY2UgPSB0aGlzLmZpbHRlclBhcmFtcy5hcGkuZ2V0RmlsdGVySW5zdGFuY2UodGhpcy5maWx0ZXJQYXJhbXMuY29sRGVmLmZpZWxkKTtcbiAgICAgIHRoaXMuZmlsdGVySW5zdGFuY2Uuc2VyaWFsaXplID0gdGhpcy5zZXJpYWxpemUuYmluZCh0aGlzKTtcbiAgICB9LCAwKTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLm9uKEVuYWlvRXZlbnQuRU9fRElBTE9HX1NUQUNLX0NIQU5HRUQpLnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IGV2ZW50ICYmIHRoaXMuZmlsdGVyUGFyYW1zLmNvbHVtbiAmJiB0aGlzLmZpbHRlclBhcmFtcy5jb2x1bW4uaXNNZW51VmlzaWJsZSgpKVxuICAgICkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50cyA9IHRoaXMuZmlsdGVyUGFyYW1zLmFwaVsnZmlsdGVyTWFuYWdlciddLnBvcHVwU2VydmljZS5wb3B1cExpc3Q7XG4gICAgICAgIGlmIChldmVudC5kYXRhLmFjdGl2ZSkge1xuICAgICAgICAgIGVsZW1lbnRzLnB1c2goe2VsZW1lbnQ6IGRvY3VtZW50LmJvZHl9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLmFwaVsnZmlsdGVyTWFuYWdlciddLnBvcHVwU2VydmljZS5wb3B1cExpc3QgPSBlbGVtZW50cy5maWx0ZXIoZWwgPT4gZWwuZWxlbWVudCAhPT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgYWZ0ZXJHdWlBdHRhY2hlZChwYXJhbXM6IElBZnRlckd1aUF0dGFjaGVkUGFyYW1zKTogdm9pZCB7XG4gICAgLy8gdGhpcy5pbnB1dE1hc2suZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iLCI8eXZjLWRhdGVwaWNrZXIgW2NhbGVuZGFyXT1cInRydWVcIiBbd2l0aFRpbWVdPVwid2l0aFRpbWVcIiBbbGFiZWxzXT1cImxhYmVsc1wiIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIj48L3l2Yy1kYXRlcGlja2VyPiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2dyaWQvZmlsdGVycy9kYXRldGltZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvZm9ybS1lbGVtZW50cy9kYXRlL2RhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxVQUFVLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFFdEQsT0FBTyxFQUFDLFVBQVUsRUFBZ0QsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUNBQXlDLENBQUM7Ozs7O0FBRXRFLHVDQUF1QztBQUN2QyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFaEUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFVBQVMsUUFBUTtJQUN6RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUNsSSxDQUFDLENBQUM7QUFPRixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQVV4RCxZQUFZLFNBQTJCLEVBQVUsWUFBMEI7UUFDekUsS0FBSyxDQUFD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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQStCO1FBQzlDLDJDQUEyQztJQUM3QyxDQUFDOztvSEFoRVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsb0dBUXZCLGlCQUFpQix1RUM3QjlCLG9PQUNpRjsyRkRvQnBFLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxvQkFBb0I7a0lBWUEsUUFBUTtzQkFBckMsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZpbHRlcn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lEYXRlQW5ndWxhckNvbXB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9hbmd1bGFyJztcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4uLy4uL3VpL2VvLWRpYWxvZy9lby1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7RW5haW9FdmVudCwgRXZlbnRTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtEYXRlRmlsdGVyLCBJQWZ0ZXJHdWlBdHRhY2hlZFBhcmFtcywgSUZpbHRlclBhcmFtcywgVXRpbHN9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7RGF0ZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vZm9ybS1lbGVtZW50cy9kYXRlL2RhdGUuY29tcG9uZW50JztcblxuLy8gY3VzdG9tIGNvbmRpdGlvbiBmb3IgRGF0ZVRpbWUgdmFsdWVzXG5jb25zdCBjcmVhdGVDb25kaXRpb24gPSBEYXRlRmlsdGVyLnByb3RvdHlwZVsnY3JlYXRlQ29uZGl0aW9uJ107XG5cbkRhdGVGaWx0ZXIucHJvdG90eXBlWydjcmVhdGVDb25kaXRpb24nXSA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKGNyZWF0ZUNvbmRpdGlvbi5jYWxsKHRoaXMsIHBvc2l0aW9uKSwgdGhpcy5kYXRlQ29tcEZyb20xLmRhdGVDb21wLl9mcmFtZXdvcmtDb21wb25lbnRJbnN0YW5jZS5zZXJpYWxpemUoKSk7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1kYXRldGltZS1jdXN0b20nLFxuICB0ZW1wbGF0ZVVybDogJy4uLy4uL2Zvcm0tZWxlbWVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uL2Zvcm0tZWxlbWVudHMvZGF0ZS9kYXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBEYXRlQ29tcG9uZW50IGltcGxlbWVudHMgSURhdGVBbmd1bGFyQ29tcCB7XG5cbiAgcGFyYW1zOiBhbnkgPSB7fTtcbiAgY29sdW1uOiBhbnk7XG4gIGZpbHRlclBhcmFtczogSUZpbHRlclBhcmFtcztcbiAgLy8gZmlsdGVySW5zdGFuY2U6IERhdGVGaWx0ZXI7XG4gIGZpbHRlckluc3RhbmNlOiBhbnk7XG5cbiAgQFZpZXdDaGlsZChFb0RpYWxvZ0NvbXBvbmVudCkgZW9EaWFsb2c6IEVvRGlhbG9nQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSkge1xuICAgIHN1cGVyKHRyYW5zbGF0ZSk7XG4gIH1cblxuICBzZXJpYWxpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVySW5zdGFuY2VbJ19maWx0ZXJNb2RlbCddID0ge1xuICAgICAgZGF0ZVRvOiBzdXBlci5mb3JtYXREYXRlKHRoaXMuZmlsdGVySW5zdGFuY2VbJ2RhdGVDb21wVG8xJ10uZ2V0RGF0ZSgpKSxcbiAgICAgIGRhdGVGcm9tOiBzdXBlci5mb3JtYXREYXRlKHRoaXMuZmlsdGVySW5zdGFuY2VbJ2RhdGVDb21wRnJvbTEnXS5nZXREYXRlKCkpLFxuICAgICAgdHlwZTogdGhpcy5maWx0ZXJJbnN0YW5jZS5nZXRDb25kaXRpb24xVHlwZSgpLFxuICAgICAgd2l0aFRpbWU6IHRoaXMud2l0aFRpbWUsXG4gICAgICBmaWx0ZXJUeXBlOiAnZGF0ZSdcbiAgICB9O1xuICB9XG5cbiAgb25WYWx1ZUNoYW5nZShlOiBhbnkpIHtcbiAgICB0aGlzLnNlcmlhbGl6ZSgpO1xuICAgIHRoaXMucGFyYW1zLm9uRGF0ZUNoYW5nZWQoKTtcbiAgfVxuXG4gIHNldERhdGUodmFsdWUpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgZ2V0RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG4gICAgdGhpcy5maWx0ZXJQYXJhbXMgPSBwYXJhbXMuZmlsdGVyUGFyYW1zO1xuICAgIHRoaXMud2l0aFRpbWUgPSB0aGlzLmZpbHRlclBhcmFtc1snd2l0aFRpbWUnXTtcbiAgICAvLyB0aGlzLnBpY2tlclRpdGxlID0gdGhpcy5maWx0ZXJQYXJhbXMuY29sRGVmLmhlYWRlck5hbWU7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVySW5zdGFuY2UgPSB0aGlzLmZpbHRlclBhcmFtcy5hcGkuZ2V0RmlsdGVySW5zdGFuY2UodGhpcy5maWx0ZXJQYXJhbXMuY29sRGVmLmZpZWxkKTtcbiAgICAgIHRoaXMuZmlsdGVySW5zdGFuY2Uuc2VyaWFsaXplID0gdGhpcy5zZXJpYWxpemUuYmluZCh0aGlzKTtcbiAgICB9LCAwKTtcblxuICAgIHRoaXMuZXZlbnRTZXJ2aWNlLm9uKEVuYWlvRXZlbnQuRU9fRElBTE9HX1NUQUNLX0NIQU5HRUQpLnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IGV2ZW50ICYmIHRoaXMuZmlsdGVyUGFyYW1zLmNvbHVtbiAmJiB0aGlzLmZpbHRlclBhcmFtcy5jb2x1bW4uaXNNZW51VmlzaWJsZSgpKVxuICAgICkuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50cyA9IHRoaXMuZmlsdGVyUGFyYW1zLmFwaVsnZmlsdGVyTWFuYWdlciddLnBvcHVwU2VydmljZS5wb3B1cExpc3Q7XG4gICAgICAgIGlmIChldmVudC5kYXRhLmFjdGl2ZSkge1xuICAgICAgICAgIGVsZW1lbnRzLnB1c2goe2VsZW1lbnQ6IGRvY3VtZW50LmJvZHl9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zLmFwaVsnZmlsdGVyTWFuYWdlciddLnBvcHVwU2VydmljZS5wb3B1cExpc3QgPSBlbGVtZW50cy5maWx0ZXIoZWwgPT4gZWwuZWxlbWVudCAhPT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgYWZ0ZXJHdWlBdHRhY2hlZChwYXJhbXM6IElBZnRlckd1aUF0dGFjaGVkUGFyYW1zKTogdm9pZCB7XG4gICAgLy8gdGhpcy5pbnB1dE1hc2suZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG4iLCI8eXZjLWRhdGVwaWNrZXIgW2NhbGVuZGFyXT1cInRydWVcIiBbbG9jYWxlXT1cImxvY2FsZVwiIFt3aXRoVGltZV09XCJ3aXRoVGltZVwiIFtsYWJlbHNdPVwibGFiZWxzXCIgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwveXZjLWRhdGVwaWNrZXI+Il19