#include "omc_simulation_settings.h"
#include "GenerateAPIFunctionsTpl.h"
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,3,3) {&Tpl_Text_MEM__TEXT__desc,MMC_REFSTRUCTLIT(mmc_nil),MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT0 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)
#define _OMC_LIT1_data "commandLog.append(\",\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1,23,_OMC_LIT1_data);
#define _OMC_LIT1 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT1}};
#define _OMC_LIT2 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,1,3) {&Tpl_StringToken_ST__NEW__LINE__desc,}};
#define _OMC_LIT3 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)
#define _OMC_LIT4_data "{\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT4,2,_OMC_LIT4_data);
#define _OMC_LIT4 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT4)
#define _OMC_LIT5_data "  QElapsedTimer commandTime;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,29,_OMC_LIT5_data);
#define _OMC_LIT5 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)
#define _OMC_LIT6_data "  commandTime.start();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,23,_OMC_LIT6_data);
#define _OMC_LIT6 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,2,1) {_OMC_LIT6,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT7 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,2,1) {_OMC_LIT5,_OMC_LIT7}};
#define _OMC_LIT8 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,1) {_OMC_LIT4,_OMC_LIT8}};
#define _OMC_LIT9 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT10,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT9,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT10 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT10)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,2,4) {&Tpl_BlockType_BT__INDENT__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))}};
#define _OMC_LIT11 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)
#define _OMC_LIT12_data "\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,1,_OMC_LIT12_data);
#define _OMC_LIT12 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)
#define _OMC_LIT13_data "try {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,6,_OMC_LIT13_data);
#define _OMC_LIT13 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)
#define _OMC_LIT14_data "  MMC_TRY_TOP_INTERNAL()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,25,_OMC_LIT14_data);
#define _OMC_LIT14 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT15,2,1) {_OMC_LIT12,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT15 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT15)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT16,2,1) {_OMC_LIT14,_OMC_LIT15}};
#define _OMC_LIT16 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT16)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT17,2,1) {_OMC_LIT13,_OMC_LIT16}};
#define _OMC_LIT17 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT17)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,2,1) {_OMC_LIT12,_OMC_LIT17}};
#define _OMC_LIT18 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT18,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT19 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)
#define _OMC_LIT20_data "omc_OpenModelicaScriptingAPI_"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,29,_OMC_LIT20_data);
#define _OMC_LIT20 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT20)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT21,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT20}};
#define _OMC_LIT21 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT21)
#define _OMC_LIT22_data "(threadData"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT22,11,_OMC_LIT22_data);
#define _OMC_LIT22 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT22)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT22}};
#define _OMC_LIT23 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)
#define _OMC_LIT24_data ");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT24,3,_OMC_LIT24_data);
#define _OMC_LIT24 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT24)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT24}};
#define _OMC_LIT25 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)
#define _OMC_LIT26_data "MMC_CATCH_TOP()\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,16,_OMC_LIT26_data);
#define _OMC_LIT26 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT27,2,1) {_OMC_LIT26,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT27 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT27)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT28,2,1) {_OMC_LIT12,_OMC_LIT27}};
#define _OMC_LIT28 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT28)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT28,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT29 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)
#define _OMC_LIT30_data "} catch(std::exception &exception) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT30,37,_OMC_LIT30_data);
#define _OMC_LIT30 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT30)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT30}};
#define _OMC_LIT31 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)
#define _OMC_LIT32_data "emit throwException(QString(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT32,29,_OMC_LIT32_data);
#define _OMC_LIT32 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT32)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT32}};
#define _OMC_LIT33 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)
#define _OMC_LIT34_data " failed. %1\").arg(exception.what()));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT34,38,_OMC_LIT34_data);
#define _OMC_LIT34 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT34)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT34}};
#define _OMC_LIT35 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)
#define _OMC_LIT36_data "}\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT36,2,_OMC_LIT36_data);
#define _OMC_LIT36 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT36)
#define _OMC_LIT37_data "QString responseLog;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,21,_OMC_LIT37_data);
#define _OMC_LIT37 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT37)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,1) {_OMC_LIT37,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT38 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,2,1) {_OMC_LIT12,_OMC_LIT38}};
#define _OMC_LIT39 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,2,1) {_OMC_LIT36,_OMC_LIT39}};
#define _OMC_LIT40 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT41,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT40,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT41 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT41)
#define _OMC_LIT42_data "double elapsed = (double)commandTime.elapsed() / 1000.0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT42,57,_OMC_LIT42_data);
#define _OMC_LIT42 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT42)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT43,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT42}};
#define _OMC_LIT43 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT43)
#define _OMC_LIT44_data "}"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT44,1,_OMC_LIT44_data);
#define _OMC_LIT44 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT44)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT44}};
#define _OMC_LIT45 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)
#define _OMC_LIT46_data "return result;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT46,14,_OMC_LIT46_data);
#define _OMC_LIT46 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT46)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT47,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT46}};
#define _OMC_LIT47 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT47)
#define _OMC_LIT48_data "emit logResponse(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT48,18,_OMC_LIT48_data);
#define _OMC_LIT48 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT48)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT48}};
#define _OMC_LIT49 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)
#define _OMC_LIT50_data "()\", responseLog, elapsed);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,27,_OMC_LIT50_data);
#define _OMC_LIT50 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT50}};
#define _OMC_LIT51 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)
#define _OMC_LIT52_data "(\"+commandLog+\")\", responseLog, elapsed);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT52,41,_OMC_LIT52_data);
#define _OMC_LIT52 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT52)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT53,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT52}};
#define _OMC_LIT53 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT53)
#define _OMC_LIT54_data "emit logCommand(\""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT54,17,_OMC_LIT54_data);
#define _OMC_LIT54 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT54)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT54}};
#define _OMC_LIT55 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)
#define _OMC_LIT56_data "()\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT56,5,_OMC_LIT56_data);
#define _OMC_LIT56 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT56)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT57,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT56}};
#define _OMC_LIT57 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT57)
#define _OMC_LIT58_data "QString commandLog;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,20,_OMC_LIT58_data);
#define _OMC_LIT58 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT58)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT59,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT58}};
#define _OMC_LIT59 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT59)
#define _OMC_LIT60_data "(\"+commandLog+\")\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT60,19,_OMC_LIT60_data);
#define _OMC_LIT60 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT60)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT60}};
#define _OMC_LIT61 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)
#define _OMC_LIT62_data "_res result;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT62,12,_OMC_LIT62_data);
#define _OMC_LIT62 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT62)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT63,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT62}};
#define _OMC_LIT63 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT63)
#define _OMC_LIT64_data "result"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,6,_OMC_LIT64_data);
#define _OMC_LIT64 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT64)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT65,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT64}};
#define _OMC_LIT65 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT65)
#define _OMC_LIT66_data "responseLog"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT66,11,_OMC_LIT66_data);
#define _OMC_LIT66 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT66)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT67,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT66}};
#define _OMC_LIT67 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)
#define _OMC_LIT68_data "result."
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,7,_OMC_LIT68_data);
#define _OMC_LIT68 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT68}};
#define _OMC_LIT69 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)
#define _OMC_LIT70_data "out1"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,4,_OMC_LIT70_data);
#define _OMC_LIT70 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT70}};
#define _OMC_LIT71 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)
#define _OMC_LIT72_data " = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,3,_OMC_LIT72_data);
#define _OMC_LIT72 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT72}};
#define _OMC_LIT73 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2)),MMC_REFSTRUCTLIT(mmc_none),MMC_REFSTRUCTLIT(mmc_none),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3}};
#define _OMC_LIT74 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)
#define _OMC_LIT75_data " result;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT75,8,_OMC_LIT75_data);
#define _OMC_LIT75 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT75)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT76,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT75}};
#define _OMC_LIT76 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT76)
#define _OMC_LIT77_data ", &"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,3,_OMC_LIT77_data);
#define _OMC_LIT77 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT77}};
#define _OMC_LIT78 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)
#define _OMC_LIT79_data "out"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT79,3,_OMC_LIT79_data);
#define _OMC_LIT79 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT79)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT79}};
#define _OMC_LIT80 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)
#define _OMC_LIT81_data "commandLog"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT81,10,_OMC_LIT81_data);
#define _OMC_LIT81 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT81)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT82,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT81}};
#define _OMC_LIT82 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT82)
#define _OMC_LIT83_data ", "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,2,_OMC_LIT83_data);
#define _OMC_LIT83 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT83}};
#define _OMC_LIT84 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)
#define _OMC_LIT85_data ".append("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,8,_OMC_LIT85_data);
#define _OMC_LIT85 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT86,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT85}};
#define _OMC_LIT86 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT86)
#define _OMC_LIT87_data ");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,2,_OMC_LIT87_data);
#define _OMC_LIT87 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT87}};
#define _OMC_LIT88 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)
#define _OMC_LIT89_data ".append(\"\\\"\" + "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,15,_OMC_LIT89_data);
#define _OMC_LIT89 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT90,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT89}};
#define _OMC_LIT90 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT90)
#define _OMC_LIT91_data " + \"\\\"\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,9,_OMC_LIT91_data);
#define _OMC_LIT91 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT92,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT91}};
#define _OMC_LIT92 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT92)
#define _OMC_LIT93_data ".append(QString::number("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT93,24,_OMC_LIT93_data);
#define _OMC_LIT93 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT93)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT93}};
#define _OMC_LIT94 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)
#define _OMC_LIT95_data "));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,3,_OMC_LIT95_data);
#define _OMC_LIT95 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT95)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT95}};
#define _OMC_LIT96 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)
#define _OMC_LIT97_data " ? \"true\" : \"false\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,21,_OMC_LIT97_data);
#define _OMC_LIT97 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT97)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT98,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT97}};
#define _OMC_LIT98 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT98)
#define _OMC_LIT99_data ".toString());"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,13,_OMC_LIT99_data);
#define _OMC_LIT99 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT99)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT99}};
#define _OMC_LIT100 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)
#define _OMC_LIT101_data "_elt"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,4,_OMC_LIT101_data);
#define _OMC_LIT101 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT101)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT101}};
#define _OMC_LIT102 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)
#define _OMC_LIT103_data "_i"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT103,2,_OMC_LIT103_data);
#define _OMC_LIT103 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT103)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT103}};
#define _OMC_LIT104 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)
#define _OMC_LIT105_data ".append(\"{\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT105,14,_OMC_LIT105_data);
#define _OMC_LIT105 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT105)
#define _OMC_LIT106_data "int "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT106,4,_OMC_LIT106_data);
#define _OMC_LIT106 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT106)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,2,1) {_OMC_LIT106,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT107 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT108,2,1) {_OMC_LIT105,_OMC_LIT107}};
#define _OMC_LIT108 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT108)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT109,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT108,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT109 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT109)
#define _OMC_LIT110_data " = 0;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT110,6,_OMC_LIT110_data);
#define _OMC_LIT110 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT110)
#define _OMC_LIT111_data "foreach("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT111,8,_OMC_LIT111_data);
#define _OMC_LIT111 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT111)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT112,2,1) {_OMC_LIT111,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT112 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT112)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,2,1) {_OMC_LIT110,_OMC_LIT112}};
#define _OMC_LIT113 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT114,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT113,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT114 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT114)
#define _OMC_LIT115_data " "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT115,1,_OMC_LIT115_data);
#define _OMC_LIT115 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT115)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT116,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT115}};
#define _OMC_LIT116 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT116)
#define _OMC_LIT117_data ") {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT117,4,_OMC_LIT117_data);
#define _OMC_LIT117 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT117)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT118,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT117}};
#define _OMC_LIT118 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT118)
#define _OMC_LIT119_data "if ("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT119,4,_OMC_LIT119_data);
#define _OMC_LIT119 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT119)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT120,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT119}};
#define _OMC_LIT120 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT120)
#define _OMC_LIT121_data ".append(\",\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT121,14,_OMC_LIT121_data);
#define _OMC_LIT121 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT121)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT122,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT121}};
#define _OMC_LIT122 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT122)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT123,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT36}};
#define _OMC_LIT123 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT123)
#define _OMC_LIT124_data "++;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT124,4,_OMC_LIT124_data);
#define _OMC_LIT124 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT124)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT125,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT124}};
#define _OMC_LIT125 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT125)
#define _OMC_LIT126_data ".append(\"}\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT126,13,_OMC_LIT126_data);
#define _OMC_LIT126 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT126)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT127,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT126}};
#define _OMC_LIT127 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT127)
#define _OMC_LIT128_data "getQtResponseLogText failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT128,32,_OMC_LIT128_data);
#define _OMC_LIT128 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT128)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT129,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT128}};
#define _OMC_LIT129 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT129)
#define _OMC_LIT130_data "GenerateAPIFunctionsTpl.tpl"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT130,27,_OMC_LIT130_data);
#define _OMC_LIT130 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT130)
#define _OMC_LIT131_data " = MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT131,18,_OMC_LIT131_data);
#define _OMC_LIT131 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT131)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT132,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT131}};
#define _OMC_LIT132 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT132)
#define _OMC_LIT133_data " = mmc_unbox_integer("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT133,21,_OMC_LIT133_data);
#define _OMC_LIT133 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT133)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT134,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT133}};
#define _OMC_LIT134 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT134)
#define _OMC_LIT135_data " = mmc_unbox_boolean("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT135,21,_OMC_LIT135_data);
#define _OMC_LIT135 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT135)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT136,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT135}};
#define _OMC_LIT136 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT136)
#define _OMC_LIT137_data " = mmc_unbox_real("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT137,18,_OMC_LIT137_data);
#define _OMC_LIT137 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT137)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT138,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT137}};
#define _OMC_LIT138 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT138)
#define _OMC_LIT139_data ".clear();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT139,10,_OMC_LIT139_data);
#define _OMC_LIT139 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT139)
#define _OMC_LIT140_data "while (!listEmpty("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT140,18,_OMC_LIT140_data);
#define _OMC_LIT140 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT140)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT141,2,1) {_OMC_LIT140,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT141 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT141)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT142,2,1) {_OMC_LIT139,_OMC_LIT141}};
#define _OMC_LIT142 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT142)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT143,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT142,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT143 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT143)
#define _OMC_LIT144_data ")) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT144,5,_OMC_LIT144_data);
#define _OMC_LIT144 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT144)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT145,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT144}};
#define _OMC_LIT145 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT145)
#define _OMC_LIT146_data ";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT146,2,_OMC_LIT146_data);
#define _OMC_LIT146 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT146)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT147,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT146}};
#define _OMC_LIT147 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT147)
#define _OMC_LIT148_data "MMC_CAR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT148,8,_OMC_LIT148_data);
#define _OMC_LIT148 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT148)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT149,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT148}};
#define _OMC_LIT149 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT149)
#define _OMC_LIT150_data ")"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT150,1,_OMC_LIT150_data);
#define _OMC_LIT150 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT150)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT151,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT150}};
#define _OMC_LIT151 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT151)
#define _OMC_LIT152_data ".push_back("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT152,11,_OMC_LIT152_data);
#define _OMC_LIT152 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT152)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT153,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT152}};
#define _OMC_LIT153 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT153)
#define _OMC_LIT154_data " = MMC_CDR("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT154,11,_OMC_LIT154_data);
#define _OMC_LIT154 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT154)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT155,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT154}};
#define _OMC_LIT155 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT155)
#define _OMC_LIT156_data "getOutValueArray failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT156,28,_OMC_LIT156_data);
#define _OMC_LIT156 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT156)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT157,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT156}};
#define _OMC_LIT157 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT157)
#define _OMC_LIT158_data "void *"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT158,6,_OMC_LIT158_data);
#define _OMC_LIT158 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT158)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT159,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT158}};
#define _OMC_LIT159 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT159)
#define _OMC_LIT160_data "_mm = NULL;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT160,11,_OMC_LIT160_data);
#define _OMC_LIT160 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT160)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT161,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT160}};
#define _OMC_LIT161 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT161)
#define _OMC_LIT162_data " = QString::fromUtf8((char*)MMC_STRINGDATA("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT162,43,_OMC_LIT162_data);
#define _OMC_LIT162 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT162)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT163,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT162}};
#define _OMC_LIT163 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT163)
#define _OMC_LIT164_data "_mm));"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT164,6,_OMC_LIT164_data);
#define _OMC_LIT164 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT164)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT165,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT164}};
#define _OMC_LIT165 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT165)
#define _OMC_LIT166_data "_mm"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT166,3,_OMC_LIT166_data);
#define _OMC_LIT166 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT166)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT167,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT166}};
#define _OMC_LIT167 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT167)
#define _OMC_LIT168_data "getQtOutArg failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT168,23,_OMC_LIT168_data);
#define _OMC_LIT168 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT168)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT169,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT168}};
#define _OMC_LIT169 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT169)
#define _OMC_LIT170_data "getQtCommandLogText failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT170,31,_OMC_LIT170_data);
#define _OMC_LIT170 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT170)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT171,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT170}};
#define _OMC_LIT171 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT171)
#define _OMC_LIT172_data "mmc_mk_icon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT172,12,_OMC_LIT172_data);
#define _OMC_LIT172 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT172)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT173,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT172}};
#define _OMC_LIT173 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT173)
#define _OMC_LIT174_data "mmc_mk_rcon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT174,12,_OMC_LIT174_data);
#define _OMC_LIT174 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT174)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT175,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT174}};
#define _OMC_LIT175 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT175)
#define _OMC_LIT176_data "getQtInArgBoxed failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT176,27,_OMC_LIT176_data);
#define _OMC_LIT176 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT176)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT177,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT176}};
#define _OMC_LIT177 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT177)
#define _OMC_LIT178_data "QByteArray "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT178,11,_OMC_LIT178_data);
#define _OMC_LIT178 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT178)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT179,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT178}};
#define _OMC_LIT179 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT179)
#define _OMC_LIT180_data "_utf8 = "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT180,8,_OMC_LIT180_data);
#define _OMC_LIT180 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT180)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT181,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT180}};
#define _OMC_LIT181 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT181)
#define _OMC_LIT182_data ".toUtf8();"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT182,10,_OMC_LIT182_data);
#define _OMC_LIT182 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT182)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT183,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT182}};
#define _OMC_LIT183 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT183)
#define _OMC_LIT184_data "mmc_mk_scon("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT184,12,_OMC_LIT184_data);
#define _OMC_LIT184 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT184)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT185,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT184}};
#define _OMC_LIT185 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT185)
#define _OMC_LIT186_data "_utf8.constData())"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT186,18,_OMC_LIT186_data);
#define _OMC_LIT186 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT186)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT187,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT186}};
#define _OMC_LIT187 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT187)
#define _OMC_LIT188_data "_lst = mmc_mk_nil();\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT188,21,_OMC_LIT188_data);
#define _OMC_LIT188 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT188)
#define _OMC_LIT189_data "for (int "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT189,9,_OMC_LIT189_data);
#define _OMC_LIT189 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT189)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT190,2,1) {_OMC_LIT189,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT190 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT190)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT191,2,1) {_OMC_LIT188,_OMC_LIT190}};
#define _OMC_LIT191 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT191)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT192,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT191,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT192 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT192)
#define _OMC_LIT193_data ".size()-1; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT193,11,_OMC_LIT193_data);
#define _OMC_LIT193 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT193)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT194,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT193}};
#define _OMC_LIT194 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT194)
#define _OMC_LIT195_data ">=0; "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT195,5,_OMC_LIT195_data);
#define _OMC_LIT195 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT195)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT196,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT195}};
#define _OMC_LIT196 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT196)
#define _OMC_LIT197_data "--) {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT197,6,_OMC_LIT197_data);
#define _OMC_LIT197 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT197)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT198,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT197}};
#define _OMC_LIT198 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT198)
#define _OMC_LIT199_data "["
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT199,1,_OMC_LIT199_data);
#define _OMC_LIT199 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT199)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT200,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT199}};
#define _OMC_LIT200 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT200)
#define _OMC_LIT201_data "];\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT201,3,_OMC_LIT201_data);
#define _OMC_LIT201 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT201)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT202,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT201}};
#define _OMC_LIT202 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT202)
#define _OMC_LIT203_data "_lst = mmc_mk_cons("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT203,19,_OMC_LIT203_data);
#define _OMC_LIT203 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT203)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT204,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT203}};
#define _OMC_LIT204 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT204)
#define _OMC_LIT205_data "_lst);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT205,7,_OMC_LIT205_data);
#define _OMC_LIT205 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT205)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT206,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT205}};
#define _OMC_LIT206 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT206)
#define _OMC_LIT207_data "_lst"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT207,4,_OMC_LIT207_data);
#define _OMC_LIT207 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT207)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT208,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT207}};
#define _OMC_LIT208 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT208)
#define _OMC_LIT209_data "getQtInArg failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT209,22,_OMC_LIT209_data);
#define _OMC_LIT209 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT209)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT210,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT209}};
#define _OMC_LIT210 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT210)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT211,1,1) {_OMC_LIT84}};
#define _OMC_LIT211 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT211)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT212,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT211,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3}};
#define _OMC_LIT212 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT212)
#define _OMC_LIT213_data "("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT213,1,_OMC_LIT213_data);
#define _OMC_LIT213 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT213)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT214,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT213}};
#define _OMC_LIT214 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT214)
#define _OMC_LIT215_data "void"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT215,4,_OMC_LIT215_data);
#define _OMC_LIT215 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT215)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT216,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT215}};
#define _OMC_LIT216 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT216)
#define _OMC_LIT217_data "_res"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT217,4,_OMC_LIT217_data);
#define _OMC_LIT217 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT217)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT218,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT217}};
#define _OMC_LIT218 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT218)
#define _OMC_LIT219_data "typedef struct "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT219,15,_OMC_LIT219_data);
#define _OMC_LIT219 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT219)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT220,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT219}};
#define _OMC_LIT220 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT220)
#define _OMC_LIT221_data "_res {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT221,7,_OMC_LIT221_data);
#define _OMC_LIT221 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT221)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT222,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT221}};
#define _OMC_LIT222 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT222)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT223,1,1) {_OMC_LIT3}};
#define _OMC_LIT223 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT223)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT224,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT223,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3}};
#define _OMC_LIT224 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT224)
#define _OMC_LIT225_data "QString toString() {\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT225,21,_OMC_LIT225_data);
#define _OMC_LIT225 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT225)
#define _OMC_LIT226_data "  QString resultBuffer = \"(\";\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT226,30,_OMC_LIT226_data);
#define _OMC_LIT226 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT226)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT227,2,1) {_OMC_LIT226,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT227 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT227)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT228,2,1) {_OMC_LIT225,_OMC_LIT227}};
#define _OMC_LIT228 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT228)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT229,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT228,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT229 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT229)
#define _OMC_LIT230_data "resultBuffer.append(\",\");"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT230,25,_OMC_LIT230_data);
#define _OMC_LIT230 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT230)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT231,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT230}};
#define _OMC_LIT231 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT231)
#define _OMC_LIT232_data "resultBuffer.append(\")\");\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT232,26,_OMC_LIT232_data);
#define _OMC_LIT232 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT232)
#define _OMC_LIT233_data "return resultBuffer;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT233,21,_OMC_LIT233_data);
#define _OMC_LIT233 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT233)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT234,2,1) {_OMC_LIT233,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT234 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT234)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT235,2,1) {_OMC_LIT232,_OMC_LIT234}};
#define _OMC_LIT235 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT235)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT236,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT235,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT236 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT236)
#define _OMC_LIT237_data "} "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT237,2,_OMC_LIT237_data);
#define _OMC_LIT237 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT237)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT238,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT237}};
#define _OMC_LIT238 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT238)
#define _OMC_LIT239_data "_res;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT239,6,_OMC_LIT239_data);
#define _OMC_LIT239 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT239)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT240,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT239}};
#define _OMC_LIT240 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT240)
#define _OMC_LIT241_data "resultBuffer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT241,12,_OMC_LIT241_data);
#define _OMC_LIT241 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT241)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT242,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT241}};
#define _OMC_LIT242 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT242)
#define _OMC_LIT243_data ";"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT243,1,_OMC_LIT243_data);
#define _OMC_LIT243 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT243)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT244,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT243}};
#define _OMC_LIT244 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT244)
#define _OMC_LIT245_data "structToString failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT245,26,_OMC_LIT245_data);
#define _OMC_LIT245 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT245)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT246,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT245}};
#define _OMC_LIT246 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT246)
#define _OMC_LIT247_data "res"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT247,3,_OMC_LIT247_data);
#define _OMC_LIT247 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT247)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT248,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT247}};
#define _OMC_LIT248 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT248)
#define _OMC_LIT249_data "QString"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT249,7,_OMC_LIT249_data);
#define _OMC_LIT249 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT249)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT250,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT249}};
#define _OMC_LIT250 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT250)
#define _OMC_LIT251_data "modelica_integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT251,16,_OMC_LIT251_data);
#define _OMC_LIT251 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT251)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT252,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT251}};
#define _OMC_LIT252 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT252)
#define _OMC_LIT253_data "modelica_boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT253,16,_OMC_LIT253_data);
#define _OMC_LIT253 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT253)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT254,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT253}};
#define _OMC_LIT254 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT254)
#define _OMC_LIT255_data "modelica_real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT255,13,_OMC_LIT255_data);
#define _OMC_LIT255 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT255)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT256,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT255}};
#define _OMC_LIT256 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT256)
#define _OMC_LIT257_data "QList<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT257,6,_OMC_LIT257_data);
#define _OMC_LIT257 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT257)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT258,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT257}};
#define _OMC_LIT258 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT258)
#define _OMC_LIT259_data " >"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT259,2,_OMC_LIT259_data);
#define _OMC_LIT259 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT259)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT260,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT259}};
#define _OMC_LIT260 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT260)
#define _OMC_LIT261_data "getQtType failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT261,21,_OMC_LIT261_data);
#define _OMC_LIT261 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT261)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT262,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT261}};
#define _OMC_LIT262 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT262)
#define _OMC_LIT263_data "/* generated by OpenModelica */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT263,32,_OMC_LIT263_data);
#define _OMC_LIT263 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT263)
#define _OMC_LIT264_data "#ifndef OpenModelicaScriptingAPIQt__H\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT264,38,_OMC_LIT264_data);
#define _OMC_LIT264 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT264)
#define _OMC_LIT265_data "#define OpenModelicaScriptingAPIQt__H\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT265,38,_OMC_LIT265_data);
#define _OMC_LIT265 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT265)
#define _OMC_LIT266_data "#include <QOpenGLContext> // must be first include to fix undefined GLDEBUGPROC\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT266,80,_OMC_LIT266_data);
#define _OMC_LIT266 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT266)
#define _OMC_LIT267_data "#include <QtCore>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT267,18,_OMC_LIT267_data);
#define _OMC_LIT267 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT267)
#define _OMC_LIT268_data "/* import the scripting here */\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT268,32,_OMC_LIT268_data);
#define _OMC_LIT268 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT268)
#define _OMC_LIT269_data "#define IMPORT_INTO\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT269,20,_OMC_LIT269_data);
#define _OMC_LIT269 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT269)
#define _OMC_LIT270_data "#include \"OpenModelicaScriptingAPI.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT270,38,_OMC_LIT270_data);
#define _OMC_LIT270 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT270)
#define _OMC_LIT271_data "class "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT271,6,_OMC_LIT271_data);
#define _OMC_LIT271 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT271)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT272,2,1) {_OMC_LIT271,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT272 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT272)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT273,2,1) {_OMC_LIT12,_OMC_LIT272}};
#define _OMC_LIT273 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT273)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT274,2,1) {_OMC_LIT270,_OMC_LIT273}};
#define _OMC_LIT274 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT274)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT275,2,1) {_OMC_LIT269,_OMC_LIT274}};
#define _OMC_LIT275 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT275)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT276,2,1) {_OMC_LIT268,_OMC_LIT275}};
#define _OMC_LIT276 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT276)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT277,2,1) {_OMC_LIT267,_OMC_LIT276}};
#define _OMC_LIT277 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT277)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT278,2,1) {_OMC_LIT266,_OMC_LIT277}};
#define _OMC_LIT278 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT278)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT279,2,1) {_OMC_LIT12,_OMC_LIT278}};
#define _OMC_LIT279 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT279)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT280,2,1) {_OMC_LIT265,_OMC_LIT279}};
#define _OMC_LIT280 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT280)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT281,2,1) {_OMC_LIT264,_OMC_LIT280}};
#define _OMC_LIT281 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT281)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT282,2,1) {_OMC_LIT263,_OMC_LIT281}};
#define _OMC_LIT282 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT282)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT283,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT282,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT283 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT283)
#define _OMC_LIT284_data " : public QObject\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT284,18,_OMC_LIT284_data);
#define _OMC_LIT284 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT284)
#define _OMC_LIT285_data "  Q_OBJECT\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT285,11,_OMC_LIT285_data);
#define _OMC_LIT285 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT285)
#define _OMC_LIT286_data "public:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT286,8,_OMC_LIT286_data);
#define _OMC_LIT286 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT286)
#define _OMC_LIT287_data "  threadData_t *threadData;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT287,28,_OMC_LIT287_data);
#define _OMC_LIT287 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT287)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT288,2,1) {_OMC_LIT287,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT288 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT288)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT289,2,1) {_OMC_LIT286,_OMC_LIT288}};
#define _OMC_LIT289 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT289)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT290,2,1) {_OMC_LIT285,_OMC_LIT289}};
#define _OMC_LIT290 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT290)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT291,2,1) {_OMC_LIT4,_OMC_LIT290}};
#define _OMC_LIT291 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT291)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT292,2,1) {_OMC_LIT284,_OMC_LIT291}};
#define _OMC_LIT292 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT292)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT293,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT292,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT293 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT293)
#define _OMC_LIT294_data "(threadData_t *td);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT294,20,_OMC_LIT294_data);
#define _OMC_LIT294 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT294)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT295,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT294}};
#define _OMC_LIT295 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT295)
#define _OMC_LIT296_data "signals:\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT296,9,_OMC_LIT296_data);
#define _OMC_LIT296 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT296)
#define _OMC_LIT297_data "  void logCommand(QString command);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT297,36,_OMC_LIT297_data);
#define _OMC_LIT297 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT297)
#define _OMC_LIT298_data "  // elapsed time in seconds\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT298,29,_OMC_LIT298_data);
#define _OMC_LIT298 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT298)
#define _OMC_LIT299_data "  void logResponse(QString command, QString response, double elapsed);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT299,71,_OMC_LIT299_data);
#define _OMC_LIT299 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT299)
#define _OMC_LIT300_data "  void throwException(QString exception);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT300,42,_OMC_LIT300_data);
#define _OMC_LIT300 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT300)
#define _OMC_LIT301_data "};\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT301,3,_OMC_LIT301_data);
#define _OMC_LIT301 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT301)
#define _OMC_LIT302_data "#endif /* OpenModelicaScriptingAPIQt__H */"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT302,42,_OMC_LIT302_data);
#define _OMC_LIT302 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT302)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT303,2,1) {_OMC_LIT302,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT303 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT303)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT304,2,1) {_OMC_LIT12,_OMC_LIT303}};
#define _OMC_LIT304 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT304)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT305,2,1) {_OMC_LIT301,_OMC_LIT304}};
#define _OMC_LIT305 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT305)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT306,2,1) {_OMC_LIT300,_OMC_LIT305}};
#define _OMC_LIT306 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT306)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT307,2,1) {_OMC_LIT299,_OMC_LIT306}};
#define _OMC_LIT307 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT307)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT308,2,1) {_OMC_LIT298,_OMC_LIT307}};
#define _OMC_LIT308 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT308)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT309,2,1) {_OMC_LIT297,_OMC_LIT308}};
#define _OMC_LIT309 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT309)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT310,2,1) {_OMC_LIT296,_OMC_LIT309}};
#define _OMC_LIT310 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT310)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT311,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT310,MMC_IMMEDIATE(MMC_TAGFIXNUM(0 /* false */))}};
#define _OMC_LIT311 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT311)
#define _OMC_LIT312_data ""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT312,0,_OMC_LIT312_data);
#define _OMC_LIT312 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT312)
#define _OMC_LIT313_data "#include <stdexcept>\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT313,21,_OMC_LIT313_data);
#define _OMC_LIT313 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT313)
#define _OMC_LIT314_data "#include \"OpenModelicaScriptingAPIQt.h\"\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT314,40,_OMC_LIT314_data);
#define _OMC_LIT314 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT314)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT315,2,1) {_OMC_LIT314,_OMC_LIT15}};
#define _OMC_LIT315 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT315)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT316,2,1) {_OMC_LIT313,_OMC_LIT315}};
#define _OMC_LIT316 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT316)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT317,2,1) {_OMC_LIT12,_OMC_LIT316}};
#define _OMC_LIT317 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT317)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT318,2,1) {_OMC_LIT263,_OMC_LIT317}};
#define _OMC_LIT318 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT318)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT319,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT318,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT319 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT319)
#define _OMC_LIT320_data "(threadData_t *td)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT320,19,_OMC_LIT320_data);
#define _OMC_LIT320 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT320)
#define _OMC_LIT321_data "  : threadData(td)\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT321,19,_OMC_LIT321_data);
#define _OMC_LIT321 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT321)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT322,2,1) {_OMC_LIT36,MMC_REFSTRUCTLIT(mmc_nil)}};
#define _OMC_LIT322 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT322)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT323,2,1) {_OMC_LIT4,_OMC_LIT322}};
#define _OMC_LIT323 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT323)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT324,2,1) {_OMC_LIT321,_OMC_LIT323}};
#define _OMC_LIT324 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT324)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT325,2,1) {_OMC_LIT320,_OMC_LIT324}};
#define _OMC_LIT325 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT325)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT326,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT325,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT326 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT326)
#define _OMC_LIT327_data "function "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT327,9,_OMC_LIT327_data);
#define _OMC_LIT327 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT327)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT328,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT327}};
#define _OMC_LIT328 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT328)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT329,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT223,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3}};
#define _OMC_LIT329 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT329)
#define _OMC_LIT330_data "algorithm\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT330,10,_OMC_LIT330_data);
#define _OMC_LIT330 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT330)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT331,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT330}};
#define _OMC_LIT331 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT331)
#define _OMC_LIT332_data "(_,"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT332,3,_OMC_LIT332_data);
#define _OMC_LIT332 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT332)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT333,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT332}};
#define _OMC_LIT333 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT333)
#define _OMC_LIT334_data ") := CevalScript.cevalInteractiveFunctions2(FCore.emptyCache(), FGraph.empty(), \""
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT334,81,_OMC_LIT334_data);
#define _OMC_LIT334 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT334)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT335,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT334}};
#define _OMC_LIT335 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT335)
#define _OMC_LIT336_data "\", {"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT336,4,_OMC_LIT336_data);
#define _OMC_LIT336 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT336)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT337,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT336}};
#define _OMC_LIT337 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT337)
#define _OMC_LIT338_data "}, dummyMsg);\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT338,14,_OMC_LIT338_data);
#define _OMC_LIT338 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT338)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT339,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT338}};
#define _OMC_LIT339 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT339)
#define _OMC_LIT340_data "end "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT340,4,_OMC_LIT340_data);
#define _OMC_LIT340 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT340)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT341,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT340}};
#define _OMC_LIT341 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT341)
#define _OMC_LIT342_data "protected\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT342,10,_OMC_LIT342_data);
#define _OMC_LIT342 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT342)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT343,2,5) {&Tpl_StringToken_ST__LINE__desc,_OMC_LIT342}};
#define _OMC_LIT343 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT343)
#define _OMC_LIT344_data "output "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT344,7,_OMC_LIT344_data);
#define _OMC_LIT344 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT344)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT345,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT344}};
#define _OMC_LIT345 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT345)
#define _OMC_LIT346_data " res;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT346,5,_OMC_LIT346_data);
#define _OMC_LIT346 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT346)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT347,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT346}};
#define _OMC_LIT347 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT347)
#define _OMC_LIT348_data " res"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT348,4,_OMC_LIT348_data);
#define _OMC_LIT348 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT348)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT349,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT348}};
#define _OMC_LIT349 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT349)
#define _OMC_LIT350_data "input "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT350,6,_OMC_LIT350_data);
#define _OMC_LIT350 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT350)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT351,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT350}};
#define _OMC_LIT351 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT351)
#define _OMC_LIT352_data "Values.TUPLE({"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT352,14,_OMC_LIT352_data);
#define _OMC_LIT352 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT352)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT353,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT352}};
#define _OMC_LIT353 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT353)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT354,9,3) {&Tpl_IterOptions_ITER__OPTIONS__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1)),MMC_REFSTRUCTLIT(mmc_none),_OMC_LIT211,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3,MMC_IMMEDIATE(MMC_TAGFIXNUM(0)),_OMC_LIT3}};
#define _OMC_LIT354 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT354)
#define _OMC_LIT355_data "})"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT355,2,_OMC_LIT355_data);
#define _OMC_LIT355 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT355)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT356,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT355}};
#define _OMC_LIT356 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT356)
#define _OMC_LIT357_data "Values.NORETCALL()"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT357,18,_OMC_LIT357_data);
#define _OMC_LIT357 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT357)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT358,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT357}};
#define _OMC_LIT358 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT358)
#define _OMC_LIT359_data "match "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT359,6,_OMC_LIT359_data);
#define _OMC_LIT359 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT359)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT360,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT359}};
#define _OMC_LIT360 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT360)
#define _OMC_LIT361_data " case Values.STRING() then "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT361,27,_OMC_LIT361_data);
#define _OMC_LIT361 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT361)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT362,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT361}};
#define _OMC_LIT362 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT362)
#define _OMC_LIT363_data ".string; end match"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT363,18,_OMC_LIT363_data);
#define _OMC_LIT363 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT363)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT364,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT363}};
#define _OMC_LIT364 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT364)
#define _OMC_LIT365_data " case Values.INTEGER() then "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT365,28,_OMC_LIT365_data);
#define _OMC_LIT365 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT365)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT366,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT365}};
#define _OMC_LIT366 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT366)
#define _OMC_LIT367_data ".integer; end match"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT367,19,_OMC_LIT367_data);
#define _OMC_LIT367 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT367)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT368,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT367}};
#define _OMC_LIT368 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT368)
#define _OMC_LIT369_data " case Values.BOOL() then "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT369,25,_OMC_LIT369_data);
#define _OMC_LIT369 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT369)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT370,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT369}};
#define _OMC_LIT370 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT370)
#define _OMC_LIT371_data ".boolean; end match"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT371,19,_OMC_LIT371_data);
#define _OMC_LIT371 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT371)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT372,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT371}};
#define _OMC_LIT372 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT372)
#define _OMC_LIT373_data " case Values.REAL() then "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT373,25,_OMC_LIT373_data);
#define _OMC_LIT373 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT373)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT374,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT373}};
#define _OMC_LIT374 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT374)
#define _OMC_LIT375_data ".real; end match"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT375,16,_OMC_LIT375_data);
#define _OMC_LIT375 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT375)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT376,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT375}};
#define _OMC_LIT376 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT376)
#define _OMC_LIT377_data "list("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT377,5,_OMC_LIT377_data);
#define _OMC_LIT377 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT377)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT378,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT377}};
#define _OMC_LIT378 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT378)
#define _OMC_LIT379_data "_iter"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT379,5,_OMC_LIT379_data);
#define _OMC_LIT379 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT379)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT380,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT379}};
#define _OMC_LIT380 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT380)
#define _OMC_LIT381_data " for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT381,5,_OMC_LIT381_data);
#define _OMC_LIT381 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT381)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT382,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT381}};
#define _OMC_LIT382 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT382)
#define _OMC_LIT383_data "_iter in ValuesUtil.arrayValues("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT383,32,_OMC_LIT383_data);
#define _OMC_LIT383 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT383)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT384,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT383}};
#define _OMC_LIT384 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT384)
#define _OMC_LIT385_data "))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT385,2,_OMC_LIT385_data);
#define _OMC_LIT385 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT385)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT386,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT385}};
#define _OMC_LIT386 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT386)
#define _OMC_LIT387_data "ValuesUtil.valString("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT387,21,_OMC_LIT387_data);
#define _OMC_LIT387 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT387)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT388,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT387}};
#define _OMC_LIT388 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT388)
#define _OMC_LIT389_data "Values.STRING("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT389,14,_OMC_LIT389_data);
#define _OMC_LIT389 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT389)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT390,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT389}};
#define _OMC_LIT390 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT390)
#define _OMC_LIT391_data "Values.INTEGER("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT391,15,_OMC_LIT391_data);
#define _OMC_LIT391 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT391)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT392,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT391}};
#define _OMC_LIT392 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT392)
#define _OMC_LIT393_data "Values.BOOL("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT393,12,_OMC_LIT393_data);
#define _OMC_LIT393 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT393)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT394,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT393}};
#define _OMC_LIT394 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT394)
#define _OMC_LIT395_data "Values.REAL("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT395,12,_OMC_LIT395_data);
#define _OMC_LIT395 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT395)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT396,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT395}};
#define _OMC_LIT396 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT396)
#define _OMC_LIT397_data "Values.Value "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT397,13,_OMC_LIT397_data);
#define _OMC_LIT397 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT397)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT398,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT397}};
#define _OMC_LIT398 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT398)
#define _OMC_LIT399_data "_arr;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT399,5,_OMC_LIT399_data);
#define _OMC_LIT399 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT399)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT400,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT399}};
#define _OMC_LIT400 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT400)
#define _OMC_LIT401_data " := "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT401,4,_OMC_LIT401_data);
#define _OMC_LIT401 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT401)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT402,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT401}};
#define _OMC_LIT402 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT402)
#define _OMC_LIT403_data "_arr"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT403,4,_OMC_LIT403_data);
#define _OMC_LIT403 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT403)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT404,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT403}};
#define _OMC_LIT404 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT404)
#define _OMC_LIT405_data "Absyn.Path "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT405,11,_OMC_LIT405_data);
#define _OMC_LIT405 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT405)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT406,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT405}};
#define _OMC_LIT406 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT406)
#define _OMC_LIT407_data "_path;"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT407,6,_OMC_LIT407_data);
#define _OMC_LIT407 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT407)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT408,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT407}};
#define _OMC_LIT408 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT408)
#define _OMC_LIT409_data " := AbsynUtil.pathString("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT409,25,_OMC_LIT409_data);
#define _OMC_LIT409 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT409)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT410,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT409}};
#define _OMC_LIT410 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT410)
#define _OMC_LIT411_data "_path);"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT411,7,_OMC_LIT411_data);
#define _OMC_LIT411 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT411)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT412,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT411}};
#define _OMC_LIT412 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT412)
#define _OMC_LIT413_data "Values.CODE(Absyn.C_TYPENAME(path="
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT413,34,_OMC_LIT413_data);
#define _OMC_LIT413 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT413)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT414,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT413}};
#define _OMC_LIT414 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT414)
#define _OMC_LIT415_data "_path))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT415,7,_OMC_LIT415_data);
#define _OMC_LIT415 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT415)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT416,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT415}};
#define _OMC_LIT416 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT416)
#define _OMC_LIT417_data "getOutValue failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT417,23,_OMC_LIT417_data);
#define _OMC_LIT417 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT417)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT418,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT417}};
#define _OMC_LIT418 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT418)
#define _OMC_LIT419_data "ValuesMake.makeArray(list("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT419,26,_OMC_LIT419_data);
#define _OMC_LIT419 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT419)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT420,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT419}};
#define _OMC_LIT420 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT420)
#define _OMC_LIT421_data "_iter in "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT421,9,_OMC_LIT421_data);
#define _OMC_LIT421 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT421)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT422,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT421}};
#define _OMC_LIT422 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT422)
#define _OMC_LIT423_data "Values.CODE(Absyn.C_TYPENAME(Parser.stringPath("
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT423,47,_OMC_LIT423_data);
#define _OMC_LIT423 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT423)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT424,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT423}};
#define _OMC_LIT424 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT424)
#define _OMC_LIT425_data ")))"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT425,3,_OMC_LIT425_data);
#define _OMC_LIT425 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT425)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT426,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT425}};
#define _OMC_LIT426 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT426)
#define _OMC_LIT427_data "getInValue failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT427,22,_OMC_LIT427_data);
#define _OMC_LIT427 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT427)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT428,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT427}};
#define _OMC_LIT428 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT428)
#define _OMC_LIT429_data "String"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT429,6,_OMC_LIT429_data);
#define _OMC_LIT429 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT429)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT430,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT429}};
#define _OMC_LIT430 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT430)
#define _OMC_LIT431_data "Integer"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT431,7,_OMC_LIT431_data);
#define _OMC_LIT431 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT431)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT432,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT431}};
#define _OMC_LIT432 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT432)
#define _OMC_LIT433_data "Boolean"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT433,7,_OMC_LIT433_data);
#define _OMC_LIT433 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT433)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT434,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT433}};
#define _OMC_LIT434 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT434)
#define _OMC_LIT435_data "Real"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT435,4,_OMC_LIT435_data);
#define _OMC_LIT435 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT435)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT436,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT435}};
#define _OMC_LIT436 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT436)
#define _OMC_LIT437_data "list<"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT437,5,_OMC_LIT437_data);
#define _OMC_LIT437 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT437)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT438,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT437}};
#define _OMC_LIT438 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT438)
#define _OMC_LIT439_data ">"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT439,1,_OMC_LIT439_data);
#define _OMC_LIT439 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT439)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT440,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT439}};
#define _OMC_LIT440 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT440)
#define _OMC_LIT441_data "getInType failed for "
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT441,21,_OMC_LIT441_data);
#define _OMC_LIT441 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT441)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT442,2,4) {&Tpl_StringToken_ST__STRING__desc,_OMC_LIT441}};
#define _OMC_LIT442 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT442)
#define _OMC_LIT443_data "import Absyn;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT443,14,_OMC_LIT443_data);
#define _OMC_LIT443 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT443)
#define _OMC_LIT444_data "import AbsynUtil;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT444,18,_OMC_LIT444_data);
#define _OMC_LIT444 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT444)
#define _OMC_LIT445_data "import CevalScript;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT445,20,_OMC_LIT445_data);
#define _OMC_LIT445 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT445)
#define _OMC_LIT446_data "import Parser;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT446,15,_OMC_LIT446_data);
#define _OMC_LIT446 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT446)
#define _OMC_LIT447_data "import Values;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT447,15,_OMC_LIT447_data);
#define _OMC_LIT447 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT447)
#define _OMC_LIT448_data "import ValuesMake;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT448,19,_OMC_LIT448_data);
#define _OMC_LIT448 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT448)
#define _OMC_LIT449_data "import ValuesUtil;\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT449,19,_OMC_LIT449_data);
#define _OMC_LIT449 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT449)
#define _OMC_LIT450_data "constant Absyn.Msg dummyMsg = Absyn.MSG(SOURCEINFO(\"<interactive>\",false,1,1,1,1,0.0));\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT450,88,_OMC_LIT450_data);
#define _OMC_LIT450 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT450)
#define _OMC_LIT451_data "public\n"
static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT451,7,_OMC_LIT451_data);
#define _OMC_LIT451 MMC_REFSTRINGLIT(_OMC_LIT_STRUCT451)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT452,2,1) {_OMC_LIT451,_OMC_LIT15}};
#define _OMC_LIT452 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT452)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT453,2,1) {_OMC_LIT12,_OMC_LIT452}};
#define _OMC_LIT453 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT453)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT454,2,1) {_OMC_LIT450,_OMC_LIT453}};
#define _OMC_LIT454 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT454)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT455,2,1) {_OMC_LIT449,_OMC_LIT454}};
#define _OMC_LIT455 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT455)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT456,2,1) {_OMC_LIT448,_OMC_LIT455}};
#define _OMC_LIT456 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT456)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT457,2,1) {_OMC_LIT447,_OMC_LIT456}};
#define _OMC_LIT457 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT457)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT458,2,1) {_OMC_LIT12,_OMC_LIT457}};
#define _OMC_LIT458 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT458)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT459,2,1) {_OMC_LIT342,_OMC_LIT458}};
#define _OMC_LIT459 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT459)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT460,2,1) {_OMC_LIT12,_OMC_LIT459}};
#define _OMC_LIT460 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT460)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT461,2,1) {_OMC_LIT446,_OMC_LIT460}};
#define _OMC_LIT461 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT461)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT462,2,1) {_OMC_LIT445,_OMC_LIT461}};
#define _OMC_LIT462 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT462)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT463,2,1) {_OMC_LIT444,_OMC_LIT462}};
#define _OMC_LIT463 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT463)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT464,2,1) {_OMC_LIT443,_OMC_LIT463}};
#define _OMC_LIT464 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT464)
static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT465,3,6) {&Tpl_StringToken_ST__STRING__LIST__desc,_OMC_LIT464,MMC_IMMEDIATE(MMC_TAGFIXNUM(1 /* true */))}};
#define _OMC_LIT465 MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT465)
#include "util/modelica.h"

