@eo-sdk/client 8.16.32 → 8.16.33

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,10 +6,10 @@ export class AboutStateComponent {
6
6
  this.http = http;
7
7
  this.userService = userService;
8
8
  this.config = config;
9
- this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.32", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
9
+ this.__libraries__ = [{ "name": "@ag-grid-community/angular", "version": "22.1.2", "license": "MIT" }, { "name": "@ag-grid-community/client-side-row-model", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/core", "version": "22.1.1", "license": "MIT" }, { "name": "@ag-grid-community/csv-export", "version": "22.1.1", "license": "MIT" }, { "name": "@angular/animations", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/cdk", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/common", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/compiler", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/core", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/forms", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/platform-browser-dynamic", "version": "11.2.0", "license": "MIT" }, { "name": "@angular/router", "version": "11.2.0", "license": "MIT" }, { "name": "@eo-sdk/core", "version": "8.16.33", "license": "MIT" }, { "name": "@ngx-pwa/local-storage", "version": "11.1.0", "license": "MIT" }, { "name": "@ngx-translate/core", "version": "13.0.0", "license": "MIT" }, { "name": "@types/lodash", "version": "4.14.88", "license": "MIT" }, { "name": "core-js", "version": "2.5.7", "license": "MIT" }, { "name": "file-saver", "version": "2.0.5", "license": "MIT" }, { "name": "font-awesome", "version": "4.7.0", "license": "(OFL-1.1 AND MIT)" }, { "name": "keyboardevent-key-polyfill", "version": "1.1.0", "license": "CC0-1.0" }, { "name": "keycode-js", "version": "0.0.4", "license": "MIT" }, { "name": "mobile-drag-drop", "version": "2.2.0", "license": "MIT" }, { "name": "moment", "version": "2.22.2", "license": "MIT" }, { "name": "ngx-toastr", "version": "13.2.0", "license": "MIT" }, { "name": "primeicons", "version": "1.0.0-beta.6", "license": "MIT" }, { "name": "primeng", "version": "7.0.1", "license": "MIT" }, { "name": "reflect-metadata", "version": "0.1.10", "license": "Apache-2.0" }, { "name": "rxjs", "version": "6.6.3", "license": "Apache-2.0" }, { "name": "tslib", "version": "2.1.0", "license": "0BSD" }, { "name": "zone.js", "version": "0.10.3", "license": "MIT" }];
10
10
  this.ctrl = {
11
11
  productName: 'yuuvis® RAD client',
12
- clientVersion: '8.16.32'
12
+ clientVersion: '8.16.33'
13
13
  };
14
14
  this.licenses = {
15
15
  'MIT': {
@@ -82,4 +82,4 @@ AboutStateComponent.ctorParameters = () => [
82
82
  { type: UserService },
83
83
  { type: Config }
84
84
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4zMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjMyJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQtc3RhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1jbGllbnQvYWJvdXQtc3RhdGUvYWJvdXQtc3RhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxXQUFXLEVBQUUsTUFBTSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBT2pELE1BQU0sT0FBTyxtQkFBbUI7SUFxRDlCLFlBQW9CLElBQWdCLEVBQVUsV0FBd0IsRUFBVSxNQUFjO1FBQTFFLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFoRDlGLGtCQUFhLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywwQ0FBMEMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQywrQkFBK0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsZUFBZSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLDJCQUEyQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLG1DQUFtQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyx3QkFBd0IsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxlQUFlLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsbUJBQW1CLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLFlBQVksRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxLQUFLLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxZQUFZLEVBQUMsU0FBUyxFQUFDLGNBQWMsRUFBQyxTQUFTLEVBQUMsS0FBSyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsU0FBUyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsU0FBUyxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUM7UUFJaDlELFNBQUksR0FBRztZQUNMLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsYUFBYSxFQUFFLFNBQVM7U0FDekIsQ0FBQztRQUVGLGFBQVEsR0FBRztZQUNULEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsb0NBQW9DO2FBQzVDO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLE9BQU8sRUFBRSxZQUFZO2dCQUNyQixLQUFLLEVBQUUsNENBQTRDO2FBQ3BEO1lBQ0Qsb0JBQW9CLEVBQUU7Z0JBQ3BCLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixLQUFLLEVBQUUsNkNBQTZDO2FBQ3JEO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsb0RBQW9EO2FBQzVEO1lBQ0QsbUJBQW1CLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxvQ0FBb0M7YUFDNUM7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsS0FBSyxFQUFFLGdDQUFnQzthQUN4QztZQUNELFlBQVksRUFBRTtnQkFDWixPQUFPLEVBQUUsWUFBWTthQUN0QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUUsMkRBQTJEO2dCQUNwRSxLQUFLLEVBQUUsc0VBQXNFO2FBQzlFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLEtBQUssRUFBRSxxQ0FBcUM7YUFDN0M7U0FDRixDQUFDO1FBSUEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsQ0FBQztRQUMzRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsSUFBSSxtQ0FBTyxJQUFJLEtBQUUsSUFBSSxHQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsV0FBVzthQUNiLEtBQUs7YUFDTCxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSTtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQWxGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbTBEQUEyQzs7YUFFNUM7OztZQVBPLFVBQVU7WUFDVixXQUFXO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtVc2VyU2VydmljZSwgQ29uZmlnfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1hYm91dC1zdGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC1zdGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0LXN0YXRlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRTdGF0ZUNvbXBvbmVudCB7XG5cbiAgYmFja2dyb3VuZEltYWdlOiBzdHJpbmc7XG4gIGhlYWRlckxvZ286IHN0cmluZztcbiAgbGljZW5zZVNob3c6IGJvb2xlYW47XG4gIF9fbGlicmFyaWVzX18gPSBbe1wibmFtZVwiOlwiQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXJcIixcInZlcnNpb25cIjpcIjIyLjEuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jbGllbnQtc2lkZS1yb3ctbW9kZWxcIixcInZlcnNpb25cIjpcIjIyLjEuMVwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhZy1ncmlkLWNvbW11bml0eS9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIyMi4xLjFcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYWctZ3JpZC1jb21tdW5pdHkvY3N2LWV4cG9ydFwiLFwidmVyc2lvblwiOlwiMjIuMS4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvY2RrXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb21tb25cIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBhbmd1bGFyL2NvbXBpbGVyXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9jb3JlXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9mb3Jtc1wiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiLFwidmVyc2lvblwiOlwiMTEuMi4wXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljXCIsXCJ2ZXJzaW9uXCI6XCIxMS4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJAYW5ndWxhci9yb3V0ZXJcIixcInZlcnNpb25cIjpcIjExLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBlby1zZGsvY29yZVwiLFwidmVyc2lvblwiOlwiOC4xNi4zM1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtcHdhL2xvY2FsLXN0b3JhZ2VcIixcInZlcnNpb25cIjpcIjExLjEuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIixcInZlcnNpb25cIjpcIjEzLjAuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIkB0eXBlcy9sb2Rhc2hcIixcInZlcnNpb25cIjpcIjQuMTQuODhcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJjb3JlLWpzXCIsXCJ2ZXJzaW9uXCI6XCIyLjUuN1wiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcImZpbGUtc2F2ZXJcIixcInZlcnNpb25cIjpcIjIuMC41XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwiZm9udC1hd2Vzb21lXCIsXCJ2ZXJzaW9uXCI6XCI0LjcuMFwiLFwibGljZW5zZVwiOlwiKE9GTC0xLjEgQU5EIE1JVClcIn0se1wibmFtZVwiOlwia2V5Ym9hcmRldmVudC1rZXktcG9seWZpbGxcIixcInZlcnNpb25cIjpcIjEuMS4wXCIsXCJsaWNlbnNlXCI6XCJDQzAtMS4wXCJ9LHtcIm5hbWVcIjpcImtleWNvZGUtanNcIixcInZlcnNpb25cIjpcIjAuMC40XCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwibW9iaWxlLWRyYWctZHJvcFwiLFwidmVyc2lvblwiOlwiMi4yLjBcIixcImxpY2Vuc2VcIjpcIk1JVFwifSx7XCJuYW1lXCI6XCJtb21lbnRcIixcInZlcnNpb25cIjpcIjIuMjIuMlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcIm5neC10b2FzdHJcIixcInZlcnNpb25cIjpcIjEzLjIuMFwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1laWNvbnNcIixcInZlcnNpb25cIjpcIjEuMC4wLWJldGEuNlwiLFwibGljZW5zZVwiOlwiTUlUXCJ9LHtcIm5hbWVcIjpcInByaW1lbmdcIixcInZlcnNpb25cIjpcIjcuMC4xXCIsXCJsaWNlbnNlXCI6XCJNSVRcIn0se1wibmFtZVwiOlwicmVmbGVjdC1tZXRhZGF0YVwiLFwidmVyc2lvblwiOlwiMC4xLjEwXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInJ4anNcIixcInZlcnNpb25cIjpcIjYuNi4zXCIsXCJsaWNlbnNlXCI6XCJBcGFjaGUtMi4wXCJ9LHtcIm5hbWVcIjpcInRzbGliXCIsXCJ2ZXJzaW9uXCI6XCIyLjEuMFwiLFwibGljZW5zZVwiOlwiMEJTRFwifSx7XCJuYW1lXCI6XCJ6b25lLmpzXCIsXCJ2ZXJzaW9uXCI6XCIwLjEwLjNcIixcImxpY2Vuc2VcIjpcIk1JVFwifV07XG4gIHVzZXJMYW5nOiBzdHJpbmc7XG4gIGRvY3U6IHsgbGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH07XG5cbiAgY3RybCA9IHtcbiAgICBwcm9kdWN0TmFtZTogJ3l1dXZpc8KuIFJBRCBjbGllbnQnLFxuICAgIGNsaWVudFZlcnNpb246ICc4LjE2LjMzJ1xuICB9O1xuXG4gIGxpY2Vuc2VzID0ge1xuICAgICdNSVQnOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdBcGFjaGUtMi4wJzoge1xuICAgICAgJ2xhYmVsJzogJ0FwYWNoZSAyLjAnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAnXG4gICAgfSxcbiAgICAnQlNELTMtQ2xhdXNlLUNsZWFyJzoge1xuICAgICAgJ2xhYmVsJzogJ0JTRCAzLUNsYXVzZScsXG4gICAgICAndXJsJzogJ2h0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2UnXG4gICAgfSxcbiAgICAnQ0MwLTEuMCc6IHtcbiAgICAgICdsYWJlbCc6ICdDQzAgMS4wJyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8nXG4gICAgfSxcbiAgICAnKE9GTC0xLjEgQU5EIE1JVCknOiB7XG4gICAgICAnbGFiZWwnOiAnTUlUJyxcbiAgICAgICd1cmwnOiAnaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCdcbiAgICB9LFxuICAgICdTSUxPRkwtMS4xJzoge1xuICAgICAgJ2xhYmVsJzogJ1NJTCBPcGVuIEZvbnQgTGljZW5zZSAxLjEnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vc2NyaXB0cy5zaWwub3JnL09GTF93ZWInXG4gICAgfSxcbiAgICAnQ29tbWVyY2lhbCc6IHtcbiAgICAgICdsYWJlbCc6ICdDb21tZXJjaWFsJ1xuICAgIH0sXG4gICAgJ2FnLWdyaWQnOiB7XG4gICAgICAnbGFiZWwnOiAnYWctR3JpZC1FbnRlcnByaXNlIFNvZnR3YXJlIExpY2VuY2UgQWdyZWVtZW50IFZlcnNpb24gMS43JyxcbiAgICAgICd1cmwnOiAnaHR0cHM6Ly9naXRodWIuY29tL2Nlb2x0ZXIvYWctZ3JpZC1lbnRlcnByaXNlL2Jsb2IvbWFzdGVyL0xJQ0VOU0UubWQnXG4gICAgfSxcbiAgICAnMEJTRCc6IHtcbiAgICAgICdsYWJlbCc6ICdaZXJvLUNsYXVzZSBCU0QnLFxuICAgICAgJ3VybCc6ICdodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvMEJTRCdcbiAgICB9XG4gIH07XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLCBwcml2YXRlIGNvbmZpZzogQ29uZmlnKSB7XG4gICAgdGhpcy5nZXRVc2VyTGFuZygpO1xuICAgIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbigpO1xuICAgIHRoaXMuYmFja2dyb3VuZEltYWdlID0gYHVybCgke3RoaXMuY29uZmlnLmdldERhc2hib2FyZEJhY2tncm91bmRJbWFnZSgpfSlgO1xuICAgIHRoaXMuaGVhZGVyTG9nbyA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuaGVhZGVyTG9nbycpO1xuICAgIGlmICghdGhpcy5oZWFkZXJMb2dvKSB7XG4gICAgICB0aGlzLmhlYWRlckxvZ28gPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2FwcExvZ28nKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgdGhpcy51c2VyTGFuZy5zdWJzdHJpbmcoMCwgMikpO1xuICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgfVxuXG4gIGdldFVzZXJMYW5nKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHRoaXMudXNlckxhbmcgPSBkYXRhLnVzZXJTZXR0aW5ncy5jbGllbnRsb2NhbGUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cbn1cbiJdfQ==
@@ -142,7 +142,7 @@ export class PrepareService {
142
142
  * @returns string Preview uri
143
143
  */
144
144
  getPreviewUri(id, index, rendition) {
145
- return Utils.buildUri(`${this.backend.getServiceBase()}/prepare/${id}/content`, { rendition, index });
145
+ return Utils.buildUri(`${this.backend.getContextPath()}/prepare/${id}/content`, { rendition, index });
146
146
  }
147
147
  /**
148
148
  * Updates the prepared items target object type.
@@ -186,7 +186,7 @@ export class PrepareService {
186
186
  * @returns string The template preview url.
187
187
  */
188
188
  getTemplatePreviewUri(id, rendition) {
189
- return Utils.buildUri(`${this.backend.getServiceBase()}/template/${id}/content`, { rendition });
189
+ return Utils.buildUri(`${this.backend.getContextPath()}/template/${id}/content`, { rendition });
190
190
  }
191
191
  /**
192
192
  * Commit a prepared item. This will create an actual dms object.
@@ -210,7 +210,7 @@ export class PrepareService {
210
210
  * @returns Observable<any>
211
211
  */
212
212
  uploadContent(preparedItemId, file) {
213
- const uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
213
+ const uri = `/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
214
214
  return this.uploadService
215
215
  .upload(uri, [file])
216
216
  .pipe(
@@ -246,7 +246,7 @@ export class PrepareService {
246
246
  *
247
247
  * @type string
248
248
  */
249
- uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
249
+ uri = this.createPreparedItemPostUrl({
250
250
  parentId: null,
251
251
  createMany: !useBatchUpload
252
252
  });
@@ -256,7 +256,7 @@ export class PrepareService {
256
256
  * upload to dms object, means adding or replacing content file
257
257
  */
258
258
  const { referenceObject } = uploadTarget;
259
- uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
259
+ uri = `/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
260
260
  }
261
261
  else if (uploadTarget.type === UploadTarget.CONTEXT || uploadTarget.type === UploadTarget.CONTEXT_TREE) {
262
262
  /**
@@ -266,7 +266,7 @@ export class PrepareService {
266
266
  *
267
267
  * @type string
268
268
  */
269
- uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
269
+ uri = this.createPreparedItemPostUrl({
270
270
  parentId: uploadTarget.referenceObject.id,
271
271
  createMany: !useBatchUpload,
272
272
  childType: uploadTarget.subFolder && uploadTarget.subFolder.data.type ? uploadTarget.subFolder.data.type : null
@@ -297,4 +297,4 @@ PrepareService.ctorParameters = () => [
297
297
  { type: BackendService },
298
298
  { type: UploadService }
299
299
  ];
300
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUF1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFpQjdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFBb0IsT0FBdUIsRUFDdkIsYUFBNEI7UUFENUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSeEMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQStCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdwRiw0QkFBdUIsR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBSTVGLENBQUM7SUFFRDs7T0FFRztJQUNILHlCQUF5QjtRQUN2QixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7YUFDbkMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUN4QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7WUFDN0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLFNBQWtCO1FBRTVELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUNuQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDeEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQzthQUNOLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDJCQUEyQixDQUFDLGNBQWMsRUFBRSxJQUFJO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFdBQVcsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHlCQUF5QixDQUFDLE1BQXlCO1FBRXhELElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztRQUN4RSxJQUFJLE1BQU0sRUFBRTtZQUNWLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksaUJBQWlCLENBQUMsT0FBaUI7UUFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxrQkFBa0IsQ0FBQyxPQUFpQjtRQUMxQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1FBQ3hELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQzthQUNaLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ3BELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxhQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQy9ILENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBQyxjQUFzQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLEdBQUcsQ0FBQyxZQUFZLGNBQWMsRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsZUFBZSxDQUFDLGdCQUFnQixDQUFDO2FBQ2pDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzVELENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CLENBQUMsUUFBZ0IsRUFBRSxlQUF5QjtRQUNyRSxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxXQUFXLEVBQUUsZUFBZSxFQUFDLENBQUE7UUFDbkcsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLGVBQWUsQ0FBQyxHQUFHLENBQUM7YUFDcEIsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQ3pGLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxhQUFhLENBQUMsRUFBVSxFQUFFLEtBQWMsRUFBRSxTQUFrQjtRQUNqRSxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxVQUFrQixFQUFFLGNBQXNCO1FBQy9ELE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyxJQUFJLFVBQVUsNkJBQTZCLENBQUM7YUFDMUUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVyxDQUFDLGNBQWMsRUFBRSxVQUFVO1FBQzNDLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyx3QkFBd0IsVUFBVSxFQUFFLENBQUM7YUFDbkUsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2xDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFlBQVksQ0FBQyxjQUFzQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLE9BQU8sQ0FBQyxzQkFBc0IsR0FBRyxjQUFjLENBQUM7YUFDaEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBNkIsQ0FBQyxDQUNqRCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxTQUFrQjtRQUNqRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQzFFLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDaEIsR0FBRyxDQUFDLFlBQVksY0FBYyxJQUFJLGdCQUFnQixFQUFFLENBQUM7YUFDckQsSUFBSSxDQUNILFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsY0FBYyxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxFQUN4RixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUNuQixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGFBQWEsQ0FBQyxjQUFzQixFQUFFLElBQVU7UUFDOUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxjQUFjLDBDQUEwQyxDQUFDO1FBQ2xKLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CLElBQUk7UUFDSCxzQ0FBc0M7U0FDdkMsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFlBQTBCLEVBQUUsV0FBNkIsRUFBRSxjQUF3QjtRQUVoRyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxDQUFDLGFBQWE7YUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxFQUFFLEtBQUssQ0FBQzthQUNqRSxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQ3BDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssZUFBZSxDQUFDLFlBQTBCLEVBQUUsY0FBd0I7UUFDMUUsSUFBSSxHQUFHLENBQUM7UUFFUixJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLElBQUksRUFBRTtZQUMzQzs7OztlQUlHO1lBQ0gsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztnQkFDbEcsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLENBQUMsY0FBYzthQUM1QixDQUNGLENBQUM7U0FFSDthQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQ3BEOztlQUVHO1lBQ0gsTUFBTSxFQUFDLGVBQWUsRUFBQyxHQUFHLFlBQVksQ0FBQztZQUN2QyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxlQUFlLENBQUMsRUFBRSxrQkFBa0IsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUVoSjthQUFNLElBQUksWUFBWSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFlBQVksRUFBRTtZQUN4Rzs7Ozs7O2VBTUc7WUFDSCxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO2dCQUNwRyxRQUFRLEVBQUUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFO2dCQUN6QyxVQUFVLEVBQUUsQ0FBQyxjQUFjO2dCQUMzQixTQUFTLEVBQUUsWUFBWSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNoSCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0kseUJBQXlCLENBQUMsY0FBc0IsRUFBRSxLQUFjO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLFlBQVksY0FBYyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbEMsQ0FBQztJQUNOLENBQUM7OztZQWxWRixVQUFVOzs7WUF6QkgsY0FBYztZQUlkLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21lcmdlTWFwLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7T2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWwnO1xuaW1wb3J0IHtQcmVwYXJlZEl0ZW0sIFByZXBhcmVkSXRlbVRlbXBsYXRlfSBmcm9tICcuLi8uLi9tb2RlbC9wcmVwYXJlZC1pdGVtLm1vZGVsJztcbmltcG9ydCB7VXBsb2FkU2VydmljZX0gZnJvbSAnLi4vdXBsb2FkL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7VXBsb2FkVGFyZ2V0fSBmcm9tICcuLi8uLi9tb2RlbC91cGxvYWQtdGFyZ2V0Lm1vZGVsJztcbmltcG9ydCB7VXBsb2FkRmlsZUl0ZW19IGZyb20gJy4uLy4uL21vZGVsL3VwbG9hZC1maWxlLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHtJUHJlcGFyZUNoaWxkVHlwZXN9IGZyb20gJy4vb2JqZWN0VHlwZXMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRQb3N0UGFyYW0ge1xuICBwYXJlbnRJZDogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBvbmUgUHJlcGFyZWRJdGVtIHVzaW5nIG11bHRpcGxlIGZpbGVzIHVwbG9hZGVkIChmYWxzZSlcbiAgICogb3IgY3JlYXRpbmcgYSBQcmVwYXJlZEl0ZW0gZm9yIGVhY2ggZmlsZSBwb3N0ZWQgdG8gdGhlIFVSTCAodHJ1ZSlcbiAgICovXG4gIGNyZWF0ZU1hbnk/OiBib29sZWFuO1xuICBjaGlsZFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBQcmVwYXJlIFNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVwYXJlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zOiBQcmVwYXJlZEl0ZW1bXTtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8UHJlcGFyZWRJdGVtW10+KDEpO1xuICBwdWJsaWMgcHJlcGFyZWRJdGVtcyQ6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+ID0gdGhpcy5wcmVwYXJlZEl0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcHJlcGFyZWRJdGVtQ291bnQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1Db3VudFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyBwcmVwYXJlZEl0ZW1Db3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIEZldGNoIFByZXBhcmUgaXRlbXNcbiAgICovXG4gIHJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXNDb3VudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIG51bWJlciBvZiBwcmVwYXJlZCBpdGVtcyBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIHByaXZhdGUgZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9wcmVwYXJlL3N0YXRlJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLmNvdW50KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnQgPSByZXM7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UubmV4dCh0aGlzLnByZXBhcmVkSXRlbUNvdW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwcmVwYXJlZCBpdGVtIG9uIHRoZSBiYWNrZWQgc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmVudElkIFRoZSBJRCBvZiB0aGUgcGFyZW50IGRtcyBvYmplY3QgdG8gYWRkIHRoZSBwcmVwYXJlZCBpdGVtIHRvXG4gICAqIEBwYXJhbSBjaGlsZFR5cGUgVGhlIHR5cGUgb2Ygb2JqZWN0IHRvIGJlIGNyZWF0ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtKHBhcmVudElkOiBzdHJpbmcsIGNoaWxkVHlwZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdCh0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgIGNoaWxkVHlwZTogY2hpbGRUeXBlID8gY2hpbGRUeXBlIDogbnVsbFxuICAgICAgfSksIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVQcmVwYXJlZEl0ZW1JbmRleERhdGEocHJlcGFyZWRJdGVtSWQsIGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KCcvcHJlcGFyZS8nICsgcHJlcGFyZWRJdGVtSWQsIGRhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBVUkwgZm9yIGNyZWF0aW5nIGEgUHJlcGFyZWRJdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIFBhcmFtcyBmb3IgZ2VuZXJhdGluZyBhcHByb3ByaWF0ZSB1cmkuXG4gICAqIEByZXR1cm5zIHN0cmluZyBBIFBPU1QgVVJMIGZvciBjcmVhdGluZyBQcmVwYXJlZEl0ZW1zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybChwYXJhbXM6IFByZXBhcmVkUG9zdFBhcmFtKTogc3RyaW5nIHtcblxuICAgIGxldCB1cmwgPSBwYXJhbXMuY3JlYXRlTWFueSA/ICcvcHJlcGFyZS9jcmVhdGVtYW55JyA6ICcvcHJlcGFyZS9jcmVhdGUnO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHVybCA9IFV0aWxzLmJ1aWxkVXJpKHVybCwgcGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHRoZSB1c2VycyBwcmVwYXJlZCBpdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIG5vRm9ybXMgSWYgc2V0IHRvIHRydWUgdGhlIHByZXBhcmVkIGl0ZW1zIHdpbGwgYmUgZmV0Y2hlZCB3aXRob3V0IHRoZSBmb3JtIHdoaWNoIGlzIGZhc3RlclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiBBIGNvbGxlY3Rpb24gb2YgcHJlcGFyZWQgaXRlbSBvYmplY3RzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZWRJdGVtcyQobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcykuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlcGFyZWRJdGVtcyQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgUHJlcGFyZUl0ZW1zIGFuZCBmb3JtIHRoZW1cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gbm9Gb3Jtc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgbGV0IHVyaSA9IChub0Zvcm1zKSA/ICcvcHJlcGFyZScgOiAnL3ByZXBhcmU/Zm9ybT10cnVlJztcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbih1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzLm1hcChpID0+IG5ldyBQcmVwYXJlZEl0ZW0oaSkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSksXG4gICAgICAgIHRhcCgocHJlcGFyZWRJdGVtczogUHJlcGFyZWRJdGVtW10pID0+IHRoaXMucHJlcGFyZWRJdGVtc1NvdXJjZS5uZXh0KHByZXBhcmVkSXRlbXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdjcmVhdGVkJywgJ2Rlc2MnKSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgcHJlcGFyZWQgaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+IFNlcnZlciByZXNwb25zZVxuICAgKi9cbiAgZGVsZXRlUHJlcGFyZWRJdGVtKHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5kZWwoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBvYmplY3QgdHlwZXMgYWxsb3dlZCB0byBiZSBwbGFjZWQgZGlyZWN0bHkgYmVsb3cgcm9vdC5cbiAgICpcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxPYmplY3RUeXBlW10+IEEgbGlzdCBvZiBzdXBwb3J0ZWQgb2JqZWN0IHR5cGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZVJvb3RUeXBlcygpOiBPYnNlcnZhYmxlPE9iamVjdFR5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRWaWFUZW1wQ2FjaGUoJy9wcmVwYXJlL3R5cGVzJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnR5cGVzLm1hcCgodHlwZSkgPT4gbmV3IE9iamVjdFR5cGUodHlwZSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhbGxvd2VkIGNoaWxkIG9iamVjdCB0eXBlcyBmb3IgYSBzZWxlY3RlZCBwYXJlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJlbnRJZCBUaGUgaWQgb2YgdGhlIHBhcmVudCBkbXMgb2JqZWN0IChjb250ZXh0IGZvbGRlcilcbiAgICogQHBhcmFtIHdpdGhDb250ZW50T25seSBJZiBzZXQgdG8gdHJ1ZSBvbmx5IGNoaWxkIHR5cGVzLCB0aGF0IHN1cHBvcnQgY29udGVudCBhcmUgcmV0dXJuZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8SVByZXBhcmVDaGlsZFR5cGVzPiBBIGxpc3Qgb2Ygc3VwcG9ydGVkIG9iamVjdCB0eXBlc1xuICAgKi9cbiAgcHVibGljIGdldFByZXBhcmVDaGlsZFR5cGVzKHBhcmVudElkOiBzdHJpbmcsIHdpdGhDb250ZW50T25seT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPElQcmVwYXJlQ2hpbGRUeXBlcz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHBhcmVudElkID8ge3BhcmVudElkLCB3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fSA6IHt3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fVxuICAgIGNvbnN0IHVyaSA9IFV0aWxzLmJ1aWxkVXJpKCcvcHJlcGFyZS90eXBlcycsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldFZpYVRlbXBDYWNoZSh1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiAoe3BhcmVudDogcmVzLnBhcmVudCwgdHlwZXM6IHJlcy50eXBlcy5tYXAoKHR5cGUpID0+IG5ldyBPYmplY3RUeXBlKHR5cGUpKX0pKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmZXRjaCB0aGUgcHJldmlldyB1cmkgZm9yIGEgcHJlcGFyZWQgaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSBwcmVwYXJlZCBpdGVtXG4gICAqIEBwYXJhbSBpbmRleCBXaGVuIGEgcHJlcGFyZWQgaXRlbSBjb250YWlucyBtb3JlIHRoYW4gb25lIGNvbnRlbnRzLCB0aGUgaW5kZXggc3BlY2lmaWVzIHdoaWNoIGNvbnRlbnRcbiAgICogQHBhcmFtIHJlbmRpdGlvbiBUYXJnZXQgcmVuZGl0aW9uIChQREYpXG4gICAqIHRvIHJldHJpZXZlIHRoZSBwcmV2aWV3IHVyaSBmb3JcbiAgICogQHJldHVybnMgc3RyaW5nIFByZXZpZXcgdXJpXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJldmlld1VyaShpZDogc3RyaW5nLCBpbmRleD86IG51bWJlciwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCl9L3ByZXBhcmUvJHtpZH0vY29udGVudGAsIHtyZW5kaXRpb24sIGluZGV4fSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgaXRlbXMgdGFyZ2V0IG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0VHlwZSBUaGUgdGFyZ2V0IG9iamVjdCB0eXBlcyBuYW1lXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gc2V0IHRoZSB0eXBlIGZvclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4gVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUNoaWxkVHlwZShvYmplY3RUeXBlOiBzdHJpbmcsIHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wdXQoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9LyR7b2JqZWN0VHlwZX0/Zm9ybT10cnVlJmNvbnRlbnRtZXRhPXRydWVgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0ZW1wbGF0ZSB0byBhIHByZXBhcmVkIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gYWRkIHRoZSB0ZW1wbGF0ZSB0b1xuICAgKiBAcGFyYW0gdGVtcGxhdGVJZCBUaGUgaWQgb2YgdGhlIHRlbXBsYXRlIHRvIGJlIGFkZGVkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiAgVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIGFkZFRlbXBsYXRlKHByZXBhcmVkSXRlbUlkLCB0ZW1wbGF0ZUlkKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KGAvcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS90ZW1wbGF0ZT90ZW1wbGF0ZWlkPSR7dGVtcGxhdGVJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhdmFpbGFibGUgdGVtcGxhdGVzIGZvciBhIGdpdmVuIG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiBvYmplY3RUeXBlTmFtZVxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlcyhvYmplY3RUeXBlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oJy90ZW1wbGF0ZS9saXN0P3R5cGU9JyArIG9iamVjdFR5cGVOYW1lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcyBhcyBQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHVybCBvZiBhIHRlbXBsYXRlIHByZXZpZXdcbiAgICpcbiAgICogQHBhcmFtIGlkIFRlbXBsYXRlIElEXG4gICAqIEBwYXJhbSByZW5kaXRpb24gVGFyZ2V0IHJlbmRpdGlvbiAoUERGKVxuICAgKiBAcmV0dXJucyBzdHJpbmcgVGhlIHRlbXBsYXRlIHByZXZpZXcgdXJsLlxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlUHJldmlld1VyaShpZCwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCl9L3RlbXBsYXRlLyR7aWR9L2NvbnRlbnRgLCB7cmVuZGl0aW9ufSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0IGEgcHJlcGFyZWQgaXRlbS4gVGhpcyB3aWxsIGNyZWF0ZSBhbiBhY3R1YWwgZG1zIG9iamVjdC5cbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0IHRhcmdldCB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBJRCBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtVHlwZSBOYW1lIG9mIHRoZSBwcmVwYXJlZCBpdGVtcyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbURhdGEgT2JqZWN0IGhvbGRpbmcgZGF0YSBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIGNyZWF0ZWQgZG1zIG9iamVjdFxuICAgKi9cbiAgcHVibGljIGNvbW1pdFByZXBhcmVkSXRlbShwcmVwYXJlZEl0ZW1JZCwgcHJlcGFyZWRJdGVtVHlwZSwgcHJlcGFyZWRJdGVtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnB1dChgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vJHtwcmVwYXJlZEl0ZW1UeXBlfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5iYWNrZW5kLnBvc3QoYC9wcmVwYXJlL2NvbW1pdC8ke3ByZXBhcmVkSXRlbUlkfWAsIHByZXBhcmVkSXRlbURhdGEpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSksXG4gICAgICAgIG1hcChyZXMgPT4gcmVzLmlkKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgQ29udGVudFxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHByZXBhcmVkSXRlbUlkXG4gICAqIEBwYXJhbSBGaWxlIGZpbGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICB1cGxvYWRDb250ZW50KHByZXBhcmVkSXRlbUlkOiBzdHJpbmcsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCB1cmkgPSBgJHt0aGlzLmJhY2tlbmQuZ2V0QmFzZVdpdGhDb250ZXh0KHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpKX0vcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS9jb250ZW50Lmpzb24/Zm9ybT10cnVlJmNvbnRlbnRtZXRhPXRydWVgO1xuICAgIHJldHVybiB0aGlzLnVwbG9hZFNlcnZpY2VcbiAgICAgIC51cGxvYWQodXJpLCBbZmlsZV0pXG4gICAgICAucGlwZShcbiAgICAgICAgLy8gdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkcyBmaWxlcyB0byBhbiB1cGxvYWQgdGFyZ2V0LlxuICAgKlxuICAgKiBAcGFyYW0gdXBsb2FkVGFyZ2V0IFRoZSB1cGxvYWQgdGFyZ2V0IHRvIHVwbG9hZCBmaWxlcyB0b1xuICAgKiBAcGFyYW0gdXBsb2FkRmlsZXMgRmlsZXMgdG8gYmUgdXBsb2FkZWRcbiAgICogQHBhcmFtIHVzZUJhdGNoVXBsb2FkIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIG9yIG5vdCB0byB1c2UgYmF0Y2ggcHJvY2Vzc2luZyBvbiB0aGUgYmFja2VuZCBzaWRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgKi9cbiAgdXBsb2FkVG9UYXJnZXQodXBsb2FkVGFyZ2V0OiBVcGxvYWRUYXJnZXQsIHVwbG9hZEZpbGVzOiBVcGxvYWRGaWxlSXRlbVtdLCB1c2VCYXRjaFVwbG9hZD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uc3QgZmlsZXMgPSB1cGxvYWRGaWxlcy5tYXAoZiA9PiBmLl9maWxlKTtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlXG4gICAgICAudXBsb2FkKHRoaXMuZ2V0VXBsb2FkVGFyZ2V0KHVwbG9hZFRhcmdldCwgdXNlQmF0Y2hVcGxvYWQpLCBmaWxlcylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVyaSB0byBwb3N0IGZpbGVzIHRvIGJhc2VkIG9uIHRoZSB1cGxvYWQgdGFyZ2V0LlxuICAgKlxuICAgKiBAcGFyYW0gdXBsb2FkVGFyZ2V0IFRoZSB0YXJnZXQgdG8gdXBsb2FkIGZpbGVzIHRvXG4gICAqIEBwYXJhbSB1c2VCYXRjaFVwbG9hZCBGbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gdXBsb2FkIGFsbCBmaWxlcyBpbiBhIHNpbmdsZSBwb3N0XG4gICAqIEByZXR1cm5zIHN0cmluZyB0aGUgdXJpXG4gICAqL1xuICBwcml2YXRlIGdldFVwbG9hZFRhcmdldCh1cGxvYWRUYXJnZXQ6IFVwbG9hZFRhcmdldCwgdXNlQmF0Y2hVcGxvYWQ/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICBsZXQgdXJpO1xuXG4gICAgaWYgKHVwbG9hZFRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuUk9PVCkge1xuICAgICAgLyoqXG4gICAgICAgKiB1cGxvYWQgdG8gZ2VuZXJhbCBmaWxpbmcgbG9jYXRpb25cbiAgICAgICAqXG4gICAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgICAqL1xuICAgICAgdXJpID0gdGhpcy5iYWNrZW5kLmdldEJhc2VXaXRoQ29udGV4dCh0aGlzLmJhY2tlbmQuZ2V0U2VydmljZUJhc2UoKSkgKyB0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICAgIHBhcmVudElkOiBudWxsLFxuICAgICAgICAgIGNyZWF0ZU1hbnk6ICF1c2VCYXRjaFVwbG9hZFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0Lk9CSkVDVCkge1xuICAgICAgLyoqXG4gICAgICAgKiB1cGxvYWQgdG8gZG1zIG9iamVjdCwgbWVhbnMgYWRkaW5nIG9yIHJlcGxhY2luZyBjb250ZW50IGZpbGVcbiAgICAgICAqL1xuICAgICAgY29uc3Qge3JlZmVyZW5jZU9iamVjdH0gPSB1cGxvYWRUYXJnZXQ7XG4gICAgICB1cmkgPSBgJHt0aGlzLmJhY2tlbmQuZ2V0QmFzZVdpdGhDb250ZXh0KHRoaXMuYmFja2VuZC5nZXRTZXJ2aWNlQmFzZSgpKX0vZG1zLyR7cmVmZXJlbmNlT2JqZWN0LmlkfS9jb250ZW50cz90eXBlPSR7cmVmZXJlbmNlT2JqZWN0LnR5cGUubmFtZX1gO1xuXG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LkNPTlRFWFQgfHwgdXBsb2FkVGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5DT05URVhUX1RSRUUpIHtcbiAgICAgIC8qKlxuICAgICAgICogdXBsb2FkIHRvIGNvbnRleHQgZm9sZGVyLCBtZWFucyBhZGRpbmcgYSBuZXcgZG1zIG9iamVjdCB0byBhIHNwZWNpZmljXG4gICAgICAgKiBjb250ZXh0IGZvbGRlciAuLi5cbiAgICAgICAqIC4uLiBpZiB3ZSBnb3QgYSBzdWJGb2xkZXIgKG5vZGUgZnJvbSB0aGUgY29udGV4dCB0cmVlKSBzZXQgdXAgd2UnbGwgYWRkIHRoYXQgdG9vXG4gICAgICAgKlxuICAgICAgICogQHR5cGUgc3RyaW5nXG4gICAgICAgKi9cbiAgICAgIHVyaSA9IHRoaXMuYmFja2VuZC5nZXRCYXNlV2l0aENvbnRleHQodGhpcy5iYWNrZW5kLmdldFNlcnZpY2VCYXNlKCkpICsgdGhpcy5jcmVhdGVQcmVwYXJlZEl0ZW1Qb3N0VXJsKHtcbiAgICAgICAgcGFyZW50SWQ6IHVwbG9hZFRhcmdldC5yZWZlcmVuY2VPYmplY3QuaWQsXG4gICAgICAgIGNyZWF0ZU1hbnk6ICF1c2VCYXRjaFVwbG9hZCxcbiAgICAgICAgY2hpbGRUeXBlOiB1cGxvYWRUYXJnZXQuc3ViRm9sZGVyICYmIHVwbG9hZFRhcmdldC5zdWJGb2xkZXIuZGF0YS50eXBlID8gdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLnR5cGUgOiBudWxsXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVyaTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0IGNvbnRlbnQgZWxlbWVudCBieSBpbmRleCBvciB0aGUgY29tcGxldGUgY29udGVudC5cbiAgICogSWYgeW91IHByb3ZpZGUgYW4gaW5kZXggdGhlIGNvbnRlbnQgY29uc2lzdHMgb25seSBvZiBvbmUgZWxlbWVudCxcbiAgICogdGhlIGNvbnRlbnQgaXMgY29tcGxldGVseSByZW1vdmVkIGZyb20gdGhlIHByZXBhcmVkIGNyZWF0aW9uIG9iamVjdC5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHdpdGggdGhlIGNvbnRlbnQgdG8gYmUgcmVtb3ZlZFxuICAgKiBAcGFyYW0gaW5kZXggUGFyYW1ldGVyIHRoYXQgZGV0ZXJtaW5lcyB3aGljaCBjb250ZW50IGVsZW1lbnQgc2hvdWxkIGJlIGRlbGV0ZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiBUaGUgdXBkYXRlZCBwcmVwYXJlZCBpdGVtXG4gICAqL1xuICBwdWJsaWMgZGVsZXRlUHJlcGFyZWRJdGVtQ29udGVudChwcmVwYXJlZEl0ZW1JZDogc3RyaW5nLCBpbmRleD86IG51bWJlcik6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiB7XG4gICAgY29uc3QgdXJsID0gYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9L2NvbnRlbnRgICsgKGluZGV4ICE9PSB1bmRlZmluZWQgPyBgP2luZGV4PSR7aW5kZXh9YCA6ICcnKTtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZGVsKHVybClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+IG5ldyBQcmVwYXJlZEl0ZW0ocmVzKSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW8tc2RrL2NvcmUvc3JjL2xpYi9zZXJ2aWNlL3ByZXBhcmUvcHJlcGFyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUF1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ25GLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFpQjdEOztHQUVHO0FBRUgsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFBb0IsT0FBdUIsRUFDdkIsYUFBNEI7UUFENUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFSeEMsd0JBQW1CLEdBQUcsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQStCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUdwRiw0QkFBdUIsR0FBRyxJQUFJLGFBQWEsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4RCx1QkFBa0IsR0FBdUIsSUFBSSxDQUFDLHVCQUF1QixDQUFD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SUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNoSCxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0kseUJBQXlCLENBQUMsY0FBc0IsRUFBRSxLQUFjO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLFlBQVksY0FBYyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRyxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2hCLEdBQUcsQ0FBQyxHQUFHLENBQUM7YUFDUixJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDbEMsQ0FBQztJQUNOLENBQUM7OztZQWxWRixVQUFVOzs7WUF6QkgsY0FBYztZQUlkLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21lcmdlTWFwLCBtYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VXRpbHN9IGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuaW1wb3J0IHtCYWNrZW5kU2VydmljZX0gZnJvbSAnLi4vYmFja2VuZC9iYWNrZW5kLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7T2JqZWN0VHlwZX0gZnJvbSAnLi4vLi4vbW9kZWwvb2JqZWN0LXR5cGUubW9kZWwnO1xuaW1wb3J0IHtQcmVwYXJlZEl0ZW0sIFByZXBhcmVkSXRlbVRlbXBsYXRlfSBmcm9tICcuLi8uLi9tb2RlbC9wcmVwYXJlZC1pdGVtLm1vZGVsJztcbmltcG9ydCB7VXBsb2FkU2VydmljZX0gZnJvbSAnLi4vdXBsb2FkL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7VXBsb2FkVGFyZ2V0fSBmcm9tICcuLi8uLi9tb2RlbC91cGxvYWQtdGFyZ2V0Lm1vZGVsJztcbmltcG9ydCB7VXBsb2FkRmlsZUl0ZW19IGZyb20gJy4uLy4uL21vZGVsL3VwbG9hZC1maWxlLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHtJUHJlcGFyZUNoaWxkVHlwZXN9IGZyb20gJy4vb2JqZWN0VHlwZXMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBAaWdub3JlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJlcGFyZWRQb3N0UGFyYW0ge1xuICBwYXJlbnRJZDogc3RyaW5nO1xuICAvKipcbiAgICogZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBvbmUgUHJlcGFyZWRJdGVtIHVzaW5nIG11bHRpcGxlIGZpbGVzIHVwbG9hZGVkIChmYWxzZSlcbiAgICogb3IgY3JlYXRpbmcgYSBQcmVwYXJlZEl0ZW0gZm9yIGVhY2ggZmlsZSBwb3N0ZWQgdG8gdGhlIFVSTCAodHJ1ZSlcbiAgICovXG4gIGNyZWF0ZU1hbnk/OiBib29sZWFuO1xuICBjaGlsZFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiBQcmVwYXJlIFNlcnZpY2VzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcmVwYXJlU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zOiBQcmVwYXJlZEl0ZW1bXTtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1zU291cmNlID0gbmV3IFJlcGxheVN1YmplY3Q8UHJlcGFyZWRJdGVtW10+KDEpO1xuICBwdWJsaWMgcHJlcGFyZWRJdGVtcyQ6IE9ic2VydmFibGU8UHJlcGFyZWRJdGVtW10+ID0gdGhpcy5wcmVwYXJlZEl0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgcHJlcGFyZWRJdGVtQ291bnQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBwcmVwYXJlZEl0ZW1Db3VudFNvdXJjZSA9IG5ldyBSZXBsYXlTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHB1YmxpYyBwcmVwYXJlZEl0ZW1Db3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPiA9IHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBiYWNrZW5kOiBCYWNrZW5kU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlKSB7XG4gIH1cblxuICAvKipcbiAgICogUHVibGljIEZldGNoIFByZXBhcmUgaXRlbXNcbiAgICovXG4gIHJlZnJlc2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXNDb3VudCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoZXMgdGhlIG51bWJlciBvZiBwcmVwYXJlZCBpdGVtcyBmb3IgdGhlIGN1cnJlbnQgdXNlci5cbiAgICovXG4gIHByaXZhdGUgZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSB7XG4gICAgdGhpcy5iYWNrZW5kLmdldEpzb24oJy9wcmVwYXJlL3N0YXRlJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLmNvdW50KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnQgPSByZXM7XG4gICAgICAgIHRoaXMucHJlcGFyZWRJdGVtQ291bnRTb3VyY2UubmV4dCh0aGlzLnByZXBhcmVkSXRlbUNvdW50KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwcmVwYXJlZCBpdGVtIG9uIHRoZSBiYWNrZWQgc2lkZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmVudElkIFRoZSBJRCBvZiB0aGUgcGFyZW50IGRtcyBvYmplY3QgdG8gYWRkIHRoZSBwcmVwYXJlZCBpdGVtIHRvXG4gICAqIEBwYXJhbSBjaGlsZFR5cGUgVGhlIHR5cGUgb2Ygb2JqZWN0IHRvIGJlIGNyZWF0ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtKHBhcmVudElkOiBzdHJpbmcsIGNoaWxkVHlwZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucG9zdCh0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgIGNoaWxkVHlwZTogY2hpbGRUeXBlID8gY2hpbGRUeXBlIDogbnVsbFxuICAgICAgfSksIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZFxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGVQcmVwYXJlZEl0ZW1JbmRleERhdGEocHJlcGFyZWRJdGVtSWQsIGRhdGEpIHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KCcvcHJlcGFyZS8nICsgcHJlcGFyZWRJdGVtSWQsIGRhdGEpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBVUkwgZm9yIGNyZWF0aW5nIGEgUHJlcGFyZWRJdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIFBhcmFtcyBmb3IgZ2VuZXJhdGluZyBhcHByb3ByaWF0ZSB1cmkuXG4gICAqIEByZXR1cm5zIHN0cmluZyBBIFBPU1QgVVJMIGZvciBjcmVhdGluZyBQcmVwYXJlZEl0ZW1zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybChwYXJhbXM6IFByZXBhcmVkUG9zdFBhcmFtKTogc3RyaW5nIHtcblxuICAgIGxldCB1cmwgPSBwYXJhbXMuY3JlYXRlTWFueSA/ICcvcHJlcGFyZS9jcmVhdGVtYW55JyA6ICcvcHJlcGFyZS9jcmVhdGUnO1xuICAgIGlmIChwYXJhbXMpIHtcbiAgICAgIHVybCA9IFV0aWxzLmJ1aWxkVXJpKHVybCwgcGFyYW1zKTtcbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIHRoZSB1c2VycyBwcmVwYXJlZCBpdGVtcy5cbiAgICpcbiAgICogQHBhcmFtIG5vRm9ybXMgSWYgc2V0IHRvIHRydWUgdGhlIHByZXBhcmVkIGl0ZW1zIHdpbGwgYmUgZmV0Y2hlZCB3aXRob3V0IHRoZSBmb3JtIHdoaWNoIGlzIGZhc3RlclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiBBIGNvbGxlY3Rpb24gb2YgcHJlcGFyZWQgaXRlbSBvYmplY3RzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZWRJdGVtcyQobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgdGhpcy5mZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcykuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHRoaXMucHJlcGFyZWRJdGVtcyQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgUHJlcGFyZUl0ZW1zIGFuZCBmb3JtIHRoZW1cbiAgICpcbiAgICogQHBhcmFtIGJvb2xlYW4gbm9Gb3Jtc1xuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPlxuICAgKi9cbiAgcHJpdmF0ZSBmZXRjaFByZXBhcmVkSXRlbXMobm9Gb3Jtcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbVtdPiB7XG4gICAgbGV0IHVyaSA9IChub0Zvcm1zKSA/ICcvcHJlcGFyZScgOiAnL3ByZXBhcmU/Zm9ybT10cnVlJztcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAuZ2V0SnNvbih1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXM6IGFueSkgPT4gcmVzLm1hcChpID0+IG5ldyBQcmVwYXJlZEl0ZW0oaSkpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZmV0Y2hQcmVwYXJlZEl0ZW1zQ291bnQoKSksXG4gICAgICAgIHRhcCgocHJlcGFyZWRJdGVtczogUHJlcGFyZWRJdGVtW10pID0+IHRoaXMucHJlcGFyZWRJdGVtc1NvdXJjZS5uZXh0KHByZXBhcmVkSXRlbXMuc29ydChVdGlscy5zb3J0VmFsdWVzKCdjcmVhdGVkJywgJ2Rlc2MnKSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgcHJlcGFyZWQgaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbUlkIElEIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWRcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+IFNlcnZlciByZXNwb25zZVxuICAgKi9cbiAgZGVsZXRlUHJlcGFyZWRJdGVtKHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5kZWwoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5nZXRQcmVwYXJlZEl0ZW1zJCgpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBvYmplY3QgdHlwZXMgYWxsb3dlZCB0byBiZSBwbGFjZWQgZGlyZWN0bHkgYmVsb3cgcm9vdC5cbiAgICpcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxPYmplY3RUeXBlW10+IEEgbGlzdCBvZiBzdXBwb3J0ZWQgb2JqZWN0IHR5cGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJlcGFyZVJvb3RUeXBlcygpOiBPYnNlcnZhYmxlPE9iamVjdFR5cGVbXT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5nZXRWaWFUZW1wQ2FjaGUoJy9wcmVwYXJlL3R5cGVzJylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnR5cGVzLm1hcCgodHlwZSkgPT4gbmV3IE9iamVjdFR5cGUodHlwZSkpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhbGxvd2VkIGNoaWxkIG9iamVjdCB0eXBlcyBmb3IgYSBzZWxlY3RlZCBwYXJlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJlbnRJZCBUaGUgaWQgb2YgdGhlIHBhcmVudCBkbXMgb2JqZWN0IChjb250ZXh0IGZvbGRlcilcbiAgICogQHBhcmFtIHdpdGhDb250ZW50T25seSBJZiBzZXQgdG8gdHJ1ZSBvbmx5IGNoaWxkIHR5cGVzLCB0aGF0IHN1cHBvcnQgY29udGVudCBhcmUgcmV0dXJuZWQuXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8SVByZXBhcmVDaGlsZFR5cGVzPiBBIGxpc3Qgb2Ygc3VwcG9ydGVkIG9iamVjdCB0eXBlc1xuICAgKi9cbiAgcHVibGljIGdldFByZXBhcmVDaGlsZFR5cGVzKHBhcmVudElkOiBzdHJpbmcsIHdpdGhDb250ZW50T25seT86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPElQcmVwYXJlQ2hpbGRUeXBlcz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHBhcmVudElkID8ge3BhcmVudElkLCB3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fSA6IHt3aXRoY29udGVudDogd2l0aENvbnRlbnRPbmx5fVxuICAgIGNvbnN0IHVyaSA9IFV0aWxzLmJ1aWxkVXJpKCcvcHJlcGFyZS90eXBlcycsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldFZpYVRlbXBDYWNoZSh1cmkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlcyA9PiAoe3BhcmVudDogcmVzLnBhcmVudCwgdHlwZXM6IHJlcy50eXBlcy5tYXAoKHR5cGUpID0+IG5ldyBPYmplY3RUeXBlKHR5cGUpKX0pKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBmZXRjaCB0aGUgcHJldmlldyB1cmkgZm9yIGEgcHJlcGFyZWQgaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSBwcmVwYXJlZCBpdGVtXG4gICAqIEBwYXJhbSBpbmRleCBXaGVuIGEgcHJlcGFyZWQgaXRlbSBjb250YWlucyBtb3JlIHRoYW4gb25lIGNvbnRlbnRzLCB0aGUgaW5kZXggc3BlY2lmaWVzIHdoaWNoIGNvbnRlbnRcbiAgICogQHBhcmFtIHJlbmRpdGlvbiBUYXJnZXQgcmVuZGl0aW9uIChQREYpXG4gICAqIHRvIHJldHJpZXZlIHRoZSBwcmV2aWV3IHVyaSBmb3JcbiAgICogQHJldHVybnMgc3RyaW5nIFByZXZpZXcgdXJpXG4gICAqL1xuICBwdWJsaWMgZ2V0UHJldmlld1VyaShpZDogc3RyaW5nLCBpbmRleD86IG51bWJlciwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldENvbnRleHRQYXRoKCl9L3ByZXBhcmUvJHtpZH0vY29udGVudGAsIHtyZW5kaXRpb24sIGluZGV4fSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgaXRlbXMgdGFyZ2V0IG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gb2JqZWN0VHlwZSBUaGUgdGFyZ2V0IG9iamVjdCB0eXBlcyBuYW1lXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gc2V0IHRoZSB0eXBlIGZvclxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4gVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUNoaWxkVHlwZShvYmplY3RUeXBlOiBzdHJpbmcsIHByZXBhcmVkSXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByZXBhcmVkSXRlbT4ge1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5wdXQoYC9wcmVwYXJlLyR7cHJlcGFyZWRJdGVtSWR9LyR7b2JqZWN0VHlwZX0/Zm9ybT10cnVlJmNvbnRlbnRtZXRhPXRydWVgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0ZW1wbGF0ZSB0byBhIHByZXBhcmVkIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBUaGUgaWQgb2YgdGhlIHByZXBhcmVkIGl0ZW0gdG8gYWRkIHRoZSB0ZW1wbGF0ZSB0b1xuICAgKiBAcGFyYW0gdGVtcGxhdGVJZCBUaGUgaWQgb2YgdGhlIHRlbXBsYXRlIHRvIGJlIGFkZGVkXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGU8UHJlcGFyZWRJdGVtPiAgVGhlIHVwZGF0ZWQgcHJlcGFyZWQgaXRlbVxuICAgKi9cbiAgcHVibGljIGFkZFRlbXBsYXRlKHByZXBhcmVkSXRlbUlkLCB0ZW1wbGF0ZUlkKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5iYWNrZW5kXG4gICAgICAucHV0KGAvcHJlcGFyZS8ke3ByZXBhcmVkSXRlbUlkfS90ZW1wbGF0ZT90ZW1wbGF0ZWlkPSR7dGVtcGxhdGVJZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGEgbGlzdCBvZiBhdmFpbGFibGUgdGVtcGxhdGVzIGZvciBhIGdpdmVuIG9iamVjdCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiBvYmplY3RUeXBlTmFtZVxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlcyhvYmplY3RUeXBlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLmdldEpzb24oJy90ZW1wbGF0ZS9saXN0P3R5cGU9JyArIG9iamVjdFR5cGVOYW1lKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzOiBhbnkpID0+IHJlcyBhcyBQcmVwYXJlZEl0ZW1UZW1wbGF0ZVtdKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHVybCBvZiBhIHRlbXBsYXRlIHByZXZpZXdcbiAgICpcbiAgICogQHBhcmFtIGlkIFRlbXBsYXRlIElEXG4gICAqIEBwYXJhbSByZW5kaXRpb24gVGFyZ2V0IHJlbmRpdGlvbiAoUERGKVxuICAgKiBAcmV0dXJucyBzdHJpbmcgVGhlIHRlbXBsYXRlIHByZXZpZXcgdXJsLlxuICAgKi9cbiAgcHVibGljIGdldFRlbXBsYXRlUHJldmlld1VyaShpZCwgcmVuZGl0aW9uPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXRpbHMuYnVpbGRVcmkoYCR7dGhpcy5iYWNrZW5kLmdldENvbnRleHRQYXRoKCl9L3RlbXBsYXRlLyR7aWR9L2NvbnRlbnRgLCB7cmVuZGl0aW9ufSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0IGEgcHJlcGFyZWQgaXRlbS4gVGhpcyB3aWxsIGNyZWF0ZSBhbiBhY3R1YWwgZG1zIG9iamVjdC5cbiAgICogVXBkYXRlcyB0aGUgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0IHRhcmdldCB0eXBlXG4gICAqXG4gICAqIEBwYXJhbSBwcmVwYXJlZEl0ZW1JZCBJRCBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtVHlwZSBOYW1lIG9mIHRoZSBwcmVwYXJlZCBpdGVtcyB0YXJnZXQgb2JqZWN0IHR5cGVcbiAgICogQHBhcmFtIHByZXBhcmVkSXRlbURhdGEgT2JqZWN0IGhvbGRpbmcgZGF0YSBvZiB0aGUgcHJlcGFyZWQgaXRlbVxuICAgKiBAcmV0dXJucyBUaGUgaWQgb2YgdGhlIGNyZWF0ZWQgZG1zIG9iamVjdFxuICAgKi9cbiAgcHVibGljIGNvbW1pdFByZXBhcmVkSXRlbShwcmVwYXJlZEl0ZW1JZCwgcHJlcGFyZWRJdGVtVHlwZSwgcHJlcGFyZWRJdGVtRGF0YSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYmFja2VuZFxuICAgICAgLnB1dChgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vJHtwcmVwYXJlZEl0ZW1UeXBlfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5iYWNrZW5kLnBvc3QoYC9wcmVwYXJlL2NvbW1pdC8ke3ByZXBhcmVkSXRlbUlkfWAsIHByZXBhcmVkSXRlbURhdGEpKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSksXG4gICAgICAgIG1hcChyZXMgPT4gcmVzLmlkKVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWQgQ29udGVudFxuICAgKlxuICAgKiBAcGFyYW0gc3RyaW5nIHByZXBhcmVkSXRlbUlkXG4gICAqIEBwYXJhbSBGaWxlIGZpbGVcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAqL1xuICB1cGxvYWRDb250ZW50KHByZXBhcmVkSXRlbUlkOiBzdHJpbmcsIGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCB1cmkgPSBgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vY29udGVudC5qc29uP2Zvcm09dHJ1ZSZjb250ZW50bWV0YT10cnVlYDtcbiAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlXG4gICAgICAudXBsb2FkKHVyaSwgW2ZpbGVdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLmdldFByZXBhcmVkSXRlbXMkKCkpXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZHMgZmlsZXMgdG8gYW4gdXBsb2FkIHRhcmdldC5cbiAgICpcbiAgICogQHBhcmFtIHVwbG9hZFRhcmdldCBUaGUgdXBsb2FkIHRhcmdldCB0byB1cGxvYWQgZmlsZXMgdG9cbiAgICogQHBhcmFtIHVwbG9hZEZpbGVzIEZpbGVzIHRvIGJlIHVwbG9hZGVkXG4gICAqIEBwYXJhbSB1c2VCYXRjaFVwbG9hZCBGbGFnIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdG8gdXNlIGJhdGNoIHByb2Nlc3Npbmcgb24gdGhlIGJhY2tlbmQgc2lkZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICovXG4gIHVwbG9hZFRvVGFyZ2V0KHVwbG9hZFRhcmdldDogVXBsb2FkVGFyZ2V0LCB1cGxvYWRGaWxlczogVXBsb2FkRmlsZUl0ZW1bXSwgdXNlQmF0Y2hVcGxvYWQ/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGNvbnN0IGZpbGVzID0gdXBsb2FkRmlsZXMubWFwKGYgPT4gZi5fZmlsZSk7XG4gICAgcmV0dXJuIHRoaXMudXBsb2FkU2VydmljZVxuICAgICAgLnVwbG9hZCh0aGlzLmdldFVwbG9hZFRhcmdldCh1cGxvYWRUYXJnZXQsIHVzZUJhdGNoVXBsb2FkKSwgZmlsZXMpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuZ2V0UHJlcGFyZWRJdGVtcyQoKSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB1cmkgdG8gcG9zdCBmaWxlcyB0byBiYXNlZCBvbiB0aGUgdXBsb2FkIHRhcmdldC5cbiAgICpcbiAgICogQHBhcmFtIHVwbG9hZFRhcmdldCBUaGUgdGFyZ2V0IHRvIHVwbG9hZCBmaWxlcyB0b1xuICAgKiBAcGFyYW0gdXNlQmF0Y2hVcGxvYWQgRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRvIHVwbG9hZCBhbGwgZmlsZXMgaW4gYSBzaW5nbGUgcG9zdFxuICAgKiBAcmV0dXJucyBzdHJpbmcgdGhlIHVyaVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRVcGxvYWRUYXJnZXQodXBsb2FkVGFyZ2V0OiBVcGxvYWRUYXJnZXQsIHVzZUJhdGNoVXBsb2FkPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgbGV0IHVyaTtcblxuICAgIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LlJPT1QpIHtcbiAgICAgIC8qKlxuICAgICAgICogdXBsb2FkIHRvIGdlbmVyYWwgZmlsaW5nIGxvY2F0aW9uXG4gICAgICAgKlxuICAgICAgICogQHR5cGUgc3RyaW5nXG4gICAgICAgKi9cbiAgICAgIHVyaSA9IHRoaXMuY3JlYXRlUHJlcGFyZWRJdGVtUG9zdFVybCh7XG4gICAgICAgICAgcGFyZW50SWQ6IG51bGwsXG4gICAgICAgICAgY3JlYXRlTWFueTogIXVzZUJhdGNoVXBsb2FkXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICB9IGVsc2UgaWYgKHVwbG9hZFRhcmdldC50eXBlID09PSBVcGxvYWRUYXJnZXQuT0JKRUNUKSB7XG4gICAgICAvKipcbiAgICAgICAqIHVwbG9hZCB0byBkbXMgb2JqZWN0LCBtZWFucyBhZGRpbmcgb3IgcmVwbGFjaW5nIGNvbnRlbnQgZmlsZVxuICAgICAgICovXG4gICAgICBjb25zdCB7cmVmZXJlbmNlT2JqZWN0fSA9IHVwbG9hZFRhcmdldDtcbiAgICAgIHVyaSA9IGAvZG1zLyR7cmVmZXJlbmNlT2JqZWN0LmlkfS9jb250ZW50cz90eXBlPSR7cmVmZXJlbmNlT2JqZWN0LnR5cGUubmFtZX1gO1xuXG4gICAgfSBlbHNlIGlmICh1cGxvYWRUYXJnZXQudHlwZSA9PT0gVXBsb2FkVGFyZ2V0LkNPTlRFWFQgfHwgdXBsb2FkVGFyZ2V0LnR5cGUgPT09IFVwbG9hZFRhcmdldC5DT05URVhUX1RSRUUpIHtcbiAgICAgIC8qKlxuICAgICAgICogdXBsb2FkIHRvIGNvbnRleHQgZm9sZGVyLCBtZWFucyBhZGRpbmcgYSBuZXcgZG1zIG9iamVjdCB0byBhIHNwZWNpZmljXG4gICAgICAgKiBjb250ZXh0IGZvbGRlciAuLi5cbiAgICAgICAqIC4uLiBpZiB3ZSBnb3QgYSBzdWJGb2xkZXIgKG5vZGUgZnJvbSB0aGUgY29udGV4dCB0cmVlKSBzZXQgdXAgd2UnbGwgYWRkIHRoYXQgdG9vXG4gICAgICAgKlxuICAgICAgICogQHR5cGUgc3RyaW5nXG4gICAgICAgKi9cbiAgICAgIHVyaSA9ICB0aGlzLmNyZWF0ZVByZXBhcmVkSXRlbVBvc3RVcmwoe1xuICAgICAgICBwYXJlbnRJZDogdXBsb2FkVGFyZ2V0LnJlZmVyZW5jZU9iamVjdC5pZCxcbiAgICAgICAgY3JlYXRlTWFueTogIXVzZUJhdGNoVXBsb2FkLFxuICAgICAgICBjaGlsZFR5cGU6IHVwbG9hZFRhcmdldC5zdWJGb2xkZXIgJiYgdXBsb2FkVGFyZ2V0LnN1YkZvbGRlci5kYXRhLnR5cGUgPyB1cGxvYWRUYXJnZXQuc3ViRm9sZGVyLmRhdGEudHlwZSA6IG51bGxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdXJpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBwcmVwYXJlZCBjcmVhdGlvbiBvYmplY3QgY29udGVudCBlbGVtZW50IGJ5IGluZGV4IG9yIHRoZSBjb21wbGV0ZSBjb250ZW50LlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhbiBpbmRleCB0aGUgY29udGVudCBjb25zaXN0cyBvbmx5IG9mIG9uZSBlbGVtZW50LFxuICAgKiB0aGUgY29udGVudCBpcyBjb21wbGV0ZWx5IHJlbW92ZWQgZnJvbSB0aGUgcHJlcGFyZWQgY3JlYXRpb24gb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gcHJlcGFyZWRJdGVtSWQgSUQgb2YgdGhlIGl0ZW0gd2l0aCB0aGUgY29udGVudCB0byBiZSByZW1vdmVkXG4gICAqIEBwYXJhbSBpbmRleCBQYXJhbWV0ZXIgdGhhdCBkZXRlcm1pbmVzIHdoaWNoIGNvbnRlbnQgZWxlbWVudCBzaG91bGQgYmUgZGVsZXRlZC5cbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+IFRoZSB1cGRhdGVkIHByZXBhcmVkIGl0ZW1cbiAgICovXG4gIHB1YmxpYyBkZWxldGVQcmVwYXJlZEl0ZW1Db250ZW50KHByZXBhcmVkSXRlbUlkOiBzdHJpbmcsIGluZGV4PzogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcmVwYXJlZEl0ZW0+IHtcbiAgICBjb25zdCB1cmwgPSBgL3ByZXBhcmUvJHtwcmVwYXJlZEl0ZW1JZH0vY29udGVudGAgKyAoaW5kZXggIT09IHVuZGVmaW5lZCA/IGA/aW5kZXg9JHtpbmRleH1gIDogJycpO1xuICAgIHJldHVybiB0aGlzLmJhY2tlbmRcbiAgICAgIC5kZWwodXJsKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXMgPT4gbmV3IFByZXBhcmVkSXRlbShyZXMpKVxuICAgICAgKTtcbiAgfVxufVxuIl19
@@ -2747,7 +2747,7 @@ class PrepareService {
2747
2747
  * @returns string Preview uri
2748
2748
  */
2749
2749
  getPreviewUri(id, index, rendition) {
2750
- return Utils.buildUri(`${this.backend.getServiceBase()}/prepare/${id}/content`, { rendition, index });
2750
+ return Utils.buildUri(`${this.backend.getContextPath()}/prepare/${id}/content`, { rendition, index });
2751
2751
  }
2752
2752
  /**
2753
2753
  * Updates the prepared items target object type.
@@ -2791,7 +2791,7 @@ class PrepareService {
2791
2791
  * @returns string The template preview url.
2792
2792
  */
2793
2793
  getTemplatePreviewUri(id, rendition) {
2794
- return Utils.buildUri(`${this.backend.getServiceBase()}/template/${id}/content`, { rendition });
2794
+ return Utils.buildUri(`${this.backend.getContextPath()}/template/${id}/content`, { rendition });
2795
2795
  }
2796
2796
  /**
2797
2797
  * Commit a prepared item. This will create an actual dms object.
@@ -2815,7 +2815,7 @@ class PrepareService {
2815
2815
  * @returns Observable<any>
2816
2816
  */
2817
2817
  uploadContent(preparedItemId, file) {
2818
- const uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
2818
+ const uri = `/prepare/${preparedItemId}/content.json?form=true&contentmeta=true`;
2819
2819
  return this.uploadService
2820
2820
  .upload(uri, [file])
2821
2821
  .pipe(
@@ -2851,7 +2851,7 @@ class PrepareService {
2851
2851
  *
2852
2852
  * @type string
2853
2853
  */
2854
- uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
2854
+ uri = this.createPreparedItemPostUrl({
2855
2855
  parentId: null,
2856
2856
  createMany: !useBatchUpload
2857
2857
  });
@@ -2861,7 +2861,7 @@ class PrepareService {
2861
2861
  * upload to dms object, means adding or replacing content file
2862
2862
  */
2863
2863
  const { referenceObject } = uploadTarget;
2864
- uri = `${this.backend.getBaseWithContext(this.backend.getServiceBase())}/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
2864
+ uri = `/dms/${referenceObject.id}/contents?type=${referenceObject.type.name}`;
2865
2865
  }
2866
2866
  else if (uploadTarget.type === UploadTarget.CONTEXT || uploadTarget.type === UploadTarget.CONTEXT_TREE) {
2867
2867
  /**
@@ -2871,7 +2871,7 @@ class PrepareService {
2871
2871
  *
2872
2872
  * @type string
2873
2873
  */
2874
- uri = this.backend.getBaseWithContext(this.backend.getServiceBase()) + this.createPreparedItemPostUrl({
2874
+ uri = this.createPreparedItemPostUrl({
2875
2875
  parentId: uploadTarget.referenceObject.id,
2876
2876
  createMany: !useBatchUpload,
2877
2877
  childType: uploadTarget.subFolder && uploadTarget.subFolder.data.type ? uploadTarget.subFolder.data.type : null