speechrecorderng 2.23.2 → 2.23.6

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 (47) hide show
  1. package/esm2020/lib/audio/audio_display.mjs +3 -3
  2. package/esm2020/lib/audio/audio_player.mjs +3 -3
  3. package/esm2020/lib/audio/ui/audio_canvas_layer_comp.mjs +6 -6
  4. package/esm2020/lib/audio/ui/audio_display_control.mjs +3 -3
  5. package/esm2020/lib/audio/ui/audio_display_scroll_pane.mjs +3 -3
  6. package/esm2020/lib/audio/ui/audiosignal.mjs +3 -3
  7. package/esm2020/lib/audio/ui/container.mjs +3 -3
  8. package/esm2020/lib/audio/ui/livelevel.mjs +3 -3
  9. package/esm2020/lib/audio/ui/scroll_pane_horizontal.mjs +3 -3
  10. package/esm2020/lib/audio/ui/sonagram.mjs +3 -3
  11. package/esm2020/lib/speechrecorder/project/project.service.mjs +3 -3
  12. package/esm2020/lib/speechrecorder/recordings/recordings.service.mjs +3 -3
  13. package/esm2020/lib/speechrecorder/script/script.mjs +1 -1
  14. package/esm2020/lib/speechrecorder/script/script.service.mjs +3 -3
  15. package/esm2020/lib/speechrecorder/session/audiorecorder.mjs +3 -3
  16. package/esm2020/lib/speechrecorder/session/controlpanel.mjs +20 -20
  17. package/esm2020/lib/speechrecorder/session/progress.mjs +3 -3
  18. package/esm2020/lib/speechrecorder/session/prompting.mjs +15 -15
  19. package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +3 -3
  20. package/esm2020/lib/speechrecorder/session/recording_list.mjs +3 -3
  21. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +3 -3
  22. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +4 -4
  23. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +3 -3
  24. package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +3 -3
  25. package/esm2020/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +3 -3
  26. package/esm2020/lib/speechrecorder/session/session.service.mjs +3 -3
  27. package/esm2020/lib/speechrecorder/session/session_finished_dialog.mjs +3 -3
  28. package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +18 -19
  29. package/esm2020/lib/speechrecorder/session/warning_bar.mjs +3 -3
  30. package/esm2020/lib/speechrecorder/spruploader.mjs +3 -3
  31. package/esm2020/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +3 -3
  32. package/esm2020/lib/speechrecorderng.component.mjs +3 -3
  33. package/esm2020/lib/speechrecorderng.module.mjs +4 -4
  34. package/esm2020/lib/spr.config.mjs +3 -3
  35. package/esm2020/lib/spr.module.version.mjs +2 -2
  36. package/esm2020/lib/ui/canvas_layer_comp.mjs +3 -3
  37. package/esm2020/lib/ui/message_dialog.mjs +3 -3
  38. package/esm2020/lib/ui/recordingitem_display.mjs +6 -6
  39. package/esm2020/lib/utils/scrollIntoViewToBottom.mjs +3 -3
  40. package/fesm2015/speechrecorderng.mjs +163 -164
  41. package/fesm2015/speechrecorderng.mjs.map +1 -1
  42. package/fesm2020/speechrecorderng.mjs +163 -164
  43. package/fesm2020/speechrecorderng.mjs.map +1 -1
  44. package/lib/speechrecorder/script/script.d.ts +4 -2
  45. package/lib/speechrecorder/session/sessionmanager.d.ts +1 -0
  46. package/lib/spr.module.version.d.ts +1 -1
  47. package/package.json +14 -14
@@ -69,8 +69,8 @@ export class AudioDisplay {
69
69
  this.status = 'ERROR';
70
70
  }
71
71
  }
72
- AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
73
- AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
72
+ AudioDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplay, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
73
+ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
74
74
 
75
75
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
76
76
 
@@ -84,7 +84,7 @@ AudioDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
84
84
  [zoomSelectedAction]="zoomSelectedAction"
85
85
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
86
86
  `, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#e6e6e6}\n", "legend{margin-left:1em;padding:.2em .8em;font-size:.8em}\n", "fieldset{border:1px darkgray solid}\n"], components: [{ type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplay, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplay, decorators: [{
88
88
  type: Component,
89
89
  args: [{
90
90
  selector: 'app-audiodisplay',
@@ -208,8 +208,8 @@ export class AudioDisplayPlayer {
208
208
  this.status = 'ERROR';
209
209
  }
210
210
  }
211
- AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
212
- AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
211
+ AudioDisplayPlayer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayPlayer, deps: [{ token: i1.ActivatedRoute }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
212
+ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0, template: `
213
213
 
214
214
  <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>
215
215
 
@@ -223,7 +223,7 @@ AudioDisplayPlayer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
223
223
  [zoomSelectedAction]="zoomSelectedAction"
