speechrecorderng 3.9.0 → 3.9.2
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.
- package/esm2022/lib/audio/audio_display.mjs +3 -3
- package/esm2022/lib/audio/audio_player.mjs +3 -3
- package/esm2022/lib/audio/ui/audio_canvas_layer_comp.mjs +6 -6
- package/esm2022/lib/audio/ui/audio_display_control.mjs +3 -3
- package/esm2022/lib/audio/ui/audio_display_scroll_pane.mjs +5 -5
- package/esm2022/lib/audio/ui/audiosignal.mjs +3 -3
- package/esm2022/lib/audio/ui/container.mjs +3 -3
- package/esm2022/lib/audio/ui/livelevel.mjs +5 -5
- package/esm2022/lib/audio/ui/scroll_pane_horizontal.mjs +4 -4
- package/esm2022/lib/audio/ui/sonagram.mjs +3 -3
- package/esm2022/lib/db/inddb.mjs +3 -3
- package/esm2022/lib/speechrecorder/project/project.service.mjs +3 -3
- package/esm2022/lib/speechrecorder/recordings/recordings.service.mjs +3 -3
- package/esm2022/lib/speechrecorder/script/script.service.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/audiorecorder.mjs +8 -8
- package/esm2022/lib/speechrecorder/session/controlpanel.mjs +21 -21
- package/esm2022/lib/speechrecorder/session/progress.mjs +5 -5
- package/esm2022/lib/speechrecorder/session/prompting.mjs +31 -32
- package/esm2022/lib/speechrecorder/session/recorder_combi_pane.mjs +5 -5
- package/esm2022/lib/speechrecorder/session/recording_list.mjs +5 -5
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/session.service.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/session_finished_dialog.mjs +3 -3
- package/esm2022/lib/speechrecorder/session/sessionmanager.mjs +5 -5
- package/esm2022/lib/speechrecorder/session/warning_bar.mjs +3 -3
- package/esm2022/lib/speechrecorder/spruploader.mjs +3 -3
- package/esm2022/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +5 -5
- package/esm2022/lib/speechrecorderng.component.mjs +3 -3
- package/esm2022/lib/speechrecorderng.module.mjs +4 -4
- package/esm2022/lib/spr.config.mjs +3 -3
- package/esm2022/lib/spr.module.version.mjs +2 -2
- package/esm2022/lib/ui/canvas_layer_comp.mjs +3 -3
- package/esm2022/lib/ui/intersection-observer.directive.mjs +3 -3
- package/esm2022/lib/ui/message_dialog.mjs +3 -3
- package/esm2022/lib/ui/recordingitem_display.mjs +11 -11
- package/esm2022/lib/ui/responsive_component.mjs +3 -3
- package/esm2022/lib/utils/scrollIntoViewToBottom.mjs +3 -3
- package/fesm2022/speechrecorderng.mjs +197 -198
- package/fesm2022/speechrecorderng.mjs.map +1 -1
- package/lib/spr.module.version.d.ts +1 -1
- package/package.json +13 -13
|
@@ -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.
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingFileNaviComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", 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.
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", 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;">
|
|
@@ -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.
|
|
97
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", 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.1.1", 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.
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingFileUI, decorators: [{
|
|
120
120
|
type: Component,
|
|
121
121
|
args: [{ selector: 'app-audiodisplayplayer', template: `
|
|
122
122
|
<h1>Recording file editing</h1>
|
|
@@ -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.
|
|
371
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
370
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", 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.1.1", 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.
|
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
|
|
391
391
|
type: Component,
|
|
392
392
|
args: [{ selector: 'app-audiodisplayplayer', template: `
|
|
393
393
|
|
|
@@ -276,10 +276,10 @@ 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.
|
|
280
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
279
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", 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.1.1", ngImport: i0, type: RecordingFileService }); }
|
|
281
281
|
}
|
|
282
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingFileService, decorators: [{
|
|
283
283
|
type: Injectable
|
|
284
284
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
|
|
285
285
|
type: Inject,
|
|
@@ -57,10 +57,10 @@ export class SessionService {
|
|
|
57
57
|
});
|
|
58
58
|
return wrapObs;
|
|
59
59
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionService }); }
|
|
62
62
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionService, decorators: [{
|
|
64
64
|
type: Injectable
|
|
65
65
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
|
|
66
66
|
type: Inject,
|
|
@@ -12,8 +12,8 @@ export class SessionFinishedDialog {
|
|
|
12
12
|
closeDialog() {
|
|
13
13
|
this.dialogRef.close();
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionFinishedDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon [style.color]="'green'">done_all</mat-icon> Session finished</h1>
|
|
17
17
|
<div mat-dialog-content>
|
|
18
18
|
|
|
19
19
|
<p>Thank you! The recording session is complete.</p>
|
|
@@ -24,7 +24,7 @@ export class SessionFinishedDialog {
|
|
|
24
24
|
</div>
|
|
25
25
|
`, isInline: true, dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionFinishedDialog, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
29
|
args: [{
|
|
30
30
|
selector: 'spr-session-finished-dialog',
|
|
@@ -1259,8 +1259,8 @@ export class SessionManager extends BasicRecorder {
|
|
|
1259
1259
|
this.changeDetectorRef.detectChanges();
|
|
1260
1260
|
}
|
|
1261
1261
|
}
|
|
1262
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
1263
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
1262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionManager, deps: [{ token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i2.MatDialog }, { token: i3.SessionService }, { token: i4.RecordingService }, { token: i5.SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1263
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SessionManager, selector: "app-sprrecordingsession", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "prompting", first: true, predicate: Prompting, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBar, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
1264
1264
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
1265
1265
|
<app-warningbar [show]="isDefaultAudioTestSession()" warningText="This test uses default audio device! Regular sessions may require a particular audio device (microphone)!"></app-warningbar>
|
|
1266
1266
|
<app-sprprompting [projectName]="projectName"
|
|
@@ -1309,9 +1309,9 @@ export class SessionManager extends BasicRecorder {
|
|
|
1309
1309
|
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
1310
1310
|
</div>
|
|
1311
1311
|
</div>
|
|
1312
|
-
`, isInline: true, styles: [":host{flex:2;background
|
|
1312
|
+
`, isInline: true, styles: [":host{flex:2;background:#d3d3d3;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{display:flex;padding:4px;box-sizing:border-box;height:100%;flex-direction:row;justify-content:flex-end;align-items:center;align-content:center}\n", ".dark{background:#a9a9a9}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos", "state"] }, { kind: "component", type: i9.Prompting, selector: "app-sprprompting", inputs: ["projectName", "startStopSignalState", "promptItem", "showPrompt", "items", "selectedItemIdx", "transportActions", "enableDownload", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["onItemSelect", "onNextItem", "onPrevItem"] }, { kind: "component", type: i10.StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { kind: "component", type: i11.RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "disableAudioDetails", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { kind: "component", type: i10.UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { kind: "component", type: i10.TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled", "pausingEnabled"] }, { kind: "component", type: i10.WakeLockIndicator, selector: "app-wakelockindicator", inputs: ["screenLocked"] }, { kind: "component", type: i10.ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { kind: "component", type: i12.WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }] }); }
|
|
1313
1313
|
}
|
|
1314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
1314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SessionManager, decorators: [{
|
|
1315
1315
|
type: Component,
|
|
1316
1316
|
args: [{ selector: 'app-sprrecordingsession', providers: [SessionService], template: `
|
|
1317
1317
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
@@ -1362,7 +1362,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
1362
1362
|
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
1363
1363
|
</div>
|
|
1364
1364
|
</div>
|
|
1365
|
-
`, styles: [":host{flex:2;background
|
|
1365
|
+
`, styles: [":host{flex:2;background:#d3d3d3;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{display:flex;padding:4px;box-sizing:border-box;height:100%;flex-direction:row;justify-content:flex-end;align-items:center;align-content:center}\n", ".dark{background:#a9a9a9}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"] }]
|
|
1366
1366
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i2.MatDialog }, { type: i3.SessionService }, { type: i4.RecordingService }, { type: i5.SpeechRecorderUploader }, { type: i13.SpeechRecorderConfig, decorators: [{
|
|
1367
1367
|
type: Inject,
|
|
1368
1368
|
args: [SPEECHRECORDER_CONFIG]
|
|
@@ -13,13 +13,13 @@ export class WarningBar {
|
|
|
13
13
|
this.displayClass = 'off';
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: WarningBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0, template: `
|
|
18
18
|
<div [class]="displayClass">{{warningText}}</div>
|
|
19
19
|
|
|
20
20
|
`, isInline: true, styles: [":host{flex:0 0 content;background:orange}\n", ".off{display:none}\n", ".on{padding:2px;display:inline-block;width:100%;font-weight:700;font-size:larger;text-align:center}\n"] }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: WarningBar, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'app-warningbar', providers: [SessionService], template: `
|
|
25
25
|
<div [class]="displayClass">{{warningText}}</div>
|
|
@@ -10,10 +10,10 @@ export class SpeechRecorderUploader extends Uploader {
|
|
|
10
10
|
this.httpClient = httpClient;
|
|
11
11
|
this.config = config;
|
|
12
12
|
}
|
|
13
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
14
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
13
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderUploader, deps: [{ token: i1.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
14
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderUploader }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderUploader, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.SpeechRecorderConfig, decorators: [{
|
|
19
19
|
type: Inject,
|
|
@@ -31,17 +31,17 @@ export class SimpleTrafficLight {
|
|
|
31
31
|
this.lightbottom = 'grey';
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SimpleTrafficLight, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0, template: `
|
|
36
36
|
|
|
37
37
|
<div>
|
|
38
38
|
<div class="circle {{lighttop}}"></div>
|
|
39
39
|
<div class="circle {{lightmid}}"></div>
|
|
40
40
|
<div class="circle {{lightbottom}}"></div>
|
|
41
41
|
</div>
|
|
42
|
-
`, isInline: true, styles: [".circle{width:50px;height:50px;border-radius:50%;margin:5px;background:
|
|
42
|
+
`, isInline: true, styles: [".circle{width:50px;height:50px;border-radius:50%;margin:5px;background:gray}\n", ".red{background:red}\n", ".yellow{background:#ff0}\n", ".green{background:green}\n", ".black{background:#000}\n", ":host{display:flex;flex-direction:column;background:#000;padding:2px;height:170px;max-height:170px;flex:0 0 content}\n"] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SimpleTrafficLight, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: 'app-simpletrafficlight', template: `
|
|
47
47
|
|
|
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
50
50
|
<div class="circle {{lightmid}}"></div>
|
|
51
51
|
<div class="circle {{lightbottom}}"></div>
|
|
52
52
|
</div>
|
|
53
|
-
`, styles: [".circle{width:50px;height:50px;border-radius:50%;margin:5px;background:
|
|
53
|
+
`, styles: [".circle{width:50px;height:50px;border-radius:50%;margin:5px;background:gray}\n", ".red{background:red}\n", ".yellow{background:#ff0}\n", ".green{background:green}\n", ".black{background:#000}\n", ":host{display:flex;flex-direction:column;background:#000;padding:2px;height:170px;max-height:170px;flex:0 0 content}\n"] }]
|
|
54
54
|
}], ctorParameters: () => [], propDecorators: { status: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}] } });
|
|
@@ -374,12 +374,12 @@ export class SpeechrecorderngComponent extends RecorderComponent {
|
|
|
374
374
|
this.sm.statusAlertType = 'error';
|
|
375
375
|
this.sm.statusMsg = 'ERROR: Recording.';
|
|
376
376
|
}
|
|
377
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
378
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SessionService }, { token: i3.ProjectService }, { token: i4.ScriptService }, { token: i5.RecordingService }, { token: i6.SpeechRecorderUploader }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
378
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
379
379
|
<app-sprrecordingsession [projectName]="project?.name" [dataSaved]="dataSaved"></app-sprrecordingsession>
|
|
380
380
|
`, isInline: true, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0}\n"], dependencies: [{ kind: "component", type: i7.SessionManager, selector: "app-sprrecordingsession", inputs: ["projectName", "dataSaved"] }] }); }
|
|
381
381
|
}
|
|
382
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
382
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngComponent, decorators: [{
|
|
383
383
|
type: Component,
|
|
384
384
|
args: [{ selector: 'app-speechrecorder', providers: [SessionService], template: `
|
|
385
385
|
<app-sprrecordingsession [projectName]="project?.name" [dataSaved]="dataSaved"></app-sprrecordingsession>
|
|
@@ -83,12 +83,12 @@ export class SpeechrecorderngModule {
|
|
|
83
83
|
]
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
87
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
87
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
88
88
|
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1.RouterModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule, IntersectionObserverDirective], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] }); }
|
|
89
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
89
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule] }); }
|
|
90
90
|
}
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
|
|
92
92
|
type: NgModule,
|
|
93
93
|
args: [{
|
|
94
94
|
declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
@@ -18,10 +18,10 @@ export class SpeechRecorderConfig {
|
|
|
18
18
|
this.apiType = null;
|
|
19
19
|
this.withCredentials = false;
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
22
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderConfig }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SpeechRecorderConfig, decorators: [{
|
|
25
25
|
type: Injectable
|
|
26
26
|
}], ctorParameters: () => [] });
|
|
27
27
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9zcHIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUV6RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQztBQUd2RyxNQUFNLENBQU4sSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHlDQUFNLENBQUE7SUFBQyx1Q0FBSyxDQUFBO0FBQ2QsQ0FBQyxFQUZXLE9BQU8sS0FBUCxPQUFPLFFBRWxCO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQjtRQU5BLGdCQUFXLEdBQWlCLElBQUksQ0FBQztRQUNqQyxZQUFPLEdBQWtCLElBQUksQ0FBQztRQUM5QixlQUFVLEdBQVMsQ0FBQyxDQUFDO1FBQ3JCLG9CQUFlLEdBQVcsS0FBSyxDQUFDO1FBQ2hDLDZCQUF3QixHQUFXLEtBQUssQ0FBQztRQUN6QywyQkFBc0IsR0FBVyxJQUFJLENBQUM7UUFFcEMsSUFBSSxDQUFDLFdBQVcsR0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBQyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsR0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQzs4R0FYVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5leHBvcnQgY29uc3QgU1BFRUNIUkVDT1JERVJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFNwZWVjaFJlY29yZGVyQ29uZmlnPignc3BlZWNocmVjb3JkZXIuY29uZmlnJyk7XHJcblxyXG5cclxuZXhwb3J0IGVudW0gQXBpVHlwZSB7XHJcbiAgTk9STUFMLEZJTEVTXHJcbn1cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3BlZWNoUmVjb3JkZXJDb25maWd7XHJcbiAgYXBpRW5kUG9pbnQ/OiBzdHJpbmcgfCBudWxsPW51bGw7XHJcbiAgYXBpVHlwZT86IEFwaVR5cGUgfCBudWxsPW51bGw7XHJcbiAgYXBpVmVyc2lvbjogbnVtYmVyPTE7XHJcbiAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbj1mYWxzZTtcclxuICBlbmFibGVEb3dubG9hZFJlY29yZGluZ3M/OiBib29sZWFuPWZhbHNlO1xyXG4gIGVuYWJsZVVwbG9hZFJlY29yZGluZ3M/OiBib29sZWFuPXRydWU7XHJcbiAgY29uc3RydWN0b3IoKXtcclxuICAgIHRoaXMuYXBpRW5kUG9pbnQ9bnVsbDtcclxuICAgIHRoaXMuYXBpVHlwZT1udWxsO1xyXG4gICAgdGhpcy53aXRoQ3JlZGVudGlhbHM9ZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '3.9.
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export const VERSION = '3.9.2';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLm1vZHVsZS52ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3Nwci5tb2R1bGUudmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUMsT0FBTyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT049JzMuOS4yJyJdfQ==
|
|
@@ -29,10 +29,10 @@ export class CanvasLayerComponent {
|
|
|
29
29
|
return virtualPos;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
33
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CanvasLayerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: CanvasLayerComponent, ngImport: i0 }); }
|
|
34
34
|
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: CanvasLayerComponent, decorators: [{
|
|
36
36
|
type: Directive
|
|
37
37
|
}], ctorParameters: () => [] });
|
|
38
38
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzX2xheWVyX2NvbXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvY2FudmFzX2xheWVyX2NvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBc0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQWdCLG9CQUFvQjtJQU14QztRQUpVLFdBQU0sR0FBZ0IsSUFBSSxDQUFDO1FBTW5DLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsWUFBWSxHQUFDLElBQUksS0FBSyxFQUFxQixDQUFDO0lBQ25ELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxRQUFlO1FBQ3RDLElBQUksUUFBUSxHQUFDLFFBQVEsQ0FBQztRQUNwQixJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDWCxRQUFRLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBZ0I7UUFDdEMsSUFBSSxRQUFRLEdBQUMsU0FBUyxDQUFDO1FBQ3ZCLElBQUcsSUFBSSxDQUFDLE1BQU0sRUFBQztZQUNiLFFBQVEsR0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxVQUFtQjtRQUVwQyxJQUFHLElBQUksQ0FBQyxNQUFNLEVBQUM7WUFDYixPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEc7YUFBSTtZQUNILE9BQU8sVUFBVSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs4R0FuQ21CLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUR6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQb3NpdGlvbixEaW1lbnNpb24sIFJlY3RhbmdsZX0gZnJvbSBcIi4uL21hdGgvMmQvZ2VvbWV0cnlcIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FudmFzTGF5ZXJDb21wb25lbnR7XHJcblxyXG4gIHByb3RlY3RlZCBib3VuZHM6UmVjdGFuZ2xlfG51bGw9bnVsbDtcclxuICBwcm90ZWN0ZWQgdmlydHVhbERpbWVuc2lvbiE6RGltZW5zaW9uO1xyXG4gIHByb3RlY3RlZCBjYW52YXNMYXllcnM6QXJyYXk8SFRNTENhbnZhc0VsZW1lbnQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcigpe1xyXG5cclxuICAgIC8vIFRPRE8gbWFrZSBjbGVhciB0aGF0IGZpcnN0IGVsZW1lbnQgaXMgYmFja2dyb3VuZCBjYW52YXNcclxuICAgIHRoaXMuY2FudmFzTGF5ZXJzPW5ldyBBcnJheTxIVE1MQ2FudmFzRWxlbWVudD4oKTtcclxuICB9XHJcblxyXG4gIHRvWFZpZXdQb3J0UGl4ZWxQb3NpdGlvbih2aXJ0dWFsWDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpcnR1YWxYO1xyXG4gICAgICBpZih0aGlzLmJvdW5kcyl7XHJcbiAgICAgICAgICBwaXhlbFBvcz1NYXRoLnJvdW5kKHZpcnR1YWxYLXRoaXMuYm91bmRzLnBvc2l0aW9uLmxlZnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwaXhlbFBvcztcclxuICB9XHJcblxyXG4gIHRvWFZpcnR1YWxQaXhlbFBvc2l0aW9uKHZpZXdQb3J0WDpudW1iZXIpe1xyXG4gICAgbGV0IHBpeGVsUG9zPXZpZXdQb3J0WDtcclxuICAgIGlmKHRoaXMuYm91bmRzKXtcclxuICAgICAgcGl4ZWxQb3M9TWF0aC5yb3VuZCh2aWV3UG9ydFgrdGhpcy5ib3VuZHMucG9zaXRpb24ubGVmdCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGl4ZWxQb3M7XHJcbiAgfVxyXG5cclxuICB0b1ZpZXdQb3J0UG9zaXRpb24odmlydHVhbFBvczpQb3NpdGlvbik6UG9zaXRpb257XHJcblxyXG4gICAgaWYodGhpcy5ib3VuZHMpe1xyXG4gICAgICByZXR1cm4gbmV3IFBvc2l0aW9uKHZpcnR1YWxQb3MubGVmdC10aGlzLmJvdW5kcy5wb3NpdGlvbi5sZWZ0LHZpcnR1YWxQb3MudG9wLXRoaXMuYm91bmRzLnBvc2l0aW9uLnRvcCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmV0dXJuIHZpcnR1YWxQb3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -17,10 +17,10 @@ export class IntersectionObserverDirective {
|
|
|
17
17
|
elIntersection.observer.unobserve(this.elRef.nativeElement);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: IntersectionObserverDirective, isStandalone: true, selector: "[updateObservation]", inputs: { updateObservation: "updateObservation" }, ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: IntersectionObserverDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: '[updateObservation]',
|
|
@@ -13,8 +13,8 @@ export class MessageDialog {
|
|
|
13
13
|
closeDialog() {
|
|
14
14
|
this.dialogRef.close();
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MessageDialog, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: MessageDialog, selector: "msg-dialog", ngImport: i0, template: `<h1 mat-dialog-title><mat-icon *ngIf="data.type==='error'" [style.color]="'red'">error</mat-icon>
|
|
18
18
|
<mat-icon *ngIf="data.type==='warning'" [style.color]="'yellow'">warning</mat-icon>{{data.title}}</h1>
|
|
19
19
|
<div mat-dialog-content>
|
|
20
20
|
|
|
@@ -27,7 +27,7 @@ export class MessageDialog {
|
|
|
27
27
|
</div>
|
|
28
28
|
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: MessageDialog, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: 'msg-dialog',
|
|
@@ -64,8 +64,8 @@ export class RecordingItemControls extends ResponsiveComponent {
|
|
|
64
64
|
error() {
|
|
65
65
|
// this.status = 'ERROR';
|
|
66
66
|
}
|
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingItemControls, deps: [{ token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", disableAudioDetails: "disableAudioDetails", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, usesInheritance: true, ngImport: i0, template: `
|
|
69
69
|
<button matTooltip="Start playback" (click)="playStartAction?.perform()"
|
|
70
70
|
[disabled]="playStartAction?playStartAction.disabled:true"
|
|
71
71
|
[style.color]="playStartAction?.disabled ? 'grey' : 'green'">
|
|
@@ -87,9 +87,9 @@ export class RecordingItemControls extends ResponsiveComponent {
|
|
|
87
87
|
<div style="min-width: 14ch;padding:2px"><table style="border-style: none"><tr><td>Peak:</td><td><span matTooltip="Peak level"
|
|
88
88
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
89
89
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
90
|
-
`, isInline: true, styles: [":host{flex:0;width:100%;background
|
|
90
|
+
`, isInline: true, styles: [":host{flex:0;width:100%;background:#a9a9a9;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }] }); }
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingItemControls, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'spr-recordingitemcontrols', template: `
|
|
95
95
|
<button matTooltip="Start playback" (click)="playStartAction?.perform()"
|
|
@@ -113,7 +113,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
113
113
|
<div style="min-width: 14ch;padding:2px"><table style="border-style: none"><tr><td>Peak:</td><td><span matTooltip="Peak level"
|
|
114
114
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
115
115
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
116
|
-
`, styles: [":host{flex:0;width:100%;background
|
|
116
|
+
`, styles: [":host{flex:0;width:100%;background:#a9a9a9;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"] }]
|
|
117
117
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { audioSignalCollapsed: [{
|
|
118
118
|
type: Input
|
|
119
119
|
}], enableDownload: [{
|
|
@@ -210,22 +210,22 @@ export class RecordingItemDisplay extends ResponsiveComponent {
|
|
|
210
210
|
this.peakDbLvl = MIN_DB_LEVEL;
|
|
211
211
|
this.changeDetectorRef.detectChanges();
|
|
212
212
|
}
|
|
213
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
214
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
213
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingItemDisplay, deps: [{ token: i1.BreakpointObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
214
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: RecordingItemDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", agc: "agc", playStartAction: "playStartAction", playStopAction: "playStopAction", displayAudioBuffer: "displayAudioBuffer", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, viewQueries: [{ propertyName: "liveLevel", first: true, predicate: LevelBar, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
215
215
|
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
216
216
|
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
217
217
|
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
218
218
|
</div>
|
|
219
|
-
`, isInline: true, styles: ["div{width:100%;background
|
|
219
|
+
`, isInline: true, styles: ["div{width:100%;background:#a9a9a9;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"], dependencies: [{ kind: "component", type: i5.LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos", "state"] }, { kind: "component", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "disableAudioDetails", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }] }); }
|
|
220
220
|
}
|
|
221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
221
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: RecordingItemDisplay, decorators: [{
|
|
222
222
|
type: Component,
|
|
223
223
|
args: [{ selector: 'spr-recordingitemdisplay', template: `
|
|
224
224
|
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
225
225
|
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
226
226
|
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
227
227
|
</div>
|
|
228
|
-
`, styles: ["div{width:100%;background
|
|
228
|
+
`, styles: ["div{width:100%;background:#a9a9a9;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"] }]
|
|
229
229
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { liveLevel: [{
|
|
230
230
|
type: ViewChild,
|
|
231
231
|
args: [LevelBar, { static: true }]
|
|
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
250
250
|
}], displayLevelInfos: [{
|
|
251
251
|
type: Input
|
|
252
252
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5naXRlbV9kaXNwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3VpL3JlY29yZGluZ2l0ZW1fZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ2dCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFDaEYsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUkzRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFrRHhDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFjNUQsSUFBYSxHQUFHLENBQUMsR0FBMEI7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBQyxHQUFHLENBQUM7UUFDZCxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUcsSUFBSSxFQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDO1NBQ3RCO2FBQUk7WUFDSCxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUcsSUFBSSxFQUFDO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQzthQUNyQjtpQkFBSTtnQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFDLEtBQUssQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQWtCRCxZQUFzQixHQUFzQixFQUFTLEdBQWUsRUFBVSxpQkFBb0M7UUFDaEgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcs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QkFBaUI7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7TGV2ZWxJbmZvLCBMZXZlbEluZm9zLCBMZXZlbExpc3RlbmVyfSBmcm9tIFwiLi4vYXVkaW8vZHNwL2xldmVsX21lYXN1cmVcIjtcclxuaW1wb3J0IHtMZXZlbEJhcn0gZnJvbSBcIi4uL2F1ZGlvL3VpL2xpdmVsZXZlbFwiO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtSZXNwb25zaXZlQ29tcG9uZW50fSBmcm9tIFwiLi9yZXNwb25zaXZlX2NvbXBvbmVudFwiO1xyXG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9sYXlvdXRcIjtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgTUlOX0RCX0xFVkVMID0gLTQwLjA7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX1dBUk5fREJfTEVWRUwgPSAtMjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3ByLXJlY29yZGluZ2l0ZW1jb250cm9scycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8YnV0dG9uIG1hdFRvb2x0aXA9XCJTdGFydCBwbGF5YmFja1wiIChjbGljayk9XCJwbGF5U3RhcnRBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGxheVN0YXJ0QWN0aW9uP3BsYXlTdGFydEFjdGlvbi5kaXNhYmxlZDp0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJwbGF5U3RhcnRBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+cGxheV9hcnJvdzwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXRUb29sdGlwPVwiU3RvcCBwbGF5YmFja1wiIChjbGljayk9XCJwbGF5U3RvcEFjdGlvbj8ucGVyZm9ybSgpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbGF5U3RvcEFjdGlvbj8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInBsYXlTdG9wQWN0aW9uPy5kaXNhYmxlZCA/ICdncmV5JyA6ICd5ZWxsb3cnXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5zdG9wPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIXNjcmVlblhzXCIgbWF0VG9vbHRpcD1cIlRvZ2dsZSBkZXRhaWxlZCBhdWRpbyBkaXNwbGF5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVBdWRpb0RldGFpbHMgfHwgIWF1ZGlvTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UmVjb3JkaW5nRGV0YWlscygpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyhhdWRpb1NpZ25hbENvbGxhcHNlZCkgPyBcImV4cGFuZF9sZXNzXCIgOiBcImV4cGFuZF9tb3JlXCJ9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXRUb29sdGlwPVwiRG93bmxvYWQgY3VycmVudCByZWNvcmRpbmdcIiAqbmdJZj1cImVuYWJsZURvd25sb2FkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVBdWRpb0RldGFpbHMgfHwgIWF1ZGlvTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFJlY29yZGluZygpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWluLXdpZHRoOiAxNGNoO3BhZGRpbmc6MnB4XCI+PHRhYmxlIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBub25lXCI+PHRyPjx0ZD5QZWFrOjwvdGQ+PHRkPjxzcGFuIG1hdFRvb2x0aXA9XCJQZWFrIGxldmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIihwZWFrRGJMdmwgPiB3YXJuRGJMZXZlbCk/J3JlZCc6J2JsYWNrJ1wiPnt7cGVha0RiTHZsIHwgbnVtYmVyOicxLjEtMSd9fSBkQiA8L3NwYW4+PC90ZD48L3RyPlxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwiX2FnY1wiPjx0ZD5BR0M6PC90ZD48dGQ+PHNwYW4gbWF0VG9vbHRpcD1cIkF1dG8gZ2FpbiBjb250cm9sXCI+e3thZ2NTdHJpbmd9fTwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj5cclxuICAgIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0IHtcclxuICAgICAgICBmbGV4OiAwOyAvKiBvbmx5IHJlcXVpcmVkIHZlcnRpY2FsIHNwYWNlICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2dyYXk7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyAvKiBmbGV4IGNvbnRhaW5lcjogbGVmdCBsZXZlbCBiYXIsIHJpZ2h0IGRlY2ltYWwgcGVhayBsZXZlbCB2YWx1ZSAqL1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IC8qIHdyYXAgY291bGQgY29tcGxldGVseSBkZXN0cm95IHRoZSBsYXlvdXQgKi9cclxuICAgIH1gLCBgc3BhbiB7XHJcbiAgICAgICAgZmxleDogMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfWAsYFxyXG4gICAgIGJ1dHRvbiB7XHJcbiAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgICB9YF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdJdGVtQ29udHJvbHMgZXh0ZW5kcyBSZXNwb25zaXZlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY2U6IEhUTUxEaXZFbGVtZW50fG51bGw9bnVsbDtcclxuICBASW5wdXQoKSBhdWRpb1NpZ25hbENvbGxhcHNlZDogYm9vbGVhbj10cnVlO1xyXG4gIHByaXZhdGUgX2Rpc3BsYXlBdWRpb0J1ZmZlcjogQXVkaW9CdWZmZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBlbmFibGVEb3dubG9hZDogYm9vbGVhbj1mYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcGVha0RiTHZsID0gTUlOX0RCX0xFVkVMO1xyXG5cclxuICBfZGlzcGxheUxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsPW51bGw7XHJcblxyXG4gIF9hZ2M6Ym9vbGVhbnxudWxsfHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgYWdjU3RyaW5nPSduL2EnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgYWdjKGFnYzpib29sZWFufG51bGx8dW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2FnYz1hZ2M7XHJcbiAgICBpZih0aGlzLl9hZ2M9PT11bmRlZmluZWQgfHwgdGhpcy5fYWdjPT09bnVsbCl7XHJcbiAgICAgIHRoaXMuYWdjU3RyaW5nPSduL2EnO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmKHRoaXMuX2FnYz09PXRydWUpe1xyXG4gICAgICAgIHRoaXMuYWdjU3RyaW5nPSdPbic7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuYWdjU3RyaW5nPSdPZmYnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb25TaG93UmVjb3JkaW5nRGV0YWlsczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBvbkRvd25sb2FkUmVjb3JkaW5nOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVBdWRpb0RldGFpbHM9dHJ1ZTtcclxuICBASW5wdXQoKSBhdWRpb0xvYWRlZD1mYWxzZTtcclxuICAvL0BJbnB1dCgpIGNvbnRyb2xBdWRpb1BsYXllcjogQXVkaW9QbGF5ZXI7XHJcbiAgQElucHV0KCkgcGxheVN0YXJ0QWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcGxheVN0b3BBY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBwbGF5U3RhcnRFbmFibGVkID0gZmFsc2U7XHJcbiAgcGxheVN0b3BFbmFibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSB1cGRhdGVUaW1lcklkOiBudW1iZXJ8bnVsbD1udWxsO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IGZhbHNlO1xyXG5cclxuICB3YXJuRGJMZXZlbCA9IERFRkFVTFRfV0FSTl9EQl9MRVZFTDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGJwbzpCcmVha3BvaW50T2JzZXJ2ZXIscHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihicG8pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzaG93UmVjb3JkaW5nRGV0YWlscygpIHtcclxuICAgIHRoaXMub25TaG93UmVjb3JkaW5nRGV0YWlscy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFJlY29yZGluZygpIHtcclxuICAgIHRoaXMub25Eb3dubG9hZFJlY29yZGluZy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNlID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRpc3BsYXlMZXZlbEluZm9zKGxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9kaXNwbGF5TGV2ZWxJbmZvcyA9IGxldmVsSW5mb3M7XHJcbiAgfVxyXG5cclxuICBlcnJvcigpIHtcclxuICAgIC8vIHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nwci1yZWNvcmRpbmdpdGVtZGlzcGxheScsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IFtjbGFzc109XCJ7YXVkaW9TdGF0dXNEaXNwbGF5OiFzY3JlZW5YcyxhdWRpb1N0YXR1c0Rpc3BsYXlYczpzY3JlZW5Yc31cIj5cclxuICAgICAgICA8YXVkaW8tbGV2ZWxiYXIgc3R5bGU9XCJmbGV4OjEgMCAxJVwiIFtzdHJlYW1pbmdNb2RlXT1cInN0cmVhbWluZ01vZGVcIiBbZGlzcGxheUxldmVsSW5mb3NdPVwiX2Rpc3BsYXlMZXZlbEluZm9zXCI+PC9hdWRpby1sZXZlbGJhcj5cclxuICAgICAgICA8c3ByLXJlY29yZGluZ2l0ZW1jb250cm9scyBzdHlsZT1cImZsZXg6MCAwIDBweFwiIFthdWRpb0xvYWRlZF09XCJkaXNwbGF5QXVkaW9CdWZmZXIhPT1udWxsXCIgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIiBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIiBbcGVha0RiTHZsXT1cInBlYWtEYkx2bFwiIFthZ2NdPVwiX2FnY1wiIChvblNob3dSZWNvcmRpbmdEZXRhaWxzKT1cIm9uU2hvd1JlY29yZGluZ0RldGFpbHMuZW1pdCgpXCI+PC9zcHItcmVjb3JkaW5naXRlbWNvbnRyb2xzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgZGl2IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZ3JheTtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgLyogd3JhcCBjb3VsZCBjb21wbGV0ZWx5IGRlc3Ryb3kgdGhlIGxheW91dCAqL1xyXG4gICAgfWAsIGBhdWRpby1sZXZlbGJhciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1gLGAuYXVkaW9TdGF0dXNEaXNwbGF5e1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGhlaWdodDoxMDBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gIH1gLGAuYXVkaW9TdGF0dXNEaXNwbGF5WHN7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OjEyNXB4O1xyXG4gICAgbWluLWhlaWdodDogMTI1cHg7XHJcbiAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nSXRlbURpc3BsYXkgZXh0ZW5kcyBSZXNwb25zaXZlQ29tcG9uZW50IGltcGxlbWVudHMgTGV2ZWxMaXN0ZW5lciwgT25EZXN0cm95IHtcclxuXHJcbiAgICBjZTogSFRNTERpdkVsZW1lbnR8bnVsbD1udWxsO1xyXG4gICAgQFZpZXdDaGlsZChMZXZlbEJhciwgeyBzdGF0aWM6IHRydWUgfSkgbGl2ZUxldmVsITogTGV2ZWxCYXI7XHJcbiAgICBASW5wdXQoKSBzdHJlYW1pbmdNb2RlOiBib29sZWFuPWZhbHNlO1xyXG4gICAgQElucHV0KCkgYXVkaW9TaWduYWxDb2xsYXBzZWQ6IGJvb2xlYW49dHJ1ZTtcclxuICAgIHByaXZhdGUgX2Rpc3BsYXlBdWRpb0J1ZmZlcjogQXVkaW9CdWZmZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIGVuYWJsZURvd25sb2FkOiBib29sZWFuPWZhbHNlO1xyXG5cclxuICAgIHBlYWtEYkx2bCA9IE1JTl9EQl9MRVZFTDtcclxuXHJcbiAgICBfZGlzcGxheUxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsPW51bGw7XHJcblxyXG4gICAgX2FnYzpib29sZWFufG51bGx8dW5kZWZpbmVkPXVuZGVmaW5lZDtcclxuICAgIGFnY1N0cmluZz0nbi9hJztcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgYWdjKGFnYzpib29sZWFufG51bGx8dW5kZWZpbmVkKXtcclxuICAgICAgdGhpcy5fYWdjPWFnYztcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93UmVjb3JkaW5nRGV0YWlsczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIG9uRG93bmxvYWRSZWNvcmRpbmc6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvL0BJbnB1dCgpIGNvbnRyb2xBdWRpb1BsYXllcjogQXVkaW9QbGF5ZXI7XHJcbiAgICBASW5wdXQoKSBwbGF5U3RhcnRBY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHBsYXlTdG9wQWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgICBwbGF5U3RhcnRFbmFibGVkID0gZmFsc2U7XHJcbiAgICBwbGF5U3RvcEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgdXBkYXRlVGltZXJJZDogbnVtYmVyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3llZCA9IGZhbHNlO1xyXG5cclxuICAgIHdhcm5EYkxldmVsID0gREVGQVVMVF9XQVJOX0RCX0xFVkVMO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBicG86QnJlYWtwb2ludE9ic2VydmVyLHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGJwbyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGRpc3BsYXlBdWRpb0J1ZmZlcihkaXNwbGF5QXVkaW9CdWZmZXI6IEF1ZGlvQnVmZmVyIHwgbnVsbHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheUF1ZGlvQnVmZmVyID0gZGlzcGxheUF1ZGlvQnVmZmVyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5QXVkaW9CdWZmZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlBdWRpb0J1ZmZlcjtcclxuICAgIH1cclxuXHJcbiAgICBzaG93UmVjb3JkaW5nRGV0YWlscygpIHtcclxuICAgICAgICB0aGlzLm9uU2hvd1JlY29yZGluZ0RldGFpbHMuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkUmVjb3JkaW5nKCkge1xyXG4gICAgICAgIHRoaXMub25Eb3dubG9hZFJlY29yZGluZy5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY2UgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIC8vdGhpcy5jb250cm9sQXVkaW9QbGF5ZXIubGlzdGVuZXI9dGhpcztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGRpc3BsYXlMZXZlbEluZm9zKGxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheUxldmVsSW5mb3MgPSBsZXZlbEluZm9zO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBjaGFubmVsQ291bnQoY2hhbm5lbENvdW50OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgdGhpcy5saXZlTGV2ZWwuY2hhbm5lbENvdW50ID0gY2hhbm5lbENvdW50O1xyXG4gICAgfVxyXG5cclxuICBzZXQgcGxheUZyYW1lUG9zaXRpb24ocGxheUZyYW1lUG9zaXRpb246IG51bWJlcikge1xyXG4gICAgdGhpcy5saXZlTGV2ZWwucGxheUZyYW1lUG9zaXRpb249cGxheUZyYW1lUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAgIHVwZGF0ZShsZXZlbEluZm86IExldmVsSW5mbywgcGVha0xldmVsSW5mbzogTGV2ZWxJbmZvKSB7XHJcbiAgICAgICAgbGV0IHBlYWtEQlZhbCA9IGxldmVsSW5mby5wb3dlckxldmVsREIoKTtcclxuICAgICAgICBpZiAodGhpcy5wZWFrRGJMdmwgPCBwZWFrREJWYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5wZWFrRGJMdmwgPSBwZWFrREJWYWw7XHJcbiAgICAgICAgICAgIC8vIHRoZSBldmVudCBjb21lcyBmcm9tIG91dHNpZGUgYW4gQW5ndWxhciB6b25lXHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpdmVMZXZlbC51cGRhdGUobGV2ZWxJbmZvKTtcclxuICAgIH1cclxuXHJcbiAgICBlcnJvcigpIHtcclxuICAgICAgICAvLyB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgICB9XHJcblxyXG4gICAgc3RyZWFtRmluaXNoZWQoKSB7XHJcbiAgICAgICAgdGhpcy5saXZlTGV2ZWwuc3RyZWFtRmluaXNoZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpIHtcclxuICAgICAgICB0aGlzLnBlYWtEYkx2bCA9IE1JTl9EQl9MRVZFTDtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkaW5naXRlbV9kaXNwbGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3VpL3JlY29yZGluZ2l0ZW1fZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ2dCLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFDaEYsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQUkzRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFrRHhDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxtQkFBbUI7SUFjNUQsSUFBYSxHQUFHLENBQUMsR0FBMEI7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBQyxHQUFHLENBQUM7UUFDZCxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUcsSUFBSSxFQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUMsS0FBSyxDQUFDO1NBQ3RCO2FBQUk7WUFDSCxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUcsSUFBSSxFQUFDO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFDLElBQUksQ0FBQzthQUNyQjtpQkFBSTtnQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFDLEtBQUssQ0FBQzthQUN0QjtTQUNGO0lBQ0gsQ0FBQztJQWtCRCxZQUFzQixHQUFzQixFQUFTLEdBQWUsRUFBVSxpQkFBb0M7UUFDaEgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRFMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQXpDbEgsT0FBRSxHQUFzQixJQUFJLENBQUM7UUFDcEIseUJBQW9CLEdBQVUsSUFBSSxDQUFDO1FBRW5DLG1CQUFjLEdBQVUsS0FBSyxDQUFDO1FBRTlCLGNBQVMsR0FBRyxZQUFZLENBQUM7UUFFbEMsdUJBQWtCLEdBQW9CLElBQUksQ0FBQztRQUUzQyxTQUFJLEdBQXdCLFNBQVMsQ0FBQztRQUN0QyxjQUFTLEdBQUMsS0FBSyxDQUFDO1FBZU4sMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEUsd0JBQW1CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEUsd0JBQW1CLEdBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUMsS0FBSyxDQUFDO1FBSTNCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUNoQixrQkFBYSxHQUFjLElBQUksQ0FBQztRQUVoQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTFCLGdCQUFXLEdBQUcscUJBQXFCLENBQUM7SUFJcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFDSSxpQkFBaUIsQ0FBQyxVQUE2QjtRQUNqRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLO1FBQ0gseUJBQXlCO0lBQzNCLENBQUM7OEdBdEVVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlmQTlDdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FzQlA7OzJGQXdCUSxxQkFBcUI7a0JBaERqQyxTQUFTOytCQUNFLDJCQUEyQixZQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXNCUDtnSkEyQk0sb0JBQW9CO3NCQUE1QixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFPTyxHQUFHO3NCQUFmLEtBQUs7Z0JBYUksc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFFRSxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBOEJGLGlCQUFpQjtzQkFEcEIsS0FBSzs7QUF5Q1IsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQWdCekQsSUFBYSxHQUFHLENBQUMsR0FBMEI7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBQyxHQUFHLENBQUM7SUFDaEIsQ0FBQztJQWdCRCxZQUFzQixHQUFzQixFQUFTLEdBQWUsRUFBVSxpQkFBb0M7UUFDOUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRE8sUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWhDbEgsT0FBRSxHQUFzQixJQUFJLENBQUM7UUFFcEIsa0JBQWEsR0FBVSxLQUFLLENBQUM7UUFDN0IseUJBQW9CLEdBQVUsSUFBSSxDQUFDO1FBRW5DLG1CQUFjLEdBQVUsS0FBSyxDQUFDO1FBRXZDLGNBQVMsR0FBRyxZQUFZLENBQUM7UUFFekIsdUJBQWtCLEdBQW9CLElBQUksQ0FBQztRQUUzQyxTQUFJLEdBQXdCLFNBQVMsQ0FBQztRQUN0QyxjQUFTLEdBQUMsS0FBSyxDQUFDO1FBTU4sMkJBQXNCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEUsd0JBQW1CLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFLN0UscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGtCQUFhLEdBQWMsSUFBSSxDQUFDO1FBRWhDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFMUIsZ0JBQVcsR0FBRyxxQkFBcUIsQ0FBQztJQUlwQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFHRCxJQUNJLGtCQUFrQixDQUFDLGtCQUFpRDtRQUNwRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsa0JBQWtCLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBQ2pDLHdDQUF3QztJQUM1QyxDQUFDO0lBRUQsSUFDSSxpQkFBaUIsQ0FBQyxVQUE2QjtRQUMvQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFvQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDL0MsQ0FBQztJQUVILElBQUksaUJBQWlCLENBQUMsaUJBQXlCO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLEdBQUMsaUJBQWlCLENBQUM7SUFDckQsQ0FBQztJQUVDLE1BQU0sQ0FBQyxTQUFvQixFQUFFLGFBQXdCO1FBQ2pELElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQzNCLCtDQUErQztZQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSztRQUNELHlCQUF5QjtJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs4R0FwR1Esb0JBQW9CO2tHQUFwQixvQkFBb0Isc2ZBR2xCLFFBQVEscUZBOUJUOzs7OztLQUtULGdnQkFsRlEscUJBQXFCOzsyRkF3R3JCLG9CQUFvQjtrQkE3QmhDLFNBQVM7K0JBQ0ksMEJBQTBCLFlBQzFCOzs7OztLQUtUO2dKQXlCc0MsU0FBUztzQkFBL0MsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUM1QixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQVNPLEdBQUc7c0JBQWYsS0FBSztnQkFJSSxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUdFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFtQkYsa0JBQWtCO3NCQURyQixLQUFLO2dCQXVCRixpQkFBaUI7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsXHJcbiAgICBWaWV3Q2hpbGRcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXHJcbmltcG9ydCB7TGV2ZWxJbmZvLCBMZXZlbEluZm9zLCBMZXZlbExpc3RlbmVyfSBmcm9tIFwiLi4vYXVkaW8vZHNwL2xldmVsX21lYXN1cmVcIjtcclxuaW1wb3J0IHtMZXZlbEJhcn0gZnJvbSBcIi4uL2F1ZGlvL3VpL2xpdmVsZXZlbFwiO1xyXG5pbXBvcnQge0FjdGlvbn0gZnJvbSBcIi4uL2FjdGlvbi9hY3Rpb25cIjtcclxuaW1wb3J0IHtSZXNwb25zaXZlQ29tcG9uZW50fSBmcm9tIFwiLi9yZXNwb25zaXZlX2NvbXBvbmVudFwiO1xyXG5pbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlcn0gZnJvbSBcIkBhbmd1bGFyL2Nkay9sYXlvdXRcIjtcclxuXHJcblxyXG5leHBvcnQgY29uc3QgTUlOX0RCX0xFVkVMID0gLTQwLjA7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX1dBUk5fREJfTEVWRUwgPSAtMjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3ByLXJlY29yZGluZ2l0ZW1jb250cm9scycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8YnV0dG9uIG1hdFRvb2x0aXA9XCJTdGFydCBwbGF5YmFja1wiIChjbGljayk9XCJwbGF5U3RhcnRBY3Rpb24/LnBlcmZvcm0oKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGxheVN0YXJ0QWN0aW9uP3BsYXlTdGFydEFjdGlvbi5kaXNhYmxlZDp0cnVlXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJwbGF5U3RhcnRBY3Rpb24/LmRpc2FibGVkID8gJ2dyZXknIDogJ2dyZWVuJ1wiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+cGxheV9hcnJvdzwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXRUb29sdGlwPVwiU3RvcCBwbGF5YmFja1wiIChjbGljayk9XCJwbGF5U3RvcEFjdGlvbj8ucGVyZm9ybSgpXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbGF5U3RvcEFjdGlvbj8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cInBsYXlTdG9wQWN0aW9uPy5kaXNhYmxlZCA/ICdncmV5JyA6ICd5ZWxsb3cnXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5zdG9wPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIXNjcmVlblhzXCIgbWF0VG9vbHRpcD1cIlRvZ2dsZSBkZXRhaWxlZCBhdWRpbyBkaXNwbGF5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVBdWRpb0RldGFpbHMgfHwgIWF1ZGlvTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93UmVjb3JkaW5nRGV0YWlscygpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj57eyhhdWRpb1NpZ25hbENvbGxhcHNlZCkgPyBcImV4cGFuZF9sZXNzXCIgOiBcImV4cGFuZF9tb3JlXCJ9fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXRUb29sdGlwPVwiRG93bmxvYWQgY3VycmVudCByZWNvcmRpbmdcIiAqbmdJZj1cImVuYWJsZURvd25sb2FkXCIgW2Rpc2FibGVkXT1cImRpc2FibGVBdWRpb0RldGFpbHMgfHwgIWF1ZGlvTG9hZGVkXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFJlY29yZGluZygpXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5maWxlX2Rvd25sb2FkPC9tYXQtaWNvbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8ZGl2IHN0eWxlPVwibWluLXdpZHRoOiAxNGNoO3BhZGRpbmc6MnB4XCI+PHRhYmxlIHN0eWxlPVwiYm9yZGVyLXN0eWxlOiBub25lXCI+PHRyPjx0ZD5QZWFrOjwvdGQ+PHRkPjxzcGFuIG1hdFRvb2x0aXA9XCJQZWFrIGxldmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIihwZWFrRGJMdmwgPiB3YXJuRGJMZXZlbCk/J3JlZCc6J2JsYWNrJ1wiPnt7cGVha0RiTHZsIHwgbnVtYmVyOicxLjEtMSd9fSBkQiA8L3NwYW4+PC90ZD48L3RyPlxyXG4gICAgICAgICAgPHRyICpuZ0lmPVwiX2FnY1wiPjx0ZD5BR0M6PC90ZD48dGQ+PHNwYW4gbWF0VG9vbHRpcD1cIkF1dG8gZ2FpbiBjb250cm9sXCI+e3thZ2NTdHJpbmd9fTwvc3Bhbj48L3RkPjwvdHI+PC90YWJsZT48L2Rpdj5cclxuICAgIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0IHtcclxuICAgICAgICBmbGV4OiAwOyAvKiBvbmx5IHJlcXVpcmVkIHZlcnRpY2FsIHNwYWNlICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2dyYXk7XHJcbiAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4OyAvKiBmbGV4IGNvbnRhaW5lcjogbGVmdCBsZXZlbCBiYXIsIHJpZ2h0IGRlY2ltYWwgcGVhayBsZXZlbCB2YWx1ZSAqL1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IC8qIHdyYXAgY291bGQgY29tcGxldGVseSBkZXN0cm95IHRoZSBsYXlvdXQgKi9cclxuICAgIH1gLCBgc3BhbiB7XHJcbiAgICAgICAgZmxleDogMDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgfWAsYFxyXG4gICAgIGJ1dHRvbiB7XHJcbiAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICAgICB9YF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWNvcmRpbmdJdGVtQ29udHJvbHMgZXh0ZW5kcyBSZXNwb25zaXZlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY2U6IEhUTUxEaXZFbGVtZW50fG51bGw9bnVsbDtcclxuICBASW5wdXQoKSBhdWRpb1NpZ25hbENvbGxhcHNlZDogYm9vbGVhbj10cnVlO1xyXG4gIHByaXZhdGUgX2Rpc3BsYXlBdWRpb0J1ZmZlcjogQXVkaW9CdWZmZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBlbmFibGVEb3dubG9hZDogYm9vbGVhbj1mYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcGVha0RiTHZsID0gTUlOX0RCX0xFVkVMO1xyXG5cclxuICBfZGlzcGxheUxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsPW51bGw7XHJcblxyXG4gIF9hZ2M6Ym9vbGVhbnxudWxsfHVuZGVmaW5lZD11bmRlZmluZWQ7XHJcbiAgYWdjU3RyaW5nPSduL2EnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgYWdjKGFnYzpib29sZWFufG51bGx8dW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2FnYz1hZ2M7XHJcbiAgICBpZih0aGlzLl9hZ2M9PT11bmRlZmluZWQgfHwgdGhpcy5fYWdjPT09bnVsbCl7XHJcbiAgICAgIHRoaXMuYWdjU3RyaW5nPSduL2EnO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGlmKHRoaXMuX2FnYz09PXRydWUpe1xyXG4gICAgICAgIHRoaXMuYWdjU3RyaW5nPSdPbic7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuYWdjU3RyaW5nPSdPZmYnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb25TaG93UmVjb3JkaW5nRGV0YWlsczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBvbkRvd25sb2FkUmVjb3JkaW5nOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGRpc2FibGVBdWRpb0RldGFpbHM9dHJ1ZTtcclxuICBASW5wdXQoKSBhdWRpb0xvYWRlZD1mYWxzZTtcclxuICAvL0BJbnB1dCgpIGNvbnRyb2xBdWRpb1BsYXllcjogQXVkaW9QbGF5ZXI7XHJcbiAgQElucHV0KCkgcGxheVN0YXJ0QWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgQElucHV0KCkgcGxheVN0b3BBY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICBwbGF5U3RhcnRFbmFibGVkID0gZmFsc2U7XHJcbiAgcGxheVN0b3BFbmFibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSB1cGRhdGVUaW1lcklkOiBudW1iZXJ8bnVsbD1udWxsO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IGZhbHNlO1xyXG5cclxuICB3YXJuRGJMZXZlbCA9IERFRkFVTFRfV0FSTl9EQl9MRVZFTDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGJwbzpCcmVha3BvaW50T2JzZXJ2ZXIscHJpdmF0ZSByZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcihicG8pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzaG93UmVjb3JkaW5nRGV0YWlscygpIHtcclxuICAgIHRoaXMub25TaG93UmVjb3JkaW5nRGV0YWlscy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFJlY29yZGluZygpIHtcclxuICAgIHRoaXMub25Eb3dubG9hZFJlY29yZGluZy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNlID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGRpc3BsYXlMZXZlbEluZm9zKGxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9kaXNwbGF5TGV2ZWxJbmZvcyA9IGxldmVsSW5mb3M7XHJcbiAgfVxyXG5cclxuICBlcnJvcigpIHtcclxuICAgIC8vIHRoaXMuc3RhdHVzID0gJ0VSUk9SJztcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Nwci1yZWNvcmRpbmdpdGVtZGlzcGxheScsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8ZGl2IFtjbGFzc109XCJ7YXVkaW9TdGF0dXNEaXNwbGF5OiFzY3JlZW5YcyxhdWRpb1N0YXR1c0Rpc3BsYXlYczpzY3JlZW5Yc31cIj5cclxuICAgICAgICA8YXVkaW8tbGV2ZWxiYXIgc3R5bGU9XCJmbGV4OjEgMCAxJVwiIFtzdHJlYW1pbmdNb2RlXT1cInN0cmVhbWluZ01vZGVcIiBbZGlzcGxheUxldmVsSW5mb3NdPVwiX2Rpc3BsYXlMZXZlbEluZm9zXCI+PC9hdWRpby1sZXZlbGJhcj5cclxuICAgICAgICA8c3ByLXJlY29yZGluZ2l0ZW1jb250cm9scyBzdHlsZT1cImZsZXg6MCAwIDBweFwiIFthdWRpb0xvYWRlZF09XCJkaXNwbGF5QXVkaW9CdWZmZXIhPT1udWxsXCIgW3BsYXlTdGFydEFjdGlvbl09XCJwbGF5U3RhcnRBY3Rpb25cIiBbcGxheVN0b3BBY3Rpb25dPVwicGxheVN0b3BBY3Rpb25cIiBbcGVha0RiTHZsXT1cInBlYWtEYkx2bFwiIFthZ2NdPVwiX2FnY1wiIChvblNob3dSZWNvcmRpbmdEZXRhaWxzKT1cIm9uU2hvd1JlY29yZGluZ0RldGFpbHMuZW1pdCgpXCI+PC9zcHItcmVjb3JkaW5naXRlbWNvbnRyb2xzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBzdHlsZXM6IFtgZGl2IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZ3JheTtcclxuICAgICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgLyogd3JhcCBjb3VsZCBjb21wbGV0ZWx5IGRlc3Ryb3kgdGhlIGxheW91dCAqL1xyXG4gICAgfWAsIGBhdWRpby1sZXZlbGJhciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1gLGAuYXVkaW9TdGF0dXNEaXNwbGF5e1xyXG4gICAgZGlzcGxheTpmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGhlaWdodDoxMDBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gIH1gLGAuYXVkaW9TdGF0dXNEaXNwbGF5WHN7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgaGVpZ2h0OjEyNXB4O1xyXG4gICAgbWluLWhlaWdodDogMTI1cHg7XHJcbiAgfWBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVjb3JkaW5nSXRlbURpc3BsYXkgZXh0ZW5kcyBSZXNwb25zaXZlQ29tcG9uZW50IGltcGxlbWVudHMgTGV2ZWxMaXN0ZW5lciwgT25EZXN0cm95IHtcclxuXHJcbiAgICBjZTogSFRNTERpdkVsZW1lbnR8bnVsbD1udWxsO1xyXG4gICAgQFZpZXdDaGlsZChMZXZlbEJhciwgeyBzdGF0aWM6IHRydWUgfSkgbGl2ZUxldmVsITogTGV2ZWxCYXI7XHJcbiAgICBASW5wdXQoKSBzdHJlYW1pbmdNb2RlOiBib29sZWFuPWZhbHNlO1xyXG4gICAgQElucHV0KCkgYXVkaW9TaWduYWxDb2xsYXBzZWQ6IGJvb2xlYW49dHJ1ZTtcclxuICAgIHByaXZhdGUgX2Rpc3BsYXlBdWRpb0J1ZmZlcjogQXVkaW9CdWZmZXIgfCBudWxsfHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIGVuYWJsZURvd25sb2FkOiBib29sZWFuPWZhbHNlO1xyXG5cclxuICAgIHBlYWtEYkx2bCA9IE1JTl9EQl9MRVZFTDtcclxuXHJcbiAgICBfZGlzcGxheUxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsPW51bGw7XHJcblxyXG4gICAgX2FnYzpib29sZWFufG51bGx8dW5kZWZpbmVkPXVuZGVmaW5lZDtcclxuICAgIGFnY1N0cmluZz0nbi9hJztcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgYWdjKGFnYzpib29sZWFufG51bGx8dW5kZWZpbmVkKXtcclxuICAgICAgdGhpcy5fYWdjPWFnYztcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgb25TaG93UmVjb3JkaW5nRGV0YWlsczogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gICAgQE91dHB1dCgpIG9uRG93bmxvYWRSZWNvcmRpbmc6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgICAvL0BJbnB1dCgpIGNvbnRyb2xBdWRpb1BsYXllcjogQXVkaW9QbGF5ZXI7XHJcbiAgICBASW5wdXQoKSBwbGF5U3RhcnRBY3Rpb246QWN0aW9uPHZvaWQ+fHVuZGVmaW5lZDtcclxuICAgIEBJbnB1dCgpIHBsYXlTdG9wQWN0aW9uOkFjdGlvbjx2b2lkPnx1bmRlZmluZWQ7XHJcbiAgICBwbGF5U3RhcnRFbmFibGVkID0gZmFsc2U7XHJcbiAgICBwbGF5U3RvcEVuYWJsZWQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgdXBkYXRlVGltZXJJZDogbnVtYmVyfG51bGw9bnVsbDtcclxuXHJcbiAgICBwcml2YXRlIGRlc3Ryb3llZCA9IGZhbHNlO1xyXG5cclxuICAgIHdhcm5EYkxldmVsID0gREVGQVVMVF9XQVJOX0RCX0xFVkVMO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBicG86QnJlYWtwb2ludE9ic2VydmVyLHByaXZhdGUgcmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgICAgIHN1cGVyKGJwbyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGRpc3BsYXlBdWRpb0J1ZmZlcihkaXNwbGF5QXVkaW9CdWZmZXI6IEF1ZGlvQnVmZmVyIHwgbnVsbHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheUF1ZGlvQnVmZmVyID0gZGlzcGxheUF1ZGlvQnVmZmVyO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5QXVkaW9CdWZmZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlBdWRpb0J1ZmZlcjtcclxuICAgIH1cclxuXHJcbiAgICBzaG93UmVjb3JkaW5nRGV0YWlscygpIHtcclxuICAgICAgICB0aGlzLm9uU2hvd1JlY29yZGluZ0RldGFpbHMuZW1pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGRvd25sb2FkUmVjb3JkaW5nKCkge1xyXG4gICAgICAgIHRoaXMub25Eb3dubG9hZFJlY29yZGluZy5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuY2UgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIC8vdGhpcy5jb250cm9sQXVkaW9QbGF5ZXIubGlzdGVuZXI9dGhpcztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGRpc3BsYXlMZXZlbEluZm9zKGxldmVsSW5mb3M6IExldmVsSW5mb3MgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5fZGlzcGxheUxldmVsSW5mb3MgPSBsZXZlbEluZm9zO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBjaGFubmVsQ291bnQoY2hhbm5lbENvdW50OiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgdGhpcy5saXZlTGV2ZWwuY2hhbm5lbENvdW50ID0gY2hhbm5lbENvdW50O1xyXG4gICAgfVxyXG5cclxuICBzZXQgcGxheUZyYW1lUG9zaXRpb24ocGxheUZyYW1lUG9zaXRpb246IG51bWJlcikge1xyXG4gICAgdGhpcy5saXZlTGV2ZWwucGxheUZyYW1lUG9zaXRpb249cGxheUZyYW1lUG9zaXRpb247XHJcbiAgfVxyXG5cclxuICAgIHVwZGF0ZShsZXZlbEluZm86IExldmVsSW5mbywgcGVha0xldmVsSW5mbzogTGV2ZWxJbmZvKSB7XHJcbiAgICAgICAgbGV0IHBlYWtEQlZhbCA9IGxldmVsSW5mby5wb3dlckxldmVsREIoKTtcclxuICAgICAgICBpZiAodGhpcy5wZWFrRGJMdmwgPCBwZWFrREJWYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5wZWFrRGJMdmwgPSBwZWFrREJWYWw7XHJcbiAgICAgICAgICAgIC8vIHRoZSBldmVudCBjb21lcyBmcm9tIG91dHNpZGUgYW4gQW5ndWxhciB6b25lXHJcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpdmVMZXZlbC51cGRhdGUobGV2ZWxJbmZvKTtcclxuICAgIH1cclxuXHJcbiAgICBlcnJvcigpIHtcclxuICAgICAgICAvLyB0aGlzLnN0YXR1cyA9ICdFUlJPUic7XHJcbiAgICB9XHJcblxyXG4gICAgc3RyZWFtRmluaXNoZWQoKSB7XHJcbiAgICAgICAgdGhpcy5saXZlTGV2ZWwuc3RyZWFtRmluaXNoZWQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpIHtcclxuICAgICAgICB0aGlzLnBlYWtEYkx2bCA9IE1JTl9EQl9MRVZFTDtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -15,10 +15,10 @@ export class ResponsiveComponent {
|
|
|
15
15
|
//console.debug("Screen XS: "+this.screenXs);
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResponsiveComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.1", type: ResponsiveComponent, ngImport: i0 }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: ResponsiveComponent, decorators: [{
|
|
22
22
|
type: Directive
|
|
23
23
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
|
|
24
24
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZV9jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvdWkvcmVzcG9uc2l2ZV9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFHeEMsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QixZQUFzQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUY1RCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2Ysa0JBQWtCO2FBQ2YsT0FBTyxDQUFDO1lBQ1AsV0FBVyxDQUFDLE1BQU07U0FDbkIsQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLDZDQUE2QztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBYlUsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHN9IGZyb20gXCJAYW5ndWxhci9jZGsvbGF5b3V0XCI7XHJcbmltcG9ydCB7RGlyZWN0aXZlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlQ29tcG9uZW50IHtcclxuXHJcbiAgc2NyZWVuWHMgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgICBicmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoW1xyXG4gICAgICAgIEJyZWFrcG9pbnRzLlhTbWFsbFxyXG4gICAgICBdKVxyXG4gICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy5zY3JlZW5YcyA9IChyZXN1bHQubWF0Y2hlcyk7XHJcbiAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiU2NyZWVuIFhTOiBcIit0aGlzLnNjcmVlblhzKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|