speechrecorderng 2.23.7 → 2.23.8

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.
@@ -6,6 +6,7 @@ import { SessionService } from "./speechrecorder/session/session.service";
6
6
  import { ProjectUtil } from "./speechrecorder/project/project";
7
7
  import { AudioContextProvider } from "./audio/context";
8
8
  import { Arrays } from "./utils/utils";
9
+ import { RecorderComponent } from "./recorder_component";
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/router";
11
12
  import * as i2 from "./speechrecorder/session/session.service";
@@ -19,8 +20,9 @@ export var Mode;
19
20
  Mode[Mode["SINGLE_SESSION"] = 0] = "SINGLE_SESSION";
20
21
  Mode[Mode["DEMO"] = 1] = "DEMO";
21
22
  })(Mode || (Mode = {}));
22
- export class SpeechrecorderngComponent {
23
+ export class SpeechrecorderngComponent extends RecorderComponent {
23
24
  constructor(route, router, changeDetectorRef, sessionsService, projectService, scriptService, recFilesService, uploader) {
25
+ super();
24
26
  this.route = route;
25
27
  this.router = router;
26
28
  this.changeDetectorRef = changeDetectorRef;
@@ -401,7 +403,7 @@ export class SpeechrecorderngComponent {
401
403
  }
402
404
  }
403
405
  SpeechrecorderngComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", 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 });
404
- SpeechrecorderngComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], ngImport: i0, template: `
406
+ SpeechrecorderngComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
405
407
  <app-sprrecordingsession [projectName]="project?.name" [dataSaved]="dataSaved"></app-sprrecordingsession>
406
408
  `, isInline: true, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0}\n"], components: [{ type: i7.SessionManager, selector: "app-sprrecordingsession", inputs: ["projectName", "dataSaved"] }] });
407
409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SpeechrecorderngComponent, decorators: [{
@@ -424,4 +426,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
424
426
  type: ViewChild,
425
427
  args: [SessionManager, { static: true }]
426
428
  }] } });
