@wandelbots/wandelbots-js-react-components 3.5.1 → 3.6.0-pr.feat-model-retrieval-from-rdp.463.014e7d3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +18 -0
  2. package/dist/3d.cjs.js +1 -1
  3. package/dist/3d.es.js +1 -1
  4. package/dist/{LoadingCover-Dr9hDTku.js → LoadingCover-6gWr11KP.js} +11 -10
  5. package/dist/{LoadingCover-Dr9hDTku.js.map → LoadingCover-6gWr11KP.js.map} +1 -1
  6. package/dist/LoadingCover-CukpS_aj.cjs +2 -0
  7. package/dist/{LoadingCover-r2yhJZF9.cjs.map → LoadingCover-CukpS_aj.cjs.map} +1 -1
  8. package/dist/{WandelscriptEditor-DnJvITTA.js → WandelscriptEditor-7eN-Yw7m.js} +3 -3
  9. package/dist/{WandelscriptEditor-DnJvITTA.js.map → WandelscriptEditor-7eN-Yw7m.js.map} +1 -1
  10. package/dist/WandelscriptEditor-D6_vS5Uk.cjs +2 -0
  11. package/dist/{WandelscriptEditor-Dj7TBCkF.cjs.map → WandelscriptEditor-D6_vS5Uk.cjs.map} +1 -1
  12. package/dist/auth0-spa-js.production.esm-BMSlxZC5.js +3877 -0
  13. package/dist/auth0-spa-js.production.esm-BMSlxZC5.js.map +1 -0
  14. package/dist/auth0-spa-js.production.esm-DZ6lsBvD.cjs +5 -0
  15. package/dist/auth0-spa-js.production.esm-DZ6lsBvD.cjs.map +1 -0
  16. package/dist/components/RobotCard.d.ts +1 -1
  17. package/dist/components/RobotCard.d.ts.map +1 -1
  18. package/dist/components/robots/GenericRobot.d.ts +2 -2
  19. package/dist/components/robots/GenericRobot.d.ts.map +1 -1
  20. package/dist/components/robots/Robot.d.ts +1 -1
  21. package/dist/components/robots/Robot.d.ts.map +1 -1
  22. package/dist/components/robots/SupportedRobot.d.ts +1 -1
  23. package/dist/components/robots/SupportedRobot.d.ts.map +1 -1
  24. package/dist/components/robots/robotModelLogic.d.ts +1 -1
  25. package/dist/components/robots/robotModelLogic.d.ts.map +1 -1
  26. package/dist/core.cjs.js +1 -1
  27. package/dist/core.es.js +4 -4
  28. package/dist/externalizeComponent-CkVWk2F_.cjs +24 -0
  29. package/dist/externalizeComponent-CkVWk2F_.cjs.map +1 -0
  30. package/dist/externalizeComponent-Dc3fViZA.js +489 -0
  31. package/dist/externalizeComponent-Dc3fViZA.js.map +1 -0
  32. package/dist/index.cjs.js +1 -1
  33. package/dist/index.es.js +6 -6
  34. package/dist/interpolation-DAXKfoDS.cjs +20 -0
  35. package/dist/interpolation-DAXKfoDS.cjs.map +1 -0
  36. package/dist/interpolation-DcPbemBD.js +6924 -0
  37. package/dist/interpolation-DcPbemBD.js.map +1 -0
  38. package/dist/lib/JoggerConnection.d.ts.map +1 -1
  39. package/dist/manufacturerHomePositions-Badt_vO2.cjs +2 -0
  40. package/dist/manufacturerHomePositions-Badt_vO2.cjs.map +1 -0
  41. package/dist/{manufacturerHomePositions-CgaG5vaK.js → manufacturerHomePositions-CtUNJexK.js} +350 -290
  42. package/dist/manufacturerHomePositions-CtUNJexK.js.map +1 -0
  43. package/dist/{theming-Coh4zx7d.js → theming-B7ojcJTM.js} +4802 -6245
  44. package/dist/theming-B7ojcJTM.js.map +1 -0
  45. package/dist/theming-C9apy9Ov.cjs +115 -0
  46. package/dist/theming-C9apy9Ov.cjs.map +1 -0
  47. package/dist/wandelscript.cjs.js +1 -1
  48. package/dist/wandelscript.es.js +1 -1
  49. package/package.json +14 -4
  50. package/src/components/RobotCard.tsx +1 -1
  51. package/src/components/robots/GenericRobot.tsx +98 -36
  52. package/src/components/robots/Robot.tsx +1 -1
  53. package/src/components/robots/SupportedRobot.tsx +11 -3
  54. package/src/components/robots/robotModelLogic.ts +40 -6
  55. package/src/env.d.ts +3 -0
  56. package/src/lib/JoggerConnection.ts +10 -10
  57. package/src/lib/MotionStreamConnection.ts +1 -1
  58. package/dist/LoadingCover-r2yhJZF9.cjs +0 -2
  59. package/dist/WandelscriptEditor-Dj7TBCkF.cjs +0 -2
  60. package/dist/auth0-spa-js.production.esm-DL9f1uDJ.js +0 -1438
  61. package/dist/auth0-spa-js.production.esm-DL9f1uDJ.js.map +0 -1
  62. package/dist/auth0-spa-js.production.esm-DTiWXa87.cjs +0 -5
  63. package/dist/auth0-spa-js.production.esm-DTiWXa87.cjs.map +0 -1
  64. package/dist/index-CAib4NKw.js +0 -2261
  65. package/dist/index-CAib4NKw.js.map +0 -1
  66. package/dist/index-CqMZL0FV.cjs +0 -2
  67. package/dist/index-CqMZL0FV.cjs.map +0 -1
  68. package/dist/index-CxasuX80.js +0 -5212
  69. package/dist/index-CxasuX80.js.map +0 -1
  70. package/dist/index-DxwppshT.cjs +0 -29
  71. package/dist/index-DxwppshT.cjs.map +0 -1
  72. package/dist/manufacturerHomePositions-Ca80ycLi.cjs +0 -2
  73. package/dist/manufacturerHomePositions-Ca80ycLi.cjs.map +0 -1
  74. package/dist/manufacturerHomePositions-CgaG5vaK.js.map +0 -1
  75. package/dist/theming-Coh4zx7d.js.map +0 -1
  76. package/dist/theming-D4ztsmTr.cjs +0 -133
  77. package/dist/theming-D4ztsmTr.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interpolation-DcPbemBD.js","sources":["../src/components/ProgramControl.tsx","../src/components/ProgramStateIndicator.tsx","../node_modules/reconnecting-websocket/dist/reconnecting-websocket-mjs.js","../node_modules/@wandelbots/nova-js/dist/LoginWithAuth0-BAGhME4k.mjs","../node_modules/url-join/lib/url-join.js","../node_modules/path-to-regexp/dist/index.js","../node_modules/@wandelbots/nova-api/dist/defineProperty-CQ_RnIQg.js","../node_modules/@wandelbots/nova-api/dist/v2/index.js","../node_modules/@wandelbots/nova-js/dist/lib/v2/index.mjs","../src/components/utils/hooks.tsx","../src/components/utils/interpolation.ts"],"sourcesContent":["import { Pause, PlayArrow, Stop } from \"@mui/icons-material\"\nimport { Box, Button, Typography, useTheme } from \"@mui/material\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\n\nexport enum ProgramState {\n IDLE = \"idle\",\n PREPARING = \"preparing\",\n STARTING = \"starting\",\n RUNNING = \"running\",\n PAUSING = \"pausing\",\n PAUSED = \"paused\",\n STOPPING = \"stopping\",\n COMPLETED = \"completed\",\n FAILED = \"failed\",\n STOPPED = \"stopped\",\n ERROR = \"error\",\n}\n\nexport interface ProgramControlProps {\n /** The current state of the program control */\n state: ProgramState\n /** Callback fired when the run/resume button is clicked */\n onRun: () => void\n /** Callback fired when the pause button is clicked (only available in 'with_pause' variant) */\n onPause?: () => void\n /** Callback fired when the stop button is clicked */\n onStop: () => void\n /**\n * Function to reset the component from 'stopping' state back to 'idle'.\n * This must be called manually by the user when requiresManualReset is true.\n */\n onReset?: () => void\n /**\n * When true, the component will stay in 'stopping' state until onReset is called manually.\n * When false (default), auto-resets to 'idle' after 2 seconds.\n */\n requiresManualReset?: boolean\n /**\n * Variant of the component:\n * - 'with_pause': Shows run/pause/stop buttons (default)\n * - 'without_pause': Shows only run/stop buttons\n */\n variant?: \"with_pause\" | \"without_pause\"\n /** Additional CSS class name */\n className?: string\n}\n\ninterface ButtonConfig {\n enabled: boolean\n label: string\n color: string\n onClick: () => void\n}\n\n/**\n * A control component for program execution with run, pause, and stop functionality.\n *\n * Features:\n * - State machine with idle, preparing, starting, running, pausing, paused, stopping, completed, failed, stopped, and error states\n * - Two variants: with_pause (3 buttons) and without_pause (2 buttons)\n * - Optional manual reset functionality\n * - Responsive design with 110px circular buttons\n * - Material-UI theming integration\n */\nexport const ProgramControl = externalizeComponent(\n observer(\n ({\n state,\n onRun,\n onPause,\n onStop,\n onReset,\n requiresManualReset = false,\n variant = \"with_pause\",\n className,\n }: ProgramControlProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getButtonConfigs = (): ButtonConfig[] => {\n const baseConfigs: Record<string, ButtonConfig> = {\n run: {\n enabled:\n state === ProgramState.IDLE ||\n state === ProgramState.STOPPED ||\n state === ProgramState.PAUSED ||\n state === ProgramState.COMPLETED ||\n state === ProgramState.FAILED ||\n state === ProgramState.ERROR,\n label:\n state === ProgramState.PAUSED\n ? t(\"ProgramControl.Resume.bt\")\n : state === ProgramState.ERROR || state === ProgramState.FAILED\n ? t(\"ProgramControl.Retry.bt\")\n : t(\"ProgramControl.Start.bt\"),\n color: theme.palette.success.main,\n onClick: onRun,\n },\n pause: {\n enabled: state === ProgramState.RUNNING,\n label: t(\"ProgramControl.Pause.bt\"),\n color: \"#FFFFFF33\",\n onClick: onPause || (() => {}),\n },\n stop: {\n enabled:\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.RUNNING ||\n state === ProgramState.PAUSING ||\n state === ProgramState.PAUSED,\n label: t(\"ProgramControl.Stop.bt\"),\n color: theme.palette.error.main,\n onClick: onStop,\n },\n }\n\n if (variant === \"without_pause\") {\n return [baseConfigs.run, baseConfigs.stop]\n }\n\n return [baseConfigs.run, baseConfigs.pause, baseConfigs.stop]\n }\n\n const getButtonIcon = (index: number) => {\n const iconProps = { sx: { fontSize: \"55px\" } }\n\n if (variant === \"without_pause\") {\n return index === 0 ? (\n <PlayArrow {...iconProps} />\n ) : (\n <Stop {...iconProps} />\n )\n }\n\n switch (index) {\n case 0:\n return <PlayArrow {...iconProps} />\n case 1:\n return <Pause {...iconProps} />\n case 2:\n return <Stop {...iconProps} />\n default:\n return null\n }\n }\n\n const buttonConfigs = getButtonConfigs()\n\n return (\n <Box\n className={className}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n }}\n >\n <Box\n sx={{\n display: \"flex\",\n gap: \"40px\",\n flexWrap: \"wrap\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n {buttonConfigs.map((config, index) => (\n <Box\n key={config.label}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 1,\n }}\n >\n <Button\n variant=\"contained\"\n disabled={\n !config.enabled ||\n state === ProgramState.PREPARING ||\n state === ProgramState.STARTING ||\n state === ProgramState.PAUSING ||\n (state === ProgramState.STOPPING && !requiresManualReset)\n }\n onClick={config.onClick}\n sx={{\n width: \"88px\",\n height: \"88px\",\n borderRadius: \"88px\",\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n \"&:hover\": {\n backgroundColor: config.color,\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(\n state === ProgramState.STOPPING &&\n !requiresManualReset\n )\n ? 0.8\n : 0.3,\n },\n \"&:disabled\": {\n backgroundColor: config.color,\n opacity: 0.3,\n },\n minWidth: \"88px\",\n flexShrink: 0,\n }}\n >\n {getButtonIcon(index)}\n </Button>\n\n <Typography\n variant=\"body1\"\n sx={{\n color:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? config.color\n : theme.palette.text.disabled,\n textAlign: \"center\",\n opacity:\n config.enabled &&\n state !== ProgramState.PREPARING &&\n state !== ProgramState.STARTING &&\n state !== ProgramState.PAUSING &&\n !(state === ProgramState.STOPPING && !requiresManualReset)\n ? 1\n : 0.3,\n }}\n >\n {config.label}\n </Typography>\n </Box>\n ))}\n </Box>\n </Box>\n )\n },\n ),\n)\n","import { Chip, Typography, useTheme } from \"@mui/material\"\nimport type { OperationMode, SafetyStateType } from \"@wandelbots/nova-js/v2\"\nimport { observer } from \"mobx-react-lite\"\nimport { useTranslation } from \"react-i18next\"\nimport { externalizeComponent } from \"../externalizeComponent\"\nimport { ProgramState } from \"./ProgramControl\"\n\nexport interface ProgramStateIndicatorProps {\n /** The current state of the program */\n programState: ProgramState\n /** The current safety state of the robot controller */\n safetyState: SafetyStateType\n /** The current operation mode of the robot controller */\n operationMode: OperationMode\n /** Additional CSS class name */\n className?: string\n}\n\n/**\n * A state indicator component that displays the current program execution state\n * combined with robot controller safety and operation mode states.\n *\n * Features:\n * - Combines program state with safety and operation mode states\n * - Color-coded based on state severity (success, warning, error)\n * - Rendered as Material-UI filled chip\n * - Localization support via react-i18next\n */\nexport const ProgramStateIndicator = externalizeComponent(\n observer(\n ({\n programState,\n safetyState,\n operationMode,\n className,\n }: ProgramStateIndicatorProps) => {\n const theme = useTheme()\n const { t } = useTranslation()\n\n const getStateInfo = () => {\n // First check for emergency stop or critical safety states\n if (\n safetyState === \"SAFETY_STATE_DEVICE_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_ROBOT_EMERGENCY_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP_0\" ||\n safetyState === \"SAFETY_STATE_STOP_1\" ||\n safetyState === \"SAFETY_STATE_STOP_2\" ||\n safetyState === \"SAFETY_STATE_PROTECTIVE_STOP\" ||\n safetyState === \"SAFETY_STATE_STOP\" ||\n safetyState === \"SAFETY_STATE_REDUCED\" ||\n safetyState === \"SAFETY_STATE_MASTERING\" ||\n safetyState === \"SAFETY_STATE_CONFIRM_SAFETY\" ||\n safetyState === \"SAFETY_STATE_OPERATOR_SAFETY\" ||\n safetyState === \"SAFETY_STATE_RECOVERY\" ||\n safetyState === \"SAFETY_STATE_VIOLATION\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.EStop.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // Check for error states\n if (\n safetyState === \"SAFETY_STATE_UNKNOWN\" ||\n safetyState === \"SAFETY_STATE_FAULT\"\n ) {\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n }\n\n // For normal safety states, check program state\n if (safetyState === \"SAFETY_STATE_NORMAL\") {\n switch (programState) {\n case ProgramState.PREPARING:\n return {\n label: t(\"ProgramStateIndicator.Preparing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.STARTING:\n return {\n label: t(\"ProgramStateIndicator.Starting.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.RUNNING:\n return {\n label: t(\"ProgramStateIndicator.Running.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.PAUSING:\n return {\n label: t(\"ProgramStateIndicator.Pausing.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.PAUSED:\n return {\n label: t(\"ProgramStateIndicator.Paused.lb\"),\n color: theme.palette.grey[600],\n }\n case ProgramState.STOPPING:\n return {\n label: t(\"ProgramStateIndicator.Stopping.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.COMPLETED:\n return {\n label: t(\"ProgramStateIndicator.Completed.lb\"),\n color: theme.palette.success.main,\n }\n case ProgramState.FAILED:\n return {\n label: t(\"ProgramStateIndicator.Failed.lb\"),\n color: theme.palette.error.main,\n }\n case ProgramState.STOPPED:\n return {\n label: t(\"ProgramStateIndicator.Stopped.lb\"),\n color: theme.palette.warning.main,\n }\n case ProgramState.ERROR:\n return {\n label: t(\"ProgramStateIndicator.Error.lb\"),\n color: theme.palette.error.main,\n }\n case ProgramState.IDLE:\n default:\n return {\n label: t(\"ProgramStateIndicator.Ready.lb\"),\n color: theme.palette.success.main,\n }\n }\n }\n\n // Default fallback\n return {\n label: t(\"ProgramStateIndicator.Idle.lb\"),\n color: theme.palette.grey[600],\n }\n }\n\n const { label, color } = getStateInfo()\n\n // Add operation mode suffix if not automatic\n const getOperationModeText = () => {\n switch (operationMode) {\n case \"OPERATION_MODE_AUTO\":\n return t(\"ProgramStateIndicator.Auto.lb\")\n case \"OPERATION_MODE_MANUAL\":\n return t(\"ProgramStateIndicator.Manual.lb\")\n case \"OPERATION_MODE_MANUAL_T1\":\n return t(\"ProgramStateIndicator.ManualT1.lb\")\n case \"OPERATION_MODE_MANUAL_T2\":\n return t(\"ProgramStateIndicator.ManualT2.lb\")\n default:\n return t(\"ProgramStateIndicator.Auto.lb\") // Default to Auto for unknown modes\n }\n }\n\n const fullLabel = `${label} / ${getOperationModeText()}`\n\n return (\n <Chip\n className={className}\n label={\n <Typography\n variant=\"body2\"\n sx={{\n fontSize: \"0.75rem\", // Smaller than body2\n lineHeight: 1.2,\n }}\n >\n {fullLabel}\n </Typography>\n }\n variant=\"filled\"\n sx={{\n backgroundColor: color,\n color: theme.palette.getContrastText(color),\n fontWeight: 500,\n height: \"auto\",\n \"& .MuiChip-label\": {\n paddingX: 1.5,\n paddingY: 0.5,\n },\n }}\n />\n )\n },\n ),\n)\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nfunction __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nvar Event = /** @class */ (function () {\r\n function Event(type, target) {\r\n this.target = target;\r\n this.type = type;\r\n }\r\n return Event;\r\n}());\r\nvar ErrorEvent = /** @class */ (function (_super) {\r\n __extends(ErrorEvent, _super);\r\n function ErrorEvent(error, target) {\r\n var _this = _super.call(this, 'error', target) || this;\r\n _this.message = error.message;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorEvent;\r\n}(Event));\r\nvar CloseEvent = /** @class */ (function (_super) {\r\n __extends(CloseEvent, _super);\r\n function CloseEvent(code, reason, target) {\r\n if (code === void 0) { code = 1000; }\r\n if (reason === void 0) { reason = ''; }\r\n var _this = _super.call(this, 'close', target) || this;\r\n _this.wasClean = true;\r\n _this.code = code;\r\n _this.reason = reason;\r\n return _this;\r\n }\r\n return CloseEvent;\r\n}(Event));\n\n/*!\r\n * Reconnecting WebSocket\r\n * by Pedro Ladaria <pedro.ladaria@gmail.com>\r\n * https://github.com/pladaria/reconnecting-websocket\r\n * License MIT\r\n */\r\nvar getGlobalWebSocket = function () {\r\n if (typeof WebSocket !== 'undefined') {\r\n // @ts-ignore\r\n return WebSocket;\r\n }\r\n};\r\n/**\r\n * Returns true if given argument looks like a WebSocket class\r\n */\r\nvar isWebSocket = function (w) { return typeof w !== 'undefined' && !!w && w.CLOSING === 2; };\r\nvar DEFAULT = {\r\n maxReconnectionDelay: 10000,\r\n minReconnectionDelay: 1000 + Math.random() * 4000,\r\n minUptime: 5000,\r\n reconnectionDelayGrowFactor: 1.3,\r\n connectionTimeout: 4000,\r\n maxRetries: Infinity,\r\n maxEnqueuedMessages: Infinity,\r\n startClosed: false,\r\n debug: false,\r\n};\r\nvar ReconnectingWebSocket = /** @class */ (function () {\r\n function ReconnectingWebSocket(url, protocols, options) {\r\n var _this = this;\r\n if (options === void 0) { options = {}; }\r\n this._listeners = {\r\n error: [],\r\n message: [],\r\n open: [],\r\n close: [],\r\n };\r\n this._retryCount = -1;\r\n this._shouldReconnect = true;\r\n this._connectLock = false;\r\n this._binaryType = 'blob';\r\n this._closeCalled = false;\r\n this._messageQueue = [];\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\r\n */\r\n this.onclose = null;\r\n /**\r\n * An event listener to be called when an error occurs\r\n */\r\n this.onerror = null;\r\n /**\r\n * An event listener to be called when a message is received from the server\r\n */\r\n this.onmessage = null;\r\n /**\r\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\r\n * this indicates that the connection is ready to send and receive data\r\n */\r\n this.onopen = null;\r\n this._handleOpen = function (event) {\r\n _this._debug('open event');\r\n var _a = _this._options.minUptime, minUptime = _a === void 0 ? DEFAULT.minUptime : _a;\r\n clearTimeout(_this._connectTimeout);\r\n _this._uptimeTimeout = setTimeout(function () { return _this._acceptOpen(); }, minUptime);\r\n _this._ws.binaryType = _this._binaryType;\r\n // send enqueued messages (messages sent before websocket open event)\r\n _this._messageQueue.forEach(function (message) { return _this._ws.send(message); });\r\n _this._messageQueue = [];\r\n if (_this.onopen) {\r\n _this.onopen(event);\r\n }\r\n _this._listeners.open.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleMessage = function (event) {\r\n _this._debug('message event');\r\n if (_this.onmessage) {\r\n _this.onmessage(event);\r\n }\r\n _this._listeners.message.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._handleError = function (event) {\r\n _this._debug('error event', event.message);\r\n _this._disconnect(undefined, event.message === 'TIMEOUT' ? 'timeout' : undefined);\r\n if (_this.onerror) {\r\n _this.onerror(event);\r\n }\r\n _this._debug('exec error listeners');\r\n _this._listeners.error.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n _this._connect();\r\n };\r\n this._handleClose = function (event) {\r\n _this._debug('close event');\r\n _this._clearTimeouts();\r\n if (_this._shouldReconnect) {\r\n _this._connect();\r\n }\r\n if (_this.onclose) {\r\n _this.onclose(event);\r\n }\r\n _this._listeners.close.forEach(function (listener) { return _this._callEventListener(event, listener); });\r\n };\r\n this._url = url;\r\n this._protocols = protocols;\r\n this._options = options;\r\n if (this._options.startClosed) {\r\n this._shouldReconnect = false;\r\n }\r\n this._connect();\r\n }\r\n Object.defineProperty(ReconnectingWebSocket, \"CONNECTING\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"OPEN\", {\r\n get: function () {\r\n return 1;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSING\", {\r\n get: function () {\r\n return 2;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket, \"CLOSED\", {\r\n get: function () {\r\n return 3;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CONNECTING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"OPEN\", {\r\n get: function () {\r\n return ReconnectingWebSocket.OPEN;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSING\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"CLOSED\", {\r\n get: function () {\r\n return ReconnectingWebSocket.CLOSED;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"binaryType\", {\r\n get: function () {\r\n return this._ws ? this._ws.binaryType : this._binaryType;\r\n },\r\n set: function (value) {\r\n this._binaryType = value;\r\n if (this._ws) {\r\n this._ws.binaryType = value;\r\n }\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"retryCount\", {\r\n /**\r\n * Returns the number or connection retries\r\n */\r\n get: function () {\r\n return Math.max(this._retryCount, 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"bufferedAmount\", {\r\n /**\r\n * The number of bytes of data that have been queued using calls to send() but not yet\r\n * transmitted to the network. This value resets to zero once all queued data has been sent.\r\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\r\n * this will continue to climb. Read only\r\n */\r\n get: function () {\r\n var bytes = this._messageQueue.reduce(function (acc, message) {\r\n if (typeof message === 'string') {\r\n acc += message.length; // not byte size\r\n }\r\n else if (message instanceof Blob) {\r\n acc += message.size;\r\n }\r\n else {\r\n acc += message.byteLength;\r\n }\r\n return acc;\r\n }, 0);\r\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"extensions\", {\r\n /**\r\n * The extensions selected by the server. This is currently only the empty string or a list of\r\n * extensions as negotiated by the connection\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.extensions : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"protocol\", {\r\n /**\r\n * A string indicating the name of the sub-protocol the server selected;\r\n * this will be one of the strings specified in the protocols parameter when creating the\r\n * WebSocket object\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.protocol : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"readyState\", {\r\n /**\r\n * The current state of the connection; this is one of the Ready state constants\r\n */\r\n get: function () {\r\n if (this._ws) {\r\n return this._ws.readyState;\r\n }\r\n return this._options.startClosed\r\n ? ReconnectingWebSocket.CLOSED\r\n : ReconnectingWebSocket.CONNECTING;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(ReconnectingWebSocket.prototype, \"url\", {\r\n /**\r\n * The URL as resolved by the constructor\r\n */\r\n get: function () {\r\n return this._ws ? this._ws.url : '';\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\r\n * CLOSED, this method does nothing\r\n */\r\n ReconnectingWebSocket.prototype.close = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._closeCalled = true;\r\n this._shouldReconnect = false;\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n this._debug('close enqueued: no ws instance');\r\n return;\r\n }\r\n if (this._ws.readyState === this.CLOSED) {\r\n this._debug('close: already closed');\r\n return;\r\n }\r\n this._ws.close(code, reason);\r\n };\r\n /**\r\n * Closes the WebSocket connection or connection attempt and connects again.\r\n * Resets retry counter;\r\n */\r\n ReconnectingWebSocket.prototype.reconnect = function (code, reason) {\r\n this._shouldReconnect = true;\r\n this._closeCalled = false;\r\n this._retryCount = -1;\r\n if (!this._ws || this._ws.readyState === this.CLOSED) {\r\n this._connect();\r\n }\r\n else {\r\n this._disconnect(code, reason);\r\n this._connect();\r\n }\r\n };\r\n /**\r\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\r\n */\r\n ReconnectingWebSocket.prototype.send = function (data) {\r\n if (this._ws && this._ws.readyState === this.OPEN) {\r\n this._debug('send', data);\r\n this._ws.send(data);\r\n }\r\n else {\r\n var _a = this._options.maxEnqueuedMessages, maxEnqueuedMessages = _a === void 0 ? DEFAULT.maxEnqueuedMessages : _a;\r\n if (this._messageQueue.length < maxEnqueuedMessages) {\r\n this._debug('enqueue', data);\r\n this._messageQueue.push(data);\r\n }\r\n }\r\n };\r\n /**\r\n * Register an event handler of a specific event type\r\n */\r\n ReconnectingWebSocket.prototype.addEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type].push(listener);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype.dispatchEvent = function (event) {\r\n var e_1, _a;\r\n var listeners = this._listeners[event.type];\r\n if (listeners) {\r\n try {\r\n for (var listeners_1 = __values(listeners), listeners_1_1 = listeners_1.next(); !listeners_1_1.done; listeners_1_1 = listeners_1.next()) {\r\n var listener = listeners_1_1.value;\r\n this._callEventListener(event, listener);\r\n }\r\n }\r\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\r\n finally {\r\n try {\r\n if (listeners_1_1 && !listeners_1_1.done && (_a = listeners_1.return)) _a.call(listeners_1);\r\n }\r\n finally { if (e_1) throw e_1.error; }\r\n }\r\n }\r\n return true;\r\n };\r\n /**\r\n * Removes an event listener\r\n */\r\n ReconnectingWebSocket.prototype.removeEventListener = function (type, listener) {\r\n if (this._listeners[type]) {\r\n // @ts-ignore\r\n this._listeners[type] = this._listeners[type].filter(function (l) { return l !== listener; });\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._debug = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (this._options.debug) {\r\n // not using spread because compiled version uses Symbols\r\n // tslint:disable-next-line\r\n console.log.apply(console, __spread(['RWS>'], args));\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._getNextDelay = function () {\r\n var _a = this._options, _b = _a.reconnectionDelayGrowFactor, reconnectionDelayGrowFactor = _b === void 0 ? DEFAULT.reconnectionDelayGrowFactor : _b, _c = _a.minReconnectionDelay, minReconnectionDelay = _c === void 0 ? DEFAULT.minReconnectionDelay : _c, _d = _a.maxReconnectionDelay, maxReconnectionDelay = _d === void 0 ? DEFAULT.maxReconnectionDelay : _d;\r\n var delay = 0;\r\n if (this._retryCount > 0) {\r\n delay =\r\n minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, this._retryCount - 1);\r\n if (delay > maxReconnectionDelay) {\r\n delay = maxReconnectionDelay;\r\n }\r\n }\r\n this._debug('next delay', delay);\r\n return delay;\r\n };\r\n ReconnectingWebSocket.prototype._wait = function () {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n setTimeout(resolve, _this._getNextDelay());\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._getNextUrl = function (urlProvider) {\r\n if (typeof urlProvider === 'string') {\r\n return Promise.resolve(urlProvider);\r\n }\r\n if (typeof urlProvider === 'function') {\r\n var url = urlProvider();\r\n if (typeof url === 'string') {\r\n return Promise.resolve(url);\r\n }\r\n if (!!url.then) {\r\n return url;\r\n }\r\n }\r\n throw Error('Invalid URL');\r\n };\r\n ReconnectingWebSocket.prototype._connect = function () {\r\n var _this = this;\r\n if (this._connectLock || !this._shouldReconnect) {\r\n return;\r\n }\r\n this._connectLock = true;\r\n var _a = this._options, _b = _a.maxRetries, maxRetries = _b === void 0 ? DEFAULT.maxRetries : _b, _c = _a.connectionTimeout, connectionTimeout = _c === void 0 ? DEFAULT.connectionTimeout : _c, _d = _a.WebSocket, WebSocket = _d === void 0 ? getGlobalWebSocket() : _d;\r\n if (this._retryCount >= maxRetries) {\r\n this._debug('max retries reached', this._retryCount, '>=', maxRetries);\r\n return;\r\n }\r\n this._retryCount++;\r\n this._debug('connect', this._retryCount);\r\n this._removeListeners();\r\n if (!isWebSocket(WebSocket)) {\r\n throw Error('No valid WebSocket class provided');\r\n }\r\n this._wait()\r\n .then(function () { return _this._getNextUrl(_this._url); })\r\n .then(function (url) {\r\n // close could be called before creating the ws\r\n if (_this._closeCalled) {\r\n return;\r\n }\r\n _this._debug('connect', { url: url, protocols: _this._protocols });\r\n _this._ws = _this._protocols\r\n ? new WebSocket(url, _this._protocols)\r\n : new WebSocket(url);\r\n _this._ws.binaryType = _this._binaryType;\r\n _this._connectLock = false;\r\n _this._addListeners();\r\n _this._connectTimeout = setTimeout(function () { return _this._handleTimeout(); }, connectionTimeout);\r\n });\r\n };\r\n ReconnectingWebSocket.prototype._handleTimeout = function () {\r\n this._debug('timeout event');\r\n this._handleError(new ErrorEvent(Error('TIMEOUT'), this));\r\n };\r\n ReconnectingWebSocket.prototype._disconnect = function (code, reason) {\r\n if (code === void 0) { code = 1000; }\r\n this._clearTimeouts();\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._removeListeners();\r\n try {\r\n this._ws.close(code, reason);\r\n this._handleClose(new CloseEvent(code, reason, this));\r\n }\r\n catch (error) {\r\n // ignore\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._acceptOpen = function () {\r\n this._debug('accept open');\r\n this._retryCount = 0;\r\n };\r\n ReconnectingWebSocket.prototype._callEventListener = function (event, listener) {\r\n if ('handleEvent' in listener) {\r\n // @ts-ignore\r\n listener.handleEvent(event);\r\n }\r\n else {\r\n // @ts-ignore\r\n listener(event);\r\n }\r\n };\r\n ReconnectingWebSocket.prototype._removeListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('removeListeners');\r\n this._ws.removeEventListener('open', this._handleOpen);\r\n this._ws.removeEventListener('close', this._handleClose);\r\n this._ws.removeEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.removeEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._addListeners = function () {\r\n if (!this._ws) {\r\n return;\r\n }\r\n this._debug('addListeners');\r\n this._ws.addEventListener('open', this._handleOpen);\r\n this._ws.addEventListener('close', this._handleClose);\r\n this._ws.addEventListener('message', this._handleMessage);\r\n // @ts-ignore\r\n this._ws.addEventListener('error', this._handleError);\r\n };\r\n ReconnectingWebSocket.prototype._clearTimeouts = function () {\r\n clearTimeout(this._connectTimeout);\r\n clearTimeout(this._uptimeTimeout);\r\n };\r\n return ReconnectingWebSocket;\r\n}());\n\nexport default ReconnectingWebSocket;\n","import ReconnectingWebSocket from \"reconnecting-websocket\";\n\n//#region src/lib/AutoReconnectingWebsocket.ts\nvar AutoReconnectingWebsocket = class extends ReconnectingWebSocket {\n\tconstructor(targetUrl, opts = {}) {\n\t\tconsole.log(\"Opening websocket to\", targetUrl);\n\t\tsuper(() => this.targetUrl || targetUrl, void 0, { startClosed: true });\n\t\tthis.opts = opts;\n\t\tthis.disposed = false;\n\t\tObject.defineProperty(this, \"url\", { get() {\n\t\t\treturn this.targetUrl;\n\t\t} });\n\t\tthis.targetUrl = targetUrl;\n\t\tthis.addEventListener(\"open\", () => {\n\t\t\tconsole.log(`Websocket to ${this.url} opened`);\n\t\t});\n\t\tthis.addEventListener(\"message\", (ev) => {\n\t\t\tif (!this.receivedFirstMessage) this.receivedFirstMessage = ev;\n\t\t});\n\t\tthis.addEventListener(\"close\", () => {\n\t\t\tconsole.log(`Websocket to ${this.url} closed`);\n\t\t});\n\t\tconst origReconnect = this.reconnect;\n\t\tthis.reconnect = () => {\n\t\t\tif (this.opts.mock) this.opts.mock.handleWebsocketConnection(this);\n\t\t\telse origReconnect.apply(this);\n\t\t};\n\t\tthis.reconnect();\n\t}\n\tchangeUrl(targetUrl) {\n\t\tthis.receivedFirstMessage = void 0;\n\t\tthis.targetUrl = targetUrl;\n\t\tthis.reconnect();\n\t}\n\tsendJson(data) {\n\t\tif (this.opts.mock) this.opts.mock.handleWebsocketMessage(this, JSON.stringify(data));\n\t\telse this.send(JSON.stringify(data));\n\t}\n\t/**\n\t* Permanently close this websocket and indicate that\n\t* this object should not be used again.\n\t**/\n\tdispose() {\n\t\tthis.close();\n\t\tthis.disposed = true;\n\t\tif (this.opts.onDispose) this.opts.onDispose();\n\t}\n\t/**\n\t* Returns a promise that resolves once the websocket\n\t* is in the OPEN state. */\n\tasync opened() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (this.readyState === WebSocket.OPEN) resolve();\n\t\t\telse {\n\t\t\t\tthis.addEventListener(\"open\", () => resolve());\n\t\t\t\tthis.addEventListener(\"error\", reject);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves once the websocket\n\t* is in the CLOSED state. */\n\tasync closed() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tif (this.readyState === WebSocket.CLOSED) resolve();\n\t\t\telse {\n\t\t\t\tthis.addEventListener(\"close\", () => resolve());\n\t\t\t\tthis.addEventListener(\"error\", reject);\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves when the first message\n\t* is received from the websocket. Resolves immediately if\n\t* the first message has already been received.\n\t*/\n\tasync firstMessage() {\n\t\tif (this.receivedFirstMessage) return this.receivedFirstMessage;\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onMessage = (ev) => {\n\t\t\t\tthis.receivedFirstMessage = ev;\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\tresolve(ev);\n\t\t\t};\n\t\t\tconst onError = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\treject(ev);\n\t\t\t};\n\t\t\tthis.addEventListener(\"message\", onMessage);\n\t\t\tthis.addEventListener(\"error\", onError);\n\t\t});\n\t}\n\t/**\n\t* Returns a promise that resolves when the next message\n\t* is received from the websocket.\n\t*/\n\tasync nextMessage() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst onMessage = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\tresolve(ev);\n\t\t\t};\n\t\t\tconst onError = (ev) => {\n\t\t\t\tthis.removeEventListener(\"message\", onMessage);\n\t\t\t\tthis.removeEventListener(\"error\", onError);\n\t\t\t\treject(ev);\n\t\t\t};\n\t\t\tthis.addEventListener(\"message\", onMessage);\n\t\t\tthis.addEventListener(\"error\", onError);\n\t\t});\n\t}\n};\n\n//#endregion\n//#region src/lib/availableStorage.ts\n/**\n* Safety wrapper around browser localStorage providing context availability\n* checks and JSON parsing\n*/\nvar AvailableStorage = class {\n\tconstructor() {\n\t\tthis.available = typeof window !== \"undefined\" && !!window.localStorage;\n\t}\n\tgetJSON(key) {\n\t\tif (!this.available) return null;\n\t\tconst result = window.localStorage.getItem(key);\n\t\tif (result === null) return null;\n\t\ttry {\n\t\t\treturn JSON.parse(result);\n\t\t} catch (err) {\n\t\t\treturn null;\n\t\t}\n\t}\n\tsetJSON(key, obj) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.setItem(key, JSON.stringify(obj));\n\t}\n\tdelete(key) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.removeItem(key);\n\t}\n\tsetString(key, value) {\n\t\tif (!this.available) return null;\n\t\twindow.localStorage.setItem(key, value);\n\t}\n\tgetString(key) {\n\t\tif (!this.available) return null;\n\t\treturn window.localStorage.getItem(key);\n\t}\n};\nconst availableStorage = new AvailableStorage();\n\n//#endregion\n//#region src/lib/converters.ts\n/**\n* Parse a string as a URL, with options to enforce or default the scheme.\n*/\nfunction parseUrl(url, options = {}) {\n\tconst { scheme, defaultScheme } = options;\n\tconst schemeRegex = /^[a-zA-Z]+:\\/\\//;\n\tif (scheme) {\n\t\turl = url.replace(schemeRegex, \"\");\n\t\turl = `${scheme}://${url}`;\n\t} else if (defaultScheme && !schemeRegex.test(url)) url = `${defaultScheme}://${url}`;\n\treturn new URL(url);\n}\n/**\n* Attempt to parse a string as a URL; return undefined if we can't\n*/\nfunction tryParseUrl(url, options = {}) {\n\ttry {\n\t\treturn parseUrl(url, options);\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Permissively parse a NOVA instance URL from a config variable.\n* If scheme is not specified, defaults to https for *.wandelbots.io hosts,\n* and http otherwise.\n* Throws an error if a valid URL could not be determined.\n*/\nfunction parseNovaInstanceUrl(url) {\n\tif (tryParseUrl(url, { defaultScheme: \"http\" })?.host.endsWith(\".wandelbots.io\")) return parseUrl(url, { defaultScheme: \"https\" });\n\telse return parseUrl(url, { defaultScheme: \"http\" });\n}\n/** Try to parse something as JSON; return undefined if we can't */\nfunction tryParseJson(json) {\n\ttry {\n\t\treturn JSON.parse(json);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Try to turn something into JSON; return undefined if we can't */\nfunction tryStringifyJson(json) {\n\ttry {\n\t\treturn JSON.stringify(json);\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Converts object parameters to query string.\n* e.g. { a: \"1\", b: \"2\" } => \"?a=1&b=2\"\n* {} => \"\"\n*/\nfunction makeUrlQueryString(obj) {\n\tconst str = new URLSearchParams(obj).toString();\n\treturn str ? `?${str}` : \"\";\n}\n/** Convert radians to degrees */\nfunction radiansToDegrees(radians) {\n\treturn radians * (180 / Math.PI);\n}\n/** Convert degrees to radians */\nfunction degreesToRadians(degrees) {\n\treturn degrees * (Math.PI / 180);\n}\n/**\n* Check for coordinate system id equivalence, accounting for the \"world\" default\n* on empty/undefined values.\n*/\nfunction isSameCoordinateSystem(firstCoordSystem, secondCoordSystem) {\n\tif (!firstCoordSystem) firstCoordSystem = \"world\";\n\tif (!secondCoordSystem) secondCoordSystem = \"world\";\n\treturn firstCoordSystem === secondCoordSystem;\n}\n/**\n* Helpful const for converting {x, y, z} to [x, y, z] and vice versa\n*/\nconst XYZ_TO_VECTOR = {\n\tx: 0,\n\ty: 1,\n\tz: 2\n};\n\n//#endregion\n//#region src/LoginWithAuth0.ts\n/**\n* Mapping of stages to Auth0 configurations.\n* The client ids are public identifiers for a specific auth0 application\n* and are safe to include in client-side code.\n* https://auth0.com/docs/get-started/applications/application-settings\n*/\nconst auth0ConfigMap = {\n\tdev: {\n\t\tdomain: `https://auth.portal.dev.wandelbots.io`,\n\t\tclientId: \"fLbJD0RLp5r2Dpucm5j8BjwMR6Hunfha\"\n\t},\n\tstg: {\n\t\tdomain: `https://auth.portal.stg.wandelbots.io`,\n\t\tclientId: \"joVDeD9e786WzFNSGCqoVq7HNkWt5j6s\"\n\t},\n\tprod: {\n\t\tdomain: `https://auth.portal.wandelbots.io`,\n\t\tclientId: \"J7WJUi38xVQdJAEBNRT9Xw1b0fXDb4J2\"\n\t}\n};\n/** Determine which Auth0 configuration to use based on instance URL */\nconst getAuth0Config = (instanceUrl) => {\n\tif (instanceUrl.host.endsWith(\".dev.wandelbots.io\")) return auth0ConfigMap.dev;\n\tif (instanceUrl.host.endsWith(\".stg.wandelbots.io\")) return auth0ConfigMap.stg;\n\tif (instanceUrl.host.endsWith(\".wandelbots.io\")) return auth0ConfigMap.prod;\n\tthrow new Error(`Unable to authenticate with NOVA instance \"${instanceUrl}\". Auth0 login is only supported for cloud instances with hosts of the form \"**.wandelbots.io\".`);\n};\n/**\n* Initializes Auth0 login process using redirect if necessary and retrieves an access token.\n* Returns null when an access token should not be needed to authenticate (i.e. cookie auth\n* when deployed on the instance domain)\n*/\nconst loginWithAuth0 = async (instanceUrl) => {\n\tif (typeof window === \"undefined\") throw new Error(`Access token must be set to use NovaClient when not in a browser environment.`);\n\tif (instanceUrl.origin === window.location.origin) {\n\t\twindow.location.reload();\n\t\tthrow new Error(\"Failed to reload page to get auth details, please refresh manually\");\n\t}\n\tconst { Auth0Client } = await import(\"@auth0/auth0-spa-js\");\n\tconst auth0Config = getAuth0Config(instanceUrl);\n\tconst auth0Client = new Auth0Client({\n\t\tdomain: auth0Config.domain,\n\t\tclientId: auth0Config.clientId ?? \"\",\n\t\tuseRefreshTokens: false,\n\t\tauthorizationParams: {\n\t\t\taudience: \"nova-api\",\n\t\t\tredirect_uri: window.location.origin\n\t\t}\n\t});\n\tif (window.location.search.includes(\"code=\") && window.location.search.includes(\"state=\")) {\n\t\tconst { appState } = await auth0Client.handleRedirectCallback();\n\t\twindow.history.replaceState({}, document.title, appState?.returnTo || window.location.pathname);\n\t} else await auth0Client.loginWithRedirect();\n\treturn await auth0Client.getTokenSilently();\n};\n\n//#endregion\nexport { isSameCoordinateSystem as a, parseUrl as c, tryParseUrl as d, tryStringifyJson as f, degreesToRadians as i, radiansToDegrees as l, AutoReconnectingWebsocket as m, loginWithAuth0 as n, makeUrlQueryString as o, availableStorage as p, XYZ_TO_VECTOR as r, parseNovaInstanceUrl as s, getAuth0Config as t, tryParseJson as u };\n//# sourceMappingURL=LoginWithAuth0-BAGhME4k.mjs.map","function normalize (strArray) {\n var resultArray = [];\n if (strArray.length === 0) { return ''; }\n\n if (typeof strArray[0] !== 'string') {\n throw new TypeError('Url must be a string. Received ' + strArray[0]);\n }\n\n // If the first part is a plain protocol, we combine it with the next part.\n if (strArray[0].match(/^[^/:]+:\\/*$/) && strArray.length > 1) {\n var first = strArray.shift();\n strArray[0] = first + strArray[0];\n }\n\n // There must be two or three slashes in the file protocol, two slashes in anything else.\n if (strArray[0].match(/^file:\\/\\/\\//)) {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1:///');\n } else {\n strArray[0] = strArray[0].replace(/^([^/:]+):\\/*/, '$1://');\n }\n\n for (var i = 0; i < strArray.length; i++) {\n var component = strArray[i];\n\n if (typeof component !== 'string') {\n throw new TypeError('Url must be a string. Received ' + component);\n }\n\n if (component === '') { continue; }\n\n if (i > 0) {\n // Removing the starting slashes for each component but the first.\n component = component.replace(/^[\\/]+/, '');\n }\n if (i < strArray.length - 1) {\n // Removing the ending slashes for each component but the last.\n component = component.replace(/[\\/]+$/, '');\n } else {\n // For the last component we will combine multiple slashes to a single one.\n component = component.replace(/[\\/]+$/, '/');\n }\n\n resultArray.push(component);\n\n }\n\n var str = resultArray.join('/');\n // Each input component is now separated by a single slash except the possible first plain protocol part.\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n var parts = str.split('?');\n str = parts.shift() + (parts.length > 0 ? '?': '') + parts.join('&');\n\n return str;\n}\n\nexport default function urlJoin() {\n var input;\n\n if (typeof arguments[0] === 'object') {\n input = arguments[0];\n } else {\n input = [].slice.call(arguments);\n }\n\n return normalize(input);\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathError = exports.TokenData = void 0;\nexports.parse = parse;\nexports.compile = compile;\nexports.match = match;\nexports.pathToRegexp = pathToRegexp;\nexports.stringify = stringify;\nconst DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\nconst SIMPLE_TOKENS = {\n // Groups.\n \"{\": \"{\",\n \"}\": \"}\",\n // Reserved.\n \"(\": \"(\",\n \")\": \")\",\n \"[\": \"[\",\n \"]\": \"]\",\n \"+\": \"+\",\n \"?\": \"?\",\n \"!\": \"!\",\n};\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str) {\n return str.replace(/[{}()\\[\\]+?!:*\\\\]/g, \"\\\\$&\");\n}\n/**\n * Escape a regular expression string.\n */\nfunction escape(str) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n/**\n * Tokenized path instance.\n */\nclass TokenData {\n constructor(tokens, originalPath) {\n this.tokens = tokens;\n this.originalPath = originalPath;\n }\n}\nexports.TokenData = TokenData;\n/**\n * ParseError is thrown when there is an error processing the path.\n */\nclass PathError extends TypeError {\n constructor(message, originalPath) {\n let text = message;\n if (originalPath)\n text += `: ${originalPath}`;\n text += `; visit https://git.new/pathToRegexpError for info`;\n super(text);\n this.originalPath = originalPath;\n }\n}\nexports.PathError = PathError;\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options = {}) {\n const { encodePath = NOOP_VALUE } = options;\n const chars = [...str];\n const tokens = [];\n let index = 0;\n let pos = 0;\n function name() {\n let value = \"\";\n if (ID_START.test(chars[index])) {\n do {\n value += chars[index++];\n } while (ID_CONTINUE.test(chars[index]));\n }\n else if (chars[index] === '\"') {\n let quoteStart = index;\n while (index++ < chars.length) {\n if (chars[index] === '\"') {\n index++;\n quoteStart = 0;\n break;\n }\n // Increment over escape characters.\n if (chars[index] === \"\\\\\")\n index++;\n value += chars[index];\n }\n if (quoteStart) {\n throw new PathError(`Unterminated quote at index ${quoteStart}`, str);\n }\n }\n if (!value) {\n throw new PathError(`Missing parameter name at index ${index}`, str);\n }\n return value;\n }\n while (index < chars.length) {\n const value = chars[index];\n const type = SIMPLE_TOKENS[value];\n if (type) {\n tokens.push({ type, index: index++, value });\n }\n else if (value === \"\\\\\") {\n tokens.push({ type: \"escape\", index: index++, value: chars[index++] });\n }\n else if (value === \":\") {\n tokens.push({ type: \"param\", index: index++, value: name() });\n }\n else if (value === \"*\") {\n tokens.push({ type: \"wildcard\", index: index++, value: name() });\n }\n else {\n tokens.push({ type: \"char\", index: index++, value });\n }\n }\n tokens.push({ type: \"end\", index, value: \"\" });\n function consumeUntil(endType) {\n const output = [];\n while (true) {\n const token = tokens[pos++];\n if (token.type === endType)\n break;\n if (token.type === \"char\" || token.type === \"escape\") {\n let path = token.value;\n let cur = tokens[pos];\n while (cur.type === \"char\" || cur.type === \"escape\") {\n path += cur.value;\n cur = tokens[++pos];\n }\n output.push({\n type: \"text\",\n value: encodePath(path),\n });\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n output.push({\n type: token.type,\n name: token.value,\n });\n continue;\n }\n if (token.type === \"{\") {\n output.push({\n type: \"group\",\n tokens: consumeUntil(\"}\"),\n });\n continue;\n }\n throw new PathError(`Unexpected ${token.type} at index ${token.index}, expected ${endType}`, str);\n }\n return output;\n }\n return new TokenData(consumeUntil(\"end\"), str);\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(path, options = {}) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const data = typeof path === \"object\" ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n return function path(params = {}) {\n const [path, ...missing] = fn(params);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\nfunction tokensToFunction(tokens, delimiter, encode) {\n const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));\n return (data) => {\n const result = [\"\"];\n for (const encoder of encoders) {\n const [value, ...extras] = encoder(data);\n result[0] += value;\n result.push(...extras);\n }\n return result;\n };\n}\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(token, delimiter, encode) {\n if (token.type === \"text\")\n return () => [token.value];\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n return (data) => {\n const [value, ...missing] = fn(data);\n if (!missing.length)\n return [value];\n return [\"\"];\n };\n }\n const encodeValue = encode || NOOP_VALUE;\n if (token.type === \"wildcard\" && encode !== false) {\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n return [\n value\n .map((value, index) => {\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}/${index}\" to be a string`);\n }\n return encodeValue(value);\n })\n .join(delimiter),\n ];\n };\n }\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n return [encodeValue(value)];\n };\n}\n/**\n * Transform a path into a match function.\n */\nfunction match(path, options = {}) {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const { regexp, keys } = pathToRegexp(path, options);\n const decoders = keys.map((key) => {\n if (decode === false)\n return NOOP_VALUE;\n if (key.type === \"param\")\n return decode;\n return (value) => value.split(delimiter).map(decode);\n });\n return function match(input) {\n const m = regexp.exec(input);\n if (!m)\n return false;\n const path = m[0];\n const params = Object.create(null);\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined)\n continue;\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n return { path, params };\n };\n}\nfunction pathToRegexp(path, options = {}) {\n const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options;\n const keys = [];\n const flags = sensitive ? \"\" : \"i\";\n const sources = [];\n for (const input of pathsToArray(path, [])) {\n const data = typeof input === \"object\" ? input : parse(input, options);\n for (const tokens of flatten(data.tokens, 0, [])) {\n sources.push(toRegExpSource(tokens, delimiter, keys, data.originalPath));\n }\n }\n let pattern = `^(?:${sources.join(\"|\")})`;\n if (trailing)\n pattern += `(?:${escape(delimiter)}$)?`;\n pattern += end ? \"$\" : `(?=${escape(delimiter)}|$)`;\n const regexp = new RegExp(pattern, flags);\n return { regexp, keys };\n}\n/**\n * Convert a path or array of paths into a flat array.\n */\nfunction pathsToArray(paths, init) {\n if (Array.isArray(paths)) {\n for (const p of paths)\n pathsToArray(p, init);\n }\n else {\n init.push(paths);\n }\n return init;\n}\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction* flatten(tokens, index, init) {\n if (index === tokens.length) {\n return yield init;\n }\n const token = tokens[index];\n if (token.type === \"group\") {\n for (const seq of flatten(token.tokens, 0, init.slice())) {\n yield* flatten(tokens, index + 1, seq);\n }\n }\n else {\n init.push(token);\n }\n yield* flatten(tokens, index + 1, init);\n}\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction toRegExpSource(tokens, delimiter, keys, originalPath) {\n let result = \"\";\n let backtrack = \"\";\n let isSafeSegmentParam = true;\n for (const token of tokens) {\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter));\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (!isSafeSegmentParam && !backtrack) {\n throw new PathError(`Missing text before \"${token.name}\" ${token.type}`, originalPath);\n }\n if (token.type === \"param\") {\n result += `(${negate(delimiter, isSafeSegmentParam ? \"\" : backtrack)}+)`;\n }\n else {\n result += `([\\\\s\\\\S]+)`;\n }\n keys.push(token);\n backtrack = \"\";\n isSafeSegmentParam = false;\n continue;\n }\n }\n return result;\n}\n/**\n * Block backtracking on previous text and ignore delimiter string.\n */\nfunction negate(delimiter, backtrack) {\n if (backtrack.length < 2) {\n if (delimiter.length < 2)\n return `[^${escape(delimiter + backtrack)}]`;\n return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;\n }\n if (delimiter.length < 2) {\n return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;\n }\n return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\\\s\\\\S])`;\n}\n/**\n * Stringify an array of tokens into a path string.\n */\nfunction stringifyTokens(tokens) {\n let value = \"\";\n let i = 0;\n function name(value) {\n const isSafe = isNameSafe(value) && isNextNameSafe(tokens[i]);\n return isSafe ? value : JSON.stringify(value);\n }\n while (i < tokens.length) {\n const token = tokens[i++];\n if (token.type === \"text\") {\n value += escapeText(token.value);\n continue;\n }\n if (token.type === \"group\") {\n value += `{${stringifyTokens(token.tokens)}}`;\n continue;\n }\n if (token.type === \"param\") {\n value += `:${name(token.name)}`;\n continue;\n }\n if (token.type === \"wildcard\") {\n value += `*${name(token.name)}`;\n continue;\n }\n throw new TypeError(`Unknown token type: ${token.type}`);\n }\n return value;\n}\n/**\n * Stringify token data into a path string.\n */\nfunction stringify(data) {\n return stringifyTokens(data.tokens);\n}\n/**\n * Validate the parameter name contains valid ID characters.\n */\nfunction isNameSafe(name) {\n const [first, ...rest] = name;\n return ID_START.test(first) && rest.every((char) => ID_CONTINUE.test(char));\n}\n/**\n * Validate the next token does not interfere with the current param name.\n */\nfunction isNextNameSafe(token) {\n if (token && token.type === \"text\")\n return !ID_CONTINUE.test(token.value[0]);\n return true;\n}\n//# sourceMappingURL=index.js.map","//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/typeof.js\nfunction _typeof(o) {\n\t\"@babel/helpers - typeof\";\n\treturn _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function(o$1) {\n\t\treturn typeof o$1;\n\t} : function(o$1) {\n\t\treturn o$1 && \"function\" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? \"symbol\" : typeof o$1;\n\t}, _typeof(o);\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/toPrimitive.js\nfunction toPrimitive(t, r) {\n\tif (\"object\" != _typeof(t) || !t) return t;\n\tvar e = t[Symbol.toPrimitive];\n\tif (void 0 !== e) {\n\t\tvar i = e.call(t, r || \"default\");\n\t\tif (\"object\" != _typeof(i)) return i;\n\t\tthrow new TypeError(\"@@toPrimitive must return a primitive value.\");\n\t}\n\treturn (\"string\" === r ? String : Number)(t);\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/toPropertyKey.js\nfunction toPropertyKey(t) {\n\tvar i = toPrimitive(t, \"string\");\n\treturn \"symbol\" == _typeof(i) ? i : i + \"\";\n}\n\n//#endregion\n//#region node_modules/.pnpm/@oxc-project+runtime@0.87.0/node_modules/@oxc-project/runtime/src/helpers/esm/defineProperty.js\nfunction _defineProperty(e, r, t) {\n\treturn (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n\t\tvalue: t,\n\t\tenumerable: !0,\n\t\tconfigurable: !0,\n\t\twritable: !0\n\t}) : e[r] = t, e;\n}\n\n//#endregion\nexport { _defineProperty };","import { _defineProperty } from \"../defineProperty-CQ_RnIQg.js\";\nimport globalAxios from \"axios\";\n\n//#region v2/base.ts\nconst BASE_PATH = \"/api/v2\".replace(/\\/+$/, \"\");\nconst COLLECTION_FORMATS = {\n\tcsv: \",\",\n\tssv: \" \",\n\ttsv: \"\t\",\n\tpipes: \"|\"\n};\nvar BaseAPI = class {\n\tconstructor(configuration, basePath = BASE_PATH, axios = globalAxios) {\n\t\tthis.basePath = basePath;\n\t\tthis.axios = axios;\n\t\t_defineProperty(this, \"configuration\", void 0);\n\t\tif (configuration) {\n\t\t\tthis.configuration = configuration;\n\t\t\tthis.basePath = configuration.basePath ?? basePath;\n\t\t}\n\t}\n};\nvar RequiredError = class extends Error {\n\tconstructor(field, msg) {\n\t\tsuper(msg);\n\t\tthis.field = field;\n\t\tthis.name = \"RequiredError\";\n\t}\n};\nconst operationServerMap = {};\n\n//#endregion\n//#region v2/common.ts\nconst DUMMY_BASE_URL = \"https://example.com\";\n/**\n*\n* @throws {RequiredError}\n*/\nconst assertParamExists = function(functionName, paramName, paramValue) {\n\tif (paramValue === null || paramValue === void 0) throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n};\nconst setBasicAuthToObject = function(object, configuration) {\n\tif (configuration && (configuration.username || configuration.password)) object[\"auth\"] = {\n\t\tusername: configuration.username,\n\t\tpassword: configuration.password\n\t};\n};\nconst setBearerAuthToObject = async function(object, configuration) {\n\tif (configuration && configuration.accessToken) object[\"Authorization\"] = \"Bearer \" + (typeof configuration.accessToken === \"function\" ? await configuration.accessToken() : await configuration.accessToken);\n};\nfunction setFlattenedQueryParams(urlSearchParams, parameter, key = \"\") {\n\tif (parameter == null) return;\n\tif (typeof parameter === \"object\") if (Array.isArray(parameter)) parameter.forEach((item) => setFlattenedQueryParams(urlSearchParams, item, key));\n\telse Object.keys(parameter).forEach((currentKey) => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== \"\" ? \".\" : \"\"}${currentKey}`));\n\telse if (urlSearchParams.has(key)) urlSearchParams.append(key, parameter);\n\telse urlSearchParams.set(key, parameter);\n}\nconst setSearchParams = function(url, ...objects) {\n\tconst searchParams = new URLSearchParams(url.search);\n\tsetFlattenedQueryParams(searchParams, objects);\n\turl.search = searchParams.toString();\n};\nconst serializeDataIfNeeded = function(value, requestOptions, configuration) {\n\tconst nonString = typeof value !== \"string\";\n\treturn (nonString && configuration && configuration.isJsonMime ? configuration.isJsonMime(requestOptions.headers[\"Content-Type\"]) : nonString) ? JSON.stringify(value !== void 0 ? value : {}) : value || \"\";\n};\nconst toPathString = function(url) {\n\treturn url.pathname + url.search + url.hash;\n};\nconst createRequestFunction = function(axiosArgs, globalAxios$1, BASE_PATH$1, configuration) {\n\treturn (axios = globalAxios$1, basePath = BASE_PATH$1) => {\n\t\tconst axiosRequestArgs = {\n\t\t\t...axiosArgs.options,\n\t\t\turl: (axios.defaults.baseURL ? \"\" : configuration?.basePath ?? basePath) + axiosArgs.url\n\t\t};\n\t\treturn axios.request(axiosRequestArgs);\n\t};\n};\n\n//#endregion\n//#region v2/api.ts\nconst AbbControllerKindEnum = { AbbController: \"AbbController\" };\n/**\n* ## BEHAVIOR_AUTOMATIC This is the default behavior. The motion groups of the controller take commanded joint configuration as actual joint state. Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the virtual robot will act like a physical one, e.g., with a cycle time of 8ms to respond to a new joint state command. ## BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME Configures the compliance of the virtual robot with the normal ControllerState cycle time. If set, the robot will respond as fast as possible, limited only by software execution speed. Because of that the execution of a movement requires less time than with BEHAVIOR_AUTOMATIC. ## BEHAVIOR_EXTERNAL_SOURCE The external client is the only source of actual joint state changes. This mode is used to enable third party software indicating the current joint state via [externalJointsStream](externalJointsStream). \n*/\nconst Behavior = {\n\tBehaviorAutomatic: \"BEHAVIOR_AUTOMATIC\",\n\tBehaviorAutomaticNotComplyWithCycletime: \"BEHAVIOR_AUTOMATIC_NOT_COMPLY_WITH_CYCLETIME\",\n\tBehaviorExternalSource: \"BEHAVIOR_EXTERNAL_SOURCE\"\n};\nconst BlendingAutoBlendingNameEnum = { BlendingAuto: \"BlendingAuto\" };\nconst BlendingPositionBlendingNameEnum = { BlendingPosition: \"BlendingPosition\" };\n/**\n* Defines the space in which blending is performed. - `JOINT`: Zone blending is performed in joint space - `CARTESIAN`: Auto-blending is performed in cartesian space \n*/\nconst BlendingSpace = {\n\tJoint: \"JOINT\",\n\tCartesian: \"CARTESIAN\"\n};\nconst BooleanValueValueTypeEnum = { Boolean: \"boolean\" };\nconst BoxShapeTypeEnum = { Box: \"box\" };\nconst BoxBoxTypeEnum = {\n\tHollow: \"HOLLOW\",\n\tFull: \"FULL\"\n};\nconst BusIOModbusClientBusTypeEnum = { ModbusClient: \"modbus_client\" };\nconst BusIOModbusServerBusTypeEnum = { ModbusServer: \"modbus_server\" };\nconst BusIOModbusTCPClientNetworkTypeEnum = { Tcp: \"tcp\" };\nconst BusIOModbusTCPServerNetworkTypeEnum = { Tcp: \"tcp\" };\nconst BusIOModbusVirtualBusTypeEnum = { ModbusVirtual: \"modbus_virtual\" };\nconst BusIOProfinetBusTypeEnum = { Profinet: \"profinet\" };\nconst BusIOProfinetVirtualBusTypeEnum = { ProfinetVirtual: \"profinet_virtual\" };\n/**\n* Current state of the BUS input/output service. \n*/\nconst BusIOsStateEnum = {\n\tBusIosStateUnknown: \"BUS_IOS_STATE_UNKNOWN\",\n\tBusIosStateInitializing: \"BUS_IOS_STATE_INITIALIZING\",\n\tBusIosStateConnected: \"BUS_IOS_STATE_CONNECTED\",\n\tBusIosStateDisconnected: \"BUS_IOS_STATE_DISCONNECTED\"\n};\nconst CapsuleShapeTypeEnum = { Capsule: \"capsule\" };\n/**\n* Comparator for the comparison of two values. The comparator is used to compare two values and return a boolean result. The default comparator is unknown. \n*/\nconst Comparator = {\n\tComparatorEquals: \"COMPARATOR_EQUALS\",\n\tComparatorNotEquals: \"COMPARATOR_NOT_EQUALS\",\n\tComparatorGreater: \"COMPARATOR_GREATER\",\n\tComparatorGreaterEqual: \"COMPARATOR_GREATER_EQUAL\",\n\tComparatorLess: \"COMPARATOR_LESS\",\n\tComparatorLessEqual: \"COMPARATOR_LESS_EQUAL\"\n};\nconst ConfigurationArchiveStatusCreatingStatusEnum = { Creating: \"creating\" };\nconst ConfigurationArchiveStatusErrorStatusEnum = { Error: \"error\" };\nconst ConfigurationArchiveStatusSuccessStatusEnum = { Success: \"success\" };\nconst ConvexHullShapeTypeEnum = { ConvexHull: \"convex_hull\" };\nconst CylinderShapeTypeEnum = { Cylinder: \"cylinder\" };\n/**\n* The direction in which the trajectory is executed. Default: Forward. \n*/\nconst Direction = {\n\tDirectionForward: \"DIRECTION_FORWARD\",\n\tDirectionBackward: \"DIRECTION_BACKWARD\"\n};\nconst ErrorInvalidJointCountErrorFeedbackNameEnum = { ErrorInvalidJointCount: \"ErrorInvalidJointCount\" };\nconst ErrorJointLimitExceededErrorFeedbackNameEnum = { ErrorJointLimitExceeded: \"ErrorJointLimitExceeded\" };\nconst ErrorJointPositionCollisionErrorFeedbackNameEnum = { ErrorJointPositionCollision: \"ErrorJointPositionCollision\" };\nconst ErrorMaxIterationsExceededErrorFeedbackNameEnum = { ErrorMaxIterationsExceeded: \"ErrorMaxIterationsExceeded\" };\nconst FanucControllerKindEnum = { FanucController: \"FanucController\" };\nconst FeedbackCollisionErrorFeedbackNameEnum = { FeedbackCollision: \"FeedbackCollision\" };\nconst FeedbackJointLimitExceededErrorFeedbackNameEnum = { FeedbackJointLimitExceeded: \"FeedbackJointLimitExceeded\" };\nconst FeedbackOutOfWorkspaceErrorFeedbackNameEnum = { FeedbackOutOfWorkspace: \"FeedbackOutOfWorkspace\" };\nconst FeedbackSingularityErrorFeedbackNameEnum = { FeedbackSingularity: \"FeedbackSingularity\" };\nconst FloatValueValueTypeEnum = { Float: \"float\" };\nconst IOBooleanValueValueTypeEnum = { Boolean: \"boolean\" };\n/**\n* Identifies the input/output type.\n*/\nconst IODirection = {\n\tIoTypeInput: \"IO_TYPE_INPUT\",\n\tIoTypeOutput: \"IO_TYPE_OUTPUT\"\n};\nconst IOFloatValueValueTypeEnum = { Float: \"float\" };\nconst IOIntegerValueValueTypeEnum = { Integer: \"integer\" };\n/**\n* States the source of the input/output signal. \n*/\nconst IOOrigin = {\n\tController: \"CONTROLLER\",\n\tBusIo: \"BUS_IO\"\n};\n/**\n* Data type of the input/output.\n*/\nconst IOValueType = {\n\tIoValueBoolean: \"IO_VALUE_BOOLEAN\",\n\tIoValueAnalogFloat: \"IO_VALUE_ANALOG_FLOAT\",\n\tIoValueAnalogInteger: \"IO_VALUE_ANALOG_INTEGER\"\n};\nconst InitializeJoggingRequestMessageTypeEnum = { InitializeJoggingRequest: \"InitializeJoggingRequest\" };\nconst InitializeJoggingResponseKindEnum = { InitializeReceived: \"INITIALIZE_RECEIVED\" };\nconst InitializeMovementRequestMessageTypeEnum = { InitializeMovementRequest: \"InitializeMovementRequest\" };\nconst InitializeMovementResponseKindEnum = { InitializeReceived: \"INITIALIZE_RECEIVED\" };\nconst IntegerValueValueTypeEnum = { Integer: \"integer\" };\nconst JoggingDetailsKindEnum = { Jogging: \"JOGGING\" };\nconst JoggingPausedByUserKindEnum = { PausedByUser: \"PAUSED_BY_USER\" };\nconst JoggingPausedNearCollisionKindEnum = { PausedNearCollision: \"PAUSED_NEAR_COLLISION\" };\nconst JoggingPausedNearJointLimitKindEnum = { PausedNearJointLimit: \"PAUSED_NEAR_JOINT_LIMIT\" };\nconst JoggingPausedOnIOKindEnum = { PausedOnIo: \"PAUSED_ON_IO\" };\nconst JoggingRunningKindEnum = { Running: \"RUNNING\" };\nconst JointVelocityRequestMessageTypeEnum = { JointVelocityRequest: \"JointVelocityRequest\" };\nconst JointVelocityResponseKindEnum = { JointVelocityReceived: \"JOINT_VELOCITY_RECEIVED\" };\nconst KukaControllerKindEnum = { KukaController: \"KukaController\" };\nconst LicenseStatusEnum = {\n\tOk: \"OK\",\n\tExpired: \"EXPIRED\",\n\tSuspended: \"SUSPENDED\",\n\tGracePeriodOver: \"GRACE_PERIOD_OVER\",\n\tNotFound: \"NOT_FOUND\"\n};\nconst Manufacturer = {\n\tAbb: \"abb\",\n\tFanuc: \"fanuc\",\n\tKuka: \"kuka\",\n\tUniversalrobots: \"universalrobots\",\n\tYaskawa: \"yaskawa\"\n};\nconst MidpointInsertionAlgorithmAlgorithmNameEnum = { MidpointInsertionAlgorithm: \"MidpointInsertionAlgorithm\" };\n/**\n* Area of the MODBUS input/output variable. Is used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOArea = {\n\tModbusIoAreaUnknown: \"MODBUS_IO_AREA_UNKNOWN\",\n\tModbusIoAreaCoils: \"MODBUS_IO_AREA_COILS\",\n\tModbusIoAreaDiscreteInputs: \"MODBUS_IO_AREA_DISCRETE_INPUTS\",\n\tModbusIoAreaHoldingRegisters: \"MODBUS_IO_AREA_HOLDING_REGISTERS\",\n\tModbusIoAreaInputRegisters: \"MODBUS_IO_AREA_INPUT_REGISTERS\"\n};\n/**\n* Byte order of the MODBUS input/output variable. Used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOByteOrder = {\n\tModbusIoByteOrderUnknown: \"MODBUS_IO_BYTE_ORDER_UNKNOWN\",\n\tModbusIoByteOrderAbcd: \"MODBUS_IO_BYTE_ORDER_ABCD\",\n\tModbusIoByteOrderBadc: \"MODBUS_IO_BYTE_ORDER_BADC\",\n\tModbusIoByteOrderCdab: \"MODBUS_IO_BYTE_ORDER_CDAB\",\n\tModbusIoByteOrderDcba: \"MODBUS_IO_BYTE_ORDER_DCBA\"\n};\n/**\n* Value type of the MODBUS input/output variable. Used to interpret the corresponding bits correctly. \n*/\nconst ModbusIOTypeEnum = {\n\tModbusIoTypeUnknown: \"MODBUS_IO_TYPE_UNKNOWN\",\n\tModbusIoTypeBool: \"MODBUS_IO_TYPE_BOOL\",\n\tModbusIoTypeUint16: \"MODBUS_IO_TYPE_UINT16\",\n\tModbusIoTypeFloat32: \"MODBUS_IO_TYPE_FLOAT32\"\n};\nconst MovementErrorResponseKindEnum = { MotionError: \"MOTION_ERROR\" };\nconst NetworkStateConnectionTypeEnum = {\n\tEthernet: \"ethernet\",\n\tWifi: \"wifi\",\n\tCellular: \"cellular\",\n\tVpn: \"vpn\",\n\tUnknown: \"unknown\"\n};\n/**\n* The operating state.\n*/\nconst OperatingState = {\n\tActive: \"ACTIVE\",\n\tInactive: \"INACTIVE\"\n};\n/**\n* Current operation mode of the configured robot controller. Operation modes in which the attached motion groups can be moved are: - OPERATION_MODE_MANUAL (if enabling switch is pressed) - OPERATION_MODE_MANUAL_T1 (if enabling switch is pressed) - OPERATION_MODE_MANUAL_T2 (if enabling switch is pressed) - OPERATION_MODE_AUTO (without needing to press enabling switch) All other modes are considered as non-operational. \n*/\nconst OperationMode = {\n\tOperationModeUnknown: \"OPERATION_MODE_UNKNOWN\",\n\tOperationModeNoController: \"OPERATION_MODE_NO_CONTROLLER\",\n\tOperationModeDisconnected: \"OPERATION_MODE_DISCONNECTED\",\n\tOperationModePowerOn: \"OPERATION_MODE_POWER_ON\",\n\tOperationModePending: \"OPERATION_MODE_PENDING\",\n\tOperationModeManual: \"OPERATION_MODE_MANUAL\",\n\tOperationModeManualT1: \"OPERATION_MODE_MANUAL_T1\",\n\tOperationModeManualT2: \"OPERATION_MODE_MANUAL_T2\",\n\tOperationModeAuto: \"OPERATION_MODE_AUTO\",\n\tOperationModeRecovery: \"OPERATION_MODE_RECOVERY\"\n};\n/**\n* The type of rotation description that is used to specify the orientation. **Rotation Vector notation** * The rotation is represented using an axis-angle representation: > axis = Vector[0:2] > angle = |axis| in [rad] > axis.normalized * angle **Quaternion notation** * The rotation is represented using a unit quaternion: [x, y, z, w]. * The vector part [x, y, z] is the imaginary part of the quaternion, and the scalar part [w] is the real part. **Euler notation** * *extrinsic* fixed external reference system * *intrinsic* reference system fixed to rotation body > angles = Vector[0:2] in [rad]. * ZYX, ZXZ,... - mapping of the given angles values to the (either intrinsic or extrinsic) axes in the stated order. > Example ZYX: Z = Vector[0], Y = Vector[1], X = Vector[2]. \n*/\nconst OrientationType = {\n\tRotationVector: \"ROTATION_VECTOR\",\n\tQuaternion: \"QUATERNION\",\n\tEulerAnglesIntrinsicZxz: \"EULER_ANGLES_INTRINSIC_ZXZ\",\n\tEulerAnglesIntrinsicXyx: \"EULER_ANGLES_INTRINSIC_XYX\",\n\tEulerAnglesIntrinsicYzy: \"EULER_ANGLES_INTRINSIC_YZY\",\n\tEulerAnglesIntrinsicZyz: \"EULER_ANGLES_INTRINSIC_ZYZ\",\n\tEulerAnglesIntrinsicXzx: \"EULER_ANGLES_INTRINSIC_XZX\",\n\tEulerAnglesIntrinsicYxy: \"EULER_ANGLES_INTRINSIC_YXY\",\n\tEulerAnglesIntrinsicXyz: \"EULER_ANGLES_INTRINSIC_XYZ\",\n\tEulerAnglesIntrinsicYzx: \"EULER_ANGLES_INTRINSIC_YZX\",\n\tEulerAnglesIntrinsicZxy: \"EULER_ANGLES_INTRINSIC_ZXY\",\n\tEulerAnglesIntrinsicXzy: \"EULER_ANGLES_INTRINSIC_XZY\",\n\tEulerAnglesIntrinsicZyx: \"EULER_ANGLES_INTRINSIC_ZYX\",\n\tEulerAnglesIntrinsicYxz: \"EULER_ANGLES_INTRINSIC_YXZ\",\n\tEulerAnglesExtrinsicZxz: \"EULER_ANGLES_EXTRINSIC_ZXZ\",\n\tEulerAnglesExtrinsicXyx: \"EULER_ANGLES_EXTRINSIC_XYX\",\n\tEulerAnglesExtrinsicYzy: \"EULER_ANGLES_EXTRINSIC_YZY\",\n\tEulerAnglesExtrinsicZyz: \"EULER_ANGLES_EXTRINSIC_ZYZ\",\n\tEulerAnglesExtrinsicXzx: \"EULER_ANGLES_EXTRINSIC_XZX\",\n\tEulerAnglesExtrinsicYxy: \"EULER_ANGLES_EXTRINSIC_YXY\",\n\tEulerAnglesExtrinsicZyx: \"EULER_ANGLES_EXTRINSIC_ZYX\",\n\tEulerAnglesExtrinsicXzy: \"EULER_ANGLES_EXTRINSIC_XZY\",\n\tEulerAnglesExtrinsicYxz: \"EULER_ANGLES_EXTRINSIC_YXZ\",\n\tEulerAnglesExtrinsicYzx: \"EULER_ANGLES_EXTRINSIC_YZX\",\n\tEulerAnglesExtrinsicXyz: \"EULER_ANGLES_EXTRINSIC_XYZ\",\n\tEulerAnglesExtrinsicZxy: \"EULER_ANGLES_EXTRINSIC_ZXY\"\n};\nconst PathCartesianPTPPathDefinitionNameEnum = { PathCartesianPtp: \"PathCartesianPTP\" };\nconst PathCirclePathDefinitionNameEnum = { PathCircle: \"PathCircle\" };\nconst PathCubicSplinePathDefinitionNameEnum = { PathCubicSpline: \"PathCubicSpline\" };\nconst PathJointPTPPathDefinitionNameEnum = { PathJointPtp: \"PathJointPTP\" };\nconst PathLinePathDefinitionNameEnum = { PathLine: \"PathLine\" };\nconst PauseJoggingRequestMessageTypeEnum = { PauseJoggingRequest: \"PauseJoggingRequest\" };\nconst PauseJoggingResponseKindEnum = { PauseReceived: \"PAUSE_RECEIVED\" };\nconst PauseMovementRequestMessageTypeEnum = { PauseMovementRequest: \"PauseMovementRequest\" };\nconst PauseMovementResponseKindEnum = { PauseReceived: \"PAUSE_RECEIVED\" };\nconst PlaneShapeTypeEnum = { Plane: \"plane\" };\nconst PlaybackSpeedRequestMessageTypeEnum = { PlaybackSpeedRequest: \"PlaybackSpeedRequest\" };\nconst PlaybackSpeedResponseKindEnum = { PlaybackSpeedReceived: \"PLAYBACK_SPEED_RECEIVED\" };\n/**\n* The direction of the input/output variable, indicating whether it is an input or output for the PROFINET device, e.g., NOVA\\'s PROFINET service.\n*/\nconst ProfinetIODirection = {\n\tProfinetIoDirectionInput: \"PROFINET_IO_DIRECTION_INPUT\",\n\tProfinetIoDirectionOutput: \"PROFINET_IO_DIRECTION_OUTPUT\",\n\tProfinetIoDirectionInout: \"PROFINET_IO_DIRECTION_INOUT\"\n};\n/**\n* Value type of the PROFINET input/output variable. Is used to interpret the corresponding bits correctly. \n*/\nconst ProfinetIOTypeEnum = {\n\tProfinetIoTypeUnknown: \"PROFINET_IO_TYPE_UNKNOWN\",\n\tProfinetIoTypeBool: \"PROFINET_IO_TYPE_BOOL\",\n\tProfinetIoTypeUsint: \"PROFINET_IO_TYPE_USINT\",\n\tProfinetIoTypeSint: \"PROFINET_IO_TYPE_SINT\",\n\tProfinetIoTypeUint: \"PROFINET_IO_TYPE_UINT\",\n\tProfinetIoTypeInt: \"PROFINET_IO_TYPE_INT\",\n\tProfinetIoTypeUdint: \"PROFINET_IO_TYPE_UDINT\",\n\tProfinetIoTypeDint: \"PROFINET_IO_TYPE_DINT\",\n\tProfinetIoTypeReal: \"PROFINET_IO_TYPE_REAL\",\n\tProfinetIoTypeLreal: \"PROFINET_IO_TYPE_LREAL\"\n};\n/**\n* The state of a program run.\n*/\nconst ProgramRunState = {\n\tPreparing: \"PREPARING\",\n\tRunning: \"RUNNING\",\n\tCompleted: \"COMPLETED\",\n\tFailed: \"FAILED\",\n\tStopped: \"STOPPED\"\n};\nconst RRTConnectAlgorithmAlgorithmNameEnum = { RrtConnectAlgorithm: \"RRTConnectAlgorithm\" };\nconst RectangleShapeTypeEnum = { Rectangle: \"rectangle\" };\nconst RectangularCapsuleShapeTypeEnum = { RectangularCapsule: \"rectangular_capsule\" };\n/**\n* The channel that defines what a new Wandelbots NOVA version is. * `next` the over all latest version * `stable` newes patch of the current version \n*/\nconst ReleaseChannel = {\n\tStable: \"stable\",\n\tNext: \"next\"\n};\n/**\n* Defines the current system mode of the robot system, including NOVA communicating with the robot controller. ### MODE_CONTROLLER_NOT_CONFIGURED No controller with the specified identifier is configured. Call [addRobotController](addRobotController) to register a controller. ### MODE_INITIALIZING Indicates that a connection to the robot controller is established or reestablished in case of a disconnect. On success, the controller is set to MODE_MONITOR. On failure, the initialization process is retried until successful or cancelled by the user. ### MODE_MONITOR Read-only mode with an active controller connection. - Receives robot state and I/O signals - Move requests are rejected - No commands are sent to the controller ### MODE_CONTROL Active control mode. **Movement is possible in this mode** The robot is cyclically commanded to hold its current position. The robot state is received in sync with the controller cycle. Motion and jogging requests are accepted and executed. Input/Output interaction is enabled. ### MODE_FREE_DRIVE Read-only mode with servo motors enabled for manual movement (Free Drive). Move requests are rejected. Not supported by all robots: Use [getSupportedModes](getSupportedModes) to check Free Drive availability. \n*/\nconst RobotSystemMode = {\n\tModeControllerNotConfigured: \"MODE_CONTROLLER_NOT_CONFIGURED\",\n\tModeInitializing: \"MODE_INITIALIZING\",\n\tModeMonitor: \"MODE_MONITOR\",\n\tModeControl: \"MODE_CONTROL\",\n\tModeFreeDrive: \"MODE_FREE_DRIVE\"\n};\n/**\n* Current safety state of the configured robot controller. Operation modes in which the attached motion groups can be moved are: - SAFETY_STATE_NORMAL - SAFETY_STATE_REDUCED All other modes are considered as non-operational. \n*/\nconst SafetyStateType = {\n\tSafetyStateUnknown: \"SAFETY_STATE_UNKNOWN\",\n\tSafetyStateFault: \"SAFETY_STATE_FAULT\",\n\tSafetyStateNormal: \"SAFETY_STATE_NORMAL\",\n\tSafetyStateMastering: \"SAFETY_STATE_MASTERING\",\n\tSafetyStateConfirmSafety: \"SAFETY_STATE_CONFIRM_SAFETY\",\n\tSafetyStateOperatorSafety: \"SAFETY_STATE_OPERATOR_SAFETY\",\n\tSafetyStateProtectiveStop: \"SAFETY_STATE_PROTECTIVE_STOP\",\n\tSafetyStateReduced: \"SAFETY_STATE_REDUCED\",\n\tSafetyStateStop: \"SAFETY_STATE_STOP\",\n\tSafetyStateStop0: \"SAFETY_STATE_STOP_0\",\n\tSafetyStateStop1: \"SAFETY_STATE_STOP_1\",\n\tSafetyStateStop2: \"SAFETY_STATE_STOP_2\",\n\tSafetyStateRecovery: \"SAFETY_STATE_RECOVERY\",\n\tSafetyStateDeviceEmergencyStop: \"SAFETY_STATE_DEVICE_EMERGENCY_STOP\",\n\tSafetyStateRobotEmergencyStop: \"SAFETY_STATE_ROBOT_EMERGENCY_STOP\",\n\tSafetyStateViolation: \"SAFETY_STATE_VIOLATION\"\n};\nconst ServiceGroup = {\n\tSystemService: \"SystemService\",\n\tCellService: \"CellService\",\n\tRobotController: \"RobotController\",\n\tApp: \"App\"\n};\nconst ServiceStatusPhase = {\n\tTerminating: \"Terminating\",\n\tInitialized: \"Initialized\",\n\tRunning: \"Running\",\n\tNoReady: \"NoReady\",\n\tCompleted: \"Completed\",\n\tContainerCreating: \"ContainerCreating\",\n\tPodInitializing: \"PodInitializing\",\n\tUnknown: \"Unknown\",\n\tCrashLoopBackOff: \"CrashLoopBackOff\",\n\tError: \"Error\",\n\tImagePullBackOff: \"ImagePullBackOff\",\n\tOomKilled: \"OOMKilled\",\n\tPending: \"Pending\",\n\tEvicted: \"Evicted\"\n};\nconst ServiceStatusSeverity = {\n\tInfo: \"INFO\",\n\tWarning: \"WARNING\",\n\tError: \"ERROR\"\n};\nconst SettableRobotSystemMode = {\n\tRobotSystemModeMonitor: \"ROBOT_SYSTEM_MODE_MONITOR\",\n\tRobotSystemModeControl: \"ROBOT_SYSTEM_MODE_CONTROL\"\n};\nconst SingularityTypeEnum = {\n\tWrist: \"WRIST\",\n\tElbow: \"ELBOW\",\n\tShoulder: \"SHOULDER\"\n};\nconst SphereShapeTypeEnum = { Sphere: \"sphere\" };\nconst StartMovementRequestMessageTypeEnum = { StartMovementRequest: \"StartMovementRequest\" };\nconst StartMovementResponseKindEnum = { StartReceived: \"START_RECEIVED\" };\nconst TcpVelocityRequestMessageTypeEnum = { TcpVelocityRequest: \"TcpVelocityRequest\" };\nconst TcpVelocityResponseKindEnum = { TcpVelocityReceived: \"TCP_VELOCITY_RECEIVED\" };\nconst TrajectoryDataMessageTypeEnum = { TrajectoryData: \"TrajectoryData\" };\nconst TrajectoryDetailsKindEnum = { Trajectory: \"TRAJECTORY\" };\nconst TrajectoryEndedKindEnum = { EndOfTrajectory: \"END_OF_TRAJECTORY\" };\nconst TrajectoryIdMessageTypeEnum = { TrajectoryId: \"TrajectoryId\" };\nconst TrajectoryPausedByUserKindEnum = { PausedByUser: \"PAUSED_BY_USER\" };\nconst TrajectoryPausedOnIOKindEnum = { PausedOnIo: \"PAUSED_ON_IO\" };\nconst TrajectoryRunningKindEnum = { Running: \"RUNNING\" };\nconst TrajectoryWaitForIOKindEnum = { WaitForIo: \"WAIT_FOR_IO\" };\n/**\n* The unit of input/output value.\n*/\nconst UnitType = {\n\tUnitNone: \"UNIT_NONE\",\n\tUnitKilogram: \"UNIT_KILOGRAM\",\n\tUnitAmpere: \"UNIT_AMPERE\",\n\tUnitKelvin: \"UNIT_KELVIN\",\n\tUnitHertz: \"UNIT_HERTZ\",\n\tUnitNewton: \"UNIT_NEWTON\",\n\tUnitVolt: \"UNIT_VOLT\",\n\tUnitCelsius: \"UNIT_CELSIUS\",\n\tUnitNewtonMeter: \"UNIT_NEWTON_METER\",\n\tUnitMeter: \"UNIT_METER\"\n};\nconst UniversalrobotsControllerKindEnum = { UniversalrobotsController: \"UniversalrobotsController\" };\nconst VirtualControllerKindEnum = { VirtualController: \"VirtualController\" };\nconst YaskawaControllerKindEnum = { YaskawaController: \"YaskawaController\" };\n/**\n* ApplicationApi - axios parameter creator\n*/\nconst ApplicationApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddApp: async (cell, app, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"addApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(app, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearApps: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearApps\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteApp: async (cell, app, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetApp: async (cell, app, options = {}) => {\n\t\t\tassertParamExists(\"getApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"getApp\", \"app\", app);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistApps: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listApps\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/apps`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateApp: async (cell, app, app2, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateApp\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateApp\", \"app\", app);\n\t\t\tassertParamExists(\"updateApp\", \"app2\", app2);\n\t\t\tconst localVarPath = `/cells/{cell}/apps/{app}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{app}`, encodeURIComponent(String(app)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(app2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - functional programming interface\n*/\nconst ApplicationApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ApplicationApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addApp(cell, app, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addApp(cell, app, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.addApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearApps(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearApps(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.clearApps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteApp(cell, app, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteApp(cell, app, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.deleteApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getApp(cell, app, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getApp(cell, app, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.getApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listApps(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listApps(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.listApps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateApp(cell, app, app2, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateApp(cell, app, app2, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ApplicationApi.updateApp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - factory interface\n*/\nconst ApplicationApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ApplicationApiFp(configuration);\n\treturn {\n\t\taddApp(cell, app, completionTimeout, options) {\n\t\t\treturn localVarFp.addApp(cell, app, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearApps(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearApps(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteApp(cell, app, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteApp(cell, app, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetApp(cell, app, options) {\n\t\t\treturn localVarFp.getApp(cell, app, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistApps(cell, options) {\n\t\t\treturn localVarFp.listApps(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateApp(cell, app, app2, completionTimeout, options) {\n\t\t\treturn localVarFp.updateApp(cell, app, app2, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ApplicationApi - object-oriented interface\n*/\nvar ApplicationApi = class extends BaseAPI {\n\t/**\n\t* Install a basic, containerized web application to the cell to control robots with a customized frontend. #### Prerequisites - A Docker hub account or similar container registry account, with valid credentials. #### Workflow After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](https://docs.wandelbots.io/latest/developing-introduction) for more information. #### Predefined environment variables <!-- theme: NOTE --> > **NOTE** > - `NOVA_API`: The API endpoint accessible from within the application container. > - `NATS_BROKER`: The NATS broker endpoint accessible from within the application container. > - `BASE_PATH`: The application\\'s root path, accessible at http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell hosting the deployed application. \n\t* @summary Add Application\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {App} app \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddApp(cell, app, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).addApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete all GUI applications from the cell.\n\t* @summary Clear Applications\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearApps(cell, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).clearApps(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete a GUI application from the cell.\n\t* @summary Delete Application\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteApp(cell, app, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).deleteApp(cell, app, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the configuration for an active GUI application in the cell. To update the configuration of a GUI application in the cell, use this configuration with [updateApp](updateApp). \n\t* @summary Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetApp(cell, app, options) {\n\t\treturn ApplicationApiFp(this.configuration).getApp(cell, app, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List all GUI applications that have been added to a cell with [addApp](addApp). If the cell does not contain GUI applications, the list is returned empty. \n\t* @summary List Applications\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistApps(cell, options) {\n\t\treturn ApplicationApiFp(this.configuration).listApps(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Update the configuration of a GUI application in the cell.\n\t* @summary Update Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} app \n\t* @param {App} app2 \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateApp(cell, app, app2, completionTimeout, options) {\n\t\treturn ApplicationApiFp(this.configuration).updateApp(cell, app, app2, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* BUSInputsOutputsApi - axios parameter creator\n*/\nconst BUSInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddBusIOService: async (cell, busIOType, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addBusIOService\", \"cell\", cell);\n\t\t\tassertParamExists(\"addBusIOService\", \"busIOType\", busIOType);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(busIOType, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddModbusIO: async (cell, io, modbusIOData, options = {}) => {\n\t\t\tassertParamExists(\"addModbusIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"addModbusIO\", \"io\", io);\n\t\t\tassertParamExists(\"addModbusIO\", \"modbusIOData\", modbusIOData);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(modbusIOData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddProfinetIO: async (cell, io, profinetIOData, options = {}) => {\n\t\t\tassertParamExists(\"addProfinetIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"addProfinetIO\", \"io\", io);\n\t\t\tassertParamExists(\"addProfinetIO\", \"profinetIOData\", profinetIOData);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(profinetIOData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearBusIOService: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearBusIOService\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteAllModbusIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"deleteAllModbusIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteAllProfinetIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"deleteAllProfinetIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteModbusIO: async (cell, io, options = {}) => {\n\t\t\tassertParamExists(\"deleteModbusIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteModbusIO\", \"io\", io);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteProfinetIO: async (cell, io, options = {}) => {\n\t\t\tassertParamExists(\"deleteProfinetIO\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteProfinetIO\", \"io\", io);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios/{io}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{io}`, encodeURIComponent(String(io)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOService: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOService\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOState: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOState\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/state`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetBusIOValues: async (cell, ios, options = {}) => {\n\t\t\tassertParamExists(\"getBusIOValues\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetProfinetDescription: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getProfinetDescription\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/description`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetProfinetIOsFromFile: async (cell, inputOffset, outputOffset, options = {}) => {\n\t\t\tassertParamExists(\"getProfinetIOsFromFile\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/iofile`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (inputOffset !== void 0) localVarQueryParameter[\"input_offset\"] = inputOffset;\n\t\t\tif (outputOffset !== void 0) localVarQueryParameter[\"output_offset\"] = outputOffset;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistBusIODescriptions: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listBusIODescriptions\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistModbusIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listModbusIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/modbus/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistProfinetIOs: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listProfinetIOs\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/ios`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetBusIOValues: async (cell, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setBusIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setBusIOValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetProfinetIOsFromFile: async (cell, profinetInputOutputConfig, options = {}) => {\n\t\t\tassertParamExists(\"setProfinetIOsFromFile\", \"cell\", cell);\n\t\t\tassertParamExists(\"setProfinetIOsFromFile\", \"profinetInputOutputConfig\", profinetInputOutputConfig);\n\t\t\tconst localVarPath = `/cells/{cell}/bus-ios/profinet/iofile`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(profinetInputOutputConfig, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - functional programming interface\n*/\nconst BUSInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = BUSInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addBusIOService(cell, busIOType, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addBusIOService(cell, busIOType, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addModbusIO(cell, io, modbusIOData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addModbusIO(cell, io, modbusIOData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addModbusIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addProfinetIO(cell, io, profinetIOData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addProfinetIO(cell, io, profinetIOData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.addProfinetIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearBusIOService(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearBusIOService(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.clearBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteAllModbusIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteAllModbusIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteAllModbusIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteAllProfinetIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteAllProfinetIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteAllProfinetIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteModbusIO(cell, io, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteModbusIO(cell, io, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteModbusIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteProfinetIO(cell, io, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteProfinetIO(cell, io, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.deleteProfinetIO\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOService(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOService(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOService\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOState(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOState(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getBusIOValues(cell, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getBusIOValues(cell, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getBusIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getProfinetDescription(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProfinetDescription(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getProfinetDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProfinetIOsFromFile(cell, inputOffset, outputOffset, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.getProfinetIOsFromFile\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listBusIODescriptions(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listBusIODescriptions(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listBusIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listModbusIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listModbusIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listModbusIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listProfinetIOs(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listProfinetIOs(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.listProfinetIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setBusIOValues(cell, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setBusIOValues(cell, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.setBusIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setProfinetIOsFromFile(cell, profinetInputOutputConfig, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"BUSInputsOutputsApi.setProfinetIOsFromFile\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - factory interface\n*/\nconst BUSInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = BUSInputsOutputsApiFp(configuration);\n\treturn {\n\t\taddBusIOService(cell, busIOType, completionTimeout, options) {\n\t\t\treturn localVarFp.addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddModbusIO(cell, io, modbusIOData, options) {\n\t\t\treturn localVarFp.addModbusIO(cell, io, modbusIOData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddProfinetIO(cell, io, profinetIOData, options) {\n\t\t\treturn localVarFp.addProfinetIO(cell, io, profinetIOData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearBusIOService(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearBusIOService(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteAllModbusIOs(cell, options) {\n\t\t\treturn localVarFp.deleteAllModbusIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteAllProfinetIOs(cell, options) {\n\t\t\treturn localVarFp.deleteAllProfinetIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteModbusIO(cell, io, options) {\n\t\t\treturn localVarFp.deleteModbusIO(cell, io, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteProfinetIO(cell, io, options) {\n\t\t\treturn localVarFp.deleteProfinetIO(cell, io, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOService(cell, options) {\n\t\t\treturn localVarFp.getBusIOService(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOState(cell, options) {\n\t\t\treturn localVarFp.getBusIOState(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetBusIOValues(cell, ios, options) {\n\t\t\treturn localVarFp.getBusIOValues(cell, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetProfinetDescription(cell, options) {\n\t\t\treturn localVarFp.getProfinetDescription(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\t\treturn localVarFp.getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistBusIODescriptions(cell, options) {\n\t\t\treturn localVarFp.listBusIODescriptions(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistModbusIOs(cell, options) {\n\t\t\treturn localVarFp.listModbusIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistProfinetIOs(cell, options) {\n\t\t\treturn localVarFp.listProfinetIOs(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetBusIOValues(cell, iOValue, options) {\n\t\t\treturn localVarFp.setBusIOValues(cell, iOValue, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\t\treturn localVarFp.setProfinetIOsFromFile(cell, profinetInputOutputConfig, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* BUSInputsOutputsApi - object-oriented interface\n*/\nvar BUSInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* Add the BUS inputs/outputs service to the cell. Starts a containerized service that enables BUS connections via the specified ethernet port. \n\t* @summary Add Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {BusIOType} busIOType \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddBusIOService(cell, busIOType, completionTimeout, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addBusIOService(cell, busIOType, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Adds an input/output variable to or updates an input/output variable on the MODBUS device, e.g., NOVA\\'s MODBUS service. The inputs/outputs map variables to specific memory addresses in the process image. The NOVA\\'s MODBUS service\\'s configuration can be viewed via [listModbusIOs](listModbusIOs). \n\t* @summary Add MODBUS Input/Output\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {ModbusIOData} modbusIOData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddModbusIO(cell, io, modbusIOData, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addModbusIO(cell, io, modbusIOData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Adds an input/output variable to or updates an input/output variable on the PROFINET device, e.g., NOVA\\'s PROFINET service. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\\'s PROFINET service\\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal). \n\t* @summary Add PROFINET Input/Output\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {ProfinetIOData} profinetIOData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddProfinetIO(cell, io, profinetIOData, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).addProfinetIO(cell, io, profinetIOData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Remove the BUS inputs/outputs service from the cell. \n\t* @summary Clear Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearBusIOService(cell, completionTimeout, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).clearBusIOService(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Removes all input/output variable configurations from the MODBUS device, e.g., NOVA\\'s MODBUS service. \n\t* @summary Remove all MODBUS Input/Outputs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteAllModbusIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteAllModbusIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Removes all input/output variable configurations from the PROFINET device, e.g., NOVA\\'s PROFINET service. \n\t* @summary Remove all PROFINET Input/Outputs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteAllProfinetIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteAllProfinetIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Removes an input/output variable configuration from the MODBUS device, e.g., NOVA\\'s MODBUS service. \n\t* @summary Remove MODBUS Input/Ouptut\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteModbusIO(cell, io, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteModbusIO(cell, io, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Removes an input/output variable configuration from the PROFINET device, e.g., NOVA\\'s PROFINET service. \n\t* @summary Remove PROFINET Input/Ouptut\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} io Unique identifier to address an Input/Output in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteProfinetIO(cell, io, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).deleteProfinetIO(cell, io, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get deployed BUS inputs/outputs service.\n\t* @summary Get Service\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOService(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOService(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the current state of the BUS Inputs/Outputs service. \n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOState(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOState(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. Request all available input/output identifiers via [listBusIODescriptions](listBusIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetBusIOValues(cell, ios, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getBusIOValues(cell, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get description of NOVA as a PROFINET device. \n\t* @summary Get PROFINET Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProfinetDescription(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getProfinetDescription(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get input/output variable configuration of the PROFINET device, e.g., NOVA\\'s PROFINET service as file. You can specify byte offsets for the input and output variable addresses to get an XML tagmap that is ready to paste to the third party software, e.g., TIA portal. \n\t* @summary PROFINET Inputs/Outputs to File\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [inputOffset] \n\t* @param {number} [outputOffset] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProfinetIOsFromFile(cell, inputOffset, outputOffset, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).getProfinetIOsFromFile(cell, inputOffset, outputOffset, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List all input/output descriptions for configured BUS services. The input/output descriptions contain information like name, type and unit. The input/output direction is given in perspective of the BUS service. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistBusIODescriptions(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listBusIODescriptions(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List descriptions for all configured input/output variables of the MODBUS service. The input/output descriptions contain information like name, type and address. The input/output direction is given in perspective of the active MODBUS type (service or client). - The byte and bit addresses are the locations in the MODBUS input/output process image the variable points to. - The MODBUS controller as well as NOVA\\'s MODBUS service use an input/output variable configuration to interpret the bits of the input and output process image. - The NOVA MODBUS service\\'s configuration is modified via [addModbusIO](addModbusIO). \n\t* @summary List MODBUS Input/Output Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistModbusIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listModbusIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List descriptions for all configured input/output variables of the PROFINET service. The input/output descriptions contain information like name, type and unit. The input/output direction is given in perspective of the PROFINET device, e.g., the configured PROFINET service. - The byte and bit addresses are the locations in the PROFINET input/output process image the variable points to. - The PROFINET controller as well as NOVA\\'s PROFINET service use an input/output variable configuration to interpret the bits of the input and output process image. - The NOVA PROFINET service\\'s configuration is modified via [addProfinetIO](addProfinetIO) and [setProfinetIOsFromFile](setProfinetIOsFromFile). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding third party software, e.g., TIA portal. \n\t* @summary List PROFINET Input/Output Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistProfinetIOs(cell, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).listProfinetIOs(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Set values of outputs. In case of virtual Bus Input/Outputs, also inputs can be set. All available output identifiers can be requested via [listBusIODescriptions](listBusIODescriptions). The call will return once the values have been set and accepted by the service. \n\t* @summary Set Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetBusIOValues(cell, iOValue, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).setBusIOValues(cell, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Sets input/output variable configuration on the PROFINET device (i.e. NOVA\\'s PROFINET service) from XML file. The inputs/outputs map variables to specific memory addresses in the process image. The default process image has buffer lengths of 64 bytes for input and output. - The size of the buffer is determined by the `config_file_content` that is passed in [addBusIOService](addBusIOService) and has to be in accordance with the GSDML file describing the PROFINET device. The PROFINET controller as well as NOVA\\'s PROFINET service use an input/output variable configuration to interpret the bits of the input/output process image. - The NOVA\\'s PROFINET service\\'s configuration can be viewed via [listProfinetIOs](listProfinetIOs). For the PROFINET controller, e.g., a connected PLC, refer to the corresponding engineering system, e.g., TIA portal. #### Export variables You can export the variable configuration of the PROFINET controller as XML file from your engineering system, e.g., TIA portal. - The endpoint is built so that the perspective of input and output (PROFINET Device\\'s input is PROFINET Controller\\'s output) is internally handled (PROFINET device input is PROFINET controller output), meaning that you can paste the exported XML file here without modifying. \n\t* @summary Set PROFINET Inputs/Outputs from File\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ProfinetInputOutputConfig} profinetInputOutputConfig \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetProfinetIOsFromFile(cell, profinetInputOutputConfig, options) {\n\t\treturn BUSInputsOutputsApiFp(this.configuration).setProfinetIOsFromFile(cell, profinetInputOutputConfig, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* CellApi - axios parameter creator\n*/\nconst CellApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tdeleteCell: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteCell\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeployCell: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deployCell\", \"cell\", cell);\n\t\t\tconst localVarUrlObj = new URL(`/cells`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(cell, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCell: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getCell\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCellStatus: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"getCellStatus\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/status`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCells: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/cells`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetCellStatus: async (cell, operatingState, options = {}) => {\n\t\t\tassertParamExists(\"setCellStatus\", \"cell\", cell);\n\t\t\tassertParamExists(\"setCellStatus\", \"operatingState\", operatingState);\n\t\t\tconst localVarPath = `/cells/{cell}/status`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (operatingState !== void 0) localVarQueryParameter[\"operating_state\"] = operatingState;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateCell: async (cell, cell2, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateCell\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateCell\", \"cell2\", cell2);\n\t\t\tconst localVarPath = `/cells/{cell}`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(cell2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* CellApi - functional programming interface\n*/\nconst CellApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = CellApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync deleteCell(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteCell(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.deleteCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deployCell(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deployCell(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.deployCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCell(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCell(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.getCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCellStatus(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCellStatus(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.getCellStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCells(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCells(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.listCells\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setCellStatus(cell, operatingState, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setCellStatus(cell, operatingState, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.setCellStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateCell(cell, cell2, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateCell(cell, cell2, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"CellApi.updateCell\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* CellApi - factory interface\n*/\nconst CellApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = CellApiFp(configuration);\n\treturn {\n\t\tdeleteCell(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteCell(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeployCell(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.deployCell(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCell(cell, options) {\n\t\t\treturn localVarFp.getCell(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCellStatus(cell, options) {\n\t\t\treturn localVarFp.getCellStatus(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCells(options) {\n\t\t\treturn localVarFp.listCells(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetCellStatus(cell, operatingState, options) {\n\t\t\treturn localVarFp.setCellStatus(cell, operatingState, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateCell(cell, cell2, completionTimeout, options) {\n\t\t\treturn localVarFp.updateCell(cell, cell2, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* CellApi - object-oriented interface\n*/\nvar CellApi = class extends BaseAPI {\n\t/**\n\t* Delete an entire cell.\n\t* @summary Delete Cell\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteCell(cell, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).deleteCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deploy an entire cell with all its resources. A cell can be used to deploy a robot controller, one or more robots, as well as custom applications. Refer to the [Wandelbots NOVA documentation](https://docs.wandelbots.io/latest/setup-cell) for more information.\n\t* @summary Add Cell\n\t* @param {Cell} cell \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeployCell(cell, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).deployCell(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List all cell resources. \n\t* @summary Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCell(cell, options) {\n\t\treturn CellApiFp(this.configuration).getCell(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List the status of all cell resources.\n\t* @summary Service Status\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCellStatus(cell, options) {\n\t\treturn CellApiFp(this.configuration).getCellStatus(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List all deployed cell names. If no cells are deployed, an empty list is returned.\n\t* @summary List Cells\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCells(options) {\n\t\treturn CellApiFp(this.configuration).listCells(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deactivate or activate the services of a cell.\n\t* @summary Operating State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {OperatingState} operatingState Set state of the cell. Active or inactive.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetCellStatus(cell, operatingState, options) {\n\t\treturn CellApiFp(this.configuration).setCellStatus(cell, operatingState, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Update the definition of the entire Cell.\n\t* @summary Update Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {Cell} cell2 \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateCell(cell, cell2, completionTimeout, options) {\n\t\treturn CellApiFp(this.configuration).updateCell(cell, cell2, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ControllerApi - axios parameter creator\n*/\nconst ControllerApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddRobotController: async (cell, robotController, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"addRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"addRobotController\", \"robotController\", robotController);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotController, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearRobotControllers: async (cell, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"clearRobotControllers\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteRobotController: async (cell, controller, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"deleteRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteRobotController\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetControllerDescription: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getControllerDescription\", \"cell\", cell);\n\t\t\tassertParamExists(\"getControllerDescription\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCoordinateSystem: async (cell, controller, coordinateSystem, orientationType, options = {}) => {\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"getCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (orientationType !== void 0) localVarQueryParameter[\"orientation_type\"] = orientationType;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCurrentRobotControllerState: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getCurrentRobotControllerState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCurrentRobotControllerState\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetRobotController: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"getRobotController\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerConfiguration: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerConfiguration\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerConfiguration\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/virtual-robot-configuration`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCoordinateSystems: async (cell, controller, orientationType, options = {}) => {\n\t\t\tassertParamExists(\"listCoordinateSystems\", \"cell\", cell);\n\t\t\tassertParamExists(\"listCoordinateSystems\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/coordinate-systems`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (orientationType !== void 0) localVarQueryParameter[\"orientation_type\"] = orientationType;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistRobotControllers: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listRobotControllers\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetDefaultMode: async (cell, controller, mode, options = {}) => {\n\t\t\tassertParamExists(\"setDefaultMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"setDefaultMode\", \"controller\", controller);\n\t\t\tassertParamExists(\"setDefaultMode\", \"mode\", mode);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/mode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (mode !== void 0) localVarQueryParameter[\"mode\"] = mode;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamFreeDrive: async (cell, controller, responseRate, options = {}) => {\n\t\t\tassertParamExists(\"streamFreeDrive\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamFreeDrive\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/free-drive-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamRobotControllerState: async (cell, controller, responseRate, addControllerTimeout, options = {}) => {\n\t\t\tassertParamExists(\"streamRobotControllerState\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamRobotControllerState\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/state-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tif (addControllerTimeout !== void 0) localVarQueryParameter[\"add_controller_timeout\"] = addControllerTimeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateRobotController: async (cell, controller, robotController, completionTimeout, options = {}) => {\n\t\t\tassertParamExists(\"updateRobotController\", \"cell\", cell);\n\t\t\tassertParamExists(\"updateRobotController\", \"controller\", controller);\n\t\t\tassertParamExists(\"updateRobotController\", \"robotController\", robotController);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (completionTimeout !== void 0) localVarQueryParameter[\"completion_timeout\"] = completionTimeout;\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotController, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ControllerApi - functional programming interface\n*/\nconst ControllerApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ControllerApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addRobotController(cell, robotController, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addRobotController(cell, robotController, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.addRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearRobotControllers(cell, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearRobotControllers(cell, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.clearRobotControllers\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteRobotController(cell, controller, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteRobotController(cell, controller, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.deleteRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getControllerDescription(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getControllerDescription(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getControllerDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCurrentRobotControllerState(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentRobotControllerState(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getCurrentRobotControllerState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getRobotController(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getRobotController(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerConfiguration(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerConfiguration(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.getVirtualControllerConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCoordinateSystems(cell, controller, orientationType, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCoordinateSystems(cell, controller, orientationType, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.listCoordinateSystems\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listRobotControllers(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listRobotControllers(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.listRobotControllers\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setDefaultMode(cell, controller, mode, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setDefaultMode(cell, controller, mode, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.setDefaultMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamFreeDrive(cell, controller, responseRate, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamFreeDrive(cell, controller, responseRate, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.streamFreeDrive\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.streamRobotControllerState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateRobotController(cell, controller, robotController, completionTimeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerApi.updateRobotController\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ControllerApi - factory interface\n*/\nconst ControllerApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ControllerApiFp(configuration);\n\treturn {\n\t\taddRobotController(cell, robotController, completionTimeout, options) {\n\t\t\treturn localVarFp.addRobotController(cell, robotController, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearRobotControllers(cell, completionTimeout, options) {\n\t\t\treturn localVarFp.clearRobotControllers(cell, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteRobotController(cell, controller, completionTimeout, options) {\n\t\t\treturn localVarFp.deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetControllerDescription(cell, controller, options) {\n\t\t\treturn localVarFp.getControllerDescription(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\t\treturn localVarFp.getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCurrentRobotControllerState(cell, controller, options) {\n\t\t\treturn localVarFp.getCurrentRobotControllerState(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetRobotController(cell, controller, options) {\n\t\t\treturn localVarFp.getRobotController(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerConfiguration(cell, controller, options) {\n\t\t\treturn localVarFp.getVirtualControllerConfiguration(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCoordinateSystems(cell, controller, orientationType, options) {\n\t\t\treturn localVarFp.listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistRobotControllers(cell, options) {\n\t\t\treturn localVarFp.listRobotControllers(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetDefaultMode(cell, controller, mode, options) {\n\t\t\treturn localVarFp.setDefaultMode(cell, controller, mode, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamFreeDrive(cell, controller, responseRate, options) {\n\t\t\treturn localVarFp.streamFreeDrive(cell, controller, responseRate, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\t\treturn localVarFp.streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\t\treturn localVarFp.updateRobotController(cell, controller, robotController, completionTimeout, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ControllerApi - object-oriented interface\n*/\nvar ControllerApi = class extends BaseAPI {\n\t/**\n\t* Add a robot controller to the cell. \n\t* @summary Add Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {RobotController} robotController \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddRobotController(cell, robotController, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).addRobotController(cell, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete all robot controllers from the cell. To replace all robot controllers in a cell, use this endpoint in combination with [addRobotController](addRobotController). \n\t* @summary Clear Robot Controllers\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearRobotControllers(cell, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).clearRobotControllers(cell, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete a robot controller from the cell. \n\t* @summary Delete Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteRobotController(cell, controller, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).deleteRobotController(cell, controller, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get description of a configured robot controller including a list of connected motion group identifiers. Use [getMotionGroupDescription](getMotionGroupDescription) to get more information about the motion group. \n\t* @summary Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetControllerDescription(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getControllerDescription(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Request a coordinate system specification for a given identifier. Use parameter `orientation_type` to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter `orientation_type` is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with `On` + the unique identifier of the robot controller. \n\t* @summary Coordinate System\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {OrientationType} [orientationType] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCoordinateSystem(cell, controller, coordinateSystem, orientationType, options) {\n\t\treturn ControllerApiFp(this.configuration).getCoordinateSystem(cell, controller, coordinateSystem, orientationType, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the current state of a robot controller.\n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCurrentRobotControllerState(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getCurrentRobotControllerState(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the configuration for a robot controller. \n\t* @summary Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetRobotController(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getRobotController(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Receive data to configure a virtual robot controller based on another controller. This can be used to create a virtual clone of a specific physical robot. When adding a virtual controller, use the Virtual configuration variant of [addRobotController](addRobotController) and pass the content string from this endpoint as the `json` field. Omit the `type` field that selects a preset configuration which is not required when providing a complete configuration. \n\t* @summary Virtual Controller Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerConfiguration(cell, controller, options) {\n\t\treturn ControllerApiFp(this.configuration).getVirtualControllerConfiguration(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Lists all specifications of coordinate systems from robot controllers. Use parameter `orientation_type` to get the orientation part of the transformation offset of the coordinate system returned in the requested orientation notation. If parameter `orientation_type` is not set, the orientation part of the transformation offset of the coordinate system is returned in rotation vector notation. The coordinate systems from the robot controller are loaded when the motion group associated with the coordinate system is activated. With deactivation of the motion group, the associated coordinate systems are removed from NOVA. The unique identifier of the coordinate systems from the robot controllers are suffixed with `On` + the unique identifier of the robot controller. \n\t* @summary List Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {OrientationType} [orientationType] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCoordinateSystems(cell, controller, orientationType, options) {\n\t\treturn ControllerApiFp(this.configuration).listCoordinateSystems(cell, controller, orientationType, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List the names of all deployed robot controllers.\n\t* @summary List Robot Controllers\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistRobotControllers(cell, options) {\n\t\treturn ControllerApiFp(this.configuration).listRobotControllers(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Switch between monitor and control usage as default for a robot controller. Monitoring mode is used to read information from the robot controller and control mode is used to command the robot system. As long as the robot controller is connected via network, monitoring mode is always possible. To switch to control mode the robot controller must be in `automatic` or `manual` operating mode and safety state `normal` or `reduced`. If the robot controller is in `manual` operating mode, you have to manually confirm the control usage activation on the robot control panel. This manual confirmation can\\'t be replaced with this API. Without manual confirmation the robot controller will stay in monitor mode. The robot system will try to activate the required operation mode for the requested usage unless no active call requires a different mode. > **NOTE** > > `setDefaultMode` enables the robot controller to stay in control mode to keep the motors activated. > This allows for faster execution of sequential movements as no mode switches are required. > **NOTE** > > Some robot controllers prevent the external activation of automatic operating mode. In this case, changing the operating mode manually at the robot controller is mandatory. > **NOTE** > > The current operation mode and safety state can be requested via [getCurrentRobotControllerState](getCurrentRobotControllerState). If a mode change is not possible, the response lists reasons for the failed change. \n\t* @summary Set Default Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {SettableRobotSystemMode} mode \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetDefaultMode(cell, controller, mode, options) {\n\t\treturn ControllerApiFp(this.configuration).setDefaultMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Sets the robot controller into freedrive mode and stays in freedrive until the websocket connection is closed by the client. In freedrive mode, it is possible to move the attached motion groups by hand. This is a blocking call. As long as the websocket connection is open, no other endpoint can control or move the robot. <!-- theme: danger --> > **DANGER** > > Danger caused by robot. Improper assessment by the integrator of the application-specific hazards can result in people being > crushed, drawn in or caught due to the robot\\'s complex movement sequences. Before opening the websocket, ensure that > > - The robot is in a safe state, > - The right payload is set, > - No humans or object are within the robot\\'s reach or within the cell. As long as the websocket connection is open you will get the current state of the robot system in the response in the specified `response_rate`. If the activation failed, the returned status will return possible reasons for the failure. Free drive mode is only available for robot controllers that support it, in particular cobots. Use [listRobotControllers](listRobotControllers) to check if the robot controller supports free drive mode. \n\t* @summary Stream Free Drive\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [responseRate] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamFreeDrive(cell, controller, responseRate, options) {\n\t\treturn ControllerApiFp(this.configuration).streamFreeDrive(cell, controller, responseRate, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Receive updates of the state of a robot controller. The stream can be opened before the controller is registered. To register a controller, call [addRobotController](addRobotController). While connecting, the stream sends initialization updates. Once the controller reaches `MODE_MONITOR`, it sends controller state updates. \n\t* @summary Stream State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {number} [responseRate] \n\t* @param {number} [addControllerTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).streamRobotControllerState(cell, controller, responseRate, addControllerTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Update the configuration of a robot controller. Reconfigure certain options of a robot controller, or deploy a specific container image of a robot controller. To update a virtual controller, the previous controller will be deleted and a new one created. Changes to the configuration, e.g., TCPs, coordinate systems, mounting, are **not** transferred to the new robot. <!-- theme: info --> > **NOTE** > > An update is not a reset. To do a reset: > 1. Get the current configuration via [getRobotController](getRobotController). > 2. Delete the existing virtual robot controller via [deleteRobotController](deleteRobotController). > 3. Add a virtual robot controller with [addRobotController](addRobotController). \n\t* @summary Update Robot Controller\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {RobotController} robotController \n\t* @param {number} [completionTimeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateRobotController(cell, controller, robotController, completionTimeout, options) {\n\t\treturn ControllerApiFp(this.configuration).updateRobotController(cell, controller, robotController, completionTimeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ControllerInputsOutputsApi - axios parameter creator\n*/\nconst ControllerInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tlistIODescriptions: async (cell, controller, ios, direction, valueType, group, options = {}) => {\n\t\t\tassertParamExists(\"listIODescriptions\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIODescriptions\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tif (direction !== void 0) localVarQueryParameter[\"direction\"] = direction;\n\t\t\tif (valueType !== void 0) localVarQueryParameter[\"value_type\"] = valueType;\n\t\t\tif (group !== void 0) localVarQueryParameter[\"group\"] = group;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistIOValues: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"listIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIOValues\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetOutputValues: async (cell, controller, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setOutputValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setOutputValues\", \"controller\", controller);\n\t\t\tassertParamExists(\"setOutputValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamIOValues: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"streamIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamIOValues\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\twaitForIOEvent: async (cell, controller, waitForIOEventRequest, options = {}) => {\n\t\t\tassertParamExists(\"waitForIOEvent\", \"cell\", cell);\n\t\t\tassertParamExists(\"waitForIOEvent\", \"controller\", controller);\n\t\t\tassertParamExists(\"waitForIOEvent\", \"waitForIOEventRequest\", waitForIOEventRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/ios/wait-for`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(waitForIOEventRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - functional programming interface\n*/\nconst ControllerInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ControllerInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync listIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIODescriptions(cell, controller, ios, direction, valueType, group, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.listIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listIOValues(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIOValues(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.listIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setOutputValues(cell, controller, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setOutputValues(cell, controller, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.setOutputValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamIOValues(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamIOValues(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.streamIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync waitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.waitForIOEvent(cell, controller, waitForIOEventRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ControllerInputsOutputsApi.waitForIOEvent\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - factory interface\n*/\nconst ControllerInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ControllerInputsOutputsApiFp(configuration);\n\treturn {\n\t\tlistIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\treturn localVarFp.listIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistIOValues(cell, controller, ios, options) {\n\t\t\treturn localVarFp.listIOValues(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetOutputValues(cell, controller, iOValue, options) {\n\t\t\treturn localVarFp.setOutputValues(cell, controller, iOValue, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamIOValues(cell, controller, ios, options) {\n\t\t\treturn localVarFp.streamIOValues(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\twaitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\t\treturn localVarFp.waitForIOEvent(cell, controller, waitForIOEventRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ControllerInputsOutputsApi - object-oriented interface\n*/\nvar ControllerInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* Lists the input/output descriptions of the robot controller. The input/output descriptions contain information like name, type and unit.\\\\ Available inputs/outputs are defined by the robot controller\\\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {IODirection} [direction] Return only inputs/outputs with the specified direction. \n\t* @param {IOValueType} [valueType] Return only inputs/outputs with the specified value type. \n\t* @param {string} [group] Return only inputs/outputs from the specified group. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).listIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Retrieves the current values of inputs/outputs. The identifiers of the inputs/outputs must be provided in the request. Request all available input/output identifiers via [listIODescriptions](listIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIOValues(cell, controller, ios, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).listIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Set the values of outputs. All available output identifiers and possible value ranges can be requested via [listIODescriptions](listIODescriptions). The call will return once the values have been set on and accepted by the robot. This can take up to 200 milliseconds. > **NOTE** > > Do not call this endpoint while another request is still in progress. The second call will fail. \n\t* @summary Set Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetOutputValues(cell, controller, iOValue, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).setOutputValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Continuously receive updates of input/output values via websocket. Updates are sent in the update rate of the controller. > **NOTE** > > If you request many values simultaneously, the request is likely to fail. The amount of values that can be streamed simultaneously depends on the specific robot controller. > **NOTE** > > The inputs and outputs are sent in the update rate of the controller to prevent losing any values. This can lead to a high amount of data transmitted. \n\t* @summary Stream Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamIOValues(cell, controller, ios, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).streamIOValues(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Wait until an input/output reaches a certain value. This call returns as soon as the condition is met or the request fails. The `comparison_type` value is used to define how the current value of the input/output is compared with given value. Only set the value that corresponds to the `value_type` of the input/output. See [listIODescriptions](listIODescriptions) for more information. **Examples** 1. Wait until analog input `AI_1` < 10: ``` io: \\\"AI_1\\\" comparison_type: \\\"COMPARISON_LESS\\\" value: 10 ``` 2. Wait until analog input `AI_2` > 5.0: ``` io: \\\"AI_2\\\" comparison_type: \\\"COMPARISON_GREATER\\\" value: 5.0 ``` 3. Wait until digital input `DI_3` is true: ``` io: \\\"DI_3\\\" comparison_type: \\\"COMPARISON_EQUAL\\\" value: true ``` \n\t* @summary Wait For\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {WaitForIOEventRequest} waitForIOEventRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\twaitForIOEvent(cell, controller, waitForIOEventRequest, options) {\n\t\treturn ControllerInputsOutputsApiFp(this.configuration).waitForIOEvent(cell, controller, waitForIOEventRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* JoggingApi - axios parameter creator\n*/\nconst JoggingApiAxiosParamCreator = function(configuration) {\n\treturn { executeJogging: async (cell, controller, executeJoggingRequest, options = {}) => {\n\t\tassertParamExists(\"executeJogging\", \"cell\", cell);\n\t\tassertParamExists(\"executeJogging\", \"controller\", controller);\n\t\tassertParamExists(\"executeJogging\", \"executeJoggingRequest\", executeJoggingRequest);\n\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/execution/jogging`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(executeJoggingRequest, localVarRequestOptions, configuration);\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* JoggingApi - functional programming interface\n*/\nconst JoggingApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = JoggingApiAxiosParamCreator(configuration);\n\treturn { async executeJogging(cell, controller, executeJoggingRequest, options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.executeJogging(cell, controller, executeJoggingRequest, options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"JoggingApi.executeJogging\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* JoggingApi - factory interface\n*/\nconst JoggingApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = JoggingApiFp(configuration);\n\treturn { executeJogging(cell, controller, executeJoggingRequest, options) {\n\t\treturn localVarFp.executeJogging(cell, controller, executeJoggingRequest, options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* JoggingApi - object-oriented interface\n*/\nvar JoggingApi = class extends BaseAPI {\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Provides execution control over a dynamically adaptable jogging motion for a motion group. Jogging describes controlling a motion group by sending real-time commands to move either its joints or the TCP. The commands contain target velocities that may change at any time during execution, so the resulting motion cannot be computed upfront. ### Preconditions The motion group is not moved by any other endpoint. ### Requests #### 1. Send `InitializeJoggingRequest` to configure the jogging. - Sets the robot controller mode to control mode. - Claims the motion group for jogging. For robotic arms, TCP is required to ensure that limits, including TCP limits, are respected. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. - Commands can only be processed in the cycle rate of the controller - Sending commands faster will not increase the responsiveness of the jogging motion, it will lead to dropped commands - It is recommended to couple sending commands with the [state stream](streamMotionGroupState), which can be subscribed to via nats as well. #### 3. Change or stop the jogging motion - Change the jogging direction and/or velocity during the jogging motion with `JointVelocityRequest` or `TcpVelocityRequest`. - To stop the jogging motion, send zero velocities via either request or `PauseJoggingRequest`. ### Responses - Each request is acknowledged with a corresponding response: - `InitializeJoggingResponse` after `InitializeJoggingRequest` - `JointVelocityResponse` after `JointVelocityRequest` - `TcpVelocityResponse` after `TcpVelocityRequest` - `PauseJoggingResponse` after `PauseJoggingRequest` The responses confirm that the requests were received. They do not signal that the operation was successful; check the [motion group state](streamMotionGroupState) for that. - `MovementErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops. \n\t* @summary Execute Jogging\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExecuteJoggingRequest} executeJoggingRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texecuteJogging(cell, controller, executeJoggingRequest, options) {\n\t\treturn JoggingApiFp(this.configuration).executeJogging(cell, controller, executeJoggingRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* KinematicsApi - axios parameter creator\n*/\nconst KinematicsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tforwardKinematics: async (cell, forwardKinematicsRequest, options = {}) => {\n\t\t\tassertParamExists(\"forwardKinematics\", \"cell\", cell);\n\t\t\tassertParamExists(\"forwardKinematics\", \"forwardKinematicsRequest\", forwardKinematicsRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/kinematic/forward`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(forwardKinematicsRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tinverseKinematics: async (cell, inverseKinematicsRequest, options = {}) => {\n\t\t\tassertParamExists(\"inverseKinematics\", \"cell\", cell);\n\t\t\tassertParamExists(\"inverseKinematics\", \"inverseKinematicsRequest\", inverseKinematicsRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/kinematic/inverse`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(inverseKinematicsRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - functional programming interface\n*/\nconst KinematicsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = KinematicsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync forwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.forwardKinematics(cell, forwardKinematicsRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"KinematicsApi.forwardKinematics\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync inverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.inverseKinematics(cell, inverseKinematicsRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"KinematicsApi.inverseKinematics\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - factory interface\n*/\nconst KinematicsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = KinematicsApiFp(configuration);\n\treturn {\n\t\tforwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\t\treturn localVarFp.forwardKinematics(cell, forwardKinematicsRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tinverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\t\treturn localVarFp.inverseKinematics(cell, inverseKinematicsRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* KinematicsApi - object-oriented interface\n*/\nvar KinematicsApi = class extends BaseAPI {\n\t/**\n\t* Returns the TCP poses for a list of given joint positions. \n\t* @summary Forward kinematics\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {ForwardKinematicsRequest} forwardKinematicsRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tforwardKinematics(cell, forwardKinematicsRequest, options) {\n\t\treturn KinematicsApiFp(this.configuration).forwardKinematics(cell, forwardKinematicsRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the reachable joint positions for a list of given poses. \n\t* @summary Inverse kinematics\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {InverseKinematicsRequest} inverseKinematicsRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tinverseKinematics(cell, inverseKinematicsRequest, options) {\n\t\treturn KinematicsApiFp(this.configuration).inverseKinematics(cell, inverseKinematicsRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* LicenseApi - axios parameter creator\n*/\nconst LicenseApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tactivateLicense: async (activateLicenseRequest, options = {}) => {\n\t\t\tassertParamExists(\"activateLicense\", \"activateLicenseRequest\", activateLicenseRequest);\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(activateLicenseRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeactivateLicense: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetLicense: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetLicenseStatus: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/license/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* LicenseApi - functional programming interface\n*/\nconst LicenseApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = LicenseApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync activateLicense(activateLicenseRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.activateLicense(activateLicenseRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.activateLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deactivateLicense(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deactivateLicense(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.deactivateLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getLicense(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getLicense(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.getLicense\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getLicenseStatus(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getLicenseStatus(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"LicenseApi.getLicenseStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* LicenseApi - factory interface\n*/\nconst LicenseApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = LicenseApiFp(configuration);\n\treturn {\n\t\tactivateLicense(activateLicenseRequest, options) {\n\t\t\treturn localVarFp.activateLicense(activateLicenseRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeactivateLicense(options) {\n\t\t\treturn localVarFp.deactivateLicense(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetLicense(options) {\n\t\t\treturn localVarFp.getLicense(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetLicenseStatus(options) {\n\t\t\treturn localVarFp.getLicenseStatus(options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* LicenseApi - object-oriented interface\n*/\nvar LicenseApi = class extends BaseAPI {\n\t/**\n\t* Activates a license using the provided license owner authentication token. The refresh token is used to enable communication with the license provider without requiring user interaction. \n\t* @summary Activate license\n\t* @param {ActivateLicenseRequest} activateLicenseRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tactivateLicense(activateLicenseRequest, options) {\n\t\treturn LicenseApiFp(this.configuration).activateLicense(activateLicenseRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deactivates active license.\n\t* @summary Deactivate license\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeactivateLicense(options) {\n\t\treturn LicenseApiFp(this.configuration).deactivateLicense(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get information on the license used with the Wandelbots NOVA instance, e.g., licensed product, expiration date, license status.\n\t* @summary Get license\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetLicense(options) {\n\t\treturn LicenseApiFp(this.configuration).getLicense(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the license status. - If `valid`, Wandelbots NOVA can be used. - If `expired`, the license has to be renewed in order to use Wandelbots NOVA. \n\t* @summary Get license status\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetLicenseStatus(options) {\n\t\treturn LicenseApiFp(this.configuration).getLicenseStatus(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* MotionGroupApi - axios parameter creator\n*/\nconst MotionGroupApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetCurrentMotionGroupState: async (cell, controller, motionGroup, responseCoordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"getCurrentMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseCoordinateSystem !== void 0) localVarQueryParameter[\"response_coordinate_system\"] = responseCoordinateSystem;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupDescription: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"controller\", controller);\n\t\t\tassertParamExists(\"getMotionGroupDescription\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstreamMotionGroupState: async (cell, controller, motionGroup, responseRate, responseCoordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"streamMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/motion-groups/{motion-group}/state-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (responseRate !== void 0) localVarQueryParameter[\"response_rate\"] = responseRate;\n\t\t\tif (responseCoordinateSystem !== void 0) localVarQueryParameter[\"response_coordinate_system\"] = responseCoordinateSystem;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - functional programming interface\n*/\nconst MotionGroupApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = MotionGroupApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.getCurrentMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupDescription(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.getMotionGroupDescription\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupApi.streamMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - factory interface\n*/\nconst MotionGroupApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = MotionGroupApiFp(configuration);\n\treturn {\n\t\tgetCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\t\treturn localVarFp.getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstreamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\t\treturn localVarFp.streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* MotionGroupApi - object-oriented interface\n*/\nvar MotionGroupApi = class extends BaseAPI {\n\t/**\n\t* Returns the current state of the selected motion group including the current joint position, velocity, pose, and more. \n\t* @summary State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options) {\n\t\treturn MotionGroupApiFp(this.configuration).getCurrentMotionGroupState(cell, controller, motionGroup, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the set of parameters that describe the motion group and its configuration including safety zones, limits, etc. This data can change upon connection to the robot. \n\t* @summary Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupDescription(cell, controller, motionGroup, options) {\n\t\treturn MotionGroupApiFp(this.configuration).getMotionGroupDescription(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected. \n\t* @summary Stream State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {number} [responseRate] Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller\\&#39;s step rate as well. Minimal response rate is the step rate of controller.\n\t* @param {string} [responseCoordinateSystem] Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstreamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options) {\n\t\treturn MotionGroupApiFp(this.configuration).streamMotionGroupState(cell, controller, motionGroup, responseRate, responseCoordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* MotionGroupModelsApi - axios parameter creator\n*/\nconst MotionGroupModelsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetMotionGroupCollisionModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupCollisionModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/collision`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupGlbModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupGlbModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/glb`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupKinematicModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupKinematicModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/kinematic`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupModels: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/motion-group-models`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupUsdModel: async (motionGroupModel, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupUsdModel\", \"motionGroupModel\", motionGroupModel);\n\t\t\tconst localVarPath = `/motion-group-models/{motion-group-model}/usd`.replace(`{motion-group-model}`, encodeURIComponent(String(motionGroupModel)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - functional programming interface\n*/\nconst MotionGroupModelsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = MotionGroupModelsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getMotionGroupCollisionModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupCollisionModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupCollisionModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupGlbModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupGlbModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupGlbModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupKinematicModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupKinematicModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupKinematicModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupModels(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupModels(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupModels\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupUsdModel(motionGroupModel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupUsdModel(motionGroupModel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"MotionGroupModelsApi.getMotionGroupUsdModel\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - factory interface\n*/\nconst MotionGroupModelsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = MotionGroupModelsApiFp(configuration);\n\treturn {\n\t\tgetMotionGroupCollisionModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupCollisionModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupGlbModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupGlbModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupKinematicModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupKinematicModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupModels(options) {\n\t\t\treturn localVarFp.getMotionGroupModels(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupUsdModel(motionGroupModel, options) {\n\t\t\treturn localVarFp.getMotionGroupUsdModel(motionGroupModel, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* MotionGroupModelsApi - object-oriented interface\n*/\nvar MotionGroupModelsApi = class extends BaseAPI {\n\t/**\n\t* Returns the default collision link chain for a given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Attach additional shapes to the link reference frames by extending the link dictionaries before further use. Additional shapes may overlap each other per link and may also overlap the respective link\\'s default shape. \n\t* @summary Get Collision Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupCollisionModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupCollisionModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the GLB asset for the specified motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported identifiers. \n\t* @summary Download GLB Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupGlbModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupGlbModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the kinematics model (DH parameters) for the given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models. \n\t* @summary Get Kinematics\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupKinematicModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupKinematicModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the list of supported motion group models. \n\t* @summary Motion Group Models\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupModels(options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupModels(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the USD scene model for the specified motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported identifiers. \n\t* @summary Download USD Model\n\t* @param {string} motionGroupModel Unique identifier for the model of a motion group, e.g., &#x60;UniversalRobots_UR10e&#x60;. Get the &#x60;model&#x60; of a configured motion group with [getOptimizerConfiguration](getOptimizerConfiguration). \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupUsdModel(motionGroupModel, options) {\n\t\treturn MotionGroupModelsApiFp(this.configuration).getMotionGroupUsdModel(motionGroupModel, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* ProgramApi - axios parameter creator\n*/\nconst ProgramApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tgetProgram: async (cell, program, options = {}) => {\n\t\t\tassertParamExists(\"getProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"getProgram\", \"program\", program);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistPrograms: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listPrograms\", \"cell\", cell);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstartProgram: async (cell, program, programStartRequest, options = {}) => {\n\t\t\tassertParamExists(\"startProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"startProgram\", \"program\", program);\n\t\t\tassertParamExists(\"startProgram\", \"programStartRequest\", programStartRequest);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}/start`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(programStartRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstopProgram: async (cell, program, options = {}) => {\n\t\t\tassertParamExists(\"stopProgram\", \"cell\", cell);\n\t\t\tassertParamExists(\"stopProgram\", \"program\", program);\n\t\t\tconst localVarPath = `/experimental/cells/{cell}/programs/{program}/stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{program}`, encodeURIComponent(String(program)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* ProgramApi - functional programming interface\n*/\nconst ProgramApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = ProgramApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync getProgram(cell, program, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getProgram(cell, program, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.getProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listPrograms(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listPrograms(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.listPrograms\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync startProgram(cell, program, programStartRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.startProgram(cell, program, programStartRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.startProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync stopProgram(cell, program, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.stopProgram(cell, program, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"ProgramApi.stopProgram\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* ProgramApi - factory interface\n*/\nconst ProgramApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = ProgramApiFp(configuration);\n\treturn {\n\t\tgetProgram(cell, program, options) {\n\t\t\treturn localVarFp.getProgram(cell, program, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistPrograms(cell, options) {\n\t\t\treturn localVarFp.listPrograms(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstartProgram(cell, program, programStartRequest, options) {\n\t\t\treturn localVarFp.startProgram(cell, program, programStartRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstopProgram(cell, program, options) {\n\t\t\treturn localVarFp.stopProgram(cell, program, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* ProgramApi - object-oriented interface\n*/\nvar ProgramApi = class extends BaseAPI {\n\t/**\n\t* <!-- theme: danger --> > **Experimental** Get details of a program. \n\t* @summary Get program\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetProgram(cell, program, options) {\n\t\treturn ProgramApiFp(this.configuration).getProgram(cell, program, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** List details of all existing programs. \n\t* @summary List programs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistPrograms(cell, options) {\n\t\treturn ProgramApiFp(this.configuration).listPrograms(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** This endpoint starts a new program execution. The program will be executed asynchronously. \n\t* @summary Start the program\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {ProgramStartRequest} programStartRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstartProgram(cell, program, programStartRequest, options) {\n\t\treturn ProgramApiFp(this.configuration).startProgram(cell, program, programStartRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** Stop a specific program run. \n\t* @summary Stop program run\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} program \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstopProgram(cell, program, options) {\n\t\treturn ProgramApiFp(this.configuration).stopProgram(cell, program, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* RobotConfigurationsApi - axios parameter creator\n*/\nconst RobotConfigurationsApiAxiosParamCreator = function(configuration) {\n\treturn { getRobotConfigurations: async (options = {}) => {\n\t\tconst localVarUrlObj = new URL(`/robot-configurations`, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* RobotConfigurationsApi - functional programming interface\n*/\nconst RobotConfigurationsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = RobotConfigurationsApiAxiosParamCreator(configuration);\n\treturn { async getRobotConfigurations(options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getRobotConfigurations(options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"RobotConfigurationsApi.getRobotConfigurations\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* RobotConfigurationsApi - factory interface\n*/\nconst RobotConfigurationsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = RobotConfigurationsApiFp(configuration);\n\treturn { getRobotConfigurations(options) {\n\t\treturn localVarFp.getRobotConfigurations(options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* RobotConfigurationsApi - object-oriented interface\n*/\nvar RobotConfigurationsApi = class extends BaseAPI {\n\t/**\n\t* Returns the identifiers of available robot configurations. A robot configuration represents a robot controller with one or more attached motion groups. \n\t* @summary List Robot Configurations\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetRobotConfigurations(options) {\n\t\treturn RobotConfigurationsApiFp(this.configuration).getRobotConfigurations(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreCollisionComponentsApi - axios parameter creator\n*/\nconst StoreCollisionComponentsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tdeleteStoredCollider: async (cell, collider, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollider\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteStoredCollisionLinkChain: async (cell, linkChain, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteStoredCollisionTool: async (cell, tool, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionTool\", \"tool\", tool);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollider: async (cell, collider, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollider\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionLinkChain: async (cell, linkChain, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionTool: async (cell, tool, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionTool\", \"tool\", tool);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCollisionLinkChains: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listCollisionLinkChains\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistCollisionLinkChainsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listCollisionLinkChainsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredColliders: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredColliders\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollidersKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollidersKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionTools: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionTools\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionToolsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionToolsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollider: async (cell, collider, collider2, options = {}) => {\n\t\t\tassertParamExists(\"storeCollider\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollider\", \"collider\", collider);\n\t\t\tassertParamExists(\"storeCollider\", \"collider2\", collider2);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/colliders/{collider}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{collider}`, encodeURIComponent(String(collider)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collider2, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionLinkChain: async (cell, linkChain, collider, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"linkChain\", linkChain);\n\t\t\tassertParamExists(\"storeCollisionLinkChain\", \"collider\", collider);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/link-chains/{link-chain}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{link-chain}`, encodeURIComponent(String(linkChain)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collider, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionTool: async (cell, tool, requestBody, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionTool\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionTool\", \"tool\", tool);\n\t\t\tassertParamExists(\"storeCollisionTool\", \"requestBody\", requestBody);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/tools/{tool}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{tool}`, encodeURIComponent(String(tool)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(requestBody, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - functional programming interface\n*/\nconst StoreCollisionComponentsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreCollisionComponentsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync deleteStoredCollider(cell, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollider(cell, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionLinkChain(cell, linkChain, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteStoredCollisionTool(cell, tool, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionTool(cell, tool, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.deleteStoredCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollider(cell, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollider(cell, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionLinkChain(cell, linkChain, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionTool(cell, tool, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionTool(cell, tool, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.getStoredCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCollisionLinkChains(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCollisionLinkChains(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listCollisionLinkChains\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listCollisionLinkChainsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listCollisionLinkChainsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listCollisionLinkChainsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredColliders(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredColliders(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredColliders\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollidersKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollidersKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollidersKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionTools(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionTools(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollisionTools\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionToolsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionToolsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.listStoredCollisionToolsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollider(cell, collider, collider2, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollider(cell, collider, collider2, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollider\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionLinkChain(cell, linkChain, collider, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionLinkChain(cell, linkChain, collider, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollisionLinkChain\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionTool(cell, tool, requestBody, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionTool(cell, tool, requestBody, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionComponentsApi.storeCollisionTool\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - factory interface\n*/\nconst StoreCollisionComponentsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreCollisionComponentsApiFp(configuration);\n\treturn {\n\t\tdeleteStoredCollider(cell, collider, options) {\n\t\t\treturn localVarFp.deleteStoredCollider(cell, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteStoredCollisionTool(cell, tool, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionTool(cell, tool, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollider(cell, collider, options) {\n\t\t\treturn localVarFp.getStoredCollider(cell, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionLinkChain(cell, linkChain, options) {\n\t\t\treturn localVarFp.getStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionTool(cell, tool, options) {\n\t\t\treturn localVarFp.getStoredCollisionTool(cell, tool, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCollisionLinkChains(cell, options) {\n\t\t\treturn localVarFp.listCollisionLinkChains(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistCollisionLinkChainsKeys(cell, options) {\n\t\t\treturn localVarFp.listCollisionLinkChainsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredColliders(cell, options) {\n\t\t\treturn localVarFp.listStoredColliders(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollidersKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollidersKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionTools(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionTools(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionToolsKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionToolsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollider(cell, collider, collider2, options) {\n\t\t\treturn localVarFp.storeCollider(cell, collider, collider2, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionLinkChain(cell, linkChain, collider, options) {\n\t\t\treturn localVarFp.storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionTool(cell, tool, requestBody, options) {\n\t\t\treturn localVarFp.storeCollisionTool(cell, tool, requestBody, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreCollisionComponentsApi - object-oriented interface\n*/\nvar StoreCollisionComponentsApi = class extends BaseAPI {\n\t/**\n\t* Deletes the stored collider. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollider(cell, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollider(cell, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deletes the stored link chain. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionLinkChain(cell, linkChain, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deletes the stored tool. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionTool(cell, tool, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).deleteStoredCollisionTool(cell, tool, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the collider. \n\t* @summary Get Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollider(cell, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollider(cell, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the collision link chain. \n\t* @summary Get Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionLinkChain(cell, linkChain, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollisionLinkChain(cell, linkChain, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the stored tool. \n\t* @summary Get Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionTool(cell, tool, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).getStoredCollisionTool(cell, tool, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the stored link chains. \n\t* @summary List Link Chains\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCollisionLinkChains(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listCollisionLinkChains(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns a list of keys for stored link chains. \n\t* @summary List Link Chain Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistCollisionLinkChainsKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listCollisionLinkChainsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns all stored colliders. \n\t* @summary List Colliders\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredColliders(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredColliders(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns a list of keys for stored colliders. \n\t* @summary List Collider Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollidersKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollidersKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the list of stored tools. \n\t* @summary List Tools\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionTools(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionTools(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns a list of keys for stored tools. \n\t* @summary List Tool Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionToolsKeys(cell, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).listStoredCollisionToolsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Stores collider. - If the collider does not exist, it will be created. - If the collider exists, it will be updated. \n\t* @summary Store Collider\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} collider Unique identifier addressing a collider.\n\t* @param {Collider} collider2 \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollider(cell, collider, collider2, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollider(cell, collider, collider2, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Stores link chain. - If the link chain does not exist, it will be created. - If the link chain exists, it will be updated. \n\t* @summary Store Link Chain\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} linkChain Unique identifier addressing a collision link chain.\n\t* @param {Array<{ [key: string]: Collider; }>} collider \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionLinkChain(cell, linkChain, collider, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollisionLinkChain(cell, linkChain, collider, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Stores the tool. - If the tool does not exist, it will be created. - If the tool exists, it will be updated. \n\t* @summary Store Tool\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} tool Unique identifier addressing a collision tool.\n\t* @param {{ [key: string]: Collider; }} requestBody \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionTool(cell, tool, requestBody, options) {\n\t\treturn StoreCollisionComponentsApiFp(this.configuration).storeCollisionTool(cell, tool, requestBody, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreCollisionSetupsApi - axios parameter creator\n*/\nconst StoreCollisionSetupsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tdeleteStoredCollisionSetup: async (cell, setup, options = {}) => {\n\t\t\tassertParamExists(\"deleteStoredCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteStoredCollisionSetup\", \"setup\", setup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetStoredCollisionSetup: async (cell, setup, options = {}) => {\n\t\t\tassertParamExists(\"getStoredCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"getStoredCollisionSetup\", \"setup\", setup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionSetups: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionSetups\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistStoredCollisionSetupsKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listStoredCollisionSetupsKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups-keys`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreCollisionSetup: async (cell, setup, collisionSetup, options = {}) => {\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"setup\", setup);\n\t\t\tassertParamExists(\"storeCollisionSetup\", \"collisionSetup\", collisionSetup);\n\t\t\tconst localVarPath = `/cells/{cell}/store/collision/setups/{setup}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{setup}`, encodeURIComponent(String(setup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(collisionSetup, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - functional programming interface\n*/\nconst StoreCollisionSetupsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreCollisionSetupsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync deleteStoredCollisionSetup(cell, setup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteStoredCollisionSetup(cell, setup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.deleteStoredCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getStoredCollisionSetup(cell, setup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getStoredCollisionSetup(cell, setup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.getStoredCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionSetups(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionSetups(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.listStoredCollisionSetups\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listStoredCollisionSetupsKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listStoredCollisionSetupsKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.listStoredCollisionSetupsKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeCollisionSetup(cell, setup, collisionSetup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeCollisionSetup(cell, setup, collisionSetup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreCollisionSetupsApi.storeCollisionSetup\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - factory interface\n*/\nconst StoreCollisionSetupsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreCollisionSetupsApiFp(configuration);\n\treturn {\n\t\tdeleteStoredCollisionSetup(cell, setup, options) {\n\t\t\treturn localVarFp.deleteStoredCollisionSetup(cell, setup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetStoredCollisionSetup(cell, setup, options) {\n\t\t\treturn localVarFp.getStoredCollisionSetup(cell, setup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionSetups(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionSetups(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistStoredCollisionSetupsKeys(cell, options) {\n\t\t\treturn localVarFp.listStoredCollisionSetupsKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreCollisionSetup(cell, setup, collisionSetup, options) {\n\t\t\treturn localVarFp.storeCollisionSetup(cell, setup, collisionSetup, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreCollisionSetupsApi - object-oriented interface\n*/\nvar StoreCollisionSetupsApi = class extends BaseAPI {\n\t/**\n\t* Deletes the stored collision setup. <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteStoredCollisionSetup(cell, setup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).deleteStoredCollisionSetup(cell, setup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns the stored collision setup. \n\t* @summary Get Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetStoredCollisionSetup(cell, setup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).getStoredCollisionSetup(cell, setup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns a list of stored collision setups. \n\t* @summary List Collision Setups\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionSetups(cell, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetups(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns a list of keys for stored collision setups. \n\t* @summary List Collision Setup Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistStoredCollisionSetupsKeys(cell, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).listStoredCollisionSetupsKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Stores collision setup. - If the collision setup does not exist, it will be created. - If the collision setup exists, it will be updated. \n\t* @summary Store Collision Setup\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} setup Identifier of the collision setup\n\t* @param {CollisionSetup} collisionSetup \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreCollisionSetup(cell, setup, collisionSetup, options) {\n\t\treturn StoreCollisionSetupsApiFp(this.configuration).storeCollisionSetup(cell, setup, collisionSetup, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* StoreObjectApi - axios parameter creator\n*/\nconst StoreObjectApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tclearAllObjects: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"clearAllObjects\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteObject: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"deleteObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetObject: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"getObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"getObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetObjectMetadata: async (cell, key, options = {}) => {\n\t\t\tassertParamExists(\"getObjectMetadata\", \"cell\", cell);\n\t\t\tassertParamExists(\"getObjectMetadata\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"HEAD\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistAllObjectKeys: async (cell, options = {}) => {\n\t\t\tassertParamExists(\"listAllObjectKeys\", \"cell\", cell);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tstoreObject: async (cell, key, xMetadata, anyValue, options = {}) => {\n\t\t\tassertParamExists(\"storeObject\", \"cell\", cell);\n\t\t\tassertParamExists(\"storeObject\", \"key\", key);\n\t\t\tconst localVarPath = `/cells/{cell}/store/objects/{key}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{key}`, encodeURIComponent(String(key)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tconst localVarFormParams = new (configuration && configuration.formDataCtor || FormData)();\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (anyValue !== void 0) localVarFormParams.append(\"any_value\", new Blob([JSON.stringify(anyValue)], { type: \"application/json\" }));\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"multipart/form-data\";\n\t\t\tif (xMetadata != null) localVarHeaderParameter[\"X-Metadata\"] = typeof xMetadata === \"string\" ? xMetadata : JSON.stringify(xMetadata);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = localVarFormParams;\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - functional programming interface\n*/\nconst StoreObjectApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = StoreObjectApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync clearAllObjects(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearAllObjects(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.clearAllObjects\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteObject(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteObject(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.deleteObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getObject(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getObject(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.getObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getObjectMetadata(cell, key, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getObjectMetadata(cell, key, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.getObjectMetadata\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listAllObjectKeys(cell, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listAllObjectKeys(cell, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.listAllObjectKeys\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync storeObject(cell, key, xMetadata, anyValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.storeObject(cell, key, xMetadata, anyValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"StoreObjectApi.storeObject\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - factory interface\n*/\nconst StoreObjectApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = StoreObjectApiFp(configuration);\n\treturn {\n\t\tclearAllObjects(cell, options) {\n\t\t\treturn localVarFp.clearAllObjects(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteObject(cell, key, options) {\n\t\t\treturn localVarFp.deleteObject(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetObject(cell, key, options) {\n\t\t\treturn localVarFp.getObject(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetObjectMetadata(cell, key, options) {\n\t\t\treturn localVarFp.getObjectMetadata(cell, key, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistAllObjectKeys(cell, options) {\n\t\t\treturn localVarFp.listAllObjectKeys(cell, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tstoreObject(cell, key, xMetadata, anyValue, options) {\n\t\t\treturn localVarFp.storeObject(cell, key, xMetadata, anyValue, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* StoreObjectApi - object-oriented interface\n*/\nvar StoreObjectApi = class extends BaseAPI {\n\t/**\n\t* Delete all objects. <!-- theme: danger --> > This will delete ALL your persistently stored data. \n\t* @summary Clear all Objects\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearAllObjects(cell, options) {\n\t\treturn StoreObjectApiFp(this.configuration).clearAllObjects(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete an object <!-- theme: danger --> > This will delete persistently stored data. \n\t* @summary Delete Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteObject(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).deleteObject(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns content and metadata of a stored object. \n\t* @summary Get Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetObject(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).getObject(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Returns metadata. Object content is not returned. \n\t* @summary Get Object Metadata\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetObjectMetadata(cell, key, options) {\n\t\treturn StoreObjectApiFp(this.configuration).getObjectMetadata(cell, key, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List the keys for all objects. \n\t* @summary List all Object Keys\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistAllObjectKeys(cell, options) {\n\t\treturn StoreObjectApiFp(this.configuration).listAllObjectKeys(cell, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Store any data as an object. Using a key which already contains an object will override the previously stored object. Use [getObjectMetadata](getObjectMetadata) to verify that the key does not contain objects. #### Optional Specify metadata as a dictionary with names and values. \n\t* @summary Store Object\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} key \n\t* @param {{ [key: string]: string; }} [xMetadata] \n\t* @param {any} [anyValue] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tstoreObject(cell, key, xMetadata, anyValue, options) {\n\t\treturn StoreObjectApiFp(this.configuration).storeObject(cell, key, xMetadata, anyValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* SystemApi - axios parameter creator\n*/\nconst SystemApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tbackupConfiguration: async (resources, metadata, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (resources) localVarQueryParameter[\"resources\"] = resources.join(COLLECTION_FORMATS.csv);\n\t\t\tif (metadata !== void 0) localVarQueryParameter[\"metadata\"] = metadata;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tcheckNovaVersionUpdate: async (channel, options = {}) => {\n\t\t\tassertParamExists(\"checkNovaVersionUpdate\", \"channel\", channel);\n\t\t\tconst localVarUrlObj = new URL(`/system/update`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (channel !== void 0) localVarQueryParameter[\"channel\"] = channel;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetArpScan: async (_interface, cidr, timeout, options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/arp-scan`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (_interface !== void 0) localVarQueryParameter[\"interface\"] = _interface;\n\t\t\tif (cidr !== void 0) localVarQueryParameter[\"cidr\"] = cidr;\n\t\t\tif (timeout !== void 0) localVarQueryParameter[\"timeout\"] = timeout;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetConfigurationBackupStatus: async (operationId, options = {}) => {\n\t\t\tassertParamExists(\"getConfigurationBackupStatus\", \"operationId\", operationId);\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (operationId !== void 0) localVarQueryParameter[\"operation_id\"] = operationId;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetDiagnosePackage: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/diagnosis-package/zip`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetNetworkInterfaces: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/interfaces`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetNetworkState: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/experimental/system/network/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetSystemStatus: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/status`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetSystemVersion: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/version`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistConfigurationResources: async (options = {}) => {\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration/resources`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\trestoreConfiguration: async (body, resources, options = {}) => {\n\t\t\tassertParamExists(\"restoreConfiguration\", \"body\", body);\n\t\t\tconst localVarUrlObj = new URL(`/system/configuration`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (resources) localVarQueryParameter[\"resources\"] = resources.join(COLLECTION_FORMATS.csv);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/gzip\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tupdateNovaVersion: async (updateNovaVersionRequest, options = {}) => {\n\t\t\tassertParamExists(\"updateNovaVersion\", \"updateNovaVersionRequest\", updateNovaVersionRequest);\n\t\t\tconst localVarUrlObj = new URL(`/system/update`, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(updateNovaVersionRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* SystemApi - functional programming interface\n*/\nconst SystemApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = SystemApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync backupConfiguration(resources, metadata, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.backupConfiguration(resources, metadata, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.backupConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync checkNovaVersionUpdate(channel, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.checkNovaVersionUpdate(channel, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.checkNovaVersionUpdate\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getArpScan(_interface, cidr, timeout, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getArpScan(_interface, cidr, timeout, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getArpScan\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getConfigurationBackupStatus(operationId, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getConfigurationBackupStatus(operationId, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getConfigurationBackupStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getDiagnosePackage(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getDiagnosePackage(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getDiagnosePackage\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getNetworkInterfaces(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getNetworkInterfaces(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getNetworkInterfaces\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getNetworkState(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getNetworkState(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getNetworkState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getSystemStatus(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getSystemStatus(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getSystemStatus\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getSystemVersion(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getSystemVersion(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.getSystemVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listConfigurationResources(options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listConfigurationResources(options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.listConfigurationResources\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync restoreConfiguration(body, resources, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.restoreConfiguration(body, resources, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.restoreConfiguration\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync updateNovaVersion(updateNovaVersionRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.updateNovaVersion(updateNovaVersionRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"SystemApi.updateNovaVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* SystemApi - factory interface\n*/\nconst SystemApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = SystemApiFp(configuration);\n\treturn {\n\t\tbackupConfiguration(resources, metadata, options) {\n\t\t\treturn localVarFp.backupConfiguration(resources, metadata, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tcheckNovaVersionUpdate(channel, options) {\n\t\t\treturn localVarFp.checkNovaVersionUpdate(channel, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetArpScan(_interface, cidr, timeout, options) {\n\t\t\treturn localVarFp.getArpScan(_interface, cidr, timeout, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetConfigurationBackupStatus(operationId, options) {\n\t\t\treturn localVarFp.getConfigurationBackupStatus(operationId, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetDiagnosePackage(options) {\n\t\t\treturn localVarFp.getDiagnosePackage(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetNetworkInterfaces(options) {\n\t\t\treturn localVarFp.getNetworkInterfaces(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetNetworkState(options) {\n\t\t\treturn localVarFp.getNetworkState(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetSystemStatus(options) {\n\t\t\treturn localVarFp.getSystemStatus(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetSystemVersion(options) {\n\t\t\treturn localVarFp.getSystemVersion(options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistConfigurationResources(options) {\n\t\t\treturn localVarFp.listConfigurationResources(options).then((request) => request(axios, basePath));\n\t\t},\n\t\trestoreConfiguration(body, resources, options) {\n\t\t\treturn localVarFp.restoreConfiguration(body, resources, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tupdateNovaVersion(updateNovaVersionRequest, options) {\n\t\t\treturn localVarFp.updateNovaVersion(updateNovaVersionRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* SystemApi - object-oriented interface\n*/\nvar SystemApi = class extends BaseAPI {\n\t/**\n\t* Retrieves a configuration backup based on provided resource identifiers. If an empty array of resources is provided, a backup for all resources will be retrieved. \n\t* @summary Retrieve Configuration Backup\n\t* @param {Array<string>} [resources] List of resource identifiers to include in the retrieval.\n\t* @param {{ [key: string]: string; }} [metadata] Additional metadata to add to the backup\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tbackupConfiguration(resources, metadata, options) {\n\t\treturn SystemApiFp(this.configuration).backupConfiguration(resources, metadata, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Check if a more recent Wandelbots NOVA Version is available. \n\t* @summary Check update\n\t* @param {ReleaseChannel} channel \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tcheckNovaVersionUpdate(channel, options) {\n\t\treturn SystemApiFp(this.configuration).checkNovaVersionUpdate(channel, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** Performs an address resolution protocol (ARP) scan on the specified interface/classless inter-domain routing (CIDR) and returns all discovered devices on the network by CIDR notation. \n\t* @summary Get ARP-Scan\n\t* @param {string} [_interface] \n\t* @param {string} [cidr] \n\t* @param {number} [timeout] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetArpScan(_interface, cidr, timeout, options) {\n\t\treturn SystemApiFp(this.configuration).getArpScan(_interface, cidr, timeout, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Retrieves the status of a configuration backup. The status can only be requested for 5 minutes after backup creation. After 5 minutes, 404 is returned.\n\t* @summary Retrieve Backup Status\n\t* @param {string} operationId \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetConfigurationBackupStatus(operationId, options) {\n\t\treturn SystemApiFp(this.configuration).getConfigurationBackupStatus(operationId, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Collects information on the current status of all NOVA services and exports them as a .zip file. Includes information on all cells on the instance such as the service logs and virtual robot controllers. From each cell the logs of all services are included, as well as the configuration of each connected controller to start virtual robots. \n\t* @summary Download Diagnosis Package\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetDiagnosePackage(options) {\n\t\treturn SystemApiFp(this.configuration).getDiagnosePackage(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** Get the network interfaces of the system. \n\t* @summary Network Interfaces\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetNetworkInterfaces(options) {\n\t\treturn SystemApiFp(this.configuration).getNetworkInterfaces(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* <!-- theme: danger --> > **Experimental** Get the current state of the network. \n\t* @summary Network State\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetNetworkState(options) {\n\t\treturn SystemApiFp(this.configuration).getNetworkState(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the status of all system services. \n\t* @summary Wandelbots NOVA status\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetSystemStatus(options) {\n\t\treturn SystemApiFp(this.configuration).getSystemStatus(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the current Wandelbots NOVA version. \n\t* @summary Wandelbots NOVA Version\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetSystemVersion(options) {\n\t\treturn SystemApiFp(this.configuration).getSystemVersion(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Retrieves a list of all available configuration resources for backup purposes. \n\t* @summary List Configuration Resources\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistConfigurationResources(options) {\n\t\treturn SystemApiFp(this.configuration).listConfigurationResources(options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Restores a previously backed up configuration. If an empty array of resources is provided, all resources from the backup will be restored. \n\t* @summary Restore Configuration Backup\n\t* @param {File} body Backup file stream containing the configuration to restore.\n\t* @param {Array<string>} [resources] List of resource identifiers to restore. If empty, all resources from the backup will be restored.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\trestoreConfiguration(body, resources, options) {\n\t\treturn SystemApiFp(this.configuration).restoreConfiguration(body, resources, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Update the Wandelbots NOVA version and all attached services. Sending this API Request will trigger an update of all NOVA services that are part of a cell. Previous cells and cell configurations will remain on the instance. If the update fails, the previous Wandelbots NOVA version is restored. \n\t* @summary Update Wandelbots NOVA version\n\t* @param {UpdateNovaVersionRequest} updateNovaVersionRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tupdateNovaVersion(updateNovaVersionRequest, options) {\n\t\treturn SystemApiFp(this.configuration).updateNovaVersion(updateNovaVersionRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryCachingApi - axios parameter creator\n*/\nconst TrajectoryCachingApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddTrajectory: async (cell, controller, addTrajectoryRequest, options = {}) => {\n\t\t\tassertParamExists(\"addTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"addTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"addTrajectory\", \"addTrajectoryRequest\", addTrajectoryRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(addTrajectoryRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tclearTrajectories: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"clearTrajectories\", \"cell\", cell);\n\t\t\tassertParamExists(\"clearTrajectories\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteTrajectory: async (cell, controller, trajectory, options = {}) => {\n\t\t\tassertParamExists(\"deleteTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteTrajectory\", \"trajectory\", trajectory);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories/{trajectory}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{trajectory}`, encodeURIComponent(String(trajectory)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetTrajectory: async (cell, controller, trajectory, options = {}) => {\n\t\t\tassertParamExists(\"getTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"getTrajectory\", \"controller\", controller);\n\t\t\tassertParamExists(\"getTrajectory\", \"trajectory\", trajectory);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories/{trajectory}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{trajectory}`, encodeURIComponent(String(trajectory)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistTrajectories: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"listTrajectories\", \"cell\", cell);\n\t\t\tassertParamExists(\"listTrajectories\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/trajectories`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - functional programming interface\n*/\nconst TrajectoryCachingApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryCachingApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addTrajectory(cell, controller, addTrajectoryRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.addTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync clearTrajectories(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.clearTrajectories(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.clearTrajectories\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteTrajectory(cell, controller, trajectory, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteTrajectory(cell, controller, trajectory, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.deleteTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getTrajectory(cell, controller, trajectory, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getTrajectory(cell, controller, trajectory, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.getTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listTrajectories(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listTrajectories(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryCachingApi.listTrajectories\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - factory interface\n*/\nconst TrajectoryCachingApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryCachingApiFp(configuration);\n\treturn {\n\t\taddTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\t\treturn localVarFp.addTrajectory(cell, controller, addTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tclearTrajectories(cell, controller, options) {\n\t\t\treturn localVarFp.clearTrajectories(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteTrajectory(cell, controller, trajectory, options) {\n\t\t\treturn localVarFp.deleteTrajectory(cell, controller, trajectory, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetTrajectory(cell, controller, trajectory, options) {\n\t\t\treturn localVarFp.getTrajectory(cell, controller, trajectory, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistTrajectories(cell, controller, options) {\n\t\t\treturn localVarFp.listTrajectories(cell, controller, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* TrajectoryCachingApi - object-oriented interface\n*/\nvar TrajectoryCachingApi = class extends BaseAPI {\n\t/**\n\t* Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. <!-- theme: info --> > #### NOTE > > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint. \n\t* @summary Add Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {AddTrajectoryRequest} addTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddTrajectory(cell, controller, addTrajectoryRequest, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).addTrajectory(cell, controller, addTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Clear the trajectory cache.\n\t* @summary Clear Trajectories\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tclearTrajectories(cell, controller, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).clearTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Delete a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories. Trajectories are removed automatically if the motion group or the corresponding controller is disconnected. \n\t* @summary Delete Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteTrajectory(cell, controller, trajectory, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).deleteTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get a previously created trajectory from cache. Use [listTrajectories](listTrajectories) to list all cached trajectories. \n\t* @summary Get Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} trajectory This represents the unique identifier of a trajectory. Every executable or partially executable trajectory is cached and an unique identifier is returned. Indicate the unique identifier to execute the trajectory or retrieve information on the trajectory. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetTrajectory(cell, controller, trajectory, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).getTrajectory(cell, controller, trajectory, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* List currently cached trajectories. Use [addTrajectory](addTrajectory) to add a new trajectory. Adding trajectories is necessary to execute them. Trajectories are removed if the corresponding motion group or controller disconnects. \n\t* @summary List Trajectories\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistTrajectories(cell, controller, options) {\n\t\treturn TrajectoryCachingApiFp(this.configuration).listTrajectories(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryExecutionApi - axios parameter creator\n*/\nconst TrajectoryExecutionApiAxiosParamCreator = function(configuration) {\n\treturn { executeTrajectory: async (cell, controller, executeTrajectoryRequest, options = {}) => {\n\t\tassertParamExists(\"executeTrajectory\", \"cell\", cell);\n\t\tassertParamExists(\"executeTrajectory\", \"controller\", controller);\n\t\tassertParamExists(\"executeTrajectory\", \"executeTrajectoryRequest\", executeTrajectoryRequest);\n\t\tconst localVarPath = `/cells/{cell}/controllers/{controller}/execution/trajectory`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(executeTrajectoryRequest, localVarRequestOptions, configuration);\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* TrajectoryExecutionApi - functional programming interface\n*/\nconst TrajectoryExecutionApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryExecutionApiAxiosParamCreator(configuration);\n\treturn { async executeTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.executeTrajectory(cell, controller, executeTrajectoryRequest, options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryExecutionApi.executeTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* TrajectoryExecutionApi - factory interface\n*/\nconst TrajectoryExecutionApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryExecutionApiFp(configuration);\n\treturn { executeTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\treturn localVarFp.executeTrajectory(cell, controller, executeTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* TrajectoryExecutionApi - object-oriented interface\n*/\nvar TrajectoryExecutionApi = class extends BaseAPI {\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group\\'s control mode is not claimed by any other endpoint. - The motion group\\'s joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time. Pausing the current movement enables you to send another `InitializeMovementRequest` to execute another trajectory on the same connection. #### 2. Send `StartMovementRequest` to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send `PauseMovementRequest` before the movement has reached its end location. - Change the movement\\'s velocity with `PlaybackSpeedRequest` after initializing the movement with `InitializeMovementRequest`. ### Responses To monitor the state of the movement, listen to the [state stream](streamMotionGroupState). The state is published via nats as well. Field `execute` in the `MotionGroupState` indicates whether a movement is ongoing and carries execution details. Each request has a corresponding acknowledgment response. They signal success or failure of the request. Especially for `PauseMovementResponse`, it does not signal the end of the movement. Additionally, `MovementError` messages can be sent in case of unexpected errors during the execution, e.g., controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending `PauseMovementRequest` and `StartMovementRequest`. - Send `PlaybackSpeedRequest` before `StartMovementRequest` to reduce the velocity of the movement before it starts. - Send `PlaybackSpeedRequest` repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send `PlaybackSpeedRequest` with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending `StartMovementRequest` after the movement has finished. \n\t* @summary Execute Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExecuteTrajectoryRequest} executeTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texecuteTrajectory(cell, controller, executeTrajectoryRequest, options) {\n\t\treturn TrajectoryExecutionApiFp(this.configuration).executeTrajectory(cell, controller, executeTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* TrajectoryPlanningApi - axios parameter creator\n*/\nconst TrajectoryPlanningApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tplanCollisionFree: async (cell, planCollisionFreeRequest, options = {}) => {\n\t\t\tassertParamExists(\"planCollisionFree\", \"cell\", cell);\n\t\t\tassertParamExists(\"planCollisionFree\", \"planCollisionFreeRequest\", planCollisionFreeRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/trajectory-planning/plan-collision-free`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(planCollisionFreeRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tplanTrajectory: async (cell, planTrajectoryRequest, options = {}) => {\n\t\t\tassertParamExists(\"planTrajectory\", \"cell\", cell);\n\t\t\tassertParamExists(\"planTrajectory\", \"planTrajectoryRequest\", planTrajectoryRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/trajectory-planning/plan-trajectory`.replace(`{cell}`, encodeURIComponent(String(cell)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"POST\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(planTrajectoryRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - functional programming interface\n*/\nconst TrajectoryPlanningApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = TrajectoryPlanningApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync planCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.planCollisionFree(cell, planCollisionFreeRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.planCollisionFree\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync planTrajectory(cell, planTrajectoryRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.planTrajectory(cell, planTrajectoryRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"TrajectoryPlanningApi.planTrajectory\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - factory interface\n*/\nconst TrajectoryPlanningApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = TrajectoryPlanningApiFp(configuration);\n\treturn {\n\t\tplanCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\t\treturn localVarFp.planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tplanTrajectory(cell, planTrajectoryRequest, options) {\n\t\t\treturn localVarFp.planTrajectory(cell, planTrajectoryRequest, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* TrajectoryPlanningApi - object-oriented interface\n*/\nvar TrajectoryPlanningApi = class extends BaseAPI {\n\t/**\n\t* Plans a collision-free trajectory for a single motion group using point-to-point (PTP) motions. This endpoint is specifically designed for collision-free path planning algorithms that find a trajectory from a start joint position to a target position while avoiding obstacles. Use the following workflow to execute a planned collision-free trajectory: 1. Plan a collision-free trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory planning fails due to collision or algorithm constraints, the response will contain error information about the failure. \n\t* @summary Plan Collision-Free Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {PlanCollisionFreeRequest} planCollisionFreeRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tplanCollisionFree(cell, planCollisionFreeRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).planCollisionFree(cell, planCollisionFreeRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the response will contain the joint trajectory up until the error, e.g., all samples until a collision occurs. <!-- theme: info --> > #### Exception > > If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion. \n\t* @summary Plan Trajectory\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {PlanTrajectoryRequest} planTrajectoryRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tplanTrajectory(cell, planTrajectoryRequest, options) {\n\t\treturn TrajectoryPlanningApiFp(this.configuration).planTrajectory(cell, planTrajectoryRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VersionApi - axios parameter creator\n*/\nconst VersionApiAxiosParamCreator = function(configuration) {\n\treturn { getApiVersion: async (options = {}) => {\n\t\tconst localVarUrlObj = new URL(`/version`, DUMMY_BASE_URL);\n\t\tlet baseOptions;\n\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\tconst localVarRequestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...baseOptions,\n\t\t\t...options\n\t\t};\n\t\tconst localVarHeaderParameter = {};\n\t\tconst localVarQueryParameter = {};\n\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\tlocalVarRequestOptions.headers = {\n\t\t\t...localVarHeaderParameter,\n\t\t\t...headersFromBaseOptions,\n\t\t\t...options.headers\n\t\t};\n\t\treturn {\n\t\t\turl: toPathString(localVarUrlObj),\n\t\t\toptions: localVarRequestOptions\n\t\t};\n\t} };\n};\n/**\n* VersionApi - functional programming interface\n*/\nconst VersionApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VersionApiAxiosParamCreator(configuration);\n\treturn { async getApiVersion(options) {\n\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getApiVersion(options);\n\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\tconst localVarOperationServerBasePath = operationServerMap[\"VersionApi.getApiVersion\"]?.[localVarOperationServerIndex]?.url;\n\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t} };\n};\n/**\n* VersionApi - factory interface\n*/\nconst VersionApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VersionApiFp(configuration);\n\treturn { getApiVersion(options) {\n\t\treturn localVarFp.getApiVersion(options).then((request) => request(axios, basePath));\n\t} };\n};\n/**\n* VersionApi - object-oriented interface\n*/\nvar VersionApi = class extends BaseAPI {\n\t/**\n\t* Retrieves the version of the NOVA API.\n\t* @summary API Version\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetApiVersion(options) {\n\t\treturn VersionApiFp(this.configuration).getApiVersion(options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerApi - axios parameter creator\n*/\nconst VirtualControllerApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\taddVirtualControllerCoordinateSystem: async (cell, controller, coordinateSystem, coordinateSystemData, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tassertParamExists(\"addVirtualControllerCoordinateSystem\", \"coordinateSystemData\", coordinateSystemData);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(coordinateSystemData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\taddVirtualControllerTcp: async (cell, controller, motionGroup, tcp, robotTcpData, options = {}) => {\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"cell\", cell);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"controller\", controller);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"tcp\", tcp);\n\t\t\tassertParamExists(\"addVirtualControllerTcp\", \"robotTcpData\", robotTcpData);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup))).replace(`{tcp}`, encodeURIComponent(String(tcp)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(robotTcpData, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerCoordinateSystem: async (cell, controller, coordinateSystem, deleteDependent, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerCoordinateSystem\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{coordinate-system}`, encodeURIComponent(String(coordinateSystem)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (deleteDependent !== void 0) localVarQueryParameter[\"delete_dependent\"] = deleteDependent;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tdeleteVirtualControllerTcp: async (cell, controller, motionGroup, tcp, options = {}) => {\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"cell\", cell);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"controller\", controller);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"deleteVirtualControllerTcp\", \"tcp\", tcp);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup))).replace(`{tcp}`, encodeURIComponent(String(tcp)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"DELETE\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetEmergencyStop: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getEmergencyStop\", \"cell\", cell);\n\t\t\tassertParamExists(\"getEmergencyStop\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/emergency-stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroupState: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"getMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetMotionGroups: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getMotionGroups\", \"cell\", cell);\n\t\t\tassertParamExists(\"getMotionGroups\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetOperationMode: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getOperationMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"getOperationMode\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/operationmode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerMounting: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"controller\", controller);\n\t\t\tassertParamExists(\"getVirtualControllerMounting\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerCoordinateSystems: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerCoordinateSystems\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerCoordinateSystems\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/coordinate-systems`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerTcps: async (cell, controller, motionGroup, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"controller\", controller);\n\t\t\tassertParamExists(\"listVirtualControllerTcps\", \"motionGroup\", motionGroup);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetEmergencyStop: async (cell, controller, active, options = {}) => {\n\t\t\tassertParamExists(\"setEmergencyStop\", \"cell\", cell);\n\t\t\tassertParamExists(\"setEmergencyStop\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/emergency-stop`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (active !== void 0) localVarQueryParameter[\"active\"] = active;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetMotionGroupState: async (cell, controller, motionGroup, motionGroupJoints, options = {}) => {\n\t\t\tassertParamExists(\"setMotionGroupState\", \"cell\", cell);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"controller\", controller);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"setMotionGroupState\", \"motionGroupJoints\", motionGroupJoints);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(motionGroupJoints, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetOperationMode: async (cell, controller, mode, options = {}) => {\n\t\t\tassertParamExists(\"setOperationMode\", \"cell\", cell);\n\t\t\tassertParamExists(\"setOperationMode\", \"controller\", controller);\n\t\t\tassertParamExists(\"setOperationMode\", \"mode\", mode);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/operationmode`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (mode !== void 0) localVarQueryParameter[\"mode\"] = mode;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetVirtualControllerMounting: async (cell, controller, motionGroup, coordinateSystem, options = {}) => {\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"cell\", cell);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"controller\", controller);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"motionGroup\", motionGroup);\n\t\t\tassertParamExists(\"setVirtualControllerMounting\", \"coordinateSystem\", coordinateSystem);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller))).replace(`{motion-group}`, encodeURIComponent(String(motionGroup)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(coordinateSystem, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - functional programming interface\n*/\nconst VirtualControllerApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.addVirtualControllerTcp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerCoordinateSystem\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.deleteVirtualControllerTcp\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getEmergencyStop(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getEmergencyStop(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getEmergencyStop\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroupState(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroupState(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getMotionGroups(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getMotionGroups(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getMotionGroups\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getOperationMode(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getOperationMode(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getOperationMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerMounting(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.getVirtualControllerMounting\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerCoordinateSystems(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.listVirtualControllerCoordinateSystems\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerTcps(cell, controller, motionGroup, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.listVirtualControllerTcps\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setEmergencyStop(cell, controller, active, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setEmergencyStop(cell, controller, active, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setEmergencyStop\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setMotionGroupState\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setOperationMode(cell, controller, mode, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setOperationMode(cell, controller, mode, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setOperationMode\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerApi.setVirtualControllerMounting\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - factory interface\n*/\nconst VirtualControllerApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerApiFp(configuration);\n\treturn {\n\t\taddVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\t\treturn localVarFp.addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\taddVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\t\treturn localVarFp.addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tdeleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\t\treturn localVarFp.deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetEmergencyStop(cell, controller, options) {\n\t\t\treturn localVarFp.getEmergencyStop(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroupState(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getMotionGroupState(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetMotionGroups(cell, controller, options) {\n\t\t\treturn localVarFp.getMotionGroups(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetOperationMode(cell, controller, options) {\n\t\t\treturn localVarFp.getOperationMode(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.getVirtualControllerMounting(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\t\treturn localVarFp.listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\t\treturn localVarFp.listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetEmergencyStop(cell, controller, active, options) {\n\t\t\treturn localVarFp.setEmergencyStop(cell, controller, active, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\t\treturn localVarFp.setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetOperationMode(cell, controller, mode, options) {\n\t\t\treturn localVarFp.setOperationMode(cell, controller, mode, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\t\treturn localVarFp.setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerApi - object-oriented interface\n*/\nvar VirtualControllerApi = class extends BaseAPI {\n\t/**\n\t* Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution. \n\t* @summary Add Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {CoordinateSystemData} coordinateSystemData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, coordinateSystemData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange\\'s coordinate system. > **NOTE** > > Ensure the TCP\\'s position is within the robot\\'s reach. Refer to the robot\\'s documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable. \n\t* @summary Add TCP\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} tcp The unique identifier of a TCP.\n\t* @param {RobotTcpData} robotTcpData \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\taddVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).addVirtualControllerTcp(cell, controller, motionGroup, tcp, robotTcpData, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution. \n\t* @summary Delete Coordinate System\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} coordinateSystem Unique identifier addressing a coordinate system.\n\t* @param {boolean} [deleteDependent] If true, all dependent coordinate systems will be deleted as well.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerCoordinateSystem(cell, controller, coordinateSystem, deleteDependent, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable. \n\t* @summary Remove TCP\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {string} tcp The unique identifier of a TCP.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tdeleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).deleteVirtualControllerTcp(cell, controller, motionGroup, tcp, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers. \n\t* @summary Get Emergency Stop State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetEmergencyStop(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getEmergencyStop(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the current motion group state which provides values for the joints\\' position, velocity and acceleration. \n\t* @summary Get Motion Group State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroupState(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getMotionGroupState(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Gets information on the motion group. \n\t* @summary Motion Group Description\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetMotionGroups(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getMotionGroups(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers. \n\t* @summary Get Operation Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetOperationMode(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getOperationMode(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Gets motion group mounting. The motion group is based on the origin of the returned coordinate system. \n\t* @summary Get Mounting\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerMounting(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).getVirtualControllerMounting(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Lists all coordinate systems on the robot controller. \n\t* @summary List Coordinate Systems\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerCoordinateSystems(cell, controller, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).listVirtualControllerCoordinateSystems(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes. \n\t* @summary List TCPs\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerTcps(cell, controller, motionGroup, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).listVirtualControllerTcps(cell, controller, motionGroup, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers. \n\t* @summary Push or Release Emergency Stop\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {boolean} [active] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetEmergencyStop(cell, controller, active, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setEmergencyStop(cell, controller, active, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur. \n\t* @summary Set Motion Group State\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {MotionGroupJoints} motionGroupJoints \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setMotionGroupState(cell, controller, motionGroup, motionGroupJoints, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers. \n\t* @summary Set Operation Mode\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {OperationMode} mode \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetOperationMode(cell, controller, mode, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setOperationMode(cell, controller, mode, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system\\'s origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible. \n\t* @summary Set Mounting\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {string} motionGroup The motion-group identifier.\n\t* @param {CoordinateSystem} coordinateSystem \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options) {\n\t\treturn VirtualControllerApiFp(this.configuration).setVirtualControllerMounting(cell, controller, motionGroup, coordinateSystem, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerBehaviorApi - axios parameter creator\n*/\nconst VirtualControllerBehaviorApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\texternalJointsStream: async (cell, controller, externalJointStreamRequest, options = {}) => {\n\t\t\tassertParamExists(\"externalJointsStream\", \"cell\", cell);\n\t\t\tassertParamExists(\"externalJointsStream\", \"controller\", controller);\n\t\t\tassertParamExists(\"externalJointsStream\", \"externalJointStreamRequest\", externalJointStreamRequest);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/external-joints-stream`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(externalJointStreamRequest, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetCycleTime: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getCycleTime\", \"cell\", cell);\n\t\t\tassertParamExists(\"getCycleTime\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/cycle-time`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tgetVirtualControllerBehavior: async (cell, controller, options = {}) => {\n\t\t\tassertParamExists(\"getVirtualControllerBehavior\", \"cell\", cell);\n\t\t\tassertParamExists(\"getVirtualControllerBehavior\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/behavior`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetVirtualControllerBehavior: async (cell, controller, behavior, options = {}) => {\n\t\t\tassertParamExists(\"setVirtualControllerBehavior\", \"cell\", cell);\n\t\t\tassertParamExists(\"setVirtualControllerBehavior\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/behavior`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (behavior !== void 0) localVarQueryParameter[\"behavior\"] = behavior;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - functional programming interface\n*/\nconst VirtualControllerBehaviorApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerBehaviorApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync externalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.externalJointsStream(cell, controller, externalJointStreamRequest, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.externalJointsStream\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getCycleTime(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getCycleTime(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.getCycleTime\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync getVirtualControllerBehavior(cell, controller, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.getVirtualControllerBehavior(cell, controller, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.getVirtualControllerBehavior\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setVirtualControllerBehavior(cell, controller, behavior, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerBehaviorApi.setVirtualControllerBehavior\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - factory interface\n*/\nconst VirtualControllerBehaviorApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerBehaviorApiFp(configuration);\n\treturn {\n\t\texternalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\t\treturn localVarFp.externalJointsStream(cell, controller, externalJointStreamRequest, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetCycleTime(cell, controller, options) {\n\t\t\treturn localVarFp.getCycleTime(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tgetVirtualControllerBehavior(cell, controller, options) {\n\t\t\treturn localVarFp.getVirtualControllerBehavior(cell, controller, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\t\treturn localVarFp.setVirtualControllerBehavior(cell, controller, behavior, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerBehaviorApi - object-oriented interface\n*/\nvar VirtualControllerBehaviorApi = class extends BaseAPI {\n\t/**\n\t* <!-- theme: success --> > Websocket endpoint Sends the **commanded** state, e.g., joint positions, velocities, accelerations, torques, for each motion group of the virtual controller and sets the joint configuration. Use [planTrajectory](planTrajectory) and [executeTrajectory](executeTrajectory) to move motion groups on virtual controllers. Learn more about the [movement behavior of virtual controllers in comparison to physical controllers](executeTrajectory#movement-behavior). > **NOTE** > > Incoming joint configurations are not visualized and their velocity limits are not checked. #### Use cases 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion groups.\\\\ The stream only sends data to the robot controller if a motion is executed.\\\\ If the robot controller\\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits. \n\t* @summary Stream Joint Configuration\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {ExternalJointStreamRequest} externalJointStreamRequest \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\texternalJointsStream(cell, controller, externalJointStreamRequest, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).externalJointsStream(cell, controller, externalJointStreamRequest, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the cycle time of controller communication in [ms]. \n\t* @summary Get Cycle Time\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetCycleTime(cell, controller, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).getCycleTime(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Get the current virtual controller behavior. See [setVirtualControllerBehavior](setVirtualControllerBehavior) and the body for details. \n\t* @summary Get Behavior\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tgetVirtualControllerBehavior(cell, controller, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).getVirtualControllerBehavior(cell, controller, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Set virtual controller behavior. See query parameters for details. \n\t* @summary Set Behavior\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Behavior} [behavior] \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetVirtualControllerBehavior(cell, controller, behavior, options) {\n\t\treturn VirtualControllerBehaviorApiFp(this.configuration).setVirtualControllerBehavior(cell, controller, behavior, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n/**\n* VirtualControllerInputsOutputsApi - axios parameter creator\n*/\nconst VirtualControllerInputsOutputsApiAxiosParamCreator = function(configuration) {\n\treturn {\n\t\tlistIOs: async (cell, controller, ios, options = {}) => {\n\t\t\tassertParamExists(\"listIOs\", \"cell\", cell);\n\t\t\tassertParamExists(\"listIOs\", \"controller\", controller);\n\t\t\tassertParamExists(\"listIOs\", \"ios\", ios);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tlistVirtualControllerIODescriptions: async (cell, controller, ios, direction, valueType, group, options = {}) => {\n\t\t\tassertParamExists(\"listVirtualControllerIODescriptions\", \"cell\", cell);\n\t\t\tassertParamExists(\"listVirtualControllerIODescriptions\", \"controller\", controller);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/description`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tif (ios) localVarQueryParameter[\"ios\"] = ios;\n\t\t\tif (direction !== void 0) localVarQueryParameter[\"direction\"] = direction;\n\t\t\tif (valueType !== void 0) localVarQueryParameter[\"value_type\"] = valueType;\n\t\t\tif (group !== void 0) localVarQueryParameter[\"group\"] = group;\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t},\n\t\tsetIOValues: async (cell, controller, iOValue, options = {}) => {\n\t\t\tassertParamExists(\"setIOValues\", \"cell\", cell);\n\t\t\tassertParamExists(\"setIOValues\", \"controller\", controller);\n\t\t\tassertParamExists(\"setIOValues\", \"iOValue\", iOValue);\n\t\t\tconst localVarPath = `/cells/{cell}/virtual-controllers/{controller}/ios/values`.replace(`{cell}`, encodeURIComponent(String(cell))).replace(`{controller}`, encodeURIComponent(String(controller)));\n\t\t\tconst localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n\t\t\tlet baseOptions;\n\t\t\tif (configuration) baseOptions = configuration.baseOptions;\n\t\t\tconst localVarRequestOptions = {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\t...baseOptions,\n\t\t\t\t...options\n\t\t\t};\n\t\t\tconst localVarHeaderParameter = {};\n\t\t\tconst localVarQueryParameter = {};\n\t\t\tsetBasicAuthToObject(localVarRequestOptions, configuration);\n\t\t\tawait setBearerAuthToObject(localVarHeaderParameter, configuration);\n\t\t\tlocalVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\t\t\tsetSearchParams(localVarUrlObj, localVarQueryParameter);\n\t\t\tlet headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n\t\t\tlocalVarRequestOptions.headers = {\n\t\t\t\t...localVarHeaderParameter,\n\t\t\t\t...headersFromBaseOptions,\n\t\t\t\t...options.headers\n\t\t\t};\n\t\t\tlocalVarRequestOptions.data = serializeDataIfNeeded(iOValue, localVarRequestOptions, configuration);\n\t\t\treturn {\n\t\t\t\turl: toPathString(localVarUrlObj),\n\t\t\t\toptions: localVarRequestOptions\n\t\t\t};\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - functional programming interface\n*/\nconst VirtualControllerInputsOutputsApiFp = function(configuration) {\n\tconst localVarAxiosParamCreator = VirtualControllerInputsOutputsApiAxiosParamCreator(configuration);\n\treturn {\n\t\tasync listIOs(cell, controller, ios, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listIOs(cell, controller, ios, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.listIOs\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.listVirtualControllerIODescriptions\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t},\n\t\tasync setIOValues(cell, controller, iOValue, options) {\n\t\t\tconst localVarAxiosArgs = await localVarAxiosParamCreator.setIOValues(cell, controller, iOValue, options);\n\t\t\tconst localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n\t\t\tconst localVarOperationServerBasePath = operationServerMap[\"VirtualControllerInputsOutputsApi.setIOValues\"]?.[localVarOperationServerIndex]?.url;\n\t\t\treturn (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - factory interface\n*/\nconst VirtualControllerInputsOutputsApiFactory = function(configuration, basePath, axios) {\n\tconst localVarFp = VirtualControllerInputsOutputsApiFp(configuration);\n\treturn {\n\t\tlistIOs(cell, controller, ios, options) {\n\t\t\treturn localVarFp.listIOs(cell, controller, ios, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tlistVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\t\treturn localVarFp.listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(axios, basePath));\n\t\t},\n\t\tsetIOValues(cell, controller, iOValue, options) {\n\t\t\treturn localVarFp.setIOValues(cell, controller, iOValue, options).then((request) => request(axios, basePath));\n\t\t}\n\t};\n};\n/**\n* VirtualControllerInputsOutputsApi - object-oriented interface\n*/\nvar VirtualControllerInputsOutputsApi = class extends BaseAPI {\n\t/**\n\t* Retrieves the current values of inputs/outputs of the virtual controller. The identifiers of inputs/outputs must be provided in the request. Request all available input/output identifiers via [listVirtualControllerIODescriptions](listVirtualControllerIODescriptions). \n\t* @summary Get Input/Output Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} ios \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistIOs(cell, controller, ios, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).listIOs(cell, controller, ios, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Lists the input/output descriptions of the virtual robot controller. The input/output descriptions contain information like name, type and unit.\\\\ Available inputs/outputs are defined by the virtual robot controller.\\\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned. \n\t* @summary List Descriptions\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<string>} [ios] \n\t* @param {IODirection} [direction] Return only inputs/outputs with the specified direction. \n\t* @param {IOValueType} [valueType] Return only inputs/outputs with the specified value type. \n\t* @param {string} [group] Return only inputs/outputs from the specified group. \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tlistVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).listVirtualControllerIODescriptions(cell, controller, ios, direction, valueType, group, options).then((request) => request(this.axios, this.basePath));\n\t}\n\t/**\n\t* Sets a list of values of a virtual controller inputs/outputs. \n\t* @summary Set Input/Ouput Values\n\t* @param {string} cell Unique identifier addressing a cell in all API calls. \n\t* @param {string} controller Unique identifier to address a controller in the cell.\n\t* @param {Array<IOValue>} iOValue \n\t* @param {*} [options] Override http request option.\n\t* @throws {RequiredError}\n\t*/\n\tsetIOValues(cell, controller, iOValue, options) {\n\t\treturn VirtualControllerInputsOutputsApiFp(this.configuration).setIOValues(cell, controller, iOValue, options).then((request) => request(this.axios, this.basePath));\n\t}\n};\n\n//#endregion\n//#region v2/configuration.ts\nvar Configuration = class {\n\tconstructor(param = {}) {\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for apiKey security\n\t\t\t* @param name security name\n\t\t\t*/\n\t\t\t\"apiKey\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for basic security\n\t\t\t*/\n\t\t\t\"username\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for basic security\n\t\t\t*/\n\t\t\t\"password\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for oauth2 security\n\t\t\t* @param name security name\n\t\t\t* @param scopes oauth2 scope\n\t\t\t*/\n\t\t\t\"accessToken\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* parameter for aws4 signature security\n\t\t\t* @param {Object} AWS4Signature - AWS4 Signature security\n\t\t\t* @param {string} options.region - aws region\n\t\t\t* @param {string} options.service - name of the service.\n\t\t\t* @param {string} credentials.accessKeyId - aws access key id\n\t\t\t* @param {string} credentials.secretAccessKey - aws access key\n\t\t\t* @param {string} credentials.sessionToken - aws session token\n\t\t\t* @memberof Configuration\n\t\t\t*/\n\t\t\t\"awsv4\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* override base path\n\t\t\t*/\n\t\t\t\"basePath\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* override server index\n\t\t\t*/\n\t\t\t\"serverIndex\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* base options for axios calls\n\t\t\t*/\n\t\t\t\"baseOptions\",\n\t\t\tvoid 0\n\t\t);\n\t\t_defineProperty(\n\t\t\tthis,\n\t\t\t/**\n\t\t\t* The FormData constructor that will be used to create multipart form data\n\t\t\t* requests. You can inject this here so that execution environments that\n\t\t\t* do not support the FormData class can still run the generated client.\n\t\t\t*\n\t\t\t* @type {new () => FormData}\n\t\t\t*/\n\t\t\t\"formDataCtor\",\n\t\t\tvoid 0\n\t\t);\n\t\tthis.apiKey = param.apiKey;\n\t\tthis.username = param.username;\n\t\tthis.password = param.password;\n\t\tthis.accessToken = param.accessToken;\n\t\tthis.awsv4 = param.awsv4;\n\t\tthis.basePath = param.basePath;\n\t\tthis.serverIndex = param.serverIndex;\n\t\tthis.baseOptions = {\n\t\t\t...param.baseOptions,\n\t\t\theaders: { ...param.baseOptions?.headers }\n\t\t};\n\t\tthis.formDataCtor = param.formDataCtor;\n\t}\n\t/**\n\t* Check if the given MIME is a JSON MIME.\n\t* JSON MIME examples:\n\t* application/json\n\t* application/json; charset=UTF8\n\t* APPLICATION/JSON\n\t* application/vnd.company+json\n\t* @param mime - MIME (Multipurpose Internet Mail Extensions)\n\t* @return True if the given MIME is JSON, false otherwise.\n\t*/\n\tisJsonMime(mime) {\n\t\treturn mime !== null && (new RegExp(\"^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$\", \"i\").test(mime) || mime.toLowerCase() === \"application/json-patch+json\");\n\t}\n};\n\n//#endregion\nexport { AbbControllerKindEnum, ApplicationApi, ApplicationApiAxiosParamCreator, ApplicationApiFactory, ApplicationApiFp, BASE_PATH, BUSInputsOutputsApi, BUSInputsOutputsApiAxiosParamCreator, BUSInputsOutputsApiFactory, BUSInputsOutputsApiFp, BaseAPI, Behavior, BlendingAutoBlendingNameEnum, BlendingPositionBlendingNameEnum, BlendingSpace, BooleanValueValueTypeEnum, BoxBoxTypeEnum, BoxShapeTypeEnum, BusIOModbusClientBusTypeEnum, BusIOModbusServerBusTypeEnum, BusIOModbusTCPClientNetworkTypeEnum, BusIOModbusTCPServerNetworkTypeEnum, BusIOModbusVirtualBusTypeEnum, BusIOProfinetBusTypeEnum, BusIOProfinetVirtualBusTypeEnum, BusIOsStateEnum, COLLECTION_FORMATS, CapsuleShapeTypeEnum, CellApi, CellApiAxiosParamCreator, CellApiFactory, CellApiFp, Comparator, Configuration, ConfigurationArchiveStatusCreatingStatusEnum, ConfigurationArchiveStatusErrorStatusEnum, ConfigurationArchiveStatusSuccessStatusEnum, ControllerApi, ControllerApiAxiosParamCreator, ControllerApiFactory, ControllerApiFp, ControllerInputsOutputsApi, ControllerInputsOutputsApiAxiosParamCreator, ControllerInputsOutputsApiFactory, ControllerInputsOutputsApiFp, ConvexHullShapeTypeEnum, CylinderShapeTypeEnum, Direction, ErrorInvalidJointCountErrorFeedbackNameEnum, ErrorJointLimitExceededErrorFeedbackNameEnum, ErrorJointPositionCollisionErrorFeedbackNameEnum, ErrorMaxIterationsExceededErrorFeedbackNameEnum, FanucControllerKindEnum, FeedbackCollisionErrorFeedbackNameEnum, FeedbackJointLimitExceededErrorFeedbackNameEnum, FeedbackOutOfWorkspaceErrorFeedbackNameEnum, FeedbackSingularityErrorFeedbackNameEnum, FloatValueValueTypeEnum, IOBooleanValueValueTypeEnum, IODirection, IOFloatValueValueTypeEnum, IOIntegerValueValueTypeEnum, IOOrigin, IOValueType, InitializeJoggingRequestMessageTypeEnum, InitializeJoggingResponseKindEnum, InitializeMovementRequestMessageTypeEnum, InitializeMovementResponseKindEnum, IntegerValueValueTypeEnum, JoggingApi, JoggingApiAxiosParamCreator, JoggingApiFactory, JoggingApiFp, JoggingDetailsKindEnum, JoggingPausedByUserKindEnum, JoggingPausedNearCollisionKindEnum, JoggingPausedNearJointLimitKindEnum, JoggingPausedOnIOKindEnum, JoggingRunningKindEnum, JointVelocityRequestMessageTypeEnum, JointVelocityResponseKindEnum, KinematicsApi, KinematicsApiAxiosParamCreator, KinematicsApiFactory, KinematicsApiFp, KukaControllerKindEnum, LicenseApi, LicenseApiAxiosParamCreator, LicenseApiFactory, LicenseApiFp, LicenseStatusEnum, Manufacturer, MidpointInsertionAlgorithmAlgorithmNameEnum, ModbusIOArea, ModbusIOByteOrder, ModbusIOTypeEnum, MotionGroupApi, MotionGroupApiAxiosParamCreator, MotionGroupApiFactory, MotionGroupApiFp, MotionGroupModelsApi, MotionGroupModelsApiAxiosParamCreator, MotionGroupModelsApiFactory, MotionGroupModelsApiFp, MovementErrorResponseKindEnum, NetworkStateConnectionTypeEnum, OperatingState, OperationMode, OrientationType, PathCartesianPTPPathDefinitionNameEnum, PathCirclePathDefinitionNameEnum, PathCubicSplinePathDefinitionNameEnum, PathJointPTPPathDefinitionNameEnum, PathLinePathDefinitionNameEnum, PauseJoggingRequestMessageTypeEnum, PauseJoggingResponseKindEnum, PauseMovementRequestMessageTypeEnum, PauseMovementResponseKindEnum, PlaneShapeTypeEnum, PlaybackSpeedRequestMessageTypeEnum, PlaybackSpeedResponseKindEnum, ProfinetIODirection, ProfinetIOTypeEnum, ProgramApi, ProgramApiAxiosParamCreator, ProgramApiFactory, ProgramApiFp, ProgramRunState, RRTConnectAlgorithmAlgorithmNameEnum, RectangleShapeTypeEnum, RectangularCapsuleShapeTypeEnum, ReleaseChannel, RequiredError, RobotConfigurationsApi, RobotConfigurationsApiAxiosParamCreator, RobotConfigurationsApiFactory, RobotConfigurationsApiFp, RobotSystemMode, SafetyStateType, ServiceGroup, ServiceStatusPhase, ServiceStatusSeverity, SettableRobotSystemMode, SingularityTypeEnum, SphereShapeTypeEnum, StartMovementRequestMessageTypeEnum, StartMovementResponseKindEnum, StoreCollisionComponentsApi, StoreCollisionComponentsApiAxiosParamCreator, StoreCollisionComponentsApiFactory, StoreCollisionComponentsApiFp, StoreCollisionSetupsApi, StoreCollisionSetupsApiAxiosParamCreator, StoreCollisionSetupsApiFactory, StoreCollisionSetupsApiFp, StoreObjectApi, StoreObjectApiAxiosParamCreator, StoreObjectApiFactory, StoreObjectApiFp, SystemApi, SystemApiAxiosParamCreator, SystemApiFactory, SystemApiFp, TcpVelocityRequestMessageTypeEnum, TcpVelocityResponseKindEnum, TrajectoryCachingApi, TrajectoryCachingApiAxiosParamCreator, TrajectoryCachingApiFactory, TrajectoryCachingApiFp, TrajectoryDataMessageTypeEnum, TrajectoryDetailsKindEnum, TrajectoryEndedKindEnum, TrajectoryExecutionApi, TrajectoryExecutionApiAxiosParamCreator, TrajectoryExecutionApiFactory, TrajectoryExecutionApiFp, TrajectoryIdMessageTypeEnum, TrajectoryPausedByUserKindEnum, TrajectoryPausedOnIOKindEnum, TrajectoryPlanningApi, TrajectoryPlanningApiAxiosParamCreator, TrajectoryPlanningApiFactory, TrajectoryPlanningApiFp, TrajectoryRunningKindEnum, TrajectoryWaitForIOKindEnum, UnitType, UniversalrobotsControllerKindEnum, VersionApi, VersionApiAxiosParamCreator, VersionApiFactory, VersionApiFp, VirtualControllerApi, VirtualControllerApiAxiosParamCreator, VirtualControllerApiFactory, VirtualControllerApiFp, VirtualControllerBehaviorApi, VirtualControllerBehaviorApiAxiosParamCreator, VirtualControllerBehaviorApiFactory, VirtualControllerBehaviorApiFp, VirtualControllerInputsOutputsApi, VirtualControllerInputsOutputsApiAxiosParamCreator, VirtualControllerInputsOutputsApiFactory, VirtualControllerInputsOutputsApiFp, VirtualControllerKindEnum, YaskawaControllerKindEnum, operationServerMap };","import { m as AutoReconnectingWebsocket, n as loginWithAuth0, p as availableStorage, s as parseNovaInstanceUrl } from \"../../LoginWithAuth0-BAGhME4k.mjs\";\nimport axios, { AxiosError, isAxiosError } from \"axios\";\nimport urlJoin from \"url-join\";\nimport * as pathToRegexp from \"path-to-regexp\";\nimport { ApplicationApi, BUSInputsOutputsApi, CellApi, ControllerApi, ControllerInputsOutputsApi, JoggingApi, KinematicsApi, MotionGroupApi, MotionGroupModelsApi, StoreCollisionComponentsApi, StoreCollisionSetupsApi, StoreObjectApi, SystemApi, TrajectoryCachingApi, TrajectoryExecutionApi, TrajectoryPlanningApi, VirtualControllerApi, VirtualControllerBehaviorApi, VirtualControllerInputsOutputsApi } from \"@wandelbots/nova-api/v2\";\n\nexport * from \"@wandelbots/nova-api/v2\"\n\n//#region src/lib/v2/NovaCellAPIClient.ts\n/**\n* API client providing type-safe access to all the Nova API REST endpoints\n* associated with a specific cell id.\n*/\nvar NovaCellAPIClient = class {\n\tconstructor(cellId, opts) {\n\t\tthis.cellId = cellId;\n\t\tthis.opts = opts;\n\t\tthis.system = this.withUnwrappedResponsesOnly(SystemApi);\n\t\tthis.cell = this.withUnwrappedResponsesOnly(CellApi);\n\t\tthis.motionGroup = this.withCellId(MotionGroupApi);\n\t\tthis.motionGroupModels = this.withUnwrappedResponsesOnly(MotionGroupModelsApi);\n\t\tthis.controller = this.withCellId(ControllerApi);\n\t\tthis.controllerIOs = this.withCellId(ControllerInputsOutputsApi);\n\t\tthis.trajectoryPlanning = this.withCellId(TrajectoryPlanningApi);\n\t\tthis.trajectoryExecution = this.withCellId(TrajectoryExecutionApi);\n\t\tthis.trajectoryCaching = this.withCellId(TrajectoryCachingApi);\n\t\tthis.application = this.withCellId(ApplicationApi);\n\t\tthis.applicationGlobal = this.withUnwrappedResponsesOnly(ApplicationApi);\n\t\tthis.jogging = this.withCellId(JoggingApi);\n\t\tthis.kinematics = this.withCellId(KinematicsApi);\n\t\tthis.busInputsOutputs = this.withCellId(BUSInputsOutputsApi);\n\t\tthis.virtualController = this.withCellId(VirtualControllerApi);\n\t\tthis.virtualControllerBehavior = this.withCellId(VirtualControllerBehaviorApi);\n\t\tthis.virtualControllerIOs = this.withCellId(VirtualControllerInputsOutputsApi);\n\t\tthis.storeObject = this.withCellId(StoreObjectApi);\n\t\tthis.storeCollisionComponents = this.withCellId(StoreCollisionComponentsApi);\n\t\tthis.storeCollisionSetups = this.withCellId(StoreCollisionSetupsApi);\n\t}\n\t/**\n\t* Some TypeScript sorcery which alters the API class methods so you don't\n\t* have to pass the cell id to every single one, and de-encapsulates the\n\t* response data\n\t*/\n\twithCellId(ApiConstructor) {\n\t\tconst apiClient = new ApiConstructor({\n\t\t\t...this.opts,\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t}\n\t\t}, this.opts.basePath ?? \"\", this.opts.axiosInstance ?? axios.create());\n\t\tfor (const key of Reflect.ownKeys(Reflect.getPrototypeOf(apiClient))) if (key !== \"constructor\" && typeof apiClient[key] === \"function\") {\n\t\t\tconst originalFunction = apiClient[key];\n\t\t\tapiClient[key] = (...args) => {\n\t\t\t\treturn originalFunction.apply(apiClient, [this.cellId, ...args]).then((res) => res.data);\n\t\t\t};\n\t\t}\n\t\treturn apiClient;\n\t}\n\t/**\n\t* As withCellId, but only does the response unwrapping\n\t*/\n\twithUnwrappedResponsesOnly(ApiConstructor) {\n\t\tconst apiClient = new ApiConstructor({\n\t\t\t...this.opts,\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t}\n\t\t}, this.opts.basePath ?? \"\", this.opts.axiosInstance ?? axios.create());\n\t\tfor (const key of Reflect.ownKeys(Reflect.getPrototypeOf(apiClient))) if (key !== \"constructor\" && typeof apiClient[key] === \"function\") {\n\t\t\tconst originalFunction = apiClient[key];\n\t\t\tapiClient[key] = (...args) => {\n\t\t\t\treturn originalFunction.apply(apiClient, args).then((res) => res.data);\n\t\t\t};\n\t\t}\n\t\treturn apiClient;\n\t}\n};\n\n//#endregion\n//#region src/lib/v2/mock/MockNovaInstance.ts\n/**\n* Ultra-simplified mock Nova server for testing stuff\n*/\nvar MockNovaInstance = class {\n\tconstructor() {\n\t\tthis.connections = [];\n\t}\n\tasync handleAPIRequest(config) {\n\t\tconst apiHandlers = [\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tpath: \"/cells/:cellId/controllers\",\n\t\t\t\thandle() {\n\t\t\t\t\treturn [\"mock-ur5e\"];\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tpath: \"/cells/:cellId/controllers/:controllerId\",\n\t\t\t\thandle() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tconfiguration: {\n\t\t\t\t\t\t\tinitial_joint_position: \"[0,-1.571,-1.571,-1.571,1.571,-1.571,0]\",\n\t\t\t\t\t\t\tkind: \"VirtualController\",\n\t\t\t\t\t\t\tmanufacturer: \"universalrobots\",\n\t\t\t\t\t\t\ttype: \"universalrobots-ur5e\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tname: \"mock-ur5\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tpath: \"/cells/:cellId/controllers/:controllerId/state\",\n\t\t\t\thandle() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmode: \"MODE_CONTROL\",\n\t\t\t\t\t\tlast_error: [],\n\t\t\t\t\t\ttimestamp: \"2025-10-16T09:19:26.634534092Z\",\n\t\t\t\t\t\tsequence_number: 1054764,\n\t\t\t\t\t\tcontroller: \"mock-ur5e\",\n\t\t\t\t\t\toperation_mode: \"OPERATION_MODE_AUTO\",\n\t\t\t\t\t\tsafety_state: \"SAFETY_STATE_NORMAL\",\n\t\t\t\t\t\tvelocity_override: 100,\n\t\t\t\t\t\tmotion_groups: [{\n\t\t\t\t\t\t\ttimestamp: \"2025-10-16T09:19:26.634534092Z\",\n\t\t\t\t\t\t\tsequence_number: 1054764,\n\t\t\t\t\t\t\tmotion_group: \"0@mock-ur5e\",\n\t\t\t\t\t\t\tcontroller: \"mock-ur5e\",\n\t\t\t\t\t\t\tjoint_position: [\n\t\t\t\t\t\t\t\t1.487959623336792,\n\t\t\t\t\t\t\t\t-1.8501918315887451,\n\t\t\t\t\t\t\t\t1.8003005981445312,\n\t\t\t\t\t\t\t\t6.034560203552246,\n\t\t\t\t\t\t\t\t1.4921919107437134,\n\t\t\t\t\t\t\t\t1.593459963798523\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tjoint_limit_reached: { limit_reached: [\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t] },\n\t\t\t\t\t\t\tjoint_torque: [],\n\t\t\t\t\t\t\tjoint_current: [\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tflange_pose: {\n\t\t\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t\t\t107.6452433732927,\n\t\t\t\t\t\t\t\t\t-409.0402987746852,\n\t\t\t\t\t\t\t\t\t524.2402132330305\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t\t\t.9874434028353319,\n\t\t\t\t\t\t\t\t\t-.986571714997442,\n\t\t\t\t\t\t\t\t\t1.3336589451098142\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttcp: \"Flange\",\n\t\t\t\t\t\t\ttcp_pose: {\n\t\t\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t\t\t107.6452433732927,\n\t\t\t\t\t\t\t\t\t-409.0402987746852,\n\t\t\t\t\t\t\t\t\t524.2402132330305\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t\t\t.9874434028353319,\n\t\t\t\t\t\t\t\t\t-.986571714997442,\n\t\t\t\t\t\t\t\t\t1.3336589451098142\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpayload: \"\",\n\t\t\t\t\t\t\tcoordinate_system: \"\",\n\t\t\t\t\t\t\tstandstill: true\n\t\t\t\t\t\t}]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tpath: \"/cells/:cellId/controllers/:controllerId/motion-groups/:motionGroupId/description\",\n\t\t\t\thandle() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmotion_group_model: \"UniversalRobots_UR5e\",\n\t\t\t\t\t\tmounting: {\n\t\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t},\n\t\t\t\t\t\ttcps: { Flange: {\n\t\t\t\t\t\t\tname: \"Default-Flange\",\n\t\t\t\t\t\t\tpose: {\n\t\t\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} },\n\t\t\t\t\t\tpayloads: { \"FPay-0\": {\n\t\t\t\t\t\t\tname: \"FPay-0\",\n\t\t\t\t\t\t\tpayload: 0,\n\t\t\t\t\t\t\tcenter_of_mass: [\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tmoment_of_inertia: [\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t} },\n\t\t\t\t\t\tcycle_time: 8,\n\t\t\t\t\t\tdh_parameters: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\t\t\t\td: 162.25\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ a: -425 },\n\t\t\t\t\t\t\t{ a: -392.2 },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talpha: 1.5707963267948966,\n\t\t\t\t\t\t\t\td: 133.3\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\talpha: -1.5707963267948966,\n\t\t\t\t\t\t\t\td: 99.7\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ d: 99.6 }\n\t\t\t\t\t\t],\n\t\t\t\t\t\toperation_limits: {\n\t\t\t\t\t\t\tauto_limits: {\n\t\t\t\t\t\t\t\tjoints: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttcp: { velocity: 5e3 },\n\t\t\t\t\t\t\t\telbow: { velocity: 5e3 },\n\t\t\t\t\t\t\t\tflange: { velocity: 5e3 }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmanual_limits: {\n\t\t\t\t\t\t\t\tjoints: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmanual_t1_limits: {\n\t\t\t\t\t\t\t\tjoints: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmanual_t2_limits: {\n\t\t\t\t\t\t\t\tjoints: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 150\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\t\t\t\t\tlower_limit: -6.283185307179586,\n\t\t\t\t\t\t\t\t\t\t\tupper_limit: 6.283185307179586\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tvelocity: 3.34159255027771,\n\t\t\t\t\t\t\t\t\t\tacceleration: 40,\n\t\t\t\t\t\t\t\t\t\ttorque: 28\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttcp: { velocity: 5e3 }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tserial_number: \"WBVirtualRobot\"\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\tmethod: \"GET\",\n\t\t\t\tpath: \"/cells/:cellId/controllers/:controllerId/coordinate-systems\",\n\t\t\t\thandle() {\n\t\t\t\t\treturn [{\n\t\t\t\t\t\tcoordinate_system: \"\",\n\t\t\t\t\t\tname: \"world\",\n\t\t\t\t\t\treference_coordinate_system: \"\",\n\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t],\n\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t],\n\t\t\t\t\t\torientation_type: \"ROTATION_VECTOR\"\n\t\t\t\t\t}, {\n\t\t\t\t\t\tcoordinate_system: \"CS-0\",\n\t\t\t\t\t\tname: \"Default-CS\",\n\t\t\t\t\t\treference_coordinate_system: \"\",\n\t\t\t\t\t\tposition: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t],\n\t\t\t\t\t\torientation: [\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t0\n\t\t\t\t\t\t],\n\t\t\t\t\t\torientation_type: \"ROTATION_VECTOR\"\n\t\t\t\t\t}];\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t\tconst method = config.method?.toUpperCase() || \"GET\";\n\t\tconst path = `/cells${config.url?.split(\"/cells\")[1]?.split(\"?\")[0]}`;\n\t\tfor (const handler of apiHandlers) {\n\t\t\tconst match = pathToRegexp.match(handler.path)(path || \"\");\n\t\t\tif (method === handler.method && match) {\n\t\t\t\tconst json = handler.handle();\n\t\t\t\treturn {\n\t\t\t\t\tstatus: 200,\n\t\t\t\t\tstatusText: \"Success\",\n\t\t\t\t\tdata: JSON.stringify(json),\n\t\t\t\t\theaders: {},\n\t\t\t\t\tconfig,\n\t\t\t\t\trequest: { responseURL: config.url }\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\tthrow new AxiosError(`No mock handler matched this request: ${method} ${path}`, \"404\", config);\n\t}\n\thandleWebsocketConnection(socket) {\n\t\tthis.connections.push(socket);\n\t\tsetTimeout(() => {\n\t\t\tsocket.dispatchEvent(new Event(\"open\"));\n\t\t\tconsole.log(\"Websocket connection opened from\", socket.url);\n\t\t\tif (socket.url.includes(\"/state-stream\")) socket.dispatchEvent(new MessageEvent(\"message\", { data: JSON.stringify(defaultMotionState) }));\n\t\t\tif (socket.url.includes(\"/execution/jogging\")) socket.dispatchEvent(new MessageEvent(\"message\", { data: JSON.stringify({ result: {\n\t\t\t\tmessage: \"string\",\n\t\t\t\tkind: \"INITIALIZE_RECEIVED\"\n\t\t\t} }) }));\n\t\t}, 10);\n\t}\n\thandleWebsocketMessage(socket, message) {\n\t\tconsole.log(`Received message on ${socket.url}`, message);\n\t}\n};\nconst defaultMotionState = { result: {\n\tmotion_group: \"0@universalrobots-ur5e\",\n\tcontroller: \"universalrobots-ur5e\",\n\ttimestamp: (/* @__PURE__ */ new Date()).toISOString(),\n\tsequence_number: 1,\n\tjoint_position: [\n\t\t1.1699999570846558,\n\t\t-1.5700000524520874,\n\t\t1.3600000143051147,\n\t\t1.0299999713897705,\n\t\t1.2899999618530273,\n\t\t1.2799999713897705\n\t],\n\tjoint_limit_reached: { limit_reached: [\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse,\n\t\tfalse\n\t] },\n\tstandstill: false,\n\tflange_pose: {\n\t\tposition: [\n\t\t\t1.3300010259703043,\n\t\t\t-409.2680714682808,\n\t\t\t531.0203477065281\n\t\t],\n\t\torientation: [\n\t\t\t1.7564919306270736,\n\t\t\t-1.7542521568325058,\n\t\t\t.7326972590614671\n\t\t]\n\t},\n\ttcp_pose: {\n\t\tposition: [\n\t\t\t1.3300010259703043,\n\t\t\t-409.2680714682808,\n\t\t\t531.0203477065281\n\t\t],\n\t\torientation: [\n\t\t\t1.7564919306270736,\n\t\t\t-1.7542521568325058,\n\t\t\t.7326972590614671\n\t\t]\n\t}\n} };\n\n//#endregion\n//#region src/lib/v2/NovaClient.ts\n/**\n*\n* Client for connecting to a Nova instance and controlling robots.\n*/\nvar NovaClient = class {\n\tconstructor(config) {\n\t\tthis.authPromise = null;\n\t\tthis.accessToken = null;\n\t\tconst cellId = config.cellId ?? \"cell\";\n\t\tthis.config = {\n\t\t\tcellId,\n\t\t\t...config\n\t\t};\n\t\tthis.accessToken = config.accessToken || availableStorage.getString(\"wbjs.access_token\") || null;\n\t\tif (this.config.instanceUrl === \"https://mock.example.com\") this.mock = new MockNovaInstance();\n\t\tthis.instanceUrl = parseNovaInstanceUrl(this.config.instanceUrl);\n\t\tconst axiosInstance = axios.create({\n\t\t\tbaseURL: urlJoin(this.instanceUrl.href, \"/api/v2\"),\n\t\t\theaders: typeof window !== \"undefined\" && window.location.origin.includes(\"localhost\") ? {} : { \"X-Wandelbots-Client\": \"Wandelbots-Nova-JS-SDK\" }\n\t\t});\n\t\taxiosInstance.interceptors.request.use(async (request) => {\n\t\t\tif (!request.headers.Authorization) {\n\t\t\t\tif (this.accessToken) request.headers.Authorization = `Bearer ${this.accessToken}`;\n\t\t\t\telse if (this.config.username && this.config.password) request.headers.Authorization = `Basic ${btoa(`${config.username}:${config.password}`)}`;\n\t\t\t}\n\t\t\treturn request;\n\t\t});\n\t\tif (typeof window !== \"undefined\") axiosInstance.interceptors.response.use((r) => r, async (error) => {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tif (error.response?.status === 401) try {\n\t\t\t\t\tawait this.renewAuthentication();\n\t\t\t\t\tif (error.config) {\n\t\t\t\t\t\tif (this.accessToken) error.config.headers.Authorization = `Bearer ${this.accessToken}`;\n\t\t\t\t\t\telse delete error.config.headers.Authorization;\n\t\t\t\t\t\treturn axiosInstance.request(error.config);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\treturn Promise.reject(err);\n\t\t\t\t}\n\t\t\t\telse if (error.response?.status === 503) {\n\t\t\t\t\tif ((await fetch(window.location.href)).status === 503) window.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.reject(error);\n\t\t});\n\t\tthis.api = new NovaCellAPIClient(cellId, {\n\t\t\t...config,\n\t\t\tbasePath: urlJoin(this.instanceUrl.href, \"/api/v2\"),\n\t\t\tisJsonMime: (mime) => {\n\t\t\t\treturn mime === \"application/json\";\n\t\t\t},\n\t\t\tbaseOptions: {\n\t\t\t\t...this.mock ? { adapter: (config$1) => {\n\t\t\t\t\treturn this.mock.handleAPIRequest(config$1);\n\t\t\t\t} } : {},\n\t\t\t\t...config.baseOptions\n\t\t\t},\n\t\t\taxiosInstance\n\t\t});\n\t}\n\tasync renewAuthentication() {\n\t\tif (this.authPromise) return;\n\t\tconst storedToken = availableStorage.getString(\"wbjs.access_token\");\n\t\tif (storedToken && this.accessToken !== storedToken) {\n\t\t\tthis.accessToken = storedToken;\n\t\t\treturn;\n\t\t}\n\t\tthis.authPromise = loginWithAuth0(this.instanceUrl);\n\t\ttry {\n\t\t\tthis.accessToken = await this.authPromise;\n\t\t\tif (this.accessToken) availableStorage.setString(\"wbjs.access_token\", this.accessToken);\n\t\t\telse availableStorage.delete(\"wbjs.access_token\");\n\t\t} finally {\n\t\t\tthis.authPromise = null;\n\t\t}\n\t}\n\tmakeWebsocketURL(path) {\n\t\tconst url = new URL(urlJoin(this.instanceUrl.href, `/api/v2/cells/${this.config.cellId}`, path));\n\t\turl.protocol = url.protocol.replace(\"http\", \"ws\");\n\t\turl.protocol = url.protocol.replace(\"https\", \"wss\");\n\t\tif (this.accessToken) url.searchParams.append(\"token\", this.accessToken);\n\t\telse if (this.config.username && this.config.password) {\n\t\t\turl.username = this.config.username;\n\t\t\turl.password = this.config.password;\n\t\t}\n\t\treturn url.toString();\n\t}\n\t/**\n\t* Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.\n\t* If you explicitly want to reconnect an existing websocket, call `reconnect`\n\t* on the returned object.\n\t*/\n\topenReconnectingWebsocket(path) {\n\t\treturn new AutoReconnectingWebsocket(this.makeWebsocketURL(path), { mock: this.mock });\n\t}\n};\n\n//#endregion\n//#region src/lib/v2/wandelscriptUtils.ts\n/**\n* Convert a Pose object representing a motion group position\n* into a string which represents that pose in Wandelscript.\n*/\nfunction poseToWandelscriptString(pose) {\n\tconst position = [\n\t\tpose.position?.[0] ?? 0,\n\t\tpose.position?.[1] ?? 0,\n\t\tpose.position?.[2] ?? 0\n\t];\n\tconst orientation = [\n\t\tpose.orientation?.[0] ?? 0,\n\t\tpose.orientation?.[1] ?? 0,\n\t\tpose.orientation?.[2] ?? 0\n\t];\n\tconst positionValues = position.map((v) => v.toFixed(1));\n\tconst rotationValues = orientation.map((v) => v.toFixed(4));\n\treturn `(${positionValues.concat(rotationValues).join(\", \")})`;\n}\n\n//#endregion\nexport { NovaCellAPIClient, NovaClient, poseToWandelscriptString };\n//# sourceMappingURL=index.mjs.map","import { autorun, reaction } from \"mobx\"\nimport { useEffect, type EffectCallback } from \"react\"\n\n/**\n * Run code once on component mount. Shorthand for useEffect(effect, []).\n */\nexport function useMounted(effect: EffectCallback) {\n useEffect(effect, [])\n}\n\n/**\n * Initialize a mobx autorun watcher on component mount, and\n * clean it up when the component unmounts.\n */\nexport function useAutorun(view: Parameters<typeof autorun>[0]) {\n useMounted(() => {\n return autorun(view)\n })\n}\n\n/**\n * Initialize a mobx reaction watcher on component mount, and\n * clean it up when the component unmounts.\n */\nexport function useReaction<T>(\n expression: Parameters<typeof reaction<T>>[0],\n effect: Parameters<typeof reaction<T>>[1],\n opts?: Parameters<typeof reaction<T>>[2],\n) {\n useMounted(() => {\n return reaction(expression, effect, opts)\n })\n}\n\n/**\n * Run a callback on every animation frame. Cleans up\n * after component unmount.\n */\nexport function useAnimationFrame(callback: () => void) {\n return useMounted(() => {\n let frameId: number\n\n function frame() {\n callback()\n frameId = requestAnimationFrame(frame)\n }\n\n frameId = requestAnimationFrame(frame)\n\n return () => {\n cancelAnimationFrame(frameId)\n }\n })\n}\n","import React from \"react\"\n\n/**\n * Smooth value interpolation utility using spring physics with tension and friction.\n * Designed for React Three Fiber applications with smooth, natural animations.\n *\n * Features:\n * - Spring physics with configurable tension and friction\n * - Frame-rate independent using delta timing\n * - Handles irregular frame timing and rapid target updates\n * - Manual update() calls for useFrame integration (no automatic RAF loop)\n * - Direct mutation for performance\n *\n * @example\n * ```tsx\n * // Basic spring animation\n * const interpolator = new ValueInterpolator([0, 0, 0], {\n * tension: 120, // Higher = faster, stiffer spring (default: 120)\n * friction: 20, // Higher = more damping, less oscillation (default: 20)\n * onChange: (values) => {\n * robot.joints.forEach((joint, i) => {\n * joint.rotation.y = values[i]\n * })\n * }\n * })\n *\n * interpolator.setTarget([1.5, -0.8, 2.1])\n *\n * // React Three Fiber usage\n * function MyComponent() {\n * const [interpolator] = useInterpolation([0, 0, 0])\n *\n * useFrame((state, delta) => {\n * interpolator.update(delta)\n * })\n *\n * useEffect(() => {\n * interpolator.setTarget([1, 2, 3])\n * }, [])\n *\n * return <mesh position={interpolator.getCurrentValues()} />\n * }\n * ```\n */\n\nexport interface InterpolationOptions {\n /** Spring tension (higher = faster, stiffer spring) - default: 120 */\n tension?: number\n /** Spring friction (higher = more damping, less oscillation) - default: 20 */\n friction?: number\n /** Minimum threshold to consider interpolation complete - default: 0.001 */\n threshold?: number\n /** Callback when values change during interpolation */\n onChange?: (values: number[]) => void\n /** Callback when interpolation reaches target values */\n onComplete?: (values: number[]) => void\n}\n\nexport class ValueInterpolator {\n private currentValues: number[] = []\n private targetValues: number[] = []\n private previousTargetValues: number[] = []\n private targetUpdateTime: number = 0\n private animationId: number | null = null\n private options: Required<InterpolationOptions>\n private updateCount: number = 0 // Track how many updates have occurred\n\n // Spring physics state\n private velocities: number[] = []\n\n constructor(\n initialValues: number[] = [],\n options: InterpolationOptions = {},\n ) {\n this.options = {\n tension: 120,\n friction: 20,\n threshold: 0.001,\n onChange: () => {},\n onComplete: () => {},\n ...options,\n }\n\n this.currentValues = [...initialValues]\n this.targetValues = [...initialValues]\n this.previousTargetValues = [...initialValues]\n this.velocities = new Array(initialValues.length).fill(0)\n this.targetUpdateTime = performance.now()\n this.updateCount = 0\n }\n\n /**\n * Update interpolation using spring physics\n *\n * Call this method every frame for smooth animation. In React Three Fiber,\n * call from within useFrame callback with the provided delta time.\n *\n * @param delta - Time elapsed since last update in seconds (e.g., 1/60 ≈ 0.0167 for 60fps)\n * @returns true when interpolation is complete (all values reached their targets)\n */\n update(delta: number = 1 / 60): boolean {\n let hasChanges = false\n let isComplete = true\n\n // Increment update counter for initialization smoothing\n this.updateCount++\n\n // Limit delta to prevent physics instability during large frame drops\n const clampedDelta = Math.min(delta, 1 / 15) // Maximum 66ms frame time allowed\n\n // Apply gentle ramp-up for the first few frames to prevent initial jumpiness\n // Only apply reduced force for the very first frame to prevent jarring starts\n const initializationFactor =\n this.updateCount === 1\n ? 0.7 // Slightly reduced force only on the very first frame\n : 1\n\n for (let i = 0; i < this.currentValues.length; i++) {\n const current = this.currentValues[i]\n const target = this.targetValues[i]\n const velocity = this.velocities[i]\n\n // Calculate spring physics forces\n const displacement = target - current\n const springForce =\n displacement * this.options.tension * initializationFactor\n const dampingForce = velocity * this.options.friction\n\n // Calculate acceleration from net force (F = ma, assuming mass = 1)\n const acceleration = springForce - dampingForce\n\n // Integrate physics using Verlet method for numerical stability\n const newVelocity = velocity + acceleration * clampedDelta\n const newValue = current + newVelocity * clampedDelta\n\n // Determine if this value has settled (close to target with low velocity)\n const isValueComplete =\n Math.abs(displacement) < this.options.threshold &&\n Math.abs(newVelocity) < this.options.threshold * 10\n\n if (!isValueComplete) {\n isComplete = false\n // Continue spring animation\n this.currentValues[i] = newValue\n this.velocities[i] = newVelocity\n hasChanges = true\n } else {\n // Snap exactly to target when close enough (prevents endless micro-movements)\n if (this.currentValues[i] !== target) {\n this.currentValues[i] = target\n this.velocities[i] = 0\n hasChanges = true\n }\n }\n }\n\n if (hasChanges) {\n this.options.onChange(this.currentValues)\n }\n\n if (isComplete) {\n this.options.onComplete(this.currentValues)\n }\n\n return isComplete\n }\n\n /**\n * Set new target values for the interpolation to move towards\n *\n * Includes smart blending for very rapid target updates (faster than 120fps)\n * to prevent jarring movements when targets change frequently.\n */\n setTarget(newValues: number[]): void {\n const now = performance.now()\n const timeSinceLastUpdate = now - this.targetUpdateTime\n\n // Store previous target for smooth transitions\n this.previousTargetValues = [...this.targetValues]\n this.targetValues = [...newValues]\n this.targetUpdateTime = now\n\n // Reset update counter for smooth initialization when target changes\n this.updateCount = 0\n\n // Apply target blending for extremely rapid updates to prevent jarring jumps\n // Only activates when targets change faster than 120fps (< 8ms between updates)\n // AND this is not the first target being set (avoid blending initial target with initial values)\n const isInitialTargetSet = this.previousTargetValues.every(\n (val, i) => val === this.currentValues[i],\n )\n\n if (\n timeSinceLastUpdate < 8 &&\n timeSinceLastUpdate > 0 &&\n this.previousTargetValues.length > 0 &&\n !isInitialTargetSet // Don't blend if this is the first meaningful target change\n ) {\n // Blend between previous and new target based on time elapsed\n const blendFactor = Math.min(timeSinceLastUpdate / 8, 1) // 0 to 1 over 8ms\n\n for (let i = 0; i < this.targetValues.length; i++) {\n const prev = this.previousTargetValues[i] || 0\n const next = newValues[i] || 0\n\n // Only blend significant changes to avoid unnecessary smoothing\n const change = Math.abs(next - prev)\n if (change > 0.1) {\n this.targetValues[i] = prev + (next - prev) * blendFactor\n }\n }\n }\n\n // Ensure value and velocity arrays have matching lengths\n while (this.currentValues.length < newValues.length) {\n this.currentValues.push(newValues[this.currentValues.length])\n this.velocities.push(0) // New values start with zero velocity\n }\n if (this.currentValues.length > newValues.length) {\n this.currentValues = this.currentValues.slice(0, newValues.length)\n this.velocities = this.velocities.slice(0, newValues.length)\n }\n\n // Does not start automatic interpolation - requires manual update() calls\n // This design prevents conflicts when using with React Three Fiber's useFrame\n }\n\n /**\n * Get a copy of all current interpolated values\n */\n getCurrentValues(): number[] {\n return [...this.currentValues]\n }\n\n /**\n * Get a single interpolated value by its array index\n */\n getValue(index: number): number {\n return this.currentValues[index] ?? 0\n }\n\n /**\n * Check if automatic interpolation is currently running\n *\n * This only tracks auto-interpolation started with startAutoInterpolation().\n * Manual update() calls are not tracked by this method.\n */\n isInterpolating(): boolean {\n return this.animationId !== null\n }\n\n /**\n * Stop automatic interpolation if it's running\n *\n * This cancels the internal animation frame loop but does not affect\n * manual update() calls.\n */\n stop(): void {\n if (this.animationId !== null) {\n cancelAnimationFrame(this.animationId)\n this.animationId = null\n }\n }\n\n /**\n * Instantly set values without interpolation\n */\n setImmediate(values: number[]): void {\n this.stop()\n this.currentValues = [...values]\n this.targetValues = [...values]\n this.previousTargetValues = [...values]\n this.velocities = new Array(values.length).fill(0) // Reset velocities\n this.targetUpdateTime = performance.now()\n this.updateCount = 0 // Reset update counter\n this.options.onChange(this.currentValues)\n }\n\n /**\n * Update interpolation options\n */\n updateOptions(newOptions: Partial<InterpolationOptions>): void {\n this.options = { ...this.options, ...newOptions }\n }\n\n /**\n * Start automatic interpolation with an animation loop\n *\n * This begins a requestAnimationFrame loop that calls update() automatically.\n * For React Three Fiber components, prefer using manual update() calls\n * within useFrame hooks instead.\n */\n startAutoInterpolation(): void {\n this.startInterpolation()\n }\n\n /**\n * Clean up all resources and stop any running animations\n *\n * This cancels any active animation frames and resets internal state.\n * Call this when the component unmounts or is no longer needed.\n */\n destroy(): void {\n this.stop()\n }\n\n private startInterpolation(): void {\n if (this.animationId !== null) {\n return // Already interpolating\n }\n\n this.animate()\n }\n\n private animate = (): void => {\n // Use delta timing with a fallback for consistent automatic animations\n const isComplete = this.update(1 / 60) // Simulate 60fps for auto-interpolation\n\n if (!isComplete) {\n this.animationId = requestAnimationFrame(this.animate)\n } else {\n this.animationId = null\n }\n }\n}\n\n/**\n * React hook for using the ValueInterpolator with useFrame\n *\n * This hook creates a ValueInterpolator that uses spring physics for smooth,\n * natural animations. Call interpolator.update(delta) in your useFrame callback.\n *\n * @example\n * ```tsx\n * function AnimatedMesh() {\n * const [interpolator] = useInterpolation([0, 0, 0], {\n * tension: 120, // Higher = faster spring\n * friction: 20 // Higher = more damping\n * })\n * const meshRef = useRef()\n *\n * useFrame((state, delta) => {\n * if (interpolator.update(delta)) {\n * // Animation complete\n * }\n * // Apply current values directly to mesh\n * const [x, y, z] = interpolator.getCurrentValues()\n * meshRef.current.position.set(x, y, z)\n * })\n *\n * return <mesh ref={meshRef} />\n * }\n * ```\n */\nexport function useInterpolation(\n initialValues: number[] = [],\n options: InterpolationOptions = {},\n): [ValueInterpolator] {\n const interpolatorRef = React.useRef<ValueInterpolator | null>(null)\n\n // Initialize interpolator\n if (!interpolatorRef.current) {\n interpolatorRef.current = new ValueInterpolator(initialValues, options)\n }\n\n // Update options when they change\n React.useEffect(() => {\n interpolatorRef.current?.updateOptions(options)\n }, [options])\n\n // Cleanup on unmount\n React.useEffect(() => {\n return () => {\n interpolatorRef.current?.destroy()\n }\n }, [])\n\n return [interpolatorRef.current!]\n}\n"],"names":["ProgramState","ProgramControl","externalizeComponent","observer","state","onRun","onPause","onStop","onReset","requiresManualReset","variant","className","theme","useTheme","t","useTranslation","getButtonConfigs","baseConfigs","getButtonIcon","index","iconProps","jsx","PlayArrow","Stop","Pause","buttonConfigs","Box","config","jsxs","Button","Typography","ProgramStateIndicator","programState","safetyState","operationMode","getStateInfo","label","color","fullLabel","Chip","extendStatics","d","b","p","__extends","__","__values","o","m","i","__read","n","r","ar","e","error","__spread","Event","type","target","ErrorEvent","_super","_this","CloseEvent","code","reason","getGlobalWebSocket","isWebSocket","w","DEFAULT","ReconnectingWebSocket","url","protocols","options","event","_a","minUptime","message","listener","value","bytes","acc","data","maxEnqueuedMessages","e_1","listeners","listeners_1","listeners_1_1","e_1_1","l","args","_i","_b","reconnectionDelayGrowFactor","_c","minReconnectionDelay","_d","maxReconnectionDelay","delay","resolve","urlProvider","maxRetries","connectionTimeout","WebSocket","AutoReconnectingWebsocket","targetUrl","opts","ev","origReconnect","reject","onMessage","onError","AvailableStorage","key","result","obj","availableStorage","parseUrl","scheme","defaultScheme","schemeRegex","tryParseUrl","parseNovaInstanceUrl","auth0ConfigMap","getAuth0Config","instanceUrl","loginWithAuth0","Auth0Client","auth0Config","auth0Client","appState","normalize","strArray","resultArray","first","component","str","parts","urlJoin","input","dist","parse","compile","match","pathToRegexp","stringify","DEFAULT_DELIMITER","NOOP_VALUE","ID_START","ID_CONTINUE","SIMPLE_TOKENS","escapeText","escape","TokenData","tokens","originalPath","PathError","text","encodePath","chars","pos","name","quoteStart","consumeUntil","endType","output","token","path","cur","encode","delimiter","fn","tokensToFunction","params","missing","encoders","tokenToFunction","encoder","extras","encodeValue","decode","regexp","keys","decoders","decoder","end","sensitive","trailing","flags","sources","pathsToArray","flatten","toRegExpSource","pattern","paths","init","seq","backtrack","isSafeSegmentParam","negate","stringifyTokens","isNameSafe","isNextNameSafe","rest","char","_typeof","o$1","toPrimitive","toPropertyKey","_defineProperty","BASE_PATH","COLLECTION_FORMATS","BaseAPI","configuration","basePath","axios","globalAxios","RequiredError","field","msg","operationServerMap","DUMMY_BASE_URL","assertParamExists","functionName","paramName","paramValue","setBasicAuthToObject","object","setBearerAuthToObject","setFlattenedQueryParams","urlSearchParams","parameter","item","currentKey","setSearchParams","objects","searchParams","serializeDataIfNeeded","requestOptions","nonString","toPathString","createRequestFunction","axiosArgs","globalAxios$1","BASE_PATH$1","axiosRequestArgs","Manufacturer","ApplicationApiAxiosParamCreator","cell","app","completionTimeout","localVarPath","localVarUrlObj","baseOptions","localVarRequestOptions","localVarHeaderParameter","localVarQueryParameter","headersFromBaseOptions","app2","ApplicationApiFp","localVarAxiosParamCreator","localVarAxiosArgs","localVarOperationServerIndex","localVarOperationServerBasePath","ApplicationApi","request","BUSInputsOutputsApiAxiosParamCreator","busIOType","io","modbusIOData","profinetIOData","ios","inputOffset","outputOffset","iOValue","profinetInputOutputConfig","BUSInputsOutputsApiFp","BUSInputsOutputsApi","CellApiAxiosParamCreator","operatingState","cell2","CellApiFp","CellApi","ControllerApiAxiosParamCreator","robotController","controller","coordinateSystem","orientationType","mode","responseRate","addControllerTimeout","ControllerApiFp","ControllerApi","ControllerInputsOutputsApiAxiosParamCreator","direction","valueType","group","waitForIOEventRequest","ControllerInputsOutputsApiFp","ControllerInputsOutputsApi","JoggingApiAxiosParamCreator","executeJoggingRequest","JoggingApiFp","JoggingApi","KinematicsApiAxiosParamCreator","forwardKinematicsRequest","inverseKinematicsRequest","KinematicsApiFp","KinematicsApi","MotionGroupApiAxiosParamCreator","motionGroup","responseCoordinateSystem","MotionGroupApiFp","MotionGroupApi","MotionGroupModelsApiAxiosParamCreator","motionGroupModel","MotionGroupModelsApiFp","MotionGroupModelsApi","StoreCollisionComponentsApiAxiosParamCreator","collider","linkChain","tool","collider2","requestBody","StoreCollisionComponentsApiFp","StoreCollisionComponentsApi","StoreCollisionSetupsApiAxiosParamCreator","setup","collisionSetup","StoreCollisionSetupsApiFp","StoreCollisionSetupsApi","StoreObjectApiAxiosParamCreator","xMetadata","anyValue","localVarFormParams","StoreObjectApiFp","StoreObjectApi","SystemApiAxiosParamCreator","resources","metadata","channel","_interface","cidr","timeout","operationId","body","updateNovaVersionRequest","SystemApiFp","SystemApi","TrajectoryCachingApiAxiosParamCreator","addTrajectoryRequest","trajectory","TrajectoryCachingApiFp","TrajectoryCachingApi","TrajectoryExecutionApiAxiosParamCreator","executeTrajectoryRequest","TrajectoryExecutionApiFp","TrajectoryExecutionApi","TrajectoryPlanningApiAxiosParamCreator","planCollisionFreeRequest","planTrajectoryRequest","TrajectoryPlanningApiFp","TrajectoryPlanningApi","VirtualControllerApiAxiosParamCreator","coordinateSystemData","tcp","robotTcpData","deleteDependent","active","motionGroupJoints","VirtualControllerApiFp","VirtualControllerApi","VirtualControllerBehaviorApiAxiosParamCreator","externalJointStreamRequest","behavior","VirtualControllerBehaviorApiFp","VirtualControllerBehaviorApi","VirtualControllerInputsOutputsApiAxiosParamCreator","VirtualControllerInputsOutputsApiFp","VirtualControllerInputsOutputsApi","NovaCellAPIClient","cellId","ApiConstructor","apiClient","mime","originalFunction","res","MockNovaInstance","apiHandlers","method","handler","pathToRegexp.match","json","AxiosError","socket","defaultMotionState","NovaClient","axiosInstance","isAxiosError","err","config$1","storedToken","poseToWandelscriptString","pose","position","orientation","_e","_f","positionValues","v","rotationValues","useMounted","effect","useEffect","useAutorun","view","autorun","useReaction","expression","reaction","useAnimationFrame","callback","frameId","frame","ValueInterpolator","initialValues","delta","hasChanges","isComplete","clampedDelta","initializationFactor","current","velocity","displacement","springForce","dampingForce","acceleration","newVelocity","newValue","newValues","now","timeSinceLastUpdate","isInitialTargetSet","val","blendFactor","prev","next","values","newOptions","useInterpolation","interpolatorRef","React"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8]}