speechrecorderng 3.9.8 → 3.9.10

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 (84) hide show
  1. package/esm2022/lib/action/action.mjs +1 -1
  2. package/esm2022/lib/audio/array_audio_buffer.mjs +1 -1
  3. package/esm2022/lib/audio/array_audio_buffer_input_stream.mjs +1 -1
  4. package/esm2022/lib/audio/audio_data_holder.mjs +1 -1
  5. package/esm2022/lib/audio/audio_display.mjs +4 -4
  6. package/esm2022/lib/audio/audio_player.mjs +4 -4
  7. package/esm2022/lib/audio/capture/capture.mjs +1 -1
  8. package/esm2022/lib/audio/context.mjs +1 -1
  9. package/esm2022/lib/audio/dsp/level_measure.mjs +5 -4
  10. package/esm2022/lib/audio/impl/wavreader.mjs +1 -1
  11. package/esm2022/lib/audio/impl/wavwriter.mjs +1 -1
  12. package/esm2022/lib/audio/inddb_audio_buffer.mjs +1 -1
  13. package/esm2022/lib/audio/io/stream.mjs +1 -1
  14. package/esm2022/lib/audio/net_audio_buffer.mjs +1 -1
  15. package/esm2022/lib/audio/persistor.mjs +1 -1
  16. package/esm2022/lib/audio/playback/array_audio_buffer_source_node.mjs +1 -1
  17. package/esm2022/lib/audio/playback/audio_source_node.mjs +1 -1
  18. package/esm2022/lib/audio/playback/audio_source_worklet_module_loader.mjs +1 -1
  19. package/esm2022/lib/audio/playback/inddb_audio_buffer_source_node.mjs +1 -1
  20. package/esm2022/lib/audio/playback/net_audio_buffer_source_node.mjs +1 -1
  21. package/esm2022/lib/audio/playback/player.mjs +1 -1
  22. package/esm2022/lib/audio/ui/audio_canvas_layer_comp.mjs +7 -7
  23. package/esm2022/lib/audio/ui/audio_display_control.mjs +4 -4
  24. package/esm2022/lib/audio/ui/audio_display_scroll_pane.mjs +4 -4
  25. package/esm2022/lib/audio/ui/audiosignal.mjs +4 -4
  26. package/esm2022/lib/audio/ui/container.mjs +4 -4
  27. package/esm2022/lib/audio/ui/livelevel.mjs +4 -4
  28. package/esm2022/lib/audio/ui/scroll_pane_horizontal.mjs +3 -3
  29. package/esm2022/lib/audio/ui/sonagram.mjs +4 -4
  30. package/esm2022/lib/db/inddb.mjs +4 -4
  31. package/esm2022/lib/dsp/utils.mjs +1 -1
  32. package/esm2022/lib/io/BinaryReader.mjs +1 -1
  33. package/esm2022/lib/io/BinaryWriter.mjs +1 -1
  34. package/esm2022/lib/io/stream.mjs +1 -1
  35. package/esm2022/lib/math/complex.mjs +1 -1
  36. package/esm2022/lib/math/dft.mjs +1 -1
  37. package/esm2022/lib/net/uploader.mjs +1 -1
  38. package/esm2022/lib/recorder_component.mjs +1 -1
  39. package/esm2022/lib/speechrecorder/project/project.mjs +1 -1
  40. package/esm2022/lib/speechrecorder/project/project.service.mjs +4 -4
  41. package/esm2022/lib/speechrecorder/recording.mjs +1 -1
  42. package/esm2022/lib/speechrecorder/recordings/basic_recording.service.mjs +1 -1
  43. package/esm2022/lib/speechrecorder/recordings/recordings.service.mjs +4 -4
  44. package/esm2022/lib/speechrecorder/script/script.mjs +1 -1
  45. package/esm2022/lib/speechrecorder/script/script.service.mjs +4 -4
  46. package/esm2022/lib/speechrecorder/session/audiorecorder.mjs +7 -7
  47. package/esm2022/lib/speechrecorder/session/basicrecorder.mjs +14 -13
  48. package/esm2022/lib/speechrecorder/session/controlpanel.mjs +22 -22
  49. package/esm2022/lib/speechrecorder/session/item.mjs +1 -1
  50. package/esm2022/lib/speechrecorder/session/progress.mjs +4 -4
  51. package/esm2022/lib/speechrecorder/session/prompting.mjs +16 -16
  52. package/esm2022/lib/speechrecorder/session/recorder_combi_pane.mjs +3 -3
  53. package/esm2022/lib/speechrecorder/session/recording_file_cache.mjs +1 -1
  54. package/esm2022/lib/speechrecorder/session/recording_list.mjs +4 -4
  55. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +4 -4
  56. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +4 -4
  57. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +4 -4
  58. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +4 -4
  59. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file.mjs +1 -1
  60. package/esm2022/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +4 -4
  61. package/esm2022/lib/speechrecorder/session/session.service.mjs +4 -4
  62. package/esm2022/lib/speechrecorder/session/session_finished_dialog.mjs +3 -3
  63. package/esm2022/lib/speechrecorder/session/sessionmanager.mjs +4 -4
  64. package/esm2022/lib/speechrecorder/session/warning_bar.mjs +4 -4
  65. package/esm2022/lib/speechrecorder/spruploader.mjs +4 -4
  66. package/esm2022/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +4 -4
  67. package/esm2022/lib/speechrecorderng.component.mjs +4 -4
  68. package/esm2022/lib/speechrecorderng.module.mjs +9 -13
  69. package/esm2022/lib/spr.config.mjs +3 -3
  70. package/esm2022/lib/spr.module.version.mjs +2 -2
  71. package/esm2022/lib/ui/canvas_layer_comp.mjs +4 -4
  72. package/esm2022/lib/ui/intersection-observer.directive.mjs +4 -4
  73. package/esm2022/lib/ui/message_dialog.mjs +3 -3
  74. package/esm2022/lib/ui/recordingitem_display.mjs +7 -7
  75. package/esm2022/lib/ui/responsive_component.mjs +3 -3
  76. package/esm2022/lib/utils/scrollIntoViewToBottom.mjs +4 -4
  77. package/esm2022/lib/utils/ua-parser.mjs +1 -1
  78. package/esm2022/lib/utils/utils.mjs +1 -1
  79. package/esm2022/lib/utils/wake_lock.mjs +1 -1
  80. package/fesm2022/speechrecorderng.mjs +184 -186
  81. package/fesm2022/speechrecorderng.mjs.map +1 -1
  82. package/lib/speechrecorderng.module.d.ts +11 -12
  83. package/lib/spr.module.version.d.ts +1 -1
  84. package/package.json +12 -12
@@ -44,8 +44,8 @@ export class RecordingFileMetaComponent {
44
44
  }
45
45
  return t;
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileMetaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", stateLoading: "stateLoading", recordingFile: "recordingFile" }, ngImport: i0, template: `
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileMetaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", stateLoading: "stateLoading", recordingFile: "recordingFile" }, ngImport: i0, template: `
49
49
  <mat-card appearance="outlined">
50
50
  <mat-card-title>Recording file ID: {{recordingFile?.recordingFileId}}</mat-card-title>
51
51
  <mat-card-content>