427
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFBO0FBQzVGLE9BQU8sRUFDa0MsU0FBUyxJQUFJLGlCQUFpQixFQUNyRSxXQUFXLEVBQ1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsY0FBYyxFQUFnQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZHLE9BQU8sRUFBNkIsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBSXhFLE9BQU8sRUFBVSxXQUFXLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFFckMsTUFBTSxDQUFOLElBQVksSUFBMEI7QUFBdEMsV0FBWSxJQUFJO0lBQUUsbURBQWMsQ0FBQTtJQUFDLCtCQUFJLENBQUE7QUFBQSxDQUFDLEVBQTFCLElBQUksS0FBSixJQUFJLFFBQXNCO0FBa0J0QyxNQUFNLE9BQU8seUJBQXlCO0lBY3BDLFlBQW9CLEtBQXFCLEVBQ2YsTUFBYyxFQUNsQixpQkFBb0MsRUFDcEMsZUFBOEIsRUFDOUIsY0FBNkIsRUFDN0IsYUFBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsUUFBK0I7UUFQakMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2xCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUs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UyxHQUFDLFFBQVEsQ0FBQztTQUMzQjtJQUNGLENBQUM7SUFDRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLEdBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFDLG1CQUFtQixDQUFDO0lBQ3ZDLENBQUM7O3NIQW5iVSx5QkFBeUI7MEdBQXpCLHlCQUF5Qiw2Q0FiekIsQ0FBQyxjQUFjLENBQUMsOERBeUJoQixjQUFjLDhEQXhCZjs7R0FFVDsyRkFVVSx5QkFBeUI7a0JBaEJyQyxTQUFTO21CQUFDO29CQUVULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDM0IsUUFBUSxFQUFFOztHQUVUO29CQUNELE1BQU0sRUFBRSxDQUFDOzs7Ozs7SUFNUCxDQUFDO2lCQUVKO29UQWE4QyxFQUFFO3NCQUE5QyxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3RvclJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQge1xyXG4gIEF1ZGlvUGxheWVyTGlzdGVuZXIsIEF1ZGlvUGxheWVyRXZlbnQsIEV2ZW50VHlwZSBhcyBQbGF5YmFja0V2ZW50VHlwZSxcclxuICBBdWRpb1BsYXllclxyXG59IGZyb20gJy4vYXVkaW8vcGxheWJhY2svcGxheWVyJztcclxuaW1wb3J0IHtHcm91cCwgT3JkZXIsIFByb21wdEl0ZW0sIFNjcmlwdH0gZnJvbSAnLi9zcGVlY2hyZWNvcmRlci9zY3JpcHQvc2NyaXB0J1xyXG5pbXBvcnQgeyBTZXNzaW9uTWFuYWdlcixTdGF0dXMgYXMgU2Vzc2lvbk1hbmFnZXJTdGF0dXN9IGZyb20gJy4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9ubWFuYWdlcic7XHJcbmltcG9ydCB7IFVwbG9hZGVyU3RhdHVzQ2hhbmdlRXZlbnQsIFVwbG9hZGVyU3RhdHVzIH0gZnJvbSAnLi9uZXQvdXBsb2FkZXInO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge1Nlc3Npb25TZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQge1NjcmlwdFNlcnZpY2V9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQuc2VydmljZVwiO1xyXG5pbXBvcnQge1NwZWVjaFJlY29yZGVyVXBsb2FkZXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3NwcnVwbG9hZGVyXCI7XHJcbmltcG9ydCB7U2Vzc2lvbn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uXCI7XHJcbmltcG9ydCB7UHJvamVjdCwgUHJvamVjdFV0aWx9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Byb2plY3QvcHJvamVjdFwiO1xyXG5pbXBvcnQge1Byb2plY3RTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9wcm9qZWN0L3Byb2plY3Quc2VydmljZVwiO1xyXG5pbXBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9hdWRpby9jb250ZXh0XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nU2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5ncy9yZWNvcmRpbmdzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdGaWxlRGVzY3JpcHRvckltcGx9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3JlY29yZGluZ1wiO1xyXG5pbXBvcnQge0FycmF5c30gZnJvbSBcIi4vdXRpbHMvdXRpbHNcIjtcclxuXHJcbmV4cG9ydCBlbnVtIE1vZGUge1NJTkdMRV9TRVNTSU9OLERFTU99XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtc3BlZWNocmVjb3JkZXInLFxyXG4gIHByb3ZpZGVyczogW1Nlc3Npb25TZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGFwcC1zcHJyZWNvcmRpbmdzZXNzaW9uIFtwcm9qZWN0TmFtZV09XCJwcm9qZWN0Py5uYW1lXCIgW2RhdGFTYXZlZF09XCJkYXRhU2F2ZWRcIj48L2FwcC1zcHJyZWNvcmRpbmdzZXNzaW9uPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0e1xyXG4gICAgZmxleDogMjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWluLWhlaWdodDowO1xyXG5cclxuICB9YF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQsQXVkaW9QbGF5ZXJMaXN0ZW5lciB7XHJcblxyXG5cdCAgbW9kZSE6TW9kZTtcclxuXHRcdGNvbnRyb2xBdWRpb1BsYXllciE6QXVkaW9QbGF5ZXI7XHJcblx0XHRhdWRpbzphbnk7XHJcblxyXG5cdF9wcm9qZWN0OlByb2plY3R8bnVsbD1udWxsO1xyXG4gIHNlc3Npb25JZCE6IHN0cmluZztcclxuICBzZXNzaW9uITpTZXNzaW9uO1xyXG5cclxuICBzY3JpcHQhOlNjcmlwdDtcclxuICAgIGRhdGFTYXZlZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQFZpZXdDaGlsZChTZXNzaW9uTWFuYWdlciwgeyBzdGF0aWM6IHRydWUgfSkgc20hOlNlc3Npb25NYW5hZ2VyO1xyXG5cclxuXHRcdGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgICAgICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2Vzc2lvbnNTZXJ2aWNlOlNlc3Npb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBwcm9qZWN0U2VydmljZTpQcm9qZWN0U2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2NyaXB0U2VydmljZTpTY3JpcHRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZWNGaWxlc1NlcnZpY2U6UmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgdXBsb2FkZXI6U3BlZWNoUmVjb3JkZXJVcGxvYWRlcikge1xyXG5cdFx0fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG5cdFx0ICB0cnkge1xyXG4gICAgICAgIGxldCBhdWRpb0NvbnRleHQgPSBBdWRpb0NvbnRleHRQcm92aWRlci5hdWRpb0NvbnRleHRJbnN0YW5jZSgpO1xyXG4gICAgICAgICAgICAgIGlmKGF1ZGlvQ29udGV4dCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2xBdWRpb1BsYXllciA9IG5ldyBBdWRpb1BsYXllcihhdWRpb0NvbnRleHQsIHRoaXMpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICB0aGlzLnNtLmNvbnRyb2xBdWRpb1BsYXllcj10aGlzLmNvbnRyb2xBdWRpb1BsYXllcjtcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSAnUGxheWVyIGluaXRpYWxpemVkLic7XHJcbiAgICAgIH1jYXRjaChlcnIpe1xyXG4gICAgICAgIGxldCBlcnJNc2c9J1Vua25vd24gZXJyb3InO1xyXG4gICAgICAgIGlmKGVyciBpbnN0YW5jZW9mIEVycm9yKXtcclxuICAgICAgICAgIGVyck1zZz1lcnIubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2c9ZXJyTXNnO1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJNc2cpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICAgIG5nQWZ0ZXJWaWV3SW5pdCgpe1xyXG5cclxuXHRcdCAgaWYodGhpcy5zbS5zdGF0dXMhPT0gU2Vzc2lvbk1hbmFnZXJTdGF0dXMuRVJST1IpIHtcclxuICAgICAgICBsZXQgaW5pdFN1Y2Nlc3MgPSB0aGlzLmluaXQoKTtcclxuICAgICAgICBpZiAoaW5pdFN1Y2Nlc3MpIHtcclxuICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocGFyYW1zWydzZXNzaW9uSWQnXSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2hTZXNzaW9uKHBhcmFtc1snc2Vzc2lvbklkJ10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCByb3V0ZVBhcmFtc0lkID0gcGFyYW1zWydpZCddO1xyXG4gICAgICAgICAgICBpZiAocm91dGVQYXJhbXNJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2hTZXNzaW9uKHJvdXRlUGFyYW1zSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZldGNoU2Vzc2lvbihzZXNzaW9uSWQ6c3RyaW5nKXtcclxuXHJcblxyXG5cdFx0ICAvL0Vycm9yOiBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yOiBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkLiBQcmV2aW91cyB2YWx1ZTogJ3N0YXR1c01zZzogUGxheWVyIGluaXRpYWxpemVkLicuIEN1cnJlbnQgdmFsdWU6ICdzdGF0dXNNc2c6IEZldGNoaW5nIHNlc3Npb24gaW5mby4uLicuXHJcbiAgICAgIC8vIHBhcmFtcy5zdWJzY3JpYmUgc2VlbXMgbm90IHRvIGJlIGFzeW5jaHJvbm91c1xyXG5cclxuICAgICAgLy8gdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2luZm8nO1xyXG4gICAgICAvLyB0aGlzLnNtLnN0YXR1c01zZyA9ICdGZXRjaGluZyBzZXNzaW9uIGluZm8uLi4nO1xyXG4gICAgICAvLyB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9dHJ1ZTtcclxuICAgICAgbGV0IHNlc3NPYnM9IHRoaXMuc2Vzc2lvbnNTZXJ2aWNlLnNlc3Npb25PYnNlcnZlcihzZXNzaW9uSWQpO1xyXG5cclxuICAgICAgaWYoc2Vzc09icykge1xyXG4gICAgICAgIHNlc3NPYnMuc3Vic2NyaWJlKHNlc3MgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZXRTZXNzaW9uKHNlc3MpO1xyXG4gICAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzTXNnID0gJ1JlY2VpdmVkIHNlc3Npb24gaW5mby4nO1xyXG4gICAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICBpZiAoc2Vzcy5wcm9qZWN0KSB7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlNlc3Npb24gYXNzb2NpYXRlZCBwcm9qZWN0OiBcIitzZXNzLnByb2plY3QpXHJcbiAgICAgICAgICAgIHRoaXMucHJvamVjdFNlcnZpY2UucHJvamVjdE9ic2VydmFibGUoc2Vzcy5wcm9qZWN0KS5zdWJzY3JpYmUocHJvamVjdD0+e1xyXG4gICAgICAgICAgICAgIHRoaXMucHJvamVjdD1wcm9qZWN0O1xyXG4gICAgICAgICAgICAgIHRoaXMuZmV0Y2hTY3JpcHQoc2Vzcyk7XHJcbiAgICAgICAgICAgIH0scmVhc29uID0+e1xyXG4gICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzTXNnPXJlYXNvbjtcclxuICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0nZXJyb3InO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNXYWl0aW5nPWZhbHNlO1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBmZXRjaGluZyBwcm9qZWN0IGNvbmZpZzogXCIrcmVhc29uKVxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oXCJTZXNzaW9uIGhhcyBubyBhc3NvY2lhdGVkIHByb2plY3QuIFVzaW5nIGRlZmF1bHQgY29uZmlndXJhdGlvbi5cIilcclxuICAgICAgICAgICAgdGhpcy5mZXRjaFNjcmlwdChzZXNzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChyZWFzb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSByZWFzb247XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlID0gJ2Vycm9yJztcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNXYWl0aW5nPWZhbHNlO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZmV0Y2hpbmcgc2Vzc2lvbiBcIiArIHJlYXNvbilcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGZldGNoU2NyaXB0KHNlc3M6U2Vzc2lvbil7XHJcbiAgICAgIGlmKHNlc3Muc2NyaXB0KXtcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSAnRmV0Y2hpbmcgcmVjb3JkaW5nIHNjcmlwdC4uLic7XHJcbiAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9dHJ1ZTtcclxuICAgICAgICB0aGlzLnNjcmlwdFNlcnZpY2Uuc2NyaXB0T2JzZXJ2YWJsZShzZXNzLnNjcmlwdCkuc3Vic2NyaWJlKHNjcmlwdD0+e1xyXG4gICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2luZm8nO1xyXG4gICAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSAnUmVjZWl2ZWQgcmVjb3JkaW5nIHNjcmlwdC4nO1xyXG4gICAgICAgICAgdGhpcy5zbS5zdGF0dXNXYWl0aW5nPWZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zZXRTY3JpcHQoc2NyaXB0KVxyXG4gICAgICAgICAgdGhpcy5zbS5zZXNzaW9uPXNlc3M7XHJcbiAgICAgICAgICB0aGlzLmZldGNoUmVjb3JkaW5ncyhzZXNzLHRoaXMuc2NyaXB0KVxyXG4gICAgICAgIH0scmVhc29uID0+e1xyXG4gICAgICAgICAgbGV0IGVyck1zZz1cIkVycm9yIGZldGNoaW5nIHJlY29yZGluZyBzY3JpcHQ6IFwiK3JlYXNvblxyXG4gICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyTXNnKVxyXG4gICAgICAgICAgICB0aGlzLnNtLnN0YXR1c01zZz1lcnJNc2c7XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZz1mYWxzZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBsZXQgZXJyTXNnPVwiTm8gcmVjb3JkaW5nIHNjcmlwdCBpcyBkZWZpbmVkIGZvciB0aGlzIHNlc3Npb24gd2l0aCBJRCBcIitzZXNzLnNlc3Npb25JZDtcclxuICAgICAgICBjb25zb2xlLmVycm9yKHRoaXMuc20uc3RhdHVzTXNnKVxyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzTXNnPWVyck1zZztcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0nZXJyb3InO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBmZXRjaFJlY29yZGluZ3Moc2VzczpTZXNzaW9uLHNjcmlwdDpTY3JpcHQpe1xyXG4gICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgIHRoaXMuc20uc3RhdHVzTXNnID0gJ0ZldGNoaW5nIGluZm9zIG9mIHJlY29yZGluZ3MuLi4nO1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZz10cnVlO1xyXG4gICAgICAgIGxldCBwck5tOnN0cmluZ3xudWxsPW51bGw7XHJcbiAgICAgICAgaWYodGhpcy5wcm9qZWN0KSB7XHJcbiAgICAgICAgICAgIGxldCByZnNPYnMgPSB0aGlzLnJlY0ZpbGVzU2VydmljZS5yZWNvcmRpbmdGaWxlRGVzY3JMaXN0KHRoaXMucHJvamVjdC5uYW1lLCBzZXNzLnNlc3Npb25JZCk7XHJcbiAgICAgICAgICAgIHJmc09icy5zdWJzY3JpYmUoKHJmczogQXJyYXk8UmVjb3JkaW5nRmlsZURlc2NyaXB0b3JJbXBsPikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGUgPSAnaW5mbyc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c01zZyA9ICdSZWNlaXZlZCBpbmZvcyBvZiByZWNvcmRpbmdzLic7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGlmIChyZnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmZzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmZzLmZvckVhY2goKHJmKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJBbHJlYWR5IHJlY29yZGVkOiBcIiArIHJmKyBcIiBcIityZi5yZWNvcmRpbmcuaXRlbWNvZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zbS5hZGRSZWNvcmRpbmdGaWxlQnlEZXNjcmlwdG9yKHJmKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFeHBlY3RlZCB0eXBlIGFycmF5IGZvciBsaXN0IG9mIGFscmVhZHkgcmVjb3JkZWQgZmlsZXMgJylcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlY29yZGluZyBmaWxlIGxpc3Q6IFwiICsgcmZzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgLy8gd2Ugc3RhcnQgdGhlIHNlc3Npb24gYW55d2F5XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0U2Vzc2lvbigpXHJcbiAgICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRTZXNzaW9uKClcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgLy8gVE9ET1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydFNlc3Npb24oKXtcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9ZmFsc2U7XHJcblx0XHQgIHRoaXMuc20uc3RhcnQoKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgICAgIHNldFNlc3Npb24oc2Vzc2lvbjphbnkpe1xyXG5cdFx0ICAgIGlmKHNlc3Npb24pIHtcclxuICAgICAgICAgICAgICAgLy8gY29uc29sZS5kZWJ1ZyhcIlNlc3Npb24gSUQ6IFwiICsgc2Vzc2lvbi5zZXNzaW9uSWQpO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlNlc3Npb24gVW5kZWZpbmVkXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZWFkeSgpOmJvb2xlYW57XHJcblx0XHQgICAgcmV0dXJuIHRoaXMuZGF0YVNhdmVkICYmICF0aGlzLnNtLmlzQWN0aXZlKClcclxuICAgICAgICB9XHJcblxyXG5cdFx0aW5pdCgpOmJvb2xlYW4ge1xyXG5cclxuXHRcdFx0dmFyIG4gPSA8YW55Pm5hdmlnYXRvcjtcclxuXHRcdFx0Ly92YXIgZ2V0VXNlck1lZGlhRm5jdD0gbi5nZXRVc2VyTWVkaWEgfHwgbi53ZWJraXRHZXRVc2VyTWVkaWEgfHxcclxuXHRcdFx0Ly9cdG4ubW96R2V0VXNlck1lZGlhIHx8IG4ubXNHZXRVc2VyTWVkaWE7XHJcblx0XHRcdHZhciB3ID0gPGFueT53aW5kb3c7XHJcblx0XHRcdC8vIFRPRE8gdGVzdCBvbnlsICEhXHJcblxyXG4gICAgICAvLyBsZXQgZGVidWdGYWlsPXRydWU7XHJcblx0XHQvLyBcdEF1ZGlvQ29udGV4dCA9IHcuQXVkaW9Db250ZXh0IHx8IHcud2Via2l0QXVkaW9Db250ZXh0O1xyXG5cdFx0Ly8gXHRpZiAodHlwZW9mIEF1ZGlvQ29udGV4dCAhPT0gJ2Z1bmN0aW9uJyB8fCBkZWJ1Z0ZhaWwpIHtcclxuICAgICAgLy8gICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcblx0XHQvLyBcdFx0dGhpcy5zbS5zdGF0dXNNc2cgPSAnRVJST1I6IEJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBXZWIgQXVkaW8gQVBJISc7XHJcblx0XHQvLyBcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0Ly8gXHR9IGVsc2Uge1xyXG5cdFx0Ly8gXHRcdHZhciBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpO1xyXG4gICAgICAvL1xyXG5cdFx0Ly8gXHRcdGlmICh0eXBlb2YgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgLy8gICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0nZXJyb3InO1xyXG5cdFx0Ly8gXHRcdFx0dGhpcy5zbS5zdGF0dXNNc2c9ICdFUlJPUjogQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IE1lZGlhIHN0cmVhbXMhJztcclxuICAgICAgLy8gICAgIHJldHVybiBmYWxzZTtcclxuXHRcdC8vIFx0XHR9IGVsc2Uge1xyXG4gICAgICAvL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuc20gPSBuZXcgU2Vzc2lvbk1hbmFnZXIobmV3IFNpbXBsZVRyYWZmaWNMaWdodCgpLCB0aGlzLnVwbG9hZGVyKTtcclxuXHRcdFx0XHRcdC8vdGhpcy5zbS5pbml0KCk7XHJcblx0XHRcdFx0XHQvL3RoaXMuYXAgPSBuZXcgQXVkaW9QbGF5ZXIoY29udGV4dCx0aGlzKTtcclxuXHRcdFx0XHRcdC8vdGhpcy5zbS5saXN0ZW5lcj10aGlzO1xyXG5cdFx0XHQvL1x0fVxyXG5cdFx0Ly9cdH1cclxuICAgICAgICAgICAgdGhpcy51cGxvYWRlci5saXN0ZW5lciA9ICh1ZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRVcGRhdGUodWUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5sb2FkJywgKGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJCZWZvcmUgcGFnZSB1bmxvYWQgZXZlbnRcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucmVhZHkoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxsIHRoaXMgYXR0ZW1wdHMgdG8gY3VzdG9taXplIHRoZSBtZXNzYWdlIGRvIG5vdCB3b3JrIGFueW1vcmUgKGZvciBzZWN1cml0eSByZWFzb25zKSEhXHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSBcIlBsZWFzZSBkbyBub3QgbGVhdmUgdGhlIHBhZ2UsIHVudGlsIGFsbCByZWNvcmRpbmdzIGFyZSB1cGxvYWRlZCFcIjtcclxuICAgICAgICAgICAgICAgICAgICBhbGVydChtZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucmV0dXJuVmFsdWUgPSBtZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLmNhbmNlbEJ1YmJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnN0b3BQcm9wYWdhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5wcmV2ZW50RGVmYXVsdCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgdXBsb2FkVXBkYXRlKHVlOiBVcGxvYWRlclN0YXR1c0NoYW5nZUV2ZW50KSB7XHJcbiAgICBsZXQgdXBTdGF0dXMgPSB1ZS5zdGF0dXM7XHJcbiAgICB0aGlzLmRhdGFTYXZlZCA9IChVcGxvYWRlclN0YXR1cy5ET05FID09PSB1cFN0YXR1cyk7XHJcbiAgICBsZXQgcGVyY2VudFVwbCA9IHVlLnBlcmNlbnREb25lKCk7XHJcbiAgICBpZiAoVXBsb2FkZXJTdGF0dXMuRVJSID09PSB1cFN0YXR1cykge1xyXG4gICAgICB0aGlzLnNtLnVwbG9hZFN0YXR1cyA9ICd3YXJuJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHBlcmNlbnRVcGwgPCA1MCkge1xyXG4gICAgICAgIHRoaXMuc20udXBsb2FkU3RhdHVzID0gJ2FjY2VudCdcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNtLnVwbG9hZFN0YXR1cyA9ICdzdWNjZXNzJ1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc20udXBsb2FkUHJvZ3Jlc3MgPSBwZXJjZW50VXBsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBjb25maWd1cmUoKSB7XHJcblxyXG5cclxuXHJcbiAgICAgIHRoaXMubG9hZFByb2plY3RDZmcoKCkgPT4ge1xyXG4gICAgICAgIC8vIGRpc3BsYXkgcHJvamVjdCBuYW1lXHJcbiAgICAgICAgbGV0IHByTmFtZTogc3RyaW5nID0gJ1tVbmtub3duXSc7XHJcbiAgICAgICAgaWYgKHRoaXMucHJvamVjdCAmJiB0aGlzLnByb2plY3QubmFtZSkge1xyXG4gICAgICAgICAgcHJOYW1lID0gdGhpcy5wcm9qZWN0Lm5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vdGhpcy50aXRsZUVsLmlubmVyVGV4dCA9IHByTmFtZTtcclxuXHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSByYW5kb21pemUoc2NyaXB0OlNjcmlwdCl7XHJcblx0XHQgICAgc2NyaXB0LnNlY3Rpb25zLmZvckVhY2goKHMpPT57XHJcblx0XHQgICAgICAgIGlmKCdSQU5ET00nPT09cy5vcmRlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIHMuX3NodWZmbGVkR3JvdXBzID0gQXJyYXlzLnNodWZmbGVBcnJheTxHcm91cD4ocy5ncm91cHMpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcblx0XHQgICAgICAgICAgICBzLl9zaHVmZmxlZEdyb3Vwcz1zLmdyb3VwcztcclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdCAgICAgICAgcy5fc2h1ZmZsZWRHcm91cHMuZm9yRWFjaCgoZyk9PntcclxuXHRcdCAgICAgICAgICAgIGlmKCdSQU5ET00nPT09Zy5vcmRlcil7XHJcblx0XHQgICAgICAgICAgICAgICBnLl9zaHVmZmxlZFByb21wdEl0ZW1zPUFycmF5cy5zaHVmZmxlQXJyYXk8UHJvbXB0SXRlbT4oZy5wcm9tcHRJdGVtcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcblx0XHQgICAgICAgICAgICAgICAgZy5fc2h1ZmZsZWRQcm9tcHRJdGVtcz1nLnByb21wdEl0ZW1zO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRTY3JpcHQoc2NyaXB0OlNjcmlwdCl7XHJcbiAgICAgICAgdGhpcy5zY3JpcHQ9c2NyaXB0O1xyXG4gICAgICAgIHRoaXMucmFuZG9taXplKHRoaXMuc2NyaXB0KTtcclxuICAgICAgICB0aGlzLnNtLnNjcmlwdCA9IHRoaXMuc2NyaXB0O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzZXQgcHJvamVjdChwcm9qZWN0OiBQcm9qZWN0fG51bGwpIHtcclxuICAgICAgICB0aGlzLl9wcm9qZWN0ID0gcHJvamVjdDtcclxuICAgICAgICBsZXQgY2hDbnQgPSBQcm9qZWN0VXRpbC5ERUZBVUxUX0FVRElPX0NIQU5ORUxfQ09VTlQ7XHJcblxyXG4gICAgICAgIGlmIChwcm9qZWN0KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIlByb2plY3QgbmFtZTogXCIgKyBwcm9qZWN0Lm5hbWUpXHJcbiAgICAgICAgICAgIHRoaXMuc20uYXVkaW9EZXZpY2VzID0gcHJvamVjdC5hdWRpb0RldmljZXM7XHJcbiAgICAgICAgICAgIGNoQ250ID0gUHJvamVjdFV0aWwuYXVkaW9DaGFubmVsQ291bnQocHJvamVjdCk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIlByb2plY3QgcmVxdWVzdGVkIHJlY29yZGluZyBjaGFubmVsIGNvdW50OiBcIiArIGNoQ250KTtcclxuICAgICAgICAgICAgdGhpcy5zbS5hdXRvR2FpbkNvbnRyb2xDb25maWdzPXByb2plY3QuYXV0b0dhaW5Db250cm9sQ29uZmlncztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRW1wdHkgcHJvamVjdCBjb25maWd1cmF0aW9uIVwiKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNtLmNoYW5uZWxDb3VudCA9IGNoQ250O1xyXG5cclxuICAgIH1cclxuXHJcbiAgZ2V0IHByb2plY3QoKTpQcm9qZWN0fG51bGx7XHJcblx0XHQgIHJldHVybiB0aGlzLl9wcm9qZWN0O1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICBsb2FkUHJvamVjdENmZyhjYWxsYmFjazogKCk9PiBhbnkpe1xyXG4gICAgICBsZXQgcHJvalVybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgICBpZiAodGhpcy5zZXNzaW9uSWQgPT09IG51bGwpIHtcclxuICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lID09PSAnbG9jYWxob3N0JyB8fCB0aGlzLm1vZGUgPT09IE1vZGUuREVNTykge1xyXG4gICAgICAgICAgLy8gZGVidWcgb3IgZGVtbyBtb2RlXHJcbiAgICAgICAgICBwcm9qVXJsID0gJ3Rlc3QvRGVtbzEuanNvbj8nICsgbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGxvYWQgUkVTVGZ1bCBieSBzZXNzaW9uSWRcclxuICAgICAgICBwcm9qVXJsID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgJy8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArICc6JyArIHdpbmRvdy5sb2NhdGlvbi5wb3J0ICsgJy93aWtpc3BlZWNoL3Jlc3QvcHJvamVjdHMvP3Nlc3Npb25JZD0nICsgdGhpcy5zZXNzaW9uSWQ7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIGlmKHByb2pVcmwpIHtcclxuICAgICAgICB2YXIgcExvYWRlciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xyXG4gICAgICAgIHBMb2FkZXIub3BlbihcIkdFVFwiLCBwcm9qVXJsLCB0cnVlKTtcclxuICAgICAgICBwTG9hZGVyLnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uJyk7XHJcbiAgICAgICAgcExvYWRlci5yZXNwb25zZVR5cGUgPSBcImpzb25cIjtcclxuICAgICAgICBwTG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcblxyXG4gICAgICAgICAgdGhpcy5wcm9qZWN0ID0gcExvYWRlci5yZXNwb25zZS5wcm9qZWN0O1xyXG5cclxuICAgICAgICAgIGNhbGxiYWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZG93bmxvYWRpbmcgcHJvamVjdCBkYXRhIC4uLlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcExvYWRlci5zZW5kKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgLy8gbG9hZFNjcmlwdChjYWxsYmFjazogKCk9PmFueSl7XHJcbiAgLy8gICB2YXIgc2NyTG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgLy8gICBsZXQgaG46c3RyaW5nID13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XHJcbiAgLy8gICBsZXQgcG46c3RyaW5nID13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7XHJcbiAgLy8gICBsZXQgcHI6c3RyaW5nID13aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7XHJcbiAgLy8gICBsZXQgcG86c3RyaW5nID13aW5kb3cubG9jYXRpb24ucG9ydDtcclxuICAvL1xyXG4gIC8vICAgbGV0IHNlc3Npb25JZDpzdHJpbmc9dGhpcy5zZXNzaW9uLnNlc3Npb25JZDtcclxuICAvL1xyXG4gIC8vICAgICBsZXQgc2NyVXJsOnN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIC8vXHJcbiAgLy8gICAgIGlmIChobiA9PT0gJ2xvY2FsaG9zdCcgIHx8IHRoaXMubW9kZT09PU1vZGUuREVNTykge1xyXG4gIC8vICAgICAgICAgLy8gbG9jYWwgZGVidWcgbW9kZVxyXG4gIC8vICAgICAgICAgLy8gRkYgY2FjaGVzXHJcbiAgLy8gICAgICAgICBzY3JVcmwgPSAndGVzdC8nICsgdGhpcy5zZXNzaW9uLnNjcmlwdC50b1N0cmluZygpICsgJy5qc29uPycgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAvL1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgbGV0IHNjclBhdGg6c3RyaW5nID0gJy93aWtpc3BlZWNoL3Nlc3Npb24vc2NyaXB0cy9zZXJ2bGV0JztcclxuICAvLyAgICAgICAgIGxldCBzY3JRdTpzdHJpbmcgPSAnc2Vzc2lvbklkPScgKyBzZXNzaW9uSWQ7XHJcbiAgLy8gICAgICAgICBzY3JVcmwgPSBwciArICcvLycgKyBobiArICc6JyArIHBvICsgc2NyUGF0aDtcclxuICAvLyAgICAgICAgIGlmIChzY3JRdSkge1xyXG4gIC8vICAgICAgICAgICAgIHNjclVybCA9IHNjclVybCArICc/JyArIHNjclF1O1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy9cclxuICAvLyAgIHNjckxvYWRlci5vcGVuKFwiR0VUXCIsc2NyVXJsICwgdHJ1ZSk7XHJcbiAgLy8gICBzY3JMb2FkZXIuc2V0UmVxdWVzdEhlYWRlcignQWNjZXB0JywnYXBwbGljYXRpb24vanNvbicpO1xyXG4gIC8vICAgc2NyTG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwianNvblwiO1xyXG4gIC8vICAgc2NyTG9hZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgLy9cclxuICAvLyAgICAgdGhpcy5zY3JpcHQgPSBzY3JMb2FkZXIucmVzcG9uc2U7XHJcbiAgLy9cclxuICAvL1xyXG4gIC8vICAgICB0aGlzLnNtLnNjcmlwdCA9IHRoaXMuc2NyaXB0O1xyXG4gIC8vXHJcbiAgLy8gICAgIGNhbGxiYWNrKCk7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBzY3JMb2FkZXIub25lcnJvciA9IChlKSA9PiB7XHJcbiAgLy8gICAgIGNvbnNvbGUubG9nKFwiRXJyb3IgZG93bmxvYWRpbmcgcmVjb3JkaW5nIHNjcmlwdCBkYXRhIC4uLlwiKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHNjckxvYWRlci5zZW5kKCk7XHJcbiAgLy8gfVxyXG5cclxuICAgIHN0YXJ0KCl7XHJcblxyXG4gICAgICAgIC8vdGhpcy5jb25maWd1cmUoKTtcclxuXHJcbiAgICB9XHJcblxyXG5cdFx0YXVkaW9QbGF5ZXJVcGRhdGUoZTpBdWRpb1BsYXllckV2ZW50KXtcclxuXHRcdFx0aWYoUGxheWJhY2tFdmVudFR5cGUuU1RBUlRFRD09PWUudHlwZSl7XHJcblx0XHRcdFx0Ly90aGlzLnN0YXJ0QnRuLmRpc2FibGVkPXRydWU7XHJcblx0XHRcdFx0Ly90aGlzLnN0b3BCdG4uZGlzYWJsZWQ9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuXHRcdFx0XHR0aGlzLnNtLnN0YXR1c01zZz0nUGxheWJhY2suLi4nO1xyXG5cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChQbGF5YmFja0V2ZW50VHlwZS5FTkRFRCA9PT0gZS50eXBlKSB7XHJcblx0XHRcdFx0Ly90aGlzLnN0YXJ0QnRuLmRpc2FibGVkPWZhbHNlO1xyXG5cdFx0XHRcdC8vdGhpcy5zdG9wQnRuLmRpc2FibGVkPXRydWU7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcblx0XHRcdFx0dGhpcy5zbS5zdGF0dXNNc2c9J1JlYWR5Lic7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGVycm9yKCl7XHJcblx0XHQgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2Vycm9yJztcclxuXHRcdFx0dGhpcy5zbS5zdGF0dXNNc2c9J0VSUk9SOiBSZWNvcmRpbmcuJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuLy9cclxuLy9cclxuLy8gZnVuY3Rpb24gc3BlZWNocmVjb3JkZXJJbml0KCkge1xyXG4vLyBcdHZhciBzcHIgPSBuZXcgaXBzLmFwcHMuc3BlZWVjaHJlY29yZGVyLlNwZWVjaFJlY29yZGVyKCk7XHJcbi8vIFx0c3ByLmluaXQoKTtcclxuLy8gICBzcHIuc3RhcnQoKTtcclxuLy9cclxuLy9cclxuLy8gfVxyXG4iXX0=
429
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFBO0FBQzVGLE9BQU8sRUFDa0MsU0FBUyxJQUFJLGlCQUFpQixFQUNyRSxXQUFXLEVBQ1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsY0FBYyxFQUFnQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3ZHLE9BQU8sRUFBNkIsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBSXhFLE9BQU8sRUFBVSxXQUFXLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFFdkQsTUFBTSxDQUFOLElBQVksSUFBMEI7QUFBdEMsV0FBWSxJQUFJO0lBQUUsbURBQWMsQ0FBQTtJQUFDLCtCQUFJLENBQUE7QUFBQSxDQUFDLEVBQTFCLElBQUksS0FBSixJQUFJLFFBQXNCO0FBa0J0QyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsaUJBQWlCO0lBYzlELFlBQW9CLEtBQXFCLEVBQ2YsTUFBYyxFQUNsQixpQkFBb0MsRUFDcEMsZUFBOEIsRUFDOUIsY0FBNkIsRUFDN0IsYUFBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsUUFBK0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFSUSxVQUFLLEdBQUwsS0FB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QjtZQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsR0FBQyxNQUFNLENBQUM7WUFDM0MsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUMsUUFBUSxDQUFDO1NBQzNCO0lBQ0YsQ0FBQztJQUNELEtBQUs7UUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsR0FBQyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEdBQUMsbUJBQW1CLENBQUM7SUFDdkMsQ0FBQzs7c0hBcGJVLHlCQUF5QjswR0FBekIseUJBQXlCLDZDQWJ6QixDQUFDLGNBQWMsQ0FBQyw4REF5QmhCLGNBQWMscUZBeEJmOztHQUVUOzJGQVVVLHlCQUF5QjtrQkFoQnJDLFNBQVM7bUJBQUM7b0JBRVQsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUMzQixRQUFRLEVBQUU7O0dBRVQ7b0JBQ0QsTUFBTSxFQUFFLENBQUM7Ozs7OztJQU1QLENBQUM7aUJBRUo7b1RBYThDLEVBQUU7c0JBQTlDLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7XHJcbiAgQXVkaW9QbGF5ZXJMaXN0ZW5lciwgQXVkaW9QbGF5ZXJFdmVudCwgRXZlbnRUeXBlIGFzIFBsYXliYWNrRXZlbnRUeXBlLFxyXG4gIEF1ZGlvUGxheWVyXHJcbn0gZnJvbSAnLi9hdWRpby9wbGF5YmFjay9wbGF5ZXInO1xyXG5pbXBvcnQge0dyb3VwLCBPcmRlciwgUHJvbXB0SXRlbSwgU2NyaXB0fSBmcm9tICcuL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQnXHJcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VyLFN0YXR1cyBhcyBTZXNzaW9uTWFuYWdlclN0YXR1c30gZnJvbSAnLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb25tYW5hZ2VyJztcclxuaW1wb3J0IHsgVXBsb2FkZXJTdGF0dXNDaGFuZ2VFdmVudCwgVXBsb2FkZXJTdGF0dXMgfSBmcm9tICcuL25ldC91cGxvYWRlcic7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2NyaXB0U2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3BlZWNoUmVjb3JkZXJVcGxvYWRlcn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc3BydXBsb2FkZXJcIjtcclxuaW1wb3J0IHtTZXNzaW9ufSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb25cIjtcclxuaW1wb3J0IHtQcm9qZWN0LCBQcm9qZWN0VXRpbH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcHJvamVjdC9wcm9qZWN0XCI7XHJcbmltcG9ydCB7UHJvamVjdFNlcnZpY2V9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Byb2plY3QvcHJvamVjdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7QXVkaW9Db250ZXh0UHJvdmlkZXJ9IGZyb20gXCIuL2F1ZGlvL2NvbnRleHRcIjtcclxuaW1wb3J0IHtSZWNvcmRpbmdTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9yZWNvcmRpbmdzL3JlY29yZGluZ3Muc2VydmljZVwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVEZXNjcmlwdG9ySW1wbH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5nXCI7XHJcbmltcG9ydCB7QXJyYXlzfSBmcm9tIFwiLi91dGlscy91dGlsc1wiO1xyXG5pbXBvcnQge0F1ZGlvUmVjb3JkZXJDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlclwiO1xyXG5pbXBvcnQge1JlY29yZGVyQ29tcG9uZW50fSBmcm9tIFwiLi9yZWNvcmRlcl9jb21wb25lbnRcIjtcclxuXHJcbmV4cG9ydCBlbnVtIE1vZGUge1NJTkdMRV9TRVNTSU9OLERFTU99XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHJcbiAgc2VsZWN0b3I6ICdhcHAtc3BlZWNocmVjb3JkZXInLFxyXG4gIHByb3ZpZGVyczogW1Nlc3Npb25TZXJ2aWNlXSxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGFwcC1zcHJyZWNvcmRpbmdzZXNzaW9uIFtwcm9qZWN0TmFtZV09XCJwcm9qZWN0Py5uYW1lXCIgW2RhdGFTYXZlZF09XCJkYXRhU2F2ZWRcIj48L2FwcC1zcHJyZWNvcmRpbmdzZXNzaW9uPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYDpob3N0e1xyXG4gICAgZmxleDogMjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWluLWhlaWdodDowO1xyXG5cclxuICB9YF1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50IGV4dGVuZHMgUmVjb3JkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsQWZ0ZXJWaWV3SW5pdCxBdWRpb1BsYXllckxpc3RlbmVyIHtcclxuXHJcblx0ICBtb2RlITpNb2RlO1xyXG5cdFx0Y29udHJvbEF1ZGlvUGxheWVyITpBdWRpb1BsYXllcjtcclxuXHRcdGF1ZGlvOmFueTtcclxuXHJcblx0X3Byb2plY3Q6UHJvamVjdHxudWxsPW51bGw7XHJcbiAgc2Vzc2lvbklkITogc3RyaW5nO1xyXG4gIHNlc3Npb24hOlNlc3Npb247XHJcblxyXG4gIHNjcmlwdCE6U2NyaXB0O1xyXG4gICAgZGF0YVNhdmVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBAVmlld0NoaWxkKFNlc3Npb25NYW5hZ2VyLCB7IHN0YXRpYzogdHJ1ZSB9KSBzbSE6U2Vzc2lvbk1hbmFnZXI7XHJcblxyXG5cdFx0Y29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzZXNzaW9uc1NlcnZpY2U6U2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHByb2plY3RTZXJ2aWNlOlByb2plY3RTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzY3JpcHRTZXJ2aWNlOlNjcmlwdFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlY0ZpbGVzU2VydmljZTpSZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRlcjpTcGVlY2hSZWNvcmRlclVwbG9hZGVyKSB7XHJcbiAgICAgIHN1cGVyKCk7XHJcblx0XHR9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcblx0XHQgIHRyeSB7XHJcbiAgICAgICAgbGV0IGF1ZGlvQ29udGV4dCA9IEF1ZGlvQ29udGV4dFByb3ZpZGVyLmF1ZGlvQ29udGV4dEluc3RhbmNlKCk7XHJcbiAgICAgICAgICAgICAgaWYoYXVkaW9Db250ZXh0KSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbEF1ZGlvUGxheWVyID0gbmV3IEF1ZGlvUGxheWVyKGF1ZGlvQ29udGV4dCwgdGhpcyk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc20uY29udHJvbEF1ZGlvUGxheWVyPXRoaXMuY29udHJvbEF1ZGlvUGxheWVyO1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c01zZyA9ICdQbGF5ZXIgaW5pdGlhbGl6ZWQuJztcclxuICAgICAgfWNhdGNoKGVycil7XHJcbiAgICAgICAgbGV0IGVyck1zZz0nVW5rbm93biBlcnJvcic7XHJcbiAgICAgICAgaWYoZXJyIGluc3RhbmNlb2YgRXJyb3Ipe1xyXG4gICAgICAgICAgZXJyTXNnPWVyci5tZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNtLnN0YXR1c01zZz1lcnJNc2c7XHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2Vycm9yJztcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVyck1zZylcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgICAgbmdBZnRlclZpZXdJbml0KCl7XHJcblxyXG5cdFx0ICBpZih0aGlzLnNtLnN0YXR1cyE9PSBTZXNzaW9uTWFuYWdlclN0YXR1cy5FUlJPUikge1xyXG4gICAgICAgIGxldCBpbml0U3VjY2VzcyA9IHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIGlmIChpbml0U3VjY2Vzcykge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogUGFyYW1zKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbXNbJ3Nlc3Npb25JZCddKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mZXRjaFNlc3Npb24ocGFyYW1zWydzZXNzaW9uSWQnXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHtcclxuICAgICAgICAgICAgbGV0IHJvdXRlUGFyYW1zSWQgPSBwYXJhbXNbJ2lkJ107XHJcbiAgICAgICAgICAgIGlmIChyb3V0ZVBhcmFtc0lkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5mZXRjaFNlc3Npb24ocm91dGVQYXJhbXNJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmV0Y2hTZXNzaW9uKHNlc3Npb25JZDpzdHJpbmcpe1xyXG5cclxuXHJcblx0XHQgIC8vRXJyb3I6IEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3I6IEV4cHJlc3Npb24gaGFzIGNoYW5nZWQgYWZ0ZXIgaXQgd2FzIGNoZWNrZWQuIFByZXZpb3VzIHZhbHVlOiAnc3RhdHVzTXNnOiBQbGF5ZXIgaW5pdGlhbGl6ZWQuJy4gQ3VycmVudCB2YWx1ZTogJ3N0YXR1c01zZzogRmV0Y2hpbmcgc2Vzc2lvbiBpbmZvLi4uJy5cclxuICAgICAgLy8gcGFyYW1zLnN1YnNjcmliZSBzZWVtcyBub3QgdG8gYmUgYXN5bmNocm9ub3VzXHJcblxyXG4gICAgICAvLyB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgIC8vIHRoaXMuc20uc3RhdHVzTXNnID0gJ0ZldGNoaW5nIHNlc3Npb24gaW5mby4uLic7XHJcbiAgICAgIC8vIHRoaXMuc20uc3RhdHVzV2FpdGluZz10cnVlO1xyXG4gICAgICBsZXQgc2Vzc09icz0gdGhpcy5zZXNzaW9uc1NlcnZpY2Uuc2Vzc2lvbk9ic2VydmVyKHNlc3Npb25JZCk7XHJcblxyXG4gICAgICBpZihzZXNzT2JzKSB7XHJcbiAgICAgICAgc2Vzc09icy5zdWJzY3JpYmUoc2VzcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFNlc3Npb24oc2Vzcyk7XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSAnUmVjZWl2ZWQgc2Vzc2lvbiBpbmZvLic7XHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZz1mYWxzZTtcclxuICAgICAgICAgIGlmIChzZXNzLnByb2plY3QpIHtcclxuICAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiU2Vzc2lvbiBhc3NvY2lhdGVkIHByb2plY3Q6IFwiK3Nlc3MucHJvamVjdClcclxuICAgICAgICAgICAgdGhpcy5wcm9qZWN0U2VydmljZS5wcm9qZWN0T2JzZXJ2YWJsZShzZXNzLnByb2plY3QpLnN1YnNjcmliZShwcm9qZWN0PT57XHJcbiAgICAgICAgICAgICAgdGhpcy5wcm9qZWN0PXByb2plY3Q7XHJcbiAgICAgICAgICAgICAgdGhpcy5mZXRjaFNjcmlwdChzZXNzKTtcclxuICAgICAgICAgICAgfSxyZWFzb24gPT57XHJcbiAgICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2c9cmVhc29uO1xyXG4gICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHByb2plY3QgY29uZmlnOiBcIityZWFzb24pXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIlNlc3Npb24gaGFzIG5vIGFzc29jaWF0ZWQgcHJvamVjdC4gVXNpbmcgZGVmYXVsdCBjb25maWd1cmF0aW9uLlwiKVxyXG4gICAgICAgICAgICB0aGlzLmZldGNoU2NyaXB0KHNlc3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKHJlYXNvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNtLnN0YXR1c01zZyA9IHJlYXNvbjtcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGUgPSAnZXJyb3InO1xyXG4gICAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBmZXRjaGluZyBzZXNzaW9uIFwiICsgcmVhc29uKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgZmV0Y2hTY3JpcHQoc2VzczpTZXNzaW9uKXtcclxuICAgICAgaWYoc2Vzcy5zY3JpcHQpe1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuICAgICAgICB0aGlzLnNtLnN0YXR1c01zZyA9ICdGZXRjaGluZyByZWNvcmRpbmcgc2NyaXB0Li4uJztcclxuICAgICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZz10cnVlO1xyXG4gICAgICAgIHRoaXMuc2NyaXB0U2VydmljZS5zY3JpcHRPYnNlcnZhYmxlKHNlc3Muc2NyaXB0KS5zdWJzY3JpYmUoc2NyaXB0PT57XHJcbiAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0naW5mbyc7XHJcbiAgICAgICAgICB0aGlzLnNtLnN0YXR1c01zZyA9ICdSZWNlaXZlZCByZWNvcmRpbmcgc2NyaXB0Lic7XHJcbiAgICAgICAgICB0aGlzLnNtLnN0YXR1c1dhaXRpbmc9ZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNldFNjcmlwdChzY3JpcHQpXHJcbiAgICAgICAgICB0aGlzLnNtLnNlc3Npb249c2VzcztcclxuICAgICAgICAgIHRoaXMuZmV0Y2hSZWNvcmRpbmdzKHNlc3MsdGhpcy5zY3JpcHQpXHJcbiAgICAgICAgfSxyZWFzb24gPT57XHJcbiAgICAgICAgICBsZXQgZXJyTXNnPVwiRXJyb3IgZmV0Y2hpbmcgcmVjb3JkaW5nIHNjcmlwdDogXCIrcmVhc29uXHJcbiAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJNc2cpXHJcbiAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzTXNnPWVyck1zZztcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2Vycm9yJztcclxuICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNXYWl0aW5nPWZhbHNlO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGxldCBlcnJNc2c9XCJObyByZWNvcmRpbmcgc2NyaXB0IGlzIGRlZmluZWQgZm9yIHRoaXMgc2Vzc2lvbiB3aXRoIElEIFwiK3Nlc3Muc2Vzc2lvbklkO1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IodGhpcy5zbS5zdGF0dXNNc2cpXHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNNc2c9ZXJyTXNnO1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGZldGNoUmVjb3JkaW5ncyhzZXNzOlNlc3Npb24sc2NyaXB0OlNjcmlwdCl7XHJcbiAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuICAgICAgdGhpcy5zbS5zdGF0dXNNc2cgPSAnRmV0Y2hpbmcgaW5mb3Mgb2YgcmVjb3JkaW5ncy4uLic7XHJcbiAgICAgICAgdGhpcy5zbS5zdGF0dXNXYWl0aW5nPXRydWU7XHJcbiAgICAgICAgbGV0IHByTm06c3RyaW5nfG51bGw9bnVsbDtcclxuICAgICAgICBpZih0aGlzLnByb2plY3QpIHtcclxuICAgICAgICAgICAgbGV0IHJmc09icyA9IHRoaXMucmVjRmlsZXNTZXJ2aWNlLnJlY29yZGluZ0ZpbGVEZXNjckxpc3QodGhpcy5wcm9qZWN0Lm5hbWUsIHNlc3Muc2Vzc2lvbklkKTtcclxuICAgICAgICAgICAgcmZzT2JzLnN1YnNjcmliZSgocmZzOiBBcnJheTxSZWNvcmRpbmdGaWxlRGVzY3JpcHRvckltcGw+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZSA9ICdpbmZvJztcclxuICAgICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzTXNnID0gJ1JlY2VpdmVkIGluZm9zIG9mIHJlY29yZGluZ3MuJztcclxuICAgICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJmcykge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZnMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZnMuZm9yRWFjaCgocmYpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkFscmVhZHkgcmVjb3JkZWQ6IFwiICsgcmYrIFwiIFwiK3JmLnJlY29yZGluZy5pdGVtY29kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNtLmFkZFJlY29yZGluZ0ZpbGVCeURlc2NyaXB0b3IocmYpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0V4cGVjdGVkIHR5cGUgYXJyYXkgZm9yIGxpc3Qgb2YgYWxyZWFkeSByZWNvcmRlZCBmaWxlcyAnKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiUmVjb3JkaW5nIGZpbGUgbGlzdDogXCIgKyByZnMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyB3ZSBzdGFydCB0aGUgc2Vzc2lvbiBhbnl3YXlcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRTZXNzaW9uKClcclxuICAgICAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydFNlc3Npb24oKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAvLyBUT0RPXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0U2Vzc2lvbigpe1xyXG4gICAgICAgIHRoaXMuc20uc3RhdHVzV2FpdGluZz1mYWxzZTtcclxuXHRcdCAgdGhpcy5zbS5zdGFydCgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAgICAgc2V0U2Vzc2lvbihzZXNzaW9uOmFueSl7XHJcblx0XHQgICAgaWYoc2Vzc2lvbikge1xyXG4gICAgICAgICAgICAgICAvLyBjb25zb2xlLmRlYnVnKFwiU2Vzc2lvbiBJRDogXCIgKyBzZXNzaW9uLnNlc3Npb25JZCk7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiU2Vzc2lvbiBVbmRlZmluZWRcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJlYWR5KCk6Ym9vbGVhbntcclxuXHRcdCAgICByZXR1cm4gdGhpcy5kYXRhU2F2ZWQgJiYgIXRoaXMuc20uaXNBY3RpdmUoKVxyXG4gICAgICAgIH1cclxuXHJcblx0XHRpbml0KCk6Ym9vbGVhbiB7XHJcblxyXG5cdFx0XHR2YXIgbiA9IDxhbnk+bmF2aWdhdG9yO1xyXG5cdFx0XHQvL3ZhciBnZXRVc2VyTWVkaWFGbmN0PSBuLmdldFVzZXJNZWRpYSB8fCBuLndlYmtpdEdldFVzZXJNZWRpYSB8fFxyXG5cdFx0XHQvL1x0bi5tb3pHZXRVc2VyTWVkaWEgfHwgbi5tc0dldFVzZXJNZWRpYTtcclxuXHRcdFx0dmFyIHcgPSA8YW55PndpbmRvdztcclxuXHRcdFx0Ly8gVE9ETyB0ZXN0IG9ueWwgISFcclxuXHJcbiAgICAgIC8vIGxldCBkZWJ1Z0ZhaWw9dHJ1ZTtcclxuXHRcdC8vIFx0QXVkaW9Db250ZXh0ID0gdy5BdWRpb0NvbnRleHQgfHwgdy53ZWJraXRBdWRpb0NvbnRleHQ7XHJcblx0XHQvLyBcdGlmICh0eXBlb2YgQXVkaW9Db250ZXh0ICE9PSAnZnVuY3Rpb24nIHx8IGRlYnVnRmFpbCkge1xyXG4gICAgICAvLyAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2Vycm9yJztcclxuXHRcdC8vIFx0XHR0aGlzLnNtLnN0YXR1c01zZyA9ICdFUlJPUjogQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IFdlYiBBdWRpbyBBUEkhJztcclxuXHRcdC8vIFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHQvLyBcdH0gZWxzZSB7XHJcblx0XHQvLyBcdFx0dmFyIGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0KCk7XHJcbiAgICAgIC8vXHJcblx0XHQvLyBcdFx0aWYgKHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAvLyAgICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdlcnJvcic7XHJcblx0XHQvLyBcdFx0XHR0aGlzLnNtLnN0YXR1c01zZz0gJ0VSUk9SOiBCcm93c2VyIGRvZXMgbm90IHN1cHBvcnQgTWVkaWEgc3RyZWFtcyEnO1xyXG4gICAgICAvLyAgICAgcmV0dXJuIGZhbHNlO1xyXG5cdFx0Ly8gXHRcdH0gZWxzZSB7XHJcbiAgICAgIC8vXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vdGhpcy5zbSA9IG5ldyBTZXNzaW9uTWFuYWdlcihuZXcgU2ltcGxlVHJhZmZpY0xpZ2h0KCksIHRoaXMudXBsb2FkZXIpO1xyXG5cdFx0XHRcdFx0Ly90aGlzLnNtLmluaXQoKTtcclxuXHRcdFx0XHRcdC8vdGhpcy5hcCA9IG5ldyBBdWRpb1BsYXllcihjb250ZXh0LHRoaXMpO1xyXG5cdFx0XHRcdFx0Ly90aGlzLnNtLmxpc3RlbmVyPXRoaXM7XHJcblx0XHRcdC8vXHR9XHJcblx0XHQvL1x0fVxyXG4gICAgICAgICAgICB0aGlzLnVwbG9hZGVyLmxpc3RlbmVyID0gKHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFVwZGF0ZSh1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5kZWJ1ZyhcIkJlZm9yZSBwYWdlIHVubG9hZCBldmVudFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5yZWFkeSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBhbGwgdGhpcyBhdHRlbXB0cyB0byBjdXN0b21pemUgdGhlIG1lc3NhZ2UgZG8gbm90IHdvcmsgYW55bW9yZSAoZm9yIHNlY3VyaXR5IHJlYXNvbnMpISFcclxuICAgICAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IFwiUGxlYXNlIGRvIG5vdCBsZWF2ZSB0aGUgcGFnZSwgdW50aWwgYWxsIHJlY29yZGluZ3MgYXJlIHVwbG9hZGVkIVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IG1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuY2FuY2VsQnViYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuc3RvcFByb3BhZ2F0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnByZXZlbnREZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICB1cGxvYWRVcGRhdGUodWU6IFVwbG9hZGVyU3RhdHVzQ2hhbmdlRXZlbnQpIHtcclxuICAgIGxldCB1cFN0YXR1cyA9IHVlLnN0YXR1cztcclxuICAgIHRoaXMuZGF0YVNhdmVkID0gKFVwbG9hZGVyU3RhdHVzLkRPTkUgPT09IHVwU3RhdHVzKTtcclxuICAgIGxldCBwZXJjZW50VXBsID0gdWUucGVyY2VudERvbmUoKTtcclxuICAgIGlmIChVcGxvYWRlclN0YXR1cy5FUlIgPT09IHVwU3RhdHVzKSB7XHJcbiAgICAgIHRoaXMuc20udXBsb2FkU3RhdHVzID0gJ3dhcm4nXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAocGVyY2VudFVwbCA8IDUwKSB7XHJcbiAgICAgICAgdGhpcy5zbS51cGxvYWRTdGF0dXMgPSAnYWNjZW50J1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc20udXBsb2FkU3RhdHVzID0gJ3N1Y2Nlc3MnXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zbS51cGxvYWRQcm9ncmVzcyA9IHBlcmNlbnRVcGw7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKClcclxuICB9XHJcblxyXG4gIGNvbmZpZ3VyZSgpIHtcclxuXHJcblxyXG5cclxuICAgICAgdGhpcy5sb2FkUHJvamVjdENmZygoKSA9PiB7XHJcbiAgICAgICAgLy8gZGlzcGxheSBwcm9qZWN0IG5hbWVcclxuICAgICAgICBsZXQgcHJOYW1lOiBzdHJpbmcgPSAnW1Vua25vd25dJztcclxuICAgICAgICBpZiAodGhpcy5wcm9qZWN0ICYmIHRoaXMucHJvamVjdC5uYW1lKSB7XHJcbiAgICAgICAgICBwck5hbWUgPSB0aGlzLnByb2plY3QubmFtZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy90aGlzLnRpdGxlRWwuaW5uZXJUZXh0ID0gcHJOYW1lO1xyXG5cclxuICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHJhbmRvbWl6ZShzY3JpcHQ6U2NyaXB0KXtcclxuXHRcdCAgICBzY3JpcHQuc2VjdGlvbnMuZm9yRWFjaCgocyk9PntcclxuXHRcdCAgICAgICAgaWYoJ1JBTkRPTSc9PT1zLm9yZGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcy5fc2h1ZmZsZWRHcm91cHMgPSBBcnJheXMuc2h1ZmZsZUFycmF5PEdyb3VwPihzLmdyb3Vwcyk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuXHRcdCAgICAgICAgICAgIHMuX3NodWZmbGVkR3JvdXBzPXMuZ3JvdXBzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cdFx0ICAgICAgICBzLl9zaHVmZmxlZEdyb3Vwcy5mb3JFYWNoKChnKT0+e1xyXG5cdFx0ICAgICAgICAgICAgaWYoJ1JBTkRPTSc9PT1nLm9yZGVyKXtcclxuXHRcdCAgICAgICAgICAgICAgIGcuX3NodWZmbGVkUHJvbXB0SXRlbXM9QXJyYXlzLnNodWZmbGVBcnJheTxQcm9tcHRJdGVtPihnLnByb21wdEl0ZW1zKTtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuXHRcdCAgICAgICAgICAgICAgICBnLl9zaHVmZmxlZFByb21wdEl0ZW1zPWcucHJvbXB0SXRlbXM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNjcmlwdChzY3JpcHQ6U2NyaXB0KXtcclxuICAgICAgICB0aGlzLnNjcmlwdD1zY3JpcHQ7XHJcbiAgICAgICAgdGhpcy5yYW5kb21pemUodGhpcy5zY3JpcHQpO1xyXG4gICAgICAgIHRoaXMuc20uc2NyaXB0ID0gdGhpcy5zY3JpcHQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHNldCBwcm9qZWN0KHByb2plY3Q6IFByb2plY3R8bnVsbCkge1xyXG4gICAgICAgIHRoaXMuX3Byb2plY3QgPSBwcm9qZWN0O1xyXG4gICAgICAgIGxldCBjaENudCA9IFByb2plY3RVdGlsLkRFRkFVTFRfQVVESU9fQ0hBTk5FTF9DT1VOVDtcclxuXHJcbiAgICAgICAgaWYgKHByb2plY3QpIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKFwiUHJvamVjdCBuYW1lOiBcIiArIHByb2plY3QubmFtZSlcclxuICAgICAgICAgICAgdGhpcy5zbS5hdWRpb0RldmljZXMgPSBwcm9qZWN0LmF1ZGlvRGV2aWNlcztcclxuICAgICAgICAgICAgY2hDbnQgPSBQcm9qZWN0VXRpbC5hdWRpb0NoYW5uZWxDb3VudChwcm9qZWN0KTtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKFwiUHJvamVjdCByZXF1ZXN0ZWQgcmVjb3JkaW5nIGNoYW5uZWwgY291bnQ6IFwiICsgY2hDbnQpO1xyXG4gICAgICAgICAgICB0aGlzLnNtLmF1dG9HYWluQ29udHJvbENvbmZpZ3M9cHJvamVjdC5hdXRvR2FpbkNvbnRyb2xDb25maWdzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFbXB0eSBwcm9qZWN0IGNvbmZpZ3VyYXRpb24hXCIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc20uY2hhbm5lbENvdW50ID0gY2hDbnQ7XHJcblxyXG4gICAgfVxyXG5cclxuICBnZXQgcHJvamVjdCgpOlByb2plY3R8bnVsbHtcclxuXHRcdCAgcmV0dXJuIHRoaXMuX3Byb2plY3Q7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAgIGxvYWRQcm9qZWN0Q2ZnKGNhbGxiYWNrOiAoKT0+IGFueSl7XHJcbiAgICAgIGxldCBwcm9qVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICAgIGlmICh0aGlzLnNlc3Npb25JZCA9PT0gbnVsbCkge1xyXG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUgPT09ICdsb2NhbGhvc3QnIHx8IHRoaXMubW9kZSA9PT0gTW9kZS5ERU1PKSB7XHJcbiAgICAgICAgICAvLyBkZWJ1ZyBvciBkZW1vIG1vZGVcclxuICAgICAgICAgIHByb2pVcmwgPSAndGVzdC9EZW1vMS5qc29uPycgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gbG9hZCBSRVNUZnVsIGJ5IHNlc3Npb25JZFxyXG4gICAgICAgIHByb2pVcmwgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgKyAnLy8nICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgJzonICsgd2luZG93LmxvY2F0aW9uLnBvcnQgKyAnL3dpa2lzcGVlY2gvcmVzdC9wcm9qZWN0cy8/c2Vzc2lvbklkPScgKyB0aGlzLnNlc3Npb25JZDtcclxuXHJcbiAgICAgIH1cclxuICAgICAgaWYocHJvalVybCkge1xyXG4gICAgICAgIHZhciBwTG9hZGVyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgICAgcExvYWRlci5vcGVuKFwiR0VUXCIsIHByb2pVcmwsIHRydWUpO1xyXG4gICAgICAgIHBMb2FkZXIuc2V0UmVxdWVzdEhlYWRlcignQWNjZXB0JywgJ2FwcGxpY2F0aW9uL2pzb24nKTtcclxuICAgICAgICBwTG9hZGVyLnJlc3BvbnNlVHlwZSA9IFwianNvblwiO1xyXG4gICAgICAgIHBMb2FkZXIub25sb2FkID0gKGUpID0+IHtcclxuXHJcbiAgICAgICAgICB0aGlzLnByb2plY3QgPSBwTG9hZGVyLnJlc3BvbnNlLnByb2plY3Q7XHJcblxyXG4gICAgICAgICAgY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcExvYWRlci5vbmVycm9yID0gKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBkb3dubG9hZGluZyBwcm9qZWN0IGRhdGEgLi4uXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwTG9hZGVyLnNlbmQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvLyBsb2FkU2NyaXB0KGNhbGxiYWNrOiAoKT0+YW55KXtcclxuICAvLyAgIHZhciBzY3JMb2FkZXIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAvLyAgIGxldCBobjpzdHJpbmcgPXdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTtcclxuICAvLyAgIGxldCBwbjpzdHJpbmcgPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtcclxuICAvLyAgIGxldCBwcjpzdHJpbmcgPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbDtcclxuICAvLyAgIGxldCBwbzpzdHJpbmcgPXdpbmRvdy5sb2NhdGlvbi5wb3J0O1xyXG4gIC8vXHJcbiAgLy8gICBsZXQgc2Vzc2lvbklkOnN0cmluZz10aGlzLnNlc3Npb24uc2Vzc2lvbklkO1xyXG4gIC8vXHJcbiAgLy8gICAgIGxldCBzY3JVcmw6c3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgLy9cclxuICAvLyAgICAgaWYgKGhuID09PSAnbG9jYWxob3N0JyAgfHwgdGhpcy5tb2RlPT09TW9kZS5ERU1PKSB7XHJcbiAgLy8gICAgICAgICAvLyBsb2NhbCBkZWJ1ZyBtb2RlXHJcbiAgLy8gICAgICAgICAvLyBGRiBjYWNoZXNcclxuICAvLyAgICAgICAgIHNjclVybCA9ICd0ZXN0LycgKyB0aGlzLnNlc3Npb24uc2NyaXB0LnRvU3RyaW5nKCkgKyAnLmpzb24/JyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gIC8vXHJcbiAgLy8gICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICBsZXQgc2NyUGF0aDpzdHJpbmcgPSAnL3dpa2lzcGVlY2gvc2Vzc2lvbi9zY3JpcHRzL3NlcnZsZXQnO1xyXG4gIC8vICAgICAgICAgbGV0IHNjclF1OnN0cmluZyA9ICdzZXNzaW9uSWQ9JyArIHNlc3Npb25JZDtcclxuICAvLyAgICAgICAgIHNjclVybCA9IHByICsgJy8vJyArIGhuICsgJzonICsgcG8gKyBzY3JQYXRoO1xyXG4gIC8vICAgICAgICAgaWYgKHNjclF1KSB7XHJcbiAgLy8gICAgICAgICAgICAgc2NyVXJsID0gc2NyVXJsICsgJz8nICsgc2NyUXU7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgIH1cclxuICAvL1xyXG4gIC8vICAgc2NyTG9hZGVyLm9wZW4oXCJHRVRcIixzY3JVcmwgLCB0cnVlKTtcclxuICAvLyAgIHNjckxvYWRlci5zZXRSZXF1ZXN0SGVhZGVyKCdBY2NlcHQnLCdhcHBsaWNhdGlvbi9qc29uJyk7XHJcbiAgLy8gICBzY3JMb2FkZXIucmVzcG9uc2VUeXBlID0gXCJqc29uXCI7XHJcbiAgLy8gICBzY3JMb2FkZXIub25sb2FkID0gKGUpID0+IHtcclxuICAvL1xyXG4gIC8vICAgICB0aGlzLnNjcmlwdCA9IHNjckxvYWRlci5yZXNwb25zZTtcclxuICAvL1xyXG4gIC8vXHJcbiAgLy8gICAgIHRoaXMuc20uc2NyaXB0ID0gdGhpcy5zY3JpcHQ7XHJcbiAgLy9cclxuICAvLyAgICAgY2FsbGJhY2soKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHNjckxvYWRlci5vbmVycm9yID0gKGUpID0+IHtcclxuICAvLyAgICAgY29uc29sZS5sb2coXCJFcnJvciBkb3dubG9hZGluZyByZWNvcmRpbmcgc2NyaXB0IGRhdGEgLi4uXCIpO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgc2NyTG9hZGVyLnNlbmQoKTtcclxuICAvLyB9XHJcblxyXG4gICAgc3RhcnQoKXtcclxuXHJcbiAgICAgICAgLy90aGlzLmNvbmZpZ3VyZSgpO1xyXG5cclxuICAgIH1cclxuXHJcblx0XHRhdWRpb1BsYXllclVwZGF0ZShlOkF1ZGlvUGxheWVyRXZlbnQpe1xyXG5cdFx0XHRpZihQbGF5YmFja0V2ZW50VHlwZS5TVEFSVEVEPT09ZS50eXBlKXtcclxuXHRcdFx0XHQvL3RoaXMuc3RhcnRCdG4uZGlzYWJsZWQ9dHJ1ZTtcclxuXHRcdFx0XHQvL3RoaXMuc3RvcEJ0bi5kaXNhYmxlZD10cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zbS5zdGF0dXNBbGVydFR5cGU9J2luZm8nO1xyXG5cdFx0XHRcdHRoaXMuc20uc3RhdHVzTXNnPSdQbGF5YmFjay4uLic7XHJcblxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKFBsYXliYWNrRXZlbnRUeXBlLkVOREVEID09PSBlLnR5cGUpIHtcclxuXHRcdFx0XHQvL3RoaXMuc3RhcnRCdG4uZGlzYWJsZWQ9ZmFsc2U7XHJcblx0XHRcdFx0Ly90aGlzLnN0b3BCdG4uZGlzYWJsZWQ9dHJ1ZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc20uc3RhdHVzQWxlcnRUeXBlPSdpbmZvJztcclxuXHRcdFx0XHR0aGlzLnNtLnN0YXR1c01zZz0nUmVhZHkuJztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0ZXJyb3IoKXtcclxuXHRcdCAgICB0aGlzLnNtLnN0YXR1c0FsZXJ0VHlwZT0nZXJyb3InO1xyXG5cdFx0XHR0aGlzLnNtLnN0YXR1c01zZz0nRVJST1I6IFJlY29yZGluZy4nO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG4vL1xyXG4vL1xyXG4vLyBmdW5jdGlvbiBzcGVlY2hyZWNvcmRlckluaXQoKSB7XHJcbi8vIFx0dmFyIHNwciA9IG5ldyBpcHMuYXBwcy5zcGVlZWNocmVjb3JkZXIuU3BlZWNoUmVjb3JkZXIoKTtcclxuLy8gXHRzcHIuaW5pdCgpO1xyXG4vLyAgIHNwci5zdGFydCgpO1xyXG4vL1xyXG4vL1xyXG4vLyB9XHJcbiJdfQ==
@@ -48,14 +48,15 @@ import { RecordingFileMetaComponent } from "./speechrecorder/session/recordingfi
48
48
  import { MatSelectModule } from "@angular/material/select";