#include "GenerateAPIFunctionsTpl_includes.h"


/* default, do not make protected functions static */
#if !defined(PROTECTED_FUNCTION_STATIC)
#define PROTECTED_FUNCTION_STATIC
#endif
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__93(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArg);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__93,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__93,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__93 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__93)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__92,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__92,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__92 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__92)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_commandLog, modelica_string _in_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_commandLog, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__91,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__91,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__91 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__91)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__90(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_postCall, modelica_metatype _in_a_outArg, modelica_metatype _in_a_responseLog, modelica_string _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_postCall, modelica_metatype *out_out_a_outArg, modelica_metatype *out_out_a_responseLog, modelica_metatype *out_out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__90,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__90,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__90 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__90)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__89(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FpostCall, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype _a_res, modelica_metatype *out_a_postCall, modelica_metatype *out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__89,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__89,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__89 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__89)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__88(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__88,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__88,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__88 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__88)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__87(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype *out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__87,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__87,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__87 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__87)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_responseLog, modelica_metatype *out_out_a_responseLog);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__85,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__85,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__85 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__85)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_shortName, modelica_metatype _in_a_mm);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__83,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__83,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__83 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__83)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__81(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_shortName, modelica_metatype _in_a_varDecl, modelica_metatype _in_a_postCall, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_shortName, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postCall);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__81,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__81,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__81 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__81)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__79(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_commandLog, modelica_metatype *out_out_a_commandLog);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__79,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__79,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__79 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__79)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__77,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__77,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__77 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__77)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__75,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__75,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__75 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__75)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_string _in_a_name, modelica_string _in_a_prefix, modelica_boolean _in_a_addStructs);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_name, modelica_metatype _in_a_prefix, modelica_metatype _in_a_addStructs);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__73,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__73,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__73 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__73)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_addStructs, modelica_metatype _in_a_res, modelica_metatype _in_a_types, modelica_string _in_a_name, modelica_string _in_a_prefix);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_addStructs, modelica_metatype _in_a_res, modelica_metatype _in_a_types, modelica_metatype _in_a_name, modelica_metatype _in_a_prefix);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__72,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__72,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__72 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__72)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__71(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype _a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__71,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__71,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__71 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__71)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__70(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype _a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__70,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__70,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__70 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__70)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__69(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__69,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__69,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__69 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__69)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_res, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_name);
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_res, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__67,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__67,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__67 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__67)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__62(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_string _a_className);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__62,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__62,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__62 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__62)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__60(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_string _a_classNameWithColons);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__60,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__60,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__60 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__60)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__58,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__58,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__58 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__58)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__57,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__57,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__57 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__57)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__56(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__56,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__56,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__56 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__56)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__55(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__55,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__55,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__55 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__55)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_postMatch, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_postMatch, modelica_metatype *out_out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__54,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__54,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__54 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__54)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__53(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FpostMatch, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype *out_a_postMatch, modelica_metatype *out_a_varDecl);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__53,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__53,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__53 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__53)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__52(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__52,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__52,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__52 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__52)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__50,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__50,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__50 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__50)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype _in_a_postMatch, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postMatch);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__48,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__48,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__48 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__48)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__46,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_fun__46,0}};
#define boxvar_GenerateAPIFunctionsTpl_fun__46 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_fun__46)
PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__43(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items);
static const MMC_DEFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__43,2,0) {(void*) boxptr_GenerateAPIFunctionsTpl_lm__43,0}};
#define boxvar_GenerateAPIFunctionsTpl_lm__43 MMC_REFSTRUCTLIT(boxvar_lit_GenerateAPIFunctionsTpl_lm__43)

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInterfaceFunc(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_name, modelica_metatype _a_args, modelica_metatype _a_res, modelica_string _a_className)
{
  modelica_metatype _out_txt = NULL;
  modelica_boolean _ret_12;
  modelica_integer _ret_11;
  modelica_boolean _ret_10;
  modelica_integer _ret_9;
  modelica_metatype _l_outArgs = NULL;
  modelica_metatype _l_outArg = NULL;
  modelica_metatype _ret_6 = NULL;
  modelica_metatype _txt_5 = NULL;
  modelica_metatype _l_commandLog = NULL;
  modelica_metatype _l_inArgs = NULL;
  modelica_metatype _l_postCall = NULL;
  modelica_metatype _l_responseLog = NULL;
  modelica_metatype _l_varDecl = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _ret_12 has no default value.
  // _ret_11 has no default value.
  // _ret_10 has no default value.
  // _ret_9 has no default value.
  // _l_outArgs has no default value.
  // _l_outArg has no default value.
  // _ret_6 has no default value.
  // _txt_5 has no default value.
  // _l_commandLog has no default value.
  // _l_inArgs has no default value.
  // _l_postCall has no default value.
  // _l_responseLog has no default value.
  // _l_varDecl has no default value.
  _l_varDecl = _OMC_LIT0;

  _l_responseLog = _OMC_LIT0;

  _l_postCall = _OMC_LIT0;

  _l_inArgs = omc_GenerateAPIFunctionsTpl_lm__87(threadData, _OMC_LIT0, _a_args, _l_varDecl ,&_l_varDecl);

  _l_commandLog = _OMC_LIT0;

  _txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT2);

  _txt_5 = omc_Tpl_writeTok(threadData, _txt_5, _OMC_LIT3);

  _ret_6 = omc_Tpl_textStrTok(threadData, _txt_5);

  tmpMeta1 = mmc_mk_box9(3, &Tpl_IterOptions_ITER__OPTIONS__desc, mmc_mk_integer(((modelica_integer) 0)), mmc_mk_none(), mmc_mk_some(_ret_6), mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT3, mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT3);
  _l_commandLog = omc_Tpl_pushIter(threadData, _l_commandLog, tmpMeta1);

  _l_commandLog = omc_GenerateAPIFunctionsTpl_lm__88(threadData, _l_commandLog, _a_args);

  _l_commandLog = omc_Tpl_popIter(threadData, _l_commandLog);

  _l_outArg = _OMC_LIT0;

  _l_outArgs = omc_GenerateAPIFunctionsTpl_fun__90(threadData, _OMC_LIT0, _a_res, _l_postCall, _l_outArg, _l_responseLog, _a_name, _l_varDecl ,&_l_postCall ,&_l_outArg ,&_l_responseLog ,&_l_varDecl);

  _out_txt = omc_GenerateAPIFunctionsTpl_getQtInterfaceHeader(threadData, _txt, _a_name, _a_className, _a_args, _a_res, _a_className, 0 /* false */);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT10);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _ret_9 = listLength(_a_args);

  _ret_10 = (_ret_9 > ((modelica_integer) 0));

  _out_txt = omc_GenerateAPIFunctionsTpl_fun__91(threadData, _out_txt, _ret_10, _l_commandLog, _a_name);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_varDecl);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT19);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outArg);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT21);

  _out_txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT23);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inArgs);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outArgs);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT25);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_postCall);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT29);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT31);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT33);

  _out_txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT35);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT41);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_responseLog);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT43);

  _ret_11 = listLength(_a_args);

  _ret_12 = (_ret_11 > ((modelica_integer) 0));

  _out_txt = omc_GenerateAPIFunctionsTpl_fun__92(threadData, _out_txt, _ret_12, _a_name);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3);

  _out_txt = omc_GenerateAPIFunctionsTpl_fun__93(threadData, _out_txt, _l_outArg);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT45);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__93(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_outArg)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_outArg;
    {
      modelica_metatype _txt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT47);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_string _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_string tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT49);

          _txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT51);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT49);

          _txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT53);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__92(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_name)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__92(threadData, _in_txt, tmp1, _in_a_name);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_mArg, modelica_metatype _in_a_commandLog, modelica_string _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_string tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_mArg;
    tmp4_3 = _in_a_commandLog;
    tmp4_4 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_commandLog = NULL;
      modelica_string _a_name = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_commandLog has no default value.
      // _a_name has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);

          _txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT57);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_commandLog = tmp4_3;
          _a_name = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT59);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT55);

          _txt = omc_CodegenUtil_replaceDotAndUnderscore(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT61);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__91(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_mArg, modelica_metatype _in_a_commandLog, modelica_metatype _in_a_name)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_mArg);
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__91(threadData, _in_txt, tmp1, _in_a_commandLog, _in_a_name);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__90(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_postCall, modelica_metatype _in_a_outArg, modelica_metatype _in_a_responseLog, modelica_string _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_postCall, modelica_metatype *out_out_a_outArg, modelica_metatype *out_out_a_responseLog, modelica_metatype *out_out_a_varDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_postCall = NULL;
  modelica_metatype _out_a_outArg = NULL;
  modelica_metatype _out_a_responseLog = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_postCall has no default value.
  // _out_a_outArg has no default value.
  // _out_a_responseLog has no default value.
  // _out_a_varDecl has no default value.
  
  
  
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_string tmp4_6;modelica_metatype tmp4_7;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_res;
    tmp4_3 = _in_a_postCall;
    tmp4_4 = _in_a_outArg;
    tmp4_5 = _in_a_responseLog;
    tmp4_6 = _in_a_name;
    tmp4_7 = _in_a_varDecl;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_postCall = NULL;
      modelica_metatype _a_outArg = NULL;
      modelica_metatype _a_responseLog = NULL;
      modelica_string _a_name = NULL;
      modelica_metatype _a_varDecl = NULL;
      modelica_metatype _i_res = NULL;
      modelica_metatype _i_types2 = NULL;
      modelica_metatype _i_type1 = NULL;
      modelica_metatype _i_t = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_postCall has no default value.
      // _a_outArg has no default value.
      // _a_responseLog has no default value.
      // _a_name has no default value.
      // _a_varDecl has no default value.
      // _i_res has no default value.
      // _i_types2 has no default value.
      // _i_type1 has no default value.
      // _i_t has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_postCall = tmp4_3;
          _a_outArg = tmp4_4;
          _a_responseLog = tmp4_5;
          _a_varDecl = tmp4_7;
          /* Pattern matching succeeded */
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postCall;
          tmpMeta[0+2] = _a_outArg;
          tmpMeta[0+3] = _a_responseLog;
          tmpMeta[0+4] = _a_varDecl;
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          modelica_metatype tmpMeta7;
          modelica_metatype tmpMeta8;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (listEmpty(tmpMeta6)) goto tmp3_end;
          tmpMeta7 = MMC_CAR(tmpMeta6);
          tmpMeta8 = MMC_CDR(tmpMeta6);
          
          _i_t = tmp4_2;
          _i_type1 = tmpMeta7;
          _i_types2 = tmpMeta8;
          _txt = tmp4_1;
          _a_postCall = tmp4_3;
          _a_outArg = tmp4_4;
          _a_responseLog = tmp4_5;
          _a_name = tmp4_6;
          _a_varDecl = tmp4_7;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeStr(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT63);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_responseLog = omc_GenerateAPIFunctionsTpl_getQtResponseLogText(threadData, _a_responseLog, omc_Tpl_strTokText(threadData, _OMC_LIT65), _i_t, omc_Tpl_strTokText(threadData, _OMC_LIT67), NULL, NULL);

          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT69);

          _txt_0 = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt_0, _i_t, ((modelica_integer) 1));

          _a_outArg = omc_GenerateAPIFunctionsTpl_getQtOutArg(threadData, _a_outArg, _txt_0, omc_Tpl_strTokText(threadData, _OMC_LIT71), _i_type1, _a_varDecl, _a_postCall ,&_txt_0 ,NULL ,&_a_varDecl ,&_a_postCall);

          _a_outArg = omc_Tpl_writeTok(threadData, _a_outArg, _OMC_LIT73);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT74);

          _txt = omc_GenerateAPIFunctionsTpl_lm__89(threadData, _txt, _i_types2, _a_postCall, _a_varDecl, _i_t ,&_a_postCall ,&_a_varDecl);

          _txt = omc_Tpl_popIter(threadData, _txt);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postCall;
          tmpMeta[0+2] = _a_outArg;
          tmpMeta[0+3] = _a_responseLog;
          tmpMeta[0+4] = _a_varDecl;
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          _i_res = tmp4_2;
          _a_postCall = tmp4_3;
          _a_outArg = tmp4_4;
          _a_responseLog = tmp4_5;
          _a_varDecl = tmp4_7;
          /* Pattern matching succeeded */
          _a_varDecl = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _a_varDecl, _i_res);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT76);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_responseLog = omc_GenerateAPIFunctionsTpl_getQtResponseLogText(threadData, _a_responseLog, omc_Tpl_strTokText(threadData, _OMC_LIT65), _i_res, omc_Tpl_strTokText(threadData, _OMC_LIT67), NULL, NULL);

          _a_outArg = omc_GenerateAPIFunctionsTpl_getQtOutArg(threadData, _a_outArg, omc_Tpl_strTokText(threadData, _OMC_LIT65), omc_Tpl_strTokText(threadData, _OMC_LIT65), _i_res, _a_varDecl, _a_postCall ,NULL ,NULL ,&_a_varDecl ,&_a_postCall);

          _a_outArg = omc_Tpl_writeTok(threadData, _a_outArg, _OMC_LIT73);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postCall;
          tmpMeta[0+2] = _a_outArg;
          tmpMeta[0+3] = _a_responseLog;
          tmpMeta[0+4] = _a_varDecl;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_postCall = tmpMeta[0+1];
  _out_a_outArg = tmpMeta[0+2];
  _out_a_responseLog = tmpMeta[0+3];
  _out_a_varDecl = tmpMeta[0+4];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_postCall) { *out_out_a_postCall = _out_a_postCall; }
  if (out_out_a_outArg) { *out_out_a_outArg = _out_a_outArg; }
  if (out_out_a_responseLog) { *out_out_a_responseLog = _out_a_responseLog; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__89(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FpostCall, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype _a_res, modelica_metatype *out_a_postCall, modelica_metatype *out_a_varDecl)
{
  modelica_metatype _txt = NULL;
  modelica_metatype _a_postCall = NULL;
  modelica_metatype _a_varDecl = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta7;
  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  _a_postCall = __omcQ_24in_5Fa_5FpostCall;
  _a_varDecl = __omcQ_24in_5Fa_5FvarDecl;
  {
    modelica_metatype _lstElt_89;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_89 = MMC_CAR(tmpMeta1);
      
      
      
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_89;
        {
          modelica_integer _x_i1;
          modelica_metatype _i_t = NULL;
          modelica_metatype _txt_1 = NULL;
          modelica_metatype _txt_0 = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _x_i1 has no default value.
          // _i_t has no default value.
          // _txt_1 has no default value.
          // _txt_0 has no default value.
          tmp5 = 0;
          for (; tmp5 < 1; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              
              _i_t = tmp5_1;
              /* Pattern matching succeeded */
              _x_i1 = omc_Tpl_getIteri__i0(threadData, _txt);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT78);

              _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT69);

              _txt_0 = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt_0, _a_res, _x_i1);

              _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT80);

              _txt_1 = omc_Tpl_writeStr(threadData, _txt_1, intString(_x_i1));

              _txt = omc_GenerateAPIFunctionsTpl_getQtOutArg(threadData, _txt, _txt_0, _txt_1, _i_t, _a_varDecl, _a_postCall ,&_txt_0 ,&_txt_1 ,&_a_varDecl ,&_a_postCall);

              _txt = omc_Tpl_nextIter(threadData, _txt);
              tmpMeta[0+0] = _txt;
              tmpMeta[0+1] = _a_postCall;
              tmpMeta[0+2] = _a_varDecl;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta[0+0];
      _a_postCall = tmpMeta[0+1];
      _a_varDecl = tmpMeta[0+2];
    }
  }
  _return: OMC_LABEL_UNUSED
  if (out_a_postCall) { *out_a_postCall = _a_postCall; }
  if (out_a_varDecl) { *out_a_varDecl = _a_varDecl; }
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__88(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta9;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_88;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_88 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_88;
        {
          modelica_metatype _i_arg_ty = NULL;
          modelica_string _i_arg_name = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_arg_ty has no default value.
          // _i_arg_name has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              
              _i_arg_name = tmpMeta7;
              _i_arg_ty = tmpMeta8;
              /* Pattern matching succeeded */
              _txt = omc_GenerateAPIFunctionsTpl_getQtCommandLogText(threadData, _txt, omc_Tpl_stringText(threadData, _i_arg_name), _i_arg_ty, omc_Tpl_strTokText(threadData, _OMC_LIT82), NULL, NULL);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__87(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype *out_a_varDecl)
{
  modelica_metatype _txt = NULL;
  modelica_metatype _a_varDecl = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta9;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  _a_varDecl = __omcQ_24in_5Fa_5FvarDecl;
  {
    modelica_metatype _lstElt_87;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_87 = MMC_CAR(tmpMeta1);
      
      
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_87;
        {
          modelica_metatype _i_arg_ty = NULL;
          modelica_string _i_arg_name = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_arg_ty has no default value.
          // _i_arg_name has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              
              _i_arg_name = tmpMeta7;
              _i_arg_ty = tmpMeta8;
              /* Pattern matching succeeded */
              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);

              _txt = omc_GenerateAPIFunctionsTpl_getQtInArg(threadData, _txt, omc_Tpl_stringText(threadData, _i_arg_name), _i_arg_ty, _a_varDecl ,NULL ,&_a_varDecl);
              tmpMeta[0+0] = _txt;
              tmpMeta[0+1] = _a_varDecl;
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta[0+0] = _txt;
              tmpMeta[0+1] = _a_varDecl;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta[0+0];
      _a_varDecl = tmpMeta[0+1];
    }
  }
  _return: OMC_LABEL_UNUSED
  if (out_a_varDecl) { *out_a_varDecl = _a_varDecl; }
  return _txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtResponseLogText(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype _a_responseLog, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_responseLog)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_responseLog = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_responseLog has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__85(threadData, _txt, _a_ty, _a_name, _a_responseLog ,&_out_a_responseLog);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_responseLog) { *out_out_a_responseLog = _out_a_responseLog; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__85(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_responseLog, modelica_metatype *out_out_a_responseLog)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_responseLog = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_responseLog has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_responseLog;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_responseLog = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_2 = NULL;
      modelica_string _ret_2 = NULL;
      modelica_metatype _l_counter = NULL;
      modelica_metatype _l_elt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_responseLog has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_2 has no default value.
      // _ret_2 has no default value.
      // _l_counter has no default value.
      // _l_elt has no default value.
      tmp4 = 0;
      for (; tmp4 < 8; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT90);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT92);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT100);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 6: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta7;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _l_elt = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_elt = omc_Tpl_writeTok(threadData, _l_elt, _OMC_LIT102);

          _l_counter = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_counter = omc_Tpl_writeTok(threadData, _l_counter, _OMC_LIT104);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT114);

          _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_aty_ty);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT122);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_GenerateAPIFunctionsTpl_getQtResponseLogText(threadData, _txt, _l_elt, _i_aty_ty, _a_responseLog ,&_l_elt ,&_a_responseLog);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT125);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_responseLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT127);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        case 7: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_responseLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT129);

          _ret_2 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_2 = omc_Tpl_writeStr(threadData, _txt_2, _ret_2);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 416), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_2));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_responseLog;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_responseLog = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_responseLog) { *out_out_a_responseLog = _out_a_responseLog; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtOutArgArray(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_shortName, modelica_metatype _a_mm, modelica_metatype _a_ty, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_shortName, modelica_metatype *out_out_a_mm)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_shortName = NULL;
  modelica_metatype _out_a_mm = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_shortName has no default value.
  // _out_a_mm has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__83(threadData, _txt, _a_ty, _a_name, _a_shortName, _a_mm);

  _out_a_name = _a_name;

  _out_a_shortName = _a_shortName;

  _out_a_mm = _a_mm;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_shortName) { *out_out_a_shortName = _out_a_shortName; }
  if (out_out_a_mm) { *out_out_a_mm = _out_a_mm; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__83(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_shortName, modelica_metatype _in_a_mm)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_shortName;
    tmp4_5 = _in_a_mm;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_shortName = NULL;
      modelica_metatype _a_mm = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_2 = NULL;
      modelica_string _ret_2 = NULL;
      modelica_metatype _txt_1 = NULL;
      modelica_metatype _l_elt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_shortName has no default value.
      // _a_mm has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_2 has no default value.
      // _ret_2 has no default value.
      // _txt_1 has no default value.
      // _l_elt has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT132);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT134);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT136);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT138);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta7;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_mm = tmp4_5;
          /* Pattern matching succeeded */
          _l_elt = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_shortName);

          _l_elt = omc_Tpl_writeTok(threadData, _l_elt, _OMC_LIT102);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT143);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT145);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_aty_ty);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT147);

          _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT149);

          _txt_1 = omc_Tpl_writeText(threadData, _txt_1, _a_mm);

          _txt_1 = omc_Tpl_writeTok(threadData, _txt_1, _OMC_LIT151);

          _txt = omc_GenerateAPIFunctionsTpl_getQtOutArgArray(threadData, _txt, _l_elt, _l_elt, _txt_1, _i_aty_ty ,NULL ,&_l_elt ,&_txt_1);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT153);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT25);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT155);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_mm);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT25);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT45);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT157);

          _ret_2 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_2 = omc_Tpl_writeStr(threadData, _txt_2, _ret_2);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 389), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_2));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtOutArg(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_shortName, modelica_metatype _a_ty, modelica_metatype _a_varDecl, modelica_metatype _a_postCall, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_shortName, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postCall)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_shortName = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype _out_a_postCall = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_shortName has no default value.
  // _out_a_varDecl has no default value.
  // _out_a_postCall has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__81(threadData, _txt, _a_ty, _a_name, _a_shortName, _a_varDecl, _a_postCall ,&_out_a_name ,&_out_a_shortName ,&_out_a_varDecl ,&_out_a_postCall);
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_shortName) { *out_out_a_shortName = _out_a_shortName; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  if (out_out_a_postCall) { *out_out_a_postCall = _out_a_postCall; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__81(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_shortName, modelica_metatype _in_a_varDecl, modelica_metatype _in_a_postCall, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_shortName, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postCall)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_shortName = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype _out_a_postCall = NULL;
  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_shortName has no default value.
  // _out_a_varDecl has no default value.
  // _out_a_postCall has no default value.
  
  
  
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;modelica_metatype tmp4_6;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_shortName;
    tmp4_5 = _in_a_varDecl;
    tmp4_6 = _in_a_postCall;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_shortName = NULL;
      modelica_metatype _a_varDecl = NULL;
      modelica_metatype _a_postCall = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty = NULL;
      modelica_metatype _txt_1 = NULL;
      modelica_string _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_shortName has no default value.
      // _a_varDecl has no default value.
      // _a_postCall has no default value.
      // _i_ty has no default value.
      // _i_aty has no default value.
      // _txt_1 has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT159);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_shortName);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT161);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_postCall = omc_Tpl_writeText(threadData, _a_postCall, _a_name);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT163);

          _a_postCall = omc_Tpl_writeText(threadData, _a_postCall, _a_shortName);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT165);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT3);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_shortName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT159);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_shortName);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT161);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_postCall = omc_Tpl_writeText(threadData, _a_postCall, _a_name);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT163);

          _a_postCall = omc_Tpl_writeText(threadData, _a_postCall, _a_shortName);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT165);

          _a_postCall = omc_Tpl_writeTok(threadData, _a_postCall, _OMC_LIT3);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_shortName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          
          _i_aty = tmp4_2;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT159);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_shortName);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT161);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _txt_0 = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_shortName);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT167);

          _a_postCall = omc_GenerateAPIFunctionsTpl_getQtOutArgArray(threadData, _a_postCall, _a_name, _a_shortName, _txt_0, _i_aty ,&_a_name ,&_a_shortName ,&_txt_0);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_shortName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT167);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_name = tmp4_3;
          _a_shortName = tmp4_4;
          _a_varDecl = tmp4_5;
          _a_postCall = tmp4_6;
          /* Pattern matching succeeded */
          _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT169);

          _ret_1 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 367), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          tmpMeta[0+2] = _a_shortName;
          tmpMeta[0+3] = _a_varDecl;
          tmpMeta[0+4] = _a_postCall;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_name = tmpMeta[0+1];
  _out_a_shortName = tmpMeta[0+2];
  _out_a_varDecl = tmpMeta[0+3];
  _out_a_postCall = tmpMeta[0+4];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_shortName) { *out_out_a_shortName = _out_a_shortName; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  if (out_out_a_postCall) { *out_out_a_postCall = _out_a_postCall; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtCommandLogText(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype _a_commandLog, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_commandLog)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_commandLog = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_commandLog has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__79(threadData, _txt, _a_ty, _a_name, _a_commandLog ,&_out_a_commandLog);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_commandLog) { *out_out_a_commandLog = _out_a_commandLog; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__79(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_commandLog, modelica_metatype *out_out_a_commandLog)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_commandLog = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_commandLog has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_commandLog;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_commandLog = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_2 = NULL;
      modelica_string _ret_2 = NULL;
      modelica_metatype _l_counter = NULL;
      modelica_metatype _l_elt = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_commandLog has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_2 has no default value.
      // _ret_2 has no default value.
      // _l_counter has no default value.
      // _l_elt has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT90);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT92);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta7;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _l_elt = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_elt = omc_Tpl_writeTok(threadData, _l_elt, _OMC_LIT102);

          _l_counter = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_counter = omc_Tpl_writeTok(threadData, _l_counter, _OMC_LIT104);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT114);

          _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_aty_ty);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT122);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_GenerateAPIFunctionsTpl_getQtCommandLogText(threadData, _txt, _l_elt, _i_aty_ty, _a_commandLog ,&_l_elt ,&_a_commandLog);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT125);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_commandLog);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT127);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_commandLog = tmp4_4;
          /* Pattern matching succeeded */
          _txt_2 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT171);

          _ret_2 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_2 = omc_Tpl_writeStr(threadData, _txt_2, _ret_2);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 349), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_2));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_commandLog;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_commandLog = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_commandLog) { *out_out_a_commandLog = _out_a_commandLog; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInArgBoxed(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype *out_out_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__77(threadData, _txt, _a_ty, _a_name);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__77(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _txt_0 = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _i_ty has no default value.
      // _txt_0 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_name);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_name);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeText(threadData, _txt, _a_name);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT173);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT173);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 5: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT175);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT177);

          _ret_0 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 323), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInArg(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype _a_varDecl, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_varDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_varDecl has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__75(threadData, _txt, _a_ty, _a_name, _a_varDecl ,&_out_a_varDecl);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__75(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_varDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_varDecl has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_varDecl;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_varDecl = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_5 = NULL;
      modelica_string _ret_5 = NULL;
      modelica_metatype _l_i = NULL;
      modelica_metatype _txt_3 = NULL;
      modelica_metatype _l_body = NULL;
      modelica_metatype _l_elt = NULL;
      modelica_metatype _l_varDecl2 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_varDecl has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_5 has no default value.
      // _ret_5 has no default value.
      // _l_i has no default value.
      // _txt_3 has no default value.
      // _l_body has no default value.
      // _l_elt has no default value.
      // _l_varDecl2 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT179);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT181);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT183);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT185);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT187);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT179);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT181);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT183);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT185);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT187);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta7;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _l_varDecl2 = _OMC_LIT0;

          _l_elt = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_elt = omc_Tpl_writeTok(threadData, _l_elt, _OMC_LIT102);

          _txt_3 = omc_GenerateAPIFunctionsTpl_getQtInArg(threadData, _OMC_LIT0, _l_elt, _i_aty_ty, _l_varDecl2 ,&_l_elt ,&_l_varDecl2);

          _l_body = omc_GenerateAPIFunctionsTpl_getQtInArgBoxed(threadData, _OMC_LIT0, _txt_3, _i_aty_ty ,&_txt_3);

          _l_i = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _l_i = omc_Tpl_writeTok(threadData, _l_i, _OMC_LIT104);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT159);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT192);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_i);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT73);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT194);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_i);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT196);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_i);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT198);

          _a_varDecl = omc_Tpl_pushBlock(threadData, _a_varDecl, _OMC_LIT11);

          _a_varDecl = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _a_varDecl, _i_aty_ty);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT116);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_elt);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT73);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT200);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_i);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT202);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_varDecl2);

          _a_varDecl = omc_Tpl_softNewLine(threadData, _a_varDecl);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT204);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _l_body);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT84);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT206);

          _a_varDecl = omc_Tpl_popBlock(threadData, _a_varDecl);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT45);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT208);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt_5 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT210);

          _ret_5 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_5 = omc_Tpl_writeStr(threadData, _txt_5, _ret_5);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 311), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_5));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_varDecl = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInterfaceHeader(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_name, modelica_string _a_prefix, modelica_metatype _a_args, modelica_metatype _a_res, modelica_string _a_className, modelica_boolean _a_addStructs)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_outType = NULL;
  modelica_metatype _l_inTypes = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_outType has no default value.
  // _l_inTypes has no default value.
  _l_inTypes = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT212);

  _l_inTypes = omc_GenerateAPIFunctionsTpl_lm__69(threadData, _l_inTypes, _a_args);

  _l_inTypes = omc_Tpl_popIter(threadData, _l_inTypes);

  _l_outType = omc_GenerateAPIFunctionsTpl_fun__73(threadData, _OMC_LIT0, _a_res, _a_name, _a_prefix, _a_addStructs);

  _out_txt = omc_Tpl_writeText(threadData, _txt, _l_outType);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT116);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_prefix);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT214);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inTypes);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT151);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_GenerateAPIFunctionsTpl_getQtInterfaceHeader(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_prefix, modelica_metatype _a_args, modelica_metatype _a_res, modelica_metatype _a_className, modelica_metatype _a_addStructs)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_a_addStructs);
  _out_txt = omc_GenerateAPIFunctionsTpl_getQtInterfaceHeader(threadData, _txt, _a_name, _a_prefix, _a_args, _a_res, _a_className, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_string _in_a_name, modelica_string _in_a_prefix, modelica_boolean _in_a_addStructs)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_string tmp4_3;modelica_string tmp4_4;modelica_boolean tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_res;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_prefix;
    tmp4_5 = _in_a_addStructs;
    {
      modelica_metatype _txt = NULL;
      modelica_string _a_name = NULL;
      modelica_string _a_prefix = NULL;
      modelica_boolean _a_addStructs;
      modelica_metatype _i_res = NULL;
      modelica_metatype _i_types = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_prefix has no default value.
      // _a_addStructs has no default value.
      // _i_res has no default value.
      // _i_types has no default value.
      tmp4 = 0;
      for (; tmp4 < 3; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_res = tmp4_2;
          _i_types = tmpMeta6;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_prefix = tmp4_4;
          _a_addStructs = tmp4_5;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_GenerateAPIFunctionsTpl_fun__72(threadData, _txt, _a_addStructs, _i_res, _i_types, _a_name, _a_prefix);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT216);
          goto tmp3_done;
        }
        case 2: {
          
          _txt = tmp4_1;
          _i_res = tmp4_2;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_res);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__73(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_name, modelica_metatype _in_a_prefix, modelica_metatype _in_a_addStructs)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_addStructs);
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__73(threadData, _in_txt, _in_a_res, _in_a_name, _in_a_prefix, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_boolean _in_a_addStructs, modelica_metatype _in_a_res, modelica_metatype _in_a_types, modelica_string _in_a_name, modelica_string _in_a_prefix)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_boolean tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_string tmp4_5;modelica_string tmp4_6;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_addStructs;
    tmp4_3 = _in_a_res;
    tmp4_4 = _in_a_types;
    tmp4_5 = _in_a_name;
    tmp4_6 = _in_a_prefix;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_res = NULL;
      modelica_metatype _a_types = NULL;
      modelica_string _a_name = NULL;
      modelica_string _a_prefix = NULL;
      modelica_metatype _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_res has no default value.
      // _a_types has no default value.
      // _a_name has no default value.
      // _a_prefix has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (0 /* false */ != tmp4_2) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_5;
          _a_prefix = tmp4_6;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeStr(threadData, _txt, _a_prefix);

          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT218);
          goto tmp3_done;
        }
        case 1: {
          modelica_metatype tmpMeta6;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_types = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT220);

          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT222);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT224);

          _txt = omc_GenerateAPIFunctionsTpl_lm__70(threadData, _txt, _a_types, _a_res);

          _txt = omc_Tpl_popIter(threadData, _txt);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT229);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT3);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT231);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT3);

          _ret_1 = omc_Tpl_textStrTok(threadData, _txt_0);

          tmpMeta6 = mmc_mk_box9(3, &Tpl_IterOptions_ITER__OPTIONS__desc, mmc_mk_integer(((modelica_integer) 1)), mmc_mk_none(), mmc_mk_some(_ret_1), mmc_mk_integer(((modelica_integer) 0)), mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT3, mmc_mk_integer(((modelica_integer) 0)), _OMC_LIT3);
          _txt = omc_Tpl_pushIter(threadData, _txt, tmpMeta6);

          _txt = omc_GenerateAPIFunctionsTpl_lm__71(threadData, _txt, _a_types, _a_res);

          _txt = omc_Tpl_popIter(threadData, _txt);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT236);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT238);

          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT240);

          _txt = omc_Tpl_writeStr(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT218);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__72(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_addStructs, modelica_metatype _in_a_res, modelica_metatype _in_a_types, modelica_metatype _in_a_name, modelica_metatype _in_a_prefix)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_addStructs);
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__72(threadData, _in_txt, tmp1, _in_a_res, _in_a_types, _in_a_name, _in_a_prefix);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__71(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype _a_res)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta7;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_71;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_71 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_71;
        {
          modelica_integer _x_i;
          modelica_metatype _i_ty = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _x_i has no default value.
          // _i_ty has no default value.
          tmp5 = 0;
          for (; tmp5 < 1; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              
              _i_ty = tmp5_1;
              /* Pattern matching succeeded */
              _x_i = omc_Tpl_getIteri__i0(threadData, _txt);

              _txt = omc_GenerateAPIFunctionsTpl_structToString(threadData, _txt, _a_res, _i_ty, _x_i, omc_Tpl_strTokText(threadData, _OMC_LIT242), NULL);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__70(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype _a_res)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta7;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_70;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_70 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_70;
        {
          modelica_integer _x_i;
          modelica_metatype _i_ty = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _x_i has no default value.
          // _i_ty has no default value.
          tmp5 = 0;
          for (; tmp5 < 1; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              
              _i_ty = tmp5_1;
              /* Pattern matching succeeded */
              _x_i = omc_Tpl_getIteri__i0(threadData, _txt);

              _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_ty);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

              _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _x_i);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__69(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta9;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_69;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_69 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_69;
        {
          modelica_string _i_arg_name = NULL;
          modelica_metatype _i_arg_ty = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_arg_name has no default value.
          // _i_arg_ty has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              
              _i_arg_name = tmpMeta7;
              _i_arg_ty = tmpMeta8;
              /* Pattern matching succeeded */
              _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_arg_ty);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

              _txt = omc_Tpl_writeStr(threadData, _txt, _i_arg_name);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_structToString(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_res, modelica_metatype _a_ty, modelica_integer _a_index, modelica_metatype _a_name, modelica_metatype *out_out_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__67(threadData, _txt, _a_ty, _a_res, _a_index, _a_name ,&_out_a_name);
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  return _out_txt;
}
modelica_metatype boxptr_GenerateAPIFunctionsTpl_structToString(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_res, modelica_metatype _a_ty, modelica_metatype _a_index, modelica_metatype _a_name, modelica_metatype *out_out_a_name)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_a_index);
  _out_txt = omc_GenerateAPIFunctionsTpl_structToString(threadData, _txt, _a_res, _a_ty, tmp1, _a_name, out_out_a_name);
  /* skip box _out_txt; Tpl.Text */
  /* skip box _out_a_name; Tpl.Text */
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_res, modelica_integer _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_integer tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_res;
    tmp4_4 = _in_a_index;
    tmp4_5 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_res = NULL;
      modelica_integer _a_index;
      modelica_metatype _a_name = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_3 = NULL;
      modelica_string _ret_3 = NULL;
      modelica_metatype _l_counter = NULL;
      modelica_metatype _l_elt = NULL;
      modelica_metatype _l_varName = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_res has no default value.
      // _a_index has no default value.
      // _a_name has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_3 has no default value.
      // _ret_3 has no default value.
      // _l_counter has no default value.
      // _l_elt has no default value.
      // _l_varName has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _a_index);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT88);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT90);

          _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _a_index);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT92);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _a_index);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT94);

          _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _a_index);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT96);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT86);

          _txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _txt, _a_res, _a_index);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT98);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta7;
          _txt = tmp4_1;
          _a_res = tmp4_3;
          _a_index = tmp4_4;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _l_varName = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _OMC_LIT0, _a_res, _a_index);

          _l_elt = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_varName);

          _l_elt = omc_Tpl_writeTok(threadData, _l_elt, _OMC_LIT102);

          _l_counter = omc_Tpl_writeText(threadData, _OMC_LIT0, _l_varName);

          _l_counter = omc_Tpl_writeTok(threadData, _l_counter, _OMC_LIT104);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT109);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT114);

          _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_aty_ty);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_elt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT84);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_varName);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT120);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT118);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT122);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_GenerateAPIFunctionsTpl_getQtResponseLogText(threadData, _txt, _l_elt, _i_aty_ty, _a_name ,&_l_elt ,&_a_name);

          _txt = omc_Tpl_softNewLine(threadData, _txt);

          _txt = omc_Tpl_writeText(threadData, _txt, _l_counter);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT125);

          _txt = omc_Tpl_popBlock(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT123);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT127);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_name = tmp4_5;
          /* Pattern matching succeeded */
          _txt_3 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT246);

          _ret_3 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_3 = omc_Tpl_writeStr(threadData, _txt_3, _ret_3);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 256), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_3));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_name;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_name = tmpMeta[0+1];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  return _out_txt;
}
PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_GenerateAPIFunctionsTpl_fun__67(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_res, modelica_metatype _in_a_index, modelica_metatype _in_a_name, modelica_metatype *out_out_a_name)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_index);
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__67(threadData, _in_txt, _in_a_ty, _in_a_res, tmp1, _in_a_name, out_out_a_name);
  /* skip box _out_txt; Tpl.Text */
  /* skip box _out_a_name; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_integer _in_a_index)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_index;
    {
      modelica_metatype _txt = NULL;
      modelica_integer _a_index;
      modelica_metatype _i_names = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_index has no default value.
      // _i_names has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
          
          _i_names = tmpMeta6;
          _txt = tmp4_1;
          _a_index = tmp4_3;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputNameHelper(threadData, _txt, _i_names, _a_index);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_index = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_index)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_index);
  _out_txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputName(threadData, _in_txt, _in_a_ty, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputNameHelper(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_names, modelica_integer _in_a_index)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_integer tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_names;
    tmp4_3 = _in_a_index;
    {
      modelica_metatype _txt = NULL;
      modelica_integer _a_index;
      modelica_metatype _i_lst = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_index has no default value.
      // _i_lst has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (optionNone(tmp4_2)) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
          
          _i_lst = tmpMeta6;
          _txt = tmp4_1;
          _a_index = tmp4_3;
          /* Pattern matching succeeded */
          _ret_0 = listGet(_i_lst, _a_index);
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, _ret_0);
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _a_index = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT248);
          tmpMeta1 = omc_Tpl_writeStr(threadData, _txt, intString(_a_index));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}