@@ -81,7 +81,7 @@ export class RecordingFileMetaComponent {
81
81
  </mat-card>
82
82
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }] }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileMetaComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileMetaComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'app-recording-file-meta', template: `
87
87
  <mat-card appearance="outlined">
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
125
125
  }], recordingFile: [{
126
126
  type: Input
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtbWV0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLW1ldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQTBDbkQsTUFBTSxPQUFPLDBCQUEwQjtJQVNyQztRQU5TLGNBQVMsR0FBd0IsSUFBSSxDQUFDO1FBRXZDLG1CQUFjLEdBQXVCLElBQUksQ0FBQztRQWtDbEQsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixTQUFJLEdBQXVCLElBQUksQ0FBQztRQTlCOUIsSUFBSSxDQUFDLFlBQVksR0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBbUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDN0MsSUFBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFDO2dCQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQzthQUN0RDtZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLHdFQUF3RTthQUN6RTtpQkFBTTtnQkFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQztnQkFDdEMscUVBQXFFO2FBQ3RFO1NBQ0Y7YUFBSTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUtELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsR0FBQyxJQUFJLENBQUM7UUFDWCxJQUFHLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0FoRFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsaUtBckMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDs7MkZBR1UsMEJBQTBCO2tCQXZDdEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7d0RBTVEsU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQVVPLGFBQWE7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVVdGlsfSBmcm9tIFwiLi9yZWNvcmRpbmctZmlsZVwiO1xyXG5pbXBvcnQge1NwclJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlY29yZGluZy1maWxlLW1ldGEnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5SZWNvcmRpbmcgZmlsZSBJRDoge3tyZWNvcmRpbmdGaWxlPy5yZWNvcmRpbmdGaWxlSWR9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cInN0YXRlTG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjIwXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICA8dGFibGU+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCJpdGVtQ29kZVwiPlxyXG4gICAgICAgICAgICA8dGQ+SXRlbWNvZGU6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7aXRlbUNvZGV9fTwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwidXVpZCAmJiAhaXRlbUNvZGVcIj5cclxuICAgICAgICAgICAgPHRkPlVVSUQ6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7dXVpZH19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCJyZWNvcmRpbmdGaWxlPy5zdGFydGVkRGF0ZVwiPlxyXG4gICAgICAgICAgICA8dGQ+U3RhcnRlZDo8L3RkPlxyXG4gICAgICAgICAgICA8dGQ+e3tyZWNvcmRpbmdGaWxlPy5zdGFydGVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCIhcmVjb3JkaW5nRmlsZT8uc3RhcnRlZERhdGUgJiYgcmVjb3JkaW5nRmlsZT8uZGF0ZVwiPlxyXG4gICAgICAgICAgICA8dGQ+RGF0ZTo8L3RkPlxyXG4gICAgICAgICAgICA8dGQ+e3tyZWNvcmRpbmdGaWxlPy5kYXRlfX08L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDx0ciAqbmdJZj1cIml0ZW1Db2RlXCI+XHJcbiAgICAgICAgICAgIDx0ZD5Qcm9tcHQ6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7cmVjb3JkaW5nQXNQbGFpblRleHQoKX19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwic2Vzc2lvbklkXCI+XHJcbiAgICAgICAgICAgIDx0ZD5TZXNzaW9uOjwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZD57e3Nlc3Npb25JZH19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICBgLFxyXG4gIHN0eWxlczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVNZXRhQ29tcG9uZW50e1xyXG5cclxuXHJcbiAgQElucHV0KCkgc2Vzc2lvbklkOnN0cmluZyB8IG51bWJlciB8IG51bGw9bnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBfcmVjb3JkaW5nRmlsZTpTcHJSZWNvcmRpbmdGaWxlfG51bGw9bnVsbDtcclxuXHJcbiAgQElucHV0KCkgc3RhdGVMb2FkaW5nOmJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zdGF0ZUxvYWRpbmc9ZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVjb3JkaW5nRmlsZSgpOiBTcHJSZWNvcmRpbmdGaWxlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVjb3JkaW5nRmlsZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCByZWNvcmRpbmdGaWxlKHJlY29yZGluZ0ZpbGU6U3ByUmVjb3JkaW5nRmlsZXxudWxsKXtcclxuICAgIHRoaXMuX3JlY29yZGluZ0ZpbGU9cmVjb3JkaW5nRmlsZTtcclxuICAgIGlmKHRoaXMuX3JlY29yZGluZ0ZpbGUpIHtcclxuICAgICAgdGhpcy5pdGVtQ29kZSA9IHRoaXMuX3JlY29yZGluZ0ZpbGUuaXRlbUNvZGU7XHJcbiAgICAgIGlmKCF0aGlzLml0ZW1Db2RlICYmIHRoaXMuX3JlY29yZGluZ0ZpbGUucmVjb3JkaW5nPy5pdGVtY29kZSl7XHJcbiAgICAgICAgdGhpcy5pdGVtQ29kZT10aGlzLl9yZWNvcmRpbmdGaWxlLnJlY29yZGluZy5pdGVtY29kZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pdGVtQ29kZSkge1xyXG5cclxuICAgICAgICB0aGlzLnV1aWQgPSBudWxsO1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlNwclJlY29yZGluZ0ZpbGU6IFwiK3RoaXMuaXRlbUNvZGUrIFwiIFVVSUQ6IFwiK3RoaXMudXVpZClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLml0ZW1Db2RlID0gbnVsbDtcclxuICAgICAgICB0aGlzLnV1aWQgPSB0aGlzLl9yZWNvcmRpbmdGaWxlPy51dWlkO1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY29yZGluZ0ZpbGU6IFwiK3RoaXMuaXRlbUNvZGUrIFwiIFVVSUQ6IFwiK3RoaXMudXVpZClcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuaXRlbUNvZGU9bnVsbDtcclxuICAgICAgdGhpcy51dWlkPW51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtQ29kZTpzdHJpbmd8bnVsbD1udWxsO1xyXG4gIHV1aWQ6c3RyaW5nfG51bGx8dW5kZWZpbmVkPW51bGw7XHJcblxyXG4gIHJlY29yZGluZ0FzUGxhaW5UZXh0KCl7XHJcbiAgICBsZXQgdD1udWxsO1xyXG4gICAgaWYodGhpcy5fcmVjb3JkaW5nRmlsZSkge1xyXG4gICAgICB0ID0gUmVjb3JkaW5nRmlsZVV0aWwucmVjb3JkaW5nQXNQbGFpblRleHQodGhpcy5fcmVjb3JkaW5nRmlsZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdDtcclxuICB9XHJcbn1cclxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtbWV0YS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLW1ldGEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7OztBQTBDbkQsTUFBTSxPQUFPLDBCQUEwQjtJQVNyQztRQU5TLGNBQVMsR0FBd0IsSUFBSSxDQUFDO1FBRXZDLG1CQUFjLEdBQXVCLElBQUksQ0FBQztRQWtDbEQsYUFBUSxHQUFhLElBQUksQ0FBQztRQUMxQixTQUFJLEdBQXVCLElBQUksQ0FBQztRQTlCOUIsSUFBSSxDQUFDLFlBQVksR0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBYSxhQUFhLENBQUMsYUFBbUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBQyxhQUFhLENBQUM7UUFDbEMsSUFBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztZQUM3QyxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLFFBQVEsR0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7WUFDdkQsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUVsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsd0VBQXdFO1lBQzFFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQztnQkFDdEMscUVBQXFFO1lBQ3ZFLENBQUM7UUFDSCxDQUFDO2FBQUksQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBS0Qsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQztRQUNYLElBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0FoRFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsaUtBckMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDs7MkZBR1UsMEJBQTBCO2tCQXZDdEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7d0RBTVEsU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQVVPLGFBQWE7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVVdGlsfSBmcm9tIFwiLi9yZWNvcmRpbmctZmlsZVwiO1xyXG5pbXBvcnQge1NwclJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlY29yZGluZy1maWxlLW1ldGEnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5SZWNvcmRpbmcgZmlsZSBJRDoge3tyZWNvcmRpbmdGaWxlPy5yZWNvcmRpbmdGaWxlSWR9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cInN0YXRlTG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjIwXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICA8dGFibGU+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCJpdGVtQ29kZVwiPlxyXG4gICAgICAgICAgICA8dGQ+SXRlbWNvZGU6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7aXRlbUNvZGV9fTwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwidXVpZCAmJiAhaXRlbUNvZGVcIj5cclxuICAgICAgICAgICAgPHRkPlVVSUQ6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7dXVpZH19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCJyZWNvcmRpbmdGaWxlPy5zdGFydGVkRGF0ZVwiPlxyXG4gICAgICAgICAgICA8dGQ+U3RhcnRlZDo8L3RkPlxyXG4gICAgICAgICAgICA8dGQ+e3tyZWNvcmRpbmdGaWxlPy5zdGFydGVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8dHIgKm5nSWY9XCIhcmVjb3JkaW5nRmlsZT8uc3RhcnRlZERhdGUgJiYgcmVjb3JkaW5nRmlsZT8uZGF0ZVwiPlxyXG4gICAgICAgICAgICA8dGQ+RGF0ZTo8L3RkPlxyXG4gICAgICAgICAgICA8dGQ+e3tyZWNvcmRpbmdGaWxlPy5kYXRlfX08L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDx0ciAqbmdJZj1cIml0ZW1Db2RlXCI+XHJcbiAgICAgICAgICAgIDx0ZD5Qcm9tcHQ6PC90ZD5cclxuICAgICAgICAgICAgPHRkPnt7cmVjb3JkaW5nQXNQbGFpblRleHQoKX19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcblxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwic2Vzc2lvbklkXCI+XHJcbiAgICAgICAgICAgIDx0ZD5TZXNzaW9uOjwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZD57e3Nlc3Npb25JZH19PC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPC9tYXQtY2FyZD5cclxuICBgLFxyXG4gIHN0eWxlczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVNZXRhQ29tcG9uZW50e1xyXG5cclxuXHJcbiAgQElucHV0KCkgc2Vzc2lvbklkOnN0cmluZyB8IG51bWJlciB8IG51bGw9bnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBfcmVjb3JkaW5nRmlsZTpTcHJSZWNvcmRpbmdGaWxlfG51bGw9bnVsbDtcclxuXHJcbiAgQElucHV0KCkgc3RhdGVMb2FkaW5nOmJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zdGF0ZUxvYWRpbmc9ZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVjb3JkaW5nRmlsZSgpOiBTcHJSZWNvcmRpbmdGaWxlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVjb3JkaW5nRmlsZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCByZWNvcmRpbmdGaWxlKHJlY29yZGluZ0ZpbGU6U3ByUmVjb3JkaW5nRmlsZXxudWxsKXtcclxuICAgIHRoaXMuX3JlY29yZGluZ0ZpbGU9cmVjb3JkaW5nRmlsZTtcclxuICAgIGlmKHRoaXMuX3JlY29yZGluZ0ZpbGUpIHtcclxuICAgICAgdGhpcy5pdGVtQ29kZSA9IHRoaXMuX3JlY29yZGluZ0ZpbGUuaXRlbUNvZGU7XHJcbiAgICAgIGlmKCF0aGlzLml0ZW1Db2RlICYmIHRoaXMuX3JlY29yZGluZ0ZpbGUucmVjb3JkaW5nPy5pdGVtY29kZSl7XHJcbiAgICAgICAgdGhpcy5pdGVtQ29kZT10aGlzLl9yZWNvcmRpbmdGaWxlLnJlY29yZGluZy5pdGVtY29kZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5pdGVtQ29kZSkge1xyXG5cclxuICAgICAgICB0aGlzLnV1aWQgPSBudWxsO1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlNwclJlY29yZGluZ0ZpbGU6IFwiK3RoaXMuaXRlbUNvZGUrIFwiIFVVSUQ6IFwiK3RoaXMudXVpZClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLml0ZW1Db2RlID0gbnVsbDtcclxuICAgICAgICB0aGlzLnV1aWQgPSB0aGlzLl9yZWNvcmRpbmdGaWxlPy51dWlkO1xyXG4gICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY29yZGluZ0ZpbGU6IFwiK3RoaXMuaXRlbUNvZGUrIFwiIFVVSUQ6IFwiK3RoaXMudXVpZClcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuaXRlbUNvZGU9bnVsbDtcclxuICAgICAgdGhpcy51dWlkPW51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpdGVtQ29kZTpzdHJpbmd8bnVsbD1udWxsO1xyXG4gIHV1aWQ6c3RyaW5nfG51bGx8dW5kZWZpbmVkPW51bGw7XHJcblxyXG4gIHJlY29yZGluZ0FzUGxhaW5UZXh0KCl7XHJcbiAgICBsZXQgdD1udWxsO1xyXG4gICAgaWYodGhpcy5fcmVjb3JkaW5nRmlsZSkge1xyXG4gICAgICB0ID0gUmVjb3JkaW5nRmlsZVV0aWwucmVjb3JkaW5nQXNQbGFpblRleHQodGhpcy5fcmVjb3JkaW5nRmlsZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdDtcclxuICB9XHJcbn1cclxuIl19
@@ -20,8 +20,8 @@ export class RecordingFileNaviComponent {
20
20
  this.selectVersion.perform(versionNr);
21
21
  }
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileNaviComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: { firstAction: "firstAction", prevAction: "prevAction", nextAction: "nextAction", lastAction: "lastAction", items: "items", itemPos: "itemPos", selectVersion: "selectVersion", versions: "versions", version: "version", naviInfoLoading: "naviInfoLoading" }, ngImport: i0, template: `
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileNaviComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: { firstAction: "firstAction", prevAction: "prevAction", nextAction: "nextAction", lastAction: "lastAction", items: "items", itemPos: "itemPos", selectVersion: "selectVersion", versions: "versions", version: "version", naviInfoLoading: "naviInfoLoading" }, ngImport: i0, template: `
25
25
  <div #controlPanel style="display:flex;flex-direction: row;">
26
26
  <div #navi style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
27
27
  <fieldset>
@@ -55,7 +55,7 @@ export class RecordingFileNaviComponent {
55
55
  </div>
56
56
  `, isInline: true, styles: [":host{flex:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileNaviComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileNaviComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'app-recording-file-navi', template: `
61
61
  <div #controlPanel style="display:flex;flex-direction: row;">
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
111
111
  }], naviInfoLoading: [{
112
112
  type: Input
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtbmF2aS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLW5hdmkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUE0Q3ZELE1BQU0sT0FBTywwQkFBMEI7SUFhckM7UUFMUyxhQUFRLEdBQXFCLElBQUksQ0FBQztRQUNsQyxZQUFPLEdBQWMsSUFBSSxDQUFDO1FBSy9CLElBQUksQ0FBQyxlQUFlLEdBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQVE7UUFDMUIseUVBQXlFO1FBRXZFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUEyQixDQUFDO1FBQzdDLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBRyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs4R0E3QlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsdVVBdkMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FnQ0Q7OzJGQU9FLDBCQUEwQjtrQkF6Q3RDLFNBQVM7K0JBQ0UseUJBQXlCLFlBQ3pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWdDRDt3REFRQSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2FjdGlvbi9hY3Rpb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlY29yZGluZy1maWxlLW5hdmknLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiAjY29udHJvbFBhbmVsIHN0eWxlPVwiZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOiByb3c7XCI+XHJcbiAgICAgICAgICA8ZGl2ICNuYXZpIHN0eWxlPVwiZmxleDogMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246IHJvdztmbGV4LXdyYXA6IG5vd3JhcFwiPlxyXG4gICAgICAgICAgICA8ZmllbGRzZXQ+XHJcbiAgICAgICAgICAgICAgPGxlZ2VuZD5WZXJzaW9uczwvbGVnZW5kPlxyXG4gICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cIm5hdmlJbmZvTG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjE1XCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICAgICAgICAgIDxzZWxlY3QgKm5nSWY9XCIhbmF2aUluZm9Mb2FkaW5nXCIgW2Rpc2FibGVkXT1cInZlcnNpb25zPT1udWxsIHx8IHZlcnNpb25zLmxlbmd0aD09MVwiIChjaGFuZ2UpPVwic2VsZWN0VmVyc2lvbkNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHYgb2YgdmVyc2lvbnM7IGxldCBpID0gaW5kZXhcIiBbc2VsZWN0ZWRdPVwidj09PXZlcnNpb25cIiB2YWx1ZT1cInt7dn19XCI+e3t2fX08bmctY29udGFpbmVyICpuZ0lmPVwiaT09MFwiPiAobGF0ZXN0KTwvbmctY29udGFpbmVyPjwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XHJcbiAgICAgICAgICAgIDxmaWVsZHNldD5cclxuICAgICAgICAgICAgICA8bGVnZW5kPk5hdmlnYXRlPC9sZWdlbmQ+XHJcbiAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyICpuZ0lmPVwibmF2aUluZm9Mb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBbZGlhbWV0ZXJdPVwiMTVcIj48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbmF2aUluZm9Mb2FkaW5nXCIgIHN0eWxlPVwiZmxleDogMDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246IHJvdztmbGV4LXdyYXA6IG5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZmlyc3RBY3Rpb24/LnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCIhZmlyc3RBY3Rpb24gfHwgZmlyc3RBY3Rpb24uZGlzYWJsZWRcIiBtYXRUb29sdGlwPVwiRmlyc3QgcmVjb3JkaW5nIGZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmZpcnN0X3BhZ2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJwcmV2QWN0aW9uPy5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwiIXByZXZBY3Rpb24gfHwgcHJldkFjdGlvbi5kaXNhYmxlZFwiIG1hdFRvb2x0aXA9XCJQcmV2aW91cyByZWNvcmRpbmcgZmlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmV4dEFjdGlvbj8ucGVyZm9ybSgpXCIgW2Rpc2FibGVkXT1cIiFuZXh0QWN0aW9uIHx8IG5leHRBY3Rpb24uZGlzYWJsZWRcIiBtYXRUb29sdGlwPVwiTmV4dCByZWNvcmRpbmcgZmlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2hldnJvbl9yaWdodDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImxhc3RBY3Rpb24/LnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCIhbGFzdEFjdGlvbiB8fCBsYXN0QWN0aW9uLmRpc2FibGVkXCIgbWF0VG9vbHRpcD1cIkxhc3QgcmVjb3JkaW5nIGZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmxhc3RfcGFnZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8cCAqbmdJZj1cIml0ZW1zICYmIGl0ZW1Qb3MhPT1udWxsICYmIGl0ZW1Qb3MhPT11bmRlZmluZWRcIj5JdGVtIHt7aXRlbVBvcysxfX0gb2Yge3tpdGVtc319PC9wPlxyXG4gICAgICAgICAgICAgIDxwPihMaXN0IG9yZGVyZWQgYnkgZGF0ZSk8L3A+XHJcbiAgICAgICAgICAgIDwvZmllbGRzZXQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgICAgZmxleDogMDtcclxuICAgICBcclxuICAgICAgICAgICB9YF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVOYXZpQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmaXJzdEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwcmV2QWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIG5leHRBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgbGFzdEFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpdGVtczpudW1iZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpdGVtUG9zOm51bWJlciB8IG51bGx8dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHNlbGVjdFZlcnNpb246IEFjdGlvbjxudW1iZXI+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSB2ZXJzaW9uczogQXJyYXk8bnVtYmVyPnxudWxsPW51bGw7XHJcbiAgQElucHV0KCkgdmVyc2lvbjogbnVtYmVyfG51bGw9bnVsbDtcclxuXHJcbiAgQElucHV0KCkgbmF2aUluZm9Mb2FkaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgdGhpcy5uYXZpSW5mb0xvYWRpbmc9ZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBzZWxlY3RWZXJzaW9uQ2hhbmdlKGV2OkV2ZW50KXtcclxuICAgIC8vY29uc29sZS5kZWJ1ZyhcIkNoYW5nZSBldmVudDogXCIrZXYudGFyZ2V0LnZhbHVlKyBcIiwgYXMgTnI6IFwiK3ZlcnNpb25Ocik7XHJcblxyXG4gICAgICBjb25zdCBzZWxFbCA9IGV2LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudDtcclxuICAgICAgbGV0IHZlcnNpb25OciA9IHBhcnNlSW50KHNlbEVsLnZhbHVlKTtcclxuICAgICAgaWYodGhpcy5zZWxlY3RWZXJzaW9uKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RWZXJzaW9uLnBlcmZvcm0odmVyc2lvbk5yKTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtbmF2aS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLW5hdmkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUE0Q3ZELE1BQU0sT0FBTywwQkFBMEI7SUFhckM7UUFMUyxhQUFRLEdBQXFCLElBQUksQ0FBQztRQUNsQyxZQUFPLEdBQWMsSUFBSSxDQUFDO1FBSy9CLElBQUksQ0FBQyxlQUFlLEdBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQVE7UUFDMUIseUVBQXlFO1FBRXZFLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUEyQixDQUFDO1FBQzdDLElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7OEdBN0JVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHVVQXZDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1dBZ0NEOzsyRkFPRSwwQkFBMEI7a0JBekN0QyxTQUFTOytCQUNFLHlCQUF5QixZQUN6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7V0FnQ0Q7d0RBUUEsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi8uLi8uLi9hY3Rpb24vYWN0aW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yZWNvcmRpbmctZmlsZS1uYXZpJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgI2NvbnRyb2xQYW5lbCBzdHlsZT1cImRpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjogcm93O1wiPlxyXG4gICAgICAgICAgPGRpdiAjbmF2aSBzdHlsZT1cImZsZXg6IDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOiByb3c7ZmxleC13cmFwOiBub3dyYXBcIj5cclxuICAgICAgICAgICAgPGZpZWxkc2V0PlxyXG4gICAgICAgICAgICAgIDxsZWdlbmQ+VmVyc2lvbnM8L2xlZ2VuZD5cclxuICAgICAgICAgICAgICA8bWF0LXByb2dyZXNzLXNwaW5uZXIgKm5nSWY9XCJuYXZpSW5mb0xvYWRpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIFtkaWFtZXRlcl09XCIxNVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgICA8c2VsZWN0ICpuZ0lmPVwiIW5hdmlJbmZvTG9hZGluZ1wiIFtkaXNhYmxlZF09XCJ2ZXJzaW9ucz09bnVsbCB8fCB2ZXJzaW9ucy5sZW5ndGg9PTFcIiAoY2hhbmdlKT1cInNlbGVjdFZlcnNpb25DaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB2IG9mIHZlcnNpb25zOyBsZXQgaSA9IGluZGV4XCIgW3NlbGVjdGVkXT1cInY9PT12ZXJzaW9uXCIgdmFsdWU9XCJ7e3Z9fVwiPnt7dn19PG5nLWNvbnRhaW5lciAqbmdJZj1cImk9PTBcIj4gKGxhdGVzdCk8L25nLWNvbnRhaW5lcj48L29wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgICAgICA8ZmllbGRzZXQ+XHJcbiAgICAgICAgICAgICAgPGxlZ2VuZD5OYXZpZ2F0ZTwvbGVnZW5kPlxyXG4gICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cIm5hdmlJbmZvTG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW2RpYW1ldGVyXT1cIjE1XCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5hdmlJbmZvTG9hZGluZ1wiICBzdHlsZT1cImZsZXg6IDA7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOiByb3c7ZmxleC13cmFwOiBub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZpcnN0QWN0aW9uPy5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwiIWZpcnN0QWN0aW9uIHx8IGZpcnN0QWN0aW9uLmRpc2FibGVkXCIgbWF0VG9vbHRpcD1cIkZpcnN0IHJlY29yZGluZyBmaWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5maXJzdF9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwicHJldkFjdGlvbj8ucGVyZm9ybSgpXCIgW2Rpc2FibGVkXT1cIiFwcmV2QWN0aW9uIHx8IHByZXZBY3Rpb24uZGlzYWJsZWRcIiBtYXRUb29sdGlwPVwiUHJldmlvdXMgcmVjb3JkaW5nIGZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNoZXZyb25fbGVmdDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5leHRBY3Rpb24/LnBlcmZvcm0oKVwiIFtkaXNhYmxlZF09XCIhbmV4dEFjdGlvbiB8fCBuZXh0QWN0aW9uLmRpc2FibGVkXCIgbWF0VG9vbHRpcD1cIk5leHQgcmVjb3JkaW5nIGZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJsYXN0QWN0aW9uPy5wZXJmb3JtKClcIiBbZGlzYWJsZWRdPVwiIWxhc3RBY3Rpb24gfHwgbGFzdEFjdGlvbi5kaXNhYmxlZFwiIG1hdFRvb2x0aXA9XCJMYXN0IHJlY29yZGluZyBmaWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5sYXN0X3BhZ2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHAgKm5nSWY9XCJpdGVtcyAmJiBpdGVtUG9zIT09bnVsbCAmJiBpdGVtUG9zIT09dW5kZWZpbmVkXCI+SXRlbSB7e2l0ZW1Qb3MrMX19IG9mIHt7aXRlbXN9fTwvcD5cclxuICAgICAgICAgICAgICA8cD4oTGlzdCBvcmRlcmVkIGJ5IGRhdGUpPC9wPlxyXG4gICAgICAgICAgICA8L2ZpZWxkc2V0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYDpob3N0IHtcclxuICAgICAgICAgICAgIGZsZXg6IDA7XHJcbiAgICAgXHJcbiAgICAgICAgICAgfWBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdGaWxlTmF2aUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZmlyc3RBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcHJldkFjdGlvbjogQWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBuZXh0QWN0aW9uOiBBY3Rpb248dm9pZD58dW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGxhc3RBY3Rpb246IEFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgaXRlbXM6bnVtYmVyIHwgbnVsbHx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgaXRlbVBvczpudW1iZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzZWxlY3RWZXJzaW9uOiBBY3Rpb248bnVtYmVyPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgdmVyc2lvbnM6IEFycmF5PG51bWJlcj58bnVsbD1udWxsO1xyXG4gIEBJbnB1dCgpIHZlcnNpb246IG51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gIEBJbnB1dCgpIG5hdmlJbmZvTG9hZGluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgIHRoaXMubmF2aUluZm9Mb2FkaW5nPWZhbHNlO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgc2VsZWN0VmVyc2lvbkNoYW5nZShldjpFdmVudCl7XHJcbiAgICAvL2NvbnNvbGUuZGVidWcoXCJDaGFuZ2UgZXZlbnQ6IFwiK2V2LnRhcmdldC52YWx1ZSsgXCIsIGFzIE5yOiBcIit2ZXJzaW9uTnIpO1xyXG5cclxuICAgICAgY29uc3Qgc2VsRWwgPSBldi50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQ7XHJcbiAgICAgIGxldCB2ZXJzaW9uTnIgPSBwYXJzZUludChzZWxFbC52YWx1ZSk7XHJcbiAgICAgIGlmKHRoaXMuc2VsZWN0VmVyc2lvbikge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0VmVyc2lvbi5wZXJmb3JtKHZlcnNpb25Ocik7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -93,8 +93,8 @@ export class RecordingFileUI extends RecordingFileViewComponent {
93
93
  }
94
94
  }
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileUI, deps: [{ token: i1.RecordingFileService }, { token: i2.RecordingService }, { token: i3.SessionService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i5.MatDialog }, { token: i6.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0, template: `
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileUI, deps: [{ token: i1.RecordingFileService }, { token: i2.RecordingService }, { token: i3.SessionService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i5.MatDialog }, { token: i6.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0, template: `
98
98
  <h1>Recording file editing</h1>
99
99
  <p>On export or delivery the editing selection of the recording file is cut out. If no editing selection is applied the original file is exported.</p>
100
100
 
@@ -116,7 +116,7 @@ export class RecordingFileUI extends RecordingFileViewComponent {
116
116
  <button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
117
117
  `, isInline: true, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#fff}\n", ".ctrlview{display:flex;flex-direction:row}\n", "audio-display-control{flex:3}\n"], dependencies: [{ kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i9.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { kind: "component", type: i10.RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }, { kind: "component", type: i11.RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "stateLoading", "recordingFile"] }] }); }
118
118
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileUI, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileUI, decorators: [{
120
120
  type: Component,
121
121
  args: [{ selector: 'app-audiodisplayplayer', template: `
122
122
  <h1>Recording file editing</h1>
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
140
140
  <button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
141
141
  `, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#fff}\n", ".ctrlview{display:flex;flex-direction:row}\n", "audio-display-control{flex:3}\n"] }]
142
142
  }], ctorParameters: () => [{ type: i1.RecordingFileService }, { type: i2.RecordingService }, { type: i3.SessionService }, { type: i4.Router }, { type: i4.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i5.MatDialog }, { type: i6.MatSnackBar }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFBO0FBT3RCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQXNEM0UsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMEJBQTBCO0lBSzdELFlBQXNCLG9CQUF5QyxFQUFXLGdCQUFpQyxFQUFXLGNBQTZCLEVBQVcsTUFBYSxFQUFXLEtBQXFCLEVBQVksR0FBc0IsRUFBVyxJQUFlLEVBQVksTUFBZ0IsRUFBUyxRQUFxQjtRQUMvVCxLQUFLLENBQUMsb0JBQW9CLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxNQUFNLENBQUMsQ0FBQTtRQURwRSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQVcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUFXLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFXLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWE7UUFIalUsdUJBQWtCLEdBQWdCLElBQUksQ0FBQztRQUN2QyxjQUFTLEdBQVMsSUFBSSxDQUFBO1FBSXBCLElBQUksQ0FBQyxPQUFPLEdBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFFdkMsQ0FBQztJQUVELGVBQWU7UUFDYixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUE7WUFDaEMsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsT0FBTyw4Q0FBOEMsQ0FBQzthQUN2RDtpQkFBSTtnQkFDSCxPQUFPLDhCQUE4QixDQUFDO2FBQ3ZDO1NBQ0Y7UUFDRCxtQkFBbUI7UUFDbkIsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRVMsV0FBVyxDQUFDLElBQW9CO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVPLGFBQWE7UUFDckIsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3RCLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUE7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzNJLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQztRQUN2RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUMsY0FBYztRQUNaLElBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixJQUFJLEVBQUUsR0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQTtZQUNoQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRTtnQkFFN0MsSUFBSSxFQUFFLEdBQUUsSUFBSSxDQUFDO2dCQUNiLElBQUksRUFBRSxHQUFDLElBQUksQ0FBQztnQkFDWixJQUFJLEVBQUUsR0FBQyxJQUFJLENBQUM7Z0JBQ1osSUFBRyxDQUFDLEVBQUU7b0JBQ0osRUFBRSxHQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ2xCLEVBQUUsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO29CQUNsQixFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztpQkFDakI7Z0JBQ0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUNqRyxFQUFDLElBQUksRUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUUsQ0FBQztvQkFDekIsS0FBSyxFQUFDLEdBQUcsRUFBRTt3QkFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7NEJBRTlCLElBQUksRUFBRTtnQ0FDSixJQUFJLEVBQUUsT0FBTztnQ0FDYixLQUFLLEVBQUUsMkJBQTJCO2dDQUNsQyxHQUFHLEVBQUUscURBQXFEO2dDQUMxRCxNQUFNLEVBQUUsbURBQW1EOzZCQUM1RDt5QkFDRixDQUFDLENBQUE7b0JBQ0osQ0FBQyxFQUFFLFFBQVEsRUFBQyxHQUFHLEVBQUU7d0JBQ1gsK0NBQStDO3dCQUMvQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFBO3dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTt3QkFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7b0JBQ2xGLENBQUM7aUJBQ04sQ0FBQyxDQUFDO2FBQ0Y7U0FDRjtJQUNILENBQUM7OEdBaEZVLGVBQWU7a0dBQWYsZUFBZSxxRkE3Q2hCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDs7MkZBeUJVLGVBQWU7a0JBakQzQixTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuXHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9yZWNvcmRpbmdmaWxlLXNlcnZpY2VcIjtcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtTZWxlY3Rpb259IGZyb20gXCIuLi8uLi8uLi9hdWRpby9wZXJzaXN0b3JcIjtcclxuaW1wb3J0IHtNZXNzYWdlRGlhbG9nfSBmcm9tIFwiLi4vLi4vLi4vdWkvbWVzc2FnZV9kaWFsb2dcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudH0gZnJvbSBcIi4vcmVjb3JkaW5nLWZpbGUtdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTZXNzaW9uU2VydmljZX0gZnJvbSBcIi4uL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1JlY29yZGluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdzL3JlY29yZGluZ3Muc2VydmljZVwiO1xyXG5pbXBvcnQge01hdFNuYWNrQmFyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGgxPlJlY29yZGluZyBmaWxlIGVkaXRpbmc8L2gxPlxyXG4gICAgICA8cD5PbiBleHBvcnQgb3IgZGVsaXZlcnkgdGhlIGVkaXRpbmcgc2VsZWN0aW9uIG9mIHRoZSByZWNvcmRpbmcgZmlsZSBpcyBjdXQgb3V0LiBJZiBubyBlZGl0aW5nIHNlbGVjdGlvbiBpcyBhcHBsaWVkIHRoZSBvcmlnaW5hbCBmaWxlIGlzIGV4cG9ydGVkLjwvcD5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdHJsdmlld1wiPlxyXG4gICAgICAgIDxhcHAtcmVjb3JkaW5nLWZpbGUtbWV0YSBbc2Vzc2lvbklkXT1cInNlc3Npb25JZFwiICBbcmVjb3JkaW5nRmlsZV09XCJyZWNvcmRpbmdGaWxlXCIgW3N0YXRlTG9hZGluZ109XCJhdWRpb0ZldGNoaW5nXCI+PC9hcHAtcmVjb3JkaW5nLWZpbGUtbWV0YT5cclxuICAgIDxhdWRpby1kaXNwbGF5LWNvbnRyb2wgW2F1ZGlvQ2xpcF09XCJhdWRpb0NsaXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RhcnRBY3Rpb25dPVwicGxheVN0YXJ0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVNlbGVjdGlvbkFjdGlvbl09XCJwbGF5U2VsZWN0aW9uQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXT1cImFwPy5hdXRvUGxheU9uU2VsZWN0VG9nZ2xlQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUluQWN0aW9uXT1cInpvb21JbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21PdXRBY3Rpb25dPVwiem9vbU91dEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21TZWxlY3RlZEFjdGlvbl09XCJ6b29tU2VsZWN0ZWRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbUZpdFRvUGFuZWxBY3Rpb25dPVwiem9vbUZpdFRvUGFuZWxBY3Rpb25cIj48L2F1ZGlvLWRpc3BsYXktY29udHJvbD5cclxuICAgICAgICA8YXBwLXJlY29yZGluZy1maWxlLW5hdmkgW2l0ZW1zXT1cImF2YWlsUmVjRmlsZXM/Lmxlbmd0aFwiIFtpdGVtUG9zXT1cInBvc0luTGlzdFwiIFt2ZXJzaW9uXT1cInJlY29yZGluZ0ZpbGVWZXJzaW9uXCIgW3ZlcnNpb25zXT1cInZlcnNpb25zXCIgW2ZpcnN0QWN0aW9uXT1cImZpcnN0QWN0aW9uXCIgW3ByZXZBY3Rpb25dPVwicHJldkFjdGlvblwiIFtuZXh0QWN0aW9uXT1cIm5leHRBY3Rpb25cIiBbbGFzdEFjdGlvbl09XCJsYXN0QWN0aW9uXCIgW3NlbGVjdFZlcnNpb25dPVwidG9WZXJzaW9uQWN0aW9uXCIgW25hdmlJbmZvTG9hZGluZ109XCJuYXZpSW5mb0xvYWRpbmdcIj48L2FwcC1yZWNvcmRpbmctZmlsZS1uYXZpPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiYXBwbHlTZWxlY3Rpb24oKVwiIFtkaXNhYmxlZF09XCJlZGl0U2F2ZWRcIj57e3RoaXMuYXBwbHlCdXR0b25UZXh0KCl9fTwvYnV0dG9uPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgICAgICBmbGV4OiAyO1xyXG4gICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICBtaW4taGVpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgIH1gLGBcclxuICAgICAgICAuY3RybHZpZXd7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICBgLGBcclxuICAgICAgYXVkaW8tZGlzcGxheS1jb250cm9se1xyXG5cclxuICAgICAgICBmbGV4OiAzO1xyXG4gICAgICB9XHJcbiAgICBgXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVVSSBleHRlbmRzIFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHNhdmVkRWRpdFNlbGVjdGlvbjpTZWxlY3Rpb258bnVsbD1udWxsO1xyXG4gIGVkaXRTYXZlZDpib29sZWFuPXRydWVcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlY29yZGluZ0ZpbGVTZXJ2aWNlOlJlY29yZGluZ0ZpbGVTZXJ2aWNlLHByb3RlY3RlZCByZWNvcmRpbmdTZXJ2aWNlOlJlY29yZGluZ1NlcnZpY2UscHJvdGVjdGVkIHNlc3Npb25TZXJ2aWNlOlNlc3Npb25TZXJ2aWNlLHByb3RlY3RlZCByb3V0ZXI6Um91dGVyLHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLHByb3RlY3RlZCBlUmVmOkVsZW1lbnRSZWYsIHByb3RlY3RlZCBkaWFsb2c6TWF0RGlhbG9nLHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7XHJcbiAgICBzdXBlcihyZWNvcmRpbmdGaWxlU2VydmljZSxyZWNvcmRpbmdTZXJ2aWNlLHNlc3Npb25TZXJ2aWNlLHJvdXRlcixyb3V0ZSxyZWYsZVJlZixkaWFsb2cpXHJcbiAgICB0aGlzLnBhcmVudEU9dGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KClcclxuICB9XHJcblxyXG4gIGFwcGx5QnV0dG9uVGV4dCgpOnN0cmluZyB7XHJcbiAgICBpZih0aGlzLmF1ZGlvQ2xpcCkge1xyXG4gICAgICBsZXQgcyA9IHRoaXMuYXVkaW9DbGlwLnNlbGVjdGlvblxyXG4gICAgICBpZiAocykge1xyXG4gICAgICAgIHJldHVybiBcIkFwcGx5IGN1cnJlbnQgc2VsZWN0aW9uIGFzIGVkaXRpbmcgc2VsZWN0aW9uXCI7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHJldHVybiBcIkNhbmNlbCBvdXQgZWRpdGluZyBzZWxlY3Rpb25cIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8ganVzdCBhcyBmYWxsYmFja1xyXG4gICAgcmV0dXJuIFwiQXBwbHkgc2VsZWN0aW9uXCI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbG9hZFJlY0ZpbGUocmZJZDpudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuZWRpdFNhdmVkID0gdHJ1ZTtcclxuICAgIHN1cGVyLmxvYWRSZWNGaWxlKHJmSWQpO1xyXG4gIH1cclxuXHJcbnByb3RlY3RlZCBsb2FkZWRSZWNmaWxlKCkge1xyXG4gIHN1cGVyLmxvYWRlZFJlY2ZpbGUoKTtcclxuICBpZih0aGlzLmF1ZGlvQ2xpcCkge1xyXG4gICAgdGhpcy5hdWRpb0NsaXAuYWRkU2VsZWN0aW9uT2JzZXJ2ZXIoKGNsaXApID0+IHtcclxuICAgICAgbGV0IHMgPSBjbGlwLnNlbGVjdGlvblxyXG4gICAgICB0aGlzLmVkaXRTYXZlZCA9ICgodGhpcy5zYXZlZEVkaXRTZWxlY3Rpb24gPT0gbnVsbCAmJiBzID09IG51bGwpIHx8IHRoaXMuc2F2ZWRFZGl0U2VsZWN0aW9uICE9IG51bGwgJiYgdGhpcy5zYXZlZEVkaXRTZWxlY3Rpb24uZXF1YWxzKHMpKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRoaXMuc2F2ZWRFZGl0U2VsZWN0aW9uID0gdGhpcy5hdWRpb0NsaXA/dGhpcy5hdWRpb0NsaXAuc2VsZWN0aW9uOm51bGw7XHJcbiAgdGhpcy5lZGl0U2F2ZWQgPSB0cnVlXHJcbn1cclxuXHJcbiAgYXBwbHlTZWxlY3Rpb24oKXtcclxuICAgIGlmKHRoaXMuYXVkaW9DbGlwKSB7XHJcbiAgICAgIGxldCBhYj10aGlzLmF1ZGlvQ2xpcC5hdWRpb0RhdGFIb2xkZXI7XHJcbiAgICAgIGxldCBzID0gdGhpcy5hdWRpb0NsaXAuc2VsZWN0aW9uXHJcbiAgICAgIGlmIChhYiAmJiB0aGlzLnJlY29yZGluZ0ZpbGU/LnJlY29yZGluZ0ZpbGVJZCkge1xyXG5cclxuICAgICAgICBsZXQgc3I9IG51bGw7XHJcbiAgICAgICAgbGV0IHNmPW51bGw7XHJcbiAgICAgICAgbGV0IGVmPW51bGw7XHJcbiAgICAgICAgaWYocykge1xyXG4gICAgICAgICAgc3I9IGFiLnNhbXBsZVJhdGU7XHJcbiAgICAgICAgICBzZiA9IHMuc3RhcnRGcmFtZTtcclxuICAgICAgICAgIGVmID0gcy5lbmRGcmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnJlY29yZGluZ0ZpbGVTZXJ2aWNlLnNhdmVFZGl0U2VsZWN0aW9uKHRoaXMucmVjb3JkaW5nRmlsZS5yZWNvcmRpbmdGaWxlSWQsIHNyLCBzZiwgZWYpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICB7bmV4dDoodmFsdWUpID0+IHt9XHJcbiAgICAgICwgZXJyb3I6KCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2cub3BlbihNZXNzYWdlRGlhbG9nLCB7XHJcblxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcclxuICAgICAgICAgICAgICB0aXRsZTogJ1NhdmUgc2VsZWN0aW9uIGVkaXQgZXJyb3InLFxyXG4gICAgICAgICAgICAgIG1zZzogXCJDb3VsZCBub3Qgc2F2ZSBlZGl0IHNlbGVjdGlvbiB0byBXaWtpU3BlZWNoIHNlcnZlciFcIixcclxuICAgICAgICAgICAgICBhZHZpY2U6IFwiUGxlYXNlIGNoZWNrIG5ldHdvcmsgY29ubmVjdGlvbiBhbmQgc2VydmVyIHN0YXRlLlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSwgY29tcGxldGU6KCkgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIE9yIHVzZSByZXR1cm5lZCBzZWxlY3Rpb24gdmFsdWUgZnJvbSBzZXJ2ZXI/XHJcbiAgICAgICAgICAgICAgdGhpcy5zYXZlZEVkaXRTZWxlY3Rpb24gPSBzXHJcbiAgICAgICAgICAgICAgdGhpcy5lZGl0U2F2ZWQgPSB0cnVlXHJcbiAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdTZWxlY3Rpb24gZWRpdCBzYXZlZCBzdWNjZXNzZnVsbHkuJywgJ09LJywge2R1cmF0aW9uOiAxNTAwfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUlWLE1BQU0sZUFBZSxDQUFBO0FBT3RCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQXNEM0UsTUFBTSxPQUFPLGVBQWdCLFNBQVEsMEJBQTBCO0lBSzdELFlBQXNCLG9CQUF5QyxFQUFXLGdCQUFpQyxFQUFXLGNBQTZCLEVBQVcsTUFBYSxFQUFXLEtBQXFCLEVBQVksR0FBc0IsRUFBVyxJQUFlLEVBQVksTUFBZ0IsRUFBUyxRQUFxQjtRQUMvVCxLQUFLLENBQUMsb0JBQW9CLEVBQUMsZ0JBQWdCLEVBQUMsY0FBYyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxNQUFNLENBQUMsQ0FBQTtRQURwRSx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQVcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUFXLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQVcsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFXLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVksUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFXO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWE7UUFIalUsdUJBQWtCLEdBQWdCLElBQUksQ0FBQztRQUN2QyxjQUFTLEdB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O2dDQUMxRCxNQUFNLEVBQUUsbURBQW1EOzZCQUM1RDt5QkFDRixDQUFDLENBQUE7b0JBQ0osQ0FBQyxFQUFFLFFBQVEsRUFBQyxHQUFHLEVBQUU7d0JBQ1gsK0NBQStDO3dCQUMvQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFBO3dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTt3QkFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7b0JBQ2xGLENBQUM7aUJBQ04sQ0FBQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQWhGVSxlQUFlO2tHQUFmLGVBQWUscUZBN0NoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7OzJGQXlCVSxlQUFlO2tCQWpEM0IsU0FBUzsrQkFFRSx3QkFBd0IsWUFFeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBFbGVtZW50UmVmXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcblxyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlU2VydmljZX0gZnJvbSBcIi4vcmVjb3JkaW5nZmlsZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7U2VsZWN0aW9ufSBmcm9tIFwiLi4vLi4vLi4vYXVkaW8vcGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7TWVzc2FnZURpYWxvZ30gZnJvbSBcIi4uLy4uLy4uL3VpL21lc3NhZ2VfZGlhbG9nXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL3JlY29yZGluZy1maWxlLXZpZXcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gXCIuLi9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vcmVjb3JkaW5ncy9yZWNvcmRpbmdzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtNYXRTbmFja0Jhcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblxyXG4gIHNlbGVjdG9yOiAnYXBwLWF1ZGlvZGlzcGxheXBsYXllcicsXHJcblxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxoMT5SZWNvcmRpbmcgZmlsZSBlZGl0aW5nPC9oMT5cclxuICAgICAgPHA+T24gZXhwb3J0IG9yIGRlbGl2ZXJ5IHRoZSBlZGl0aW5nIHNlbGVjdGlvbiBvZiB0aGUgcmVjb3JkaW5nIGZpbGUgaXMgY3V0IG91dC4gSWYgbm8gZWRpdGluZyBzZWxlY3Rpb24gaXMgYXBwbGllZCB0aGUgb3JpZ2luYWwgZmlsZSBpcyBleHBvcnRlZC48L3A+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmUgI2F1ZGlvRGlzcGxheVNjcm9sbFBhbmU+PC9hdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY3RybHZpZXdcIj5cclxuICAgICAgICA8YXBwLXJlY29yZGluZy1maWxlLW1ldGEgW3Nlc3Npb25JZF09XCJzZXNzaW9uSWRcIiAgW3JlY29yZGluZ0ZpbGVdPVwicmVjb3JkaW5nRmlsZVwiIFtzdGF0ZUxvYWRpbmddPVwiYXVkaW9GZXRjaGluZ1wiPjwvYXBwLXJlY29yZGluZy1maWxlLW1ldGE+XHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+XHJcbiAgICAgICAgPGFwcC1yZWNvcmRpbmctZmlsZS1uYXZpIFtpdGVtc109XCJhdmFpbFJlY0ZpbGVzPy5sZW5ndGhcIiBbaXRlbVBvc109XCJwb3NJbkxpc3RcIiBbdmVyc2lvbl09XCJyZWNvcmRpbmdGaWxlVmVyc2lvblwiIFt2ZXJzaW9uc109XCJ2ZXJzaW9uc1wiIFtmaXJzdEFjdGlvbl09XCJmaXJzdEFjdGlvblwiIFtwcmV2QWN0aW9uXT1cInByZXZBY3Rpb25cIiBbbmV4dEFjdGlvbl09XCJuZXh0QWN0aW9uXCIgW2xhc3RBY3Rpb25dPVwibGFzdEFjdGlvblwiIFtzZWxlY3RWZXJzaW9uXT1cInRvVmVyc2lvbkFjdGlvblwiIFtuYXZpSW5mb0xvYWRpbmddPVwibmF2aUluZm9Mb2FkaW5nXCI+PC9hcHAtcmVjb3JkaW5nLWZpbGUtbmF2aT5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cImFwcGx5U2VsZWN0aW9uKClcIiBbZGlzYWJsZWRdPVwiZWRpdFNhdmVkXCI+e3t0aGlzLmFwcGx5QnV0dG9uVGV4dCgpfX08L2J1dHRvbj5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYDpob3N0IHtcclxuICAgICAgICAgICAgICAgZmxleDogMjtcclxuICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgbWluLWhlaWdodDowO1xyXG4gICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICB9YCxgXHJcbiAgICAgICAgLmN0cmx2aWV3e1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgYCxgXHJcbiAgICAgIGF1ZGlvLWRpc3BsYXktY29udHJvbHtcclxuXHJcbiAgICAgICAgZmxleDogMztcclxuICAgICAgfVxyXG4gICAgYF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdGaWxlVUkgZXh0ZW5kcyBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICBzYXZlZEVkaXRTZWxlY3Rpb246U2VsZWN0aW9ufG51bGw9bnVsbDtcclxuICBlZGl0U2F2ZWQ6Ym9vbGVhbj10cnVlXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWNvcmRpbmdGaWxlU2VydmljZTpSZWNvcmRpbmdGaWxlU2VydmljZSxwcm90ZWN0ZWQgcmVjb3JkaW5nU2VydmljZTpSZWNvcmRpbmdTZXJ2aWNlLHByb3RlY3RlZCBzZXNzaW9uU2VydmljZTpTZXNzaW9uU2VydmljZSxwcm90ZWN0ZWQgcm91dGVyOlJvdXRlcixwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixwcm90ZWN0ZWQgZVJlZjpFbGVtZW50UmVmLCBwcm90ZWN0ZWQgZGlhbG9nOk1hdERpYWxvZyxwcml2YXRlIHNuYWNrQmFyOiBNYXRTbmFja0Jhcikge1xyXG4gICAgc3VwZXIocmVjb3JkaW5nRmlsZVNlcnZpY2UscmVjb3JkaW5nU2VydmljZSxzZXNzaW9uU2VydmljZSxyb3V0ZXIscm91dGUscmVmLGVSZWYsZGlhbG9nKVxyXG4gICAgdGhpcy5wYXJlbnRFPXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXHJcbiAgfVxyXG5cclxuICBhcHBseUJ1dHRvblRleHQoKTpzdHJpbmcge1xyXG4gICAgaWYodGhpcy5hdWRpb0NsaXApIHtcclxuICAgICAgbGV0IHMgPSB0aGlzLmF1ZGlvQ2xpcC5zZWxlY3Rpb25cclxuICAgICAgaWYgKHMpIHtcclxuICAgICAgICByZXR1cm4gXCJBcHBseSBjdXJyZW50IHNlbGVjdGlvbiBhcyBlZGl0aW5nIHNlbGVjdGlvblwiO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICByZXR1cm4gXCJDYW5jZWwgb3V0IGVkaXRpbmcgc2VsZWN0aW9uXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGp1c3QgYXMgZmFsbGJhY2tcclxuICAgIHJldHVybiBcIkFwcGx5IHNlbGVjdGlvblwiO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRSZWNGaWxlKHJmSWQ6bnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmVkaXRTYXZlZCA9IHRydWU7XHJcbiAgICBzdXBlci5sb2FkUmVjRmlsZShyZklkKTtcclxuICB9XHJcblxyXG5wcm90ZWN0ZWQgbG9hZGVkUmVjZmlsZSgpIHtcclxuICBzdXBlci5sb2FkZWRSZWNmaWxlKCk7XHJcbiAgaWYodGhpcy5hdWRpb0NsaXApIHtcclxuICAgIHRoaXMuYXVkaW9DbGlwLmFkZFNlbGVjdGlvbk9ic2VydmVyKChjbGlwKSA9PiB7XHJcbiAgICAgIGxldCBzID0gY2xpcC5zZWxlY3Rpb25cclxuICAgICAgdGhpcy5lZGl0U2F2ZWQgPSAoKHRoaXMuc2F2ZWRFZGl0U2VsZWN0aW9uID09IG51bGwgJiYgcyA9PSBudWxsKSB8fCB0aGlzLnNhdmVkRWRpdFNlbGVjdGlvbiAhPSBudWxsICYmIHRoaXMuc2F2ZWRFZGl0U2VsZWN0aW9uLmVxdWFscyhzKSlcclxuICAgIH0pO1xyXG4gIH1cclxuICB0aGlzLnNhdmVkRWRpdFNlbGVjdGlvbiA9IHRoaXMuYXVkaW9DbGlwP3RoaXMuYXVkaW9DbGlwLnNlbGVjdGlvbjpudWxsO1xyXG4gIHRoaXMuZWRpdFNhdmVkID0gdHJ1ZVxyXG59XHJcblxyXG4gIGFwcGx5U2VsZWN0aW9uKCl7XHJcbiAgICBpZih0aGlzLmF1ZGlvQ2xpcCkge1xyXG4gICAgICBsZXQgYWI9dGhpcy5hdWRpb0NsaXAuYXVkaW9EYXRhSG9sZGVyO1xyXG4gICAgICBsZXQgcyA9IHRoaXMuYXVkaW9DbGlwLnNlbGVjdGlvblxyXG4gICAgICBpZiAoYWIgJiYgdGhpcy5yZWNvcmRpbmdGaWxlPy5yZWNvcmRpbmdGaWxlSWQpIHtcclxuXHJcbiAgICAgICAgbGV0IHNyPSBudWxsO1xyXG4gICAgICAgIGxldCBzZj1udWxsO1xyXG4gICAgICAgIGxldCBlZj1udWxsO1xyXG4gICAgICAgIGlmKHMpIHtcclxuICAgICAgICAgIHNyPSBhYi5zYW1wbGVSYXRlO1xyXG4gICAgICAgICAgc2YgPSBzLnN0YXJ0RnJhbWU7XHJcbiAgICAgICAgICBlZiA9IHMuZW5kRnJhbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5yZWNvcmRpbmdGaWxlU2VydmljZS5zYXZlRWRpdFNlbGVjdGlvbih0aGlzLnJlY29yZGluZ0ZpbGUucmVjb3JkaW5nRmlsZUlkLCBzciwgc2YsIGVmKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAge25leHQ6KHZhbHVlKSA9PiB7fVxyXG4gICAgICAsIGVycm9yOigpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oTWVzc2FnZURpYWxvZywge1xyXG5cclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgdGl0bGU6ICdTYXZlIHNlbGVjdGlvbiBlZGl0IGVycm9yJyxcclxuICAgICAgICAgICAgICBtc2c6IFwiQ291bGQgbm90IHNhdmUgZWRpdCBzZWxlY3Rpb24gdG8gV2lraVNwZWVjaCBzZXJ2ZXIhXCIsXHJcbiAgICAgICAgICAgICAgYWR2aWNlOiBcIlBsZWFzZSBjaGVjayBuZXR3b3JrIGNvbm5lY3Rpb24gYW5kIHNlcnZlciBzdGF0ZS5cIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0sIGNvbXBsZXRlOigpID0+IHtcclxuICAgICAgICAgICAgICAvLyBPciB1c2UgcmV0dXJuZWQgc2VsZWN0aW9uIHZhbHVlIGZyb20gc2VydmVyP1xyXG4gICAgICAgICAgICAgIHRoaXMuc2F2ZWRFZGl0U2VsZWN0aW9uID0gc1xyXG4gICAgICAgICAgICAgIHRoaXMuZWRpdFNhdmVkID0gdHJ1ZVxyXG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignU2VsZWN0aW9uIGVkaXQgc2F2ZWQgc3VjY2Vzc2Z1bGx5LicsICdPSycsIHtkdXJhdGlvbjogMTUwMH0pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -367,8 +367,8 @@ export class RecordingFileViewComponent extends AudioDisplayPlayer {
367
367
  });
368
368
  }
369
369
  }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileViewComponent, deps: [{ token: i1.RecordingFileService }, { token: i2.RecordingService }, { token: i3.SessionService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0, template: `
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileViewComponent, deps: [{ token: i1.RecordingFileService }, { token: i2.RecordingService }, { token: i3.SessionService }, { token: i4.Router }, { token: i4.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0, template: `
372
372
 
373
373
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
374
374
  <div class="ctrlview">
@@ -387,7 +387,7 @@ export class RecordingFileViewComponent extends AudioDisplayPlayer {
387
387
  </div>
388
388
  `, isInline: true, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#fff}\n", ".ctrlview{display:flex;flex-direction:row}\n", "audio-display-control{flex:3}\n"], dependencies: [{ kind: "component", type: i6.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: i7.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { kind: "component", type: i8.RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }, { kind: "component", type: i9.RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "stateLoading", "recordingFile"] }] }); }
389
389
  }
390
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
391
391
  type: Component,
392
392
  args: [{ selector: 'app-audiodisplayplayer', template: `
393
393
 
@@ -411,4 +411,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
411
411
  type: ViewChild,
412
412
  args: [AudioDisplayScrollPane]
413
413
  }] } });
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFBO0FBUXRCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLE1BQU0sRUFBYyxNQUFNLHdCQUF3QixDQUFDO0FBSTNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztBQUduRCxNQUFNLE9BQU8sYUFBYTtDQUV6QjtBQWlERCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsa0JBQWtCO0lBd0JoRSxZQUFzQixvQkFBMEMsRUFBWSxnQkFBa0MsRUFBWSxjQUE4QixFQUFZLE1BQWEsRUFBVyxLQUFxQixFQUFZLEdBQXNCLEVBQVksSUFBZ0IsRUFBWSxNQUFpQjtRQUMxUyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQURILHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFBWSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVksbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFXLFVBQUssR0FBTCxLQUFL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RjtJQUNMLENBQUM7OEdBdFhVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLGtHQWExQixzQkFBc0IsdUVBeER2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7OzJGQTBCVSwwQkFBMEI7a0JBL0N0QyxTQUFTOytCQUVFLHdCQUF3QixZQUV4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7d1JBd0NPLEVBQUU7c0JBRFQsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQWZ0ZXJWaWV3SW5pdCwgRWxlbWVudFJlZiwgT25Jbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5cclxuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcblxyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9yZWNvcmRpbmdmaWxlLXNlcnZpY2VcIjtcclxuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlQbGF5ZXJ9IGZyb20gXCIuLi8uLi8uLi9hdWRpby9hdWRpb19wbGF5ZXJcIjtcclxuXHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5U2Nyb2xsUGFuZX0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfc2Nyb2xsX3BhbmVcIjtcclxuaW1wb3J0IHtBdWRpb0NvbnRleHRQcm92aWRlcn0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL2NvbnRleHRcIjtcclxuaW1wb3J0IHtBdWRpb0NsaXB9IGZyb20gXCIuLi8uLi8uLi9hdWRpby9wZXJzaXN0b3JcIjtcclxuaW1wb3J0IHtTZWxlY3Rpb259IGZyb20gXCIuLi8uLi8uLi9hdWRpby9wZXJzaXN0b3JcIjtcclxuXHJcbmltcG9ydCB7QWN0aW9uLCBBY3Rpb25FdmVudH0gZnJvbSBcIi4uLy4uLy4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtTZXNzaW9uU2VydmljZX0gZnJvbSBcIi4uL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1JlY29yZGluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdzL3JlY29yZGluZ3Muc2VydmljZVwiO1xyXG5pbXBvcnQge1NwclJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlVXRpbH0gZnJvbSBcIi4vcmVjb3JkaW5nLWZpbGVcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgSXRlbWNvZGVJbmRleHtcclxuICBbaXRlbWNvZGU6IHN0cmluZ106IEFycmF5PFNwclJlY29yZGluZ0ZpbGU+O1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtYXVkaW9kaXNwbGF5cGxheWVyJyxcclxuXHJcbiAgdGVtcGxhdGU6IGBcclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZSAjYXVkaW9EaXNwbGF5U2Nyb2xsUGFuZT48L2F1ZGlvLWRpc3BsYXktc2Nyb2xsLXBhbmU+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY3RybHZpZXdcIj5cclxuICAgICAgPGFwcC1yZWNvcmRpbmctZmlsZS1tZXRhIFtzZXNzaW9uSWRdPVwic2Vzc2lvbklkXCIgW3JlY29yZGluZ0ZpbGVdPVwicmVjb3JkaW5nRmlsZVwiIFtzdGF0ZUxvYWRpbmddPVwiYXVkaW9GZXRjaGluZ1wiPjwvYXBwLXJlY29yZGluZy1maWxlLW1ldGE+XHJcblxyXG4gICAgPGF1ZGlvLWRpc3BsYXktY29udHJvbCBbYXVkaW9DbGlwXT1cImF1ZGlvQ2xpcFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U2VsZWN0aW9uQWN0aW9uXT1cInBsYXlTZWxlY3Rpb25BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGF5U3RvcEFjdGlvbl09XCJwbGF5U3RvcEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25dPVwiYXA/LmF1dG9QbGF5T25TZWxlY3RUb2dnbGVBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tSW5BY3Rpb25dPVwiem9vbUluQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbU91dEFjdGlvbl09XCJ6b29tT3V0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbem9vbVNlbGVjdGVkQWN0aW9uXT1cInpvb21TZWxlY3RlZEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tRml0VG9QYW5lbEFjdGlvbl09XCJ6b29tRml0VG9QYW5lbEFjdGlvblwiPjwvYXVkaW8tZGlzcGxheS1jb250cm9sPlxyXG4gICAgICA8YXBwLXJlY29yZGluZy1maWxlLW5hdmkgW2l0ZW1zXT1cImF2YWlsUmVjRmlsZXM/Lmxlbmd0aFwiIFtpdGVtUG9zXT1cInBvc0luTGlzdFwiIFt2ZXJzaW9uXT1cInJlY29yZGluZ0ZpbGVWZXJzaW9uXCIgW3ZlcnNpb25zXT1cInZlcnNpb25zXCIgW2ZpcnN0QWN0aW9uXT1cImZpcnN0QWN0aW9uXCIgW3ByZXZBY3Rpb25dPVwicHJldkFjdGlvblwiIFtuZXh0QWN0aW9uXT1cIm5leHRBY3Rpb25cIiBbbGFzdEFjdGlvbl09XCJsYXN0QWN0aW9uXCIgW3NlbGVjdFZlcnNpb25dPVwidG9WZXJzaW9uQWN0aW9uXCIgW25hdmlJbmZvTG9hZGluZ109XCJuYXZpSW5mb0xvYWRpbmdcIj48L2FwcC1yZWNvcmRpbmctZmlsZS1uYXZpPlxyXG4gICAgICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW1xyXG4gICAgYDpob3N0IHtcclxuICAgICAgICAgICAgICAgZmxleDogMjtcclxuICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgbWluLWhlaWdodDowO1xyXG4gICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICB9YCxgXHJcbiAgICAgICAgLmN0cmx2aWV3e1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG4gICAgICAgIH1cclxuICAgIGAsYFxyXG4gICAgICBhdWRpby1kaXNwbGF5LWNvbnRyb2x7XHJcblxyXG4gICAgICAgIGZsZXg6IDM7XHJcbiAgICAgIH1cclxuICAgIGBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBBdWRpb0Rpc3BsYXlQbGF5ZXIgaW1wbGVtZW50cyBPbkluaXQsQWZ0ZXJWaWV3SW5pdCB7XHJcblxyXG4gIHNlc3Npb25JZDogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD0gbnVsbDtcclxuICBzZXNzaW9uSWRGcm9tUm91dGU6c3RyaW5nfG51bGw9bnVsbDtcclxuXHJcbiAgYXZhaWxSZWNGaWxlczogQXJyYXk8QXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4+fG51bGw9bnVsbDtcclxuICB2ZXJzaW9uczogQXJyYXk8bnVtYmVyPnxudWxsPW51bGw7XHJcblxyXG4gIHJlY29yZGluZ0ZpbGU6IFNwclJlY29yZGluZ0ZpbGV8bnVsbD1udWxsO1xyXG4gIHJlY29yZGluZ0ZpbGVWZXJzaW9uOm51bWJlcnxudWxsPW51bGw7XHJcbiAgcHJpdmF0ZSByb3V0ZWRCeVF1ZXJ5UGFyYW09ZmFsc2U7XHJcbiAgcG9zSW5MaXN0OiBudW1iZXJ8bnVsbD1udWxsO1xyXG5cclxuICBAVmlld0NoaWxkKEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUpXHJcbiAgcHJpdmF0ZSBhYyE6IEF1ZGlvRGlzcGxheVNjcm9sbFBhbmU7XHJcblxyXG4gIGZpcnN0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgcHJldkFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIG5leHRBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBsYXN0QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgdG9WZXJzaW9uQWN0aW9uOiBBY3Rpb248bnVtYmVyPjtcclxuICBhdWRpb0ZldGNoaW5nOmJvb2xlYW47XHJcbiAgbmF2aUluZm9Mb2FkaW5nOmJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWNvcmRpbmdGaWxlU2VydmljZTogUmVjb3JkaW5nRmlsZVNlcnZpY2UsIHByb3RlY3RlZCByZWNvcmRpbmdTZXJ2aWNlOiBSZWNvcmRpbmdTZXJ2aWNlLCBwcm90ZWN0ZWQgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLCBwcm90ZWN0ZWQgcm91dGVyOlJvdXRlcixwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcm90ZWN0ZWQgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJvdGVjdGVkIGVSZWY6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCBkaWFsb2c6IE1hdERpYWxvZykge1xyXG4gICAgc3VwZXIocm91dGUsIHJlZiwgZVJlZilcclxuICAgIHRoaXMucGFyZW50RSA9IHRoaXMuZVJlZi5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgIC8vIFRPRE8gU2hvdWxkIGJlIGluaXRpYWxpemVkIHdpdGggZmFsc2UsIGJ1dCB0aGlzIGNhdXNlcyBpbiBkZWJ1ZyBtb2RlOlxyXG4gICAgLy8gRVJST1IgRXJyb3I6IE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvcjogRXhwcmVzc2lvbiBoYXMgY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZC4gUHJldmlvdXMgdmFsdWU6ICdmYWxzZScuIEN1cnJlbnQgdmFsdWU6ICd0cnVlJy4gRmluZCBtb3JlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9lcnJvcnMvTkcwMTAwXHJcbiAgICB0aGlzLmF1ZGlvRmV0Y2hpbmc9dHJ1ZTtcclxuXHJcbiAgICB0aGlzLm5hdmlJbmZvTG9hZGluZz1mYWxzZTtcclxuICAgIHRoaXMuZmlyc3RBY3Rpb24gPSBuZXcgQWN0aW9uPHZvaWQ+KCdGaXJzdCcpO1xyXG4gICAgdGhpcy5maXJzdEFjdGlvbi5vbkFjdGlvbj0gKCk9PntcclxuICAgICAgdGhpcy5wb3NJbkxpc3Q9MDtcclxuICAgICAgdGhpcy5uYXZpZ2F0ZVRvUmVjb3JkaW5nRmlsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wcmV2QWN0aW9uID0gbmV3IEFjdGlvbjx2b2lkPignUHJldmlvdXMnKTtcclxuICAgIHRoaXMucHJldkFjdGlvbi5vbkFjdGlvbj0gKCk9PnRoaXMucHJldkZpbGUoKTtcclxuICAgIHRoaXMubmV4dEFjdGlvbiA9IG5ldyBBY3Rpb248dm9pZD4oJ05leHQnKTtcclxuICAgIHRoaXMubmV4dEFjdGlvbi5vbkFjdGlvbj0gKCk9PnRoaXMubmV4dEZpbGUoKTtcclxuICAgIHRoaXMubGFzdEFjdGlvbiA9IG5ldyBBY3Rpb248dm9pZD4oJ0xhc3QnKTtcclxuICAgIHRoaXMubGFzdEFjdGlvbi5vbkFjdGlvbj0gKCk9PntcclxuICAgICAgaWYodGhpcy5hdmFpbFJlY0ZpbGVzKSB7XHJcbiAgICAgICAgdGhpcy5wb3NJbkxpc3QgPSB0aGlzLmF2YWlsUmVjRmlsZXMubGVuZ3RoIC0gMTtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlVG9SZWNvcmRpbmdGaWxlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvVmVyc2lvbkFjdGlvbj1uZXcgQWN0aW9uPG51bWJlcj4oJ1RvIHZlcnNpb24nKTtcclxuICAgIHRoaXMudG9WZXJzaW9uQWN0aW9uLm9uQWN0aW9uPSAoYWUpPT50aGlzLnRvVmVyc2lvbihhZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKVxyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgIGxldCByZklkUCA9IHBhcmFtc1sncmVjb3JkaW5nRmlsZUlkJ107XHJcbiAgICAgIGxldCBzSWRQID0gcGFyYW1zWydzZXNzaW9uSWQnXTtcclxuICAgICAgaWYgKHNJZFApIHtcclxuICAgICAgIHRoaXMuc2Vzc2lvbklkRnJvbVJvdXRlPXNJZFA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJmSWRQKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZWRCeVF1ZXJ5UGFyYW09dHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRSZWNGaWxlKHJmSWRQKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgIGxldCByZklkUCA9IHBhcmFtc1sncmVjb3JkaW5nRmlsZUlkJ107XHJcbiAgICAgIGxldCBzSWRQID0gcGFyYW1zWydzZXNzaW9uSWQnXTtcclxuICAgICAgaWYgKHNJZFApIHtcclxuICAgICAgICB0aGlzLnNlc3Npb25JZEZyb21Sb3V0ZT1zSWRQO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChyZklkUCkge1xyXG4gICAgICAgIHRoaXMucm91dGVkQnlRdWVyeVBhcmFtPWZhbHNlO1xyXG4gICAgICAgIHRoaXMubG9hZFJlY0ZpbGUocmZJZFApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIC8vIGlmKHRoaXMuc2Vzc2lvbklkKXtcclxuICAgIC8vICAgICB0aGlzLmxvYWRTZXNzaW9uKHRoaXMuc2Vzc2lvbklkKTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlVG9JZChyZklkOm51bWJlcnwgc3RyaW5nKXtcclxuXHJcbiAgICBpZih0aGlzLnJvdXRlZEJ5UXVlcnlQYXJhbSl7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7cmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgcXVlcnlQYXJhbXM6eydyZWNvcmRpbmdGaWxlSWQnOnJmSWR9fSlcclxuICAgIH1lbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuLi8nICsgcmZJZF0sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlVG9SZWNvcmRpbmdGaWxlKCl7XHJcbiAgICBpZih0aGlzLnBvc0luTGlzdCE9bnVsbCAmJiB0aGlzLmF2YWlsUmVjRmlsZXMpIHtcclxuICAgICAgbGV0IGxhdGVzdE5leHRSZiA9IHRoaXMuYXZhaWxSZWNGaWxlc1t0aGlzLnBvc0luTGlzdF1bMF07XHJcbiAgICAgIGxldCBsblJmSWQgPSBsYXRlc3ROZXh0UmYucmVjb3JkaW5nRmlsZUlkO1xyXG4gICAgICBpZihsblJmSWQpIHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlVG9JZChsblJmSWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b1ZlcnNpb24oYWU6IEFjdGlvbkV2ZW50PG51bWJlcj4pIHtcclxuICAgIGxldCB0b1JmSWQgPSBudWxsO1xyXG4gICAgbGV0IHZlcnNpb24gPSBhZS52YWx1ZTtcclxuICAgIGlmKHRoaXMucG9zSW5MaXN0IT1udWxsICYmIHRoaXMuYXZhaWxSZWNGaWxlcykge1xyXG4gICAgICBsZXQgY1JmcyA9IHRoaXMuYXZhaWxSZWNGaWxlc1t0aGlzLnBvc0luTGlzdF07XHJcbiAgICAgIGxldCBhdmFpbFZlcnNpb25DbnQgPSBjUmZzLmxlbmd0aDtcclxuICAgICAgZm9yIChsZXQgY1JmIG9mIGNSZnMpIHtcclxuICAgICAgICBpZihjUmYudmVyc2lvbiAhPW51bGwpIHtcclxuICAgICAgICAgIGlmIChjUmYudmVyc2lvbiA9PT0gdmVyc2lvbikge1xyXG4gICAgICAgICAgICB0b1JmSWQgPSBjUmYucmVjb3JkaW5nRmlsZUlkO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0b1JmSWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRlVG9JZCh0b1JmSWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHByZXZGaWxlKCkge1xyXG4gICAgaWYodGhpcy5wb3NJbkxpc3QhPW51bGwpIHtcclxuICAgICAgdGhpcy5wb3NJbkxpc3QtLTtcclxuICAgIH1cclxuICAgIHRoaXMubmF2aWdhdGVUb1JlY29yZGluZ0ZpbGUoKVxyXG4gIH1cclxuICBuZXh0RmlsZSgpIHtcclxuICAgIGlmKHRoaXMucG9zSW5MaXN0IT1udWxsKSB7XHJcbiAgICAgIHRoaXMucG9zSW5MaXN0Kys7XHJcbiAgICB9XHJcbiAgICB0aGlzLm5hdmlnYXRlVG9SZWNvcmRpbmdGaWxlKClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9zaXRpb25Jbkxpc3QoKTpudW1iZXIgfCBudWxse1xyXG4gICAgaWYgKHRoaXMuYXZhaWxSZWNGaWxlcyAmJiB0aGlzLnJlY29yZGluZ0ZpbGUpIHtcclxuICAgICAgbGV0IGNpYz10aGlzLnJlY29yZGluZ0ZpbGUuaXRlbUNvZGU7XHJcbiAgICAgIGlmKCFjaWMgJiYgdGhpcy5yZWNvcmRpbmdGaWxlLnJlY29yZGluZyAmJiB0aGlzLnJlY29yZGluZ0ZpbGUucmVjb3JkaW5nLml0ZW1jb2RlKXtcclxuICAgICAgICBjaWM9dGhpcy5yZWNvcmRpbmdGaWxlLnJlY29yZGluZy5pdGVtY29kZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY2ljKSB7XHJcbiAgICAgICAgbGV0IGl0ZW1DbnQgPSB0aGlzLmF2YWlsUmVjRmlsZXMubGVuZ3RoXHJcbiAgICAgICAgZm9yIChsZXQgcmZkaSA9IDA7IHJmZGkgPCBpdGVtQ250OyByZmRpKyspIHtcclxuICAgICAgICAgIGxldCBhclJmID0gdGhpcy5hdmFpbFJlY0ZpbGVzW3JmZGldWzBdO1xyXG4gICAgICAgICAgaWYgKGFyUmYucmVjb3JkaW5nKSB7XHJcbiAgICAgICAgICAgIGxldCBhciA9IGFyUmYucmVjb3JkaW5nO1xyXG4gICAgICAgICAgICBpZiAoY2ljID09PSBhci5pdGVtY29kZSkge1xyXG4gICAgICAgICAgICAgIHJldHVybiByZmRpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBsZXQgaXRlbUNudCA9IHRoaXMuYXZhaWxSZWNGaWxlcy5sZW5ndGhcclxuICAgICAgICBmb3IgKGxldCByZmRpID0gMDsgcmZkaSA8IGl0ZW1DbnQ7IHJmZGkrKykge1xyXG4gICAgICAgICAgbGV0IGFyUmYgPSB0aGlzLmF2YWlsUmVjRmlsZXNbcmZkaV1bMF07XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJlY29yZGluZ0ZpbGUudXVpZCA9PT0gYXJSZi51dWlkKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHJmZGk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVBvcygpe1xyXG4gICAgdGhpcy5wb3NJbkxpc3Q9dGhpcy5wb3NpdGlvbkluTGlzdCgpO1xyXG4gICAgdGhpcy50b1ZlcnNpb25BY3Rpb24uZGlzYWJsZWQ9dHJ1ZTtcclxuICAgIGlmKHRoaXMuYXZhaWxSZWNGaWxlcyl7XHJcbiAgICAgIGxldCBhdlJmc0xlbj10aGlzLmF2YWlsUmVjRmlsZXMubGVuZ3RoO1xyXG4gICAgICBpZih0aGlzLnBvc0luTGlzdCAhPW51bGwgJiYgYXZSZnNMZW4+dGhpcy5wb3NJbkxpc3QpIHtcclxuICAgICAgICBsZXQgYXJmcyA9IHRoaXMuYXZhaWxSZWNGaWxlc1t0aGlzLnBvc0luTGlzdF07XHJcbiAgICAgICAgaWYgKGFyZnMpIHtcclxuICAgICAgICAgIHRoaXMudmVyc2lvbnMgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xyXG4gICAgICAgICAgZm9yIChsZXQgYXJmIG9mIGFyZnMpIHtcclxuICAgICAgICAgICAgaWYoYXJmLnJlY29yZGluZz8uaXRlbWNvZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLnZlcnNpb25zLnB1c2goYXJmLnZlcnNpb24pXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLnRvVmVyc2lvbkFjdGlvbi5kaXNhYmxlZD0odGhpcy52ZXJzaW9ucy5sZW5ndGg8Mik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5yZWNvcmRpbmdGaWxlKXtcclxuICAgICAgaWYodGhpcy5yZWNvcmRpbmdGaWxlLnZlcnNpb24pe1xyXG4gICAgICAgIHRoaXMucmVjb3JkaW5nRmlsZVZlcnNpb249dGhpcy5yZWNvcmRpbmdGaWxlLnZlcnNpb247XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMucmVjb3JkaW5nRmlsZVZlcnNpb249MDtcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucmVjb3JkaW5nRmlsZVZlcnNpb249bnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlQWN0aW9ucygpXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbG9hZFJlY0ZpbGUocmZJZDpudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuYXA/LnN0b3AoKTtcclxuICAgIHRoaXMuYXVkaW9DbGlwID1udWxsO1xyXG4gICAgdGhpcy5yZWNvcmRpbmdGaWxlPW51bGw7XHJcbiAgICB0aGlzLnBvc0luTGlzdD1udWxsO1xyXG4gICAgdGhpcy51cGRhdGVBY3Rpb25zKCk7XHJcbiAgICAgIHRoaXMuYXVkaW9GZXRjaGluZz10cnVlO1xyXG4gICAgICB0aGlzLnJlY29yZGluZ0ZpbGVTZXJ2aWNlLmZldGNoU3ByUmVjb3JkaW5nRmlsZSggcmZJZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuZXh0OiB2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hdWRpb0ZldGNoaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSAnQXVkaW8gZmlsZSBsb2FkZWQuJztcclxuICAgICAgICAgICAgICBsZXQgY2xpcCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWNvcmRpbmdGaWxlID0gdmFsdWU7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMucmVjb3JkaW5nRmlsZSkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGFiID0gdGhpcy5yZWNvcmRpbmdGaWxlLmF1ZGlvRGF0YUhvbGRlcjtcclxuICAgICAgICAgICAgICAgIGlmIChhYikge1xyXG4gICAgICAgICAgICAgICAgICBjbGlwID0gbmV3IEF1ZGlvQ2xpcChhYik7XHJcblxyXG4gICAgICAgICAgICAgICAgICBsZXQgZXNmZnNyID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgbGV0IGVlZmZzciA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBlc3IgPSBudWxsO1xyXG5cclxuICAgICAgICAgICAgICAgICAgaWYgKGNsaXAuYXVkaW9EYXRhSG9sZGVyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICBlc3IgPSBhYi5zYW1wbGVSYXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlc3IgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgZXNmZnNyID0gUmVjb3JkaW5nRmlsZVV0aWwuZWRpdFN0YXJ0RnJhbWVGb3JTYW1wbGVSYXRlKHRoaXMucmVjb3JkaW5nRmlsZSwgZXNyKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGVlZmZzciA9IFJlY29yZGluZ0ZpbGVVdGlsLmVkaXRFbmRGcmFtZUZvclNhbXBsZVJhdGUodGhpcy5yZWNvcmRpbmdGaWxlLCBlc3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBsZXQgc2VsOiBTZWxlY3Rpb24gfCBudWxsID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXNmZnNyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChlZWZmc3IgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWwgPSBuZXcgU2VsZWN0aW9uKGFiLnNhbXBsZVJhdGUsIGVzZmZzciwgZWVmZnNyKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbGV0IGNoMCA9IGFiLmdldENoYW5uZWxEYXRhKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZnJhbWVMZW5ndGggPSBhYi5mcmFtZUxlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsID0gbmV3IFNlbGVjdGlvbihlc3IsIGVzZmZzciwgZnJhbWVMZW5ndGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZWVmZnNyICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHNlbCA9IG5ldyBTZWxlY3Rpb24oZXNyLCAwLCBlZWZmc3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjbGlwLnNlbGVjdGlvbiA9IHNlbFxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuYXVkaW9DbGlwID0gY2xpcFxyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGVkUmVjZmlsZSgpO1xyXG5cclxuICAgICAgICAgICAgfSwgZXJyb3I6ZXJyb3IxID0+XHJcbiAgICAgIHtcclxuICAgICAgICB0aGlzLmF1ZGlvRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnN0YXR1cyA9ICdFcnJvciBsb2FkaW5nIGF1ZGlvIGZpbGUhJztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRlZFJlY2ZpbGUoKSB7XHJcbiAgICBpZih0aGlzLnJlY29yZGluZ0ZpbGUgJiYgIXRoaXMuc2Vzc2lvbklkKSB7XHJcbiAgICAgIGxldCBzSWQ9dGhpcy5yZWNvcmRpbmdGaWxlLnNlc3Npb25cclxuICAgICAgaWYoIXNJZCl7XHJcbiAgICAgICAgc0lkPXRoaXMuc2Vzc2lvbklkRnJvbVJvdXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChzSWQpIHtcclxuICAgICAgICB0aGlzLmxvYWRTZXNzaW9uKHNJZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVwZGF0ZVBvcygpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVBY3Rpb25zKCl7XHJcbiAgICBsZXQgaXRlbUNudDpudW1iZXJ8bnVsbD1udWxsO1xyXG4gICAgaWYodGhpcy5hdmFpbFJlY0ZpbGVzKSB7XHJcbiAgICAgIGl0ZW1DbnQgPSB0aGlzLmF2YWlsUmVjRmlsZXMubGVuZ3RoO1xyXG4gICAgfVxyXG4gICAgdGhpcy5maXJzdEFjdGlvbi5kaXNhYmxlZD0odGhpcy5wb3NJbkxpc3Q9PW51bGwgfHwgdGhpcy5wb3NJbkxpc3QgPT0gMCk7XHJcbiAgICB0aGlzLnByZXZBY3Rpb24uZGlzYWJsZWQ9KHRoaXMucG9zSW5MaXN0PT1udWxsIHx8IHRoaXMucG9zSW5MaXN0ID09IDApO1xyXG4gICAgdGhpcy5uZXh0QWN0aW9uLmRpc2FibGVkPSh0aGlzLnBvc0luTGlzdD09bnVsbCB8fCBpdGVtQ250PT1udWxsIHx8IHRoaXMucG9zSW5MaXN0ID49IGl0ZW1DbnQgLSAxKTtcclxuICAgIHRoaXMubGFzdEFjdGlvbi5kaXNhYmxlZD0odGhpcy5wb3NJbkxpc3Q9PW51bGwgfHwgaXRlbUNudD09bnVsbCB8fCB0aGlzLnBvc0luTGlzdCA+PSBpdGVtQ250IC0gMSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTZXNzaW9uKHNlc3Npb25JZDogc3RyaW5nfCBudW1iZXIpIHtcclxuICAgIC8vIGxvYWQgc2Vzc2lvbiBhbmQgcmVjb3JkaW5nIGZpbGUgbWV0YWRhdGEgb25seSB3aGVuIG9uIGluaXQgYW5kIHdoZW4gc2Vzc2lvbiBjaGFuZ2VzXHJcbiAgICBpZiAoPHN0cmluZz5zZXNzaW9uSWQgIT0gPHN0cmluZz50aGlzLnNlc3Npb25JZCkge1xyXG4gICAgICAvLyB0ZWxsIFVJIHRoYXQgd2UgYXJlIHdvcmtpbmcuLi5cclxuICAgICAgdGhpcy5uYXZpSW5mb0xvYWRpbmc9dHJ1ZTtcclxuICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXNzaW9uT2JzZXJ2ZXIoPHN0cmluZz5zZXNzaW9uSWQpLnN1YnNjcmliZSgocykgPT4ge1xyXG4gICAgICAgIC8vIHJlY2VpdmVkIHNlc3Npb24gZGF0YVxyXG4gICAgICAgIHRoaXMuc2Vzc2lvbklkID0gcy5zZXNzaW9uSWQ7XHJcbiAgICAgICAgLy8gZmV0Y2ggcmVjb3JkaW5nIGZpbGUgbWV0YSBkYXRhIGxpc3RcclxuICAgICAgICB0aGlzLnJlY29yZGluZ1NlcnZpY2Uuc3ByUmVjb3JkaW5nRmlsZUxpc3Qocy5wcm9qZWN0LCBzLnNlc3Npb25JZCkuc3Vic2NyaWJlKChyZmRzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmF2YWlsUmVjRmlsZXMgPSBuZXcgQXJyYXk8QXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4+KCk7XHJcbiAgICAgICAgICAvLyBidWlsZCBzdHJ1Y3R1cmUgaW5kZXhlZCBieSBpdGVtY29kZVxyXG4gICAgICAgICAgbGV0IGljSWR4ID0gbmV3IEl0ZW1jb2RlSW5kZXgoKTtcclxuICAgICAgICAgIGZvciAobGV0IHJmZGkgPSAwOyByZmRpIDwgcmZkcy5sZW5ndGg7IHJmZGkrKykge1xyXG4gICAgICAgICAgICBsZXQgcmZkID0gcmZkc1tyZmRpXTtcclxuICAgICAgICAgICAgaWYgKHJmZC5kYXRlKSB7XHJcbiAgICAgICAgICAgICAgLy8gY29udmVydCBkYXRlIHN0cmluZyBmb3IgZmFzdGVyIHNvcnRpbmcgbGF0ZXJcclxuICAgICAgICAgICAgICBsZXQgcmZkZCA9IG5ldyBEYXRlKHJmZC5kYXRlKTtcclxuICAgICAgICAgICAgICByZmQuX2RhdGVBc0RhdGVPYmogPSByZmRkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBpYyA9IHJmZC5pdGVtQ29kZTtcclxuXHJcbiAgICAgICAgICAgIGlmICghaWMpIHtcclxuICAgICAgICAgICAgICBsZXQgciA9IHJmZC5yZWNvcmRpbmc7XHJcbiAgICAgICAgICAgICAgaWYgKHIgJiYgci5pdGVtY29kZSkge1xyXG4gICAgICAgICAgICAgICAgaWMgPSByLml0ZW1jb2RlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWMpIHtcclxuICAgICAgICAgICAgICBsZXQgZXhSZnNGb3JJYyA9IGljSWR4W2ljXTtcclxuICAgICAgICAgICAgICBpZiAoZXhSZnNGb3JJYyA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpdGVtY29kZSBub3QgeWV0IHN0b3JlZFxyXG4gICAgICAgICAgICAgICAgbGV0IGFyZmQgPSBuZXcgQXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4oKTtcclxuICAgICAgICAgICAgICAgIGFyZmQucHVzaChyZmQpO1xyXG4gICAgICAgICAgICAgICAgaWNJZHhbaWNdID0gYXJmZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXZhaWxSZWNGaWxlcy5wdXNoKGFyZmQpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyByZWMgZmlsZSB3aXRoIGl0ZW1jb2RlIGFscmVhZHkgZXhpc3RzLCBhZGQgKHB1c2gpIHRoaXMgdmVyc2lvbiAuLi5cclxuICAgICAgICAgICAgICAgIGV4UmZzRm9ySWMucHVzaChyZmQpO1xyXG4gICAgICAgICAgICAgICAgLy8gLi4uIGFuZCBzb3J0IGxhdGVzdCB2ZXJzaW9uIChoaWdoZXN0IHZlcnNpb24gbnVtYmVyKSB0byBsb3dlc3QgaW5kZXhcclxuICAgICAgICAgICAgICAgIGV4UmZzRm9ySWMuc29ydCgocmZkMSwgcmZkMikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByZXR1cm4gcmZkMi52ZXJzaW9uIC0gcmZkMS52ZXJzaW9uO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGxldCBhcmZkID0gbmV3IEFycmF5PFNwclJlY29yZGluZ0ZpbGU+KCk7XHJcbiAgICAgICAgICAgICAgYXJmZC5wdXNoKHJmZCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5hdmFpbFJlY0ZpbGVzLnB1c2goYXJmZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8vIGhhdmUgdW5zb3J0ZWQgaXRlbWNvZGUgaW5kZXhlZCByZWNvcmRpbmcgZmlsZXMgaGVyZVxyXG4gICAgICAgICAgLy8gc29ydCB0aGVtIG9yZGVyZWQgYnkgZGF0ZSBvZiBsYXRlc3QgdmVyc2lvbiBhc2NlbmRpbmdcclxuICAgICAgICAgIHRoaXMuYXZhaWxSZWNGaWxlcy5zb3J0KChyZnMxLCByZnMyKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBkMSA9IHJmczJbMF0uX2RhdGVBc0RhdGVPYmo7XHJcbiAgICAgICAgICAgIGxldCBkMiA9IHJmczFbMF0uX2RhdGVBc0RhdGVPYmo7XHJcbiAgICAgICAgICAgIGlmIChkMSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgaWYgKGQyID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTb3J0IGVudHJpZXMgd2hvc2UgZGF0ZXMgYXJlIG5vdCBzZXQgdG8gdGhlIGVuZFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBpZiAoZDIgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgLy8gU29ydCBlbnRyaWVzIHdob3NlIGRhdGVzIGFyZSBub3Qgc2V0IHRvIHRoZSBlbmRcclxuICAgICAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBDb21wYXJlIGRhdGUgYnkgdGltZSBpbiBtaWxsaXNlY29uZHMgdmFsdWVcclxuICAgICAgICAgICAgICAgIHJldHVybiBkMi5nZXRUaW1lKCkgLSBkMS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGZvcihsZXQgYXZSZiBvZiB0aGlzLmF2YWlsUmVjRmlsZXMpe1xyXG4gICAgICAgICAgICAgIGlmKGF2UmZbMF0gJiYgYXZSZlswXS5yZWNvcmRpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldCBvcyA9IGF2UmZbMF0ucmVjb3JkaW5nLml0ZW1jb2RlICsgJzogdmVyc2lvbnM6ICc7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBhdlJmViBvZiBhdlJmKSB7XHJcbiAgICAgICAgICAgICAgICAgIG9zICs9IGF2UmZWLnZlcnNpb24gKyAnLyc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUuZGVidWcob3MpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMudXBkYXRlUG9zKClcclxuICAgICAgICAgIHRoaXMubmF2aUluZm9Mb2FkaW5nPWZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19
414
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxHQUdWLE1BQU0sZUFBZSxDQUFBO0FBUXRCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRS9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBRW5GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFDLE1BQU0sRUFBYyxNQUFNLHdCQUF3QixDQUFDO0FBSTNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztBQUduRCxNQUFNLE9BQU8sYUFBYTtDQUV6QjtBQWlERCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsa0JBQWtCO0lBd0JoRSxZQUFzQixvQkFBMEMsRUFBWSxnQkFBa0MsRUFBWSxjQUE4QixFQUFZLE1BQWEsRUFBVyxLQUFxQixFQUFZLEdBQXNCLEVBQVksSUFBZ0IsRUFBWSxNQUFpQjtRQUMxUyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQURILHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFBWSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVksbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFXLFVBQUssR0FBTCxLQUFL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QUNYLENBQUM7aUNBQU0sQ0FBQztnQ0FDTiw2Q0FBNkM7Z0NBQzdDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDckMsQ0FBQzt3QkFDSCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILEtBQUksSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBQyxDQUFDO3dCQUNoQyxJQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7NEJBQ2hDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQzs0QkFDckQsS0FBSyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztnQ0FDdkIsRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDOzRCQUM1QixDQUFDOzRCQUNELG9CQUFvQjt3QkFDdEIsQ0FBQztvQkFDTCxDQUFDO29CQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQTtvQkFDaEIsSUFBSSxDQUFDLGVBQWUsR0FBQyxLQUFLLENBQUM7b0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDO0lBQ0wsQ0FBQzs4R0F0WFUsMEJBQTBCO2tHQUExQiwwQkFBMEIsa0dBYTFCLHNCQUFzQix1RUF4RHZCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDs7MkZBMEJVLDBCQUEwQjtrQkEvQ3RDLFNBQVM7K0JBRUUsd0JBQXdCLFlBRXhCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCVDt3UkF3Q08sRUFBRTtzQkFEVCxTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBPbkluaXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcblxyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuXHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVNlcnZpY2V9IGZyb20gXCIuL3JlY29yZGluZ2ZpbGUtc2VydmljZVwiO1xyXG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheVBsYXllcn0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL2F1ZGlvX3BsYXllclwiO1xyXG5cclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi4vLi4vLi4vYXVkaW8vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi4vLi4vLi4vYXVkaW8vY29udGV4dFwiO1xyXG5pbXBvcnQge0F1ZGlvQ2xpcH0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL3BlcnNpc3RvclwiO1xyXG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL3BlcnNpc3RvclwiO1xyXG5cclxuaW1wb3J0IHtBY3Rpb24sIEFjdGlvbkV2ZW50fSBmcm9tIFwiLi4vLi4vLi4vYWN0aW9uL2FjdGlvblwiO1xyXG5pbXBvcnQge1Nlc3Npb25TZXJ2aWNlfSBmcm9tIFwiLi4vc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uL3JlY29yZGluZ3MvcmVjb3JkaW5ncy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3ByUmVjb3JkaW5nRmlsZX0gZnJvbSBcIi4uLy4uL3JlY29yZGluZ1wiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVVdGlsfSBmcm9tIFwiLi9yZWNvcmRpbmctZmlsZVwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBJdGVtY29kZUluZGV4e1xyXG4gIFtpdGVtY29kZTogc3RyaW5nXTogQXJyYXk8U3ByUmVjb3JkaW5nRmlsZT47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cclxuICBzZWxlY3RvcjogJ2FwcC1hdWRpb2Rpc3BsYXlwbGF5ZXInLFxyXG5cclxuICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgIDxhdWRpby1kaXNwbGF5LXNjcm9sbC1wYW5lICNhdWRpb0Rpc3BsYXlTY3JvbGxQYW5lPjwvYXVkaW8tZGlzcGxheS1zY3JvbGwtcGFuZT5cclxuICAgIDxkaXYgY2xhc3M9XCJjdHJsdmlld1wiPlxyXG4gICAgICA8YXBwLXJlY29yZGluZy1maWxlLW1ldGEgW3Nlc3Npb25JZF09XCJzZXNzaW9uSWRcIiBbcmVjb3JkaW5nRmlsZV09XCJyZWNvcmRpbmdGaWxlXCIgW3N0YXRlTG9hZGluZ109XCJhdWRpb0ZldGNoaW5nXCI+PC9hcHAtcmVjb3JkaW5nLWZpbGUtbWV0YT5cclxuXHJcbiAgICA8YXVkaW8tZGlzcGxheS1jb250cm9sIFthdWRpb0NsaXBdPVwiYXVkaW9DbGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxheVN0YXJ0QWN0aW9uXT1cInBsYXlTdGFydEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTZWxlY3Rpb25BY3Rpb25dPVwicGxheVNlbGVjdGlvbkFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYXlTdG9wQWN0aW9uXT1cInBsYXlTdG9wQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvbl09XCJhcD8uYXV0b1BsYXlPblNlbGVjdFRvZ2dsZUFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21JbkFjdGlvbl09XCJ6b29tSW5BY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tT3V0QWN0aW9uXT1cInpvb21PdXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt6b29tU2VsZWN0ZWRBY3Rpb25dPVwiem9vbVNlbGVjdGVkQWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3pvb21GaXRUb1BhbmVsQWN0aW9uXT1cInpvb21GaXRUb1BhbmVsQWN0aW9uXCI+PC9hdWRpby1kaXNwbGF5LWNvbnRyb2w+XHJcbiAgICAgIDxhcHAtcmVjb3JkaW5nLWZpbGUtbmF2aSBbaXRlbXNdPVwiYXZhaWxSZWNGaWxlcz8ubGVuZ3RoXCIgW2l0ZW1Qb3NdPVwicG9zSW5MaXN0XCIgW3ZlcnNpb25dPVwicmVjb3JkaW5nRmlsZVZlcnNpb25cIiBbdmVyc2lvbnNdPVwidmVyc2lvbnNcIiBbZmlyc3RBY3Rpb25dPVwiZmlyc3RBY3Rpb25cIiBbcHJldkFjdGlvbl09XCJwcmV2QWN0aW9uXCIgW25leHRBY3Rpb25dPVwibmV4dEFjdGlvblwiIFtsYXN0QWN0aW9uXT1cImxhc3RBY3Rpb25cIiBbc2VsZWN0VmVyc2lvbl09XCJ0b1ZlcnNpb25BY3Rpb25cIiBbbmF2aUluZm9Mb2FkaW5nXT1cIm5hdmlJbmZvTG9hZGluZ1wiPjwvYXBwLXJlY29yZGluZy1maWxlLW5hdmk+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgICBgOmhvc3Qge1xyXG4gICAgICAgICAgICAgICBmbGV4OiAyO1xyXG4gICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICBtaW4taGVpZ2h0OjA7XHJcbiAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgIH1gLGBcclxuICAgICAgICAuY3RybHZpZXd7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgYCxgXHJcbiAgICAgIGF1ZGlvLWRpc3BsYXktY29udHJvbHtcclxuXHJcbiAgICAgICAgZmxleDogMztcclxuICAgICAgfVxyXG4gICAgYF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCBleHRlbmRzIEF1ZGlvRGlzcGxheVBsYXllciBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgc2Vzc2lvbklkOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPSBudWxsO1xyXG4gIHNlc3Npb25JZEZyb21Sb3V0ZTpzdHJpbmd8bnVsbD1udWxsO1xyXG5cclxuICBhdmFpbFJlY0ZpbGVzOiBBcnJheTxBcnJheTxTcHJSZWNvcmRpbmdGaWxlPj58bnVsbD1udWxsO1xyXG4gIHZlcnNpb25zOiBBcnJheTxudW1iZXI+fG51bGw9bnVsbDtcclxuXHJcbiAgcmVjb3JkaW5nRmlsZTogU3ByUmVjb3JkaW5nRmlsZXxudWxsPW51bGw7XHJcbiAgcmVjb3JkaW5nRmlsZVZlcnNpb246bnVtYmVyfG51bGw9bnVsbDtcclxuICBwcml2YXRlIHJvdXRlZEJ5UXVlcnlQYXJhbT1mYWxzZTtcclxuICBwb3NJbkxpc3Q6IG51bWJlcnxudWxsPW51bGw7XHJcblxyXG4gIEBWaWV3Q2hpbGQoQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSlcclxuICBwcml2YXRlIGFjITogQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZTtcclxuXHJcbiAgZmlyc3RBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICBwcmV2QWN0aW9uOiBBY3Rpb248dm9pZD47XHJcbiAgbmV4dEFjdGlvbjogQWN0aW9uPHZvaWQ+O1xyXG4gIGxhc3RBY3Rpb246IEFjdGlvbjx2b2lkPjtcclxuICB0b1ZlcnNpb25BY3Rpb246IEFjdGlvbjxudW1iZXI+O1xyXG4gIGF1ZGlvRmV0Y2hpbmc6Ym9vbGVhbjtcclxuICBuYXZpSW5mb0xvYWRpbmc6Ym9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlY29yZGluZ0ZpbGVTZXJ2aWNlOiBSZWNvcmRpbmdGaWxlU2VydmljZSwgcHJvdGVjdGVkIHJlY29yZGluZ1NlcnZpY2U6IFJlY29yZGluZ1NlcnZpY2UsIHByb3RlY3RlZCBzZXNzaW9uU2VydmljZTogU2Vzc2lvblNlcnZpY2UsIHByb3RlY3RlZCByb3V0ZXI6Um91dGVyLHByb3RlY3RlZCByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByb3RlY3RlZCByZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgZVJlZjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICBzdXBlcihyb3V0ZSwgcmVmLCBlUmVmKVxyXG4gICAgdGhpcy5wYXJlbnRFID0gdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgLy8gVE9ETyBTaG91bGQgYmUgaW5pdGlhbGl6ZWQgd2l0aCBmYWxzZSwgYnV0IHRoaXMgY2F1c2VzIGluIGRlYnVnIG1vZGU6XHJcbiAgICAvLyBFUlJPUiBFcnJvcjogTkcwMTAwOiBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yOiBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkLiBQcmV2aW91cyB2YWx1ZTogJ2ZhbHNlJy4gQ3VycmVudCB2YWx1ZTogJ3RydWUnLiBGaW5kIG1vcmUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2Vycm9ycy9ORzAxMDBcclxuICAgIHRoaXMuYXVkaW9GZXRjaGluZz10cnVlO1xyXG5cclxuICAgIHRoaXMubmF2aUluZm9Mb2FkaW5nPWZhbHNlO1xyXG4gICAgdGhpcy5maXJzdEFjdGlvbiA9IG5ldyBBY3Rpb248dm9pZD4oJ0ZpcnN0Jyk7XHJcbiAgICB0aGlzLmZpcnN0QWN0aW9uLm9uQWN0aW9uPSAoKT0+e1xyXG4gICAgICB0aGlzLnBvc0luTGlzdD0wO1xyXG4gICAgICB0aGlzLm5hdmlnYXRlVG9SZWNvcmRpbmdGaWxlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnByZXZBY3Rpb24gPSBuZXcgQWN0aW9uPHZvaWQ+KCdQcmV2aW91cycpO1xyXG4gICAgdGhpcy5wcmV2QWN0aW9uLm9uQWN0aW9uPSAoKT0+dGhpcy5wcmV2RmlsZSgpO1xyXG4gICAgdGhpcy5uZXh0QWN0aW9uID0gbmV3IEFjdGlvbjx2b2lkPignTmV4dCcpO1xyXG4gICAgdGhpcy5uZXh0QWN0aW9uLm9uQWN0aW9uPSAoKT0+dGhpcy5uZXh0RmlsZSgpO1xyXG4gICAgdGhpcy5sYXN0QWN0aW9uID0gbmV3IEFjdGlvbjx2b2lkPignTGFzdCcpO1xyXG4gICAgdGhpcy5sYXN0QWN0aW9uLm9uQWN0aW9uPSAoKT0+e1xyXG4gICAgICBpZih0aGlzLmF2YWlsUmVjRmlsZXMpIHtcclxuICAgICAgICB0aGlzLnBvc0luTGlzdCA9IHRoaXMuYXZhaWxSZWNGaWxlcy5sZW5ndGggLSAxO1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGVUb1JlY29yZGluZ0ZpbGUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9WZXJzaW9uQWN0aW9uPW5ldyBBY3Rpb248bnVtYmVyPignVG8gdmVyc2lvbicpO1xyXG4gICAgdGhpcy50b1ZlcnNpb25BY3Rpb24ub25BY3Rpb249IChhZSk9PnRoaXMudG9WZXJzaW9uKGFlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpXHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgbGV0IHJmSWRQID0gcGFyYW1zWydyZWNvcmRpbmdGaWxlSWQnXTtcclxuICAgICAgbGV0IHNJZFAgPSBwYXJhbXNbJ3Nlc3Npb25JZCddO1xyXG4gICAgICBpZiAoc0lkUCkge1xyXG4gICAgICAgdGhpcy5zZXNzaW9uSWRGcm9tUm91dGU9c0lkUDtcclxuICAgICAgfVxyXG4gICAgICBpZiAocmZJZFApIHtcclxuICAgICAgICB0aGlzLnJvdXRlZEJ5UXVlcnlQYXJhbT10cnVlO1xyXG4gICAgICAgIHRoaXMubG9hZFJlY0ZpbGUocmZJZFApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgbGV0IHJmSWRQID0gcGFyYW1zWydyZWNvcmRpbmdGaWxlSWQnXTtcclxuICAgICAgbGV0IHNJZFAgPSBwYXJhbXNbJ3Nlc3Npb25JZCddO1xyXG4gICAgICBpZiAoc0lkUCkge1xyXG4gICAgICAgIHRoaXMuc2Vzc2lvbklkRnJvbVJvdXRlPXNJZFA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJmSWRQKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZWRCeVF1ZXJ5UGFyYW09ZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sb2FkUmVjRmlsZShyZklkUCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gaWYodGhpcy5zZXNzaW9uSWQpe1xyXG4gICAgLy8gICAgIHRoaXMubG9hZFNlc3Npb24odGhpcy5zZXNzaW9uSWQpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGVUb0lkKHJmSWQ6bnVtYmVyfCBzdHJpbmcpe1xyXG5cclxuICAgIGlmKHRoaXMucm91dGVkQnlRdWVyeVBhcmFtKXtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBxdWVyeVBhcmFtczp7J3JlY29yZGluZ0ZpbGVJZCc6cmZJZH19KVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4uLycgKyByZklkXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGV9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGVUb1JlY29yZGluZ0ZpbGUoKXtcclxuICAgIGlmKHRoaXMucG9zSW5MaXN0IT1udWxsICYmIHRoaXMuYXZhaWxSZWNGaWxlcykge1xyXG4gICAgICBsZXQgbGF0ZXN0TmV4dFJmID0gdGhpcy5hdmFpbFJlY0ZpbGVzW3RoaXMucG9zSW5MaXN0XVswXTtcclxuICAgICAgbGV0IGxuUmZJZCA9IGxhdGVzdE5leHRSZi5yZWNvcmRpbmdGaWxlSWQ7XHJcbiAgICAgIGlmKGxuUmZJZCkge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGVUb0lkKGxuUmZJZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRvVmVyc2lvbihhZTogQWN0aW9uRXZlbnQ8bnVtYmVyPikge1xyXG4gICAgbGV0IHRvUmZJZCA9IG51bGw7XHJcbiAgICBsZXQgdmVyc2lvbiA9IGFlLnZhbHVlO1xyXG4gICAgaWYodGhpcy5wb3NJbkxpc3QhPW51bGwgJiYgdGhpcy5hdmFpbFJlY0ZpbGVzKSB7XHJcbiAgICAgIGxldCBjUmZzID0gdGhpcy5hdmFpbFJlY0ZpbGVzW3RoaXMucG9zSW5MaXN0XTtcclxuICAgICAgbGV0IGF2YWlsVmVyc2lvbkNudCA9IGNSZnMubGVuZ3RoO1xyXG4gICAgICBmb3IgKGxldCBjUmYgb2YgY1Jmcykge1xyXG4gICAgICAgIGlmKGNSZi52ZXJzaW9uICE9bnVsbCkge1xyXG4gICAgICAgICAgaWYgKGNSZi52ZXJzaW9uID09PSB2ZXJzaW9uKSB7XHJcbiAgICAgICAgICAgIHRvUmZJZCA9IGNSZi5yZWNvcmRpbmdGaWxlSWQ7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRvUmZJZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGVUb0lkKHRvUmZJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJldkZpbGUoKSB7XHJcbiAgICBpZih0aGlzLnBvc0luTGlzdCE9bnVsbCkge1xyXG4gICAgICB0aGlzLnBvc0luTGlzdC0tO1xyXG4gICAgfVxyXG4gICAgdGhpcy5uYXZpZ2F0ZVRvUmVjb3JkaW5nRmlsZSgpXHJcbiAgfVxyXG4gIG5leHRGaWxlKCkge1xyXG4gICAgaWYodGhpcy5wb3NJbkxpc3QhPW51bGwpIHtcclxuICAgICAgdGhpcy5wb3NJbkxpc3QrKztcclxuICAgIH1cclxuICAgIHRoaXMubmF2aWdhdGVUb1JlY29yZGluZ0ZpbGUoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwb3NpdGlvbkluTGlzdCgpOm51bWJlciB8IG51bGx7XHJcbiAgICBpZiAodGhpcy5hdmFpbFJlY0ZpbGVzICYmIHRoaXMucmVjb3JkaW5nRmlsZSkge1xyXG4gICAgICBsZXQgY2ljPXRoaXMucmVjb3JkaW5nRmlsZS5pdGVtQ29kZTtcclxuICAgICAgaWYoIWNpYyAmJiB0aGlzLnJlY29yZGluZ0ZpbGUucmVjb3JkaW5nICYmIHRoaXMucmVjb3JkaW5nRmlsZS5yZWNvcmRpbmcuaXRlbWNvZGUpe1xyXG4gICAgICAgIGNpYz10aGlzLnJlY29yZGluZ0ZpbGUucmVjb3JkaW5nLml0ZW1jb2RlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjaWMpIHtcclxuICAgICAgICBsZXQgaXRlbUNudCA9IHRoaXMuYXZhaWxSZWNGaWxlcy5sZW5ndGhcclxuICAgICAgICBmb3IgKGxldCByZmRpID0gMDsgcmZkaSA8IGl0ZW1DbnQ7IHJmZGkrKykge1xyXG4gICAgICAgICAgbGV0IGFyUmYgPSB0aGlzLmF2YWlsUmVjRmlsZXNbcmZkaV1bMF07XHJcbiAgICAgICAgICBpZiAoYXJSZi5yZWNvcmRpbmcpIHtcclxuICAgICAgICAgICAgbGV0IGFyID0gYXJSZi5yZWNvcmRpbmc7XHJcbiAgICAgICAgICAgIGlmIChjaWMgPT09IGFyLml0ZW1jb2RlKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHJmZGk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGxldCBpdGVtQ250ID0gdGhpcy5hdmFpbFJlY0ZpbGVzLmxlbmd0aFxyXG4gICAgICAgIGZvciAobGV0IHJmZGkgPSAwOyByZmRpIDwgaXRlbUNudDsgcmZkaSsrKSB7XHJcbiAgICAgICAgICBsZXQgYXJSZiA9IHRoaXMuYXZhaWxSZWNGaWxlc1tyZmRpXVswXTtcclxuICAgICAgICAgICAgaWYgKHRoaXMucmVjb3JkaW5nRmlsZS51dWlkID09PSBhclJmLnV1aWQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gcmZkaTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUG9zKCl7XHJcbiAgICB0aGlzLnBvc0luTGlzdD10aGlzLnBvc2l0aW9uSW5MaXN0KCk7XHJcbiAgICB0aGlzLnRvVmVyc2lvbkFjdGlvbi5kaXNhYmxlZD10cnVlO1xyXG4gICAgaWYodGhpcy5hdmFpbFJlY0ZpbGVzKXtcclxuICAgICAgbGV0IGF2UmZzTGVuPXRoaXMuYXZhaWxSZWNGaWxlcy5sZW5ndGg7XHJcbiAgICAgIGlmKHRoaXMucG9zSW5MaXN0ICE9bnVsbCAmJiBhdlJmc0xlbj50aGlzLnBvc0luTGlzdCkge1xyXG4gICAgICAgIGxldCBhcmZzID0gdGhpcy5hdmFpbFJlY0ZpbGVzW3RoaXMucG9zSW5MaXN0XTtcclxuICAgICAgICBpZiAoYXJmcykge1xyXG4gICAgICAgICAgdGhpcy52ZXJzaW9ucyA9IG5ldyBBcnJheTxudW1iZXI+KCk7XHJcbiAgICAgICAgICBmb3IgKGxldCBhcmYgb2YgYXJmcykge1xyXG4gICAgICAgICAgICBpZihhcmYucmVjb3JkaW5nPy5pdGVtY29kZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmVyc2lvbnMucHVzaChhcmYudmVyc2lvbilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMudG9WZXJzaW9uQWN0aW9uLmRpc2FibGVkPSh0aGlzLnZlcnNpb25zLmxlbmd0aDwyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLnJlY29yZGluZ0ZpbGUpe1xyXG4gICAgICBpZih0aGlzLnJlY29yZGluZ0ZpbGUudmVyc2lvbil7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRpbmdGaWxlVmVyc2lvbj10aGlzLnJlY29yZGluZ0ZpbGUudmVyc2lvbjtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5yZWNvcmRpbmdGaWxlVmVyc2lvbj0wO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5yZWNvcmRpbmdGaWxlVmVyc2lvbj1udWxsO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVBY3Rpb25zKClcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsb2FkUmVjRmlsZShyZklkOm51bWJlciB8IHN0cmluZykge1xyXG4gICAgdGhpcy5hcD8uc3RvcCgpO1xyXG4gICAgdGhpcy5hdWRpb0NsaXAgPW51bGw7XHJcbiAgICB0aGlzLnJlY29yZGluZ0ZpbGU9bnVsbDtcclxuICAgIHRoaXMucG9zSW5MaXN0PW51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZUFjdGlvbnMoKTtcclxuICAgICAgdGhpcy5hdWRpb0ZldGNoaW5nPXRydWU7XHJcbiAgICAgIHRoaXMucmVjb3JkaW5nRmlsZVNlcnZpY2UuZmV0Y2hTcHJSZWNvcmRpbmdGaWxlKCByZklkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmF1ZGlvRmV0Y2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9ICdBdWRpbyBmaWxlIGxvYWRlZC4nO1xyXG4gICAgICAgICAgICAgIGxldCBjbGlwID0gbnVsbDtcclxuICAgICAgICAgICAgICB0aGlzLnJlY29yZGluZ0ZpbGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5yZWNvcmRpbmdGaWxlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgYWIgPSB0aGlzLnJlY29yZGluZ0ZpbGUuYXVkaW9EYXRhSG9sZGVyO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFiKSB7XHJcbiAgICAgICAgICAgICAgICAgIGNsaXAgPSBuZXcgQXVkaW9DbGlwKGFiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIGxldCBlc2Zmc3IgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgZWVmZnNyID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgbGV0IGVzciA9IG51bGw7XHJcblxyXG4gICAgICAgICAgICAgICAgICBpZiAoY2xpcC5hdWRpb0RhdGFIb2xkZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVzciA9IGFiLnNhbXBsZVJhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVzciAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBlc2Zmc3IgPSBSZWNvcmRpbmdGaWxlVXRpbC5lZGl0U3RhcnRGcmFtZUZvclNhbXBsZVJhdGUodGhpcy5yZWNvcmRpbmdGaWxlLCBlc3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgZWVmZnNyID0gUmVjb3JkaW5nRmlsZVV0aWwuZWRpdEVuZEZyYW1lRm9yU2FtcGxlUmF0ZSh0aGlzLnJlY29yZGluZ0ZpbGUsIGVzcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBzZWw6IFNlbGVjdGlvbiB8IG51bGwgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlc2Zmc3IgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGVlZmZzciAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbCA9IG5ldyBTZWxlY3Rpb24oYWIuc2FtcGxlUmF0ZSwgZXNmZnNyLCBlZWZmc3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9sZXQgY2gwID0gYWIuZ2V0Q2hhbm5lbERhdGEoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmcmFtZUxlbmd0aCA9IGFiLmZyYW1lTGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWwgPSBuZXcgU2VsZWN0aW9uKGVzciwgZXNmZnNyLCBmcmFtZUxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlZWZmc3IgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgc2VsID0gbmV3IFNlbGVjdGlvbihlc3IsIDAsIGVlZmZzcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNsaXAuc2VsZWN0aW9uID0gc2VsXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5hdWRpb0NsaXAgPSBjbGlwXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkZWRSZWNmaWxlKCk7XHJcblxyXG4gICAgICAgICAgICB9LCBlcnJvcjplcnJvcjEgPT5cclxuICAgICAge1xyXG4gICAgICAgIHRoaXMuYXVkaW9GZXRjaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gJ0Vycm9yIGxvYWRpbmcgYXVkaW8gZmlsZSEnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbG9hZGVkUmVjZmlsZSgpIHtcclxuICAgIGlmKHRoaXMucmVjb3JkaW5nRmlsZSAmJiAhdGhpcy5zZXNzaW9uSWQpIHtcclxuICAgICAgbGV0IHNJZD10aGlzLnJlY29yZGluZ0ZpbGUuc2Vzc2lvblxyXG4gICAgICBpZighc0lkKXtcclxuICAgICAgICBzSWQ9dGhpcy5zZXNzaW9uSWRGcm9tUm91dGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHNJZCkge1xyXG4gICAgICAgIHRoaXMubG9hZFNlc3Npb24oc0lkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlUG9zKCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUFjdGlvbnMoKXtcclxuICAgIGxldCBpdGVtQ250Om51bWJlcnxudWxsPW51bGw7XHJcbiAgICBpZih0aGlzLmF2YWlsUmVjRmlsZXMpIHtcclxuICAgICAgaXRlbUNudCA9IHRoaXMuYXZhaWxSZWNGaWxlcy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpcnN0QWN0aW9uLmRpc2FibGVkPSh0aGlzLnBvc0luTGlzdD09bnVsbCB8fCB0aGlzLnBvc0luTGlzdCA9PSAwKTtcclxuICAgIHRoaXMucHJldkFjdGlvbi5kaXNhYmxlZD0odGhpcy5wb3NJbkxpc3Q9PW51bGwgfHwgdGhpcy5wb3NJbkxpc3QgPT0gMCk7XHJcbiAgICB0aGlzLm5leHRBY3Rpb24uZGlzYWJsZWQ9KHRoaXMucG9zSW5MaXN0PT1udWxsIHx8IGl0ZW1DbnQ9PW51bGwgfHwgdGhpcy5wb3NJbkxpc3QgPj0gaXRlbUNudCAtIDEpO1xyXG4gICAgdGhpcy5sYXN0QWN0aW9uLmRpc2FibGVkPSh0aGlzLnBvc0luTGlzdD09bnVsbCB8fCBpdGVtQ250PT1udWxsIHx8IHRoaXMucG9zSW5MaXN0ID49IGl0ZW1DbnQgLSAxKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9hZFNlc3Npb24oc2Vzc2lvbklkOiBzdHJpbmd8IG51bWJlcikge1xyXG4gICAgLy8gbG9hZCBzZXNzaW9uIGFuZCByZWNvcmRpbmcgZmlsZSBtZXRhZGF0YSBvbmx5IHdoZW4gb24gaW5pdCBhbmQgd2hlbiBzZXNzaW9uIGNoYW5nZXNcclxuICAgIGlmICg8c3RyaW5nPnNlc3Npb25JZCAhPSA8c3RyaW5nPnRoaXMuc2Vzc2lvbklkKSB7XHJcbiAgICAgIC8vIHRlbGwgVUkgdGhhdCB3ZSBhcmUgd29ya2luZy4uLlxyXG4gICAgICB0aGlzLm5hdmlJbmZvTG9hZGluZz10cnVlO1xyXG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNlc3Npb25PYnNlcnZlcig8c3RyaW5nPnNlc3Npb25JZCkuc3Vic2NyaWJlKChzKSA9PiB7XHJcbiAgICAgICAgLy8gcmVjZWl2ZWQgc2Vzc2lvbiBkYXRhXHJcbiAgICAgICAgdGhpcy5zZXNzaW9uSWQgPSBzLnNlc3Npb25JZDtcclxuICAgICAgICAvLyBmZXRjaCByZWNvcmRpbmcgZmlsZSBtZXRhIGRhdGEgbGlzdFxyXG4gICAgICAgIHRoaXMucmVjb3JkaW5nU2VydmljZS5zcHJSZWNvcmRpbmdGaWxlTGlzdChzLnByb2plY3QsIHMuc2Vzc2lvbklkKS5zdWJzY3JpYmUoKHJmZHMpID0+IHtcclxuICAgICAgICAgIHRoaXMuYXZhaWxSZWNGaWxlcyA9IG5ldyBBcnJheTxBcnJheTxTcHJSZWNvcmRpbmdGaWxlPj4oKTtcclxuICAgICAgICAgIC8vIGJ1aWxkIHN0cnVjdHVyZSBpbmRleGVkIGJ5IGl0ZW1jb2RlXHJcbiAgICAgICAgICBsZXQgaWNJZHggPSBuZXcgSXRlbWNvZGVJbmRleCgpO1xyXG4gICAgICAgICAgZm9yIChsZXQgcmZkaSA9IDA7IHJmZGkgPCByZmRzLmxlbmd0aDsgcmZkaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCByZmQgPSByZmRzW3JmZGldO1xyXG4gICAgICAgICAgICBpZiAocmZkLmRhdGUpIHtcclxuICAgICAgICAgICAgICAvLyBjb252ZXJ0IGRhdGUgc3RyaW5nIGZvciBmYXN0ZXIgc29ydGluZyBsYXRlclxyXG4gICAgICAgICAgICAgIGxldCByZmRkID0gbmV3IERhdGUocmZkLmRhdGUpO1xyXG4gICAgICAgICAgICAgIHJmZC5fZGF0ZUFzRGF0ZU9iaiA9IHJmZGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGljID0gcmZkLml0ZW1Db2RlO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFpYykge1xyXG4gICAgICAgICAgICAgIGxldCByID0gcmZkLnJlY29yZGluZztcclxuICAgICAgICAgICAgICBpZiAociAmJiByLml0ZW1jb2RlKSB7XHJcbiAgICAgICAgICAgICAgICBpYyA9IHIuaXRlbWNvZGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpYykge1xyXG4gICAgICAgICAgICAgIGxldCBleFJmc0ZvckljID0gaWNJZHhbaWNdO1xyXG4gICAgICAgICAgICAgIGlmIChleFJmc0ZvckljID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIC8vIGl0ZW1jb2RlIG5vdCB5ZXQgc3RvcmVkXHJcbiAgICAgICAgICAgICAgICBsZXQgYXJmZCA9IG5ldyBBcnJheTxTcHJSZWNvcmRpbmdGaWxlPigpO1xyXG4gICAgICAgICAgICAgICAgYXJmZC5wdXNoKHJmZCk7XHJcbiAgICAgICAgICAgICAgICBpY0lkeFtpY10gPSBhcmZkO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdmFpbFJlY0ZpbGVzLnB1c2goYXJmZCk7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIHJlYyBmaWxlIHdpdGggaXRlbWNvZGUgYWxyZWFkeSBleGlzdHMsIGFkZCAocHVzaCkgdGhpcyB2ZXJzaW9uIC4uLlxyXG4gICAgICAgICAgICAgICAgZXhSZnNGb3JJYy5wdXNoKHJmZCk7XHJcbiAgICAgICAgICAgICAgICAvLyAuLi4gYW5kIHNvcnQgbGF0ZXN0IHZlcnNpb24gKGhpZ2hlc3QgdmVyc2lvbiBudW1iZXIpIHRvIGxvd2VzdCBpbmRleFxyXG4gICAgICAgICAgICAgICAgZXhSZnNGb3JJYy5zb3J0KChyZmQxLCByZmQyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiByZmQyLnZlcnNpb24gLSByZmQxLnZlcnNpb247XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbGV0IGFyZmQgPSBuZXcgQXJyYXk8U3ByUmVjb3JkaW5nRmlsZT4oKTtcclxuICAgICAgICAgICAgICBhcmZkLnB1c2gocmZkKTtcclxuICAgICAgICAgICAgICB0aGlzLmF2YWlsUmVjRmlsZXMucHVzaChhcmZkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gaGF2ZSB1bnNvcnRlZCBpdGVtY29kZSBpbmRleGVkIHJlY29yZGluZyBmaWxlcyBoZXJlXHJcbiAgICAgICAgICAvLyBzb3J0IHRoZW0gb3JkZXJlZCBieSBkYXRlIG9mIGxhdGVzdCB2ZXJzaW9uIGFzY2VuZGluZ1xyXG4gICAgICAgICAgdGhpcy5hdmFpbFJlY0ZpbGVzLnNvcnQoKHJmczEsIHJmczIpID0+IHtcclxuICAgICAgICAgICAgbGV0IGQxID0gcmZzMlswXS5fZGF0ZUFzRGF0ZU9iajtcclxuICAgICAgICAgICAgbGV0IGQyID0gcmZzMVswXS5fZGF0ZUFzRGF0ZU9iajtcclxuICAgICAgICAgICAgaWYgKGQxID09IG51bGwpIHtcclxuICAgICAgICAgICAgICBpZiAoZDIgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIFNvcnQgZW50cmllcyB3aG9zZSBkYXRlcyBhcmUgbm90IHNldCB0byB0aGUgZW5kXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGlmIChkMiA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTb3J0IGVudHJpZXMgd2hvc2UgZGF0ZXMgYXJlIG5vdCBzZXQgdG8gdGhlIGVuZFxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIENvbXBhcmUgZGF0ZSBieSB0aW1lIGluIG1pbGxpc2Vjb25kcyB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGQyLmdldFRpbWUoKSAtIGQxLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgZm9yKGxldCBhdlJmIG9mIHRoaXMuYXZhaWxSZWNGaWxlcyl7XHJcbiAgICAgICAgICAgICAgaWYoYXZSZlswXSAmJiBhdlJmWzBdLnJlY29yZGluZykge1xyXG4gICAgICAgICAgICAgICAgbGV0IG9zID0gYXZSZlswXS5yZWNvcmRpbmcuaXRlbWNvZGUgKyAnOiB2ZXJzaW9uczogJztcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGF2UmZWIG9mIGF2UmYpIHtcclxuICAgICAgICAgICAgICAgICAgb3MgKz0gYXZSZlYudmVyc2lvbiArICcvJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5kZWJ1Zyhvcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy51cGRhdGVQb3MoKVxyXG4gICAgICAgICAgdGhpcy5uYXZpSW5mb0xvYWRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
@@ -65,4 +65,4 @@ export class RecordingFileUtil {
65
65
  return eeffSr;
66
66
  }
67
67
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUluRCwrQkFBK0I7QUFDL0IsRUFBRTtBQUNGLDZDQUE2QztBQUM3QyxvQ0FBb0M7QUFDcEMsTUFBTTtBQUNOLEVBQUU7QUFDRix1QkFBdUI7QUFDdkIsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QixFQUFFO0FBQ0YsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRiwyQkFBMkI7QUFDM0IsRUFBRTtBQUNGLHFDQUFxQztBQUNyQyxnQ0FBZ0M7QUFDaEMsTUFBTTtBQUNOLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTiw4Q0FBOEM7QUFDOUMsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRiwyRUFBMkU7QUFDM0UsNkNBQTZDO0FBQzdDLHFDQUFxQztBQUNyQyxNQUFNO0FBQ04sRUFBRTtBQUNGLEVBQUU7QUFDRixJQUFJO0FBRUosTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsb0JBQW9CLENBQUMsYUFBOEI7UUFDL0QsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNoQyxJQUFJLENBQUMsRUFBRTtnQkFDTCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLGtCQUE4QixFQUFDLFFBQW9CLEVBQUMsVUFBaUI7UUFDdkcsSUFBSSxLQUFLLEdBQUMsSUFBSSxDQUFDO1FBRWYsa0VBQWtFO1FBQ2xFLElBQUcsa0JBQWtCLElBQUUsSUFBSSxFQUFDO1lBQzFCLGtCQUFrQixHQUFDLFVBQVUsQ0FBQztTQUMvQjtRQUNELElBQUcsa0JBQWtCLElBQUUsSUFBSSxJQUFJLFFBQVEsSUFBRSxJQUFJLEVBQUU7WUFDN0MsSUFBSSxrQkFBa0IsS0FBSyxVQUFVLEVBQUU7Z0JBQ3JDLEtBQUssR0FBQyxRQUFRLENBQUM7YUFDaEI7aUJBQU07Z0JBQ0wsS0FBSyxHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQzthQUNoRTtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLGFBQTJCLEVBQUUsVUFBaUI7UUFDdEYsSUFBSSxNQUFNLEdBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBQyxhQUFhLENBQUMsY0FBYyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMseUJBQXlCLENBQUMsYUFBMkIsRUFBRSxVQUFpQjtRQUNwRixJQUFJLE1BQU0sR0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9tcHRpdGVtVXRpbH0gZnJvbSBcIi4uLy4uL3NjcmlwdC9zY3JpcHRcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlLCBTcHJSZWNvcmRpbmdGaWxlfSBmcm9tIFwiLi4vLi4vcmVjb3JkaW5nXCI7XHJcblxyXG5cclxuLy8gZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGUge1xyXG4vL1xyXG4vLyAgIGdldCByZWNvcmRpbmdGaWxlSWQoKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuLy8gICAgIHJldHVybiB0aGlzLl9yZWNvcmRpbmdGaWxlSWQ7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIGZyYW1lczpudW1iZXI9bnVsbFxyXG4vLyAgIGVkaXRTdGFydEZyYW1lOm51bWJlcj1udWxsXHJcbi8vICAgZWRpdEVuZEZyYW1lOm51bWJlcj1udWxsXHJcbi8vXHJcbi8vICAgcmVjb3JkaW5nOlByb21wdEl0ZW07XHJcbi8vXHJcbi8vICAgc2Vzc2lvbjpudW1iZXJ8c3RyaW5nO1xyXG4vL1xyXG4vLyAgIGdldCBhdWRpb0J1ZmZlcigpOiBBdWRpb0J1ZmZlciB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5fYXVkaW9CdWZmZXI7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIHNldCBhdWRpb0J1ZmZlcih2YWx1ZTogQXVkaW9CdWZmZXIpIHtcclxuLy8gICAgIHRoaXMuX2F1ZGlvQnVmZmVyID0gdmFsdWU7XHJcbi8vICAgfVxyXG4vLyAgIHByaXZhdGUgX3JlY29yZGluZ0ZpbGVJZDpzdHJpbmcgfCBudW1iZXI7XHJcbi8vICAgcHJpdmF0ZSBfYXVkaW9CdWZmZXI6QXVkaW9CdWZmZXI7XHJcbi8vXHJcbi8vICAgY29uc3RydWN0b3IocmVjb3JkaW5nRmlsZUlkOiBzdHJpbmd8IG51bWJlciwgYXVkaW9CdWZmZXI6QXVkaW9CdWZmZXIpe1xyXG4vLyAgICAgdGhpcy5fcmVjb3JkaW5nRmlsZUlkPXJlY29yZGluZ0ZpbGVJZDtcclxuLy8gICAgIHRoaXMuX2F1ZGlvQnVmZmVyPWF1ZGlvQnVmZmVyO1xyXG4vLyAgIH1cclxuLy9cclxuLy9cclxuLy8gfVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVVdGlsIHtcclxuICBwdWJsaWMgc3RhdGljIHJlY29yZGluZ0FzUGxhaW5UZXh0KHJlY29yZGluZ0ZpbGU6U3ByUmVjb3JkaW5nRmlsZSkge1xyXG4gICAgaWYgKHJlY29yZGluZ0ZpbGUpIHtcclxuICAgICAgbGV0IHIgPSByZWNvcmRpbmdGaWxlLnJlY29yZGluZztcclxuICAgICAgaWYgKHIpIHtcclxuICAgICAgICByZXR1cm4gUHJvbXB0aXRlbVV0aWwudG9QbGFpblRleHRTdHJpbmcocik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBcIm4vYVwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmcmFtZVBvc0ZvclNhbXBsZVJhdGUoZnJhbWVQb3NTYW1wbGVSYXRlOm51bWJlcnxudWxsLGZyYW1lUG9zOm51bWJlcnxudWxsLHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXJ8bnVsbHtcclxuICAgIGxldCBmcEZTcj1udWxsO1xyXG5cclxuICAgIC8vIFRPRE8gdHJhbnNpdGlvbmFsIHVudGlsIGVkaXRTYW1wbGVSYXRlcyBhcmUgc2V0IGluIHRoZSBkYXRhYmFzZVxyXG4gICAgaWYoZnJhbWVQb3NTYW1wbGVSYXRlPT1udWxsKXtcclxuICAgICAgZnJhbWVQb3NTYW1wbGVSYXRlPXNhbXBsZVJhdGU7XHJcbiAgICB9XHJcbiAgICBpZihmcmFtZVBvc1NhbXBsZVJhdGUhPW51bGwgJiYgZnJhbWVQb3MhPW51bGwpIHtcclxuICAgICAgaWYgKGZyYW1lUG9zU2FtcGxlUmF0ZSA9PT0gc2FtcGxlUmF0ZSkge1xyXG4gICAgICAgIGZwRlNyPWZyYW1lUG9zO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZwRlNyPU1hdGgucm91bmQoKGZyYW1lUG9zICogc2FtcGxlUmF0ZSkgLyBmcmFtZVBvc1NhbXBsZVJhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnBGU3I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVkaXRTdGFydEZyYW1lRm9yU2FtcGxlUmF0ZShyZWNvcmRpbmdGaWxlOlJlY29yZGluZ0ZpbGUsIHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXIgfCBudWxse1xyXG4gICAgbGV0IGVzZmZTcj1SZWNvcmRpbmdGaWxlVXRpbC5mcmFtZVBvc0ZvclNhbXBsZVJhdGUocmVjb3JkaW5nRmlsZS5lZGl0U2FtcGxlUmF0ZSxyZWNvcmRpbmdGaWxlLmVkaXRTdGFydEZyYW1lLHNhbXBsZVJhdGUpO1xyXG4gICAgcmV0dXJuIGVzZmZTcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZWRpdEVuZEZyYW1lRm9yU2FtcGxlUmF0ZShyZWNvcmRpbmdGaWxlOlJlY29yZGluZ0ZpbGUsIHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXIgfCBudWxse1xyXG4gICAgbGV0IGVlZmZTcj1SZWNvcmRpbmdGaWxlVXRpbC5mcmFtZVBvc0ZvclNhbXBsZVJhdGUocmVjb3JkaW5nRmlsZS5lZGl0U2FtcGxlUmF0ZSxyZWNvcmRpbmdGaWxlLmVkaXRFbmRGcmFtZSxzYW1wbGVSYXRlKTtcclxuICAgIHJldHVybiBlZWZmU3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUluRCwrQkFBK0I7QUFDL0IsRUFBRTtBQUNGLDZDQUE2QztBQUM3QyxvQ0FBb0M7QUFDcEMsTUFBTTtBQUNOLEVBQUU7QUFDRix1QkFBdUI7QUFDdkIsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QixFQUFFO0FBQ0YsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRiwyQkFBMkI7QUFDM0IsRUFBRTtBQUNGLHFDQUFxQztBQUNyQyxnQ0FBZ0M7QUFDaEMsTUFBTTtBQUNOLEVBQUU7QUFDRiwwQ0FBMEM7QUFDMUMsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTiw4Q0FBOEM7QUFDOUMsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRiwyRUFBMkU7QUFDM0UsNkNBQTZDO0FBQzdDLHFDQUFxQztBQUNyQyxNQUFNO0FBQ04sRUFBRTtBQUNGLEVBQUU7QUFDRixJQUFJO0FBRUosTUFBTSxPQUFPLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsb0JBQW9CLENBQUMsYUFBOEI7UUFDL0QsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ04sT0FBTyxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxNQUFNLENBQUMscUJBQXFCLENBQUMsa0JBQThCLEVBQUMsUUFBb0IsRUFBQyxVQUFpQjtRQUN2RyxJQUFJLEtBQUssR0FBQyxJQUFJLENBQUM7UUFFZixrRUFBa0U7UUFDbEUsSUFBRyxrQkFBa0IsSUFBRSxJQUFJLEVBQUMsQ0FBQztZQUMzQixrQkFBa0IsR0FBQyxVQUFVLENBQUM7UUFDaEMsQ0FBQztRQUNELElBQUcsa0JBQWtCLElBQUUsSUFBSSxJQUFJLFFBQVEsSUFBRSxJQUFJLEVBQUUsQ0FBQztZQUM5QyxJQUFJLGtCQUFrQixLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLEdBQUMsUUFBUSxDQUFDO1lBQ2pCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2pFLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLGFBQTJCLEVBQUUsVUFBaUI7UUFDdEYsSUFBSSxNQUFNLEdBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBQyxhQUFhLENBQUMsY0FBYyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMseUJBQXlCLENBQUMsYUFBMkIsRUFBRSxVQUFpQjtRQUNwRixJQUFJLE1BQU0sR0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQcm9tcHRpdGVtVXRpbH0gZnJvbSBcIi4uLy4uL3NjcmlwdC9zY3JpcHRcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlLCBTcHJSZWNvcmRpbmdGaWxlfSBmcm9tIFwiLi4vLi4vcmVjb3JkaW5nXCI7XHJcblxyXG5cclxuLy8gZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGUge1xyXG4vL1xyXG4vLyAgIGdldCByZWNvcmRpbmdGaWxlSWQoKTogc3RyaW5nIHwgbnVtYmVyIHtcclxuLy8gICAgIHJldHVybiB0aGlzLl9yZWNvcmRpbmdGaWxlSWQ7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIGZyYW1lczpudW1iZXI9bnVsbFxyXG4vLyAgIGVkaXRTdGFydEZyYW1lOm51bWJlcj1udWxsXHJcbi8vICAgZWRpdEVuZEZyYW1lOm51bWJlcj1udWxsXHJcbi8vXHJcbi8vICAgcmVjb3JkaW5nOlByb21wdEl0ZW07XHJcbi8vXHJcbi8vICAgc2Vzc2lvbjpudW1iZXJ8c3RyaW5nO1xyXG4vL1xyXG4vLyAgIGdldCBhdWRpb0J1ZmZlcigpOiBBdWRpb0J1ZmZlciB7XHJcbi8vICAgICByZXR1cm4gdGhpcy5fYXVkaW9CdWZmZXI7XHJcbi8vICAgfVxyXG4vL1xyXG4vLyAgIHNldCBhdWRpb0J1ZmZlcih2YWx1ZTogQXVkaW9CdWZmZXIpIHtcclxuLy8gICAgIHRoaXMuX2F1ZGlvQnVmZmVyID0gdmFsdWU7XHJcbi8vICAgfVxyXG4vLyAgIHByaXZhdGUgX3JlY29yZGluZ0ZpbGVJZDpzdHJpbmcgfCBudW1iZXI7XHJcbi8vICAgcHJpdmF0ZSBfYXVkaW9CdWZmZXI6QXVkaW9CdWZmZXI7XHJcbi8vXHJcbi8vICAgY29uc3RydWN0b3IocmVjb3JkaW5nRmlsZUlkOiBzdHJpbmd8IG51bWJlciwgYXVkaW9CdWZmZXI6QXVkaW9CdWZmZXIpe1xyXG4vLyAgICAgdGhpcy5fcmVjb3JkaW5nRmlsZUlkPXJlY29yZGluZ0ZpbGVJZDtcclxuLy8gICAgIHRoaXMuX2F1ZGlvQnVmZmVyPWF1ZGlvQnVmZmVyO1xyXG4vLyAgIH1cclxuLy9cclxuLy9cclxuLy8gfVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVVdGlsIHtcclxuICBwdWJsaWMgc3RhdGljIHJlY29yZGluZ0FzUGxhaW5UZXh0KHJlY29yZGluZ0ZpbGU6U3ByUmVjb3JkaW5nRmlsZSkge1xyXG4gICAgaWYgKHJlY29yZGluZ0ZpbGUpIHtcclxuICAgICAgbGV0IHIgPSByZWNvcmRpbmdGaWxlLnJlY29yZGluZztcclxuICAgICAgaWYgKHIpIHtcclxuICAgICAgICByZXR1cm4gUHJvbXB0aXRlbVV0aWwudG9QbGFpblRleHRTdHJpbmcocik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBcIm4vYVwiO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBmcmFtZVBvc0ZvclNhbXBsZVJhdGUoZnJhbWVQb3NTYW1wbGVSYXRlOm51bWJlcnxudWxsLGZyYW1lUG9zOm51bWJlcnxudWxsLHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXJ8bnVsbHtcclxuICAgIGxldCBmcEZTcj1udWxsO1xyXG5cclxuICAgIC8vIFRPRE8gdHJhbnNpdGlvbmFsIHVudGlsIGVkaXRTYW1wbGVSYXRlcyBhcmUgc2V0IGluIHRoZSBkYXRhYmFzZVxyXG4gICAgaWYoZnJhbWVQb3NTYW1wbGVSYXRlPT1udWxsKXtcclxuICAgICAgZnJhbWVQb3NTYW1wbGVSYXRlPXNhbXBsZVJhdGU7XHJcbiAgICB9XHJcbiAgICBpZihmcmFtZVBvc1NhbXBsZVJhdGUhPW51bGwgJiYgZnJhbWVQb3MhPW51bGwpIHtcclxuICAgICAgaWYgKGZyYW1lUG9zU2FtcGxlUmF0ZSA9PT0gc2FtcGxlUmF0ZSkge1xyXG4gICAgICAgIGZwRlNyPWZyYW1lUG9zO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZwRlNyPU1hdGgucm91bmQoKGZyYW1lUG9zICogc2FtcGxlUmF0ZSkgLyBmcmFtZVBvc1NhbXBsZVJhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnBGU3I7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGVkaXRTdGFydEZyYW1lRm9yU2FtcGxlUmF0ZShyZWNvcmRpbmdGaWxlOlJlY29yZGluZ0ZpbGUsIHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXIgfCBudWxse1xyXG4gICAgbGV0IGVzZmZTcj1SZWNvcmRpbmdGaWxlVXRpbC5mcmFtZVBvc0ZvclNhbXBsZVJhdGUocmVjb3JkaW5nRmlsZS5lZGl0U2FtcGxlUmF0ZSxyZWNvcmRpbmdGaWxlLmVkaXRTdGFydEZyYW1lLHNhbXBsZVJhdGUpO1xyXG4gICAgcmV0dXJuIGVzZmZTcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZWRpdEVuZEZyYW1lRm9yU2FtcGxlUmF0ZShyZWNvcmRpbmdGaWxlOlJlY29yZGluZ0ZpbGUsIHNhbXBsZVJhdGU6bnVtYmVyKTpudW1iZXIgfCBudWxse1xyXG4gICAgbGV0IGVlZmZTcj1SZWNvcmRpbmdGaWxlVXRpbC5mcmFtZVBvc0ZvclNhbXBsZVJhdGUocmVjb3JkaW5nRmlsZS5lZGl0U2FtcGxlUmF0ZSxyZWNvcmRpbmdGaWxlLmVkaXRFbmRGcmFtZSxzYW1wbGVSYXRlKTtcclxuICAgIHJldHVybiBlZWZmU3I7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -276,13 +276,13 @@ export class RecordingFileService extends BasicRecordingService {
276
276
  //console.log("Path request URL: "+recUrl)
277
277
  return this.http.patch(recUrl, { editSampleRate: editSampleRate, editStartFrame: editStartFrame, editEndFrame: editEndFrame }, { withCredentials: this.withCredentials });
278
278
  }
279
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
280
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileService }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
280
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileService }); }
281
281
  }
282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: RecordingFileService, decorators: [{
282
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RecordingFileService, decorators: [{
283
283
  type: Injectable
284
284
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
285
285
  type: Inject,
286
286
  args: [SPEECHRECORDER_CONFIG]
287
287
  }] }] });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nZmlsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmdmaWxlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFnQyxXQUFXLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR2hDLE9BQU8sRUFBQyxPQUFPLEVBQUUscUJBQXFCLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQW1CLE1BQU0saUJBQWlCLENBQUM7QUFDcEYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSTVELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxxQkFBcUI7YUFFdEMscUJBQWdCLEdBQUcsZUFBZSxBQUFsQixDQUFrQjtJQUt6RCxZQUFzQixJQUFnQixFQUEyQyxNQUE2QjtRQUMxRyxLQUFLLENBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBREQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQyxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUg5RyxrQ0FBa0M7UUFDMUIsZUFBVSxHQUFRLENBQUMsQ0FBQztJQUk1QixDQUFDO0lBRU8sV0FBVyxD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ZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcblxyXG5cclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuXHJcbmltcG9ydCB7QXBpVHlwZSwgU1BFRUNIUkVDT1JERVJfQ09ORklHLCBTcGVlY2hSZWNvcmRlckNvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL3Nwci5jb25maWdcIjtcclxuaW1wb3J0IHtVVUlEfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdXRpbHNcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlLCBSZWNvcmRpbmdGaWxlVXRpbHMsIFNwclJlY29yZGluZ0ZpbGV9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdcIjtcclxuaW1wb3J0IHtBdWRpb0J1ZmZlclNvdXJjZSwgQXVkaW9EYXRhSG9sZGVyfSBmcm9tIFwiLi4vLi4vLi4vYXVkaW8vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuaW1wb3J0IHtCYXNpY1JlY29yZGluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi9yZWNvcmRpbmdzL2Jhc2ljX3JlY29yZGluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QXVkaW9Db250ZXh0UHJvdmlkZXJ9IGZyb20gXCIuLi8uLi8uLi9hdWRpby9jb250ZXh0XCI7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nRmlsZVNlcnZpY2UgZXh0ZW5kcyBCYXNpY1JlY29yZGluZ1NlcnZpY2V7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUkVDT0ZJTEVfQVBJX0NUWCA9ICdyZWNvcmRpbmdmaWxlJ1xyXG5cclxuICAvL3ByaXZhdGUgZGVidWdEZWxheTpudW1iZXI9MTAwMDA7XHJcbiAgcHJpdmF0ZSBkZWJ1Z0RlbGF5Om51bWJlcj0wO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChTUEVFQ0hSRUNPUkRFUl9DT05GSUcpIHByb3RlY3RlZCBjb25maWc/OiBTcGVlY2hSZWNvcmRlckNvbmZpZykge1xyXG4gICAgICBzdXBlcihodHRwLGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlY29GaWxlVXJsKHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTpzdHJpbmd7XHJcbiAgICBsZXQgZW5jUmVjZmlsZUlkPWVuY29kZVVSSUNvbXBvbmVudChyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgbGV0IHJlY1VybCA9IHRoaXMuYXBpRW5kUG9pbnQgKyBSZWNvcmRpbmdGaWxlU2VydmljZS5SRUNPRklMRV9BUElfQ1RYICsgJy8nICsgZW5jUmVjZmlsZUlkO1xyXG5cclxuICAgIHJldHVybiByZWNVcmw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZldGNoQXVkaW9maWxlKHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXlCdWZmZXI+PiB7XHJcbiAgICBsZXQgcmVjVXJsID0gdGhpcy5yZWNvRmlsZVVybChyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmFwaVR5cGUgPT09IEFwaVR5cGUuRklMRVMpIHtcclxuICAgICAgLy8gZm9yIGRldmVsb3BtZW50IGFuZCBkZW1vXHJcbiAgICAgIC8vIGFwcGVuZCBVVUlEIHRvIG1ha2UgcmVxdWVzdCBVUkwgdW5pcXVlIHRvIGF2b2lkIGxvY2FsaG9zdCBzZXJ2ZXIgY2FjaGluZ1xyXG4gICAgICByZWNVcmwgPSByZWNVcmwgKyAnLndhdic7XHJcbiAgICB9XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdBY2NlcHQnOiAnYXVkaW8vd2F2J1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocmVjVXJsLCB7XHJcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXHJcbiAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcclxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlY29yZGluZ0ZpbGVEZXNjck9ic2VydmVyKHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxSZWNvcmRpbmdGaWxlPiB7XHJcblxyXG4gICAgbGV0IHJlY1VybCA9IHRoaXMucmVjb0ZpbGVVcmwocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgICAgcmVjVXJsID0gcmVjVXJsICsgJy5qc29uP3JlcXVlc3RVVUlEPScrVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8UmVjb3JkaW5nRmlsZT4ocmVjVXJsLHsgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFscyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3ByUmVjb3JkaW5nRmlsZURlc2NyT2JzZXJ2ZXIocmVjb3JkaW5nRmlsZUlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPFNwclJlY29yZGluZ0ZpbGU+IHtcclxuXHJcbiAgICBsZXQgcmVjVXJsID0gdGhpcy5yZWNvRmlsZVVybChyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmFwaVR5cGUgPT09IEFwaVR5cGUuRklMRVMpIHtcclxuICAgICAgLy8gZm9yIGRldmVsb3BtZW50IGFuZCBkZW1vXHJcbiAgICAgIC8vIGFwcGVuZCBVVUlEIHRvIG1ha2UgcmVxdWVzdCBVUkwgdW5pcXVlIHRvIGF2b2lkIGxvY2FsaG9zdCBzZXJ2ZXIgY2FjaGluZ1xyXG4gICAgICByZWNVcmwgPSByZWNVcmwgKyAnLmpzb24/cmVxdWVzdFVVSUQ9JytVVUlELmdlbmVyYXRlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTcHJSZWNvcmRpbmdGaWxlPihyZWNVcmwseyB3aXRoQ3JlZGVudGlhbHM6IHRoaXMud2l0aENyZWRlbnRpYWxzIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgZmV0Y2hTZXNzaW9uQXVkaW9maWxlQnlJZChwcm9qZWN0TmFtZTogc3RyaW5nLCBzZXNzSWQ6IHN0cmluZyB8IG51bWJlciwgcmVjb3JkaW5nRmlsZUlkOiBzdHJpbmcgfCBudW1iZXIpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheUJ1ZmZlcj4+IHtcclxuXHJcbiAgICBsZXQgcmVjVXJsID0gdGhpcy5yZWNvRmlsZVVybChyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgLy8gaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmFwaVR5cGUgPT09IEFwaVR5cGUuRklMRVMpIHtcclxuICAgIC8vICAgLy8gZm9yIGRldmVsb3BtZW50IGFuZCBkZW1vXHJcbiAgICAvLyAgIC8vIGFwcGVuZCBVVUlEIHRvIG1ha2UgcmVxdWVzdCBVUkwgdW5pcXVlIHRvIGF2b2lkIGxvY2FsaG9zdCBzZXJ2ZXIgY2FjaGluZ1xyXG4gICAgLy8gICByZWNVcmwgPSByZWNVcmwgKyAnLndhdj9yZXF1ZXN0VVVJRD0nICsgVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocmVjVXJsLCB7XHJcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcclxuICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFsc1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gVE9ETyB0ZXN0XHJcblxyXG4gIGZldGNoQW5kQXBwbHlSZWNvcmRpbmdGaWxlKHJlY29yZGluZ0ZpbGU6U3ByUmVjb3JkaW5nRmlsZSk6T2JzZXJ2YWJsZTxTcHJSZWNvcmRpbmdGaWxlfG51bGw+IHtcclxuXHJcbiAgICBsZXQgd29icyA9IG5ldyBPYnNlcnZhYmxlPFNwclJlY29yZGluZ0ZpbGV8bnVsbD4ob2JzZXJ2ZXI9PntcclxuICAgICAgaWYocmVjb3JkaW5nRmlsZS5yZWNvcmRpbmdGaWxlSWQpIHtcclxuICAgICAgICBsZXQgb2JzID0gdGhpcy5mZXRjaEF1ZGlvZmlsZShyZWNvcmRpbmdGaWxlLnJlY29yZGluZ0ZpbGVJZCk7XHJcblxyXG4gICAgICAgIG9icy5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIHtuZXh0OnJlc3AgPT4ge1xyXG4gICAgICAgICAgICAgIGlmKHJlc3AuYm9keSkge1xyXG4gICAgICAgICAgICAgICAgQXVkaW9Db250ZXh0UHJvdmlkZXIuZGVjb2RlQXVkaW9EYXRhKHJlc3AuYm9keSkudGhlbihhYiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBhcz1uZXcgQXVkaW9CdWZmZXJTb3VyY2UoYWIpO1xyXG4gICAgICAgICAgICAgICAgICBSZWNvcmRpbmdGaWxlVXRpbHMuc2V0QXVkaW9EYXRhKHJlY29yZGluZ0ZpbGUsbmV3IEF1ZGlvRGF0YUhvbGRlcihhcykpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWJ1Z0RlbGF5ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlY29yZGluZ0ZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLmRlYnVnRGVsYXkpO1xyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVjb3JkaW5nRmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSkuY2F0Y2gocmVhc29uPT57b2JzZXJ2ZXIuZXJyb3IocmVhc29uKX0pO1xyXG4gICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoJ1JlY2VpdmVkIG5vIGF1ZGlvIGRhdGEhJyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjooZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDQpIHtcclxuICAgICAgICAgICAgICAgIC8vIEludGVycHJldCBub3QgYXMgYW4gZXJyb3IsIHRoZSBmaWxlIGlzdCBub3QgcmVjb3JkZWQgeWV0XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGwgb3RoZXIgc3RhdGVzIGFyZSBlcnJvcnNcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBvYnNlcnZlci5lcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gd29icztcclxuICB9XHJcblxyXG4gIGZldGNoUmVjb3JkaW5nRmlsZShhQ3R4OiBBdWRpb0NvbnRleHQsIHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxSZWNvcmRpbmdGaWxlIHwgbnVsbD4ge1xyXG5cclxuICAgIGxldCB3b2JzID0gbmV3IE9ic2VydmFibGU8UmVjb3JkaW5nRmlsZSB8IG51bGw+KG9ic2VydmVyID0+IHtcclxuICAgICAgbGV0IHJmOiBSZWNvcmRpbmdGaWxlfG51bGwgPSBudWxsO1xyXG4gICAgICBsZXQgcmZEZXNjck9icyA9IHRoaXMucmVjb3JkaW5nRmlsZURlc2NyT2JzZXJ2ZXIocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgICAgcmZEZXNjck9icy5zdWJzY3JpYmUoXHJcbiAgICAgICAgICB7bmV4dDp2YWx1ZSA9PiB7XHJcbiAgICAgICAgcmYgPSB2YWx1ZTtcclxuICAgICAgfSwgZXJyb3I6KGVycm9yKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICB9LCBjb21wbGV0ZTooKSA9PiB7XHJcbiAgICAgICAgbGV0IHJmQXVkaW9PYnMgPSB0aGlzLmZldGNoQXVkaW9maWxlKHJlY29yZGluZ0ZpbGVJZCk7XHJcbiAgICAgICAgcmZBdWRpb09icy5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogcmVzcCA9PiB7XHJcbiAgICAgICAgICAgIC8vIERvIG5vdCB1c2UgUHJvbWlzZSB2ZXJzaW9uLCB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggU2FmYXJpIDEzXHJcbiAgICAgICAgICAgIGlmIChyZXNwLmJvZHkpIHtcclxuICAgICAgICAgICAgICBBdWRpb0NvbnRleHRQcm92aWRlci5kZWNvZGVBdWRpb0RhdGEocmVzcC5ib2R5KS50aGVuKCBhYiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmYpIHtcclxuICAgICAgICAgICAgICAgICAgbGV0IGFzID0gbmV3IEF1ZGlvQnVmZmVyU291cmNlKGFiKTtcclxuICAgICAgICAgICAgICAgICAgUmVjb3JkaW5nRmlsZVV0aWxzLnNldEF1ZGlvRGF0YShyZiwgbmV3IEF1ZGlvRGF0YUhvbGRlcihhcykpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoJ1JlY29yZGluZyBmaWxlIG9iamVjdCBudWxsJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWJ1Z0RlbGF5ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZik7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgfSwgdGhpcy5kZWJ1Z0RlbGF5KTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmYpO1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pLmNhdGNoKHJlYXNvbiA9PiB7b2JzZXJ2ZXIuZXJyb3IocmVhc29uKX0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdSZWNlaXZlZCBubyBhdWRpbyBkYXRhJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnJvcjogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwNCkge1xyXG4gICAgICAgICAgICAgIC8vIEludGVycHJldCBub3QgYXMgYW4gZXJyb3IsIHRoZSBmaWxlIGlzdCBub3QgcmVjb3JkZWQgeWV0XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHN0YXRlcyBhcmUgZXJyb3JzXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHdvYnM7XHJcbiAgfVxyXG5cclxuICBmZXRjaFNwclJlY29yZGluZ0ZpbGUoIHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxTcHJSZWNvcmRpbmdGaWxlIHwgbnVsbD4ge1xyXG5cclxuICAgIGxldCB3b2JzID0gbmV3IE9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZSB8IG51bGw+KG9ic2VydmVyID0+IHtcclxuICAgICAgbGV0IHJmOiBTcHJSZWNvcmRpbmdGaWxlfG51bGwgPSBudWxsO1xyXG4gICAgICBsZXQgcmZEZXNjck9icyA9IHRoaXMuc3ByUmVjb3JkaW5nRmlsZURlc2NyT2JzZXJ2ZXIocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgICAgcmZEZXNjck9icy5zdWJzY3JpYmUoe25leHQ6dmFsdWUgPT4ge1xyXG4gICAgICAgIHJmID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICwgZXJyb3I6KGVycm9yKSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICB9LCBjb21wbGV0ZTooKSA9PiB7XHJcbiAgICAgICAgbGV0IHNhbXBsZUNudDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICAgICAgaWYgKHJmICYmIHJmLmNoYW5uZWxzICYmIHJmLmZyYW1lcykge1xyXG4gICAgICAgICAgc2FtcGxlQ250ID0gcmYuY2hhbm5lbHMgKiByZi5mcmFtZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRPRE8gdXNlIGRvd25sb2FkIHN0b3JhZ2UgdHlwZSBkZXBlbmRpbmcgb24gc2FtcGxlIGNvdW50IG9mIGZpbGVcclxuICAgICAgICBpZiAocmYgJiYgcmYuc2FtcGxlcmF0ZSAmJiBzYW1wbGVDbnQgIT0gbnVsbCAmJiBzYW1wbGVDbnQgPiB0aGlzLl9tYXhBdXRvTmV0TWVtU3RvcmVTYW1wbGVzKSB7XHJcbiAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5yZWNvRmlsZVVybChyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgICAgICAgY29uc3Qgb2JOZXRBYiA9IHRoaXMuY2h1bmtBdWRpb1JlcXVlc3RUb05ldEF1ZGlvQnVmZmVyKGJhc2VVcmwsIDAsIHJmPy5zYW1wbGVyYXRlLCBCYXNpY1JlY29yZGluZ1NlcnZpY2UuREVGQVVMVF9DSFVOS0VEX0RPV05MT0FEX1NFQ09ORFMsIHJmLmZyYW1lcyk7XHJcbiAgICAgICAgICBvYk5ldEFiLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuZXh0OiAobmFiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBhZGggPSBuZXcgQXVkaW9EYXRhSG9sZGVyKG5hYik7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChyZikge1xyXG4gICAgICAgICAgICAgICAgICAgIFJlY29yZGluZ0ZpbGVVdGlscy5zZXRBdWRpb0RhdGEocmYsIGFkaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZik7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJbnRlcnByZXQgbm90IGFzIGFuIGVycm9yLCB0aGUgZmlsZSBpc3Qgbm90IHJlY29yZGVkIHlldFxyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKVxyXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGFsbCBvdGhlciBzdGF0ZXMgYXJlIGVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG5cclxuICAgICAgICAgIGxldCByZkF1ZGlvT2JzID0gdGhpcy5mZXRjaEF1ZGlvZmlsZShyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgICAgICAgcmZBdWRpb09icy5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAge25leHQ6cmVzcCA9PlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICAvLyBEbyBub3QgdXNlIFByb21pc2UgdmVyc2lvbiwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIFNhZmFyaSAxM1xyXG4gICAgICAgICAgICBpZiAocmVzcC5ib2R5KSB7XHJcbiAgICAgICAgICAgICAgQXVkaW9Db250ZXh0UHJvdmlkZXIuZGVjb2RlQXVkaW9EYXRhKHJlc3AuYm9keSkudGhlbiggYWIgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJmKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBhcyA9IG5ldyBBdWRpb0J1ZmZlclNvdXJjZShhYik7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBhZGggPSBuZXcgQXVkaW9EYXRhSG9sZGVyKGFzKTtcclxuICAgICAgICAgICAgICAgICAgUmVjb3JkaW5nRmlsZVV0aWxzLnNldEF1ZGlvRGF0YShyZiwgYWRoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdSZWNvcmRpbmcgZmlsZSBvYmplY3QgbnVsbCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVidWdEZWxheSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmYpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgIH0sIHRoaXMuZGVidWdEZWxheSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJmKTtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KS5jYXRjaChyZWFzb24gPT4ge29ic2VydmVyLmVycm9yKHJlYXNvbil9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcignUmVjZWl2ZWQgbm8gYXVkaW8gZGF0YScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgLCBlcnJvcjooZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XHJcbiAgICAgICAgICAgICAgLy8gSW50ZXJwcmV0IG5vdCBhcyBhbiBlcnJvciwgdGhlIGZpbGUgaXN0IG5vdCByZWNvcmRlZCB5ZXRcclxuICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAvLyBhbGwgb3RoZXIgc3RhdGVzIGFyZSBlcnJvcnNcclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gd29icztcclxuICB9XHJcblxyXG4gIHNhdmVFZGl0U2VsZWN0aW9uKHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyLGVkaXRTYW1wbGVSYXRlOm51bWJlcnxudWxsLGVkaXRTdGFydEZyYW1lOm51bWJlcnxudWxsLGVkaXRFbmRGcmFtZTpudW1iZXJ8bnVsbCk6IE9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZSB8IG51bGw+IHtcclxuICAgIGxldCByZWNVcmwgPSB0aGlzLmFwaUVuZFBvaW50ICsgUmVjb3JkaW5nRmlsZVNlcnZpY2UuUkVDT0ZJTEVfQVBJX0NUWCArICcvJyArIHJlY29yZGluZ0ZpbGVJZDtcclxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgICAgcmVjVXJsID0gcmVjVXJsICsgJy5qc29uP3JlcXVlc3RVVUlEPScrVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgLy9jb25zb2xlLmxvZyhcIlBhdGggcmVxdWVzdCBVUkw6IFwiK3JlY1VybClcclxuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8U3ByUmVjb3JkaW5nRmlsZT4ocmVjVXJsLHtlZGl0U2FtcGxlUmF0ZTplZGl0U2FtcGxlUmF0ZSxlZGl0U3RhcnRGcmFtZTplZGl0U3RhcnRGcmFtZSxlZGl0RW5kRnJhbWU6ZWRpdEVuZEZyYW1lfSx7IHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHMgfSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5nZmlsZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmdmaWxlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFpQyxXQUFXLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFHaEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUdoQyxPQUFPLEVBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQWdCLGtCQUFrQixFQUFtQixNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUk1RCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEscUJBQXFCO2FBRXRDLHFCQUFnQixHQUFHLGVBQWUsQUFBbEIsQ0FBa0I7SUFLekQsWUFBc0IsSUFBZ0IsRUFBMkMsTUFBNkI7UUFDMUcsS0FBSyxDQUFDLElBQUksRUFBQyxNQUFNLENBQUMsQ0FBQztRQURELFNBQUksR0FBSixJQUFJLENBQVk7UUFBMkMsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFIOUcsa0NBQWtDO1FBQzFCLGVBQVUsR0FBUSxDQUFDLENBQUM7SUFJNUIsQ0FBQztJQUVPLFdBQVcs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LG9CQUFvQixHQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6RCxDQUFDO1FBQ0QsMENBQTBDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQW1CLE1BQU0sRUFBQyxFQUFDLGNBQWMsRUFBQyxjQUFjLEVBQUMsY0FBYyxFQUFDLGNBQWMsRUFBQyxZQUFZLEVBQUMsWUFBWSxFQUFDLEVBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDckwsQ0FBQzs4R0E1UlUsb0JBQW9CLDRDQU9pQixxQkFBcUI7a0hBUDFELG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVTs7MEJBUWdDLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuXHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuXHJcblxyXG5pbXBvcnQge0FwaVR5cGUsIFNQRUVDSFJFQ09SREVSX0NPTkZJRywgU3BlZWNoUmVjb3JkZXJDb25maWd9IGZyb20gXCIuLi8uLi8uLi9zcHIuY29uZmlnXCI7XHJcbmltcG9ydCB7VVVJRH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3V0aWxzXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZSwgUmVjb3JkaW5nRmlsZVV0aWxzLCBTcHJSZWNvcmRpbmdGaWxlfSBmcm9tIFwiLi4vLi4vcmVjb3JkaW5nXCI7XHJcbmltcG9ydCB7QXVkaW9CdWZmZXJTb3VyY2UsIEF1ZGlvRGF0YUhvbGRlcn0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL2F1ZGlvX2RhdGFfaG9sZGVyXCI7XHJcbmltcG9ydCB7QmFzaWNSZWNvcmRpbmdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vcmVjb3JkaW5ncy9iYXNpY19yZWNvcmRpbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi4vLi4vLi4vYXVkaW8vY29udGV4dFwiO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlY29yZGluZ0ZpbGVTZXJ2aWNlIGV4dGVuZHMgQmFzaWNSZWNvcmRpbmdTZXJ2aWNle1xyXG5cclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFJFQ09GSUxFX0FQSV9DVFggPSAncmVjb3JkaW5nZmlsZSdcclxuXHJcbiAgLy9wcml2YXRlIGRlYnVnRGVsYXk6bnVtYmVyPTEwMDAwO1xyXG4gIHByaXZhdGUgZGVidWdEZWxheTpudW1iZXI9MDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIEBJbmplY3QoU1BFRUNIUkVDT1JERVJfQ09ORklHKSBwcm90ZWN0ZWQgY29uZmlnPzogU3BlZWNoUmVjb3JkZXJDb25maWcpIHtcclxuICAgICAgc3VwZXIoaHR0cCxjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWNvRmlsZVVybChyZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcik6c3RyaW5ne1xyXG4gICAgbGV0IGVuY1JlY2ZpbGVJZD1lbmNvZGVVUklDb21wb25lbnQocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgIGxldCByZWNVcmwgPSB0aGlzLmFwaUVuZFBvaW50ICsgUmVjb3JkaW5nRmlsZVNlcnZpY2UuUkVDT0ZJTEVfQVBJX0NUWCArICcvJyArIGVuY1JlY2ZpbGVJZDtcclxuXHJcbiAgICByZXR1cm4gcmVjVXJsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaEF1ZGlvZmlsZShyZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEFycmF5QnVmZmVyPj4ge1xyXG4gICAgbGV0IHJlY1VybCA9IHRoaXMucmVjb0ZpbGVVcmwocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgICAgcmVjVXJsID0gcmVjVXJsICsgJy53YXYnO1xyXG4gICAgfVxyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQWNjZXB0JzogJ2F1ZGlvL3dhdidcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHJlY1VybCwge1xyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICBoZWFkZXJzOiBoZWFkZXJzLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXHJcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWNvcmRpbmdGaWxlRGVzY3JPYnNlcnZlcihyZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8UmVjb3JkaW5nRmlsZT4ge1xyXG5cclxuICAgIGxldCByZWNVcmwgPSB0aGlzLnJlY29GaWxlVXJsKHJlY29yZGluZ0ZpbGVJZCk7XHJcbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuYXBpVHlwZSA9PT0gQXBpVHlwZS5GSUxFUykge1xyXG4gICAgICAvLyBmb3IgZGV2ZWxvcG1lbnQgYW5kIGRlbW9cclxuICAgICAgLy8gYXBwZW5kIFVVSUQgdG8gbWFrZSByZXF1ZXN0IFVSTCB1bmlxdWUgdG8gYXZvaWQgbG9jYWxob3N0IHNlcnZlciBjYWNoaW5nXHJcbiAgICAgIHJlY1VybCA9IHJlY1VybCArICcuanNvbj9yZXF1ZXN0VVVJRD0nK1VVSUQuZ2VuZXJhdGUoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFJlY29yZGluZ0ZpbGU+KHJlY1VybCx7IHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHMgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNwclJlY29yZGluZ0ZpbGVEZXNjck9ic2VydmVyKHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxTcHJSZWNvcmRpbmdGaWxlPiB7XHJcblxyXG4gICAgbGV0IHJlY1VybCA9IHRoaXMucmVjb0ZpbGVVcmwocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgICAgcmVjVXJsID0gcmVjVXJsICsgJy5qc29uP3JlcXVlc3RVVUlEPScrVVVJRC5nZW5lcmF0ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U3ByUmVjb3JkaW5nRmlsZT4ocmVjVXJsLHsgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFscyB9KTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGZldGNoU2Vzc2lvbkF1ZGlvZmlsZUJ5SWQocHJvamVjdE5hbWU6IHN0cmluZywgc2Vzc0lkOiBzdHJpbmcgfCBudW1iZXIsIHJlY29yZGluZ0ZpbGVJZDogc3RyaW5nIHwgbnVtYmVyKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXlCdWZmZXI+PiB7XHJcblxyXG4gICAgbGV0IHJlY1VybCA9IHRoaXMucmVjb0ZpbGVVcmwocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgIC8vIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5hcGlUeXBlID09PSBBcGlUeXBlLkZJTEVTKSB7XHJcbiAgICAvLyAgIC8vIGZvciBkZXZlbG9wbWVudCBhbmQgZGVtb1xyXG4gICAgLy8gICAvLyBhcHBlbmQgVVVJRCB0byBtYWtlIHJlcXVlc3QgVVJMIHVuaXF1ZSB0byBhdm9pZCBsb2NhbGhvc3Qgc2VydmVyIGNhY2hpbmdcclxuICAgIC8vICAgcmVjVXJsID0gcmVjVXJsICsgJy53YXY/cmVxdWVzdFVVSUQ9JyArIFVVSUQuZ2VuZXJhdGUoKTtcclxuICAgIC8vIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHJlY1VybCwge1xyXG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXHJcbiAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy53aXRoQ3JlZGVudGlhbHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIFRPRE8gdGVzdFxyXG5cclxuICBmZXRjaEFuZEFwcGx5UmVjb3JkaW5nRmlsZShyZWNvcmRpbmdGaWxlOlNwclJlY29yZGluZ0ZpbGUpOk9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZXxudWxsPiB7XHJcblxyXG4gICAgbGV0IHdvYnMgPSBuZXcgT2JzZXJ2YWJsZTxTcHJSZWNvcmRpbmdGaWxlfG51bGw+KG9ic2VydmVyPT57XHJcbiAgICAgIGlmKHJlY29yZGluZ0ZpbGUucmVjb3JkaW5nRmlsZUlkKSB7XHJcbiAgICAgICAgbGV0IG9icyA9IHRoaXMuZmV0Y2hBdWRpb2ZpbGUocmVjb3JkaW5nRmlsZS5yZWNvcmRpbmdGaWxlSWQpO1xyXG5cclxuICAgICAgICBvYnMuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICB7bmV4dDpyZXNwID0+IHtcclxuICAgICAgICAgICAgICBpZihyZXNwLmJvZHkpIHtcclxuICAgICAgICAgICAgICAgIEF1ZGlvQ29udGV4dFByb3ZpZGVyLmRlY29kZUF1ZGlvRGF0YShyZXNwLmJvZHkpLnRoZW4oYWIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgYXM9bmV3IEF1ZGlvQnVmZmVyU291cmNlKGFiKTtcclxuICAgICAgICAgICAgICAgICAgUmVjb3JkaW5nRmlsZVV0aWxzLnNldEF1ZGlvRGF0YShyZWNvcmRpbmdGaWxlLG5ldyBBdWRpb0RhdGFIb2xkZXIoYXMpKTtcclxuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVidWdEZWxheSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZWNvcmRpbmdGaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgdGhpcy5kZWJ1Z0RlbGF5KTtcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJlY29yZGluZ0ZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pLmNhdGNoKHJlYXNvbj0+e29ic2VydmVyLmVycm9yKHJlYXNvbil9KTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdSZWNlaXZlZCBubyBhdWRpbyBkYXRhIScpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6KGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJbnRlcnByZXQgbm90IGFzIGFuIGVycm9yLCB0aGUgZmlsZSBpc3Qgbm90IHJlY29yZGVkIHlldFxyXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHN0YXRlcyBhcmUgZXJyb3JzXHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHdvYnM7XHJcbiAgfVxyXG5cclxuICBmZXRjaFJlY29yZGluZ0ZpbGUoYUN0eDogQXVkaW9Db250ZXh0LCByZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8UmVjb3JkaW5nRmlsZSB8IG51bGw+IHtcclxuXHJcbiAgICBsZXQgd29icyA9IG5ldyBPYnNlcnZhYmxlPFJlY29yZGluZ0ZpbGUgfCBudWxsPihvYnNlcnZlciA9PiB7XHJcbiAgICAgIGxldCByZjogUmVjb3JkaW5nRmlsZXxudWxsID0gbnVsbDtcclxuICAgICAgbGV0IHJmRGVzY3JPYnMgPSB0aGlzLnJlY29yZGluZ0ZpbGVEZXNjck9ic2VydmVyKHJlY29yZGluZ0ZpbGVJZCk7XHJcbiAgICAgIHJmRGVzY3JPYnMuc3Vic2NyaWJlKFxyXG4gICAgICAgICAge25leHQ6dmFsdWUgPT4ge1xyXG4gICAgICAgIHJmID0gdmFsdWU7XHJcbiAgICAgIH0sIGVycm9yOihlcnJvcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgfSwgY29tcGxldGU6KCkgPT4ge1xyXG4gICAgICAgIGxldCByZkF1ZGlvT2JzID0gdGhpcy5mZXRjaEF1ZGlvZmlsZShyZWNvcmRpbmdGaWxlSWQpO1xyXG4gICAgICAgIHJmQXVkaW9PYnMuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IHJlc3AgPT4ge1xyXG4gICAgICAgICAgICAvLyBEbyBub3QgdXNlIFByb21pc2UgdmVyc2lvbiwgd2hpY2ggZG9lcyBub3Qgd29yayB3aXRoIFNhZmFyaSAxM1xyXG4gICAgICAgICAgICBpZiAocmVzcC5ib2R5KSB7XHJcbiAgICAgICAgICAgICAgQXVkaW9Db250ZXh0UHJvdmlkZXIuZGVjb2RlQXVkaW9EYXRhKHJlc3AuYm9keSkudGhlbiggYWIgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJmKSB7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBhcyA9IG5ldyBBdWRpb0J1ZmZlclNvdXJjZShhYik7XHJcbiAgICAgICAgICAgICAgICAgIFJlY29yZGluZ0ZpbGVVdGlscy5zZXRBdWRpb0RhdGEocmYsIG5ldyBBdWRpb0RhdGFIb2xkZXIoYXMpKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdSZWNvcmRpbmcgZmlsZSBvYmplY3QgbnVsbCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVidWdEZWxheSA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmYpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgIH0sIHRoaXMuZGVidWdEZWxheSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJmKTtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KS5jYXRjaChyZWFzb24gPT4ge29ic2VydmVyLmVycm9yKHJlYXNvbil9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcignUmVjZWl2ZWQgbm8gYXVkaW8gZGF0YScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3I6IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDQpIHtcclxuICAgICAgICAgICAgICAvLyBJbnRlcnByZXQgbm90IGFzIGFuIGVycm9yLCB0aGUgZmlsZSBpc3Qgbm90IHJlY29yZGVkIHlldFxyXG4gICAgICAgICAgICAgIG9ic2VydmVyLm5leHQobnVsbCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIC8vIGFsbCBvdGhlciBzdGF0ZXMgYXJlIGVycm9yc1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB3b2JzO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hTcHJSZWNvcmRpbmdGaWxlKCByZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcik6IE9ic2VydmFibGU8U3ByUmVjb3JkaW5nRmlsZSB8IG51bGw+IHtcclxuXHJcbiAgICBsZXQgd29icyA9IG5ldyBPYnNlcnZhYmxlPFNwclJlY29yZGluZ0ZpbGUgfCBudWxsPihvYnNlcnZlciA9PiB7XHJcbiAgICAgIGxldCByZjogU3ByUmVjb3JkaW5nRmlsZXxudWxsID0gbnVsbDtcclxuICAgICAgbGV0IHJmRGVzY3JPYnMgPSB0aGlzLnNwclJlY29yZGluZ0ZpbGVEZXNjck9ic2VydmVyKHJlY29yZGluZ0ZpbGVJZCk7XHJcbiAgICAgIHJmRGVzY3JPYnMuc3Vic2NyaWJlKHtuZXh0OnZhbHVlID0+IHtcclxuICAgICAgICByZiA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAsIGVycm9yOihlcnJvcikgPT4ge1xyXG4gICAgICAgIG9ic2VydmVyLmVycm9yKGVycm9yKTtcclxuICAgICAgfSwgY29tcGxldGU6KCkgPT4ge1xyXG4gICAgICAgIGxldCBzYW1wbGVDbnQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xyXG4gICAgICAgIGlmIChyZiAmJiByZi5jaGFubmVscyAmJiByZi5mcmFtZXMpIHtcclxuICAgICAgICAgIHNhbXBsZUNudCA9IHJmLmNoYW5uZWxzICogcmYuZnJhbWVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUT0RPIHVzZSBkb3dubG9hZCBzdG9yYWdlIHR5cGUgZGVwZW5kaW5nIG9uIHNhbXBsZSBjb3VudCBvZiBmaWxlXHJcbiAgICAgICAgaWYgKHJmICYmIHJmLnNhbXBsZXJhdGUgJiYgc2FtcGxlQ250ICE9IG51bGwgJiYgc2FtcGxlQ250ID4gdGhpcy5fbWF4QXV0b05ldE1lbVN0b3JlU2FtcGxlcykge1xyXG4gICAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMucmVjb0ZpbGVVcmwocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgICAgICAgIGNvbnN0IG9iTmV0QWIgPSB0aGlzLmNodW5rQXVkaW9SZXF1ZXN0VG9OZXRBdWRpb0J1ZmZlcihiYXNlVXJsLCAwLCByZj8uc2FtcGxlcmF0ZSwgQmFzaWNSZWNvcmRpbmdTZXJ2aWNlLkRFRkFVTFRfQ0hVTktFRF9ET1dOTE9BRF9TRUNPTkRTLCByZi5mcmFtZXMpO1xyXG4gICAgICAgICAgb2JOZXRBYi5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgbmV4dDogKG5hYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgYWRoID0gbmV3IEF1ZGlvRGF0YUhvbGRlcihuYWIpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAocmYpIHtcclxuICAgICAgICAgICAgICAgICAgICBSZWNvcmRpbmdGaWxlVXRpbHMuc2V0QXVkaW9EYXRhKHJmLCBhZGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmYpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDA0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW50ZXJwcmV0IG5vdCBhcyBhbiBlcnJvciwgdGhlIGZpbGUgaXN0IG5vdCByZWNvcmRlZCB5ZXRcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKClcclxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBhbGwgb3RoZXIgc3RhdGVzIGFyZSBlcnJvcnNcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICBsZXQgcmZBdWRpb09icyA9IHRoaXMuZmV0Y2hBdWRpb2ZpbGUocmVjb3JkaW5nRmlsZUlkKTtcclxuICAgICAgICAgIHJmQXVkaW9PYnMuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgIHtuZXh0OnJlc3AgPT5cclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgLy8gRG8gbm90IHVzZSBQcm9taXNlIHZlcnNpb24sIHdoaWNoIGRvZXMgbm90IHdvcmsgd2l0aCBTYWZhcmkgMTNcclxuICAgICAgICAgICAgaWYgKHJlc3AuYm9keSkge1xyXG4gICAgICAgICAgICAgIEF1ZGlvQ29udGV4dFByb3ZpZGVyLmRlY29kZUF1ZGlvRGF0YShyZXNwLmJvZHkpLnRoZW4oIGFiID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZikge1xyXG4gICAgICAgICAgICAgICAgICBsZXQgYXMgPSBuZXcgQXVkaW9CdWZmZXJTb3VyY2UoYWIpO1xyXG4gICAgICAgICAgICAgICAgICBsZXQgYWRoID0gbmV3IEF1ZGlvRGF0YUhvbGRlcihhcyk7XHJcbiAgICAgICAgICAgICAgICAgIFJlY29yZGluZ0ZpbGVVdGlscy5zZXRBdWRpb0RhdGEocmYsIGFkaCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcignUmVjb3JkaW5nIGZpbGUgb2JqZWN0IG51bGwnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlYnVnRGVsYXkgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHJmKTtcclxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICB9LCB0aGlzLmRlYnVnRGVsYXkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZik7XHJcbiAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSkuY2F0Y2gocmVhc29uID0+IHtvYnNlcnZlci5lcnJvcihyZWFzb24pfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoJ1JlY2VpdmVkIG5vIGF1ZGlvIGRhdGEnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICwgZXJyb3I6KGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwNCkge1xyXG4gICAgICAgICAgICAgIC8vIEludGVycHJldCBub3QgYXMgYW4gZXJyb3IsIHRoZSBmaWxlIGlzdCBub3QgcmVjb3JkZWQgeWV0XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHN0YXRlcyBhcmUgZXJyb3JzXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHdvYnM7XHJcbiAgfVxyXG5cclxuICBzYXZlRWRpdFNlbGVjdGlvbihyZWNvcmRpbmdGaWxlSWQ6IHN0cmluZyB8IG51bWJlcixlZGl0U2FtcGxlUmF0ZTpudW1iZXJ8bnVsbCxlZGl0U3RhcnRGcmFtZTpudW1iZXJ8bnVsbCxlZGl0RW5kRnJhbWU6bnVtYmVyfG51bGwpOiBPYnNlcnZhYmxlPFNwclJlY29yZGluZ0ZpbGUgfCBudWxsPiB7XHJcbiAgICBsZXQgcmVjVXJsID0gdGhpcy5hcGlFbmRQb2ludCArIFJlY29yZGluZ0ZpbGVTZXJ2aWNlLlJFQ09GSUxFX0FQSV9DVFggKyAnLycgKyByZWNvcmRpbmdGaWxlSWQ7XHJcbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuYXBpVHlwZSA9PT0gQXBpVHlwZS5GSUxFUykge1xyXG4gICAgICAvLyBmb3IgZGV2ZWxvcG1lbnQgYW5kIGRlbW9cclxuICAgICAgLy8gYXBwZW5kIFVVSUQgdG8gbWFrZSByZXF1ZXN0IFVSTCB1bmlxdWUgdG8gYXZvaWQgbG9jYWxob3N0IHNlcnZlciBjYWNoaW5nXHJcbiAgICAgIHJlY1VybCA9IHJlY1VybCArICcuanNvbj9yZXF1ZXN0VVVJRD0nK1VVSUQuZ2VuZXJhdGUoKTtcclxuICAgIH1cclxuICAgIC8vY29uc29sZS5sb2coXCJQYXRoIHJlcXVlc3QgVVJMOiBcIityZWNVcmwpXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNwclJlY29yZGluZ0ZpbGU+KHJlY1VybCx7ZWRpdFNhbXBsZVJhdGU6ZWRpdFNhbXBsZVJhdGUsZWRpdFN0YXJ0RnJhbWU6ZWRpdFN0YXJ0RnJhbWUsZWRpdEVuZEZyYW1lOmVkaXRFbmRGcmFtZX0seyB3aXRoQ3JlZGVudGlhbHM6IHRoaXMud2l0aENyZWRlbnRpYWxzIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG4iXX0=