{"version":3,"file":"veeroute-lss-studio-angular.mjs","sources":["../../encoder.ts","../../variables.ts","../../configuration.ts","../../api/backupsService.ts","../../api/customFieldsService.ts","../../api/customIconsService.ts","../../api/experimentsService.ts","../../api/explorerService.ts","../../api/externalRoutingService.ts","../../api/factsService.ts","../../api/hardlinksService.ts","../../api/locationsService.ts","../../api/ordersService.ts","../../api/performersService.ts","../../api/systemService.ts","../../api/transportsService.ts","../../api/tripsService.ts","../../api/userSettingsService.ts","../../api/api.ts","../../model/actualizeSettings.ts","../../model/attribute.ts","../../model/basicProcess.ts","../../model/basicState.ts","../../model/basicTimeWindow.ts","../../model/basicTracksType.ts","../../model/boxCompatibilities.ts","../../model/breakRules.ts","../../model/break.ts","../../model/calculationSettings.ts","../../model/calculationStatus.ts","../../model/capacityCost.ts","../../model/capacityLimit.ts","../../model/capacityMultiplier.ts","../../model/capacityStatisticsLoad.ts","../../model/capacityStatisticsRatio.ts","../../model/capacityStatisticsSum.ts","../../model/capacity.ts","../../model/cargoActionType.ts","../../model/cargoRotationType.ts","../../model/checkResult.ts","../../model/compatibilityPenalty.ts","../../model/customfieldEntityType.ts","../../model/demandExtraDuration.ts","../../model/demandType.ts","../../model/entityErrorType.ts","../../model/entityType.ts","../../model/entityWarningType.ts","../../model/experimentNeighbors.ts","../../model/experimentSpecification.ts","../../model/extensionSettings.ts","../../model/factType.ts","../../model/filesystemColumnType.ts","../../model/folderCounters.ts","../../model/folderSpecification.ts","../../model/folderType.ts","../../model/geopoint.ts","../../model/hardlinkElementType.ts","../../model/importSample.ts","../../model/importSource.ts","../../model/linkedEssence.ts","../../model/locationCompatibilities.ts","../../model/locationTransportsLimit.ts","../../model/orderCompatibilities.ts","../../model/performerTariffConstraint.ts","../../model/removedItems.ts","../../model/replanStrategy.ts","../../model/rest.ts","../../model/schemaError.ts","../../model/service.ts","../../model/settingsKeyList.ts","../../model/tableCustomfieldsColumnType.ts","../../model/tableCustomfields.ts","../../model/tableDataStats.ts","../../model/tableExperimentColumnType.ts","../../model/tableFactColumnType.ts","../../model/tableFactFields.ts","../../model/tableFilterBoolList.ts","../../model/tableFilterDatetimeRange.ts","../../model/tableFilterDurationRange.ts","../../model/tableFilterEnumList.ts","../../model/tableFilterFloatRange.ts","../../model/tableFilterIntRange.ts","../../model/tableFilterStringList.ts","../../model/tableFilterStringSearch.ts","../../model/tableFilterType.ts","../../model/tableHardlinkColumnType.ts","../../model/tableHardlinkFields.ts","../../model/tableListCountersDetail.ts","../../model/tableLocationColumnType.ts","../../model/tableLocationFields.ts","../../model/tableOrderColumnType.ts","../../model/tableOrderFields.ts","../../model/tablePerformerColumnType.ts","../../model/tablePerformerFields.ts","../../model/tableTransportColumnType.ts","../../model/tableTransportFields.ts","../../model/tableTripColumnType.ts","../../model/tableTripFields.ts","../../model/tableTripStopColumnType.ts","../../model/tableTripStopFields.ts","../../model/timeWindow.ts","../../model/timeWindowViolationDetail.ts","../../model/trackpoint.ts","../../model/translations.ts","../../model/transportTariffConstraint.ts","../../model/transportType.ts","../../model/tripStartTimeStrategy.ts","../../model/tripStateFlag.ts","../../model/unplannedItems.ts","../../model/versionResult.ts","../../model/webPerformerGeopoint.ts","../../model/webTransportGeopoint.ts","../../api.module.ts","../../veeroute-lss-studio-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return encodeURIComponent(k);\n    }\n    encodeValue(v: string): string {\n        return encodeURIComponent(v);\n    }\n    decodeKey(k: string): string {\n        return decodeURIComponent(k);\n    }\n    decodeValue(v: string): string {\n        return decodeURIComponent(v);\n    }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\nimport { Param } from './param';\n\nexport interface ConfigurationParameters {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Override the default method for encoding path parameters in various\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam?: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    /**\n     * Takes care of encoding query- and form-parameters.\n     */\n    encoder?: HttpParameterCodec;\n    /**\n     * Encoding of various path parameter\n     * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n     * <p>\n     * See {@link README.md} for more details\n     * </p>\n     */\n    encodeParam: (param: Param) => string;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials: {[ key: string ]: string | (() => string | undefined)};\n\n    constructor(configurationParameters: ConfigurationParameters = {}) {\n        this.apiKeys = configurationParameters.apiKeys;\n        this.username = configurationParameters.username;\n        this.password = configurationParameters.password;\n        this.accessToken = configurationParameters.accessToken;\n        this.basePath = configurationParameters.basePath;\n        this.withCredentials = configurationParameters.withCredentials;\n        this.encoder = configurationParameters.encoder;\n        if (configurationParameters.encodeParam) {\n            this.encodeParam = configurationParameters.encodeParam;\n        }\n        else {\n            this.encodeParam = param => this.defaultEncodeParam(param);\n        }\n        if (configurationParameters.credentials) {\n            this.credentials = configurationParameters.credentials;\n        }\n        else {\n            this.credentials = {};\n        }\n\n        // init default ApiKeyAuth credential\n        if (!this.credentials['ApiKeyAuth']) {\n            this.credentials['ApiKeyAuth'] = () => {\n                return typeof this.accessToken === 'function'\n                    ? this.accessToken()\n                    : this.accessToken;\n            };\n        }\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length === 0) {\n            return undefined;\n        }\n\n        const type = contentTypes.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length === 0) {\n            return undefined;\n        }\n\n        const type = accepts.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n\n    public lookupCredential(key: string): string | undefined {\n        const value = this.credentials[key];\n        return typeof value === 'function'\n            ? value()\n            : value;\n    }\n\n    private defaultEncodeParam(param: Param): string {\n        // This implementation exists as fallback for missing configuration\n        // and for backwards compatibility to older typescript-angular generator versions.\n        // It only works for the 'simple' parameter style.\n        // Date-handling only works for the 'date-time' format.\n        // All other styles and Date-formats are probably handled incorrectly.\n        //\n        // But: if that's all you need (i.e.: the most common use-case): no need for customization!\n\n        const value = param.dataFormat === 'date-time' && param.value instanceof Date\n            ? (param.value as Date).toISOString()\n            : param.value;\n\n        return encodeURIComponent(String(value));\n    }\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    BackupsServiceInterface,\n    CreateBackupRequestParams,\n    RestoreBackupRequestParams\n} from './backupsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class BackupsService implements BackupsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Folder export\n     * Export folder with experiments. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createBackup(requestParameters: CreateBackupRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public createBackup(requestParameters: CreateBackupRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public createBackup(requestParameters: CreateBackupRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public createBackup(requestParameters: CreateBackupRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling createBackup.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/octet-stream',\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/backups/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<string>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Folder import\n     * Import folder with experiments. The folder should not be of type ROOT and should be empty. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public restoreBackup(requestParameters: RestoreBackupRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public restoreBackup(requestParameters: RestoreBackupRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling restoreBackup.');\n        }\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling restoreBackup.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/octet-stream'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/backups/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { CustomfieldsSettingsStudio } from '../model/customfieldsSettings';\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { SettingsKeyListStudio } from '../model/settingsKeyList';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    CustomFieldsServiceInterface,\n    CreateCustomfieldsSettingsRequestParams,\n    DeleteCustomfieldsSettingsRequestParams,\n    ReadCustomfieldsSettingsRequestParams,\n    SetCustomfieldsSettingsActiveKeyRequestParams,\n    UpdateCustomfieldsSettingsRequestParams\n} from './customFieldsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CustomFieldsService implements CustomFieldsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create fields settings\n     * Create custom fields settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CustomfieldsSettingsStudio>;\n    public createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CustomfieldsSettingsStudio>>;\n    public createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CustomfieldsSettingsStudio>>;\n    public createCustomfieldsSettings(requestParameters: CreateCustomfieldsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling createCustomfieldsSettings.');\n        }\n        const customfieldsSettingsStudio = requestParameters?.customfieldsSettingsStudio;\n        if (customfieldsSettingsStudio === null || customfieldsSettingsStudio === undefined) {\n            throw new Error('Required parameter customfieldsSettingsStudio was null or undefined when calling createCustomfieldsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<CustomfieldsSettingsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: customfieldsSettingsStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete fields settings\n     * Delete custom fields settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteCustomfieldsSettings(requestParameters: DeleteCustomfieldsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling deleteCustomfieldsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading fields settings list\n     * Reading the list of custom field settings keys. \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public listCustomfieldsSettings(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public listCustomfieldsSettings(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public listCustomfieldsSettings(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public listCustomfieldsSettings(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields`;\n        return this.httpClient.request<SettingsKeyListStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading fields settings\n     * Reading custom field settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CustomfieldsSettingsStudio>;\n    public readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CustomfieldsSettingsStudio>>;\n    public readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CustomfieldsSettingsStudio>>;\n    public readCustomfieldsSettings(requestParameters: ReadCustomfieldsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling readCustomfieldsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<CustomfieldsSettingsStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Setting the active customfields key\n     * Setting the active customfields key. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public setCustomfieldsSettingsActiveKey(requestParameters: SetCustomfieldsSettingsActiveKeyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling setCustomfieldsSettingsActiveKey.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields`;\n        return this.httpClient.request<SettingsKeyListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update fields settings\n     * Update custom fields settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CustomfieldsSettingsStudio>;\n    public updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CustomfieldsSettingsStudio>>;\n    public updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CustomfieldsSettingsStudio>>;\n    public updateCustomfieldsSettings(requestParameters: UpdateCustomfieldsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling updateCustomfieldsSettings.');\n        }\n        const customfieldsSettingsStudio = requestParameters?.customfieldsSettingsStudio;\n        if (customfieldsSettingsStudio === null || customfieldsSettingsStudio === undefined) {\n            throw new Error('Required parameter customfieldsSettingsStudio was null or undefined when calling updateCustomfieldsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customfields/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<CustomfieldsSettingsStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: customfieldsSettingsStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { SettingsKeyListStudio } from '../model/settingsKeyList';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    CustomIconsServiceInterface,\n    CreateCustomiconsSettingsRequestParams,\n    DeleteCustomiconsSettingsRequestParams,\n    ReadCustomiconsSettingsRequestParams,\n    SetCustomiconsSettingsActiveKeyRequestParams,\n    UpdateCustomiconsSettingsRequestParams\n} from './customIconsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CustomIconsService implements CustomIconsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Update icons settings\n     * Create custom icons settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public createCustomiconsSettings(requestParameters: CreateCustomiconsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling createCustomiconsSettings.');\n        }\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling createCustomiconsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/octet-stream'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete icons settings\n     * Delete custom icons settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteCustomiconsSettings(requestParameters: DeleteCustomiconsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling deleteCustomiconsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading icons settings list\n     * Reading the list of custom field settings keys. \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public listCustomiconsSettings(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public listCustomiconsSettings(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public listCustomiconsSettings(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public listCustomiconsSettings(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons`;\n        return this.httpClient.request<SettingsKeyListStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading icons settings\n     * Reading custom field settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public readCustomiconsSettings(requestParameters: ReadCustomiconsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling readCustomiconsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/octet-stream',\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<string>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Setting the active customicons key\n     * Setting the active customicons key. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public setCustomiconsSettingsActiveKey(requestParameters: SetCustomiconsSettingsActiveKeyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling setCustomiconsSettingsActiveKey.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons`;\n        return this.httpClient.request<SettingsKeyListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update icons settings\n     * Update custom icons settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public updateCustomiconsSettings(requestParameters: UpdateCustomiconsSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling updateCustomiconsSettings.');\n        }\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling updateCustomiconsSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/octet-stream'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/customicons/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { BasicProcessStudio } from '../model/basicProcess';\n// @ts-ignore\nimport { CalculationHistoryElementStudio } from '../model/calculationHistoryElement';\n// @ts-ignore\nimport { Custom400WithErrorsAndWarningsStudio } from '../model/custom400WithErrorsAndWarnings';\n// @ts-ignore\nimport { ExperimentListStudio } from '../model/experimentList';\n// @ts-ignore\nimport { ExperimentNeighborsStudio } from '../model/experimentNeighbors';\n// @ts-ignore\nimport { ExperimentSettingsStudio } from '../model/experimentSettings';\n// @ts-ignore\nimport { ExperimentSpecificationStudio } from '../model/experimentSpecification';\n// @ts-ignore\nimport { ExperimentStudio } from '../model/experiment';\n// @ts-ignore\nimport { FilesystemPathStudio } from '../model/filesystemPath';\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { ImportSampleStudio } from '../model/importSample';\n// @ts-ignore\nimport { ImportSourceStudio } from '../model/importSource';\n// @ts-ignore\nimport { TableExperimentColumnTypeStudio } from '../model/tableExperimentColumnType';\n// @ts-ignore\nimport { UniversalDataStudio } from '../model/universalData';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    ExperimentsServiceInterface,\n    CreateExperimentRequestParams,\n    DeleteExperimentRequestParams,\n    DuplicateExperimentRequestParams,\n    ExportJsonRequestParams,\n    ExportXlsxRequestParams,\n    GlobalSearchRequestParams,\n    ImportJsonRequestParams,\n    ImportJsonTracedataRequestParams,\n    ImportJsonUrlRequestParams,\n    ImportXlsxRequestParams,\n    ReadExperimentRequestParams,\n    ReadExperimentCalculationHistoryRequestParams,\n    ReadExperimentNeighborsRequestParams,\n    ReadExperimentPathRequestParams,\n    ReadFolderRequestParams,\n    RunExperimentCalculationRequestParams,\n    RunExperimentRecalculateTracksRequestParams,\n    RunExperimentRefineRequestParams,\n    RunExperimentValidationRequestParams,\n    StopExperimentCalculationRequestParams,\n    UpdateExperimentRequestParams,\n    UpdateExperimentIndicatorsRequestParams,\n    UpdateExperimentSettingsRequestParams\n} from './experimentsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ExperimentsService implements ExperimentsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create experiment\n     * Create new experiment.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public createExperiment(requestParameters: CreateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public createExperiment(requestParameters: CreateExperimentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentSpecificationStudio = requestParameters?.experimentSpecificationStudio;\n        if (experimentSpecificationStudio === null || experimentSpecificationStudio === undefined) {\n            throw new Error('Required parameter experimentSpecificationStudio was null or undefined when calling createExperiment.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments`;\n        return this.httpClient.request<string>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: experimentSpecificationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment removal\n     * Experiment removal by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteExperiment(requestParameters: DeleteExperimentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteExperiment.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment duplicate\n     * Experiment duplicate.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public duplicateExperiment(requestParameters: DuplicateExperimentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling duplicateExperiment.');\n        }\n        const experimentSpecificationStudio = requestParameters?.experimentSpecificationStudio;\n        if (experimentSpecificationStudio === null || experimentSpecificationStudio === undefined) {\n            throw new Error('Required parameter experimentSpecificationStudio was null or undefined when calling duplicateExperiment.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/duplication`;\n        return this.httpClient.request<string>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: experimentSpecificationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Export (JSON)\n     * Export data to VRt.Universal JSON file. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public exportJson(requestParameters: ExportJsonRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<UniversalDataStudio>;\n    public exportJson(requestParameters: ExportJsonRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<UniversalDataStudio>>;\n    public exportJson(requestParameters: ExportJsonRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<UniversalDataStudio>>;\n    public exportJson(requestParameters: ExportJsonRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling exportJson.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/export/json`;\n        return this.httpClient.request<UniversalDataStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Export (XLSX)\n     * Export (XLSX).\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public exportXlsx(requestParameters: ExportXlsxRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public exportXlsx(requestParameters: ExportXlsxRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling exportXlsx.');\n        }\n        const timezone = requestParameters?.timezone;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (timezone !== undefined && timezone !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>timezone, 'timezone');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/octet-stream',\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/export/xlsx`;\n        return this.httpClient.request<string>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment search\n     * Experiment global search.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentListStudio>;\n    public globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentListStudio>>;\n    public globalSearch(requestParameters: GlobalSearchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentListStudio>>;\n    public globalSearch(requestParameters: GlobalSearchRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const filter = requestParameters?.filter;\n        if (filter === null || filter === undefined) {\n            throw new Error('Required parameter filter was null or undefined when calling globalSearch.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortDirection = requestParameters?.sortDirection;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (filter !== undefined && filter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>filter, 'filter');\n        }\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/search/global`;\n        return this.httpClient.request<ExperimentListStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Import (JSON)\n     * Importing new data from VRt.Universal JSON file. If the entity is already present (determined by its key), it is updated. If not, a new one is created. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public importJson(requestParameters: ImportJsonRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public importJson(requestParameters: ImportJsonRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public importJson(requestParameters: ImportJsonRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public importJson(requestParameters: ImportJsonRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling importJson.');\n        }\n        const universalDataStudio = requestParameters?.universalDataStudio;\n        if (universalDataStudio === null || universalDataStudio === undefined) {\n            throw new Error('Required parameter universalDataStudio was null or undefined when calling importJson.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/import/json`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: universalDataStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Import by tracedata\n     * Importing new data from a VRt.Universal JSON file by &#x60;tracedata.process_code&#x60;. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public importJsonTracedata(requestParameters: ImportJsonTracedataRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling importJsonTracedata.');\n        }\n        const source = requestParameters?.source;\n        if (source === null || source === undefined) {\n            throw new Error('Required parameter source was null or undefined when calling importJsonTracedata.');\n        }\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling importJsonTracedata.');\n        }\n        const sample = requestParameters?.sample;\n        if (sample === null || sample === undefined) {\n            throw new Error('Required parameter sample was null or undefined when calling importJsonTracedata.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/import/json-tracedata/${this.configuration.encodeParam({name: \"source\", value: source, in: \"path\", style: \"simple\", explode: false, dataType: \"ImportSourceStudio\", dataFormat: undefined})}/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/${this.configuration.encodeParam({name: \"sample\", value: sample, in: \"path\", style: \"simple\", explode: false, dataType: \"ImportSampleStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Import by URL (JSON)\n     * Importing new data from a VRt.Universal JSON file by url. If the entity is already present in the experiment (determined by its key), it is updated, if not, a new one is created. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public importJsonUrl(requestParameters: ImportJsonUrlRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling importJsonUrl.');\n        }\n        const url = requestParameters?.url;\n        if (url === null || url === undefined) {\n            throw new Error('Required parameter url was null or undefined when calling importJsonUrl.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (url !== undefined && url !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>url, 'url');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/import/json-url`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Import (XLSX)\n     * Importing new data from an XLSX file. If an entity is already present (determined by its key), it is updated. If not, a new one is created. The data time zone is taken from the XLSX file. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public importXlsx(requestParameters: ImportXlsxRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public importXlsx(requestParameters: ImportXlsxRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling importXlsx.');\n        }\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling importXlsx.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/octet-stream'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/import/xlsx`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading experiment\n     * Getting experiment information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public readExperiment(requestParameters: ReadExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public readExperiment(requestParameters: ReadExperimentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readExperiment.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<ExperimentStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Calculation history\n     * Read calculation history.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Array<CalculationHistoryElementStudio>>;\n    public readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Array<CalculationHistoryElementStudio>>>;\n    public readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Array<CalculationHistoryElementStudio>>>;\n    public readExperimentCalculationHistory(requestParameters: ReadExperimentCalculationHistoryRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readExperimentCalculationHistory.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/calculation-history`;\n        return this.httpClient.request<Array<CalculationHistoryElementStudio>>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment neighbors\n     * Experiment neighbors.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentNeighborsStudio>;\n    public readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentNeighborsStudio>>;\n    public readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentNeighborsStudio>>;\n    public readExperimentNeighbors(requestParameters: ReadExperimentNeighborsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readExperimentNeighbors.');\n        }\n        const sortField = requestParameters?.sortField;\n        const sortDirection = requestParameters?.sortDirection;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/neighbors`;\n        return this.httpClient.request<ExperimentNeighborsStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment path\n     * Experiment path.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FilesystemPathStudio>;\n    public readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FilesystemPathStudio>>;\n    public readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FilesystemPathStudio>>;\n    public readExperimentPath(requestParameters: ReadExperimentPathRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readExperimentPath.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/path`;\n        return this.httpClient.request<FilesystemPathStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment list\n     * Getting a experiments list. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentListStudio>;\n    public readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentListStudio>>;\n    public readFolder(requestParameters?: ReadFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentListStudio>>;\n    public readFolder(requestParameters?: ReadFolderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        const filter = requestParameters?.filter;\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortDirection = requestParameters?.sortDirection;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (folderKey !== undefined && folderKey !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>folderKey, 'folder_key');\n        }\n        if (filter !== undefined && filter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>filter, 'filter');\n        }\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments`;\n        return this.httpClient.request<ExperimentListStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Run calculation\n     * Experiment calculation run.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public runExperimentCalculation(requestParameters: RunExperimentCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling runExperimentCalculation.');\n        }\n        const processName = requestParameters?.processName;\n        if (processName === null || processName === undefined) {\n            throw new Error('Required parameter processName was null or undefined when calling runExperimentCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/calculation/${this.configuration.encodeParam({name: \"processName\", value: processName, in: \"path\", style: \"simple\", explode: false, dataType: \"BasicProcessStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Run recalculate tracks\n     * Starting recalculation of &#x60;ROAD&#x60; experiment tracks.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public runExperimentRecalculateTracks(requestParameters: RunExperimentRecalculateTracksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling runExperimentRecalculateTracks.');\n        }\n        const tracksFullSegments = requestParameters?.tracksFullSegments;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (tracksFullSegments !== undefined && tracksFullSegments !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>tracksFullSegments, 'tracks_full_segments');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/recalculate-tracks`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Run refine\n     * Experiment refine run.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public runExperimentRefine(requestParameters: RunExperimentRefineRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling runExperimentRefine.');\n        }\n        const processName = requestParameters?.processName;\n        if (processName === null || processName === undefined) {\n            throw new Error('Required parameter processName was null or undefined when calling runExperimentRefine.');\n        }\n        const removeLocations = requestParameters?.removeLocations;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (removeLocations !== undefined && removeLocations !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>removeLocations, 'remove_locations');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/refine/${this.configuration.encodeParam({name: \"processName\", value: processName, in: \"path\", style: \"simple\", explode: false, dataType: \"BasicProcessStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Run validation\n     * Experiment validation run.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public runExperimentValidation(requestParameters: RunExperimentValidationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling runExperimentValidation.');\n        }\n        const processName = requestParameters?.processName;\n        if (processName === null || processName === undefined) {\n            throw new Error('Required parameter processName was null or undefined when calling runExperimentValidation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/validation/${this.configuration.encodeParam({name: \"processName\", value: processName, in: \"path\", style: \"simple\", explode: false, dataType: \"BasicProcessStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<ExperimentStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Calculation stop\n     * Calculation stop.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public stopExperimentCalculation(requestParameters: StopExperimentCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling stopExperimentCalculation.');\n        }\n        const processName = requestParameters?.processName;\n        if (processName === null || processName === undefined) {\n            throw new Error('Required parameter processName was null or undefined when calling stopExperimentCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/calculation/${this.configuration.encodeParam({name: \"processName\", value: processName, in: \"path\", style: \"simple\", explode: false, dataType: \"BasicProcessStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Experiment update\n     * Rename \\\\ move experiment.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public updateExperiment(requestParameters: UpdateExperimentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public updateExperiment(requestParameters: UpdateExperimentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateExperiment.');\n        }\n        const experimentSpecificationStudio = requestParameters?.experimentSpecificationStudio;\n        if (experimentSpecificationStudio === null || experimentSpecificationStudio === undefined) {\n            throw new Error('Required parameter experimentSpecificationStudio was null or undefined when calling updateExperiment.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<ExperimentStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: experimentSpecificationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Indicators update\n     * Updating the experiment indicators.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public updateExperimentIndicators(requestParameters: UpdateExperimentIndicatorsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateExperimentIndicators.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling updateExperimentIndicators.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/indicators`;\n        return this.httpClient.request<ExperimentStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Settings update\n     * Experiment settings update.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<ExperimentStudio>;\n    public updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<ExperimentStudio>>;\n    public updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<ExperimentStudio>>;\n    public updateExperimentSettings(requestParameters: UpdateExperimentSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateExperimentSettings.');\n        }\n        const experimentSettingsStudio = requestParameters?.experimentSettingsStudio;\n        if (experimentSettingsStudio === null || experimentSettingsStudio === undefined) {\n            throw new Error('Required parameter experimentSettingsStudio was null or undefined when calling updateExperimentSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/settings`;\n        return this.httpClient.request<ExperimentStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: experimentSettingsStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { FilesystemColumnTypeStudio } from '../model/filesystemColumnType';\n// @ts-ignore\nimport { FilesystemCountersStudio } from '../model/filesystemCounters';\n// @ts-ignore\nimport { FilesystemPathStudio } from '../model/filesystemPath';\n// @ts-ignore\nimport { FilesystemStudio } from '../model/filesystem';\n// @ts-ignore\nimport { FolderSpecificationStudio } from '../model/folderSpecification';\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    ExplorerServiceInterface,\n    CreateFolderRequestParams,\n    DeleteFilesBatchRequestParams,\n    DeleteFolderRequestParams,\n    DeleteFoldersBatchRequestParams,\n    ReadFilesystemRequestParams,\n    ReadFolderPathRequestParams,\n    ReadFolderSpecificationRequestParams,\n    UpdateFolderRequestParams\n} from './explorerServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ExplorerService implements ExplorerServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create folder\n     * Create new folder.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createFolder(requestParameters: CreateFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public createFolder(requestParameters: CreateFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public createFolder(requestParameters: CreateFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public createFolder(requestParameters: CreateFolderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderSpecificationStudio = requestParameters?.folderSpecificationStudio;\n        if (folderSpecificationStudio === null || folderSpecificationStudio === undefined) {\n            throw new Error('Required parameter folderSpecificationStudio was null or undefined when calling createFolder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer`;\n        return this.httpClient.request<string>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: folderSpecificationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Files removal (batch)\n     * Batch delete files.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteFilesBatch(requestParameters: DeleteFilesBatchRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling deleteFilesBatch.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/batch/files`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Folder removal\n     * Folder removal by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteFolder(requestParameters: DeleteFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteFolder(requestParameters: DeleteFolderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling deleteFolder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Folders removal (batch)\n     * Batch delete folders.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteFoldersBatch(requestParameters: DeleteFoldersBatchRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling deleteFoldersBatch.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/batch/folders`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting a filesystem\n     * Getting a filesystem.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FilesystemStudio>;\n    public readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FilesystemStudio>>;\n    public readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FilesystemStudio>>;\n    public readFilesystem(requestParameters?: ReadFilesystemRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        const filter = requestParameters?.filter;\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortDirection = requestParameters?.sortDirection;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (folderKey !== undefined && folderKey !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>folderKey, 'folder_key');\n        }\n        if (filter !== undefined && filter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>filter, 'filter');\n        }\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer`;\n        return this.httpClient.request<FilesystemStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Filesystem counters\n     * Getting a virtual filesystem counters.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFilesystemCounters(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FilesystemCountersStudio>;\n    public readFilesystemCounters(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FilesystemCountersStudio>>;\n    public readFilesystemCounters(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FilesystemCountersStudio>>;\n    public readFilesystemCounters(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/batch/counters`;\n        return this.httpClient.request<FilesystemCountersStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Folder path\n     * Folder path.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FilesystemPathStudio>;\n    public readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FilesystemPathStudio>>;\n    public readFolderPath(requestParameters: ReadFolderPathRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FilesystemPathStudio>>;\n    public readFolderPath(requestParameters: ReadFolderPathRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling readFolderPath.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/path`;\n        return this.httpClient.request<FilesystemPathStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Folder specification\n     * Getting a folder specification. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FolderSpecificationStudio>;\n    public readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FolderSpecificationStudio>>;\n    public readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FolderSpecificationStudio>>;\n    public readFolderSpecification(requestParameters: ReadFolderSpecificationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling readFolderSpecification.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/specification`;\n        return this.httpClient.request<FolderSpecificationStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update folder\n     * Rename and move folder.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<FilesystemStudio>;\n    public updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<FilesystemStudio>>;\n    public updateFolder(requestParameters: UpdateFolderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<FilesystemStudio>>;\n    public updateFolder(requestParameters: UpdateFolderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const folderKey = requestParameters?.folderKey;\n        if (folderKey === null || folderKey === undefined) {\n            throw new Error('Required parameter folderKey was null or undefined when calling updateFolder.');\n        }\n        const folderSpecificationStudio = requestParameters?.folderSpecificationStudio;\n        if (folderSpecificationStudio === null || folderSpecificationStudio === undefined) {\n            throw new Error('Required parameter folderSpecificationStudio was null or undefined when calling updateFolder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/explorer/${this.configuration.encodeParam({name: \"folderKey\", value: folderKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        return this.httpClient.request<FilesystemStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: folderSpecificationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { RoutingTransportMatrixStudio } from '../model/routingTransportMatrix';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    ExternalRoutingServiceInterface,\n    CreateExternalroutingRequestParams,\n    DeleteExternalroutingRequestParams,\n    ReadExternalroutingRequestParams,\n    UpdateExternalroutingRequestParams\n} from './externalRoutingServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ExternalRoutingService implements ExternalRoutingServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create externalrouting\n     * Create new external routing.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public createExternalrouting(requestParameters: CreateExternalroutingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createExternalrouting.');\n        }\n        const routingTransportMatrixStudio = requestParameters?.routingTransportMatrixStudio;\n        if (routingTransportMatrixStudio === null || routingTransportMatrixStudio === undefined) {\n            throw new Error('Required parameter routingTransportMatrixStudio was null or undefined when calling createExternalrouting.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/externalrouting`;\n        return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: routingTransportMatrixStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Deleting externalrouting\n     * Removing externalrouting.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteExternalrouting(requestParameters: DeleteExternalroutingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteExternalrouting.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/externalrouting`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read externalrouting\n     * Getting externalrouting information.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<Set<RoutingTransportMatrixStudio>>;\n    public readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<Set<RoutingTransportMatrixStudio>>>;\n    public readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<Set<RoutingTransportMatrixStudio>>>;\n    public readExternalrouting(requestParameters: ReadExternalroutingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readExternalrouting.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/externalrouting`;\n        return this.httpClient.request<Set<RoutingTransportMatrixStudio>>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update externalrouting\n     * Updating the externalrouting.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public updateExternalrouting(requestParameters: UpdateExternalroutingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateExternalrouting.');\n        }\n        const routingTransportMatrixStudio = requestParameters?.routingTransportMatrixStudio;\n        if (routingTransportMatrixStudio === null || routingTransportMatrixStudio === undefined) {\n            throw new Error('Required parameter routingTransportMatrixStudio was null or undefined when calling updateExternalrouting.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/externalrouting`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: routingTransportMatrixStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableFactColumnTypeStudio } from '../model/tableFactColumnType';\n// @ts-ignore\nimport { TableFactFilterListStudio } from '../model/tableFactFilterList';\n// @ts-ignore\nimport { TableFactListStudio } from '../model/tableFactList';\n// @ts-ignore\nimport { TableFactMetricsFilterListStudio } from '../model/tableFactMetricsFilterList';\n// @ts-ignore\nimport { TableFactMetricsStudio } from '../model/tableFactMetrics';\n// @ts-ignore\nimport { WebFactStudio } from '../model/webFact';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    FactsServiceInterface,\n    CreateFactRequestParams,\n    DeleteFactRequestParams,\n    DeleteFactsRequestParams,\n    DisableFactsRequestParams,\n    EnableFactsRequestParams,\n    ReadFactRequestParams,\n    ReadFactsRequestParams,\n    ReadFactsMetricsRequestParams,\n    UpdateFactRequestParams\n} from './factsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class FactsService implements FactsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create fact\n     * Create new fact.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createFact(requestParameters: CreateFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebFactStudio>;\n    public createFact(requestParameters: CreateFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebFactStudio>>;\n    public createFact(requestParameters: CreateFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebFactStudio>>;\n    public createFact(requestParameters: CreateFactRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createFact.');\n        }\n        const webFactStudio = requestParameters?.webFactStudio;\n        if (webFactStudio === null || webFactStudio === undefined) {\n            throw new Error('Required parameter webFactStudio was null or undefined when calling createFact.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts`;\n        return this.httpClient.request<WebFactStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webFactStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Deleting one fact\n     * Removing a fact by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteFact(requestParameters: DeleteFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteFact(requestParameters: DeleteFactRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteFact.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteFact.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete facts\n     * Removing facts from the experiment.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteFacts(requestParameters: DeleteFactsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteFacts(requestParameters: DeleteFactsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteFacts(requestParameters: DeleteFactsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteFacts(requestParameters: DeleteFactsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteFacts.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling deleteFacts.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/batch/list`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Disable facts\n     * Disable facts in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disableFacts(requestParameters: DisableFactsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public disableFacts(requestParameters: DisableFactsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public disableFacts(requestParameters: DisableFactsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public disableFacts(requestParameters: DisableFactsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling disableFacts.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling disableFacts.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/batch/ability`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Enable facts\n     * Enable facts in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public enableFacts(requestParameters: EnableFactsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public enableFacts(requestParameters: EnableFactsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public enableFacts(requestParameters: EnableFactsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public enableFacts(requestParameters: EnableFactsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling enableFacts.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling enableFacts.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/batch/ability`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read fact\n     * Getting fact information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFact(requestParameters: ReadFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebFactStudio>;\n    public readFact(requestParameters: ReadFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebFactStudio>>;\n    public readFact(requestParameters: ReadFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebFactStudio>>;\n    public readFact(requestParameters: ReadFactRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readFact.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readFact.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebFactStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List of facts\n     * Getting a facts list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFacts(requestParameters: ReadFactsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableFactListStudio>;\n    public readFacts(requestParameters: ReadFactsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableFactListStudio>>;\n    public readFacts(requestParameters: ReadFactsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableFactListStudio>>;\n    public readFacts(requestParameters: ReadFactsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readFacts.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableFactFilterListStudio = requestParameters?.tableFactFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/batch/list`;\n        return this.httpClient.request<TableFactListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableFactFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Fact metrics\n     * Calculate general metrics for selected facts.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableFactMetricsStudio>;\n    public readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableFactMetricsStudio>>;\n    public readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableFactMetricsStudio>>;\n    public readFactsMetrics(requestParameters: ReadFactsMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readFactsMetrics.');\n        }\n        const tableFactMetricsFilterListStudio = requestParameters?.tableFactMetricsFilterListStudio;\n        if (tableFactMetricsFilterListStudio === null || tableFactMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableFactMetricsFilterListStudio was null or undefined when calling readFactsMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts/batch/metrics`;\n        return this.httpClient.request<TableFactMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableFactMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update fact\n     * Updating the fact by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateFact(requestParameters: UpdateFactRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebFactStudio>;\n    public updateFact(requestParameters: UpdateFactRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebFactStudio>>;\n    public updateFact(requestParameters: UpdateFactRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebFactStudio>>;\n    public updateFact(requestParameters: UpdateFactRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateFact.');\n        }\n        const webFactStudio = requestParameters?.webFactStudio;\n        if (webFactStudio === null || webFactStudio === undefined) {\n            throw new Error('Required parameter webFactStudio was null or undefined when calling updateFact.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/facts`;\n        return this.httpClient.request<WebFactStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webFactStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableHardlinkColumnTypeStudio } from '../model/tableHardlinkColumnType';\n// @ts-ignore\nimport { TableHardlinkFilterListStudio } from '../model/tableHardlinkFilterList';\n// @ts-ignore\nimport { TableHardlinkListStudio } from '../model/tableHardlinkList';\n// @ts-ignore\nimport { TableHardlinkMetricsFilterListStudio } from '../model/tableHardlinkMetricsFilterList';\n// @ts-ignore\nimport { TableHardlinkMetricsStudio } from '../model/tableHardlinkMetrics';\n// @ts-ignore\nimport { WebHardlinkStudio } from '../model/webHardlink';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    HardlinksServiceInterface,\n    CreateHardlinkRequestParams,\n    DeleteHardlinkRequestParams,\n    DisableHardlinksRequestParams,\n    EnableHardlinksRequestParams,\n    ReadHardlinkRequestParams,\n    ReadHardlinksRequestParams,\n    ReadHardlinksMetricsRequestParams,\n    UpdateHardlinkRequestParams\n} from './hardlinksServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class HardlinksService implements HardlinksServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create hardlink\n     * Create new hardlink.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebHardlinkStudio>;\n    public createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebHardlinkStudio>>;\n    public createHardlink(requestParameters: CreateHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebHardlinkStudio>>;\n    public createHardlink(requestParameters: CreateHardlinkRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createHardlink.');\n        }\n        const webHardlinkStudio = requestParameters?.webHardlinkStudio;\n        if (webHardlinkStudio === null || webHardlinkStudio === undefined) {\n            throw new Error('Required parameter webHardlinkStudio was null or undefined when calling createHardlink.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks`;\n        return this.httpClient.request<WebHardlinkStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webHardlinkStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove hardlink\n     * Removing a essence by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteHardlink(requestParameters: DeleteHardlinkRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteHardlink.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteHardlink.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Disable hardlinks\n     * Disable hardlinks in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disableHardlinks(requestParameters: DisableHardlinksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public disableHardlinks(requestParameters: DisableHardlinksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public disableHardlinks(requestParameters: DisableHardlinksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public disableHardlinks(requestParameters: DisableHardlinksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling disableHardlinks.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling disableHardlinks.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/batch/ability`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Enable hardlinks\n     * Enable hardlinks in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public enableHardlinks(requestParameters: EnableHardlinksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public enableHardlinks(requestParameters: EnableHardlinksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public enableHardlinks(requestParameters: EnableHardlinksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public enableHardlinks(requestParameters: EnableHardlinksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling enableHardlinks.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling enableHardlinks.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/batch/ability`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read hardlink\n     * Getting hardlink information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebHardlinkStudio>;\n    public readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebHardlinkStudio>>;\n    public readHardlink(requestParameters: ReadHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebHardlinkStudio>>;\n    public readHardlink(requestParameters: ReadHardlinkRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readHardlink.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readHardlink.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebHardlinkStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List hardlinks\n     * Getting a hardlinks list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readHardlinks(requestParameters: ReadHardlinksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableHardlinkListStudio>;\n    public readHardlinks(requestParameters: ReadHardlinksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableHardlinkListStudio>>;\n    public readHardlinks(requestParameters: ReadHardlinksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableHardlinkListStudio>>;\n    public readHardlinks(requestParameters: ReadHardlinksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readHardlinks.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableHardlinkFilterListStudio = requestParameters?.tableHardlinkFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/batch/list`;\n        return this.httpClient.request<TableHardlinkListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableHardlinkFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Hardlink metrics\n     * Calculate general metrics for selected hardlinks.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableHardlinkMetricsStudio>;\n    public readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableHardlinkMetricsStudio>>;\n    public readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableHardlinkMetricsStudio>>;\n    public readHardlinksMetrics(requestParameters: ReadHardlinksMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readHardlinksMetrics.');\n        }\n        const tableHardlinkMetricsFilterListStudio = requestParameters?.tableHardlinkMetricsFilterListStudio;\n        if (tableHardlinkMetricsFilterListStudio === null || tableHardlinkMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableHardlinkMetricsFilterListStudio was null or undefined when calling readHardlinksMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks/batch/metrics`;\n        return this.httpClient.request<TableHardlinkMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableHardlinkMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update hardlink\n     * Updating the hardlink by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebHardlinkStudio>;\n    public updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebHardlinkStudio>>;\n    public updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebHardlinkStudio>>;\n    public updateHardlink(requestParameters: UpdateHardlinkRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateHardlink.');\n        }\n        const webHardlinkStudio = requestParameters?.webHardlinkStudio;\n        if (webHardlinkStudio === null || webHardlinkStudio === undefined) {\n            throw new Error('Required parameter webHardlinkStudio was null or undefined when calling updateHardlink.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/hardlinks`;\n        return this.httpClient.request<WebHardlinkStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webHardlinkStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableLocationColumnTypeStudio } from '../model/tableLocationColumnType';\n// @ts-ignore\nimport { TableLocationFilterListStudio } from '../model/tableLocationFilterList';\n// @ts-ignore\nimport { TableLocationListStudio } from '../model/tableLocationList';\n// @ts-ignore\nimport { TableLocationMetricsFilterListStudio } from '../model/tableLocationMetricsFilterList';\n// @ts-ignore\nimport { TableLocationMetricsStudio } from '../model/tableLocationMetrics';\n// @ts-ignore\nimport { WebLocationGeopointListStudio } from '../model/webLocationGeopointList';\n// @ts-ignore\nimport { WebLocationStudio } from '../model/webLocation';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    LocationsServiceInterface,\n    CreateLocationRequestParams,\n    DeleteLocationRequestParams,\n    ReadLocationRequestParams,\n    ReadLocationsRequestParams,\n    ReadLocationsGeopointsRequestParams,\n    ReadLocationsMetricsRequestParams,\n    UpdateLocationRequestParams\n} from './locationsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class LocationsService implements LocationsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create location\n     * Create location.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createLocation(requestParameters: CreateLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebLocationStudio>;\n    public createLocation(requestParameters: CreateLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebLocationStudio>>;\n    public createLocation(requestParameters: CreateLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebLocationStudio>>;\n    public createLocation(requestParameters: CreateLocationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createLocation.');\n        }\n        const webLocationStudio = requestParameters?.webLocationStudio;\n        if (webLocationStudio === null || webLocationStudio === undefined) {\n            throw new Error('Required parameter webLocationStudio was null or undefined when calling createLocation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations`;\n        return this.httpClient.request<WebLocationStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webLocationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove location\n     * Removing a location by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteLocation(requestParameters: DeleteLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteLocation(requestParameters: DeleteLocationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteLocation.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteLocation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read location\n     * Getting location information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readLocation(requestParameters: ReadLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebLocationStudio>;\n    public readLocation(requestParameters: ReadLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebLocationStudio>>;\n    public readLocation(requestParameters: ReadLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebLocationStudio>>;\n    public readLocation(requestParameters: ReadLocationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readLocation.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readLocation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebLocationStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Locations list\n     * Getting a locations list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readLocations(requestParameters: ReadLocationsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableLocationListStudio>;\n    public readLocations(requestParameters: ReadLocationsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableLocationListStudio>>;\n    public readLocations(requestParameters: ReadLocationsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableLocationListStudio>>;\n    public readLocations(requestParameters: ReadLocationsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readLocations.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableLocationFilterListStudio = requestParameters?.tableLocationFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations/batch/list`;\n        return this.httpClient.request<TableLocationListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableLocationFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Location geopoints\n     * Getting a geopoints.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebLocationGeopointListStudio>;\n    public readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebLocationGeopointListStudio>>;\n    public readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebLocationGeopointListStudio>>;\n    public readLocationsGeopoints(requestParameters: ReadLocationsGeopointsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readLocationsGeopoints.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const tableLocationFilterListStudio = requestParameters?.tableLocationFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations/batch/geopoints`;\n        return this.httpClient.request<WebLocationGeopointListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableLocationFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Location metrics\n     * Calculate general metrics for selected locations.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableLocationMetricsStudio>;\n    public readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableLocationMetricsStudio>>;\n    public readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableLocationMetricsStudio>>;\n    public readLocationsMetrics(requestParameters: ReadLocationsMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readLocationsMetrics.');\n        }\n        const tableLocationMetricsFilterListStudio = requestParameters?.tableLocationMetricsFilterListStudio;\n        if (tableLocationMetricsFilterListStudio === null || tableLocationMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableLocationMetricsFilterListStudio was null or undefined when calling readLocationsMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations/batch/metrics`;\n        return this.httpClient.request<TableLocationMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableLocationMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update location\n     * Updating the location by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebLocationStudio>;\n    public updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebLocationStudio>>;\n    public updateLocation(requestParameters: UpdateLocationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebLocationStudio>>;\n    public updateLocation(requestParameters: UpdateLocationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateLocation.');\n        }\n        const webLocationStudio = requestParameters?.webLocationStudio;\n        if (webLocationStudio === null || webLocationStudio === undefined) {\n            throw new Error('Required parameter webLocationStudio was null or undefined when calling updateLocation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/locations`;\n        return this.httpClient.request<WebLocationStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webLocationStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableOrderColumnTypeStudio } from '../model/tableOrderColumnType';\n// @ts-ignore\nimport { TableOrderFilterListStudio } from '../model/tableOrderFilterList';\n// @ts-ignore\nimport { TableOrderListStudio } from '../model/tableOrderList';\n// @ts-ignore\nimport { TableOrderMetricsFilterListStudio } from '../model/tableOrderMetricsFilterList';\n// @ts-ignore\nimport { TableOrderMetricsStudio } from '../model/tableOrderMetrics';\n// @ts-ignore\nimport { WebOrderGeopointListStudio } from '../model/webOrderGeopointList';\n// @ts-ignore\nimport { WebOrderStudio } from '../model/webOrder';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    OrdersServiceInterface,\n    CreateOrderRequestParams,\n    DeleteOrderRequestParams,\n    DeleteOrdersRequestParams,\n    DisableOrdersRequestParams,\n    EnableOrdersRequestParams,\n    ReadOrderRequestParams,\n    ReadOrdersRequestParams,\n    ReadOrdersGeopointsRequestParams,\n    ReadOrdersMetricsRequestParams,\n    UpdateOrderRequestParams\n} from './ordersServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class OrdersService implements OrdersServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create order\n     * New essences creation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createOrder(requestParameters: CreateOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebOrderStudio>;\n    public createOrder(requestParameters: CreateOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebOrderStudio>>;\n    public createOrder(requestParameters: CreateOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebOrderStudio>>;\n    public createOrder(requestParameters: CreateOrderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createOrder.');\n        }\n        const webOrderStudio = requestParameters?.webOrderStudio;\n        if (webOrderStudio === null || webOrderStudio === undefined) {\n            throw new Error('Required parameter webOrderStudio was null or undefined when calling createOrder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders`;\n        return this.httpClient.request<WebOrderStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webOrderStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Deleting one order\n     * Removing a essence by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteOrder(requestParameters: DeleteOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteOrder(requestParameters: DeleteOrderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteOrder.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteOrder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete orders\n     * Removing orders from the experiment.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteOrders(requestParameters: DeleteOrdersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteOrders(requestParameters: DeleteOrdersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteOrders(requestParameters: DeleteOrdersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteOrders(requestParameters: DeleteOrdersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteOrders.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling deleteOrders.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/list`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Disable orders\n     * Disable orders in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disableOrders(requestParameters: DisableOrdersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public disableOrders(requestParameters: DisableOrdersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public disableOrders(requestParameters: DisableOrdersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public disableOrders(requestParameters: DisableOrdersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling disableOrders.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling disableOrders.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/ability`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Enable orders\n     * Enable orders in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public enableOrders(requestParameters: EnableOrdersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public enableOrders(requestParameters: EnableOrdersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public enableOrders(requestParameters: EnableOrdersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public enableOrders(requestParameters: EnableOrdersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling enableOrders.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling enableOrders.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/ability`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading order\n     * Getting order information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readOrder(requestParameters: ReadOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebOrderStudio>;\n    public readOrder(requestParameters: ReadOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebOrderStudio>>;\n    public readOrder(requestParameters: ReadOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebOrderStudio>>;\n    public readOrder(requestParameters: ReadOrderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readOrder.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readOrder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebOrderStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * List orders\n     * Getting a orders list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readOrders(requestParameters: ReadOrdersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableOrderListStudio>;\n    public readOrders(requestParameters: ReadOrdersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableOrderListStudio>>;\n    public readOrders(requestParameters: ReadOrdersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableOrderListStudio>>;\n    public readOrders(requestParameters: ReadOrdersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readOrders.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableOrderFilterListStudio = requestParameters?.tableOrderFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/list`;\n        return this.httpClient.request<TableOrderListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableOrderFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Order geopoints\n     * Getting a geopoints.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebOrderGeopointListStudio>;\n    public readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebOrderGeopointListStudio>>;\n    public readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebOrderGeopointListStudio>>;\n    public readOrdersGeopoints(requestParameters: ReadOrdersGeopointsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readOrdersGeopoints.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const tableOrderFilterListStudio = requestParameters?.tableOrderFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/geopoints`;\n        return this.httpClient.request<WebOrderGeopointListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableOrderFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Order metrics\n     * Calculate general metrics for selected orders.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableOrderMetricsStudio>;\n    public readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableOrderMetricsStudio>>;\n    public readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableOrderMetricsStudio>>;\n    public readOrdersMetrics(requestParameters: ReadOrdersMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readOrdersMetrics.');\n        }\n        const tableOrderMetricsFilterListStudio = requestParameters?.tableOrderMetricsFilterListStudio;\n        if (tableOrderMetricsFilterListStudio === null || tableOrderMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableOrderMetricsFilterListStudio was null or undefined when calling readOrdersMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders/batch/metrics`;\n        return this.httpClient.request<TableOrderMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableOrderMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update order\n     * Updating the essence by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebOrderStudio>;\n    public updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebOrderStudio>>;\n    public updateOrder(requestParameters: UpdateOrderRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebOrderStudio>>;\n    public updateOrder(requestParameters: UpdateOrderRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateOrder.');\n        }\n        const webOrderStudio = requestParameters?.webOrderStudio;\n        if (webOrderStudio === null || webOrderStudio === undefined) {\n            throw new Error('Required parameter webOrderStudio was null or undefined when calling updateOrder.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/orders`;\n        return this.httpClient.request<WebOrderStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webOrderStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TablePerformerColumnTypeStudio } from '../model/tablePerformerColumnType';\n// @ts-ignore\nimport { TablePerformerFilterListStudio } from '../model/tablePerformerFilterList';\n// @ts-ignore\nimport { TablePerformerListStudio } from '../model/tablePerformerList';\n// @ts-ignore\nimport { TablePerformerMetricsFilterListStudio } from '../model/tablePerformerMetricsFilterList';\n// @ts-ignore\nimport { TablePerformerMetricsStudio } from '../model/tablePerformerMetrics';\n// @ts-ignore\nimport { WebPerformerGeopointListStudio } from '../model/webPerformerGeopointList';\n// @ts-ignore\nimport { WebPerformerStudio } from '../model/webPerformer';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    PerformersServiceInterface,\n    CreatePerformerRequestParams,\n    DeletePerformerRequestParams,\n    DisablePerformersRequestParams,\n    EnablePerformersRequestParams,\n    ReadPerformerRequestParams,\n    ReadPerformersRequestParams,\n    ReadPerformersGeopointsRequestParams,\n    ReadPerformersMetricsRequestParams,\n    UpdatePerformerRequestParams\n} from './performersServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class PerformersService implements PerformersServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create performer\n     * Create performer.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebPerformerStudio>;\n    public createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebPerformerStudio>>;\n    public createPerformer(requestParameters: CreatePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebPerformerStudio>>;\n    public createPerformer(requestParameters: CreatePerformerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createPerformer.');\n        }\n        const webPerformerStudio = requestParameters?.webPerformerStudio;\n        if (webPerformerStudio === null || webPerformerStudio === undefined) {\n            throw new Error('Required parameter webPerformerStudio was null or undefined when calling createPerformer.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers`;\n        return this.httpClient.request<WebPerformerStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webPerformerStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove performer\n     * Removing a performer by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deletePerformer(requestParameters: DeletePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deletePerformer(requestParameters: DeletePerformerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deletePerformer.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deletePerformer.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Disable performers\n     * Disable performers in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disablePerformers(requestParameters: DisablePerformersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public disablePerformers(requestParameters: DisablePerformersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public disablePerformers(requestParameters: DisablePerformersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public disablePerformers(requestParameters: DisablePerformersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling disablePerformers.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling disablePerformers.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/batch/ability`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Enable performers\n     * Enable performers in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public enablePerformers(requestParameters: EnablePerformersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public enablePerformers(requestParameters: EnablePerformersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public enablePerformers(requestParameters: EnablePerformersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public enablePerformers(requestParameters: EnablePerformersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling enablePerformers.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling enablePerformers.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/batch/ability`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read performer\n     * Getting performer information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebPerformerStudio>;\n    public readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebPerformerStudio>>;\n    public readPerformer(requestParameters: ReadPerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebPerformerStudio>>;\n    public readPerformer(requestParameters: ReadPerformerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readPerformer.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readPerformer.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebPerformerStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Performers list\n     * Getting a performers list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readPerformers(requestParameters: ReadPerformersRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TablePerformerListStudio>;\n    public readPerformers(requestParameters: ReadPerformersRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TablePerformerListStudio>>;\n    public readPerformers(requestParameters: ReadPerformersRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TablePerformerListStudio>>;\n    public readPerformers(requestParameters: ReadPerformersRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readPerformers.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tablePerformerFilterListStudio = requestParameters?.tablePerformerFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/batch/list`;\n        return this.httpClient.request<TablePerformerListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tablePerformerFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Performer geopoints\n     * Getting a geopoints.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebPerformerGeopointListStudio>;\n    public readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebPerformerGeopointListStudio>>;\n    public readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebPerformerGeopointListStudio>>;\n    public readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readPerformersGeopoints.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const tablePerformerFilterListStudio = requestParameters?.tablePerformerFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/batch/geopoints`;\n        return this.httpClient.request<WebPerformerGeopointListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tablePerformerFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Performer metrics\n     * Calculate general metrics for selected performers.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TablePerformerMetricsStudio>;\n    public readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TablePerformerMetricsStudio>>;\n    public readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TablePerformerMetricsStudio>>;\n    public readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readPerformersMetrics.');\n        }\n        const tablePerformerMetricsFilterListStudio = requestParameters?.tablePerformerMetricsFilterListStudio;\n        if (tablePerformerMetricsFilterListStudio === null || tablePerformerMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tablePerformerMetricsFilterListStudio was null or undefined when calling readPerformersMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers/batch/metrics`;\n        return this.httpClient.request<TablePerformerMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tablePerformerMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update performer\n     * Updating the performer by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebPerformerStudio>;\n    public updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebPerformerStudio>>;\n    public updatePerformer(requestParameters: UpdatePerformerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebPerformerStudio>>;\n    public updatePerformer(requestParameters: UpdatePerformerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updatePerformer.');\n        }\n        const webPerformerStudio = requestParameters?.webPerformerStudio;\n        if (webPerformerStudio === null || webPerformerStudio === undefined) {\n            throw new Error('Required parameter webPerformerStudio was null or undefined when calling updatePerformer.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/performers`;\n        return this.httpClient.request<WebPerformerStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webPerformerStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { CheckResultStudio } from '../model/checkResult';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { VersionResultStudio } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    SystemServiceInterface,\n    FileRequestParams\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SystemService implements SystemServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Checking the availability\n     * Checking the service availability.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public check(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CheckResultStudio>;\n    public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CheckResultStudio>>;\n    public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CheckResultStudio>>;\n    public check(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/system/check`;\n        return this.httpClient.request<CheckResultStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting the documentation\n     * Getting the file with this service documentation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public file(requestParameters: FileRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public file(requestParameters: FileRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public file(requestParameters: FileRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public file(requestParameters: FileRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'text/html' | 'text/plain' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const filename = requestParameters?.filename;\n        if (filename === null || filename === undefined) {\n            throw new Error('Required parameter filename was null or undefined when calling file.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'text/html',\n                'text/plain',\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/file/${this.configuration.encodeParam({name: \"filename\", value: filename, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<string>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting the service version\n     * Getting the service version.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public version(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<VersionResultStudio>;\n    public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<VersionResultStudio>>;\n    public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<VersionResultStudio>>;\n    public version(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/system/version`;\n        return this.httpClient.request<VersionResultStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableTransportColumnTypeStudio } from '../model/tableTransportColumnType';\n// @ts-ignore\nimport { TableTransportFilterListStudio } from '../model/tableTransportFilterList';\n// @ts-ignore\nimport { TableTransportListStudio } from '../model/tableTransportList';\n// @ts-ignore\nimport { TableTransportMetricsFilterListStudio } from '../model/tableTransportMetricsFilterList';\n// @ts-ignore\nimport { TableTransportMetricsStudio } from '../model/tableTransportMetrics';\n// @ts-ignore\nimport { WebTransportGeopointListStudio } from '../model/webTransportGeopointList';\n// @ts-ignore\nimport { WebTransportStudio } from '../model/webTransport';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    TransportsServiceInterface,\n    CreateTransportRequestParams,\n    DeleteTransportRequestParams,\n    DisableTransportsRequestParams,\n    EnableTransportsRequestParams,\n    ReadTransportRequestParams,\n    ReadTransportsRequestParams,\n    ReadTransportsGeopointsRequestParams,\n    ReadTransportsMetricsRequestParams,\n    UpdateTransportRequestParams\n} from './transportsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TransportsService implements TransportsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create transport\n     * New essences creation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createTransport(requestParameters: CreateTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTransportStudio>;\n    public createTransport(requestParameters: CreateTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTransportStudio>>;\n    public createTransport(requestParameters: CreateTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTransportStudio>>;\n    public createTransport(requestParameters: CreateTransportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createTransport.');\n        }\n        const webTransportStudio = requestParameters?.webTransportStudio;\n        if (webTransportStudio === null || webTransportStudio === undefined) {\n            throw new Error('Required parameter webTransportStudio was null or undefined when calling createTransport.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports`;\n        return this.httpClient.request<WebTransportStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webTransportStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove transport\n     * Removing a transport by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteTransport(requestParameters: DeleteTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteTransport(requestParameters: DeleteTransportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteTransport.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteTransport.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Disable transports\n     * Disable transports in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public disableTransports(requestParameters: DisableTransportsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public disableTransports(requestParameters: DisableTransportsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public disableTransports(requestParameters: DisableTransportsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public disableTransports(requestParameters: DisableTransportsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling disableTransports.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling disableTransports.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/batch/ability`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Enable transports\n     * Enable transports in the calculation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public enableTransports(requestParameters: EnableTransportsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public enableTransports(requestParameters: EnableTransportsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public enableTransports(requestParameters: EnableTransportsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public enableTransports(requestParameters: EnableTransportsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling enableTransports.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling enableTransports.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/batch/ability`;\n        return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading transport\n     * Getting transport information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTransport(requestParameters: ReadTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTransportStudio>;\n    public readTransport(requestParameters: ReadTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTransportStudio>>;\n    public readTransport(requestParameters: ReadTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTransportStudio>>;\n    public readTransport(requestParameters: ReadTransportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTransport.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readTransport.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebTransportStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Transport list\n     * Getting a transport list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTransports(requestParameters: ReadTransportsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableTransportListStudio>;\n    public readTransports(requestParameters: ReadTransportsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableTransportListStudio>>;\n    public readTransports(requestParameters: ReadTransportsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableTransportListStudio>>;\n    public readTransports(requestParameters: ReadTransportsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTransports.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableTransportFilterListStudio = requestParameters?.tableTransportFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/batch/list`;\n        return this.httpClient.request<TableTransportListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTransportFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Transport geopoints\n     * Getting a geopoints.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTransportGeopointListStudio>;\n    public readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTransportGeopointListStudio>>;\n    public readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTransportGeopointListStudio>>;\n    public readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTransportsGeopoints.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const tableTransportFilterListStudio = requestParameters?.tableTransportFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/batch/geopoints`;\n        return this.httpClient.request<WebTransportGeopointListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTransportFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Transport metrics\n     * Calculate general metrics for selected transports.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableTransportMetricsStudio>;\n    public readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableTransportMetricsStudio>>;\n    public readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableTransportMetricsStudio>>;\n    public readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTransportsMetrics.');\n        }\n        const tableTransportMetricsFilterListStudio = requestParameters?.tableTransportMetricsFilterListStudio;\n        if (tableTransportMetricsFilterListStudio === null || tableTransportMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableTransportMetricsFilterListStudio was null or undefined when calling readTransportsMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports/batch/metrics`;\n        return this.httpClient.request<TableTransportMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTransportMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update transport\n     * Updating the essence by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTransportStudio>;\n    public updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTransportStudio>>;\n    public updateTransport(requestParameters: UpdateTransportRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTransportStudio>>;\n    public updateTransport(requestParameters: UpdateTransportRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateTransport.');\n        }\n        const webTransportStudio = requestParameters?.webTransportStudio;\n        if (webTransportStudio === null || webTransportStudio === undefined) {\n            throw new Error('Required parameter webTransportStudio was null or undefined when calling updateTransport.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/transports`;\n        return this.httpClient.request<WebTransportStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webTransportStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { BasicTracksTypeStudio } from '../model/basicTracksType';\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { TableCustomfieldsColumnTypeStudio } from '../model/tableCustomfieldsColumnType';\n// @ts-ignore\nimport { TableTripColumnTypeStudio } from '../model/tableTripColumnType';\n// @ts-ignore\nimport { TableTripFilterListStudio } from '../model/tableTripFilterList';\n// @ts-ignore\nimport { TableTripListStudio } from '../model/tableTripList';\n// @ts-ignore\nimport { TableTripMetricsFilterListStudio } from '../model/tableTripMetricsFilterList';\n// @ts-ignore\nimport { TableTripMetricsStudio } from '../model/tableTripMetrics';\n// @ts-ignore\nimport { TableTripStopColumnTypeStudio } from '../model/tableTripStopColumnType';\n// @ts-ignore\nimport { TableTripStopFilterListStudio } from '../model/tableTripStopFilterList';\n// @ts-ignore\nimport { TableTripStopListStudio } from '../model/tableTripStopList';\n// @ts-ignore\nimport { WebTripChartListStudio } from '../model/webTripChartList';\n// @ts-ignore\nimport { WebTripStudio } from '../model/webTrip';\n// @ts-ignore\nimport { WebTripTrackListCustomStudio } from '../model/webTripTrackListCustom';\n// @ts-ignore\nimport { WebTripTrackListStudio } from '../model/webTripTrackList';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    TripsServiceInterface,\n    CreateTripRequestParams,\n    DeleteCustomTracksRequestParams,\n    DeleteTripRequestParams,\n    LoadCustomTracksRequestParams,\n    ReadTripRequestParams,\n    ReadTripStopsRequestParams,\n    ReadTripsRequestParams,\n    ReadTripsChartsRequestParams,\n    ReadTripsMetricsRequestParams,\n    ReadTripsTracksRequestParams,\n    UpdateTripRequestParams\n} from './tripsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TripsService implements TripsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Trip create\n     * New essences creation.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createTrip(requestParameters: CreateTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTripStudio>;\n    public createTrip(requestParameters: CreateTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTripStudio>>;\n    public createTrip(requestParameters: CreateTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTripStudio>>;\n    public createTrip(requestParameters: CreateTripRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling createTrip.');\n        }\n        const webTripStudio = requestParameters?.webTripStudio;\n        if (webTripStudio === null || webTripStudio === undefined) {\n            throw new Error('Required parameter webTripStudio was null or undefined when calling createTrip.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips`;\n        return this.httpClient.request<WebTripStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webTripStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Remove custom tracks\n     * Remove custom all tracks.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteCustomTracks(requestParameters: DeleteCustomTracksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteCustomTracks.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/tracks/custom`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete trip\n     * Removing a trip by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteTrip(requestParameters: DeleteTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteTrip(requestParameters: DeleteTripRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling deleteTrip.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling deleteTrip.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Load custom tracks\n     * Load custom tracks.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public loadCustomTracks(requestParameters: LoadCustomTracksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling loadCustomTracks.');\n        }\n        const webTripTrackListCustomStudio = requestParameters?.webTripTrackListCustomStudio;\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/tracks/custom`;\n        return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webTripTrackListCustomStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Read trip\n     * Getting trip information by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTrip(requestParameters: ReadTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTripStudio>;\n    public readTrip(requestParameters: ReadTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTripStudio>>;\n    public readTrip(requestParameters: ReadTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTripStudio>>;\n    public readTrip(requestParameters: ReadTripRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTrip.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readTrip.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebTripStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trip stops list\n     * Getting a trip stops list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableTripStopListStudio>;\n    public readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableTripStopListStudio>>;\n    public readTripStops(requestParameters: ReadTripStopsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableTripStopListStudio>>;\n    public readTripStops(requestParameters: ReadTripStopsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTripStops.');\n        }\n        const essenceKey = requestParameters?.essenceKey;\n        if (essenceKey === null || essenceKey === undefined) {\n            throw new Error('Required parameter essenceKey was null or undefined when calling readTripStops.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableTripStopFilterListStudio = requestParameters?.tableTripStopFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/${this.configuration.encodeParam({name: \"essenceKey\", value: essenceKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/stops/batch/list`;\n        return this.httpClient.request<TableTripStopListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTripStopFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trip list\n     * Getting a trips list.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTrips(requestParameters: ReadTripsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableTripListStudio>;\n    public readTrips(requestParameters: ReadTripsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableTripListStudio>>;\n    public readTrips(requestParameters: ReadTripsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableTripListStudio>>;\n    public readTrips(requestParameters: ReadTripsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTrips.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortCustomfield = requestParameters?.sortCustomfield;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableTripFilterListStudio = requestParameters?.tableTripFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortCustomfield !== undefined && sortCustomfield !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortCustomfield, 'sort_customfield');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/batch/list`;\n        return this.httpClient.request<TableTripListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTripFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trips chart\n     * Getting a trips for chart.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTripChartListStudio>;\n    public readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTripChartListStudio>>;\n    public readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTripChartListStudio>>;\n    public readTripsCharts(requestParameters: ReadTripsChartsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTripsCharts.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const sortField = requestParameters?.sortField;\n        const sortDirection = requestParameters?.sortDirection;\n        const tableTripFilterListStudio = requestParameters?.tableTripFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n        if (sortField !== undefined && sortField !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortField, 'sort_field');\n        }\n        if (sortDirection !== undefined && sortDirection !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>sortDirection, 'sort_direction');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/batch/charts`;\n        return this.httpClient.request<WebTripChartListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTripFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trips metrics\n     * Calculate general metrics for selected trips.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<TableTripMetricsStudio>;\n    public readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<TableTripMetricsStudio>>;\n    public readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<TableTripMetricsStudio>>;\n    public readTripsMetrics(requestParameters: ReadTripsMetricsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTripsMetrics.');\n        }\n        const tableTripMetricsFilterListStudio = requestParameters?.tableTripMetricsFilterListStudio;\n        if (tableTripMetricsFilterListStudio === null || tableTripMetricsFilterListStudio === undefined) {\n            throw new Error('Required parameter tableTripMetricsFilterListStudio was null or undefined when calling readTripsMetrics.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/batch/metrics`;\n        return this.httpClient.request<TableTripMetricsStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTripMetricsFilterListStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trip tracks\n     * Getting a tracks.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTripTrackListStudio>;\n    public readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTripTrackListStudio>>;\n    public readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTripTrackListStudio>>;\n    public readTripsTracks(requestParameters: ReadTripsTracksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling readTripsTracks.');\n        }\n        const tracksType = requestParameters?.tracksType;\n        if (tracksType === null || tracksType === undefined) {\n            throw new Error('Required parameter tracksType was null or undefined when calling readTripsTracks.');\n        }\n        const offset = requestParameters?.offset;\n        const limit = requestParameters?.limit;\n        const tableTripFilterListStudio = requestParameters?.tableTripFilterListStudio;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (offset !== undefined && offset !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>offset, 'offset');\n        }\n        if (limit !== undefined && limit !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>limit, 'limit');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips/batch/tracks/${this.configuration.encodeParam({name: \"tracksType\", value: tracksType, in: \"path\", style: \"simple\", explode: false, dataType: \"BasicTracksTypeStudio\", dataFormat: undefined})}`;\n        return this.httpClient.request<WebTripTrackListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: tableTripFilterListStudio,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Trip update\n     * Updating the essence by key.\n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<WebTripStudio>;\n    public updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<WebTripStudio>>;\n    public updateTrip(requestParameters: UpdateTripRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<WebTripStudio>>;\n    public updateTrip(requestParameters: UpdateTripRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const experimentKey = requestParameters?.experimentKey;\n        if (experimentKey === null || experimentKey === undefined) {\n            throw new Error('Required parameter experimentKey was null or undefined when calling updateTrip.');\n        }\n        const webTripStudio = requestParameters?.webTripStudio;\n        if (webTripStudio === null || webTripStudio === undefined) {\n            throw new Error('Required parameter webTripStudio was null or undefined when calling updateTrip.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/experiments/${this.configuration.encodeParam({name: \"experimentKey\", value: experimentKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}/trips`;\n        return this.httpClient.request<WebTripStudio>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: webTripStudio,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { General400Studio } from '../model/general400';\n// @ts-ignore\nimport { General402Studio } from '../model/general402';\n// @ts-ignore\nimport { General403Studio } from '../model/general403';\n// @ts-ignore\nimport { General404Studio } from '../model/general404';\n// @ts-ignore\nimport { General429Studio } from '../model/general429';\n// @ts-ignore\nimport { General500Studio } from '../model/general500';\n// @ts-ignore\nimport { SettingsKeyListStudio } from '../model/settingsKeyList';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport {\n    UserSettingsServiceInterface,\n    CreateUserSettingsRequestParams,\n    DeleteUserSettingsRequestParams,\n    ReadUserSettingsRequestParams,\n    SetUserSettingsActiveKeyRequestParams,\n    UpdateUserSettingsRequestParams\n} from './userSettingsServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class UserSettingsService implements UserSettingsServiceInterface {\n\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            const firstBasePath = Array.isArray(basePath) ? basePath[0] : undefined;\n            if (firstBasePath != undefined) {\n                basePath = firstBasePath;\n            }\n\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Create user settings\n     * Create user settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<{ [key: string]: any; }>;\n    public createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<{ [key: string]: any; }>>;\n    public createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<{ [key: string]: any; }>>;\n    public createUserSettings(requestParameters: CreateUserSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling createUserSettings.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling createUserSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<{ [key: string]: any; }>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Delete user settings\n     * Delete user settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deleteUserSettings(requestParameters: DeleteUserSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling deleteUserSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading user settings list\n     * Reading the list of user settings keys. \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public listUserSettings(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public listUserSettings(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public listUserSettings(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public listUserSettings(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user`;\n        return this.httpClient.request<SettingsKeyListStudio>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Reading user settings\n     * Reading user settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<{ [key: string]: any; }>;\n    public readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<{ [key: string]: any; }>>;\n    public readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<{ [key: string]: any; }>>;\n    public readUserSettings(requestParameters: ReadUserSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling readUserSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<{ [key: string]: any; }>('get', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Setting the active user settings key\n     * Setting the active user settings key. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<SettingsKeyListStudio>;\n    public setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<SettingsKeyListStudio>>;\n    public setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<SettingsKeyListStudio>>;\n    public setUserSettingsActiveKey(requestParameters: SetUserSettingsActiveKeyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const body = requestParameters?.body;\n        if (body === null || body === undefined) {\n            throw new Error('Required parameter body was null or undefined when calling setUserSettingsActiveKey.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user`;\n        return this.httpClient.request<SettingsKeyListStudio>('post', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: body,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update user settings\n     * Update user settings. \n     * @param requestParameters\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<{ [key: string]: any; }>;\n    public updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<{ [key: string]: any; }>>;\n    public updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<{ [key: string]: any; }>>;\n    public updateUserSettings(requestParameters: UpdateUserSettingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const settingsKey = requestParameters?.settingsKey;\n        if (settingsKey === null || settingsKey === undefined) {\n            throw new Error('Required parameter settingsKey was null or undefined when calling updateUserSettings.');\n        }\n        const requestBody = requestParameters?.requestBody;\n        if (requestBody === null || requestBody === undefined) {\n            throw new Error('Required parameter requestBody was null or undefined when calling updateUserSettings.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (ApiKeyAuth) required\n        localVarCredential = this.configuration.lookupCredential('ApiKeyAuth');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                'application/json'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n        let localVarTransferCache: boolean | undefined = options && options.transferCache;\n        if (localVarTransferCache === undefined) {\n            localVarTransferCache = true;\n        }\n\n\n        // to determine the Content-Type header\n        const consumes: string[] = [\n            'application/json'\n        ];\n        const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n        if (httpContentTypeSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n        }\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'blob';\n            }\n        }\n\n        let localVarPath = `/studio/settings/user/${this.configuration.encodeParam({name: \"settingsKey\", value: settingsKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        return this.httpClient.request<{ [key: string]: any; }>('put', `${this.configuration.basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: requestBody,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './backupsService';\nimport { BackupsService } from './backupsService';\nexport * from './backupsServiceInterface';\nexport * from './customFieldsService';\nimport { CustomFieldsService } from './customFieldsService';\nexport * from './customFieldsServiceInterface';\nexport * from './customIconsService';\nimport { CustomIconsService } from './customIconsService';\nexport * from './customIconsServiceInterface';\nexport * from './experimentsService';\nimport { ExperimentsService } from './experimentsService';\nexport * from './experimentsServiceInterface';\nexport * from './explorerService';\nimport { ExplorerService } from './explorerService';\nexport * from './explorerServiceInterface';\nexport * from './externalRoutingService';\nimport { ExternalRoutingService } from './externalRoutingService';\nexport * from './externalRoutingServiceInterface';\nexport * from './factsService';\nimport { FactsService } from './factsService';\nexport * from './factsServiceInterface';\nexport * from './hardlinksService';\nimport { HardlinksService } from './hardlinksService';\nexport * from './hardlinksServiceInterface';\nexport * from './locationsService';\nimport { LocationsService } from './locationsService';\nexport * from './locationsServiceInterface';\nexport * from './ordersService';\nimport { OrdersService } from './ordersService';\nexport * from './ordersServiceInterface';\nexport * from './performersService';\nimport { PerformersService } from './performersService';\nexport * from './performersServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport * from './transportsService';\nimport { TransportsService } from './transportsService';\nexport * from './transportsServiceInterface';\nexport * from './tripsService';\nimport { TripsService } from './tripsService';\nexport * from './tripsServiceInterface';\nexport * from './userSettingsService';\nimport { UserSettingsService } from './userSettingsService';\nexport * from './userSettingsServiceInterface';\nexport const APIS = [BackupsService, CustomFieldsService, CustomIconsService, ExperimentsService, ExplorerService, ExternalRoutingService, FactsService, HardlinksService, LocationsService, OrdersService, PerformersService, SystemService, TransportsService, TripsService, UserSettingsService];\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Actualize settings. \n */\nexport interface ActualizeSettingsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Current date and time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). If not specified, the current time when the request was received by the server is taken. \n     */\n    current_time?: string | null;\n    /**\n     * Acceptable delay. Affects the shift of the right boundaries of hard time windows of orders and time windows of work shifts of performers and transports. \n     */\n    max_delay_duration?: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Attribute.\n */\nexport interface AttributeStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Attribute\\'s key.\n     */\n    key: string;\n    /**\n     * Attribute\\'s value.\n     */\n    value: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Process name:   * `PLAN` - планирование   * `REPLAN` - перепланирование   * `ACTUALIZE` - актуализация \n */\nexport enum BasicProcessStudio {\n    PLAN = 'PLAN',\n    REPLAN = 'REPLAN',\n    ACTUALIZE = 'ACTUALIZE'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The state of an entity that determines its relation to the calculation. \n */\nexport enum BasicStateStudio {\n    PLANNED = 'PLANNED',\n    ASSIGNED = 'ASSIGNED',\n    UNPLANNED = 'UNPLANNED',\n    ERROR = 'ERROR'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Time window.\n */\nexport interface BasicTimeWindowStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Date and time according to [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). For the left edge of the time window, the earliest of the left edges of the child entities\\' time windows is selected. \n     */\n    from?: string | null;\n    /**\n     * Date and time according to [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6). For the right edge of the time window, the latest of the right edges of the child entities\\' time windows is selected. \n     */\n    to?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Track type:   * `LINE` - connecting stop points in a straight line   * `ROAD` - connecting stop points along roads   * `CUSTOM` - externally loaded custom tracks \n */\nexport enum BasicTracksTypeStudio {\n    LINE = 'LINE',\n    ROAD = 'ROAD',\n    CUSTOM = 'CUSTOM'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * A transport box [compatibilities](#section/Description/Compatibilities). \n */\nexport interface BoxCompatibilitiesStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Width in meters.\n     */\n    width?: number;\n    /**\n     * Height in meters.\n     */\n    height?: number;\n    /**\n     * Length in meters.\n     */\n    length?: number;\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    box_features?: Array<string>;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BreakStudio } from './break';\n\n\n/**\n * Rules for accounting for breaks.\n */\nexport interface BreakRulesStudio { \n  [key: string]: any | any;\n\n\n    first: BreakStudio | null;\n    consecutive?: BreakStudio | null;\n    /**\n     * Type of accounting for time spent moving between locations (total or continuous).\n     */\n    relocating_duration_type?: BreakRulesStudioRelocatingDurationTypeEnum;\n}\nexport enum BreakRulesStudioRelocatingDurationTypeEnum {\n    TOTAL = 'TOTAL',\n    CONTINUOUS = 'CONTINUOUS'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The condition for the onset and characteristics of a break.\n */\nexport interface BreakStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    relocating_duration_sum: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    operating_duration_sum?: string | null;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    duration: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Calculation settings.\n */\nexport interface CalculationSettingsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Max calculation time. The countdown starts from the time when data is uploaded to the server and calculation starts. \n     */\n    max_calculation_time?: string;\n    /**\n     * Max calculation time. The countdown starts from the time when data is uploaded to the server. \n     */\n    max_waiting_time?: string;\n    /**\n     * Calculation result lifetime. The countdown starts from the time when the calculation is completed. \n     */\n    result_ttl?: string;\n    /**\n     * Timezone.\n     */\n    result_timezone?: number;\n    /**\n     * Treat warnings as errors and do not run calculations if at least one entity contains invalid data. \n     */\n    treat_warnings_as_errors?: boolean;\n    /**\n     * Specifies the calculation accuracy in the decimal point sequence number. It equals 3 by default, so the accuracy is 0.001. \n     */\n    precision?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Calculation status:   * `WAITING` - the calculation is waiting to be launched.   * `IN_PROGRESS` - calculation in progress.   * `FINISHED_IN_TIME` - the calculation completed correctly before the specified maximum time.   * `FINISHED_OUT_OF_TIME` - the calculation ended because the specified time for calculation has expired, which can affect the quality of the result for the worse.   * `CANCELED` - the calculation was canceled because a cancel command was received.   * `CANCELED_BY_TIMEOUT` - the calculation was canceled automatically because the waiting time in the queue was exceeded.   * `CANCELED_BY_QUOTA` - the calculation was canceled because the quota for this calculation type was exceeded.   * `FAILED` - calculation completed with an error. \n */\nexport enum CalculationStatusStudio {\n    WAITING = 'WAITING',\n    IN_PROGRESS = 'IN_PROGRESS',\n    FINISHED_IN_TIME = 'FINISHED_IN_TIME',\n    FINISHED_OUT_OF_TIME = 'FINISHED_OUT_OF_TIME',\n    CANCELED = 'CANCELED',\n    CANCELED_BY_TIMEOUT = 'CANCELED_BY_TIMEOUT',\n    CANCELED_BY_QUOTA = 'CANCELED_BY_QUOTA',\n    FAILED = 'FAILED'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Cost per capacity element.\n */\nexport interface CapacityCostStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Cost per kilogram, in conventional monetary units.\n     */\n    mass: number;\n    /**\n     * Cost per cubic meter, in conventional monetary units.\n     */\n    volume: number;\n    /**\n     * Cost per unit of additional parameter (A), in conventional monetary units.\n     */\n    capacity_a: number;\n    /**\n     * Cost per unit of additional parameter (B), in conventional monetary units.\n     */\n    capacity_b: number;\n    /**\n     * Cost per unit of additional parameter (C), in conventional monetary units.\n     */\n    capacity_c: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Capacity limits.\n */\nexport interface CapacityLimitStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Weight in kilograms.\n     */\n    mass: number;\n    /**\n     * Volume in cubic meters.\n     */\n    volume: number;\n    /**\n     * Additional parameter (A) for measuring cargoes and boxes in alternative units.\n     */\n    capacity_a: number;\n    /**\n     * Additional parameter (B) for measuring cargoes and boxes in alternative units.\n     */\n    capacity_b: number;\n    /**\n     * Additional parameter (C) for measuring cargoes and boxes in alternative units.\n     */\n    capacity_c: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Capacity change rate for the specified transport type.\n */\nexport interface CapacityMultiplierStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Mass multiplier.\n     */\n    mass?: number;\n    /**\n     * Volume multiplier.\n     */\n    volume?: number;\n    /**\n     * Additional parameter (A) multiplier.\n     */\n    capacity_a?: number;\n    /**\n     * Additional parameter (B) multiplier.\n     */\n    capacity_b?: number;\n    /**\n     * Additional parameter (C) multiplier.\n     */\n    capacity_c?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Statistics on capacity characteristics (ratio). Cannot be greater than one.\n */\nexport interface CapacityStatisticsLoadStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Loading by mass, in fractions of a unit.\n     */\n    mass: number;\n    /**\n     * Loading by volume, in fractions of a unit.\n     */\n    volume: number;\n    /**\n     * Loading by additional parameter (A), in fractions of a unit.\n     */\n    capacity_a: number;\n    /**\n     * Loading by additional parameter (B), in fractions of a unit.\n     */\n    capacity_b: number;\n    /**\n     * Loading by additional parameter (C), in fractions of a unit.\n     */\n    capacity_c: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Statistics on capacity characteristics (ratio).  It may be more than one.\n */\nexport interface CapacityStatisticsRatioStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Loading by mass, in fractions of a unit.\n     */\n    mass: number;\n    /**\n     * Loading by volume, in fractions of a unit.\n     */\n    volume: number;\n    /**\n     * Loading by additional parameter (A), in fractions of a unit.\n     */\n    capacity_a: number;\n    /**\n     * Loading by additional parameter (B), in fractions of a unit.\n     */\n    capacity_b: number;\n    /**\n     * Loading by additional parameter (C), in fractions of a unit.\n     */\n    capacity_c: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Statistics on capacity characteristics.\n */\nexport interface CapacityStatisticsSumStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Total weight in kilograms.\n     */\n    mass: number;\n    /**\n     * Total volume in cubic meters.\n     */\n    volume: number;\n    /**\n     * Amount for additional parameter (A) for measuring loads in alternative units of measurement.\n     */\n    capacity_a: number;\n    /**\n     * Amount for additional parameter (B) for measuring loads in alternative units of measurement.\n     */\n    capacity_b: number;\n    /**\n     * Amount for additional parameter (C) for measuring loads in alternative units of measurement.\n     */\n    capacity_c: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Capacity characteristics.\n */\nexport interface CapacityStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Weight in kilograms.\n     */\n    mass?: number;\n    /**\n     * Volume in cubic meters.\n     */\n    volume?: number;\n    /**\n     * Additional parameter (A) for measuring cargoes and boxes in alternative units. For example, to account for cargo in pieces (this parameter is equal to one for a cargo and the maximum number of cargo to hold for a box). \n     */\n    capacity_a?: number;\n    /**\n     * Additional parameter (B) for measuring cargoes and boxes in alternative units. \n     */\n    capacity_b?: number;\n    /**\n     * Additional parameter (C) for measuring cargoes and boxes in alternative units. \n     */\n    capacity_c?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Types of actions with cargo:   * `ADD` - moving cargo into the box   * `REMOVE` - moving cargo from the box \n */\nexport enum CargoActionTypeStudio {\n    ADD = 'ADD',\n    REMOVE = 'REMOVE'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The ability of the cargo to rotate in 90 degree increments around the axes:   * `ALL` - any axes.   * `YAW` - around the Z axis.   * `PITCH` - around the Y axis.   * `ROLL` - around the X axis. \n */\nexport enum CargoRotationTypeStudio {\n    ALL = 'ALL',\n    YAW = 'YAW',\n    PITCH = 'PITCH',\n    ROLL = 'ROLL'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service availability result.\n */\nexport interface CheckResultStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The current health indicator of the service.   * `0.0` means the service is not ready to perform tasks.   * `1.0` means the service is fully ready to perform tasks. \n     */\n    health: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Penalty for violation of compatibility.\n */\nexport interface CompatibilityPenaltyStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Tag used to determine [compatibility](#section/Description/Compatibilities).\n     */\n    tag: string;\n    /**\n     * Penalty for violation of compatibility for the specified tag. \n     */\n    penalty: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Entity type. Defines the source object with attributes and the target table. \n */\nexport enum CustomfieldEntityTypeStudio {\n    LOCATION = 'LOCATION',\n    ORDER = 'ORDER',\n    DEMAND = 'DEMAND',\n    PERFORMER = 'PERFORMER',\n    PERFORMER_SHIFT = 'PERFORMER_SHIFT',\n    TRANSPORT = 'TRANSPORT',\n    TRANSPORT_SHIFT = 'TRANSPORT_SHIFT',\n    HARDLINK = 'HARDLINK',\n    TRIP = 'TRIP',\n    FACT = 'FACT',\n    TRIP_STOP = 'TRIP_STOP'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Additional time for the execution of the application by a certain performer. \n */\nexport interface DemandExtraDurationStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The key of the ticket whose events need to increase the execution time.\n     */\n    demand_key: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    additional_duration: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Demand types:   * `PICKUP` - loading   * `DROP` - unloading   * `WORK` - work at the location   * `PICKUP_TO_BOX` - loading to box   * `DROP_FROM_BOX` - unloading from box \n */\nexport enum DemandTypeStudio {\n    PICKUP = 'PICKUP',\n    DROP = 'DROP',\n    WORK = 'WORK',\n    PICKUP_TO_BOX = 'PICKUP_TO_BOX',\n    DROP_FROM_BOX = 'DROP_FROM_BOX'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Error type:   * `INCONSISTENT_REFERENCE` - bad reference key    * `UNIQUE_IDS_VIOLATION` - all keys must be unique   * `INVALID_ROUTING_MATRIX` - bad routing matrix dimension   * `INVALID_GEO_PROVIDER` - bad geo provider   * `COMPATIBILITY_CARGO_BOX` - no cargo is compatible with any box   * `COMPATIBILITY_TRANSPORT_PERFORMER` - no transport is compatible with any performer   * `COMPATIBILITY_TRANSPORT_LOCATION` - no transport is compatible with any location   * `COMPATIBILITY_ORDER_PERFORMER` - no order is compatible with any performer   * `INCONSISTENT_HARDLINK` - essence key must be only in one hardlink   * `PLANNING_HORIZON_EXCEEDED` -  planning horizon exceeded (difference between earliest and latest timestamp in dataset)   * `MEANINGLESS_RESTRICTIONS` - the specified restrictions do not make sense   * `LOCATION_LIMITS_VIOLATION` - the time windows of the limitation must not overlap and their union must match the location availability window `work_window`; if the `min_cargos`/`min_transports` limitation is set, then the `max_cargos`/`max_transports` limitation must be set; the `min_cargos`/`min_transports` limits must be less than all the `max_cargos`/`max_transports` limits   * `TOO_MANY_WARNINGS` - the number of warnings is greater than 15001 \n */\nexport enum EntityErrorTypeStudio {\n    INCONSISTENT_REFERENCE = 'INCONSISTENT_REFERENCE',\n    UNIQUE_IDS_VIOLATION = 'UNIQUE_IDS_VIOLATION',\n    INVALID_ROUTING_MATRIX = 'INVALID_ROUTING_MATRIX',\n    INVALID_GEO_PROVIDER = 'INVALID_GEO_PROVIDER',\n    COMPATIBILITY_CARGO_BOX = 'COMPATIBILITY_CARGO_BOX',\n    COMPATIBILITY_TRANSPORT_PERFORMER = 'COMPATIBILITY_TRANSPORT_PERFORMER',\n    COMPATIBILITY_TRANSPORT_LOCATION = 'COMPATIBILITY_TRANSPORT_LOCATION',\n    COMPATIBILITY_ORDER_PERFORMER = 'COMPATIBILITY_ORDER_PERFORMER',\n    INCONSISTENT_HARDLINK = 'INCONSISTENT_HARDLINK',\n    PLANNING_HORIZON_EXCEEDED = 'PLANNING_HORIZON_EXCEEDED',\n    MEANINGLESS_RESTRICTIONS = 'MEANINGLESS_RESTRICTIONS',\n    LOCATION_LIMITS_VIOLATION = 'LOCATION_LIMITS_VIOLATION',\n    TOO_MANY_WARNINGS = 'TOO_MANY_WARNINGS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Entity type.\n */\nexport enum EntityTypeStudio {\n    TASK = 'TASK',\n    SETTINGS = 'SETTINGS',\n    ORDER = 'ORDER',\n    ORDER_LINK = 'ORDER_LINK',\n    PERFORMER = 'PERFORMER',\n    PERFORMER_LINK = 'PERFORMER_LINK',\n    TRANSPORT = 'TRANSPORT',\n    TRANSPORT_LINK = 'TRANSPORT_LINK',\n    HARDLINK = 'HARDLINK',\n    HARDLINK_LINK = 'HARDLINK_LINK',\n    LOCATION = 'LOCATION',\n    LOCATION_LINK = 'LOCATION_LINK',\n    BOX = 'BOX',\n    BOX_LINK = 'BOX_LINK',\n    TRIP = 'TRIP',\n    TRIP_LINK = 'TRIP_LINK',\n    CARGO = 'CARGO',\n    CARGO_LINK = 'CARGO_LINK',\n    DEMAND = 'DEMAND',\n    DEMAND_LINK = 'DEMAND_LINK',\n    EVENT = 'EVENT',\n    EVENT_LINK = 'EVENT_LINK',\n    PERFORMER_SHIFT = 'PERFORMER_SHIFT',\n    PERFORMER_SHIFT_LINK = 'PERFORMER_SHIFT_LINK',\n    TRANSPORT_SHIFT = 'TRANSPORT_SHIFT',\n    TRANSPORT_SHIFT_LINK = 'TRANSPORT_SHIFT_LINK',\n    FACT = 'FACT',\n    FACT_LINK = 'FACT_LINK'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Warning type:   * `NO_AVAILABLE_TRANSPORT` - the order cannot be fulfilled, since there is no available (by shift limitations) transport   * `NO_AVAILABLE_PERFORMER` - the order cannot be fulfilled, since there is not a single available (by shift limitations) performer   * `NO_COMPATIBLE_TRANSPORT` - the order cannot be completed, since there is not a single compatible (in terms of capacity and \\\\ or compatibility tags) transport   * `NO_COMPATIBLE_PERFORMER` - the order cannot be completed, since there is not a single compatible (by compatibility tags) performer   * `NO_AVAILABLE_ORDER_FOR_TRANSPORT` - the transport is useless, since there are no compatible (by capacity and/or compatibility tags) orders   * `NO_AVAILABLE_ORDER_FOR_PERFORMER` - the performer is useless, since there are no compatible (by capacity and/or compatibility tags) orders   * `NO_COMPATIBLE_ORDER_FOR_TRANSPORT` - the transport is useless, since there are no available (by shift restrictions) orders   * `NO_COMPATIBLE_ORDER_FOR_PERFORMER` - the performer is useless, since there are no available (by shift restrictions) orders   * `PICKUP_AND_DROP_VIOLATION` - for each cargo within the order there must be exactly one loading and exactly one unloading (except for `PICKUP_TO_BOX` and `DROP_FROM_BOX` orders)   * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER` - for each cargo within the order, loading must go before unloading (`precedence_in_order`)   * `PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP` - conflicting requirements for the precedence of orders were specified (`precedence_in_trip`)   * `VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER` - requirements for the precedence of orders in the trip (`precedence_in_trip`) and in the order (` precedence_in_order`) contradict each other   * `TIME_WINDOW_VIOLATION` - the start time of the time window is later than the end time of the window or time window exceeds the maximum allowed   * `DURATION_VIOLATION` - duration does not correspond to the allowed interval   * `ORDER_WINDOWS_INTERSECTION_VIOLATION` - soft windows should not go beyond the boundaries of the hard window   * `PERFORMER_SHIFTS_INTERSECTION_VIOLATION` - time ranges of the performer\\'s work shifts must not overlap, the beginning of the next window cannot be equal to the end of the previous one   * `TRANSPORT_SHIFTS_INTERSECTION_VIOLATION` - time ranges of transport work shifts should not overlap, the beginning of the next window cannot be equal to the end of the previous one   * `LOCATION_WINDOWS_INTERSECTION_VIOLATION` - time ranges of working windows of one location should not intersect, the beginning of the next window cannot be equal to the end of the previous one   * `NO_TRANSPORT_BOXES` - if there are orders with cargo, then the transport must have at least one box   * `MAX_CAPACITY_VIOLATION` - `max_capacity` limit exceeds the total capacity of all boxes or set for only one box or less than the capacity of some box   * `MAX_BOXES_VIOLATION` - limit `max_boxes` is greater than or equal to the total number of boxes or specified for one box or equal to zero   * `TOO_MANY_CARGOS_FOR_DROP_VIOLATION` - the number of loads for an order of the` DROP` / `DROP_FROM_BOX` type must be no more than one   * `EMPTY_CARGOES_LIST` - empty list of loads for orders of type `DROP` / `DROP_FROM_BOX` / `PICKUP` / `PICKUP_TO_BOX`   * `CARGO_WORK_VIOLATION` - for a `WORK` order, the cargo list must be empty   * `GEODATA_TIME_WINDOW_VIOLATION` - the planning horizon exceeds the maximum available value   * `SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE` - the working window `working_window` of the change of the artist does not lie entirely inside the window of availability `availability_window`   * `DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW` - the duration of the event does not fit into the hard time window   * `DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - the duration of the event does not fit into the soft time window   * `EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW` - additional time for demand execution does not fit into the soft time window   * `MAX_CALCULATION_TIME_VIOLATION` - the maximum allowable calculation time has been exceeded   * `MAX_WAITING_TIME_VIOLATION` - the maximum allowable waiting time in queue has been exceeded   * `INVALID_HARDLINK` - it is impossible to assign an order with demands with the `WORK` type to transport   * `CARGO_BOX_VIOLATION` - for requests of all types except `DROP_FROM_BOX` the key of the box where the cargo is located must be empty   * `CARGO_MULTIBOX_VIOLATION` - for an order of type `DROP_FROM_BOX` the indicated cargoes are in boxes of different vehicles   * `CARGO_CAPACITY_VIOLATION` - the specified cargo on board exceeds the size of the box in which it is located   * `CARGO_ORDER_VIOLATION` - the cargo specified in the order is not present in orders   * `FEATURE_LIFETIME_VIOLATION` - feature time windows intersect with each other or the working window `working_window` for changing the performer or transport does not intersect with the feature time window   * `QUOTA_EXCEEDED` - service quota exceeded   * `MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED` - the resulting solution does not satisfy the `max_locations_limits_penalty` requirement   * `REMOVED_ITEMS_NOT_EMPTY` - during data validation, items were removed from the original dataset, the list of removed items is in the `removed_items` object   * `INCOMPATIBLE_REQUIREMENTS` - incompatible requirements are specified: location load accounting and soft window optimization. \n */\nexport enum EntityWarningTypeStudio {\n    NO_AVAILABLE_TRANSPORT = 'NO_AVAILABLE_TRANSPORT',\n    NO_AVAILABLE_PERFORMER = 'NO_AVAILABLE_PERFORMER',\n    NO_COMPATIBLE_TRANSPORT = 'NO_COMPATIBLE_TRANSPORT',\n    NO_COMPATIBLE_PERFORMER = 'NO_COMPATIBLE_PERFORMER',\n    NO_AVAILABLE_ORDER_FOR_TRANSPORT = 'NO_AVAILABLE_ORDER_FOR_TRANSPORT',\n    NO_AVAILABLE_ORDER_FOR_PERFORMER = 'NO_AVAILABLE_ORDER_FOR_PERFORMER',\n    NO_COMPATIBLE_ORDER_FOR_TRANSPORT = 'NO_COMPATIBLE_ORDER_FOR_TRANSPORT',\n    NO_COMPATIBLE_ORDER_FOR_PERFORMER = 'NO_COMPATIBLE_ORDER_FOR_PERFORMER',\n    PICKUP_AND_DROP_VIOLATION = 'PICKUP_AND_DROP_VIOLATION',\n    PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER = 'PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_ORDER',\n    PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP = 'PICKUP_AND_DROP_VIOLATION_PRECEDENCE_IN_TRIP',\n    VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER = 'VIOLATION_PRECEDENCE_IN_TRIP_AND_ORDER',\n    TIME_WINDOW_VIOLATION = 'TIME_WINDOW_VIOLATION',\n    DURATION_VIOLATION = 'DURATION_VIOLATION',\n    ORDER_WINDOWS_INTERSECTION_VIOLATION = 'ORDER_WINDOWS_INTERSECTION_VIOLATION',\n    PERFORMER_SHIFTS_INTERSECTION_VIOLATION = 'PERFORMER_SHIFTS_INTERSECTION_VIOLATION',\n    TRANSPORT_SHIFTS_INTERSECTION_VIOLATION = 'TRANSPORT_SHIFTS_INTERSECTION_VIOLATION',\n    LOCATION_WINDOWS_INTERSECTION_VIOLATION = 'LOCATION_WINDOWS_INTERSECTION_VIOLATION',\n    NO_TRANSPORT_BOXES = 'NO_TRANSPORT_BOXES',\n    MAX_CAPACITY_VIOLATION = 'MAX_CAPACITY_VIOLATION',\n    MAX_BOXES_VIOLATION = 'MAX_BOXES_VIOLATION',\n    TOO_MANY_CARGOS_FOR_DROP_VIOLATION = 'TOO_MANY_CARGOS_FOR_DROP_VIOLATION',\n    EMPTY_CARGOES_LIST = 'EMPTY_CARGOES_LIST',\n    CARGO_WORK_VIOLATION = 'CARGO_WORK_VIOLATION',\n    GEODATA_TIME_WINDOW_VIOLATION = 'GEODATA_TIME_WINDOW_VIOLATION',\n    SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE = 'SHIFT_RESTRICTIONS_COULD_BE_MORE_PRECISE',\n    DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW = 'DURATION_DOES_NOT_FIT_INTO_HARD_WINDOW',\n    DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW = 'DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW',\n    EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW = 'EXTRA_DURATION_DOES_NOT_FIT_INTO_SOFT_WINDOW',\n    MAX_CALCULATION_TIME_VIOLATION = 'MAX_CALCULATION_TIME_VIOLATION',\n    MAX_WAITING_TIME_VIOLATION = 'MAX_WAITING_TIME_VIOLATION',\n    INVALID_HARDLINK = 'INVALID_HARDLINK',\n    CARGO_BOX_VIOLATION = 'CARGO_BOX_VIOLATION',\n    CARGO_MULTIBOX_VIOLATION = 'CARGO_MULTIBOX_VIOLATION',\n    CARGO_CAPACITY_VIOLATION = 'CARGO_CAPACITY_VIOLATION',\n    CARGO_ORDER_VIOLATION = 'CARGO_ORDER_VIOLATION',\n    FEATURE_LIFETIME_VIOLATION = 'FEATURE_LIFETIME_VIOLATION',\n    QUOTA_EXCEEDED = 'QUOTA_EXCEEDED',\n    MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED = 'MAX_LOCATIONS_LIMITS_PENALTY_EXCEEDED',\n    REMOVED_ITEMS_NOT_EMPTY = 'REMOVED_ITEMS_NOT_EMPTY',\n    INCOMPATIBLE_REQUIREMENTS = 'INCOMPATIBLE_REQUIREMENTS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Experiment.\n */\nexport interface ExperimentNeighborsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The key of the previous experiment is in the same folder.\n     */\n    previous_experiment_key?: string | null;\n    /**\n     * The key of the next experiment is in the same folder.\n     */\n    next_experiment_key?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Experiment description.\n */\nexport interface ExperimentSpecificationStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Experiment name.\n     */\n    name: string;\n    /**\n     * Experiment comment.\n     */\n    comment: string | null;\n    /**\n     * Key, unique identifier.\n     */\n    folder_key: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Settings for using external extensions to adjust calculations.\n */\nexport interface ExtensionSettingsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Use a third-party calculation adjuster.\n     */\n    enable_extension?: boolean;\n    /**\n     * The address of an external service implementing the Universal Extension API.\n     */\n    extension_url?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Possible order (demand) fact types:   * `NEW_LOCATION` - the performer changed his location during the trip   * `ORDER_DONE` - the performer has finished fulfilling the order (or the order has been cancelled), the cargo associated with the order is no longer in the transport box   * `DEMAND_START` - performer started to fulfill the demand   * `DEMAND_DONE` - performer finished to fulfill the demand \n */\nexport enum FactTypeStudio {\n    NEW_LOCATION = 'NEW_LOCATION',\n    ORDER_DONE = 'ORDER_DONE',\n    DEMAND_START = 'DEMAND_START',\n    DEMAND_DONE = 'DEMAND_DONE'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The name of the column in the table with folders. \n */\nexport enum FilesystemColumnTypeStudio {\n    NAME = 'NAME',\n    OWNER_COMPANY_KEY = 'OWNER_COMPANY_KEY',\n    OWNER_USERNAME = 'OWNER_USERNAME',\n    CREATION_DATE = 'CREATION_DATE',\n    FOLDERS_COUNT = 'FOLDERS_COUNT',\n    FILES_COUNT = 'FILES_COUNT'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Current folder counters. \n */\nexport interface FolderCountersStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The number of subfolders.\n     */\n    folders_count: number;\n    /**\n     * The number of files.\n     */\n    files_count: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Folder specification.\n */\nexport interface FolderSpecificationStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Key, unique identifier.\n     */\n    parent_key?: string | null;\n    /**\n     * Folder name.\n     */\n    name: string;\n    /**\n     * Folder comment.\n     */\n    comment?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Element type:   * `ROOT` - root object   * `FOLDER` - folder \n */\nexport enum FolderTypeStudio {\n    ROOT = 'ROOT',\n    FOLDER = 'FOLDER'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Geographical point.\n */\nexport interface GeopointStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Latitude in degrees.\n     */\n    latitude: number;\n    /**\n     * Longitude in degrees.\n     */\n    longitude: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Type of goal entity. It can be an order or a performer\\\\transport shift. \n */\nexport enum HardlinkElementTypeStudio {\n    ORDER = 'ORDER',\n    PERFORMER_SHIFT = 'PERFORMER_SHIFT',\n    TRANSPORT_SHIFT = 'TRANSPORT_SHIFT'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Sample of loaded data - input task or input task + calculation result.\n */\nexport enum ImportSampleStudio {\n    TASK = 'TASK',\n    FULL = 'FULL'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service - source of data import.\n */\nexport enum ImportSourceStudio {\n    ACCOUNT = 'ACCOUNT',\n    ADMIN = 'ADMIN'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Link to essence.\n */\nexport interface LinkedEssenceStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence key, unique identifier.\n     */\n    essence_key: string;\n    /**\n     * Essence type.\n     */\n    essence_type: LinkedEssenceStudioEssenceTypeEnum;\n}\nexport enum LinkedEssenceStudioEssenceTypeEnum {\n    LOCATION = 'LOCATION',\n    ORDER = 'ORDER',\n    ASSIGNED_ORDER = 'ASSIGNED_ORDER',\n    PERFORMER = 'PERFORMER',\n    TRANSPORT = 'TRANSPORT',\n    HARDLINK = 'HARDLINK',\n    TRIP = 'TRIP',\n    FACT = 'FACT'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Location [compatibilities](#section/Description/Compatibilities). \n */\nexport interface LocationCompatibilitiesStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    transport_restrictions?: Array<string>;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Limiting the location\\'s ability to serve transport. \n */\nexport interface LocationTransportsLimitStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The number of transport serviced on average during a specified time window.\n     */\n    count: number;\n    /**\n     * Penalty for violating the `count`.\n     */\n    penalty: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Order [compatibilities](#section/Description/Compatibilities). \n */\nexport interface OrderCompatibilitiesStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    order_features?: Array<string>;\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    order_restrictions?: Array<string>;\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    performer_restrictions?: Array<string>;\n    /**\n     * A list of tags that define a property or requirement. \n     */\n    performer_blacklist?: Array<string>;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The paid period of time is an integral part of the tariff.\n */\nexport interface PerformerTariffConstraintStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Length of the paid period according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    stage_length?: string;\n    /**\n     * Cost within the paid period, monetary unit per second of work. \n     */\n    cost_per_unit?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Information about removed essences.\n */\nexport interface RemovedItemsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essences keys list.\n     */\n    location_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    location_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    order_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    order_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    performer_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    performer_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    transport_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    transport_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    hardlink_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    hardlink_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    fact_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    fact_keys_count?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Replan strategy.\n */\nexport interface ReplanStrategyStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Activate trip actions reorder.\n     */\n    reorder?: boolean;\n    /**\n     * Activate new orders planning.\n     */\n    plan_new_orders?: boolean;\n    /**\n     * Activate new trips creation.\n     */\n    create_new_trips?: boolean;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The condition for the onset and characteristics of a rest.\n */\nexport interface RestStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    relocating_duration_sum: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    operating_duration_sum?: string | null;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    duration: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Data error by schema.\n */\nexport interface SchemaErrorStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Target entity identifier.\n     */\n    entity: string | null;\n    /**\n     * Error message.\n     */\n    message: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service name.\n */\nexport enum ServiceStudio {\n    UNIVERSAL = 'UNIVERSAL',\n    ROUTING = 'ROUTING',\n    ACCOUNT = 'ACCOUNT',\n    ADMIN = 'ADMIN',\n    STUDIO = 'STUDIO',\n    MONITOR = 'MONITOR',\n    PACKER = 'PACKER',\n    AGRO = 'AGRO'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * List of setting keys with indicating the key of the currently active setting.\n */\nexport interface SettingsKeyListStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * List of setting keys.\n     */\n    settings_keys: Array<string>;\n    /**\n     * Key, unique identifier.\n     */\n    active_key?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The name of the additional column in the table. Used for filters of the `CUSTOMFIELDS` type. \n */\nexport enum TableCustomfieldsColumnTypeStudio {\n    DATETIME_1 = 'DATETIME_1',\n    DATETIME_2 = 'DATETIME_2',\n    DATETIME_3 = 'DATETIME_3',\n    DATETIME_4 = 'DATETIME_4',\n    DATETIME_5 = 'DATETIME_5',\n    INT_1 = 'INT_1',\n    INT_2 = 'INT_2',\n    INT_3 = 'INT_3',\n    INT_4 = 'INT_4',\n    INT_5 = 'INT_5',\n    FLOAT_1 = 'FLOAT_1',\n    FLOAT_2 = 'FLOAT_2',\n    FLOAT_3 = 'FLOAT_3',\n    FLOAT_4 = 'FLOAT_4',\n    FLOAT_5 = 'FLOAT_5',\n    DURATION_1 = 'DURATION_1',\n    DURATION_2 = 'DURATION_2',\n    DURATION_3 = 'DURATION_3',\n    DURATION_4 = 'DURATION_4',\n    DURATION_5 = 'DURATION_5',\n    BOOL_1 = 'BOOL_1',\n    BOOL_2 = 'BOOL_2',\n    BOOL_3 = 'BOOL_3',\n    BOOL_4 = 'BOOL_4',\n    BOOL_5 = 'BOOL_5',\n    STRING_1 = 'STRING_1',\n    STRING_2 = 'STRING_2',\n    STRING_3 = 'STRING_3',\n    STRING_4 = 'STRING_4',\n    STRING_5 = 'STRING_5'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Custom fields for table.\n */\nexport interface TableCustomfieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`. \n     */\n    datetime_1?: string | null;\n    /**\n     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`. \n     */\n    datetime_2?: string | null;\n    /**\n     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`. \n     */\n    datetime_3?: string | null;\n    /**\n     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`. \n     */\n    datetime_4?: string | null;\n    /**\n     * A custom field containing date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. Supported filter type is `DATETIME_RANGE`. \n     */\n    datetime_5?: string | null;\n    /**\n     * A custom field containing an integer value. Supported filter type is `INT_RANGE`. \n     */\n    int_1?: number | null;\n    /**\n     * A custom field containing an integer value. Supported filter type is `INT_RANGE`. \n     */\n    int_2?: number | null;\n    /**\n     * A custom field containing an integer value. Supported filter type is `INT_RANGE`. \n     */\n    int_3?: number | null;\n    /**\n     * A custom field containing an integer value. Supported filter type is `INT_RANGE`. \n     */\n    int_4?: number | null;\n    /**\n     * A custom field containing an integer value. Supported filter type is `INT_RANGE`. \n     */\n    int_5?: number | null;\n    /**\n     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`. \n     */\n    float_1?: number | null;\n    /**\n     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`. \n     */\n    float_2?: number | null;\n    /**\n     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`. \n     */\n    float_3?: number | null;\n    /**\n     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`. \n     */\n    float_4?: number | null;\n    /**\n     * A custom field containing a floating point value. Supported filter type is `FLOAT_RANGE`. \n     */\n    float_5?: number | null;\n    /**\n     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`. \n     */\n    duration_1?: string | null;\n    /**\n     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`. \n     */\n    duration_2?: string | null;\n    /**\n     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`. \n     */\n    duration_3?: string | null;\n    /**\n     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`. \n     */\n    duration_4?: string | null;\n    /**\n     * A custom field containing the duration of the time period. Supported filter type is `DURATION_RANGE`. \n     */\n    duration_5?: string | null;\n    /**\n     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`. \n     */\n    bool_1?: boolean | null;\n    /**\n     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`. \n     */\n    bool_2?: boolean | null;\n    /**\n     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`. \n     */\n    bool_3?: boolean | null;\n    /**\n     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`. \n     */\n    bool_4?: boolean | null;\n    /**\n     * A custom field containing a boolean value. Supported filter type is `BOOL_LIST`. \n     */\n    bool_5?: boolean | null;\n    /**\n     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`. \n     */\n    string_1?: string | null;\n    /**\n     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`. \n     */\n    string_2?: string | null;\n    /**\n     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`. \n     */\n    string_3?: string | null;\n    /**\n     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`. \n     */\n    string_4?: string | null;\n    /**\n     * A custom field containing an string value. Supported filter type is `STRING_SEARCH`. \n     */\n    string_5?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Data statistics.\n */\nexport interface TableDataStatsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Locations count.\n     */\n    locations: number;\n    /**\n     * Orders count.\n     */\n    orders: number;\n    /**\n     * Performers count.\n     */\n    performers: number;\n    /**\n     * Transports count.\n     */\n    transports: number;\n    /**\n     * Hardlinks count.\n     */\n    hardlinks: number;\n    /**\n     * Trips count.\n     */\n    trips: number;\n    /**\n     * Facts count.\n     */\n    facts: number;\n    /**\n     * Using external routing.\n     */\n    external_routing: boolean;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Experiment table column name. \n */\nexport enum TableExperimentColumnTypeStudio {\n    EDIT_DATE = 'EDIT_DATE',\n    CREATION_DATE = 'CREATION_DATE',\n    CALCULATION_STATE = 'CALCULATION_STATE',\n    UNPLANNED_ORDER_KEYS_COUNT = 'UNPLANNED_ORDER_KEYS_COUNT',\n    COST = 'COST'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Fact table column name. \n */\nexport enum TableFactColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    TYPE = 'TYPE',\n    ORDER_KEY = 'ORDER_KEY',\n    DEMAND_KEY = 'DEMAND_KEY',\n    PERFORMER_KEY = 'PERFORMER_KEY',\n    LOCATION_KEY = 'LOCATION_KEY',\n    TRIP_KEY = 'TRIP_KEY',\n    TRIP_NAME = 'TRIP_NAME',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Fact fields for table.\n */\nexport interface TableFactFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableFactFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    /**\n     * Fact type.\n     */\n    type?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    order_key?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    demand_key?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    performer_key?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    location_key?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableFactFieldsStudioEssenceTypeEnum {\n    FACT = 'FACT'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Boolean list filter.\n */\nexport interface TableFilterBoolListStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A list of booleans.\n     */\n    elements?: Array<boolean>;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Time window.\n */\nexport interface TableFilterDatetimeRangeStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. \n     */\n    from?: string | null;\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format. \n     */\n    to?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Duration range.\n */\nexport interface TableFilterDurationRangeStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    from?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    to?: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Enum list filter.\n */\nexport interface TableFilterEnumListStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A list of strings.\n     */\n    elements?: Array<string | null>;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Float range.\n */\nexport interface TableFilterFloatRangeStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Left side.\n     */\n    from?: number;\n    /**\n     * Right side.\n     */\n    to?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Integer range.\n */\nexport interface TableFilterIntRangeStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Left side.\n     */\n    from?: number;\n    /**\n     * Right side.\n     */\n    to?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * String list filter.\n */\nexport interface TableFilterStringListStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * A list of strings.\n     */\n    elements?: Array<string | null>;\n    /**\n     * Exact match (`false`) or search by occurrence of a sublist (`true`).\n     */\n    strict?: boolean;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * String search filter.\n */\nexport interface TableFilterStringSearchStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * String for search.\n     */\n    text?: string | null;\n    /**\n     * Exact match (`false`) or search by occurrence of a substring (`true`).\n     */\n    strict?: boolean;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Filter type:   * `DATETIME_RANGE` - intersection of the time interval   * `INT_RANGE` - getting a number inside an integer segment   * `FLOAT_RANGE` - hitting the number inside the float segment   * `DURATION_RANGE` - hitting inside the duration segment   * `BOOL_LIST` - exact match of boolean values   * `ENUM_LIST` - exact match of string values from enum   * `STRING_LIST` - partial match of a subset of string values   * `STRING_SEARCH` - partial match of a string \n */\nexport enum TableFilterTypeStudio {\n    DATETIME_RANGE = 'DATETIME_RANGE',\n    INT_RANGE = 'INT_RANGE',\n    FLOAT_RANGE = 'FLOAT_RANGE',\n    DURATION_RANGE = 'DURATION_RANGE',\n    BOOL_LIST = 'BOOL_LIST',\n    ENUM_LIST = 'ENUM_LIST',\n    STRING_LIST = 'STRING_LIST',\n    STRING_SEARCH = 'STRING_SEARCH'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Hardlink table column name. \n */\nexport enum TableHardlinkColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    ELEMENT_TYPE = 'ELEMENT_TYPE',\n    ELEMENTS_COUNT = 'ELEMENTS_COUNT',\n    TRIP_KEY = 'TRIP_KEY',\n    TRIP_NAME = 'TRIP_NAME',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Hardlink and element fields for table.\n */\nexport interface TableHardlinkFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableHardlinkFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    /**\n     * Element type. For an hardlink, a list of types is specified separated by commas. \n     */\n    element_type?: string | null;\n    /**\n     * Elements count.\n     */\n    elements_count?: number;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableHardlinkFieldsStudioEssenceTypeEnum {\n    HARDLINK = 'HARDLINK',\n    ELEMENT = 'ELEMENT'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Detail counters by list.\n */\nexport interface TableListCountersDetailStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Count.\n     */\n    total: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the table with locations:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag   * `WORKING_TIME` - working time window   * `ATTRIBUTES` - list of attributes in one line   * `CUSTOMFIELDS` - custom table fields \n */\nexport enum TableLocationColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    WORKING_TIME = 'WORKING_TIME',\n    NAME = 'NAME',\n    ATTRIBUTES = 'ATTRIBUTES',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Location fields for table.\n */\nexport interface TableLocationFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableLocationFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    working_time?: BasicTimeWindowStudio | null;\n    /**\n     * Name, information field.\n     */\n    name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableLocationFieldsStudioEssenceTypeEnum {\n    LOCATION = 'LOCATION',\n    WORK_WINDOW = 'WORK_WINDOW'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the table with orders:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag \n */\nexport enum TableOrderColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    STATE = 'STATE',\n    TYPE = 'TYPE',\n    HARD_TIME_WINDOW = 'HARD_TIME_WINDOW',\n    SOFT_TIME_WINDOW = 'SOFT_TIME_WINDOW',\n    GENERAL_DROP_TIME_WINDOW = 'GENERAL_DROP_TIME_WINDOW',\n    GENERAL_PICKUP_TIME_WINDOW = 'GENERAL_PICKUP_TIME_WINDOW',\n    GENERAL_WORK_TIME_WINDOW = 'GENERAL_WORK_TIME_WINDOW',\n    REWARD = 'REWARD',\n    MASS = 'MASS',\n    VOLUME = 'VOLUME',\n    CAPACITY_A = 'CAPACITY_A',\n    CAPACITY_B = 'CAPACITY_B',\n    CAPACITY_C = 'CAPACITY_C',\n    ORDER_FEATURES = 'ORDER_FEATURES',\n    ORDER_RESTRICTIONS = 'ORDER_RESTRICTIONS',\n    PERFORMER_RESTRICTIONS = 'PERFORMER_RESTRICTIONS',\n    PERFORMER_BLACKLIST = 'PERFORMER_BLACKLIST',\n    WIDTH = 'WIDTH',\n    HEIGHT = 'HEIGHT',\n    LENGTH = 'LENGTH',\n    ROTATION = 'ROTATION',\n    BOX_RESTRICTIONS = 'BOX_RESTRICTIONS',\n    CARGO_FEATURES = 'CARGO_FEATURES',\n    CARGO_RESTRICTIONS = 'CARGO_RESTRICTIONS',\n    DEMANDS_COUNT = 'DEMANDS_COUNT',\n    TRIP_KEY = 'TRIP_KEY',\n    TRIP_NAME = 'TRIP_NAME',\n    NAME = 'NAME',\n    ATTRIBUTES = 'ATTRIBUTES',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { BasicStateStudio } from './basicState';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Order and demand fields for table.\n */\nexport interface TableOrderFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableOrderFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    state?: BasicStateStudio;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    type?: string | null;\n    hard_time_window?: BasicTimeWindowStudio | null;\n    soft_time_window?: BasicTimeWindowStudio | null;\n    general_drop_time_window?: BasicTimeWindowStudio | null;\n    general_pickup_time_window?: BasicTimeWindowStudio | null;\n    general_work_time_window?: BasicTimeWindowStudio | null;\n    /**\n     * The total reward for orders fulfillment.\n     */\n    reward?: number;\n    /**\n     * Weight in kilograms.\n     */\n    mass?: number;\n    /**\n     * Volume in cubic meters.\n     */\n    volume?: number;\n    /**\n     * Additional capacity parameter (A) for measuring cargoes and boxes in alternative units. For example, to account for cargo in pieces (this parameter is equal to one for a cargo and the maximum number of cargo to hold for a box). \n     */\n    capacity_a?: number;\n    /**\n     * Additional capacity parameter (B) for measuring cargoes and boxes in alternative units. \n     */\n    capacity_b?: number;\n    /**\n     * Additional capacity parameter (C) for measuring cargoes and boxes in alternative units. \n     */\n    capacity_c?: number;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    order_features?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    order_restrictions?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    performer_restrictions?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    performer_blacklist?: string | null;\n    /**\n     * Width in meters, used to check the transport box capacity.\n     */\n    width?: number;\n    /**\n     * Height in meters, used to check the transport box capacity.\n     */\n    height?: number;\n    /**\n     * Length in meters, used to check the transport box capacity.\n     */\n    length?: number;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    rotation?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    box_restrictions?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    cargo_features?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    cargo_restrictions?: string | null;\n    /**\n     * Demands count.\n     */\n    demands_count?: number;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Name, information field.\n     */\n    name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableOrderFieldsStudioEssenceTypeEnum {\n    ORDER = 'ORDER',\n    DEMAND = 'DEMAND'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the table with performers:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag \n */\nexport enum TablePerformerColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    WORKING_TIME = 'WORKING_TIME',\n    AVAILABILITY_TIME = 'AVAILABILITY_TIME',\n    TRIP_KEY = 'TRIP_KEY',\n    TRIP_NAME = 'TRIP_NAME',\n    LOCATION_KEYS = 'LOCATION_KEYS',\n    PERFORMER_FEATURES = 'PERFORMER_FEATURES',\n    TRANSPORT_RESTRICTIONS = 'TRANSPORT_RESTRICTIONS',\n    TRIPS_COUNT = 'TRIPS_COUNT',\n    NAME = 'NAME',\n    ATTRIBUTES = 'ATTRIBUTES',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Performer and shift fields for table.\n */\nexport interface TablePerformerFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TablePerformerFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    working_time?: BasicTimeWindowStudio | null;\n    availability_time?: BasicTimeWindowStudio | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    location_keys?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    performer_features?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    transport_restrictions?: string | null;\n    /**\n     * The number of trips in which the performer participates (for a shift - 0 or 1).\n     */\n    trips_count?: number;\n    /**\n     * Name, information field.\n     */\n    name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TablePerformerFieldsStudioEssenceTypeEnum {\n    PERFORMER = 'PERFORMER',\n    PERFORMER_SHIFT = 'PERFORMER_SHIFT'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the transport table:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in calculation   * `PRISTINE` - data change flag \n */\nexport enum TableTransportColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    AVAILABILITY_TIME = 'AVAILABILITY_TIME',\n    TRANSPORT_TYPE = 'TRANSPORT_TYPE',\n    TRIP_KEY = 'TRIP_KEY',\n    TRIP_NAME = 'TRIP_NAME',\n    LOCATION_KEYS = 'LOCATION_KEYS',\n    TRANSPORT_FEATURES = 'TRANSPORT_FEATURES',\n    PERFORMER_RESTRICTIONS = 'PERFORMER_RESTRICTIONS',\n    TRIPS_COUNT = 'TRIPS_COUNT',\n    NAME = 'NAME',\n    ATTRIBUTES = 'ATTRIBUTES',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\nimport { TransportTypeStudio } from './transportType';\n\n\n/**\n * Transport and shift fields for table.\n */\nexport interface TableTransportFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableTransportFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    availability_time?: BasicTimeWindowStudio | null;\n    transport_type?: TransportTypeStudio;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    location_keys?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    transport_features?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    performer_restrictions?: string | null;\n    /**\n     * The number of trips in which the transport participates (for a shift - 0 or 1).\n     */\n    trips_count?: number;\n    /**\n     * Name, information field.\n     */\n    name?: string;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableTransportFieldsStudioEssenceTypeEnum {\n    TRANSPORT = 'TRANSPORT',\n    TRANSPORT_SHIFT = 'TRANSPORT_SHIFT'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the table with trips:   * `ESSENCE_KEY` - entity key   * `ENABLED` - participation in the calculation   * `PRISTINE` - data change flag \n */\nexport enum TableTripColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    ENABLED = 'ENABLED',\n    PRISTINE = 'PRISTINE',\n    TRIP_NAME = 'TRIP_NAME',\n    COST = 'COST',\n    REWARD = 'REWARD',\n    PROFIT = 'PROFIT',\n    DRIVING_TIME = 'DRIVING_TIME',\n    WAITING_TIME = 'WAITING_TIME',\n    BREAK_TIME = 'BREAK_TIME',\n    REST_TIME = 'REST_TIME',\n    WORKING_TIME = 'WORKING_TIME',\n    ARRIVING_TIME = 'ARRIVING_TIME',\n    DEPARTURE_TIME = 'DEPARTURE_TIME',\n    TOTAL_TIME = 'TOTAL_TIME',\n    DISTANCE = 'DISTANCE',\n    TIME_WINDOW = 'TIME_WINDOW',\n    ORDERS_COUNT = 'ORDERS_COUNT',\n    PLAN_ORDERS_COUNT = 'PLAN_ORDERS_COUNT',\n    WAITLIST_ORDERS_COUNT = 'WAITLIST_ORDERS_COUNT',\n    STOPS_COUNT = 'STOPS_COUNT',\n    LOCATIONS_COUNT = 'LOCATIONS_COUNT',\n    CARGO_CAPACITY_RATIO_MASS = 'CARGO_CAPACITY_RATIO_MASS',\n    CARGO_CAPACITY_RATIO_VOLUME = 'CARGO_CAPACITY_RATIO_VOLUME',\n    CARGO_CAPACITY_RATIO_CAPACITY_A = 'CARGO_CAPACITY_RATIO_CAPACITY_A',\n    CARGO_CAPACITY_RATIO_CAPACITY_B = 'CARGO_CAPACITY_RATIO_CAPACITY_B',\n    CARGO_CAPACITY_RATIO_CAPACITY_C = 'CARGO_CAPACITY_RATIO_CAPACITY_C',\n    MAX_TRANSPORT_LOAD_MASS = 'MAX_TRANSPORT_LOAD_MASS',\n    MAX_TRANSPORT_LOAD_VOLUME = 'MAX_TRANSPORT_LOAD_VOLUME',\n    MAX_TRANSPORT_LOAD_CAPACITY_A = 'MAX_TRANSPORT_LOAD_CAPACITY_A',\n    MAX_TRANSPORT_LOAD_CAPACITY_B = 'MAX_TRANSPORT_LOAD_CAPACITY_B',\n    MAX_TRANSPORT_LOAD_CAPACITY_C = 'MAX_TRANSPORT_LOAD_CAPACITY_C',\n    ATTRIBUTES = 'ATTRIBUTES',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Trip\\\\stops fields for table.\n */\nexport interface TableTripFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableTripFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Using essence for calculations.\n     */\n    enabled?: boolean;\n    /**\n     * A flag indicating whether changes to the entity have been made relative to the original data. `true` - means that the data is original and has not been changed. \n     */\n    readonly pristine?: boolean;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Total cost calculated based on the performer\\'s and transport tariffs. \n     */\n    cost?: number;\n    /**\n     * The total reward for orders fulfillment.\n     */\n    reward?: number;\n    /**\n     * The total profit is equal to the difference between the total reward (`reward`) and cost (`cost`). \n     */\n    profit?: number;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    driving_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    waiting_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    break_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    rest_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    working_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    arriving_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    departure_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    total_time?: string;\n    /**\n     * Distance in meters.\n     */\n    distance?: number;\n    time_window?: BasicTimeWindowStudio | null;\n    /**\n     * The total number of planned and assigned orders.\n     */\n    orders_count?: number;\n    /**\n     * The total number of planned orders.\n     */\n    plan_orders_count?: number;\n    /**\n     * The total number of assigned orders.\n     */\n    waitlist_orders_count?: number;\n    /**\n     * The total number of stops (non-unique locations).\n     */\n    stops_count?: number;\n    /**\n     * The total number of unique locations within one trip.\n     */\n    locations_count?: number;\n    /**\n     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.\n     */\n    cargo_capacity_ratio_mass?: number;\n    /**\n     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.\n     */\n    cargo_capacity_ratio_volume?: number;\n    /**\n     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.\n     */\n    cargo_capacity_ratio_capacity_a?: number;\n    /**\n     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.\n     */\n    cargo_capacity_ratio_capacity_b?: number;\n    /**\n     * The ratio of the total additive measures of the transported cargo to the total capacity of the boxes.\n     */\n    cargo_capacity_ratio_capacity_c?: number;\n    /**\n     * The ratio of the maximum load of boxes to the total capacity of boxes.\n     */\n    max_transport_load_mass?: number;\n    /**\n     * The ratio of the maximum load of boxes to the total capacity of boxes.\n     */\n    max_transport_load_volume?: number;\n    /**\n     * The ratio of the maximum load of boxes to the total capacity of boxes.\n     */\n    max_transport_load_capacity_a?: number;\n    /**\n     * The ratio of the maximum load of boxes to the total capacity of boxes.\n     */\n    max_transport_load_capacity_b?: number;\n    /**\n     * The ratio of the maximum load of boxes to the total capacity of boxes.\n     */\n    max_transport_load_capacity_c?: number;\n    /**\n     * Attributes.\n     */\n    attributes?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableTripFieldsStudioEssenceTypeEnum {\n    TRIP = 'TRIP',\n    ROUNDTRIP = 'ROUNDTRIP'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Column name in the table with trip stops:   * `ESSENCE_KEY` - entity key \n */\nexport enum TableTripStopColumnTypeStudio {\n    ESSENCE_KEY = 'ESSENCE_KEY',\n    DRIVING_TIME = 'DRIVING_TIME',\n    WAITING_TIME = 'WAITING_TIME',\n    BREAK_TIME = 'BREAK_TIME',\n    REST_TIME = 'REST_TIME',\n    WORKING_TIME = 'WORKING_TIME',\n    ARRIVING_TIME = 'ARRIVING_TIME',\n    DEPARTURE_TIME = 'DEPARTURE_TIME',\n    TOTAL_TIME = 'TOTAL_TIME',\n    DISTANCE = 'DISTANCE',\n    TIME_WINDOW = 'TIME_WINDOW',\n    TRIP_KEY = 'TRIP_KEY',\n    ORDER_KEY = 'ORDER_KEY',\n    DEMAND_TYPE = 'DEMAND_TYPE',\n    LOCATION_NAME = 'LOCATION_NAME',\n    LOCATION_KEY = 'LOCATION_KEY',\n    CUSTOMFIELDS = 'CUSTOMFIELDS'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { BasicTimeWindowStudio } from './basicTimeWindow';\nimport { TableCustomfieldsStudio } from './tableCustomfields';\n\n\n/**\n * Stops fields for table.\n */\nexport interface TableTripStopFieldsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essence type.\n     */\n    essence_type?: TableTripStopFieldsStudioEssenceTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    essence_key?: string | null;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    driving_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    waiting_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    break_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    rest_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    working_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    arriving_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    departure_time?: string;\n    /**\n     * Time duration according to [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations).\n     */\n    total_time?: string;\n    /**\n     * Distance in meters.\n     */\n    distance?: number;\n    time_window?: BasicTimeWindowStudio | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    order_key?: string | null;\n    /**\n     * String table field.  For the parent entity, a comma-separated list of values is specified. \n     */\n    demand_type?: string | null;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    location_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    location_name?: string;\n    customfields?: TableCustomfieldsStudio;\n}\nexport enum TableTripStopFieldsStudioEssenceTypeEnum {\n    TRIP_STOP = 'TRIP_STOP',\n    DEMAND = 'DEMAND'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Time window.\n */\nexport interface TimeWindowStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    from: string;\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    to: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Time window violation detail information.\n */\nexport interface TimeWindowViolationDetailStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * List of object\\'s keys.\n     */\n    demand_keys: Array<string>;\n    /**\n     * The total number of demands.\n     */\n    count: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * A geographic point with a time reference.\n */\nexport interface TrackpointStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Latitude in degrees.\n     */\n    latitude: number;\n    /**\n     * Longitude in degrees.\n     */\n    longitude: number;\n    /**\n     * Date and time in the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6) format.\n     */\n    time?: string | null;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Object field translations.\n */\nexport interface TranslationsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Name, information field.\n     */\n    ru?: string;\n    /**\n     * Name, information field.\n     */\n    en?: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Paid mileage is an integral part of the tariff.\n */\nexport interface TransportTariffConstraintStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * The length of the paid part of the way, in meters.\n     */\n    stage_length?: number;\n    /**\n     * The cost within the paid part of the way, monetary unit per meter. \n     */\n    cost_per_unit?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Transport types:   * `CAR` - car   * `TRUCK_1500` - truck with permissible weight 1500 kg   * `TRUCK_3000` - truck with permissible weight 3000 kg   * `TRUCK_5000` - truck with permissible weight 5000 kg   * `TRUCK_10000` - truck with permissible weight 10000 kg   * `TRUCK_20000` - truck with permissible weight 20000 kg   * `TRUCK_10000_L75_H35_W24_6000` - a truck with a permitted weight of no more than 10,000 kg, dimensions of 7.5 x 3.5 x 2.4 meters, and a permissible axle load of 6,000 kg   * `TRUCK_18000_L95_H40_W26_11000` - a truck with a permitted weight of no more than 18,000 kg, dimensions of 9.5 x 4.0 x 2.6 meters, and a permissible axle load of 11,000 kg   * `TRUCK_26000_L120_H40_W26_8000` - a truck with a permitted weight of no more than 26,000 kg, dimensions of 12.0 x 4.0 x 2.6 meters, and a permissible axle load of 8000 kg   * `TRUCK_GARBAGE_1` - truck for transporting garbage (type 1)   * `TRUCK_GARBAGE_2` - truck for transporting garbage (type 2)   * `TUK_TUK` - tuk-tuk   * `BICYCLE` - bicycle   * `PEDESTRIAN` - pedestrian         * `PUBLIC_TRANSPORT` - public transport   * `TELEPORT` - teleport (instant movement between points)      Permissible weight is the weight of the equipped transport with cargo and driver, set by the manufacturer as the maximum allowable. \n */\nexport enum TransportTypeStudio {\n    CAR = 'CAR',\n    TRUCK_1500 = 'TRUCK_1500',\n    TRUCK_3000 = 'TRUCK_3000',\n    TRUCK_5000 = 'TRUCK_5000',\n    TRUCK_10000 = 'TRUCK_10000',\n    TRUCK_20000 = 'TRUCK_20000',\n    TRUCK_10000_L75_H35_W24_6000 = 'TRUCK_10000_L75_H35_W24_6000',\n    TRUCK_18000_L95_H40_W26_11000 = 'TRUCK_18000_L95_H40_W26_11000',\n    TRUCK_26000_L120_H40_W26_8000 = 'TRUCK_26000_L120_H40_W26_8000',\n    TRUCK_GARBAGE_1 = 'TRUCK_GARBAGE_1',\n    TRUCK_GARBAGE_2 = 'TRUCK_GARBAGE_2',\n    TUK_TUK = 'TUK_TUK',\n    BICYCLE = 'BICYCLE',\n    PEDESTRIAN = 'PEDESTRIAN',\n    PUBLIC_TRANSPORT = 'PUBLIC_TRANSPORT',\n    TELEPORT = 'TELEPORT'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * The strategy of the choosing optimal trip start time:   * `EARLIEST_FINISH`   * `LOWEST_COST` \n */\nexport enum TripStartTimeStrategyStudio {\n    EARLIEST_FINISH = 'EARLIEST_FINISH',\n    LOWEST_COST = 'LOWEST_COST'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * [Flag of state](#section/Description/Trip-model) inside trip. \n */\nexport enum TripStateFlagStudio {\n    AROUND_LOCATION = 'AROUND_LOCATION',\n    INSIDE_LOCATION = 'INSIDE_LOCATION',\n    INSIDE_LOCATION_WINDOW = 'INSIDE_LOCATION_WINDOW',\n    INSIDE_WORKING_WINDOW = 'INSIDE_WORKING_WINDOW',\n    INSIDE_EVENT_HARD_WINDOW = 'INSIDE_EVENT_HARD_WINDOW',\n    INSIDE_EVENT_SOFT_WINDOW = 'INSIDE_EVENT_SOFT_WINDOW',\n    ON_DEMAND = 'ON_DEMAND',\n    WAITING = 'WAITING',\n    RELOCATING = 'RELOCATING',\n    BREAK = 'BREAK',\n    REST = 'REST',\n    DEPARTURE = 'DEPARTURE',\n    ARRIVAL = 'ARRIVAL',\n    DURING_ROUNDTRIP = 'DURING_ROUNDTRIP'\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Information about unplanned essences.\n */\nexport interface UnplannedItemsStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Essences keys list.\n     */\n    order_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    order_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    performer_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    performer_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    transport_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    transport_keys_count?: number;\n    /**\n     * Essences keys list.\n     */\n    hardlink_keys?: Array<string>;\n    /**\n     * Essences count.\n     */\n    hardlink_keys_count?: number;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\n\n\n/**\n * Service version.\n */\nexport interface VersionResultStudio { \n  [key: string]: any | any;\n\n\n    /**\n     * Product version. Within a single version, compatibility of common data structures between services is guaranteed. A version change indicates changes that are incompatible with previous versions of the product (and all services). \n     */\n    major: number;\n    /**\n     * Minor version of the service. A version change indicates new functionality. The update is backward compatible with the major version of the service. \n     */\n    minor: number;\n    /**\n     * Build version.       Contains backwards compatible bug fixes and docs update. \n     */\n    build: string;\n}\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { GeopointStudio } from './geopoint';\n\n\n/**\n * Geopoint for map.\n */\nexport interface WebPerformerGeopointStudio { \n  [key: string]: any | any;\n\n\n    geopoint: GeopointStudio;\n    /**\n     * Performer\\'s key.\n     */\n    performer_key: string;\n    /**\n     * Shift key, unique identifier.\n     */\n    shift_key: string;\n    /**\n     * The point type.\n     */\n    point_type: WebPerformerGeopointStudioPointTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Sequence number of the stop in the trip.\n     */\n    stop_number?: number;\n}\nexport enum WebPerformerGeopointStudioPointTypeEnum {\n    START = 'START',\n    FINISH = 'FINISH'\n};\n\n\n\n","/**\n * VRt.Studio [ST]\n *\n * The version of the OpenAPI document: 7.18.2755\n * Contact: servicedesk@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { GeopointStudio } from './geopoint';\n\n\n/**\n * Geopoint for map.\n */\nexport interface WebTransportGeopointStudio { \n  [key: string]: any | any;\n\n\n    geopoint: GeopointStudio;\n    /**\n     * Transport\\'s key.\n     */\n    transport_key: string;\n    /**\n     * Shift key, unique identifier.\n     */\n    shift_key: string;\n    /**\n     * The point type.\n     */\n    point_type: WebTransportGeopointStudioPointTypeEnum;\n    /**\n     * Essence key, unique identifier, may be `null`.\n     */\n    trip_key?: string | null;\n    /**\n     * Name, information field.\n     */\n    trip_name?: string;\n    /**\n     * Sequence number of the stop in the trip.\n     */\n    stop_number?: number;\n}\nexport enum WebTransportGeopointStudioPointTypeEnum {\n    START = 'START',\n    FINISH = 'FINISH'\n};\n\n\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: []\n})\nexport class LssStudioApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssStudioApiModule> {\n        return {\n            ngModule: LssStudioApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: LssStudioApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('LssStudioApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.Configuration"],"mappings":"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"}