{"version":3,"file":"veeroute-lss-agro-angular.mjs","sources":["../../variables.ts","../../encoder.ts","../../configuration.ts","../../api.base.service.ts","../../api/planService.ts","../../api/systemService.ts","../../api/api.ts","../../model/agroEntityErrorType.ts","../../model/agroEntityType.ts","../../model/agroEntityWarningType.ts","../../model/agroPlanStatistics.ts","../../model/agroUnplannedItems.ts","../../model/attribute.ts","../../model/calculationSettings.ts","../../model/calculationStatus.ts","../../model/checkResult.ts","../../model/contractType.ts","../../model/cropType.ts","../../model/dateWindow.ts","../../model/flowType.ts","../../model/leftover.ts","../../model/movementMatrixElement.ts","../../model/objectType.ts","../../model/operationMeasurements.ts","../../model/operationType.ts","../../model/projectConfiguration.ts","../../model/schemaError.ts","../../model/service.ts","../../model/versionResult.ts","../../api.module.ts","../../provide-api.ts","../../veeroute-lss-agro-angular.ts"],"sourcesContent":["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';\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 { HttpHeaders, HttpParams, 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\nconstructor({ accessToken, apiKeys, basePath, credentials, encodeParam, encoder, password, username, withCredentials }: ConfigurationParameters = {}) {\n        if (apiKeys) {\n            this.apiKeys = apiKeys;\n        }\n        if (username !== undefined) {\n            this.username = username;\n        }\n        if (password !== undefined) {\n            this.password = password;\n        }\n        if (accessToken !== undefined) {\n            this.accessToken = accessToken;\n        }\n        if (basePath !== undefined) {\n            this.basePath = basePath;\n        }\n        if (withCredentials !== undefined) {\n            this.withCredentials = withCredentials;\n        }\n        if (encoder) {\n            this.encoder = encoder;\n        }\n        this.encodeParam = encodeParam ?? (param => this.defaultEncodeParam(param));\n        this.credentials = credentials ?? {};\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    public addCredentialToHeaders(credentialKey: string, headerName: string, headers: HttpHeaders, prefix?: string): HttpHeaders {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? headers.set(headerName, (prefix ?? '') + value)\n            : headers;\n    }\n\n    public addCredentialToQuery(credentialKey: string, paramName: string, query: HttpParams): HttpParams {\n        const value = this.lookupCredential(credentialKey);\n        return value\n            ? query.set(paramName, value)\n            : query;\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.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@veeroute.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator.\n * Do not edit the class manually.\n */\nimport { HttpHeaders, HttpParams, HttpParameterCodec } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from './encoder';\nimport { Configuration } from './configuration';\n\nexport class BaseService {\n    protected basePath = 'https://api.edge7.veeroute.cloud';\n    public defaultHeaders = new HttpHeaders();\n    public configuration: Configuration;\n    public encoder: HttpParameterCodec;\n\n    constructor(basePath?: string|string[], configuration?: Configuration) {\n        this.configuration = configuration || new Configuration();\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    protected canConsumeForm(consumes: string[]): boolean {\n        return consumes.indexOf('multipart/form-data') !== -1;\n    }\n\n    protected addToHttpParams(httpParams: HttpParams, value: any, key?: string, isDeep: boolean = false): HttpParams {\n        // If the value is an object (but not a Date), recursively add its keys.\n        if (typeof value === 'object' && !(value instanceof Date)) {\n            return this.addToHttpParamsRecursive(httpParams, value, isDeep ? key : undefined, isDeep);\n        }\n        return this.addToHttpParamsRecursive(httpParams, value, key);\n    }\n\n    protected addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string, isDeep: boolean = false): HttpParams {\n        if (value === null || value === undefined) {\n            return httpParams;\n        }\n        if (typeof value === 'object') {\n            // If JSON format is preferred, key must be provided.\n            if (key != null) {\n                return isDeep\n                    ? Object.keys(value as Record<string, any>).reduce(\n                        (hp, k) => hp.append(`${key}[${k}]`, value[k]),\n                        httpParams,\n                    )\n                    : httpParams.append(key, JSON.stringify(value));\n            }\n            // Otherwise, if it's an array, add each element.\n            if (Array.isArray(value)) {\n                value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, value.toISOString());\n                } else {\n                    throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach(k => {\n                    const paramKey = key ? `${key}.${k}` : k;\n                    httpParams = this.addToHttpParamsRecursive(httpParams, value[k], paramKey);\n                });\n            }\n            return httpParams;\n        } else if (key != null) {\n            return httpParams.append(key, value);\n        }\n        throw Error(\"key may not be null if value is not object or array\");\n    }\n}\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 { Agro400WithErrorsAndWarningsAgro } from '../model/agro400WithErrorsAndWarnings';\n// @ts-ignore\nimport { AgroPlanResultAgro } from '../model/agroPlanResult';\n// @ts-ignore\nimport { AgroPlanTaskAgro } from '../model/agroPlanTask';\n// @ts-ignore\nimport { AgroValidateResultAgro } from '../model/agroValidateResult';\n// @ts-ignore\nimport { CalculationAsyncResultAgro } from '../model/calculationAsyncResult';\n// @ts-ignore\nimport { CalculationStateAgro } from '../model/calculationState';\n// @ts-ignore\nimport { FlowTypeAgro } from '../model/flowType';\n// @ts-ignore\nimport { General400Agro } from '../model/general400';\n// @ts-ignore\nimport { General402Agro } from '../model/general402';\n// @ts-ignore\nimport { General403Agro } from '../model/general403';\n// @ts-ignore\nimport { General404Agro } from '../model/general404';\n// @ts-ignore\nimport { General429Agro } from '../model/general429';\n// @ts-ignore\nimport { General500Agro } from '../model/general500';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    PlanServiceInterface,\n    CancelPlanCalculationRequestParams,\n    DeletePlanResultRequestParams,\n    ReadAlgoDataRequestParams,\n    ReadPlanResultRequestParams,\n    ReadPlanStateRequestParams,\n    RunPlanCalculationRequestParams,\n    RunPlanCalculationAsyncRequestParams,\n    RunPlanClipRequestParams,\n    RunPlanValidationRequestParams\n} from './planServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class PlanService extends BaseService implements PlanServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\n    }\n\n    /**\n     * Cancel calculation\n     * Cancel calculation process by the calculation identifier.\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 cancelPlanCalculation(requestParameters: CancelPlanCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public cancelPlanCalculation(requestParameters: CancelPlanCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public cancelPlanCalculation(requestParameters: CancelPlanCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public cancelPlanCalculation(requestParameters: CancelPlanCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling cancelPlanCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/calculation-async/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Result removal\n     * Removal of the planning result by the calculation identifier.\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 deletePlanResult(requestParameters: DeletePlanResultRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any>;\n    public deletePlanResult(requestParameters: DeletePlanResultRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<any>>;\n    public deletePlanResult(requestParameters: DeletePlanResultRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<any>>;\n    public deletePlanResult(requestParameters: DeletePlanResultRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling deletePlanResult.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/result/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<any>('delete', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Algo data\n     * Receiving algo data by &#x60;tracedata.process_code&#x60;.\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 readAlgoData(requestParameters: ReadAlgoDataRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<string>;\n    public readAlgoData(requestParameters: ReadAlgoDataRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<string>>;\n    public readAlgoData(requestParameters: ReadAlgoDataRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<string>>;\n    public readAlgoData(requestParameters: ReadAlgoDataRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/octet-stream' | 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling readAlgoData.');\n        }\n        const dataFlowType = requestParameters?.dataFlowType;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>dataFlowType, 'data_flow_type');\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/octet-stream',\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/data/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<string>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Getting the result\n     * Getting the result based on the calculation identifier.\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 readPlanResult(requestParameters: ReadPlanResultRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<AgroPlanResultAgro>;\n    public readPlanResult(requestParameters: ReadPlanResultRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<AgroPlanResultAgro>>;\n    public readPlanResult(requestParameters: ReadPlanResultRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<AgroPlanResultAgro>>;\n    public readPlanResult(requestParameters: ReadPlanResultRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling readPlanResult.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/result/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<AgroPlanResultAgro>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Calculation state\n     * Read calculation state by the calculation identifier.\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 readPlanState(requestParameters: ReadPlanStateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CalculationStateAgro>;\n    public readPlanState(requestParameters: ReadPlanStateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CalculationStateAgro>>;\n    public readPlanState(requestParameters: ReadPlanStateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CalculationStateAgro>>;\n    public readPlanState(requestParameters: ReadPlanStateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const processCode = requestParameters?.processCode;\n        if (processCode === null || processCode === undefined) {\n            throw new Error('Required parameter processCode was null or undefined when calling readPlanState.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/state/${this.configuration.encodeParam({name: \"processCode\", value: processCode, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: \"uuid\"})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CalculationStateAgro>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Planning (SYNC)\n     * Production plan 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 runPlanCalculation(requestParameters: RunPlanCalculationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<AgroPlanResultAgro>;\n    public runPlanCalculation(requestParameters: RunPlanCalculationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<AgroPlanResultAgro>>;\n    public runPlanCalculation(requestParameters: RunPlanCalculationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<AgroPlanResultAgro>>;\n    public runPlanCalculation(requestParameters: RunPlanCalculationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const agroPlanTaskAgro = requestParameters?.agroPlanTaskAgro;\n        if (agroPlanTaskAgro === null || agroPlanTaskAgro === undefined) {\n            throw new Error('Required parameter agroPlanTaskAgro was null or undefined when calling runPlanCalculation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/calculation`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<AgroPlanResultAgro>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: agroPlanTaskAgro,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Planning (ASYNC)\n     * The result can be obtained using the [result](#operation/read_plan_result) method, removing - with [delete](#operation/delete_plan_result). \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 runPlanCalculationAsync(requestParameters: RunPlanCalculationAsyncRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<CalculationAsyncResultAgro>;\n    public runPlanCalculationAsync(requestParameters: RunPlanCalculationAsyncRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CalculationAsyncResultAgro>>;\n    public runPlanCalculationAsync(requestParameters: RunPlanCalculationAsyncRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CalculationAsyncResultAgro>>;\n    public runPlanCalculationAsync(requestParameters: RunPlanCalculationAsyncRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const agroPlanTaskAgro = requestParameters?.agroPlanTaskAgro;\n        if (agroPlanTaskAgro === null || agroPlanTaskAgro === undefined) {\n            throw new Error('Required parameter agroPlanTaskAgro was null or undefined when calling runPlanCalculationAsync.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/calculation-async`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CalculationAsyncResultAgro>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: agroPlanTaskAgro,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Clipping (SYNC)\n     * Data clipping.\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 runPlanClip(requestParameters: RunPlanClipRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<AgroPlanTaskAgro>;\n    public runPlanClip(requestParameters: RunPlanClipRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<AgroPlanTaskAgro>>;\n    public runPlanClip(requestParameters: RunPlanClipRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<AgroPlanTaskAgro>>;\n    public runPlanClip(requestParameters: RunPlanClipRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const clipKey = requestParameters?.clipKey;\n        if (clipKey === null || clipKey === undefined) {\n            throw new Error('Required parameter clipKey was null or undefined when calling runPlanClip.');\n        }\n        const agroPlanTaskAgro = requestParameters?.agroPlanTaskAgro;\n        if (agroPlanTaskAgro === null || agroPlanTaskAgro === undefined) {\n            throw new Error('Required parameter agroPlanTaskAgro was null or undefined when calling runPlanClip.');\n        }\n        const clipStrategy = requestParameters?.clipStrategy;\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n          <any>clipStrategy, 'clip_strategy');\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/clip/${this.configuration.encodeParam({name: \"clipKey\", value: clipKey, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<AgroPlanTaskAgro>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: agroPlanTaskAgro,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Data validation\n     * Checking data before planning.\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 runPlanValidation(requestParameters: RunPlanValidationRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<AgroValidateResultAgro>;\n    public runPlanValidation(requestParameters: RunPlanValidationRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<AgroValidateResultAgro>>;\n    public runPlanValidation(requestParameters: RunPlanValidationRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<AgroValidateResultAgro>>;\n    public runPlanValidation(requestParameters: RunPlanValidationRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<any> {\n        const agroPlanTaskAgro = requestParameters?.agroPlanTaskAgro;\n        if (agroPlanTaskAgro === null || agroPlanTaskAgro === undefined) {\n            throw new Error('Required parameter agroPlanTaskAgro was null or undefined when calling runPlanValidation.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        // authentication (ApiKeyAuth) required\n        localVarHeaders = this.configuration.addCredentialToHeaders('ApiKeyAuth', 'Authorization', localVarHeaders, 'Bearer ');\n\n        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/plan/validation`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<AgroValidateResultAgro>('post', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                body: agroPlanTaskAgro,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 { CheckResultAgro } from '../model/checkResult';\n// @ts-ignore\nimport { General404Agro } from '../model/general404';\n// @ts-ignore\nimport { General429Agro } from '../model/general429';\n// @ts-ignore\nimport { General500Agro } from '../model/general500';\n// @ts-ignore\nimport { VersionResultAgro } from '../model/versionResult';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\nimport { BaseService } from '../api.base.service';\nimport {\n    SystemServiceInterface,\n    FileRequestParams\n} from './systemServiceInterface';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SystemService extends BaseService implements SystemServiceInterface {\n\n    constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string|string[], @Optional() configuration?: Configuration) {\n        super(basePath, configuration);\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<CheckResultAgro>;\n    public check(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<CheckResultAgro>>;\n    public check(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<CheckResultAgro>>;\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        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/system/check`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<CheckResultAgro>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { 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        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'text/html',\n            'text/plain',\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/file/${this.configuration.encodeParam({name: \"filename\", value: filename, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<string>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { 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<VersionResultAgro>;\n    public version(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpResponse<VersionResultAgro>>;\n    public version(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext, transferCache?: boolean}): Observable<HttpEvent<VersionResultAgro>>;\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        const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept([\n            'application/json'\n        ]);\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();\n\n        const localVarTransferCache: boolean = options?.transferCache ?? true;\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 = `/agro/system/version`;\n        const { basePath, withCredentials } = this.configuration;\n        return this.httpClient.request<VersionResultAgro>('get', `${basePath}${localVarPath}`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                ...(withCredentials ? { withCredentials } : {}),\n                headers: localVarHeaders,\n                observe: observe,\n                transferCache: localVarTransferCache,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","export * from './planService';\nimport { PlanService } from './planService';\nexport * from './planServiceInterface';\nexport * from './systemService';\nimport { SystemService } from './systemService';\nexport * from './systemServiceInterface';\nexport const APIS = [PlanService, SystemService];\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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:   * `UNIQUE_IDS_VIOLATION` - all keys must be unique   * `INCONSISTENT_REFERENCE` - bad reference key   * `INVALID_TIMELINE` - time window crossing   * `INVALID_DATEWINDOW` - window ends before it starts   * `INVALID_LEFTOVER_AMOUNT` - the amount of grain indicated in the balance exceeds the allowable size of the grain location (field,  storage, silo, dryer, bunker) on the specified date   * `INVALID_LEFTOVER_PER_ONE_TARGET` - more than one residue is specified for one grain location   * `INVALID_CHAMBER_VARIANTS` - more than one chamber variant set for the same crop \n */\nexport enum AgroEntityErrorTypeAgro {\n\n    UNIQUE_IDS_VIOLATION = 'UNIQUE_IDS_VIOLATION',\n\n    INCONSISTENT_REFERENCE = 'INCONSISTENT_REFERENCE',\n\n    INVALID_TIMELINE = 'INVALID_TIMELINE',\n\n    INVALID_DATEWINDOW = 'INVALID_DATEWINDOW',\n\n    INVALID_LEFTOVER_AMOUNT = 'INVALID_LEFTOVER_AMOUNT',\n\n    INVALID_LEFTOVER_PER_ONE_TARGET = 'INVALID_LEFTOVER_PER_ONE_TARGET',\n\n    INVALID_CHAMBER_VARIANTS = 'INVALID_CHAMBER_VARIANTS'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 AgroEntityTypeAgro {\n\n    TASK = 'TASK',\n\n    SETTINGS = 'SETTINGS',\n\n    CROP = 'CROP',\n\n    FIELD = 'FIELD',\n\n    ELEVATOR = 'ELEVATOR',\n\n    FACTORY = 'FACTORY',\n\n    MARKET = 'MARKET',\n\n    STORAGE = 'STORAGE',\n\n    SILO = 'SILO',\n\n    BUNKER = 'BUNKER',\n\n    DRYER = 'DRYER',\n\n    GATE = 'GATE',\n\n    CONSUMER = 'CONSUMER',\n\n    LEFTOVER = 'LEFTOVER',\n\n    FORECAST_ELEMENT = 'FORECAST_ELEMENT'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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_COMPATIBLE_STORAGE` - no compatible storage locations   * `NO_AVAILABLE_MOVEMENT` - the object is not in the movement matrix   * `NO_AVAILABLE_CONSUMER` - there is no consumer for this type of culture \n */\nexport enum AgroEntityWarningTypeAgro {\n\n    NO_COMPATIBLE_STORAGE = 'NO_COMPATIBLE_STORAGE',\n\n    NO_AVAILABLE_MOVEMENT = 'NO_AVAILABLE_MOVEMENT',\n\n    NO_AVAILABLE_CONSUMER = 'NO_AVAILABLE_CONSUMER'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * General statistics. \n */\nexport interface AgroPlanStatisticsAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * The number of planned fields.\n     */\n    days_count: number;\n    /**\n     * The total number of planned crops.\n     */\n    crops_count: number;\n    /**\n     * The total number of planned fields.\n     */\n    fields_count: number;\n    /**\n     * Total number of partially harvested fields.\n     */\n    fields_part_count: number;\n    /**\n     * The total number of planned elevators.\n     */\n    elevators_count: number;\n    /**\n     * The total number of planned factories.\n     */\n    factory_count: number;\n    /**\n     * The total number of planned markets.\n     */\n    markets_count: number;\n    /**\n     * Total mileage, in km.\n     */\n    total_distance: number;\n    /**\n     * The total cost of all transactions, in conventional monetary units.\n     */\n    total_cost: number;\n    /**\n     * Total number of unused crops.\n     */\n    unplanned_crops_count: number;\n    /**\n     * Total number of unharvested fields.\n     */\n    unplanned_fields_count: number;\n    /**\n     * Total number of unused elevators.\n     */\n    unplanned_elevators_count: number;\n    /**\n     * Total number of unused factories.\n     */\n    unplanned_factories_count: number;\n    /**\n     * Total number of unused markets.\n     */\n    unplanned_markets_count: number;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * Unplanned items list.\n */\nexport interface AgroUnplannedItemsAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * Unplanned crop keys.\n     */\n    crop_keys?: Array<string>;\n    /**\n     * Unplanned field keys.\n     */\n    field_keys?: Array<string>;\n    /**\n     * Unplanned elevator keys.\n     */\n    elevator_keys?: Array<string>;\n    /**\n     * Unplanned factory keys.\n     */\n    factory_keys?: Array<string>;\n    /**\n     * Unplanned market keys.\n     */\n    market_keys?: Array<string>;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 AttributeAgro { \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.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 CalculationSettingsAgro { \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.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 CalculationStatusAgro {\n\n    WAITING = 'WAITING',\n\n    IN_PROGRESS = 'IN_PROGRESS',\n\n    FINISHED_IN_TIME = 'FINISHED_IN_TIME',\n\n    FINISHED_OUT_OF_TIME = 'FINISHED_OUT_OF_TIME',\n\n    CANCELED = 'CANCELED',\n\n    CANCELED_BY_TIMEOUT = 'CANCELED_BY_TIMEOUT',\n\n    CANCELED_BY_QUOTA = 'CANCELED_BY_QUOTA',\n\n    FAILED = 'FAILED'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 CheckResultAgro { \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.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * Contract type:   * `SELL_WITH_DELIVERY` - Contract for the sale of grain by the market with delivery to the client (the price of moving from the market is included in the price).   * `SELL` - Contract for the sale of grain by the market without delivery (the price of moving from the market is not included in the price).   * `BUY_WITH_DELIVERY` - Contract for the purchase of grain by the market with delivery from the client (the price of moving to the market is included in the price).   * `BUY` - Contract for the purchase of grain by the market without delivery (the price of moving to the market is not included in the price). \n */\nexport enum ContractTypeAgro {\n\n    SELL_WITH_DELIVERY = 'SELL_WITH_DELIVERY',\n\n    SELL = 'SELL',\n\n    BUY_WITH_DELIVERY = 'BUY_WITH_DELIVERY',\n\n    BUY = 'BUY'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * Crop type. \n */\nexport enum CropTypeAgro {\n\n    DRY = 'DRY',\n\n    WET = 'WET'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 between the dates.\n */\nexport interface DateWindowAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * Window start date in the YYYY-MM-DD format.\n     */\n    from: string;\n    /**\n     * Window end (inclusive) date in the YYYY-MM-DD format.\n     */\n    to: string;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 flow type.\n */\nexport enum FlowTypeAgro {\n\n    INPUT = 'INPUT',\n\n    OUTPUT = 'OUTPUT'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 leftover. \n */\nexport interface LeftoverAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * Crop key.\n     */\n    crop_key: string;\n    /**\n     * Humidity crop, in ppm (‰).\n     */\n    humidity: number;\n    /**\n     * Target key.\n     */\n    target_key: string;\n    /**\n     * Target storage key.\n     */\n    target_detail_key?: string | null;\n    /**\n     * Weight, in tn.\n     */\n    amount: number;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 and distance matrix.\n */\nexport interface MovementMatrixElementAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * Target key.\n     */\n    source_key: string;\n    /**\n     * Target key.\n     */\n    destination_key: string;\n    /**\n     * Total length, in km.\n     */\n    distance: number;\n    /**\n     * The total cost of usage 1 transport between source and destination, in conventional monetary units. \n     */\n    cost_per_transport?: number;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 type. \n */\nexport enum ObjectTypeAgro {\n\n    FIELD = 'FIELD',\n\n    ELEVATOR = 'ELEVATOR',\n\n    FACTORY = 'FACTORY',\n\n    MARKET = 'MARKET'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * Operation measurements. \n */\nexport interface OperationMeasurementsAgro { \n  [key: string]: any | any;\n\n\n    /**\n     * Total length, in km.\n     */\n    distance: number;\n    /**\n     * The total cost of the operation, in conventional monetary units.\n     */\n    cost: number;\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 [operation](#section/Description/Project):   * `HARVEST` - Harvesting agricultural crops from the field to the production facility   * `STORE` - Storing culture in a storage location   * `DRY` - Drying the crop   * `RELOCATE` - Transportation between production facilities (between gates)   * `CONSUMPTION` - Consumption of crop by plant (from bunker, gate or dryer)   * `LOAD` - Loading a culture into a storage location   * `UNLOAD` - Unloading a culture from a storage location   * `SELL` - Selling crops from the elevator to the market (under a specific contract)   * `BUY` - Purchase of crops from the market to the plant (under a specific contract) \n */\nexport enum OperationTypeAgro {\n\n    HARVEST = 'HARVEST',\n\n    STORE = 'STORE',\n\n    DRY = 'DRY',\n\n    RELOCATE = 'RELOCATE',\n\n    CONSUMPTION = 'CONSUMPTION',\n\n    LOAD = 'LOAD',\n\n    UNLOAD = 'UNLOAD',\n\n    SELL = 'SELL',\n\n    BUY = 'BUY'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 * Target function type. \n */\nexport enum ProjectConfigurationAgro {\n\n    OPTIMIZE_DISTANCE = 'OPTIMIZE_DISTANCE',\n\n    OPTIMIZE_COST = 'OPTIMIZE_COST'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 SchemaErrorAgro { \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.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 ServiceAgro {\n\n    UNIVERSAL = 'UNIVERSAL',\n\n    ROUTING = 'ROUTING',\n\n    ACCOUNT = 'ACCOUNT',\n\n    ADMIN = 'ADMIN',\n\n    STUDIO = 'STUDIO',\n\n    MONITOR = 'MONITOR',\n\n    PACKER = 'PACKER',\n\n    AGRO = 'AGRO',\n\n    REGISTRY = 'REGISTRY',\n\n    SUPPORT = 'SUPPORT'\n}\n\n","/**\n * VRt.Agro [AG]\n *\n * The version of the OpenAPI document: 7.33.3222\n * Contact: support@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 VersionResultAgro { \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","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 LssAgroApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<LssAgroApiModule> {\n        return {\n            ngModule: LssAgroApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: LssAgroApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('LssAgroApiModule 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","import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\nimport { Configuration, ConfigurationParameters } from './configuration';\nimport { BASE_PATH } from './variables';\n\n// Returns the service class providers, to be used in the [ApplicationConfig](https://angular.dev/api/core/ApplicationConfig).\nexport function provideApi(configOrBasePath: string | ConfigurationParameters): EnvironmentProviders {\n    return makeEnvironmentProviders([\n        typeof configOrBasePath === \"string\"\n            ? { provide: BASE_PATH, useValue: configOrBasePath }\n            : {\n                provide: Configuration,\n                useValue: new Configuration({ ...configOrBasePath }),\n            },\n    ]);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.Configuration"],"mappings":"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"}