modelica_metatype boxptr_GenerateAPIFunctionsTpl_getQtTupleTypeOutputNameHelper(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_names, modelica_metatype _in_a_index)
{
  modelica_integer tmp1;
  modelica_metatype _out_txt = NULL;
  tmp1 = mmc_unbox_integer(_in_a_index);
  _out_txt = omc_GenerateAPIFunctionsTpl_getQtTupleTypeOutputNameHelper(threadData, _in_txt, _in_a_names, tmp1);
  /* skip box _out_txt; Tpl.Text */
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_0 = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_0 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT250);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT252);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT254);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT256);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT258);

          _txt = omc_GenerateAPIFunctionsTpl_getQtType(threadData, _txt, _i_aty_ty);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT260);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT250);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT262);

          _ret_0 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 211), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInterfaceHeaders(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_tys, modelica_string _a_className)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_heads = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_heads has no default value.
  _l_heads = omc_GenerateAPIFunctionsTpl_lm__62(threadData, _OMC_LIT0, _a_tys, _a_className);

  _out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT283);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_className);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT293);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_className);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT295);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_heads);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT311);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__62(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_string _a_className)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta10;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_62;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_62 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_62;
        {
          modelica_metatype _i_ty_funcResultType = NULL;
          modelica_metatype _i_ty_funcArg = NULL;
          modelica_metatype _i_path = NULL;
          modelica_string _ret_0 = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_ty_funcResultType has no default value.
          // _i_ty_funcArg has no default value.
          // _i_path has no default value.
          // _ret_0 has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              modelica_metatype tmpMeta9;
              if (mmc__uniontype__metarecord__typedef__equal(tmp5_1,11,4) == 0) goto tmp4_end;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 5));
              _i_ty_funcArg = tmpMeta7;
              _i_ty_funcResultType = tmpMeta8;
              _i_path = tmpMeta9;
              /* Pattern matching succeeded */
              _ret_0 = omc_AbsynUtil_pathLastIdent(threadData, _i_path);

              _txt = omc_GenerateAPIFunctionsTpl_getQtInterfaceHeader(threadData, _txt, _ret_0, _OMC_LIT312, _i_ty_funcArg, _i_ty_funcResultType, _a_className, 1 /* true */);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
              tmpMeta2 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getQtInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_tys, modelica_string _a_classNameWithColons, modelica_string _a_className)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_funcs = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_funcs has no default value.
  _l_funcs = omc_GenerateAPIFunctionsTpl_lm__60(threadData, _OMC_LIT0, _a_tys, _a_classNameWithColons);

  _out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT319);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_classNameWithColons);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_className);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT326);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_funcs);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__60(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_string _a_classNameWithColons)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta10;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_60;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_60 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_60;
        {
          modelica_metatype _i_ty_funcResultType = NULL;
          modelica_metatype _i_ty_funcArg = NULL;
          modelica_metatype _i_path = NULL;
          modelica_string _ret_0 = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_ty_funcResultType has no default value.
          // _i_ty_funcArg has no default value.
          // _i_path has no default value.
          // _ret_0 has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              modelica_metatype tmpMeta9;
              if (mmc__uniontype__metarecord__typedef__equal(tmp5_1,11,4) == 0) goto tmp4_end;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 5));
              _i_ty_funcArg = tmpMeta7;
              _i_ty_funcResultType = tmpMeta8;
              _i_path = tmpMeta9;
              /* Pattern matching succeeded */
              _ret_0 = omc_AbsynUtil_pathLastIdent(threadData, _i_path);

              _txt = omc_GenerateAPIFunctionsTpl_getQtInterfaceFunc(threadData, _txt, _ret_0, _i_ty_funcArg, _i_ty_funcResultType, _a_classNameWithColons);
              tmpMeta2 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getCevalScriptInterfaceFunc(threadData_t *threadData, modelica_metatype _txt, modelica_string _a_name, modelica_metatype _a_args, modelica_metatype _a_res)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_outVals = NULL;
  modelica_metatype _l_inVals = NULL;
  modelica_metatype _l_postMatch = NULL;
  modelica_metatype _l_varDecl = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_outVals has no default value.
  // _l_inVals has no default value.
  // _l_postMatch has no default value.
  // _l_varDecl has no default value.
  _l_varDecl = _OMC_LIT0;

  _l_postMatch = _OMC_LIT0;

  _l_inVals = omc_Tpl_pushIter(threadData, _OMC_LIT0, _OMC_LIT212);

  _l_inVals = omc_GenerateAPIFunctionsTpl_lm__52(threadData, _l_inVals, _a_args);

  _l_inVals = omc_Tpl_popIter(threadData, _l_inVals);

  _l_outVals = omc_GenerateAPIFunctionsTpl_fun__54(threadData, _OMC_LIT0, _a_res, _l_postMatch, _l_varDecl ,&_l_postMatch ,&_l_varDecl);

  _out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT328);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _out_txt = omc_Tpl_pushIter(threadData, _out_txt, _OMC_LIT329);

  _out_txt = omc_GenerateAPIFunctionsTpl_lm__55(threadData, _out_txt, _a_args);

  _out_txt = omc_Tpl_popIter(threadData, _out_txt);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_GenerateAPIFunctionsTpl_fun__57(threadData, _out_txt, _a_res);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_GenerateAPIFunctionsTpl_fun__58(threadData, _out_txt, _l_varDecl);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT331);

  _out_txt = omc_Tpl_pushBlock(threadData, _out_txt, _OMC_LIT11);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT333);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_outVals);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT335);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT337);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_inVals);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT339);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_postMatch);

  _out_txt = omc_Tpl_softNewLine(threadData, _out_txt);

  _out_txt = omc_Tpl_popBlock(threadData, _out_txt);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT341);

  _out_txt = omc_Tpl_writeStr(threadData, _out_txt, _a_name);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT244);

  _out_txt = omc_Tpl_writeTok(threadData, _out_txt, _OMC_LIT3);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__58(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_varDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_varDecl;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_varDecl = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_varDecl has no default value.
      tmp4 = 0;
      for (; tmp4 < 2; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (!listEmpty(tmpMeta6)) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        case 1: {
          
          _txt = tmp4_1;
          _i_varDecl = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT343);

          _txt = omc_Tpl_pushBlock(threadData, _txt, _OMC_LIT11);

          _txt = omc_Tpl_writeText(threadData, _txt, _i_varDecl);
          tmpMeta1 = omc_Tpl_popBlock(threadData, _txt);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__57(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_res;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_res = NULL;
      modelica_metatype _i_types = NULL;
      int tmp4;
      // _txt has no default value.
      // _i_res has no default value.
      // _i_types has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 17: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_types = tmpMeta5;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT224);

          _txt = omc_GenerateAPIFunctionsTpl_lm__56(threadData, _txt, _i_types);
          tmpMeta1 = omc_Tpl_popIter(threadData, _txt);
          goto tmp3_done;
        }
        case 10: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = _txt;
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _i_res = tmp4_2;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);

          _txt = omc_GenerateAPIFunctionsTpl_getInType(threadData, _txt, _i_res);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT347);
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__56(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta7;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_56;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_56 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_56;
        {
          modelica_integer _x_i;
          modelica_metatype _i_ty = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _x_i has no default value.
          // _i_ty has no default value.
          tmp5 = 0;
          for (; tmp5 < 1; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              
              _i_ty = tmp5_1;
              /* Pattern matching succeeded */
              _x_i = omc_Tpl_getIteri__i0(threadData, _txt);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT345);

              _txt = omc_GenerateAPIFunctionsTpl_getInType(threadData, _txt, _i_ty);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT349);

              _txt = omc_Tpl_writeStr(threadData, _txt, intString(_x_i));

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__55(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta9;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_55;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_55 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_55;
        {
          modelica_string _i_arg_name = NULL;
          modelica_metatype _i_arg_ty = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_arg_name has no default value.
          // _i_arg_ty has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              
              _i_arg_name = tmpMeta7;
              _i_arg_ty = tmpMeta8;
              /* Pattern matching succeeded */
              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT351);

              _txt = omc_GenerateAPIFunctionsTpl_getInType(threadData, _txt, _i_arg_ty);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT116);

              _txt = omc_Tpl_writeStr(threadData, _txt, _i_arg_name);

              _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT244);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__54(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_res, modelica_metatype _in_a_postMatch, modelica_metatype _in_a_varDecl, modelica_metatype *out_out_a_postMatch, modelica_metatype *out_out_a_varDecl)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_postMatch = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_postMatch has no default value.
  // _out_a_varDecl has no default value.
  
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_res;
    tmp4_3 = _in_a_postMatch;
    tmp4_4 = _in_a_varDecl;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_postMatch = NULL;
      modelica_metatype _a_varDecl = NULL;
      modelica_metatype _i_res = NULL;
      modelica_metatype _i_types = NULL;
      int tmp4;
      // _txt has no default value.
      // _a_postMatch has no default value.
      // _a_varDecl has no default value.
      // _i_res has no default value.
      // _i_types has no default value.
      {
        switch (MMC_SWITCH_CAST(valueConstructor(tmp4_2))) {
        case 17: {
          modelica_metatype tmpMeta5;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,2) == 0) goto tmp3_end;
          tmpMeta5 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_types = tmpMeta5;
          _txt = tmp4_1;
          _a_postMatch = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT353);

          _txt = omc_Tpl_pushIter(threadData, _txt, _OMC_LIT354);

          _txt = omc_GenerateAPIFunctionsTpl_lm__53(threadData, _txt, _i_types, _a_postMatch, _a_varDecl ,&_a_postMatch ,&_a_varDecl);

          _txt = omc_Tpl_popIter(threadData, _txt);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT356);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postMatch;
          tmpMeta[0+2] = _a_varDecl;
          goto tmp3_done;
        }
        case 10: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,7,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_postMatch = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT358);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postMatch;
          tmpMeta[0+2] = _a_varDecl;
          goto tmp3_done;
        }
        default:
        tmp3_default: OMC_LABEL_UNUSED; {
          
          _txt = tmp4_1;
          _i_res = tmp4_2;
          _a_postMatch = tmp4_3;
          _a_varDecl = tmp4_4;
          /* Pattern matching succeeded */
          _txt = omc_GenerateAPIFunctionsTpl_getOutValue(threadData, _txt, omc_Tpl_strTokText(threadData, _OMC_LIT248), _i_res, _a_varDecl, _a_postMatch ,NULL ,&_a_varDecl ,&_a_postMatch);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_postMatch;
          tmpMeta[0+2] = _a_varDecl;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_postMatch = tmpMeta[0+1];
  _out_a_varDecl = tmpMeta[0+2];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_postMatch) { *out_out_a_postMatch = _out_a_postMatch; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__53(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items, modelica_metatype __omcQ_24in_5Fa_5FpostMatch, modelica_metatype __omcQ_24in_5Fa_5FvarDecl, modelica_metatype *out_a_postMatch, modelica_metatype *out_a_varDecl)
{
  modelica_metatype _txt = NULL;
  modelica_metatype _a_postMatch = NULL;
  modelica_metatype _a_varDecl = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta7;
  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  _a_postMatch = __omcQ_24in_5Fa_5FpostMatch;
  _a_varDecl = __omcQ_24in_5Fa_5FvarDecl;
  {
    modelica_metatype _lstElt_53;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_53 = MMC_CAR(tmpMeta1);
      
      
      
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_53;
        {
          modelica_integer _x_i;
          modelica_metatype _i_ty = NULL;
          modelica_metatype _txt_0 = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _x_i has no default value.
          // _i_ty has no default value.
          // _txt_0 has no default value.
          tmp5 = 0;
          for (; tmp5 < 1; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              
              _i_ty = tmp5_1;
              /* Pattern matching succeeded */
              _x_i = omc_Tpl_getIteri__i0(threadData, _txt);

              _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT248);

              _txt_0 = omc_Tpl_writeStr(threadData, _txt_0, intString(_x_i));

              _txt = omc_GenerateAPIFunctionsTpl_getOutValue(threadData, _txt, _txt_0, _i_ty, _a_varDecl, _a_postMatch ,&_txt_0 ,&_a_varDecl ,&_a_postMatch);

              _txt = omc_Tpl_nextIter(threadData, _txt);
              tmpMeta[0+0] = _txt;
              tmpMeta[0+1] = _a_postMatch;
              tmpMeta[0+2] = _a_varDecl;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta[0+0];
      _a_postMatch = tmpMeta[0+1];
      _a_varDecl = tmpMeta[0+2];
    }
  }
  _return: OMC_LABEL_UNUSED
  if (out_a_postMatch) { *out_a_postMatch = _a_postMatch; }
  if (out_a_varDecl) { *out_a_varDecl = _a_varDecl; }
  return _txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__52(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta9;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_52;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_52 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_52;
        {
          modelica_metatype _i_arg_ty = NULL;
          modelica_string _i_arg_name = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_arg_ty has no default value.
          // _i_arg_name has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              
              _i_arg_name = tmpMeta7;
              _i_arg_ty = tmpMeta8;
              /* Pattern matching succeeded */
              _txt = omc_GenerateAPIFunctionsTpl_getInValue(threadData, _txt, omc_Tpl_stringText(threadData, _i_arg_name), _i_arg_ty, NULL);
              tmpMeta2 = omc_Tpl_nextIter(threadData, _txt);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getOutValueArray(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype *out_out_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__50(threadData, _txt, _a_ty, _a_name);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__50(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_1 = NULL;
      modelica_string _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_1 has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT362);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT364);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT366);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT368);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT370);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT372);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT360);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT374);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT376);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta6;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT378);

          _txt_0 = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT380);

          _txt = omc_GenerateAPIFunctionsTpl_getOutValueArray(threadData, _txt, _txt_0, _i_aty_ty ,&_txt_0);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT382);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT384);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT388);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT157);

          _ret_1 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 117), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getOutValue(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype _a_varDecl, modelica_metatype _a_postMatch, modelica_metatype *out_out_a_name, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postMatch)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype _out_a_postMatch = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  // _out_a_varDecl has no default value.
  // _out_a_postMatch has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__48(threadData, _txt, _a_ty, _a_name, _a_varDecl, _a_postMatch ,&_out_a_varDecl ,&_out_a_postMatch);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  if (out_out_a_postMatch) { *out_out_a_postMatch = _out_a_postMatch; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__48(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name, modelica_metatype _in_a_varDecl, modelica_metatype _in_a_postMatch, modelica_metatype *out_out_a_varDecl, modelica_metatype *out_out_a_postMatch)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_varDecl = NULL;
  modelica_metatype _out_a_postMatch = NULL;
  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_varDecl has no default value.
  // _out_a_postMatch has no default value.
  
  
  
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;modelica_metatype tmp4_4;modelica_metatype tmp4_5;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    tmp4_4 = _in_a_varDecl;
    tmp4_5 = _in_a_postMatch;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _a_varDecl = NULL;
      modelica_metatype _a_postMatch = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty = NULL;
      modelica_metatype _txt_1 = NULL;
      modelica_string _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _a_varDecl has no default value.
      // _a_postMatch has no default value.
      // _i_ty has no default value.
      // _i_aty has no default value.
      // _txt_1 has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT390);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT394);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT396);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 4: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          
          _i_aty = tmp4_2;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT398);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT400);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_postMatch = omc_Tpl_writeText(threadData, _a_postMatch, _a_name);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT402);

          _txt_0 = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT404);

          _a_postMatch = omc_GenerateAPIFunctionsTpl_getOutValueArray(threadData, _a_postMatch, _txt_0, _i_aty ,&_txt_0);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT244);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT3);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT404);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta6,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT406);

          _a_varDecl = omc_Tpl_writeText(threadData, _a_varDecl, _a_name);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT408);

          _a_varDecl = omc_Tpl_writeTok(threadData, _a_varDecl, _OMC_LIT3);

          _a_postMatch = omc_Tpl_writeText(threadData, _a_postMatch, _a_name);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT410);

          _a_postMatch = omc_Tpl_writeText(threadData, _a_postMatch, _a_name);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT412);

          _a_postMatch = omc_Tpl_writeTok(threadData, _a_postMatch, _OMC_LIT3);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT414);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT416);
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          _a_varDecl = tmp4_4;
          _a_postMatch = tmp4_5;
          /* Pattern matching succeeded */
          _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT418);

          _ret_1 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);

          _txt = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 103), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
          tmpMeta[0+0] = _txt;
          tmpMeta[0+1] = _a_varDecl;
          tmpMeta[0+2] = _a_postMatch;
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta[0+0];
  _out_a_varDecl = tmpMeta[0+1];
  _out_a_postMatch = tmpMeta[0+2];
  _return: OMC_LABEL_UNUSED
  if (out_out_a_varDecl) { *out_out_a_varDecl = _out_a_varDecl; }
  if (out_out_a_postMatch) { *out_out_a_postMatch = _out_a_postMatch; }
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getInValue(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_name, modelica_metatype _a_ty, modelica_metatype *out_out_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _out_a_name = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _out_a_name has no default value.
  _out_txt = omc_GenerateAPIFunctionsTpl_fun__46(threadData, _txt, _a_ty, _a_name);

  _out_a_name = _a_name;
  _return: OMC_LABEL_UNUSED
  if (out_out_a_name) { *out_out_a_name = _out_a_name; }
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_fun__46(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty, modelica_metatype _in_a_name)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;modelica_metatype tmp4_3;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    tmp4_3 = _in_a_name;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _a_name = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_1 = NULL;
      modelica_string _ret_1 = NULL;
      modelica_metatype _txt_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _a_name has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_1 has no default value.
      // _ret_1 has no default value.
      // _txt_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT390);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT392);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT394);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT396);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT151);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta6;
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT420);

          _txt_0 = omc_Tpl_writeText(threadData, _OMC_LIT0, _a_name);

          _txt_0 = omc_Tpl_writeTok(threadData, _txt_0, _OMC_LIT380);

          _txt = omc_GenerateAPIFunctionsTpl_getInValue(threadData, _txt, _txt_0, _i_aty_ty ,&_txt_0);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT382);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);

          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT422);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT386);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          _a_name = tmp4_3;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT424);

          _txt = omc_Tpl_writeText(threadData, _txt, _a_name);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT426);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_1 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT428);

          _ret_1 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_1 = omc_Tpl_writeStr(threadData, _txt_1, _ret_1);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 84), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_1));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getInType(threadData_t *threadData, modelica_metatype _in_txt, modelica_metatype _in_a_ty)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype tmpMeta1;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  { /* match expression */
    modelica_metatype tmp4_1;modelica_metatype tmp4_2;
    tmp4_1 = _in_txt;
    tmp4_2 = _in_a_ty;
    {
      modelica_metatype _txt = NULL;
      modelica_metatype _i_ty = NULL;
      modelica_metatype _i_aty_ty = NULL;
      modelica_metatype _txt_0 = NULL;
      modelica_string _ret_0 = NULL;
      volatile mmc_switch_type tmp4;
      int tmp5;
      // _txt has no default value.
      // _i_ty has no default value.
      // _i_aty_ty has no default value.
      // _txt_0 has no default value.
      // _ret_0 has no default value.
      tmp4 = 0;
      for (; tmp4 < 7; tmp4++) {
        switch (MMC_SWITCH_CAST(tmp4)) {
        case 0: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT430);
          goto tmp3_done;
        }
        case 1: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT432);
          goto tmp3_done;
        }
        case 2: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT434);
          goto tmp3_done;
        }
        case 3: {
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,1) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT436);
          goto tmp3_done;
        }
        case 4: {
          modelica_metatype tmpMeta6;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,2) == 0) goto tmp3_end;
          tmpMeta6 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          
          _i_aty_ty = tmpMeta6;
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          _txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT438);

          _txt = omc_GenerateAPIFunctionsTpl_getInType(threadData, _txt, _i_aty_ty);
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT440);
          goto tmp3_done;
        }
        case 5: {
          modelica_metatype tmpMeta7;
          if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,1) == 0) goto tmp3_end;
          tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
          if (mmc__uniontype__metarecord__typedef__equal(tmpMeta7,3,0) == 0) goto tmp3_end;
          
          _txt = tmp4_1;
          /* Pattern matching succeeded */
          tmpMeta1 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT430);
          goto tmp3_done;
        }
        case 6: {
          
          _txt = tmp4_1;
          _i_ty = tmp4_2;
          /* Pattern matching succeeded */
          _txt_0 = omc_Tpl_writeTok(threadData, _OMC_LIT0, _OMC_LIT442);

          _ret_0 = omc_TypesDump_unparseType(threadData, _i_ty);

          _txt_0 = omc_Tpl_writeStr(threadData, _txt_0, _ret_0);
          tmpMeta1 = omc_CodegenUtil_error(threadData, _txt, omc_Tpl_sourceInfo(threadData, _OMC_LIT130, ((modelica_integer) 72), ((modelica_integer) 16)), omc_Tpl_textString(threadData, _txt_0));
          goto tmp3_done;
        }
        }
        goto tmp3_end;
        tmp3_end: ;
      }
      goto goto_2;
      goto_2:;
      MMC_THROW_INTERNAL();
      goto tmp3_done;
      tmp3_done:;
    }
  }
  _out_txt = tmpMeta1;
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