49
49
  import { MatInputModule } from "@angular/material/input";
50
50
  import { MatSnackBarModule } from "@angular/material/snack-bar";
51
- import { AudioRecorder } from "./speechrecorder/session/audiorecorder";
51
+ import { AudioRecorder, AudioRecorderComponent } from "./speechrecorder/session/audiorecorder";
52
52
  import { RecordingList } from "./speechrecorder/session/recording_list";
53
53
  import { RecorderCombiPane } from "./speechrecorder/session/recorder_combi_pane";
54
54
  import * as i0 from "@angular/core";
55
55
  import * as i1 from "@angular/router";
56
56
  export const SPR_ROUTES = [
57
57
  { path: 'spr/session/:id', component: SpeechrecorderngComponent },
58
- { path: 'recorder', component: AudioRecorder },
58
+ { path: 'recorder/session/:id', component: AudioRecorderComponent },
59
+ { path: 'recorder', component: AudioRecorderComponent },
59
60
  { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view/:recordingFileId', component: RecordingFileViewComponent },
60
61
  { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_edit/:recordingFileId', component: RecordingFileUI },
61
62
  { path: 'spr/db/project/:project/session/:sessionId/recordingfile/_view', component: RecordingFileViewComponent },
@@ -83,16 +84,16 @@ export class SpeechrecorderngModule {
83
84
  }
84
85
  SpeechrecorderngModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
85
86
  SpeechrecorderngModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
86
- ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1.RouterModule, FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] });
87
+ ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1.RouterModule, FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] });
87
88
  SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[RouterModule.forChild(SPR_ROUTES), FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule]] });