224
224
  [zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control><p>{{status}}
225
225
  `, isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;bottom:0px;height:100%;width:100%;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#000000bf}\n"], components: [{ type: i2.AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: i3.AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
226
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayPlayer, decorators: [{
227
227
  type: Component,
228
228
  args: [{
229
229
  selector: 'app-audiodisplayplayer',
@@ -144,9 +144,9 @@ export class BasicAudioCanvasLayerComponent extends CanvasLayerComponent {
144
144
  //});
145
145
  }
146
146
  }
147
- BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
148
- BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
147
+ BasicAudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: BasicAudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
148
+ BasicAudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0 });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: BasicAudioCanvasLayerComponent, decorators: [{
150
150
  type: Directive
151
151
  }] });
152
152
  export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
@@ -347,9 +347,9 @@ export class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
347
347
  }
348
348
  }
349
349
  }
350
- AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
351
- AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.1", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
350
+ AudioCanvasLayerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioCanvasLayerComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
351
+ AudioCanvasLayerComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 });
352
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioCanvasLayerComponent, decorators: [{
353
353
  type: Directive
354
354
  }], propDecorators: { bgCanvasRef: [{
355
355
  type: ViewChild,
@@ -37,8 +37,8 @@ export class AudioDisplayControl {
37
37
  this.status = 'ERROR';
38
38
  }
39
39
  }
40
- AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
- AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], ngImport: i0, template: `
40
+ AudioDisplayControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayControl, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
41
+ AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: MatCheckbox, descendants: true, static: true }], ngImport: i0, template: `
42
42
  <div #controlPanel style="display:flex;flex-direction: row;">
43
43
  <fieldset>
44
44
 
@@ -82,7 +82,7 @@ AudioDisplayControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
82
82
 
83
83
  </fieldset>
84
84
  </div>`, isInline: true, styles: [":host{flex:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayControl, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayControl, decorators: [{
86
86
  type: Component,
87
87
  args: [{
88
88
  selector: 'audio-display-control',
@@ -114,13 +114,13 @@ export class AudioDisplayScrollPane {
114
114
  this.ac.playFramePosition = framePos;
115
115
  }
116
116
  }
117
- AudioDisplayScrollPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayScrollPane, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
118
- AudioDisplayScrollPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0, template: `
117
+ AudioDisplayScrollPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayScrollPane, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
118
+ AudioDisplayScrollPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0, template: `
119
119
 
120
120
  <app-audio #audioSignalContainer (selectionEventEmitter)="selectionChanged($event)"></app-audio>
121
121
 
122
122
  `, isInline: true, styles: [":host{flex:2;width:100%;background:darkgray;box-sizing:border-box;height:100%;position:relative;overflow-x:scroll;overflow-y:auto}\n", "app-audio{margin:0;padding:0;top:0;left:0;width:100%;height:100%;box-sizing:border-box}\n"], components: [{ type: i1.AudioClipUIContainer, selector: "app-audio", inputs: ["audioData", "audioClip"], outputs: ["selectionEventEmitter"] }] });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioDisplayScrollPane, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioDisplayScrollPane, decorators: [{
124
124
  type: Component,
125
125
  args: [{
126
126
  selector: 'audio-display-scroll-pane',
@@ -300,14 +300,14 @@ export class AudioSignal extends AudioCanvasLayerComponent {
300
300
  this.playFramePosition = 0;
301
301
  }
302
302
  }
303
- AudioSignal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioSignal, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
304
- AudioSignal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioSignal, selector: "audio-signal", viewQueries: [{ propertyName: "audioSignalCanvasRef", first: true, predicate: ["audioSignal"], descendants: true, static: true }, { propertyName: "playPosCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
303
+ AudioSignal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioSignal, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
304
+ AudioSignal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioSignal, selector: "audio-signal", viewQueries: [{ propertyName: "audioSignalCanvasRef", first: true, predicate: ["audioSignal"], descendants: true, static: true }, { propertyName: "playPosCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
305
305
  <canvas #bg height="10"></canvas>
306
306
  <canvas #audioSignal height="10"></canvas>
307
307
  <canvas #cursor height="10" (mousedown)="selectionStart($event)" (mouseover)="updateCursorCanvas($event)" (mousemove)="updateCursorCanvas($event)"
308
308
  (mouseleave)="updateCursorCanvas($event, false)"></canvas>
309
309
  <canvas #marker height="10"></canvas>`, isInline: true, styles: [":host{min-height:0px}\n", "canvas{top:0;left:0;width:0;height:0;min-height:0px;position:absolute}\n"] });
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioSignal, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioSignal, decorators: [{
311
311
  type: Component,
312
312
  args: [{
313
313
  selector: 'audio-signal',
@@ -344,8 +344,8 @@ export class AudioClipUIContainer extends BasicAudioCanvasLayerComponent {
344
344
  }
345
345
  }
346
346
  AudioClipUIContainer.DIVIDER_PIXEL_SIZE = 10;
347
- AudioClipUIContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioClipUIContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
348
- AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioClipUIContainer, selector: "app-audio", inputs: { audioData: "audioData", audioClip: "audioClip" }, outputs: { selectionEventEmitter: "selectionEventEmitter" }, host: { listeners: { "window:resize": "onResize($event)", "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["divider"], descendants: true, static: true }, { propertyName: "ceRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "as", first: true, predicate: AudioSignal, descendants: true, static: true }, { propertyName: "so", first: true, predicate: Sonagram, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
347
+ AudioClipUIContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioClipUIContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
348
+ AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioClipUIContainer, selector: "app-audio", inputs: { audioData: "audioData", audioClip: "audioClip" }, outputs: { selectionEventEmitter: "selectionEventEmitter" }, host: { listeners: { "window:resize": "onResize($event)", "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["divider"], descendants: true, static: true }, { propertyName: "ceRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "as", first: true, predicate: AudioSignal, descendants: true, static: true }, { propertyName: "so", first: true, predicate: Sonagram, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
349
349
  <div #virtualCanvas>
350
350
  <canvas #divider (mousedown)="mousedown($event)" (mouseover)="mouseover($event)"
351
351
  (mouseleave)="mouseleave($event)" height="10"></canvas>
@@ -353,7 +353,7 @@ AudioClipUIContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
353
353
  <audio-sonagram [pointerPosition]="pointer" [selecting]="selecting" [selection]="selection" (pointerPositionEventEmitter)="pointerPositionChanged($event)" (selectingEventEmitter)="selectingChanged($event)" (selectedEventEmitter)="selectionChanged($event)"></audio-sonagram>
354
354
  </div>
355
355
  `, isInline: true, styles: ["div{margin:0;padding:0;top:0;left:0;width:100%;height:100%;position:relative;box-sizing:border-box;transform:none;overflow:hidden}\n", "canvas{top:0;left:0;width:0;height:0;cursor:ns-resize;position:absolute;zIndex:1;transform:none}\n", "audio-signal{top:0;left:0;position:absolute;zIndex:1;transform:none}\n", "audio-sonagram{top:0;left:0;position:absolute;zIndex:1;transform:none}\n"], components: [{ type: i1.AudioSignal, selector: "audio-signal" }, { type: i2.Sonagram, selector: "audio-sonagram" }] });
356
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioClipUIContainer, decorators: [{
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioClipUIContainer, decorators: [{
357
357
  type: Component,
358
358
  args: [{
359
359
  selector: 'app-audio',
@@ -281,14 +281,14 @@ export class LevelBar {
281
281
  }
282
282
  }
283
283
  }
284
- LevelBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: LevelBar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
285
- LevelBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: LevelBar, selector: "audio-levelbar", inputs: { streamingMode: "streamingMode", displayLevelInfos: "displayLevelInfos" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "virtualCanvasRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "liveLevelCanvasRef", first: true, predicate: ["levelbar"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["markerCanvas"], descendants: true, static: true }], ngImport: i0, template: `
284
+ LevelBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: LevelBar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
285
+ LevelBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: LevelBar, selector: "audio-levelbar", inputs: { streamingMode: "streamingMode", displayLevelInfos: "displayLevelInfos" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "virtualCanvasRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "liveLevelCanvasRef", first: true, predicate: ["levelbar"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["markerCanvas"], descendants: true, static: true }], ngImport: i0, template: `
286
286
  <div #virtualCanvas>
287
287
  <canvas #levelbar></canvas>
288
288
  <canvas #markerCanvas></canvas>
289
289
  </div>
290
290
  `, isInline: true, styles: [":host{width:100%;background:darkgray;box-sizing:border-box;height:100%;position:relative;overflow-x:scroll;overflow-y:auto}\n", "div{top:0;left:0;width:100%;height:100%;box-sizing:border-box}\n", "canvas{top:0;left:0;width:100%;height:100%;position:absolute}\n"] });
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: LevelBar, decorators: [{
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: LevelBar, decorators: [{
292
292
  type: Component,
293
293
  args: [{
294
294
  selector: 'audio-levelbar',
@@ -2,9 +2,9 @@ import { Component } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  export class ScrollPaneHorizontal {
4
4
  }
5
- ScrollPaneHorizontal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScrollPaneHorizontal, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- ScrollPaneHorizontal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0, template: '', isInline: true, styles: [":host{width:100%;background:darkgray;box-sizing:border-box;height:100%;position:relative;overflow-x:scroll;overflow-y:auto}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScrollPaneHorizontal, decorators: [{
5
+ ScrollPaneHorizontal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ScrollPaneHorizontal, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ ScrollPaneHorizontal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0, template: '', isInline: true, styles: [":host{width:100%;background:darkgray;box-sizing:border-box;height:100%;position:relative;overflow-x:scroll;overflow-y:auto}\n"] });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ScrollPaneHorizontal, decorators: [{
8
8
  type: Component,
9
9
  args: [{
10
10
  selector: 'scroll-pane-horizontal',
@@ -632,14 +632,14 @@ export class Sonagram extends AudioCanvasLayerComponent {
632
632
  //this.startRender();
633
633
  }
634
634
  }
635
- Sonagram.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Sonagram, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
636
- Sonagram.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: Sonagram, selector: "audio-sonagram", viewQueries: [{ propertyName: "sonagramCanvasRef", first: true, predicate: ["sonagram"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
635
+ Sonagram.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: Sonagram, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
636
+ Sonagram.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: Sonagram, selector: "audio-sonagram", viewQueries: [{ propertyName: "sonagramCanvasRef", first: true, predicate: ["sonagram"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
637
637
  <canvas #sonagram height="10"></canvas>
638
638
  <canvas #bg height="10"></canvas>
639
639
  <canvas #cursor height="10" (mousedown)="selectionStart($event)" (mouseover)="updateCursorCanvas($event)" (mousemove)="updateCursorCanvas($event)"
640
640
  (mouseleave)="updateCursorCanvas($event, false)"></canvas>
641
641
  <canvas #marker height="10"></canvas>`, isInline: true, styles: [":host{min-height:0px}\n", "canvas{top:0;left:0;width:0;height:0;min-height:0px;position:absolute}\n"] });
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Sonagram, decorators: [{
642
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: Sonagram, decorators: [{
643
643
  type: Component,
644
644
  args: [{
645
645
  selector: 'audio-sonagram',
@@ -53,9 +53,9 @@ export class ProjectService {
53
53
  }
54
54
  }
55
55
  ProjectService.PROJECT_API_CTX = 'project';
56
- ProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProjectService, deps: [{ token: i1.HttpClient }, { token: i2.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
57
- ProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProjectService });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProjectService, decorators: [{
56
+ ProjectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ProjectService, deps: [{ token: i1.HttpClient }, { token: i2.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ ProjectService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ProjectService });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ProjectService, decorators: [{
59
59
  type: Injectable
60
60
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.PlatformLocation }, { type: i3.SpeechRecorderConfig, decorators: [{
61
61
  type: Inject,
@@ -235,9 +235,9 @@ export class RecordingService {
235
235
  }
236
236
  RecordingService.REC_API_CTX = 'recfile';
237
237
  RecordingService.RECORDING_API_CTX = 'recordingfile';
238
- RecordingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
239
- RecordingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: RecordingService, decorators: [{
238
+ RecordingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: RecordingService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
239
+ RecordingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: RecordingService });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: RecordingService, decorators: [{
241
241
  type: Injectable
242
242
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
243
243
  type: Inject,
@@ -111,4 +111,4 @@ export class PromptitemUtil {
111
111
  return description;
112
112
  }
113
113
  }
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUZBLE1BQU0sT0FBTyxhQUFhO0lBRXhCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFtQjtRQUMxQyxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsR0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUcsQ0FBQyxJQUFFLElBQUksRUFBRTtZQUNWLElBQUksSUFBSSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7WUFDakIsSUFBRyxJQUFJLEVBQUU7Z0JBQ1AsS0FBSSxJQUFJLEdBQUcsR0FBQyxDQUFDLEVBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsR0FBRyxFQUFFLEVBQUM7b0JBQ2xDLElBQUksR0FBRyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsSUFBSSxJQUFJLEdBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDbkIsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUM7d0JBQzdCLElBQUksS0FBSyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkIsSUFBSSxHQUFHLEdBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBQzs0QkFDeEIsSUFBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUM7Z0NBQ3pCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFTLEdBQUcsQ0FBQyxDQUFDOzZCQUM3QjtpQ0FBSTtnQ0FDSCxJQUFJLFFBQVEsR0FBTyxHQUFHLENB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Q3BCLElBQUksT0FBTyxHQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0M7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQXNCO1FBRTdDLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksR0FBRyxFQUFFO1lBRVAsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtvQkFDbkIsZ0JBQWdCO29CQUNoQixXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIE1vZGUgPSBcIk1BTlVBTFwiIHwgXCJBVVRPUFJPR1JFU1NcIiB8IFwiQVVUT1JFQ09SRElOR1wiO1xyXG5leHBvcnQgdHlwZSBQcm9tcHRQaGFzZSA9IFwiSURMRVwiIHwgXCJQUkVSRUNPUkRJTkdcIiB8IFwiUFJFUkVDT1JESU5HT05MWVwiIHwgXCJSRUNPUkRJTkdcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyID0gJ1NFUVVFTlRJQUwnIHwgJ1JBTkRPTScgfCAnUkFORE9NSVpFRCc7XHJcblxyXG5leHBvcnQgdHlwZSBEZWNvcmF0aW9uID0ndW5kZXJsaW5lJ1xyXG5leHBvcnQgdHlwZSBTdHlsZSA9J2l0YWxpYycgfCAnbm9ybWFsJ1xyXG5leHBvcnQgdHlwZSBGb250V2VpZ2h0PSdub3JtYWwnIHwgJ2JvbGQnXHJcbmV4cG9ydCB0eXBlIEJsb2NrVHlwZT0ncCc7XHJcbmV4cG9ydCB0eXBlIFRleHRUeXBlPSd0ZXh0JyB8ICdmb250JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjaW5zdHJ1Y3Rpb25ze1xyXG4gIHJlY2luc3RydWN0aW9uczpzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dCB7XHJcbiAgdHlwZTogVGV4dFR5cGUsXHJcbiAgY29sb3I/IDogc3RyaW5nLFxyXG4gIGRlY29yYXRpb24/IDogRGVjb3JhdGlvbixcclxuICBzaXplPzogc3RyaW5nLFxyXG4gIHdlaWdodD86IEZvbnRXZWlnaHQsXHJcbiAgc3R5bGU/OiBTdHlsZSxcclxuICB0ZXh0IDogc3RyaW5nIHwgVGV4dDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCbG9jayB7XHJcbiAgdHlwZTogQmxvY2tUeXBlLFxyXG4gIHRleHRzOiBBcnJheTxUZXh0PlxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQm9keXtcclxuICBibG9ja3M/OiBBcnJheTxCbG9jaz4sXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0RG9je1xyXG4gIGJvZHk/OiBCb2R5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFpdGVtIHtcclxuICB0ZXh0Pzogc3RyaW5nLFxyXG4gIHNyYz86IHN0cmluZyxcclxuICBwcm9tcHREb2M/OiBQcm9tcHREb2MsXHJcbiAgbWltZXR5cGU/OnN0cmluZyxcclxuICBkZWZhdWx0VmlydHVhbFZpZXdCb3g/OlZpcnR1YWxWaWV3Qm94LFxyXG4gIGFsdD86c3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0SXRlbSB7XHJcbiAgdHlwZT86c3RyaW5nO1xyXG4gIGl0ZW1jb2RlPzogc3RyaW5nLFxyXG4gIHByZXJlY29yZGluZzogbnVtYmVyLFxyXG4gIHJlY2R1cmF0aW9uPzogbnVtYmVyLFxyXG4gIHBvc3RyZWNvcmRpbmc6IG51bWJlcixcclxuICByZWNpbnN0cnVjdGlvbnM/OiBSZWNpbnN0cnVjdGlvbnMsXHJcbiAgbWVkaWFpdGVtczogQXJyYXk8TWVkaWFpdGVtPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcclxuICBvcmRlcj86T3JkZXI7XHJcbiAgcHJvbXB0SXRlbXM6IEFycmF5PFByb21wdEl0ZW0+O1xyXG4gIF9zaHVmZmxlZFByb21wdEl0ZW1zOiBBcnJheTxQcm9tcHRJdGVtPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uIHtcclxuICBtb2RlOiBNb2RlO1xyXG4gIHByb21wdHBoYXNlOiBQcm9tcHRQaGFzZTtcclxuICBvcmRlcj86IE9yZGVyO1xyXG4gIHRyYWluaW5nOiBib29sZWFuO1xyXG4gIGdyb3VwczogQXJyYXk8R3JvdXA+O1xyXG4gIF9zaHVmZmxlZEdyb3VwczogQXJyYXk8R3JvdXA+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpcnR1YWxWaWV3Qm94e1xyXG4gIGhlaWdodDpudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0IHtcclxuICB2aXJ0dWFsVmlld0JveD86VmlydHVhbFZpZXdCb3g7XHJcbiAgc2VjdGlvbnM6IEFycmF5PFNlY3Rpb24+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvbXB0RG9jVXRpbHtcclxuXHJcbiAgc3RhdGljIHRvUGxhaW5UZXh0U3RyaW5nKHByb21wdERvYzpQcm9tcHREb2MpOnN0cmluZ3tcclxuICAgIGxldCBwdD1cIlwiO1xyXG4gICAgbGV0IGI9cHJvbXB0RG9jLmJvZHk7XHJcbiAgICBpZihiIT1udWxsKSB7XHJcbiAgICAgIGxldCBibGtzPWIuYmxvY2tzXHJcbiAgICAgIGlmKGJsa3MpIHtcclxuICAgICAgICBmb3IobGV0IGJsaT0wO2JsaTxibGtzLmxlbmd0aDtibGkrKyl7XHJcbiAgICAgICAgICBsZXQgYmxrPWJsa3NbYmxpXTtcclxuICAgICAgICAgIGxldCB0eHRzPWJsay50ZXh0cztcclxuICAgICAgICAgIGZvcihsZXQgdGk9MDt0aTx0eHRzLmxlbmd0aDt0aSsrKXtcclxuICAgICAgICAgICAgICBsZXQgdHh0RWw9dHh0c1t0aV07XHJcbiAgICAgICAgICAgICAgbGV0IHR4dCA9dHh0RWwudGV4dDtcclxuICAgICAgICAgICAgaWYoIHR4dEVsLnR5cGUgPT09ICdmb250Jyl7XHJcbiAgICAgICAgICAgICAgaWYodHlwZW9mIHR4dCA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgICAgICAgcHQgPSBwdC5jb25jYXQoPHN0cmluZz50eHQpO1xyXG4gICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1YlR4dEVsPTxUZXh0PnR4dDtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJUeHQ9c3ViVHh0RWwudGV4dDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGVvZiBzdWJUeHQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgIHB0PXB0LmNvbmNhdChzdWJUeHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfWVsc2UgaWYodHlwZW9mIHR4dCA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgICAgIHB0ID0gcHQuY29uY2F0KDxzdHJpbmc+dHh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHB0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1lZGlhaXRlbVV0aWwge1xyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhtZWRpYWl0ZW06IE1lZGlhaXRlbSk6IHN0cmluZ3xudWxsIHtcclxuXHJcbiAgICBsZXQgdHh0ID0gbWVkaWFpdGVtLnRleHQ7XHJcbiAgICBsZXQgcGQgPSBtZWRpYWl0ZW0ucHJvbXB0RG9jO1xyXG4gICAgaWYgKHR4dCA9PSBudWxsKSB7XHJcbiAgICAgIGxldCBwdCA9IG51bGw7XHJcbiAgICAgIGlmIChwZCAhPSBudWxsKSB7XHJcbiAgICAgICAgcHQgPSBQcm9tcHREb2NVdGlsLnRvUGxhaW5UZXh0U3RyaW5nKHBkKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlc2NyaXB0aW9uKG1pOiBNZWRpYWl0ZW0pOiBzdHJpbmcge1xyXG4gICAgbGV0IGRlc2NyaXB0aW9uID0gXCJcIjtcclxuXHJcbiAgICBpZiAobWkuYWx0ICE9IG51bGwpIHtcclxuICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQobWkuYWx0KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHNyYyA9IG1pLnNyYztcclxuICAgICAgbGV0IG1pbWVUeXBlID0gbWkubWltZXR5cGU7XHJcbiAgICAgIGlmICghbWltZVR5cGUpIHtcclxuICAgICAgICBtaW1lVHlwZSA9ICd0ZXh0L3BsYWluJztcclxuICAgICAgfVxyXG4gICAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aChcImltYWdlXCIpKSB7XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCJJTUFHRTogXCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKG1pbWVUeXBlLnN0YXJ0c1dpdGgoXCJhdWRpb1wiKSkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiQVVESU86IFwiKTtcclxuICAgICAgfSBlbHNlIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKFwidmlkZW9cIikpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChcIlZJREVPOiBcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHByb21wdFRleHQgPSBNZWRpYWl0ZW1VdGlsLnRvUGxhaW5UZXh0U3RyaW5nKG1pKTtcclxuICAgICAgaWYgKHByb21wdFRleHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KHByb21wdFRleHQpO1xyXG4gICAgICB9IGVsc2UgaWYgKHNyYyAhPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IHNyY1BuO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsZXQgc3JjVXJsID0gbmV3IFVSTChzcmMpO1xyXG4gICAgICAgICAgc3JjUG49c3JjVXJsLnBhdGhuYW1lO1xyXG4gICAgICAgIH1jYXRjaHtcclxuICAgICAgICAgIHNyY1BuPXNyYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEdldCBmaWxlbmFtZSB3aXRob3V0IGV4dGVuc2lvblxyXG4gICAgICAgIGxldCBzcmNGbk09c3JjUG4ubWF0Y2goLyhbXlxcL10qKSQvKTtcclxuICAgICAgICBpZihzcmNGbk0gJiYgc3JjRm5NLmxlbmd0aD09Mil7XHJcbiAgICAgICAgICBsZXQgc3JjRm49c3JjRm5NWzFdO1xyXG4gICAgICAgICAgbGV0IHNyY0ZuTm09c3JjRm4ucmVwbGFjZSgvW1xcLl1bXlxcLl0qLywnJyk7XHJcbiAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChzcmNGbk5tKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9tcHRpdGVtVXRpbCB7XHJcbiAgc3RhdGljIHRvUGxhaW5UZXh0U3RyaW5nKHByb21wdEl0ZW06IFByb21wdEl0ZW0pOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCBtaXMgPSBwcm9tcHRJdGVtLm1lZGlhaXRlbXM7XHJcbiAgICBsZXQgZGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgaWYgKG1pcykge1xyXG5cclxuICAgICAgbGV0IG1pc1NpemUgPSBtaXMubGVuZ3RoO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pc1NpemU7IGkrKykge1xyXG4gICAgICAgIGxldCBtaSA9IG1pc1tpXTtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChNZWRpYWl0ZW1VdGlsLmRlc2NyaXB0aW9uKG1pKSk7XHJcbiAgICAgICAgaWYgKGkgKyAxIDwgbWlzU2l6ZSkge1xyXG4gICAgICAgICAgLy8gbm90IGxhc3QgaXRlbVxyXG4gICAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCIsIFwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUZBLE1BQU0sT0FBTyxhQUFhO0lBRXhCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFtQjtRQUMxQyxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7UUFDVixJQUFJLENBQUMsR0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3JCLElBQUcsQ0FBQyxJQUFFLElBQUksRUFBRTtZQUNWLElBQUksSUFBSSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUE7WUFDakIsSUFBRyxJQUFJLEVBQUU7Z0JBQ1AsS0FBSSxJQUFJLEdBQUcsR0FBQyxDQUFDLEVBQUMsR0FBRyxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsR0FBRyxFQUFFLEVBQUM7b0JBQ2xDLElBQUksR0FBRyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsSUFBSSxJQUFJLEdBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztvQkFDbkIsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLElBQUksQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUM7d0JBQzdCLElBQUksS0FBSyxHQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDbkIsSUFBSSxHQUFHLEdBQUUsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBQzs0QkFDeEIsSUFBRyxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUM7Z0NBQ3pCLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFTLEdBQUcsQ0FBQyxDQUFDOzZCQUM3QjtpQ0FBSTtnQ0FDSCxJQUFJLFFBQVEsR0FBTyxHQUFHLENB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Q3BCLElBQUksT0FBTyxHQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUMzQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0M7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFVBQXNCO1FBRTdDLElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUM7UUFDaEMsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksR0FBRyxFQUFFO1lBRVAsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRTtvQkFDbkIsZ0JBQWdCO29CQUNoQixXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCB0eXBlIE1vZGUgPSBcIk1BTlVBTFwiIHwgXCJBVVRPUFJPR1JFU1NcIiB8IFwiQVVUT1JFQ09SRElOR1wiO1xyXG5leHBvcnQgdHlwZSBQcm9tcHRQaGFzZSA9IFwiSURMRVwiIHwgXCJQUkVSRUNPUkRJTkdcIiB8IFwiUFJFUkVDT1JESU5HT05MWVwiIHwgXCJSRUNPUkRJTkdcIjtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyID0gJ1NFUVVFTlRJQUwnIHwgJ1JBTkRPTScgfCAnUkFORE9NSVpFRCc7XHJcblxyXG5leHBvcnQgdHlwZSBEZWNvcmF0aW9uID0ndW5kZXJsaW5lJ1xyXG5leHBvcnQgdHlwZSBTdHlsZSA9J2l0YWxpYycgfCAnbm9ybWFsJ1xyXG5leHBvcnQgdHlwZSBGb250V2VpZ2h0PSdub3JtYWwnIHwgJ2JvbGQnXHJcbmV4cG9ydCB0eXBlIEJsb2NrVHlwZT0ncCc7XHJcbmV4cG9ydCB0eXBlIFRleHRUeXBlPSd0ZXh0JyB8ICdmb250JztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjaW5zdHJ1Y3Rpb25ze1xyXG4gIHJlY2luc3RydWN0aW9uczpzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dCB7XHJcbiAgdHlwZTogVGV4dFR5cGUsXHJcbiAgY29sb3I/IDogc3RyaW5nLFxyXG4gIGRlY29yYXRpb24/IDogRGVjb3JhdGlvbixcclxuICBzaXplPzogc3RyaW5nLFxyXG4gIHdlaWdodD86IEZvbnRXZWlnaHQsXHJcbiAgc3R5bGU/OiBTdHlsZSxcclxuICB0ZXh0IDogc3RyaW5nIHwgVGV4dDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCbG9jayB7XHJcbiAgdHlwZTogQmxvY2tUeXBlLFxyXG4gIHRleHRzOiBBcnJheTxUZXh0PlxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQm9keXtcclxuICBibG9ja3M/OiBBcnJheTxCbG9jaz4sXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0RG9je1xyXG4gIGJvZHk/OiBCb2R5XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFpdGVtIHtcclxuICB0ZXh0Pzogc3RyaW5nLFxyXG4gIHNyYz86IHN0cmluZyxcclxuICBwcm9tcHREb2M/OiBQcm9tcHREb2MsXHJcbiAgbWltZXR5cGU/OnN0cmluZyxcclxuICBkZWZhdWx0VmlydHVhbFZpZXdCb3g/OlZpcnR1YWxWaWV3Qm94LFxyXG4gIGFsdD86c3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0SXRlbSB7XHJcbiAgdHlwZT86c3RyaW5nO1xyXG4gIGl0ZW1jb2RlPzogc3RyaW5nLFxyXG4gIHByZXJlY2RlbGF5PzogbnVtYmVyLFxyXG4gIHByZXJlY29yZGluZz86IG51bWJlcixcclxuICByZWNkdXJhdGlvbj86IG51bWJlcixcclxuICBwb3N0cmVjb3JkaW5nPzogbnVtYmVyLFxyXG4gIHBvc3RyZWNkZWxheT86IG51bWJlcixcclxuICByZWNpbnN0cnVjdGlvbnM/OiBSZWNpbnN0cnVjdGlvbnMsXHJcbiAgbWVkaWFpdGVtczogQXJyYXk8TWVkaWFpdGVtPlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwIHtcclxuICBvcmRlcj86T3JkZXI7XHJcbiAgcHJvbXB0SXRlbXM6IEFycmF5PFByb21wdEl0ZW0+O1xyXG4gIF9zaHVmZmxlZFByb21wdEl0ZW1zOiBBcnJheTxQcm9tcHRJdGVtPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uIHtcclxuICBtb2RlOiBNb2RlO1xyXG4gIHByb21wdHBoYXNlOiBQcm9tcHRQaGFzZTtcclxuICBvcmRlcj86IE9yZGVyO1xyXG4gIHRyYWluaW5nOiBib29sZWFuO1xyXG4gIGdyb3VwczogQXJyYXk8R3JvdXA+O1xyXG4gIF9zaHVmZmxlZEdyb3VwczogQXJyYXk8R3JvdXA+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpcnR1YWxWaWV3Qm94e1xyXG4gIGhlaWdodDpudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0IHtcclxuICB2aXJ0dWFsVmlld0JveD86VmlydHVhbFZpZXdCb3g7XHJcbiAgc2VjdGlvbnM6IEFycmF5PFNlY3Rpb24+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJvbXB0RG9jVXRpbHtcclxuXHJcbiAgc3RhdGljIHRvUGxhaW5UZXh0U3RyaW5nKHByb21wdERvYzpQcm9tcHREb2MpOnN0cmluZ3tcclxuICAgIGxldCBwdD1cIlwiO1xyXG4gICAgbGV0IGI9cHJvbXB0RG9jLmJvZHk7XHJcbiAgICBpZihiIT1udWxsKSB7XHJcbiAgICAgIGxldCBibGtzPWIuYmxvY2tzXHJcbiAgICAgIGlmKGJsa3MpIHtcclxuICAgICAgICBmb3IobGV0IGJsaT0wO2JsaTxibGtzLmxlbmd0aDtibGkrKyl7XHJcbiAgICAgICAgICBsZXQgYmxrPWJsa3NbYmxpXTtcclxuICAgICAgICAgIGxldCB0eHRzPWJsay50ZXh0cztcclxuICAgICAgICAgIGZvcihsZXQgdGk9MDt0aTx0eHRzLmxlbmd0aDt0aSsrKXtcclxuICAgICAgICAgICAgICBsZXQgdHh0RWw9dHh0c1t0aV07XHJcbiAgICAgICAgICAgICAgbGV0IHR4dCA9dHh0RWwudGV4dDtcclxuICAgICAgICAgICAgaWYoIHR4dEVsLnR5cGUgPT09ICdmb250Jyl7XHJcbiAgICAgICAgICAgICAgaWYodHlwZW9mIHR4dCA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgICAgICAgcHQgPSBwdC5jb25jYXQoPHN0cmluZz50eHQpO1xyXG4gICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgbGV0IHN1YlR4dEVsPTxUZXh0PnR4dDtcclxuICAgICAgICAgICAgICAgIGxldCBzdWJUeHQ9c3ViVHh0RWwudGV4dDtcclxuICAgICAgICAgICAgICAgIGlmKHR5cGVvZiBzdWJUeHQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgIHB0PXB0LmNvbmNhdChzdWJUeHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfWVsc2UgaWYodHlwZW9mIHR4dCA9PT0gJ3N0cmluZycpe1xyXG4gICAgICAgICAgICAgIHB0ID0gcHQuY29uY2F0KDxzdHJpbmc+dHh0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHB0O1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE1lZGlhaXRlbVV0aWwge1xyXG4gIHN0YXRpYyB0b1BsYWluVGV4dFN0cmluZyhtZWRpYWl0ZW06IE1lZGlhaXRlbSk6IHN0cmluZ3xudWxsIHtcclxuXHJcbiAgICBsZXQgdHh0ID0gbWVkaWFpdGVtLnRleHQ7XHJcbiAgICBsZXQgcGQgPSBtZWRpYWl0ZW0ucHJvbXB0RG9jO1xyXG4gICAgaWYgKHR4dCA9PSBudWxsKSB7XHJcbiAgICAgIGxldCBwdCA9IG51bGw7XHJcbiAgICAgIGlmIChwZCAhPSBudWxsKSB7XHJcbiAgICAgICAgcHQgPSBQcm9tcHREb2NVdGlsLnRvUGxhaW5UZXh0U3RyaW5nKHBkKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcHQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRlc2NyaXB0aW9uKG1pOiBNZWRpYWl0ZW0pOiBzdHJpbmcge1xyXG4gICAgbGV0IGRlc2NyaXB0aW9uID0gXCJcIjtcclxuXHJcbiAgICBpZiAobWkuYWx0ICE9IG51bGwpIHtcclxuICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQobWkuYWx0KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHNyYyA9IG1pLnNyYztcclxuICAgICAgbGV0IG1pbWVUeXBlID0gbWkubWltZXR5cGU7XHJcbiAgICAgIGlmICghbWltZVR5cGUpIHtcclxuICAgICAgICBtaW1lVHlwZSA9ICd0ZXh0L3BsYWluJztcclxuICAgICAgfVxyXG4gICAgICBpZiAobWltZVR5cGUuc3RhcnRzV2l0aChcImltYWdlXCIpKSB7XHJcbiAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCJJTUFHRTogXCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKG1pbWVUeXBlLnN0YXJ0c1dpdGgoXCJhdWRpb1wiKSkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KFwiQVVESU86IFwiKTtcclxuICAgICAgfSBlbHNlIGlmIChtaW1lVHlwZS5zdGFydHNXaXRoKFwidmlkZW9cIikpIHtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChcIlZJREVPOiBcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHByb21wdFRleHQgPSBNZWRpYWl0ZW1VdGlsLnRvUGxhaW5UZXh0U3RyaW5nKG1pKTtcclxuICAgICAgaWYgKHByb21wdFRleHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24uY29uY2F0KHByb21wdFRleHQpO1xyXG4gICAgICB9IGVsc2UgaWYgKHNyYyAhPSBudWxsKSB7XHJcbiAgICAgICAgbGV0IHNyY1BuO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBsZXQgc3JjVXJsID0gbmV3IFVSTChzcmMpO1xyXG4gICAgICAgICAgc3JjUG49c3JjVXJsLnBhdGhuYW1lO1xyXG4gICAgICAgIH1jYXRjaHtcclxuICAgICAgICAgIHNyY1BuPXNyYztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEdldCBmaWxlbmFtZSB3aXRob3V0IGV4dGVuc2lvblxyXG4gICAgICAgIGxldCBzcmNGbk09c3JjUG4ubWF0Y2goLyhbXlxcL10qKSQvKTtcclxuICAgICAgICBpZihzcmNGbk0gJiYgc3JjRm5NLmxlbmd0aD09Mil7XHJcbiAgICAgICAgICBsZXQgc3JjRm49c3JjRm5NWzFdO1xyXG4gICAgICAgICAgbGV0IHNyY0ZuTm09c3JjRm4ucmVwbGFjZSgvW1xcLl1bXlxcLl0qLywnJyk7XHJcbiAgICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChzcmNGbk5tKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9tcHRpdGVtVXRpbCB7XHJcbiAgc3RhdGljIHRvUGxhaW5UZXh0U3RyaW5nKHByb21wdEl0ZW06IFByb21wdEl0ZW0pOiBzdHJpbmcge1xyXG5cclxuICAgIGxldCBtaXMgPSBwcm9tcHRJdGVtLm1lZGlhaXRlbXM7XHJcbiAgICBsZXQgZGVzY3JpcHRpb24gPSBcIlwiO1xyXG4gICAgaWYgKG1pcykge1xyXG5cclxuICAgICAgbGV0IG1pc1NpemUgPSBtaXMubGVuZ3RoO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pc1NpemU7IGkrKykge1xyXG4gICAgICAgIGxldCBtaSA9IG1pc1tpXTtcclxuICAgICAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLmNvbmNhdChNZWRpYWl0ZW1VdGlsLmRlc2NyaXB0aW9uKG1pKSk7XHJcbiAgICAgICAgaWYgKGkgKyAxIDwgbWlzU2l6ZSkge1xyXG4gICAgICAgICAgLy8gbm90IGxhc3QgaXRlbVxyXG4gICAgICAgICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5jb25jYXQoXCIsIFwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
@@ -36,9 +36,9 @@ export class ScriptService {
36
36
  return this.http.get(scriptUrl, { withCredentials: this.withCredentials });
37
37
  }
38
38
  }
39
- ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
40
- ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ScriptService, decorators: [{
39
+ ScriptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ScriptService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
40
+ ScriptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ScriptService });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ScriptService, decorators: [{
42
42
  type: Injectable
43
43
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
44
44
  type: Inject,
@@ -725,8 +725,8 @@ export class AudioRecorder extends BasicRecorder {
725
725
  }
726
726
  }
727
727
  }
728
- AudioRecorder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioRecorder, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i2.MatDialog }, { token: i3.ProjectService }, { token: i4.SessionService }, { token: i5.RecordingService }, { token: i6.SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
729
- AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: AudioRecorder, selector: "app-audiorecorder", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "recorderCombiPane", first: true, predicate: RecorderCombiPane, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBar, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
728
+ AudioRecorder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioRecorder, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i2.MatDialog }, { token: i3.ProjectService }, { token: i4.SessionService }, { token: i5.RecordingService }, { token: i6.SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
729
+ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: AudioRecorder, selector: "app-audiorecorder", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "recorderCombiPane", first: true, predicate: RecorderCombiPane, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBar, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
730
730
  <app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
731
731
  <app-warningbar [show]="isDefaultAudioTestSession()"
732
732
  warningText="This test uses default audio device! Regular sessions may require a particular audio device (microphone)!"></app-warningbar>
@@ -783,7 +783,7 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
783
783
  </div>
784
784
  </div>
785
785
  `, isInline: true, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100%}\n", ".dark{background:darkgray}\n", ".controlpanel{align-content:center;align-items:center;margin:0;padding:20px;min-height:-webkit-min-content;min-height:min-content}\n", ".startstop{width:100%;text-align:center;align-content:center;align-items:center}\n", ".bigbutton{min-width:70px;min-height:50px;font-size:50px;border-radius:20px}\n"], components: [{ type: i7.WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }, { type: i8.RecorderCombiPane, selector: "app-recordercombipane", inputs: ["selectDisabled", "selectedRecordingFile", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["selectedRecordingFileChanged"] }, { type: i9.LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: i10.RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: i11.UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: i11.ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { type: i11.StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: i12.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i14.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i15.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i16.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i14.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i16.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i15.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: AudioRecorder, decorators: [{
786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: AudioRecorder, decorators: [{
787
787
  type: Component,
788
788
  args: [{
789
789
  selector: 'app-audiorecorder',
@@ -16,14 +16,14 @@ export class StatusDisplay {
16
16
  this.statusWaiting = false;
17
17
  }
18
18
  }
19
- StatusDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: StatusDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- StatusDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0, template: `
19
+ StatusDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: StatusDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ StatusDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0, template: `
21
21
  <p matTooltip="Status">
22
22
  <mat-progress-spinner *ngIf="statusWaiting" color="black" mode="indeterminate" [diameter]="30" [strokeWidth]="5"></mat-progress-spinner><mat-icon *ngIf="statusAlertType==='error'" style="color:red">report_problem</mat-icon>
23
23
  {{statusMsg}}
24
24
  </p>
25
- `, isInline: true, styles: [":host{display:inline;text-align:left;font-size:smaller}\n", "p{padding:4px;white-space:nowrap;display:inline-block}\n", "mat-progress-spinner{color:#000;display:inline-block}\n", "span{color:red}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: StatusDisplay, decorators: [{
25
+ `, isInline: true, styles: [":host{display:inline;text-align:left;font-size:smaller}\n", "p{padding:4px;white-space:nowrap;display:inline-block}\n", "mat-progress-spinner{color:#000;display:inline-block}\n", "span{color:red}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: StatusDisplay, decorators: [{
27
27
  type: Component,
28
28
  args: [{
29
29
  selector: 'app-sprstatusdisplay',
@@ -108,11 +108,11 @@ export class UploadStatus {
108
108
  return this._status;
109
109
  }
110
110
  }
111
- UploadStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: UploadStatus, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- UploadStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0, template: `
111
+ UploadStatus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: UploadStatus, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
+ UploadStatus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0, template: `
113
113
  <mat-progress-spinner [mode]="spinnerMode" [color]="status" [diameter]="30" [strokeWidth]="5" [value]="_value" [matTooltip]="toolTipText"></mat-progress-spinner>
114
- `, isInline: true, styles: [":host{flex:1;text-align:left}\n", "mat-progress-spinner{display:inline-block}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: UploadStatus, decorators: [{
114
+ `, isInline: true, styles: [":host{flex:1;text-align:left}\n", "mat-progress-spinner{display:inline-block}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: UploadStatus, decorators: [{
116
116
  type: Component,
117
117
  args: [{
118
118
  selector: 'app-uploadstatus',
@@ -140,11 +140,11 @@ export class ProgressDisplay {
140
140
  this.progressMsg = '[itemcode]';
141
141
  }
142
142
  }
143
- ProgressDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProgressDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
144
- ProgressDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0, template: `
143
+ ProgressDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ProgressDisplay, deps: [], target: i0.ɵɵFactoryTarget.Component });
144
+ ProgressDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0, template: `
145
145
  <p>{{progressMsg}}</p>
146
146
  `, isInline: true, styles: [":host{flex:1;width:100%;text-align:left}\n"] });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ProgressDisplay, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ProgressDisplay, decorators: [{
148
148
  type: Component,
149
149
  args: [{
150
150
  selector: 'app-sprprogressdisplay',
@@ -244,8 +244,8 @@ export class TransportPanel {
244
244
  }
245
245
  }
246
246
  }
247
- TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
248
- TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled", pausingEnabled: "pausingEnabled" }, ngImport: i0, template: `
247
+ TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
248
+ TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled", pausingEnabled: "pausingEnabled" }, ngImport: i0, template: `
249
249
  <button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
250
250
  mat-raised-button>
251
251
  <mat-icon>chevron_left</mat-icon>
@@ -266,7 +266,7 @@ TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
266
266
  </button>
267
267
 
268
268
  `, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n", "button{touch-action:manipulation}\n"], components: [{ type: i5.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: TransportPanel, decorators: [{
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TransportPanel, decorators: [{
270
270
  type: Component,
271
271
  args: [{
272
272
  selector: 'app-sprtransport',
@@ -333,11 +333,11 @@ export class ReadyStateIndicator {
333
333
  return this._ready;
334
334
  }
335
335
  }
336
- ReadyStateIndicator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ReadyStateIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
337
- ReadyStateIndicator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0, template: `
336
+ ReadyStateIndicator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ReadyStateIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component });
337
+ ReadyStateIndicator.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0, template: `
338
338
  <mat-icon [matTooltip]="readyStateToolTip">{{hourGlassIconName}}</mat-icon>
339
339
  `, isInline: true, components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ReadyStateIndicator, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ReadyStateIndicator, decorators: [{
341
341
  type: Component,
342
342
  args: [{
343
343
  selector: 'app-readystateindicator',
@@ -363,8 +363,8 @@ export class ControlPanel {
363
363
  return this._ready;
364
364
  }
365
365
  }
366
- ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ControlPanel, deps: [{ token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
367
- ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", navigationEnabled: "navigationEnabled", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0, template: `
366
+ ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ControlPanel, deps: [{ token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
367
+ ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", navigationEnabled: "navigationEnabled", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0, template: `
368
368
  <div fxHide.xs fxLayout="row" >
369
369
  <app-sprstatusdisplay fxFlex="0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
370
370
  class="hidden-xs"></app-sprstatusdisplay>
@@ -385,7 +385,7 @@ ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
385
385
 
386
386
  </div>
387
387
  `, isInline: true, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:-webkit-min-content;min-height:min-content}\n"], components: [{ type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled", "pausingEnabled"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }], directives: [{ type: i6.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }] });
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: ControlPanel, decorators: [{
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ControlPanel, decorators: [{
389
389
  type: Component,
390
390
  args: [{
391
391
  selector: 'app-sprcontrolpanel',
@@ -28,8 +28,8 @@ export class Progress {
28
28
  }
29
29
  }
30
30
  }
31
- Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.1", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0, template: `
31
+ Progress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: Progress, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0, template: `
33
33
 
34
34
  <table class="mat-typography">
35
35
  <thead>
@@ -57,7 +57,7 @@ Progress.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
57
57
  </tbody>
58
58
  </table>
59
59
  `, isInline: true, styles: [":host{overflow-x:hidden;overflow-y:scroll;padding:10pt;flex:.1 0 content;background:white;min-height:1px}\n", "table{min-height:1px;border-collapse:collapse}table,th,td{border:1px solid lightgrey;padding:.5em}\n", ".selRow{background:lightblue}\n", ".promptDescriptor{max-width:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.1", ngImport: i0, type: Progress, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: Progress, decorators: [{
61
61
  type: Component,
62
62
  args: [{
63
63
  selector: 'app-sprprogress',