DLLDirection
modelica_metatype omc_GenerateAPIFunctionsTpl_getCevalScriptInterface(threadData_t *threadData, modelica_metatype _txt, modelica_metatype _a_tys)
{
  modelica_metatype _out_txt = NULL;
  modelica_metatype _l_funcs = NULL;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  // _out_txt has no default value.
  // _l_funcs has no default value.
  _l_funcs = omc_GenerateAPIFunctionsTpl_lm__43(threadData, _OMC_LIT0, _a_tys);

  _out_txt = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT465);

  _out_txt = omc_Tpl_writeText(threadData, _out_txt, _l_funcs);
  _return: OMC_LABEL_UNUSED
  return _out_txt;
}

PROTECTED_FUNCTION_STATIC modelica_metatype omc_GenerateAPIFunctionsTpl_lm__43(threadData_t *threadData, modelica_metatype __omcQ_24in_5Ftxt, modelica_metatype _items)
{
  modelica_metatype _txt = NULL;
  modelica_metatype tmpMeta1;
  modelica_metatype tmpMeta2;
  modelica_metatype tmpMeta10;
  MMC_SO();
  _tailrecursive: OMC_LABEL_UNUSED
  _txt = __omcQ_24in_5Ftxt;
  {
    modelica_metatype _lstElt_43;
    for (tmpMeta1 = _items; !listEmpty(tmpMeta1); tmpMeta1=MMC_CDR(tmpMeta1))
    {
      _lstElt_43 = MMC_CAR(tmpMeta1);
      { /* match expression */
        modelica_metatype tmp5_1;
        tmp5_1 = _lstElt_43;
        {
          modelica_metatype _i_ty_funcResultType = NULL;
          modelica_metatype _i_ty_funcArg = NULL;
          modelica_metatype _i_path = NULL;
          modelica_string _ret_0 = NULL;
          volatile mmc_switch_type tmp5;
          int tmp6;
          // _i_ty_funcResultType has no default value.
          // _i_ty_funcArg has no default value.
          // _i_path has no default value.
          // _ret_0 has no default value.
          tmp5 = 0;
          for (; tmp5 < 2; tmp5++) {
            switch (MMC_SWITCH_CAST(tmp5)) {
            case 0: {
              modelica_metatype tmpMeta7;
              modelica_metatype tmpMeta8;
              modelica_metatype tmpMeta9;
              if (mmc__uniontype__metarecord__typedef__equal(tmp5_1,11,4) == 0) goto tmp4_end;
              tmpMeta7 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 2));
              tmpMeta8 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 3));
              tmpMeta9 = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp5_1), 5));
              _i_ty_funcArg = tmpMeta7;
              _i_ty_funcResultType = tmpMeta8;
              _i_path = tmpMeta9;
              /* Pattern matching succeeded */
              _ret_0 = omc_AbsynUtil_pathLastIdent(threadData, _i_path);

              _txt = omc_GenerateAPIFunctionsTpl_getCevalScriptInterfaceFunc(threadData, _txt, _ret_0, _i_ty_funcArg, _i_ty_funcResultType);
              tmpMeta2 = omc_Tpl_writeTok(threadData, _txt, _OMC_LIT3);
              goto tmp4_done;
            }
            case 1: {
              
              /* Pattern matching succeeded */
              tmpMeta2 = _txt;
              goto tmp4_done;
            }
            }
            goto tmp4_end;
            tmp4_end: ;
          }
          goto goto_3;
          goto_3:;
          MMC_THROW_INTERNAL();
          goto tmp4_done;
          tmp4_done:;
        }
      }
      _txt = tmpMeta2;
    }
  }
  _return: OMC_LABEL_UNUSED
  return _txt;
}