88
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
89
90
  type: NgModule,
90
91
  args: [{
91
92
  declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
92
- ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
93
+ ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
93
94
  exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder],
94
95
  imports: [RouterModule.forChild(SPR_ROUTES), FlexLayoutModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule],
95
96
  providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
96
97
  }]
97
98
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxHQUMxRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFD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Q0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNVYsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7aUJBQzdIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3BlZWNocmVjb3JkZXJuZ0NvbXBvbmVudH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaW1wbGVUcmFmZmljTGlnaHR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3N0YXJ0c3RvcHNpZ25hbC91aS9zaW1wbGV0cmFmZmljbGlnaHRcIjtcclxuXHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3N9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcHJvZ3Jlc3NcIjtcclxuaW1wb3J0IHtcclxuICBQcm9tcHRDb250YWluZXIsIFByb21wdGVyLCBQcm9tcHRpbmcsIFByb21wdGluZ0NvbnRhaW5lciwgUmVjaW5zdHJ1Y3Rpb25zLFxyXG59IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcHJvbXB0aW5nXCI7XHJcbmltcG9ydCB7U2Vzc2lvbk1hbmFnZXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbm1hbmFnZXJcIjtcclxuaW1wb3J0IHtXYXJuaW5nQmFyfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3dhcm5pbmdfYmFyXCI7XHJcbmltcG9ydCB7U2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmV9IGZyb20gXCIuL3V0aWxzL3Njcm9sbEludG9WaWV3VG9Cb3R0b21cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXJcIjtcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2NyaXB0U2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTcGVlY2hSZWNvcmRlckNvbmZpZywgU1BFRUNIUkVDT1JERVJfQ09ORklHfSBmcm9tIFwiLi9zcHIuY29uZmlnXCI7XHJcbmltcG9ydCB7U3BlZWNoUmVjb3JkZXJVcGxvYWRlcn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc3BydXBsb2FkZXJcIjtcclxuaW1wb3J0IHtQcm9qZWN0U2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcHJvamVjdC9wcm9qZWN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBDb250cm9sUGFuZWwsXHJcbiAgUHJvZ3Jlc3NEaXNwbGF5LFxyXG4gIFJlYWR5U3RhdGVJbmRpY2F0b3IsXHJcbiAgU3RhdHVzRGlzcGxheSxcclxuICBUcmFuc3BvcnRQYW5lbCxcclxuICBVcGxvYWRTdGF0dXNcclxufSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL2NvbnRyb2xwYW5lbFwiO1xyXG5pbXBvcnQge0ZsZXhMYXlvdXRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mbGV4LWxheW91dFwiO1xyXG5pbXBvcnQge1Nlc3Npb25GaW5pc2hlZERpYWxvZ30gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uX2ZpbmlzaGVkX2RpYWxvZ1wiO1xyXG5pbXBvcnQge01lc3NhZ2VEaWFsb2d9IGZyb20gXCIuL3VpL21lc3NhZ2VfZGlhbG9nXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nSXRlbUNvbnRyb2xzLCBSZWNvcmRpbmdJdGVtRGlzcGxheX0gZnJvbSBcIi4vdWkvcmVjb3JkaW5naXRlbV9kaXNwbGF5XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nU2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5ncy9yZWNvcmRpbmdzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTY3JvbGxQYW5lSG9yaXpvbnRhbH0gZnJvbSBcIi4vYXVkaW8vdWkvc2Nyb2xsX3BhbmVfaG9yaXpvbnRhbFwiO1xyXG5pbXBvcnQge0F1ZGlvQ2xpcFVJQ29udGFpbmVyfSBmcm9tIFwiLi9hdWRpby91aS9jb250YWluZXJcIjtcclxuaW1wb3J0IHtBdWRpb1NpZ25hbH0gZnJvbSBcIi4vYXVkaW8vdWkvYXVkaW9zaWduYWxcIjtcclxuaW1wb3J0IHtTb25hZ3JhbX0gZnJvbSBcIi4vYXVkaW8vdWkvc29uYWdyYW1cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlQbGF5ZXJ9IGZyb20gXCIuL2F1ZGlvL2F1ZGlvX3BsYXllclwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheX0gZnJvbSBcIi4vYXVkaW8vYXVkaW9fZGlzcGxheVwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheUNvbnRyb2x9IGZyb20gXCIuL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbFwiO1xyXG5pbXBvcnQge0xldmVsQmFyfSBmcm9tIFwiLi9hdWRpby91aS9saXZlbGV2ZWxcIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi9hdWRpby91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmltcG9ydCB7VVVJRH0gZnJvbSBcIi4vdXRpbHMvdXRpbHNcIjtcclxuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7TWF0Q2FyZCwgTWF0Q2FyZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcclxuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xyXG5pbXBvcnQge01hdEdyaWRMaXN0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVVJfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nZmlsZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgUmVjb3JkaW5nRmlsZU5hdmlDb21wb25lbnQgfSBmcm9tICcuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1uYXZpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZU1ldGFDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1tZXRhLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtNYXRTbmFja0Jhck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQge0F1ZGlvUmVjb3JkZXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlclwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0xpc3R9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nX2xpc3RcIjtcclxuaW1wb3J0IHtSZWNvcmRlckNvbWJpUGFuZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRlcl9jb21iaV9wYW5lXCI7XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTUFJfUk9VVEVTOiBSb3V0ZXMgPSBbXHJcbiAgeyBwYXRoOiAnc3ByL3Nlc3Npb24vOmlkJywgICAgICBjb21wb25lbnQ6IFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdyZWNvcmRlcicsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUvX3ZpZXcvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlL19lZGl0LzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUvX3ZpZXcnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fZWRpdCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL192aWV3LzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS9fZWRpdC86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL192aWV3LycsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL192aWV3JywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX2VkaXQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZScsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHInLCAgICAgIGNvbXBvbmVudDogU3BlZWNocmVjb3JkZXJuZ0NvbXBvbmVudCB9XHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbQXVkaW9TaWduYWwsIFNvbmFncmFtLCBTY3JvbGxQYW5lSG9yaXpvbnRhbCwgQXVkaW9DbGlwVUlDb250YWluZXIsIEF1ZGlvRGlzcGxheVNjcm9sbFBhbmUsIEF1ZGlvRGlzcGxheSwgQXVkaW9EaXNwbGF5UGxheWVyLCBBdWRpb0Rpc3BsYXlDb250cm9sLCBMZXZlbEJhciwgUHJvZ3Jlc3MsIFNpbXBsZVRyYWZmaWNMaWdodCwgUmVjaW5zdHJ1Y3Rpb25zLCBQcm9tcHRlciwgUHJvbXB0Q29udGFpbmVyLCBQcm9tcHRpbmdDb250YWluZXIsIFByb21wdGluZywgU3RhdHVzRGlzcGxheSxcclxuICAgICAgICBQcm9ncmVzc0Rpc3BsYXksIFJlY29yZGluZ0l0ZW1EaXNwbGF5LCBSZWNvcmRpbmdJdGVtQ29udHJvbHMsIFVwbG9hZFN0YXR1cywgVHJhbnNwb3J0UGFuZWwsIFJlYWR5U3RhdGVJbmRpY2F0b3IsIENvbnRyb2xQYW5lbCwgV2FybmluZ0JhciwgQXVkaW9SZWNvcmRlcixTZXNzaW9uTWFuYWdlciwgTWVzc2FnZURpYWxvZywgU2Vzc2lvbkZpbmlzaGVkRGlhbG9nLCBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50LCBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCwgUmVjb3JkaW5nRmlsZVVJLCBTY3JvbGxJbnRvVmlld0RpcmVjdGl2ZSwgUmVjb3JkaW5nRmlsZU5hdmlDb21wb25lbnQsIFJlY29yZGluZ0ZpbGVNZXRhQ29tcG9uZW50LFJlY29yZGluZ0xpc3QsUmVjb3JkZXJDb21iaVBhbmUsQXVkaW9SZWNvcmRlcl0sXHJcbiAgICBleHBvcnRzOiBbTWVzc2FnZURpYWxvZywgU3BlZWNocmVjb3JkZXJuZ0NvbXBvbmVudCwgU2Nyb2xsUGFuZUhvcml6b250YWwsIEF1ZGlvQ2xpcFVJQ29udGFpbmVyLCBBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lLCBBdWRpb0Rpc3BsYXksIEF1ZGlvRGlzcGxheVBsYXllciwgQXVkaW9EaXNwbGF5Q29udHJvbCwgTGV2ZWxCYXIsQXVkaW9SZWNvcmRlcl0sXHJcbiAgICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKFNQUl9ST1VURVMpLCBGbGV4TGF5b3V0TW9kdWxlLCBDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgTWF0RGlhbG9nTW9kdWxlLCBNYXRQcm9ncmVzc0Jhck1vZHVsZSwgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLCBNYXRUb29sdGlwTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgTWF0RGl2aWRlck1vZHVsZSwgTWF0R3JpZExpc3RNb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBNYXRTbmFja0Jhck1vZHVsZV0sXHJcbiAgICBwcm92aWRlcnM6IFtTZXNzaW9uU2VydmljZSwgUHJvamVjdFNlcnZpY2UsIFNjcmlwdFNlcnZpY2UsIFJlY29yZGluZ1NlcnZpY2UsIFJlY29yZGluZ0ZpbGVTZXJ2aWNlLCBTcGVlY2hSZWNvcmRlclVwbG9hZGVyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3BlZWNocmVjb3JkZXJuZ01vZHVsZXtcclxuXHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBTcGVlY2hSZWNvcmRlckNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U3BlZWNocmVjb3JkZXJuZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFNwZWVjaHJlY29yZGVybmdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtwcm92aWRlOiBTUEVFQ0hSRUNPUkRFUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNocmVjb3JkZXJuZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zcGVlY2hyZWNvcmRlcm5nL3NyYy9saWIvc3BlZWNocmVjb3JkZXJuZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFMUYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsZUFBZSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxHQUMxRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGdCQUFnQixFQUFD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c0JBQXNCLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBQyxhQUFhLENBQUM7b0JBQ3RNLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztvQkFDNVYsU0FBUyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUM7aUJBQzdIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3BlZWNocmVjb3JkZXJuZ0NvbXBvbmVudH0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXJuZy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTaW1wbGVUcmFmZmljTGlnaHR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3N0YXJ0c3RvcHNpZ25hbC91aS9zaW1wbGV0cmFmZmljbGlnaHRcIjtcclxuXHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7UHJvZ3Jlc3N9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcHJvZ3Jlc3NcIjtcclxuaW1wb3J0IHtcclxuICBQcm9tcHRDb250YWluZXIsIFByb21wdGVyLCBQcm9tcHRpbmcsIFByb21wdGluZ0NvbnRhaW5lciwgUmVjaW5zdHJ1Y3Rpb25zLFxyXG59IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcHJvbXB0aW5nXCI7XHJcbmltcG9ydCB7U2Vzc2lvbk1hbmFnZXJ9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbm1hbmFnZXJcIjtcclxuaW1wb3J0IHtXYXJuaW5nQmFyfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3dhcm5pbmdfYmFyXCI7XHJcbmltcG9ydCB7U2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmV9IGZyb20gXCIuL3V0aWxzL3Njcm9sbEludG9WaWV3VG9Cb3R0b21cIjtcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXJcIjtcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXJcIjtcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XHJcbmltcG9ydCB7SHR0cENsaWVudE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U2NyaXB0U2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Um91dGVyTW9kdWxlLCBSb3V0ZXN9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHtTcGVlY2hSZWNvcmRlckNvbmZpZywgU1BFRUNIUkVDT1JERVJfQ09ORklHfSBmcm9tIFwiLi9zcHIuY29uZmlnXCI7XHJcbmltcG9ydCB7U3BlZWNoUmVjb3JkZXJVcGxvYWRlcn0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc3BydXBsb2FkZXJcIjtcclxuaW1wb3J0IHtQcm9qZWN0U2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcHJvamVjdC9wcm9qZWN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtcclxuICBDb250cm9sUGFuZWwsXHJcbiAgUHJvZ3Jlc3NEaXNwbGF5LFxyXG4gIFJlYWR5U3RhdGVJbmRpY2F0b3IsXHJcbiAgU3RhdHVzRGlzcGxheSxcclxuICBUcmFuc3BvcnRQYW5lbCxcclxuICBVcGxvYWRTdGF0dXNcclxufSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL2NvbnRyb2xwYW5lbFwiO1xyXG5pbXBvcnQge0ZsZXhMYXlvdXRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9mbGV4LWxheW91dFwiO1xyXG5pbXBvcnQge1Nlc3Npb25GaW5pc2hlZERpYWxvZ30gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uX2ZpbmlzaGVkX2RpYWxvZ1wiO1xyXG5pbXBvcnQge01lc3NhZ2VEaWFsb2d9IGZyb20gXCIuL3VpL21lc3NhZ2VfZGlhbG9nXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nSXRlbUNvbnRyb2xzLCBSZWNvcmRpbmdJdGVtRGlzcGxheX0gZnJvbSBcIi4vdWkvcmVjb3JkaW5naXRlbV9kaXNwbGF5XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nU2VydmljZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5ncy9yZWNvcmRpbmdzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTY3JvbGxQYW5lSG9yaXpvbnRhbH0gZnJvbSBcIi4vYXVkaW8vdWkvc2Nyb2xsX3BhbmVfaG9yaXpvbnRhbFwiO1xyXG5pbXBvcnQge0F1ZGlvQ2xpcFVJQ29udGFpbmVyfSBmcm9tIFwiLi9hdWRpby91aS9jb250YWluZXJcIjtcclxuaW1wb3J0IHtBdWRpb1NpZ25hbH0gZnJvbSBcIi4vYXVkaW8vdWkvYXVkaW9zaWduYWxcIjtcclxuaW1wb3J0IHtTb25hZ3JhbX0gZnJvbSBcIi4vYXVkaW8vdWkvc29uYWdyYW1cIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlQbGF5ZXJ9IGZyb20gXCIuL2F1ZGlvL2F1ZGlvX3BsYXllclwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheX0gZnJvbSBcIi4vYXVkaW8vYXVkaW9fZGlzcGxheVwiO1xyXG5pbXBvcnQge0F1ZGlvRGlzcGxheUNvbnRyb2x9IGZyb20gXCIuL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbFwiO1xyXG5pbXBvcnQge0xldmVsQmFyfSBmcm9tIFwiLi9hdWRpby91aS9saXZlbGV2ZWxcIjtcclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi9hdWRpby91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmltcG9ydCB7VVVJRH0gZnJvbSBcIi4vdXRpbHMvdXRpbHNcIjtcclxuaW1wb3J0IHtNYXRDaGVja2JveE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7TWF0Q2FyZCwgTWF0Q2FyZE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NhcmRcIjtcclxuaW1wb3J0IHtNYXREaXZpZGVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlclwiO1xyXG5pbXBvcnQge01hdEdyaWRMaXN0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZ3JpZC1saXN0XCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVVJfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tIFwiLi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nZmlsZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS12aWV3LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgUmVjb3JkaW5nRmlsZU5hdmlDb21wb25lbnQgfSBmcm9tICcuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1uYXZpLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmVjb3JkaW5nRmlsZU1ldGFDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nZmlsZS9yZWNvcmRpbmctZmlsZS1tZXRhLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xyXG5pbXBvcnQge01hdElucHV0TW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcclxuaW1wb3J0IHtNYXRTbmFja0Jhck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhclwiO1xyXG5pbXBvcnQge0F1ZGlvUmVjb3JkZXIsIEF1ZGlvUmVjb3JkZXJDb21wb25lbnR9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlclwiO1xyXG5pbXBvcnQge1JlY29yZGluZ0xpc3R9IGZyb20gXCIuL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vcmVjb3JkaW5nX2xpc3RcIjtcclxuaW1wb3J0IHtSZWNvcmRlckNvbWJpUGFuZX0gZnJvbSBcIi4vc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRlcl9jb21iaV9wYW5lXCI7XHJcblxyXG5cclxuXHJcbmV4cG9ydCBjb25zdCBTUFJfUk9VVEVTOiBSb3V0ZXMgPSBbXHJcbiAgeyBwYXRoOiAnc3ByL3Nlc3Npb24vOmlkJywgICAgICBjb21wb25lbnQ6IFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdyZWNvcmRlci9zZXNzaW9uLzppZCcsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdyZWNvcmRlcicsICAgICAgY29tcG9uZW50OiBBdWRpb1JlY29yZGVyQ29tcG9uZW50fSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldy86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUvX2VkaXQvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcHJvamVjdC86cHJvamVjdC9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjb3JkaW5nZmlsZS9fdmlldycsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlL19lZGl0JywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9wcm9qZWN0Lzpwcm9qZWN0L3Nlc3Npb24vOnNlc3Npb25JZC9yZWNvcmRpbmdmaWxlLzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3Byb2plY3QvOnByb2plY3Qvc2Vzc2lvbi86c2Vzc2lvbklkL3JlY29yZGluZ2ZpbGUnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvOnJlY29yZGluZ0ZpbGVJZCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlL19lZGl0LzpyZWNvcmRpbmdGaWxlSWQnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVVJIH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcvJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnc3ByL2RiL3JlY29yZGluZ2ZpbGUvX3ZpZXcnLCAgICAgIGNvbXBvbmVudDogUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS9fZWRpdCcsICAgICAgY29tcG9uZW50OiBSZWNvcmRpbmdGaWxlVUkgfSxcclxuICB7IHBhdGg6ICdzcHIvZGIvcmVjb3JkaW5nZmlsZS86cmVjb3JkaW5nRmlsZUlkJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3Nwci9kYi9yZWNvcmRpbmdmaWxlJywgICAgICBjb21wb25lbnQ6IFJlY29yZGluZ0ZpbGVVSSB9LFxyXG4gIHsgcGF0aDogJ3NwcicsICAgICAgY29tcG9uZW50OiBTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50IH1cclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBkZWNsYXJhdGlvbnM6IFtBdWRpb1NpZ25hbCwgU29uYWdyYW0sIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLCBQcm9ncmVzcywgU2ltcGxlVHJhZmZpY0xpZ2h0LCBSZWNpbnN0cnVjdGlvbnMsIFByb21wdGVyLCBQcm9tcHRDb250YWluZXIsIFByb21wdGluZ0NvbnRhaW5lciwgUHJvbXB0aW5nLCBTdGF0dXNEaXNwbGF5LFxyXG4gICAgICAgIFByb2dyZXNzRGlzcGxheSwgUmVjb3JkaW5nSXRlbURpc3BsYXksIFJlY29yZGluZ0l0ZW1Db250cm9scywgVXBsb2FkU3RhdHVzLCBUcmFuc3BvcnRQYW5lbCwgUmVhZHlTdGF0ZUluZGljYXRvciwgQ29udHJvbFBhbmVsLCBXYXJuaW5nQmFyLCBBdWRpb1JlY29yZGVyLFNlc3Npb25NYW5hZ2VyLCBNZXNzYWdlRGlhbG9nLCBTZXNzaW9uRmluaXNoZWREaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsQXVkaW9SZWNvcmRlckNvbXBvbmVudCwgUmVjb3JkaW5nRmlsZVZpZXdDb21wb25lbnQsIFJlY29yZGluZ0ZpbGVVSSwgU2Nyb2xsSW50b1ZpZXdEaXJlY3RpdmUsIFJlY29yZGluZ0ZpbGVOYXZpQ29tcG9uZW50LCBSZWNvcmRpbmdGaWxlTWV0YUNvbXBvbmVudCxSZWNvcmRpbmdMaXN0LFJlY29yZGVyQ29tYmlQYW5lLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgZXhwb3J0czogW01lc3NhZ2VEaWFsb2csIFNwZWVjaHJlY29yZGVybmdDb21wb25lbnQsIFNjcm9sbFBhbmVIb3Jpem9udGFsLCBBdWRpb0NsaXBVSUNvbnRhaW5lciwgQXVkaW9EaXNwbGF5U2Nyb2xsUGFuZSwgQXVkaW9EaXNwbGF5LCBBdWRpb0Rpc3BsYXlQbGF5ZXIsIEF1ZGlvRGlzcGxheUNvbnRyb2wsIExldmVsQmFyLEF1ZGlvUmVjb3JkZXJdLFxyXG4gICAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChTUFJfUk9VVEVTKSwgRmxleExheW91dE1vZHVsZSwgQ29tbW9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgTWF0Q2hlY2tib3hNb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIE1hdEdyaWRMaXN0TW9kdWxlLCBNYXRUYWJsZU1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgTWF0U25hY2tCYXJNb2R1bGVdLFxyXG4gICAgcHJvdmlkZXJzOiBbU2Vzc2lvblNlcnZpY2UsIFByb2plY3RTZXJ2aWNlLCBTY3JpcHRTZXJ2aWNlLCBSZWNvcmRpbmdTZXJ2aWNlLCBSZWNvcmRpbmdGaWxlU2VydmljZSwgU3BlZWNoUmVjb3JkZXJVcGxvYWRlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNwZWVjaHJlY29yZGVybmdNb2R1bGV7XHJcblxyXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogU3BlZWNoUmVjb3JkZXJDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNwZWVjaHJlY29yZGVybmdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBTcGVlY2hyZWNvcmRlcm5nTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7cHJvdmlkZTogU1BFRUNIUkVDT1JERVJfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export const VERSION = '2.23.7';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLm1vZHVsZS52ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3Nwci5tb2R1bGUudmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT049JzIuMjMuNyciXX0=
1
+ export const VERSION = '2.23.8';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByLm1vZHVsZS52ZXJzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL3Nwci5tb2R1bGUudmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT049JzIuMjMuOCciXX0=
@@ -8,8 +8,10 @@ export { UUID } from "./lib/utils/utils";
8
8
  export { Action } from "./lib/action/action";
9
9
  export { MessageDialog } from "./lib/ui/message_dialog";
10
10
  export { AudioClip, Selection } from './lib/audio/persistor';
11
+ export { WavWriter } from './lib/audio/impl/wavwriter';
12
+ export { RecorderComponent } from './lib/recorder_component';
11
13
  export { AudioPlayer, AudioPlayerEvent, EventType } from './lib/audio/playback/player';
12
- export { AudioRecorder } from './lib/speechrecorder/session/audiorecorder';
14
+ export { AudioRecorder, AudioRecorderComponent } from './lib/speechrecorder/session/audiorecorder';
13
15
  export { AudioDisplay } from './lib/audio/audio_display';
14
16
  export { AudioDisplayPlayer } from './lib/audio/audio_player';
15
17
  export { AudioClipUIContainer } from './lib/audio/ui/container';
@@ -28,4 +30,4 @@ export { RecordingFileViewComponent } from './lib/speechrecorder/session/recordi
28
30
  export { RecordingFileUI } from './lib/speechrecorder/session/recordingfile/recording-file-u-i.component';
29
31
  export { SpeechRecorderConfig, ApiType } from './lib/spr.config';
30
32
  export { SpeechrecorderngComponent } from './lib/speechrecorderng.component';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFLSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQTtBQUNwRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sMEJBQTBCLENBQUE7QUFDaEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFdEQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUE7QUFFckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUMsV0FBVyxFQUF1QixnQkFBZ0IsRUFBRSxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFBO0FBQ3RELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFBO0FBQzNELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFBO0FBQzdELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHVDQUF1QyxDQUFBO0FBQzFFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFBO0FBQ3hFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQTtBQUVqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sOENBQThDLENBQUE7QUFFM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhDQUE4QyxDQUFBO0FBQzNFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQTtBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUMvRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNyRyxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQTtBQUNuSCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0seUVBQXlFLENBQUE7QUFDdkcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE9BQU8sRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBQzdELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNwZWVjaHJlY29yZGVybmdcclxuICovXHJcblxyXG5cclxuaW1wb3J0IHtBdWRpb0Rpc3BsYXlDb250cm9sfSBmcm9tIFwiLi9saWIvYXVkaW8vdWkvYXVkaW9fZGlzcGxheV9jb250cm9sXCI7XHJcblxyXG5leHBvcnQge1NwZWVjaHJlY29yZGVybmdNb2R1bGV9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVybmcubW9kdWxlJ1xyXG5leHBvcnQge1ZFUlNJT059IGZyb20gJy4vbGliL3Nwci5tb2R1bGUudmVyc2lvbidcclxuZXhwb3J0IHtTUEVFQ0hSRUNPUkRFUl9DT05GSUd9IGZyb20gJy4vbGliL3Nwci5jb25maWcnXHJcblxyXG5leHBvcnQge1VVSUR9IGZyb20gXCIuL2xpYi91dGlscy91dGlsc1wiXHJcbmV4cG9ydCB7QWN0aW9ufSBmcm9tIFwiLi9saWIvYWN0aW9uL2FjdGlvblwiO1xyXG5cclxuZXhwb3J0IHtNZXNzYWdlRGlhbG9nfSBmcm9tIFwiLi9saWIvdWkvbWVzc2FnZV9kaWFsb2dcIlxyXG5cclxuZXhwb3J0IHtBdWRpb0NsaXAsU2VsZWN0aW9ufSBmcm9tICcuL2xpYi9hdWRpby9wZXJzaXN0b3InXHJcbmV4cG9ydCB7QXVkaW9QbGF5ZXIsIEF1ZGlvUGxheWVyTGlzdGVuZXIsIEF1ZGlvUGxheWVyRXZlbnQsIEV2ZW50VHlwZX0gZnJvbSAnLi9saWIvYXVkaW8vcGxheWJhY2svcGxheWVyJ1xyXG5leHBvcnQge0F1ZGlvUmVjb3JkZXJ9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vYXVkaW9yZWNvcmRlcidcclxuZXhwb3J0IHtBdWRpb0Rpc3BsYXl9IGZyb20gJy4vbGliL2F1ZGlvL2F1ZGlvX2Rpc3BsYXknXHJcbmV4cG9ydCB7QXVkaW9EaXNwbGF5UGxheWVyfSBmcm9tICcuL2xpYi9hdWRpby9hdWRpb19wbGF5ZXInXHJcbmV4cG9ydCB7QXVkaW9DbGlwVUlDb250YWluZXJ9IGZyb20gJy4vbGliL2F1ZGlvL3VpL2NvbnRhaW5lcidcclxuZXhwb3J0IHtTY3JvbGxQYW5lSG9yaXpvbnRhbH0gZnJvbSAnLi9saWIvYXVkaW8vdWkvc2Nyb2xsX3BhbmVfaG9yaXpvbnRhbCdcclxuZXhwb3J0IHtBdWRpb0Rpc3BsYXlTY3JvbGxQYW5lfSBmcm9tIFwiLi9saWIvYXVkaW8vdWkvYXVkaW9fZGlzcGxheV9zY3JvbGxfcGFuZVwiO1xyXG5leHBvcnQge0F1ZGlvQ29udGV4dFByb3ZpZGVyfSBmcm9tIFwiLi9saWIvYXVkaW8vY29udGV4dFwiO1xyXG5leHBvcnQge0F1ZGlvRGlzcGxheUNvbnRyb2x9IGZyb20gXCIuL2xpYi9hdWRpby91aS9hdWRpb19kaXNwbGF5X2NvbnRyb2xcIlxyXG5leHBvcnQge0xldmVsQmFyfSBmcm9tICcuL2xpYi9hdWRpby91aS9saXZlbGV2ZWwnXHJcblxyXG5leHBvcnQge1Byb2plY3RTZXJ2aWNlfSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9wcm9qZWN0L3Byb2plY3Quc2VydmljZSdcclxuZXhwb3J0IHtTZXNzaW9ufSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3Nlc3Npb24nXHJcbmV4cG9ydCB7U2Vzc2lvblNlcnZpY2V9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbi5zZXJ2aWNlJ1xyXG5leHBvcnQge1NjcmlwdFNlcnZpY2V9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQuc2VydmljZSdcclxuZXhwb3J0IHtTY3JpcHQsU2VjdGlvbixHcm91cCxQcm9tcHRJdGVtLE1lZGlhaXRlbSxQcm9tcHRQaGFzZSxNb2RlfSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9zY3JpcHQvc2NyaXB0J1xyXG5leHBvcnQge1JlY29yZGluZ1NlcnZpY2V9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3JlY29yZGluZ3MvcmVjb3JkaW5ncy5zZXJ2aWNlJ1xyXG5leHBvcnQge1NwclJlY29yZGluZ0ZpbGV9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3JlY29yZGluZydcclxuZXhwb3J0IHtSZWNvcmRpbmdGaWxlU2VydmljZX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZ2ZpbGUtc2VydmljZSdcclxuZXhwb3J0IHtSZWNvcmRpbmdGaWxlVmlld0NvbXBvbmVudH0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLXZpZXcuY29tcG9uZW50J1xyXG5leHBvcnQge1JlY29yZGluZ0ZpbGVVSX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9yZWNvcmRpbmdmaWxlL3JlY29yZGluZy1maWxlLXUtaS5jb21wb25lbnQnXHJcbmV4cG9ydCB7U3BlZWNoUmVjb3JkZXJDb25maWcsQXBpVHlwZX0gZnJvbSAnLi9saWIvc3ByLmNvbmZpZydcclxuZXhwb3J0IHtTcGVlY2hyZWNvcmRlcm5nQ29tcG9uZW50fSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlcm5nLmNvbXBvbmVudCdcclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFLSCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQTtBQUNwRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sMEJBQTBCLENBQUE7QUFDaEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFdEQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUE7QUFFckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQTtBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sNEJBQTRCLENBQUE7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMEJBQTBCLENBQUE7QUFDMUQsT0FBTyxFQUFDLFdBQVcsRUFBdUIsZ0JBQWdCLEVBQUUsU0FBUyxFQUFDLE1BQU0sNkJBQTZCLENBQUE7QUFDekcsT0FBTyxFQUFDLGFBQWEsRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQy9GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQTtBQUM3RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQTtBQUMxRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQTtBQUN4RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUE7QUFFakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhDQUE4QyxDQUFBO0FBRTNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQTtBQUMzRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFFeEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0RBQW9ELENBQUE7QUFDbkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUE7QUFDL0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0VBQWtFLENBQUE7QUFDckcsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMEVBQTBFLENBQUE7QUFDbkgsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHlFQUF5RSxDQUFBO0FBQ3ZHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxPQUFPLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzcGVlY2hyZWNvcmRlcm5nXHJcbiAqL1xyXG5cclxuXHJcbmltcG9ydCB7QXVkaW9EaXNwbGF5Q29udHJvbH0gZnJvbSBcIi4vbGliL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbFwiO1xyXG5cclxuZXhwb3J0IHtTcGVlY2hyZWNvcmRlcm5nTW9kdWxlfSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlcm5nLm1vZHVsZSdcclxuZXhwb3J0IHtWRVJTSU9OfSBmcm9tICcuL2xpYi9zcHIubW9kdWxlLnZlcnNpb24nXHJcbmV4cG9ydCB7U1BFRUNIUkVDT1JERVJfQ09ORklHfSBmcm9tICcuL2xpYi9zcHIuY29uZmlnJ1xyXG5cclxuZXhwb3J0IHtVVUlEfSBmcm9tIFwiLi9saWIvdXRpbHMvdXRpbHNcIlxyXG5leHBvcnQge0FjdGlvbn0gZnJvbSBcIi4vbGliL2FjdGlvbi9hY3Rpb25cIjtcclxuXHJcbmV4cG9ydCB7TWVzc2FnZURpYWxvZ30gZnJvbSBcIi4vbGliL3VpL21lc3NhZ2VfZGlhbG9nXCJcclxuZXhwb3J0IHtSZWFkeVN0YXRlUHJvdmlkZXJ9IGZyb20gXCIuL2xpYi9yZWNvcmRlcl9jb21wb25lbnRcIlxyXG5leHBvcnQge0F1ZGlvQ2xpcCxTZWxlY3Rpb259IGZyb20gJy4vbGliL2F1ZGlvL3BlcnNpc3RvcidcclxuZXhwb3J0IHtXYXZXcml0ZXJ9IGZyb20gJy4vbGliL2F1ZGlvL2ltcGwvd2F2d3JpdGVyJ1xyXG5leHBvcnQge1JlY29yZGVyQ29tcG9uZW50fSBmcm9tICcuL2xpYi9yZWNvcmRlcl9jb21wb25lbnQnXHJcbmV4cG9ydCB7QXVkaW9QbGF5ZXIsIEF1ZGlvUGxheWVyTGlzdGVuZXIsIEF1ZGlvUGxheWVyRXZlbnQsIEV2ZW50VHlwZX0gZnJvbSAnLi9saWIvYXVkaW8vcGxheWJhY2svcGxheWVyJ1xyXG5leHBvcnQge0F1ZGlvUmVjb3JkZXIsQXVkaW9SZWNvcmRlckNvbXBvbmVudH0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9hdWRpb3JlY29yZGVyJ1xyXG5leHBvcnQge0F1ZGlvRGlzcGxheX0gZnJvbSAnLi9saWIvYXVkaW8vYXVkaW9fZGlzcGxheSdcclxuZXhwb3J0IHtBdWRpb0Rpc3BsYXlQbGF5ZXJ9IGZyb20gJy4vbGliL2F1ZGlvL2F1ZGlvX3BsYXllcidcclxuZXhwb3J0IHtBdWRpb0NsaXBVSUNvbnRhaW5lcn0gZnJvbSAnLi9saWIvYXVkaW8vdWkvY29udGFpbmVyJ1xyXG5leHBvcnQge1Njcm9sbFBhbmVIb3Jpem9udGFsfSBmcm9tICcuL2xpYi9hdWRpby91aS9zY3JvbGxfcGFuZV9ob3Jpem9udGFsJ1xyXG5leHBvcnQge0F1ZGlvRGlzcGxheVNjcm9sbFBhbmV9IGZyb20gXCIuL2xpYi9hdWRpby91aS9hdWRpb19kaXNwbGF5X3Njcm9sbF9wYW5lXCI7XHJcbmV4cG9ydCB7QXVkaW9Db250ZXh0UHJvdmlkZXJ9IGZyb20gXCIuL2xpYi9hdWRpby9jb250ZXh0XCI7XHJcbmV4cG9ydCB7QXVkaW9EaXNwbGF5Q29udHJvbH0gZnJvbSBcIi4vbGliL2F1ZGlvL3VpL2F1ZGlvX2Rpc3BsYXlfY29udHJvbFwiXHJcbmV4cG9ydCB7TGV2ZWxCYXJ9IGZyb20gJy4vbGliL2F1ZGlvL3VpL2xpdmVsZXZlbCdcclxuXHJcbmV4cG9ydCB7UHJvamVjdFNlcnZpY2V9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3Byb2plY3QvcHJvamVjdC5zZXJ2aWNlJ1xyXG5leHBvcnQge1Nlc3Npb259IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3Nlc3Npb24vc2Vzc2lvbidcclxuZXhwb3J0IHtTZXNzaW9uU2VydmljZX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2Vzc2lvbi9zZXNzaW9uLnNlcnZpY2UnXHJcbmV4cG9ydCB7U2NyaXB0U2VydmljZX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlJ1xyXG5leHBvcnQge1NjcmlwdCxTZWN0aW9uLEdyb3VwLFByb21wdEl0ZW0sTWVkaWFpdGVtLFByb21wdFBoYXNlLE1vZGV9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVyL3NjcmlwdC9zY3JpcHQnXHJcbmV4cG9ydCB7UmVjb3JkaW5nU2VydmljZX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5ncy9yZWNvcmRpbmdzLnNlcnZpY2UnXHJcbmV4cG9ydCB7U3ByUmVjb3JkaW5nRmlsZX0gZnJvbSAnLi9saWIvc3BlZWNocmVjb3JkZXIvcmVjb3JkaW5nJ1xyXG5leHBvcnQge1JlY29yZGluZ0ZpbGVTZXJ2aWNlfSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nZmlsZS1zZXJ2aWNlJ1xyXG5leHBvcnQge1JlY29yZGluZ0ZpbGVWaWV3Q29tcG9uZW50fSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdmlldy5jb21wb25lbnQnXHJcbmV4cG9ydCB7UmVjb3JkaW5nRmlsZVVJfSBmcm9tICcuL2xpYi9zcGVlY2hyZWNvcmRlci9zZXNzaW9uL3JlY29yZGluZ2ZpbGUvcmVjb3JkaW5nLWZpbGUtdS1pLmNvbXBvbmVudCdcclxuZXhwb3J0IHtTcGVlY2hSZWNvcmRlckNvbmZpZyxBcGlUeXBlfSBmcm9tICcuL2xpYi9zcHIuY29uZmlnJ1xyXG5leHBvcnQge1NwZWVjaHJlY29yZGVybmdDb21wb25lbnR9IGZyb20gJy4vbGliL3NwZWVjaHJlY29yZGVybmcuY29tcG9uZW50J1xyXG4iXX0=