/* Generated by Nim Compiler v0.20.0 */
/*   (c) 2019 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w;
typedef struct tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ;
typedef struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w;
typedef struct RootObj RootObj;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw;
typedef struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ;
typedef struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ tySequence_XUL1TrMU0tgXmaMFCIYgFQ;
typedef struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA;
typedef struct tySequence_Ef05srmQTDulnBdXR4Ja6Q tySequence_Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA tySequence_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ tySequence_DfgJFJEYoj4YBAHLZPl5lQ;
typedef struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA;
typedef struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q;
typedef struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA;
typedef struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA;
typedef struct tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA;
typedef struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g;
typedef struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w;
typedef struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ;
typedef struct tyObject_GcStack_7fytPA5bBsob6See21YMRA tyObject_GcStack_7fytPA5bBsob6See21YMRA;
typedef struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg;
typedef struct tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ;
typedef struct tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg;
typedef struct tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw;
typedef struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA;
typedef struct tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw;
typedef struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw;
typedef struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg;
typedef struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyTuple_ujsjpB2O9cjj3uDHsXbnSzg;
typedef struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg;
typedef struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ;
typedef struct tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg;
typedef struct tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg;
typedef struct tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ;
typedef struct tySequence_9brg1xNurxcus33lU4IE1Dw tySequence_9brg1xNurxcus33lU4IE1Dw;
typedef struct tyObject_Table_fdKWDDO1P17zvuQPReVgRA tyObject_Table_fdKWDDO1P17zvuQPReVgRA;
typedef struct tySequence_fdmz6VkIf1ewwrssKYqRFg tySequence_fdmz6VkIf1ewwrssKYqRFg;
typedef struct tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ;
typedef struct tySequence_kxu4GK0onha2t9bo86mdVAg tySequence_kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence_48JTohSgTy339bRxHzUD8KA tySequence_48JTohSgTy339bRxHzUD8KA;
typedef struct tyObject_IdentCachecolonObjectType__TzLHS09bRH9a0TYLs39cqcNaw tyObject_IdentCachecolonObjectType__TzLHS09bRH9a0TYLs39cqcNaw;
typedef struct tySequence_bWZXqEvLFwhLvAqSRoFNgQ tySequence_bWZXqEvLFwhLvAqSRoFNgQ;
typedef struct tyObject_IncrementalCtx_sdH7TnbKACuAzE7DBabnCA tyObject_IncrementalCtx_sdH7TnbKACuAzE7DBabnCA;
typedef struct tyObject_Table_IioUJGdqPI6xC7S7QF8MBw tyObject_Table_IioUJGdqPI6xC7S7QF8MBw;
typedef struct tySequence_Qr6E8eH7btq79cFKGaJfGLw tySequence_Qr6E8eH7btq79cFKGaJfGLw;
typedef struct tyObject_Table_G1v8c16HePOldLeucwe05Q tyObject_Table_G1v8c16HePOldLeucwe05Q;
typedef struct tySequence_fIB1rTQ55aFonoft9a9bmljQ tySequence_fIB1rTQ55aFonoft9a9bmljQ;
typedef struct tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA;
typedef struct tySequence_23SMqauuRsbDANhthj9bWlA tySequence_23SMqauuRsbDANhthj9bWlA;
typedef struct tyObject_Table_NttoEzoiq5CiphZe81oadg tyObject_Table_NttoEzoiq5CiphZe81oadg;
typedef struct tySequence_squ9b9bUH4OLHf6cEMrt6hVA tySequence_squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tyObject_Table_nagDFX4QHx0s6Fvma9blmSg tyObject_Table_nagDFX4QHx0s6Fvma9blmSg;
typedef struct tySequence_pHNq3oXj9av2sEUdqaqeZjw tySequence_pHNq3oXj9av2sEUdqaqeZjw;
typedef struct tySequence_PzqTLBFNawCGiqTk0UORYw tySequence_PzqTLBFNawCGiqTk0UORYw;
typedef struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_Target_9abOl5DLX8suLujOaHSvGzw tyObject_Target_9abOl5DLX8suLujOaHSvGzw;
typedef struct NimStringDesc NimStringDesc;
typedef struct tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tySequence_tNFrR3kRuS1FSwuiLGoSSA tySequence_tNFrR3kRuS1FSwuiLGoSSA;
typedef struct tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA;
typedef struct tySequence_7lEisrXlQEzwtUKW5pzRCw tySequence_7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence_Zi9cGbCWofbtABoHJ5RbLNQ tySequence_Zi9cGbCWofbtABoHJ5RbLNQ;
typedef struct tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg;
typedef struct tySequence_4eRCaZmrYLLw2k30GPTiMw tySequence_4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ tySequence_sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence_pK3qSsBZwdXd6qyUMkd5Jw tySequence_pK3qSsBZwdXd6qyUMkd5Jw;
typedef struct tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ;
typedef struct tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q;
typedef struct tySequence_8fytVdU59b5aj319cog2ztLw tySequence_8fytVdU59b5aj319cog2ztLw;
typedef struct tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg;
typedef struct tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw;
typedef struct tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w;
typedef struct tySequence_MvZmat48bhe9b6x9aUD58D5Q tySequence_MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyTuple_kN8up2W6YKc5YA9avn5mV5w tyTuple_kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyTuple_nsNHL3sm0TZE9bootw2pEXw tyTuple_nsNHL3sm0TZE9bootw2pEXw;
typedef struct tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA;
typedef struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg;
typedef struct tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple_1mtQ8sCEE7DbfIuQciv9b5Q tyTuple_1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple_xDU9bZmv1ZbZkJDaATBekIQ tyTuple_xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple_quA39a2QdEQU9cSEIUSibApQ tyTuple_quA39a2QdEQU9cSEIUSibApQ;
typedef struct tyTuple_EkGTYRWQ6y9cppXTlT8Xm5g tyTuple_EkGTYRWQ6y9cppXTlT8Xm5g;
typedef struct tyTuple_OJFzEczluV8Jmo9bRpBfkzw tyTuple_OJFzEczluV8Jmo9bRpBfkzw;
typedef struct tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw;
typedef struct tyTuple_F3gkSrMB1qp2Tvf9bixVXwg tyTuple_F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple_wcNatyuf8WOqAhGLhSvgiw tyTuple_wcNatyuf8WOqAhGLhSvgiw;
typedef struct tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg;
typedef struct tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g;
typedef struct tyTuple_euPCXX9bc3XzndEhYlqNS7g tyTuple_euPCXX9bc3XzndEhYlqNS7g;
typedef struct tyTuple_z822nu9bFF1AlQnLrHjdwpA tyTuple_z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw tyTuple_xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple_QeWl6B6ffS4pU6WWrtcrDw tyTuple_QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyTuple_zwpS6d6iewrdlBSTNFoyVA tyTuple_zwpS6d6iewrdlBSTNFoyVA;
typedef NU8 tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc_ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
tyEnum_TNimKind_jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag_v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc_ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc_WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w {
  RootObj Sup;
};
struct tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ {
tySequence_XUL1TrMU0tgXmaMFCIYgFQ* data;
NI counter;
NIM_BOOL isSorted;
};
struct tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw {
  tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w Sup;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module;
tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph;
tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config;
tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ sigConflicts;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA {
  RootObj Sup;
NI id;
};
typedef NU8 tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw;
struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA {
NI counter;
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* data;
};
typedef NU16 tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg;
struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
typedef NU64 tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU32 tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
typedef NU8 tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg;
typedef NU8 tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw;
typedef NU16 tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA;
struct tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA {
tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg k;
tyEnum_TStorageLoc_JK9cKMX3XnqHaUky9b6gkGEw storage;
tySet_tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* lode;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r;
};
struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw kind;
union{
struct {tySequence_Ef05srmQTDulnBdXR4Ja6Q* typeInstCache;
};
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* procInstCache;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* gcUnsafetyReason;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* transformedBody;
};
struct {tySequence_DXS6mEo7PVUFJkirsQ9bNQA* usedGenerics;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tab;
};
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* guard;
NI bitsize;
};
};
tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg magic;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* name;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw flags;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* ast;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
NI position;
NI offset;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TLib_NBMxlJ6g3utqUlplqTTHkA* annex;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* constraint;
};
struct tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g {
NI refcount;
TNimType* typ;
};
struct tyObject_GcStack_7fytPA5bBsob6See21YMRA {
void* bottom;
};
struct tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w {
NI len;
NI cap;
tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g** d;
};
typedef tyObject_SmallChunk_tXn60W2f8h3jgAYdEmy5NQ* tyArray_SiRwrEKZdLgxqz9a9aoVBglg[512];
typedef NU32 tyArray_BHbOSqU1t9b3Gt7K2c6fQig[24];
typedef tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* tyArray_N1u1nqOgmuJN9cSZrnMHgOQ[32];
typedef tyArray_N1u1nqOgmuJN9cSZrnMHgOQ tyArray_B6durA4ZCi1xjJvRtyYxMg[24];
typedef tyObject_Trunk_W0r8S0Y3UGke6T9bIUWnnuw* tyArray_lh2A89ahMmYg9bCmpVaplLbA[256];
struct tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA {
tyArray_lh2A89ahMmYg9bCmpVaplLbA data;
};
typedef tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* tyArray_0aOLqZchNi8nWtMTi8ND8w[2];
struct tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw {
tyArray_0aOLqZchNi8nWtMTi8ND8w link;
NI key;
NI upperBound;
NI level;
};
struct tyTuple_ujsjpB2O9cjj3uDHsXbnSzg {
tyObject_BigChunk_Rv9c70Uhp2TytkX7eH78qEg* Field0;
NI Field1;
};
typedef tyTuple_ujsjpB2O9cjj3uDHsXbnSzg tyArray_LzOv2eCDGiceMKQstCLmhw[30];
struct tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg {
NI len;
tyArray_LzOv2eCDGiceMKQstCLmhw chunks;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg* next;
};
struct tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg {
NI minLargeObj;
NI maxLargeObj;
tyArray_SiRwrEKZdLgxqz9a9aoVBglg freeSmallChunks;
NU32 flBitmap;
tyArray_BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
tyArray_B6durA4ZCi1xjJvRtyYxMg matrix;
tyObject_LLChunk_XsENErzHIZV9bhvyJx56wGw* llmem;
NI currMem;
NI maxMem;
NI freeMem;
NI occ;
NI lastSize;
tyObject_IntSet_EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* root;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* deleted;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* last;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
NIM_BOOL locked;
NIM_BOOL blockChunkSizeIncrease;
NI nextChunkSize;
tyObject_AvlNode_IaqjtwKhxLEpvDS9bct9blEw bottomData;
tyObject_HeapLinks_PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
};
struct tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg {
NI stackScans;
NI cycleCollections;
NI maxThreshold;
NI maxStackSize;
NI maxStackCells;
NI cycleTableSize;
NI64 maxPause;
};
struct tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ {
NI counter;
NI max;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg* head;
tyObject_PageDesc_fublkgIY4LG3mT51LU2WHg** data;
};
struct tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ {
tyObject_GcStack_7fytPA5bBsob6See21YMRA stack;
NI cycleThreshold;
NI zctThreshold;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w zct;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w decStack;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w tempStack;
NI recGcLock;
tyObject_MemRegion_x81NhDv59b8ercDZ9bi85jyg region;
tyObject_GcStat_0RwLoVBHZPfUAcLczmfQAg stat;
tyObject_CellSet_jG87P0AI9aZtss9ccTYBIISQ marked;
tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w additionalRoots;
NI gcThreadId;
};
typedef NI tyArray_emiAJ8okywrJw7ZHLzlXbQ[34];
struct tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg {
NI elems;
NI counter;
NI max;
tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ* head;
tySequence_9brg1xNurxcus33lU4IE1Dw* data;
tyArray_emiAJ8okywrJw7ZHLzlXbQ a;
};
struct tyObject_Table_fdKWDDO1P17zvuQPReVgRA {
tySequence_fdmz6VkIf1ewwrssKYqRFg* data;
NI counter;
};
struct tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ {
tySequence_kxu4GK0onha2t9bo86mdVAg* data;
NI counter;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc_xdLb0cyzx3FuM6Q4NnRTpQ;
typedef tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray_OLX364rHC66WkzRbMp49aQg[64];
typedef tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* tyArray_6GDJmNRiFxkWAAdMgUie8g[70];
struct tyObject_IncrementalCtx_sdH7TnbKACuAzE7DBabnCA {
char dummy;
};
struct tyObject_Table_IioUJGdqPI6xC7S7QF8MBw {
tySequence_Qr6E8eH7btq79cFKGaJfGLw* data;
NI counter;
};
struct tyObject_Table_G1v8c16HePOldLeucwe05Q {
tySequence_fIB1rTQ55aFonoft9a9bmljQ* data;
NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, tyProc_c6vdo1yHyj19b9bS17tijS2w) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, tyProc_d5yEkT9aXkAtHvVerr7IeCQ) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* m, NI32 fileIdx);
typedef N_NIMCALL_PTR(void, tyProc_sP1I7TbCn358eLy9bX4IphA) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* m, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
struct tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA {
tySequence_23SMqauuRsbDANhthj9bWlA* data;
NI counter;
};
struct tyObject_Table_NttoEzoiq5CiphZe81oadg {
tySequence_squ9b9bUH4OLHf6cEMrt6hVA* data;
NI counter;
};
struct tyObject_Table_nagDFX4QHx0s6Fvma9blmSg {
tySequence_pHNq3oXj9av2sEUdqaqeZjw* data;
NI counter;
};
typedef N_NIMCALL_PTR(void, tyProc_R9aa9aO9cNhvWgTGK9bAAvuSRA) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info);
struct tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ {
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* modules;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA packageSyms;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg deps;
tyObject_Table_fdKWDDO1P17zvuQPReVgRA importDeps;
NIM_BOOL suggestMode;
NIM_BOOL invalidTransitiveClosure;
tyObject_Table_e2Ciu0s1q49aVQ7ULXy7l9bQ inclToMod;
tySequence_48JTohSgTy339bRxHzUD8KA* importStack;
RootObj* backend;
tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config;
tyObject_IdentCachecolonObjectType__TzLHS09bRH9a0TYLs39cqcNaw* cache;
RootObj* vm;
tyProc_xdLb0cyzx3FuM6Q4NnRTpQ doStopCompile;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* usageSym;
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* owners;
tySequence_bWZXqEvLFwhLvAqSRoFNgQ* methods;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* systemModule;
tyArray_OLX364rHC66WkzRbMp49aQg sysTypes;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA compilerprocs;
tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA exposed;
tyArray_6GDJmNRiFxkWAAdMgUie8g intTypeCache;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* opContains;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* opNot;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* emptyNode;
tyObject_IncrementalCtx_sdH7TnbKACuAzE7DBabnCA incr;
tyObject_Table_IioUJGdqPI6xC7S7QF8MBw canonTypes;
tyObject_Table_G1v8c16HePOldLeucwe05Q symBodyHashes;
tyProc_c6vdo1yHyj19b9bS17tijS2w importModuleCallback;
tyProc_d5yEkT9aXkAtHvVerr7IeCQ includeFileCallback;
tyProc_sP1I7TbCn358eLy9bX4IphA recordStmt;
tyObject_Table_0Y2brGGKD9bV6GJLXT9aUDgA cacheSeqs;
tyObject_Table_NttoEzoiq5CiphZe81oadg cacheCounters;
tyObject_Table_nagDFX4QHx0s6Fvma9blmSg cacheTables;
tySequence_PzqTLBFNawCGiqTk0UORYw* passes;
tyProc_R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinition;
tyProc_R9aa9aO9cNhvWgTGK9bAAvuSRA onDefinitionResolveForward;
tyProc_R9aa9aO9cNhvWgTGK9bAAvuSRA onUsage;
tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* globalDestructors;
};
struct tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag {
  RootObj Sup;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* typeInfo;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* constants;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* code;
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* forwarded;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg generatedSyms;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg typeInfoGenerated;
NI unique;
};
struct TGenericSeq {
NI len;
NI reserved;
};
typedef NU8 tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ;
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_Target_9abOl5DLX8suLujOaHSvGzw {
tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag targetCPU;
tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag hostCPU;
tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ targetOS;
tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ hostOS;
NI intSize;
NI floatSize;
NI ptrSize;
NimStringDesc* tnl;
};
typedef NU64 tySet_tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw;
typedef NU8 tySet_tyEnum_TErrorOutput_fBf8Teueoz9aAkO5cXaxrpA;
struct tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA {
tySequence_7lEisrXlQEzwtUKW5pzRCw* data;
NI counter;
};
struct tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A {
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q trackPos;
NIM_BOOL trackPosAttached;
tySet_tyEnum_TErrorOutput_fBf8Teueoz9aAkO5cXaxrpA errorOutputs;
tySequence_tNFrR3kRuS1FSwuiLGoSSA* msgContext;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q lastError;
tyObject_Table_Ab4q9c36aMR4mtkEOIBzdzA filenameToIndexTbl;
tySequence_Zi9cGbCWofbtABoHJ5RbLNQ* fileInfos;
NI32 systemFileIdx;
};
typedef NU8 tyEnum_TCommands_VH3ghgQVwLSg3krOAoXigw;
typedef NU8 tyEnum_TGCMode_tkz389aDYNd8ykeZszCuBSw;
typedef NU8 tyEnum_SymbolFilesOption_gBES9bqm1ru9ape8SeMRAFgQ;
struct tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg {
tySequence_4eRCaZmrYLLw2k30GPTiMw* data;
NI counter;
};
typedef NU16 tySet_tyEnum_Feature_01UoAKYz1MxZiuG1X2VhNQ;
typedef NU8 tyEnum_IdeCmd_1Ced39bl5eePmZ1PKMPXigQ;
typedef NU8 tyEnum_TSystemCC_1eWBJUonHMOnlBwsOvpFmA;
typedef NU64 tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType__bkMuTTb2G70XfpzAiyNrnQ* result, void* ClE_0);
void* ClE_0;
} tyProc_QYEVXrYc9beQ379crS3rzqRA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringDesc* output, void* ClE_0);
void* ClE_0;
} tyProc_Q1W5D85O9cNu3iq9cZ9alS9aWA;
typedef NU8 tyEnum_Severity_x5BWBPGAbIH9clm5pmNp5DA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NimStringDesc* msg, tyEnum_Severity_x5BWBPGAbIH9clm5pmNp5DA severity, void* ClE_0);
void* ClE_0;
} tyProc_22mgIiTBBoqNe1T0FSw9ahQ;
struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw {
tyObject_Target_9abOl5DLX8suLujOaHSvGzw target;
NI linesCompiled;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
tySet_tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw globalOptions;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* macrosToExpand;
tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A m;
NI evalTemplateCounter;
NI evalMacroCounter;
NI8 exitcode;
tyEnum_TCommands_VH3ghgQVwLSg3krOAoXigw cmd;
tyEnum_TGCMode_tkz389aDYNd8ykeZszCuBSw selectedGC;
NI verbosity;
NI numberOfProcessors;
NimStringDesc* evalExpr;
NF lastCmdTime;
tyEnum_SymbolFilesOption_gBES9bqm1ru9ape8SeMRAFgQ symbolFiles;
tyObject_HashSet_CD8Dpv0WGmASelVaNSo6zg cppDefines;
NimStringDesc* headerFile;
tySet_tyEnum_Feature_01UoAKYz1MxZiuG1X2VhNQ features;
NimStringDesc* arguments;
tyEnum_IdeCmd_1Ced39bl5eePmZ1PKMPXigQ ideCmd;
NIM_BOOL oldNewlines;
tyEnum_TSystemCC_1eWBJUonHMOnlBwsOvpFmA cCompiler;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA enableNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA disableNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA foreignPackageNotes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA notes;
tySet_tyEnum_TMsgKind_Ns87ee9bXonvIM8SMewfbmA mainPackageNotes;
NI mainPackageId;
NI errorCounter;
NI hintCounter;
NI warnCounter;
NI errorMax;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* configVars;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* symbols;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* packageCache;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* searchPaths;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* lazyPaths;
NimStringDesc* outFile;
NimStringDesc* outDir;
NimStringDesc* prefixDir;
NimStringDesc* libpath;
NimStringDesc* nimcacheDir;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* dllOverrides;
tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg* moduleOverrides;
NimStringDesc* projectName;
NimStringDesc* projectPath;
NimStringDesc* projectFull;
NIM_BOOL projectIsStdin;
NI32 projectMainIdx;
NimStringDesc* command;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* commandArgs;
NIM_BOOL keepComments;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* implicitImports;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* implicitIncludes;
NimStringDesc* docSeeSrcUrl;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cIncludes;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cLibs;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* cLinkedLibs;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* externalToLink;
NimStringDesc* linkOptionsCmd;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* compileOptionsCmd;
NimStringDesc* linkOptions;
NimStringDesc* compileOptions;
NimStringDesc* ccompilerpath;
tySequence_pK3qSsBZwdXd6qyUMkd5Jw* toCompile;
tyProc_QYEVXrYc9beQ379crS3rzqRA suggestionResultHook;
NI suggestVersion;
NI suggestMaxResults;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q lastLineInfo;
tyProc_Q1W5D85O9cNu3iq9cZ9alS9aWA writelnHook;
tyProc_22mgIiTBBoqNe1T0FSw9ahQ structuredErrorHook;
NimStringDesc* cppCustomNamespace;
};
typedef NU32 tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw;
struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw {
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info;
tySet_tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg flags;
tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw kind;
union{
struct {NI64 intVal;
};
struct {NF floatVal;
};
struct {NimStringDesc* strVal;
};
struct {tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
};
struct {tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* ident;
};
struct {tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* sons;
};
};
NimStringDesc* comment;
};
struct tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q {
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* procDef;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* globals;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* locals;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* body;
tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options;
tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* module;
tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* g;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg generatedParamCopies;
NIM_BOOL beforeRetNeeded;
NI unique;
tySequence_8fytVdU59b5aj319cog2ztLw* blocks;
NI extraIndent;
tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* up;
tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg declaredGlobals;
};
struct tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg {
NI id;
NIM_BOOL isLoop;
};
typedef NU8 tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw[21];
typedef NU8 tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
struct tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA {
  RootObj Sup;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* left;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* right;
NI L;
NimStringDesc* data;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_mrugoXXRZUEeG9bEXo9auBKw[2];
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_qTjAvTvKF9anytN1At69aJMQ[1];
struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
typedef NU8 tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw {
NimStringDesc* fullPath;
NimStringDesc* projPath;
NimStringDesc* shortName;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* quotedName;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* quotedFullName;
tySequence_sM4lkSb7zS6F7OVMvW9cffQ* lines;
NimStringDesc* dirtyfile;
NimStringDesc* hash;
NIM_BOOL dirty;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_JiWwrsTRC6xqNlGcBthSVA[1];
typedef NU8 tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg;
typedef NU8 tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA;
struct tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w {
tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg kind;
tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA typ;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* res;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* address;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmpLoc;
};
typedef NU64 tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag;
typedef NU8 tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA;
typedef NU64 tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* tyArray_PsPyPA45AAjHu4uDGHNjTg[4];
struct tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind;
tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA callConv;
tySet_tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw flags;
tySequence_Ef05srmQTDulnBdXR4Ja6Q* sons;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
tyArray_PsPyPA45AAjHu4uDGHNjTg attachedOps;
tySequence_MvZmat48bhe9b6x9aUD58D5Q* methods;
NI64 size;
NI16 align;
NI16 lockLevel;
tyObject_TLoc_EtHNvCB0bgfu9bFjzx9cb6aA loc;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typeInst;
NI uniqueId;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_wqYjTJU9ab2ZgEFMaQc3vNA[3];
typedef NU8 tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_duFhZXIIlrbrM62cWjNekg[5];
typedef NU8 tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA;
typedef NU8 tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
struct tyTuple_kN8up2W6YKc5YA9avn5mV5w {
NimStringDesc* Field0;
NI Field1;
NI Field2;
};
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_wm6rkCVggH4IozhLUEP19bg[8];
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_YcHYlgE5mhtkt9a3rnoucVg[7];
typedef NU8 tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w;
typedef tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tyArray_f7nG5LD47BH5K9c6mASit3g[4];
typedef NU8 tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA;
struct tyTuple_nsNHL3sm0TZE9bootw2pEXw {
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* Field0;
tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* Field1;
};
typedef NimStringDesc* tyArray_Re75IspeoxXy2oCZHwcRrA[2];
typedef tyArray_Re75IspeoxXy2oCZHwcRrA tyArray_7sH9biSA9clAbQQE5XRAv25Q[81];
typedef NU8 tySet_tyChar_nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA {
tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag a;
tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag b;
};
typedef NU16 tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw;
typedef NU8 tyArray_qtqsWM5aXmcpMIVmvq3kAA[16];
struct tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg {
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field0;
NI Field1;
};
struct tyTuple_1mtQ8sCEE7DbfIuQciv9b5Q {
NI Field0;
NI32 Field1;
tySequence_48JTohSgTy339bRxHzUD8KA* Field2;
};
struct tyTuple_xDU9bZmv1ZbZkJDaATBekIQ {
NI Field0;
NI32 Field1;
NI32 Field2;
};
struct tyTuple_quA39a2QdEQU9cSEIUSibApQ {
tySequence_DfgJFJEYoj4YBAHLZPl5lQ* Field0;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tyTuple_EkGTYRWQ6y9cppXTlT8Xm5g {
NI Field0;
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field1;
tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* Field2;
};
struct tyTuple_OJFzEczluV8Jmo9bRpBfkzw {
NI Field0;
NI Field1;
tyArray_qtqsWM5aXmcpMIVmvq3kAA Field2;
};
struct tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw {
NI Field0;
NimStringDesc* Field1;
tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* Field2;
};
struct tyTuple_F3gkSrMB1qp2Tvf9bixVXwg {
NI Field0;
NimStringDesc* Field1;
NI64 Field2;
};
struct tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg {
tyObject_NodecolonObjectType__dNELmBSmY7nthjhZupWO6g* root;
NI entries;
};
struct tyTuple_wcNatyuf8WOqAhGLhSvgiw {
NI Field0;
NimStringDesc* Field1;
tyObject_BTree_VZdzO0Tlflp7WMN4gS8oPg Field2;
};
typedef N_NIMCALL_PTR(tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w*, tyProc_8ooe5vdoqmvpHnfXV29bP3w) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module);
typedef N_NIMCALL_PTR(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, tyProc_A7Sdoem70tRxSEmKrf9cmyg) (tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* topLevelStmt);
typedef N_NIMCALL_PTR(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, tyProc_EAEKmBUgKFg29agoUGtzDEQ) (tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
struct tyTuple_euPCXX9bc3XzndEhYlqNS7g {
tyProc_8ooe5vdoqmvpHnfXV29bP3w Field0;
tyProc_A7Sdoem70tRxSEmKrf9cmyg Field1;
tyProc_EAEKmBUgKFg29agoUGtzDEQ Field2;
NIM_BOOL Field3;
};
struct tyTuple_z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
struct tyTuple_QeWl6B6ffS4pU6WWrtcrDw {
NI Field0;
NimStringDesc* Field1;
};
typedef NU8 tySet_tyEnum_CfileFlag_Vl9c9ayddDuXiWtnWTsEYGsA;
struct tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg {
NimStringDesc* nimname;
NimStringDesc* cname;
NimStringDesc* obj;
tySet_tyEnum_CfileFlag_Vl9c9ayddDuXiWtnWTsEYGsA flags;
};
struct tyTuple_zwpS6d6iewrdlBSTNFoyVA {
NI Field0;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* Field1;
};
struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence_8fytVdU59b5aj319cog2ztLw {
  TGenericSeq Sup;
  tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg data[SEQ_DECL_SIZE];
};
struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence_XUL1TrMU0tgXmaMFCIYgFQ {
  TGenericSeq Sup;
  tyTuple_tA7Q8IrfOKH7Mn89cK9cBAIg data[SEQ_DECL_SIZE];
};
struct tySequence_Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence_9brg1xNurxcus33lU4IE1Dw {
  TGenericSeq Sup;
  tyObject_Trunk_ul49aWfv9aes8cutmeltT3gQ* data[SEQ_DECL_SIZE];
};
struct tySequence_48JTohSgTy339bRxHzUD8KA {
  TGenericSeq Sup;
  NI32 data[SEQ_DECL_SIZE];
};
struct tySequence_fdmz6VkIf1ewwrssKYqRFg {
  TGenericSeq Sup;
  tyTuple_1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE];
};
struct tySequence_kxu4GK0onha2t9bo86mdVAg {
  TGenericSeq Sup;
  tyTuple_xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE];
};
struct tySequence_bWZXqEvLFwhLvAqSRoFNgQ {
  TGenericSeq Sup;
  tyTuple_quA39a2QdEQU9cSEIUSibApQ data[SEQ_DECL_SIZE];
};
struct tySequence_Qr6E8eH7btq79cFKGaJfGLw {
  TGenericSeq Sup;
  tyTuple_EkGTYRWQ6y9cppXTlT8Xm5g data[SEQ_DECL_SIZE];
};
struct tySequence_fIB1rTQ55aFonoft9a9bmljQ {
  TGenericSeq Sup;
  tyTuple_OJFzEczluV8Jmo9bRpBfkzw data[SEQ_DECL_SIZE];
};
struct tySequence_23SMqauuRsbDANhthj9bWlA {
  TGenericSeq Sup;
  tyTuple_2SGm9aGCXuo7XSQ9bqD29axXw data[SEQ_DECL_SIZE];
};
struct tySequence_squ9b9bUH4OLHf6cEMrt6hVA {
  TGenericSeq Sup;
  tyTuple_F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE];
};
struct tySequence_pHNq3oXj9av2sEUdqaqeZjw {
  TGenericSeq Sup;
  tyTuple_wcNatyuf8WOqAhGLhSvgiw data[SEQ_DECL_SIZE];
};
struct tySequence_PzqTLBFNawCGiqTk0UORYw {
  TGenericSeq Sup;
  tyTuple_euPCXX9bc3XzndEhYlqNS7g data[SEQ_DECL_SIZE];
};
struct tySequence_tNFrR3kRuS1FSwuiLGoSSA {
  TGenericSeq Sup;
  tyTuple_z822nu9bFF1AlQnLrHjdwpA data[SEQ_DECL_SIZE];
};
struct tySequence_7lEisrXlQEzwtUKW5pzRCw {
  TGenericSeq Sup;
  tyTuple_xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE];
};
struct tySequence_Zi9cGbCWofbtABoHJ5RbLNQ {
  TGenericSeq Sup;
  tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw data[SEQ_DECL_SIZE];
};
struct tySequence_4eRCaZmrYLLw2k30GPTiMw {
  TGenericSeq Sup;
  tyTuple_QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE];
};
struct tySequence_sM4lkSb7zS6F7OVMvW9cffQ {
  TGenericSeq Sup;
  NimStringDesc* data[SEQ_DECL_SIZE];
};
struct tySequence_pK3qSsBZwdXd6qyUMkd5Jw {
  TGenericSeq Sup;
  tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg data[SEQ_DECL_SIZE];
};
struct tySequence_MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple_zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*, newModule_uTAIZZefAFwU7gogglQHZw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef_O09bHTFgtn9cJLLJxiNhuKUA)(void* p, NI op);
N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
static N_INLINE(void, asgnRef)(void** dest, void* src);
static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr);
static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NOINLINE(void, addZCT_Y66tOYFjgwJ0k4aLz4bc0Q)(tyObject_CellSeq_Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c);
N_LIB_PRIVATE N_NIMCALL(void, initCountTable_wWvh9aBvC7U2mbRYPFlmaXA)(NI initialsize, tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*, newGlobals_so1C5JeNzMQaRWt046X3Rw)(void);
static N_NIMCALL(void, Marker_tyRef_Q8XTeJJ39cPFyNvJXj9bmcMQ)(void* p, NI op);
static N_INLINE(void, nimGCunrefRC1)(void* p);
N_LIB_PRIVATE N_NIMCALL(void, initIntSet_n8oDZMn19bEdodSnrBQB9a1Q)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* Result);
N_NIMCALL(void, chckObj)(TNimType* obj, TNimType* subclass);
static N_INLINE(NIM_BOOL, skipCodegen_nwSFZweO0MiC1cK59cLXWvgpasses)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, internalError_yTu5SGHF0j0P9cQrqN7YylA)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NimStringDesc* errMsg);
N_LIB_PRIVATE N_NIMCALL(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*, newProc_T4OlZpX8DqYbIlMcOrFsUQ)(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* module, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* procDef, tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options);
static N_NIMCALL(void, Marker_tySequence_8fytVdU59b5aj319cog2ztLw)(void* p, NI op);
static N_NIMCALL(void, Marker_tyRef_OFWibP8T8afo89apFNGZiwA)(void* p, NI op);
static N_INLINE(void, nimGCunrefNoCycle)(void* p);
N_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(void, genModule_AQaGEWMAoGSH1pqI9bePiww)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, add_IM4kcMNkkOLJtqdEqSxR8A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, frameCreate_5xQGffjrmjbHfz64yWZ49bw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, indentLine_jQGcsbXjMm82EQo5Ohqg0w)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(void, prepend_IM4kcMNkkOLJtqdEqSxR8A_2)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** a, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, rope_yShmEg9cffWxI7s5XzEKBow)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__AxDJCYpgPoquRsZtiOnpRw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__dU9cenGIcVUltUO1088LhYQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw)(NimStringDesc* s, NIM_BOOL escapeNonAscii);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuEscape)(NimStringDesc* s, NimStringDesc* prefix, NimStringDesc* suffix);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString_yJnBaOMN1AufVWf0jGrqcg)(NimStringDesc* s);
N_NIMCALL(NimStringDesc*, rawNewString)(NI cap);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem_i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, transformStmt_o9bTtoSsaDmuiyVzV15dOyg)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn_UhPXgqyDuuU9cKcS8FM883w)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, amp__ShdZ6VrAQkY0nWR9a39b9bGdQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, amp__Z7W1o5nPSc3ExfO5f7j1Gg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, idOrSig_sKAFwdXn9cKHxc9cdaovk69cA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, NimStringDesc* currentModule, tyObject_CountTable_tUMxxU9cRgLolsrW9b7IBGsQ* sigCollisions);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TLpRy9aDJ1Ni4vccOIoiMbA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards_AASbADdVur9cDEeNbrY1Baw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar, NIM_BOOL* inInitGuard);
static N_INLINE(NI, safeLen_P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, subInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__RzB0z3UV9bb4kXUEGyS9crRA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genStmt_AQaGEWMAoGSH1pqI9bePiww_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gen_Bp5hmw3gImpkyC9cflWESLg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(void, genSym_Bp5hmw3gImpkyC9cflWESLg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded_AQaGEWMAoGSH1pqI9bePiww_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy_AeBLus9crC8L5HbMOYikwJw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* y);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA, mapType_3fHLBKCveV5k5hDCMQOL2g)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tySet_tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kinds);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__amX0pef5rA4JAmWZ6ZB2Nw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__FLXrAGf7HFTHIGh8Xuickg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, rope_KOisMGxcPhz6CcSmxgwEQQ)(NI64 i);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__hmfCuT8fgBmRlPR25L7ZOw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HUHatwko3S0fuszXQAOSQQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo_EoO5XDgy69ax76bvbHbf27w)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name);
N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_zOB1gNtXypybIzLxxB9cyWQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, add_yG4AKzsBRS1W4MANDlXQeg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** a, NimStringDesc* b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__gGKEcvCOVzpTQoSXzO01Dw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__LMnNsJkYlruXHnF5LV9c3pA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__uJ11bTQ8dBBAX88A2cyICw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__2D3IUNoEAKKLxuRqVNosPQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo_EoO5XDgy69ax76bvbHbf27w_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name);
static N_INLINE(NIM_BOOL, objHasTypeField_RtD7YfxmsbodfSCx5S9bFnAjsgen)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__o7SGM9buciKf5BOjTvMKA7w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Ht0mWR3LosfEZ8SopJcmEA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__GweM9byC8cQI9cehUzlYVs5A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, mangleName_VbRtGjpKYj6Wtc1GdNdKhg)(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName_DirUT0y4T1sHsJo7dddJ2w)(NimStringDesc* name);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem_9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_NIMCALL(NI, hashString)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, mangle_GxzvEIRbrShQbyJNboTw7A)(NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Xnze9a4kYSwHurdPnhyNGzQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI64, getOrdValue_MzTDl1zEXJLD4sql7PhCwA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI64, lengthOrd_4cSIntenL9aBXY6LAFsvXdQ_2)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__sGaOrvR5YSM9cGUajaqcNOw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, lastSon_UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__GF60428RM29aXV0LYutm9aOA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo_EoO5XDgy69ax76bvbHbf27w_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genTupleFields_jZNTi9aEbLMAMESBZ7a9cl7A_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(NI, len_eY4T6kWJb9a9aTWUufrTLjXg_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ciTj4q9cGhcXiXY9bPemZVvw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, internalError_5hPl6LjCYJxMYxh9af9b9bXzw)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* errMsg);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA, mapType_ZlkXBdJTrpToZuRLq31tLQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__xAta147ahLKNrJMPPP5B6g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__sshAiIx49ba6saVSAWuyFuA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TmulmJw2SZspd0rz2PYvQw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__UFeu00R8dNoyzL8vy54mnQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConstant_bgFYJWdvtLmrkmlW3jRA4A)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* c);
N_LIB_PRIVATE N_NIMCALL(void, genVarInit_iVEhpHbcyNY9aOzPqLze8xw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Z1QwTAihBHnxe59cytXnhmw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__mZ66tEveFIQokq3arf8Klw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__XZnCV59at0sqX6ShEjlFLgw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__YLzwVVtf4fuPYZVeMQOa0Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA)(NimStringDesc* frmt, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__CtS8L8cOLTsSuQ10mtHsvw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, createVar_K9ag9aJJIngrApxv9aEbfdhIQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, NIM_BOOL indirect);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, putToSeq_iEKLYo8HXYG9auKlJ6tkKKw)(NimStringDesc* s, NIM_BOOL indirect);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__mPpmmd13MIZLTbd1oOdSkw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, elemType_PfgI9ap7WOnsRfFV4znQ27w_2)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType_Ef4AI5l7XLzo8SqxARtdiQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Th3qC4WgcAhWPSlLw7vZ9cg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, useMagic_4MoUWv1cpa6oOBwwpQ0wfA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, getCompilerProc_4qXS5VHrKJ5hq9crvvz8tIA)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, NimStringDesc* name);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__r38WafKlW80RkvoZTcia4Q)(tyTuple_kN8up2W6YKc5YA9avn5mV5w x);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genProc_VRfKzQHOMcRGtJXZSJxFtg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* oldProc, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, generateHeader_jZNTi9aEbLMAMESBZ7a9cl7A_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ);
static N_INLINE(NIM_BOOL, isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3RPy0XXevrEBMts1Mb9arGw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__gqwqalZtiJtCgAF9bY5S6qQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__G9bYX9bu7ufcttiARCDUJ0qg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__W0CV9bE9bNiLgazfFZjoQCBg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ecC7jlB6gBWrt0K9byHohPw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, transformBody_gFZW9bFffCiuUrdu3Rnih2g)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc, NIM_BOOL cache, NIM_BOOL noDestructors);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, optionalLine_VuwqVIjxPGcoTVF06Jgl6w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genProcBody_ByRZ0N9c4W9b5ThEZxre89cFg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo_eUoj4FPs7h9bV16Cz4RajiA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__hFzCKQOJ8Eao2AJk5HOvxA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__62079cK9bsws1aAJqEmAGo6w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__hO1UTpWJhaojnhUyqfmgPQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, frameDestroy_XP5ZeYFuxYow89aSkFgfWeg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__wlKCT75QSpBNooI9a2xvWeQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__uD0SC9bUeWpB9cK7V1aBT9aNQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Uez7zQbKzeDFToq2Yh43bA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__BYiowJAm8zF7RBRISElaLg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, globalError_NF6kBGchnhQYPbCedyefVA_2)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(void, rawMessage_h30HgTFwbGq0PsyHmRqZ8g)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__JbygmsEkVsyK85BPVFvwbg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_eY4T6kWJb9a9aTWUufrTLjXg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HLoe040Vi0LPzmTid9aLGdw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, createObjInitList_lQPYSYugh4oxbm9bTJCSJoA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* excludedFieldIDs, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** output);
N_LIB_PRIVATE N_NIMCALL(NI, len_9b0YRltzV3kNSE9aQTsG82wg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__tnP9cO5PduJRSEeqtm9bocEg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* rec, tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* excludedFieldIDs, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** output);
static N_INLINE(NIM_BOOL, isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_R6uRTGpl30Ofaw4Ni3vawA)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__S6XcU2shl8EfYxL7utXbwg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Bym8FwH29aQE8fth9ar38yJQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__RhAtD9c9aECDorIc8rDhMF9bw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, getTemp_EG8bDinaW3fVLpok9a4s5cA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, NIM_BOOL defineInLocals);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__CSdlEV0i9aXEHNuC1G9aIEbw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__4SLS9cx2c8VCFIilepFlOeg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, localError_NF6kBGchnhQYPbCedyefVA)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info, NimStringDesc* arg);
N_NIMCALL(TGenericSeq*, incrSeqV3)(TGenericSeq* s, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded_9aGDirKbsf9cN1iAWvMcXOKg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(void, attachProc_C5SA4Y9bPAMaecsSyvetPTg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* content, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__qYiwFpynEwFeSf3Aa2sS0g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA, classify_x3IKzrz1VNvfZbypScSTXg)(NF x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toStrMaxPrecision_ayHojnbqAtgkZF8TXMNMzg)(NF f, NimStringDesc* literalPostfix);
N_LIB_PRIVATE N_NIMCALL(void, genLineDir_AQaGEWMAoGSH1pqI9bePiww_4)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, toLinenumber_6D4Rmpw7LpcRI1j7CMqEsAmsgs)(tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__6xseTZmgyslBQb6RMm9b4wA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__aqhiUn9br2R4iLDxG6zLLCA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__KsZXXO4zKP47iruPcSEryQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genMagic_Bp5hmw3gImpkyC9cflWESLg_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genOr_mpXN9cOaEmJkFGz77KKnHeQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NIM_BOOL, isAtom_ORlI8o1EUYdPqjuTcBWx1Aast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TUxzei0sBfo3GESRTg1T5w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, rdLoc_yob5rpIMovhptJKw0A5vnAjsgen)(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__jadqNPnY9aM3oxYK6jarLrA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ikDBM4Dyw9c2kuwAAswRyOw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ht9cduX4yJQKi2Gi685ag5A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAnd_mpXN9cOaEmJkFGz77KKnHeQ_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Wsnl5zC9cCEBdwJcHgpLf0g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__deWmrKhbFG0MxH9cDr9cnhfQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, arith_3Dxk7XsMQw9b52OHOhMc7Fg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg op);
N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr_sQyrw0bSZ1SBjflZPB313g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op, NIM_BOOL reassign);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ)(NI64 size);
N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* x, tyTuple_nsNHL3sm0TZE9bootw2pEXw* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp_63ZTZNC9c5no8E73V2FDEMA_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HiCTlq0dXhMZvpDtUGWGQA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__aagcnoz4kFWlzsoVgR9b0NQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__oYhFcOWR4tEylepRJJLrlA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3RBmOS8xzFTxpuGVryQycg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg op);
N_NOINLINE(void, raiseIndexError3)(NI i, NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__apXghcMDCUp9col7jN5spHA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__9cNvJ1SVovK9b29bKmwKyiijw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__0mbMVYCe5Qwl9aQOKV3sh3w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__03lrwELd9clj29bFkdXAVxkw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__8croAZ6oMdSPXHbIisuppw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TDLJ9ciKDBoW4ouZs855Csg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Mk2KRdMWX4H3L9aBEG2elgQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__pFXgvxsz2L5f27ImZwJwzQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__n9aTlv49bCxoRKQNZiWsaW2g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__y3oNivo8px1XzxmB9b2OY5g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Pnqkcr360suaX84kwXMuCA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__FA4ohw0aOufzzLhmw9aUAhA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__SWZi8EY4Pz39bBPSp9cbtZMg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__XaBXRInsoVU7DBc2WK8dzg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__NdMO5d09brFwLfDc8ciTSqQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__E62TlyqwqpEwqcA0YTjttw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__m4T7v0qnGpOgwmMenKcgwg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__SKTmZPSgcdPr3Du3ia9b9czg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ItxAXpnPzfUbYRPsHgKrPw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__tkJq8W3gQVDjuu9aT3THC6Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__oyQkqbRkRzo43y6iRevkaA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__YuphtPwdJHG6BUJOVa9bX3w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__QX9cU2fNK0jJrZNDQKnAycA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ggqZXIgPaS71ubw22cYODw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ec65mR1N7BSL9cmUa3z9czvA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__LLnl4aDVJynim7LQvfJKLQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Ob6yLhv7QvbU9bdZj8Nw2kA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__qfsHROU9aHSaYGq3tpw1XDg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__GHW5yjG8N9c2BQBun6aBJzQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__j9bcJJvtd9bur0VZUQL3ibgA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__32ITt7hKDrhn9bXvKbmnE9bw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__wNMeSNKiDASfC78YtLYssg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__eNKJZvONaQ4nPpDEGEPubQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__1g2JdUkOWskprbqGIAKLDg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Rk41QszV6R9cSklcC6IJHeQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__WevD8GyrGCiVGVaaKEQTqA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__f3aohCZCp1NImt1K1UkZfQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Lbhu7X9c75WyxrSB20oty5Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__MbrPcUEcG9c9aM3ciwAHRJFg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__B9bGDawXx7D0lSxF9a29avLvA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__QXMcmOst45ThYFLo9cOKDiQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__LGP9bDdi0ALmmT4dkkco3fA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ZAOkVi5SmgPcGpCSuSRXVA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__smDIOmjGgf8ZP9bfDyv43bQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__1jtIbjhXi2wH1iWPyC9bgAQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__NPgb4kECDcV8MICSil6Rjw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__cQHGAtgSLYV7mm9bnVGYGRA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Q4LBu2cVl8IcNTrtxd6B6A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRepr_Bp5hmw3gImpkyC9cflWESLg_4)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* typ);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ctvQ2lU9b9bnVVpNP4GhIo2Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genSwap_AQaGEWMAoGSH1pqI9bePiww_5)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__M36w8F9bFwighD3K39bvtVWw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Wm11wQtuJBQgTy9a39apz0eA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_KV0xCsBzaN9coqb7PG9au0oQ)(NimStringDesc* s, NimStringDesc* sub);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__0bUw514mSumiNnSjkD0bqw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__6hxDi5nlebu1DFLqpYq5lw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__GkWgkK8SyjrFfWjGRwKWrw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__oubCLvBtU9aRB9bhG2vbCDeg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__KTcAQx04UE87HYZ48ZBm2A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Y6zpqvbZwK8tJZiKs9agbGw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__2OGTIxEeE0xFVRpz5TxKyg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__0xZtTB2eXM1dRd9aneL5VPw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConStrStr_Bp5hmw3gImpkyC9cflWESLg_5)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__amO46kEKgIeOmW50ayV6nA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3lABfXU9aXZsyfylYizY8KA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__5JCQx3oDHEcLdsEz6Rx0Rw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__dTtf7fil83VcW2Mkkr7scw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__88NG6Rr5xfTcA6hqLfZ2iw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__1DWSTPxvqlc4A2xRDmjZDw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__y5Z6ewsHLxj9ctzxTLPCLmw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__CHBd5pGE9c8nq4KNqM8K48g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__y2h2X887dhz5sEoD4C8ezQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__dQfg2HrsVY6E7P22Nis1MA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__0b2Bm7vpM8YAMKp9cuAwg3g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNew_AQaGEWMAoGSH1pqI9bePiww_6)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__1Hh3EN9c4pkzdKB09bo9c9aTBg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__AOSgPOjXfsLWEICRXv3U2g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__gN4yb6p4ql6iVJOPAjLEJQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOrd_Bp5hmw3gImpkyC9cflWESLg_6)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__WIg2bxfQLkmzIdOv1JkRqw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3Klw9agVDELeF44OQ6PnRiA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__LL6jCaqBGLwC1sCgmCAEhQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__S9b9bs03lj0NJlhXUmrylsnA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__fphSfWWyYSWLARtGIpYB9aw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__As9aDT7fkqstj16MQnIGPhA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__eAZ21NmzzIsugeSSkcxIkQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__D2dSwFjTnRSmeKOoMm6w0Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HlU9bV2X0HOPcGJnQlGm9c9aQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__p2lIQAdDBUpuVZML6ecUOg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__5hzyGWCNjqgqPj0O7sSnkg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__l1wvVBeU1Nnie8cWddgPCA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__yVZN2jQzbJwg3E9cehLff9cg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__E9br9b8BVYaWzg6CXcn9c6EXw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__qPugJ1Nc2L1EdGwEF0AJ0Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HzZyrXo2QFynm1T8X76cCw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__O2nyVw4tGD6MMc6u7I9bH9cA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__IQYZUimFiAV9axFM9c64hKjA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__RCJU8UTq9cE0Jsi59anAbTIQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__S6vmSaSCgC4V2L5H7OWeZg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genNewSeq_AQaGEWMAoGSH1pqI9bePiww_7)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Eqr9cgWCkrZrUG3sg0CawIQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__9c1lq60gbfPY9cyjQN4YouTQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genOf_Bp5hmw3gImpkyC9cflWESLg_7)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__1nMXoOe6cENU7004pnh6wQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ALynLzo8zWvno8ZxASdm4A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDefault_Bp5hmw3gImpkyC9cflWESLg_8)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genReset_AQaGEWMAoGSH1pqI9bePiww_8)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__tlkWMVJPsx9aWUbp8FMjQ4w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__xPW5KjObCPL2lJmHFoqfjg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genEcho_Bp5hmw3gImpkyC9cflWESLg_9)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, skipConv_BH9abOhPX8pH0DnEWlRxmlw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam_Bp5hmw3gImpkyC9cflWESLg_10)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuFormatSingleElem)(NimStringDesc* formatstr, NimStringDesc* a);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__mTh2rYVPWUnI8B7kU3NWUg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__aoMj8hrcFi4HlPDZ9a9alpig)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Yj64cHk9ajrzJI39bfpBfOVA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genCall_Bp5hmw3gImpkyC9cflWESLg_11)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genArgs_1PNPBjb9aOT7yB9avaRcGbbQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NI start);
N_LIB_PRIVATE N_NIMCALL(void, genArg_RI5RyHREFNXox9cpkCYH50g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* param, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NI* emitted);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__9bY6R9buTsrqJYQAuD39cegOA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__U9b6hkqS6N7XIWr0gy8z9bug)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genInfixCall_Bp5hmw3gImpkyC9cflWESLg_12)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains_wAzSnEu9cCHHjvPQlWBZUeQ)(NimStringDesc* s, tySet_tyChar_nmiMWKVIe46vacnhAFrQvw chars);
N_LIB_PRIVATE N_NIMCALL(void, genPatternCall_4TT1TPwHmxERu3KEGU1QFw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* pat, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genOtherArg_9aqB67Rnkf1OHu3XOk89bdcg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, NI* generated, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
N_LIB_PRIVATE N_NIMCALL(void, genSetConstr_Bp5hmw3gImpkyC9cflWESLg_13)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDeepConstExpr_9cP6JNeOKqczaXCI4Zo4SBQ_3)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__JRV6DlpqdegYGLcFjNPv0g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr_Bp5hmw3gImpkyC9cflWESLg_14)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr_Bp5hmw3gImpkyC9cflWESLg_15)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ryMkoQkM4zAjyp0800DrDQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__iW9bjdQoXkul7L0e76qo8XQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genObjConstr_Bp5hmw3gImpkyC9cflWESLg_16)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, incl_jENnK9c9bPE73pKmo2vYjpqg)(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* s, NI key);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__i3z9am8Hzy69bSo575pRdzGw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__SkAQPSnCyiRvin57XULW4A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genConv_Bp5hmw3gImpkyC9cflWESLg_17)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__CbbQqCp6itJgwKVRfTr69ag)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__HWgoOloM1oqcI9aZ9bEkoBhg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAddr_Bp5hmw3gImpkyC9cflWESLg_18)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp_iKztcH0Tujg1djuGYyE69cQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* addrTyp, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Anf1UHjOzz9aHgMOgtnEPZA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__tDrtnFWakp63hyE9cfImgZw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__JwpI2xnYNfR68HstfDi1yQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__paA0sar8RKZqiwEaDfWo2A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr_Bp5hmw3gImpkyC9cflWESLg_19)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition_DLbHFD2eUjMEos1A21BcJw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* f);
N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess_Bp5hmw3gImpkyC9cflWESLg_20)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__5TB09c2Iz60T0YagbSbI5RQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr_Bp5hmw3gImpkyC9cflWESLg_21)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(NI64, firstOrd_4cSIntenL9aBXY6LAFsvXdQ)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__zp3s8OmHH45zoJWh1nlZxA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__uVZXJGmbOGIG9bfkI4ZDwJQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genDeref_Bp5hmw3gImpkyC9cflWESLg_22)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess_Bp5hmw3gImpkyC9cflWESLg_23)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__UxL9a0Hh7Km0Z0DIk7hp9cBA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, upConv_Bp5hmw3gImpkyC9cflWESLg_24)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genCast_Bp5hmw3gImpkyC9cflWESLg_25)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
static N_INLINE(NIM_BOOL, contains_NUcXcdcbrUs0l4XrxCmsRgsystem)(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag value);
static N_INLINE(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA, dotdot__Lid9a4g9biXDC8SKbcluO70gsystem)(tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag b);
N_NOINLINE(void, chckNil)(void* p);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__QxiH9aM0po7vA19b2s1CjdEA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__FZt89ajG3TKAhfL9aW4s7hcA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__5GaE39bOOeQZy3EFOEIy5QA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__SA9cvbR3uc9cP50nnaEBJctw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRangeChck_hP2w9bfjeb9a8Gw7OVBCznWw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__KweYGQ9bFYg76nmoxpk8ksA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr_Bp5hmw3gImpkyC9cflWESLg_26)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__AhY63HjLy2bPe9bslUNBuBQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr_Bp5hmw3gImpkyC9cflWESLg_27)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(void, genBlock_Bp5hmw3gImpkyC9cflWESLg_28)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3m7YwdrxIvOkmvfnm5JYSA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TEWiK8QWtRTCIQ9av7sW8LA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genIf_Bp5hmw3gImpkyC9cflWESLg_29)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__9an6bUHwpxqyL2kgNHX3MEg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__kLwAORKb0c4oFgFTN9aEN8Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* src, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* dest);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__9a3Y7eeGNXkOCLUktwxzN9ag)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt_AQaGEWMAoGSH1pqI9bePiww_9)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Qm29ctdy9c4sqKctTsqiBWIg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__UyNt2Asj9aa2ScoGVo9cCnNw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genVarStmt_AQaGEWMAoGSH1pqI9bePiww_10)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, lowerTupleUnpacking_8A4G64HByteFanrMUexmNw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* owner);
N_LIB_PRIVATE N_NIMCALL(void, genCaseJS_Bp5hmw3gImpkyC9cflWESLg_30)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__xXvQyblNYV215UGR9cTka7Q)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__T9caGByKkBhaXSZ6fCJLIdQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, copyNode_Dsjo9bte8vGxzhtcSrsTyiQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__f8NIixSwWrk6SXQ3BFamWw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
static N_INLINE(NI64, addInt64)(NI64 a, NI64 b);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__TmeCjGna9cPfiHHcfqmKXjw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__LYjQOKn1i9ccw8AFlvPGkCg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt_AQaGEWMAoGSH1pqI9bePiww_11)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__THj0xNXkqJf6reD7exsGbA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt_AQaGEWMAoGSH1pqI9bePiww_12)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3oFXAbir9c7XcKzu9bpgAM9bA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genAsgn_AQaGEWMAoGSH1pqI9bePiww_13)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux_FTHts0vUatiTmPKVGzyMKA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL noCopyNeeded);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__4sbi76q7ZLqpKbD3pwJ59bQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Q9cOQGrP4lOdbYHXMQ1yZtg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__0AX4Q6cA8nOXUagvzFqt0A)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__qQ3g8SwjZoIFAay85NaiEA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__M0TByFCTj9bbOkDSRpFz3LA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn_AQaGEWMAoGSH1pqI9bePiww_14)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt_AQaGEWMAoGSH1pqI9bePiww_15)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, genTry_Bp5hmw3gImpkyC9cflWESLg_31)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__OikfyLf8HmjI9auYLFoaVqg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__3KVF9aLACI1h11BqZrkzjNg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ial810twbEzfkHaHMFYNCg)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isInfixAs_CZaoTkWCFI9acor4BmYF3Yw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isImportedException_dZW9czpRSiiVl9cyT6tyk84A)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Z7wCJf0WipOQOQ4ZZNBIEw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__Xpm9cGf2grEXdjAQV9arqWBQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__sqxyWwlLrfrdyc9b3BINcXQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__ztLQ2Orupb9b9b3KrCvoK9cbQ)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__PI6febxsdTbySkLsIEqHKw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt_AQaGEWMAoGSH1pqI9bePiww_16)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__sGRyuC9caCxfdM1i8W4fjgw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(void, genPragma_AQaGEWMAoGSH1pqI9bePiww_17)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw, whichPragma_Pjztiiq9bHmTTxDuLd39cNRw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__boICAAvO1zkTlYDOuEaj6g)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__vWWA89aSvs5QwAFN4Jdr2IA)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, myProcess_PZ51a8H3AQu4zYP9cwHpJag)(tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, add_P8dDSotTW25BkfbyspojGg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* father, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* son);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, wholeCode_0JkORKxMs17USnUxSKLA9cw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m);
N_LIB_PRIVATE N_NIMCALL(void, attachProc_9aGDirKbsf9cN1iAWvMcXOKg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, generateMethodDispatchers_7t0GJlNQwZyLt0Kz3RhRdw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, prepareToWriteOutput_ea9bsNo9cwchKzwCi7UjcP7g)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRopeIfNotEqual_Wiam9c8x73Mtmbj0r4Ppikg_2)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r, NimStringDesc* filename);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genHeader_Jh8YZW9c6mmqtRqmZvtYISg)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, percent__lQuk161wRVxbYxfH80Iwcw)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** args, NI argsLen_0);
extern TNimType NTI_Hb6rFM0ecvtlLf2kv9aU75w_;
TNimType NTI_qij68Ti2EwJQHH6sSdkSdw_;
extern TNimType NTI_K9bspPztfoWajecnwjyHuYQ_;
extern TNimType NTI_KfdHSsl8vyUCSI9b3inBcww_;
extern TNimType NTI_a8lycfSA25OQltN3OMeBsA_;
extern TNimType NTI_tUMxxU9cRgLolsrW9b7IBGsQ_;
TNimType NTI_O09bHTFgtn9cJLLJxiNhuKUA_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
extern TNimType NTI_ytyiCJqK439aF9cIibuRVpAg_;
TNimType NTI_nWsHZg3qCUsABoCNYLliag_;
extern TNimType NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_;
extern TNimType NTI_DfgJFJEYoj4YBAHLZPl5lQ_;
extern TNimType NTI_PQrmFm4BXFkFSVOUl1ojSg_;
extern TNimType NTI_rR5Bzr1D5krxoo1NcNyeMA_;
TNimType NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_;
TNimType NTI_AFoo8FBR6Z1RtIhjuHkU2Q_;
extern TNimType NTI_fKfcLzXYiz5jNu3NH3Tv8Q_;
extern TNimType NTI_7MnKRybmCNh5j9bDRLMkxLw_;
extern TNimType NTI_VaVACK0bpYmqIQ0mKcHfQQ_;
TNimType NTI_46cd0Xw9aDJ1QWTE8nV4mLg_;
TNimType NTI_8fytVdU59b5aj319cog2ztLw_;
TNimType NTI_OFWibP8T8afo89apFNGZiwA_;
extern TNimType NTI_9a3YiReNVD0IJHWFKgXRe9ag_;
extern TNimType NTI_shZhZOdbVC5nnFvcXQAImg_;
extern TNimType NTI_G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_4, "myProcess", 9);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_7 = {
0xEC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_8, "sons", 4);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_9 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_10, "sym", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_12, "\011", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_14, "\"", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_16, "\\n", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_17, "\\r", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_18, "\\t", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_19, "\\b", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_20, "\\a", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_21, "\\e", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_22, "\\v", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_23, "\\\\", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_24, "\\\"", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_26, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/system/iterators.nim(208, 11) `len(a) ="
"= L` the length of the string changed while iterating over it", 188);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_27, "module ", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_28, "\?\?\?", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_29, "_loaded", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_32, "}\012", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_34, "symbol has no generated name: ", 30);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_35 = {
0xE0, 0x07, 0x77, 0xFC, 0xE1, 0x02, 0x00, 0x00,
0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_36, "couldn\'t find the owner proc of the closed over param: ", 55);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_37, "genEnumInfo", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_38, ", \012", 3);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_39 = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_40, "strVal", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_43, "abstract", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_44, "await", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_45, "boolean", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_46, "break", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_47, "byte", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_48, "case", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_49, "catch", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_50, "char", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_51, "class", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_52, "const", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_53, "continue", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_54, "debugger", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_55, "default", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_56, "delete", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_57, "do", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_58, "double", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_59, "else", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_60, "enum", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_61, "export", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_62, "extends", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_63, "false", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_64, "final", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_65, "finally", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_66, "float", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_67, "for", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_68, "function", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_69, "goto", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_70, "if", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_71, "implements", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_72, "import", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_73, "in", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_74, "instanceof", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_75, "int", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_76, "interface", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_77, "let", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_78, "long", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_79, "native", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_80, "new", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_81, "null", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_82, "package", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_83, "private", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_84, "protected", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_85, "public", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_86, "return", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_87, "short", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_88, "static", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_89, "super", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_90, "switch", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_91, "synchronized", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_92, "this", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_93, "throw", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_94, "throws", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_95, "transient", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_96, "true", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_97, "try", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_98, "typeof", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_99, "var", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_100, "void", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_101, "volatile", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_102, "while", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_103, "with", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_104, "yield", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_109, "HEX", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_111, "_", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_112, "genObjectFields", 15);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_113, "genObjectFields; nkOfBranch broken", 34);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_115, ", ", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_117, "genObjectFields(nkRecCase)", 26);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_120, "genTypeInfo(", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_121, "_Idx", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_123, "var $2", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_124, " = $3;$n", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_125, "0", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_126, "0.0", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_127, "{}", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_128, "Int32Array", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_129, "Int16Array", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_130, "Int8Array", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_131, "Uint32Array", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_132, "Uint16Array", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_133, "Uint8Array", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_134, "Float32Array", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_135, "Float64Array", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_137, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim", 102);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_136 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 296),
((NI) 19)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_138, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(991, 11) `typ.n.sons[i]."
"kind == nkSym` ", 142);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_142, " {$n$#$#$#$#$#", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_143, "\012", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_144, "framePtr = F.prev;\012", 19);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_145, "IMLP", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_147, "system module needs: ", 21);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_148, "arrayConstr", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_149, "nimCopy", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_150, "[", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_152, "]", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_153, "{", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_155, "}", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_158, "createRecordVarAux", 18);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_159, "[null, 0]", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_160, "createVar: ", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_161, " = $3, $2_Idx = $4;$n", 21);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_162, " = [[$3, $4]];$n", 16);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_163, " = [$3, $4];$n", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_165, " = [$3];$n", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_167, "request to generate code for .compileTime proc: ", 48);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_168 = {
0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_169, "intVal", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_170, "false", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_171, "true", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_172, "null", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_173, "0", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_174, "makeNimstrLit", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_175, "[]", 2);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_BxLwT0mhrtgTPodf1v3xjg_176 = {
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_177, "floatVal", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_178, "NaN", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_179, "-0.0", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_180, "0.0", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_181, "Infinity", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_182, "-Infinity", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_183, "endb", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_184, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(350, 10) `r.kind == resN"
"one` ", 132);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_188, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(323, 10) `r.kind == resN"
"one` ", 132);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_191, "& 0xff", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_192, "& 0xffff", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_193, ">>> 0", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_195, "+", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_196, "-", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_197, "*", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_198, "/", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_199, "addInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_200, "subInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_201, "mulInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_202, "divInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_203, "modInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_204, "nimMin", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_205, "nimMax", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_206, "negInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_207, "negInt64", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_208, "absInt", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_209, "Ze8ToI", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_210, "Ze8ToI64", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_211, "Ze16ToI", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_212, "Ze16ToI64", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_213, "Ze32ToI64", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_214, "ZeIToI64", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_215, "toU8", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_216, "toU16", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_217, "toU32", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_218, "nimCharToStr", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_219, "nimBoolToStr", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_220, "cstrToNimstr", 12);
NIM_CONST tyArray_7sH9biSA9clAbQQE5XRAv25Q jsMagics_QXSBsb0PxIS2yQAUDBHd9cQ = {{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_199),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_200),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_201),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_202),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_203),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_199),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_200),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_204),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_204)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_205),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_205)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_204),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_204)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_205),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_205)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_206),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_207),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_208),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_209),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_209)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_210),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_210)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_211),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_211)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_212),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_212)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_213),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_213)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_214),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_214)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_215),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_215)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_216),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_216)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_217),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_217)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_218),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_218)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_219),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_219)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220)}
,
{((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220),
((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220)}
,
{((NimStringDesc*) NIM_NIL),
((NimStringDesc*) NIM_NIL)}
}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_221, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(645, 12) `false` ", 120);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_222, "(", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_223, "reprAny", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_224, ", null", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_225, ")", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_226, "reprInt", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_227, "reprChar", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_228, "reprBool", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_229, "reprFloat", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_230, "reprStr", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_231, "reprEnum", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_232, "reprSet", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_233, "\'repr\' doesn\'t support \'void\' type", 34);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_234, "reprPointer", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_235, "reprJSONStringify", 17);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_236, "genSwap", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_237, "$1 - 1", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_238, "$2", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_239, "subInt($1, 1)", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_240, "addChar", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_245, "eqStrings", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_246, "cmpStrings", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_247, "($1 == null)", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_248, "($1 \? 1:0)", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_249, "genOrd", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_250, "($1 != null \? $2.length : 0)", 28);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_251, "$1.length", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_252, "($1 != null \? ($2.length-1) : -1)", 33);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_253, "mnewString", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_254, "SetCard", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_255, "SetCard($1)", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_256, "SetLt", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_257, "SetLe", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_258, "SetEq", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_259, "SetMul", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_260, "SetPlus", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_261, "SetMinus", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_262, "[]", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_263, "isObj", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_264, "genericReset", 12);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_265 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1561),
((NI) 17)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_266, "toJSStr", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_267, "rawEcho", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_268, "rawEcho(", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_270, "\'$1\' can only be used in compile-time context", 45);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_271, "mnewString($1)", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_272, "mnewString(0)", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_273, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1442, 9) `typ.kind == ty"
"Proc` ", 133);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_274, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1443, 9) `sonsLen(typ) ="
"= sonsLen(typ.n)` ", 145);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_276, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1450, 13) `typ.n.sons[i]"
".kind == nkSym` ", 143);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_281, "nimParseBiggestFloat", 20);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_282 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1527),
((NI) 19)}
;
static NIM_CONST tySet_tyChar_nmiMWKVIe46vacnhAFrQvw TM_BxLwT0mhrtgTPodf1v3xjg_283 = {
0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_284, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1530, 13) `typ.kind == t"
"yProc` ", 134);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_285, "wrong importcpp pattern; expected parameter at position ", 56);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_286, " but got only: ", 15);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_288, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1478, 11) `typ.n.sons[i]"
".kind == nkSym` ", 143);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_294, "#", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_296, "@", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_301, "cannot invoke with infix syntax", 31);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_302, ".", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_303, "setConstr", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_304, "setConstr(", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_307, "ConstSet", 8);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_310 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 2135),
((NI) 19)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_312, "genAddr: 3", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_313, "[0]", 3);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_314, "genAddr: 2", 10);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_315 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1147),
((NI) 17)}
;
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_317 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1159),
((NI) 17)}
;
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_318 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1163),
((NI) 17)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_319, "raiseFieldError", 15);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_320, "Field", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_321, "genFieldPosition", 16);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_322, "genFieldAddr", 12);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_323 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 1113),
((NI) 17)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_324, "genFieldAccess", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_325, "chckIndx", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_326, "expr(nkBracketExpr, ", 20);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_327, "genAddr: ", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_328, "genDeref", 8);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_329, "genArrayAccess", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_330, "0xfe", 4);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_331, "0xfffe", 6);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_332, "0xfffffffe", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_333, "chckRange", 9);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_334, "chckRangeF", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_335, "chckRange64", 11);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_336, "convStrToCStr", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_337, "convCStrToStr", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_341, "genBlock", 8);
NIM_CONST tyTuple_kN8up2W6YKc5YA9avn5mV5w TM_BxLwT0mhrtgTPodf1v3xjg_350 = {((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_137),
((NI) 697),
((NI) 17)}
;
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_357, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1763, 15) `a.kind == nkI"
"dentDefs` ", 137);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_358, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(1764, 15) `a.sons[0].kin"
"d == nkSym` ", 139);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_360, "for statement not eliminated", 28);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_363, "jsgen.genCaseStmt: 2", 20);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_369, "jsgen.genCaseStmt", 17);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_371, "genReturnStmt", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_372, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(917, 11) `n.sons[0].kind"
" == nkSym` ", 138);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_373, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(919, 11) `sym.loc.k == l"
"ocOther` ", 136);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_377, "no loop to break", 16);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_378, "genAsgn", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_381, "++excHandler;\012", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_382, "F", 1);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_383, " = framePtr;\012", 13);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_385, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/jsgen.nim(792, 20) `orExpr == nil`"
" ", 128);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_386, "genTryStmt", 10);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_387, "||", 2);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_389, "else ", 5);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_392, "reraiseException", 16);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_393, "else {\012", 7);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_394, "\011reraiseException();\012", 21);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_395, "} finally {\012", 12);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_396, "raiseException", 14);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_397, "reraiseException();\012", 20);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_399, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/lib/system/iterators.nim(190, 11) `len(a) ="
"= L` the length of the seq changed while iterating over it", 185);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_400, "first class iterators not implemented", 37);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_401, "gen: unknown node type: ", 24);
STRING_LITERAL(TM_BxLwT0mhrtgTPodf1v3xjg_407, "0.20.0", 6);
static N_NIMCALL(void, Marker_tyRef_O09bHTFgtn9cJLLJxiNhuKUA)(void* p, NI op) {
	tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* a;
	a = (tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*)p;
	nimGCvisit((void*)(*a).module, op);
	nimGCvisit((void*)(*a).graph, op);
	nimGCvisit((void*)(*a).config, op);
	nimGCvisit((void*)(*a).sigConflicts.data, op);
}

static N_INLINE(void, incRef_AT1eRuflKWyTTBdLjEDZbg_3system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU64)((*c).refcount) + (NU64)(((NI) 8)));
}

static N_INLINE(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem)(void* usr) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* result;
	result = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	result = ((tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*) ((NI)((NU64)(((NI) (ptrdiff_t) (usr))) - (NU64)(((NI) 16)))));
	return result;
}

static N_INLINE(void, rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	addZCT_Y66tOYFjgwJ0k4aLz4bc0Q((&gch_IcYaEuuWivYAS86vFMTS3Q.zct), c);
}

static N_INLINE(void, decRef_AT1eRuflKWyTTBdLjEDZbgsystem)(tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* c) {
	(*c).refcount = (NI)((NU64)((*c).refcount) - (NU64)(((NI) 8)));
	{
		if (!((NU64)((*c).refcount) < (NU64)(((NI) 8)))) goto LA3_;
		rtlAddZCT_AT1eRuflKWyTTBdLjEDZbg_2system(c);
	}
	LA3_: ;
}

static N_INLINE(void, asgnRef)(void** dest, void* src) {
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T5_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T5_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(src);
		incRef_AT1eRuflKWyTTBdLjEDZbg_3system(T5_);
	}
	LA3_: ;
	{
		tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T10_;
		if (!!(((*dest) == NIM_NIL))) goto LA8_;
		T10_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
		T10_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem((*dest));
		decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T10_);
	}
	LA8_: ;
	(*dest) = src;
}
static N_NIMCALL(void, Marker_tyRef_Q8XTeJJ39cPFyNvJXj9bmcMQ)(void* p, NI op) {
	tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* a;
	NI T1_;
	NI T2_;
	a = (tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*)p;
	nimGCvisit((void*)(*a).typeInfo, op);
	nimGCvisit((void*)(*a).constants, op);
	nimGCvisit((void*)(*a).code, op);
	nimGCvisit((void*)(*a).forwarded, op);
	nimGCvisit((void*)(*a).generatedSyms.head, op);
	nimGCvisit((void*)(*a).generatedSyms.data, op);
	T1_ = (NI)0;
	nimGCvisit((void*)(*a).typeInfoGenerated.head, op);
	nimGCvisit((void*)(*a).typeInfoGenerated.data, op);
	T2_ = (NI)0;
}

static N_INLINE(void, nimGCunrefRC1)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*, newGlobals_so1C5JeNzMQaRWt046X3Rw)(void) {
	tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* result;
	result = (tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*)0;
	result = (tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*) newObj((&NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_), sizeof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag));
	(*result).Sup.m_type = (&NTI_nWsHZg3qCUsABoCNYLliag_);
	if ((*result).forwarded) { nimGCunrefRC1((*result).forwarded); (*result).forwarded = NIM_NIL; }
	initIntSet_n8oDZMn19bEdodSnrBQB9a1Q((&(*result).generatedSyms));
	initIntSet_n8oDZMn19bEdodSnrBQB9a1Q((&(*result).typeInfoGenerated));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*, newModule_uTAIZZefAFwU7gogglQHZw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* g, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* module) {
	tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* result;
	result = (tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*)0;
	result = (tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*) newObj((&NTI_O09bHTFgtn9cJLLJxiNhuKUA_), sizeof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw));
	(*result).Sup.Sup.m_type = (&NTI_qij68Ti2EwJQHH6sSdkSdw_);
	asgnRef((void**) (&(*result).module), module);
	initCountTable_wWvh9aBvC7U2mbRYPFlmaXA(((NI) 64), (&(*result).sigConflicts));
	{
		tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* T5_;
		if (!((*g).backend == NIM_NIL)) goto LA3_;
		T5_ = (tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*)0;
		T5_ = newGlobals_so1C5JeNzMQaRWt046X3Rw();
		asgnRef((void**) (&(*g).backend), &T5_->Sup);
	}
	LA3_: ;
	asgnRef((void**) (&(*result).graph), g);
	asgnRef((void**) (&(*result).config), (*g).config);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w*, myOpen_gLZYKlu4ac5hh8GLNkHarg)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* result;
	tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* T1_;
	result = (tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w*)0;
	T1_ = (tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*)0;
	T1_ = newModule_uTAIZZefAFwU7gogglQHZw(graph, s);
	result = &T1_->Sup;
	return result;
}

static N_INLINE(NIM_BOOL, skipCodegen_nwSFZweO0MiC1cK59cLXWvgpasses)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((NI) 0) < (*config).errorCounter);
	return result;
}
static N_NIMCALL(void, Marker_tySequence_8fytVdU59b5aj319cog2ztLw)(void* p, NI op) {
	tySequence_8fytVdU59b5aj319cog2ztLw* a;
	NI T1_;
	a = (tySequence_8fytVdU59b5aj319cog2ztLw*)p;
	T1_ = (NI)0;
}
static N_NIMCALL(void, Marker_tyRef_OFWibP8T8afo89apFNGZiwA)(void* p, NI op) {
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* a;
	NI T1_;
	NI T2_;
	a = (tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*)p;
	nimGCvisit((void*)(*a).procDef, op);
	nimGCvisit((void*)(*a).prc, op);
	nimGCvisit((void*)(*a).globals, op);
	nimGCvisit((void*)(*a).locals, op);
	nimGCvisit((void*)(*a).body, op);
	nimGCvisit((void*)(*a).module, op);
	nimGCvisit((void*)(*a).g, op);
	nimGCvisit((void*)(*a).generatedParamCopies.head, op);
	nimGCvisit((void*)(*a).generatedParamCopies.data, op);
	T1_ = (NI)0;
	nimGCvisit((void*)(*a).blocks, op);
	nimGCvisit((void*)(*a).up, op);
	nimGCvisit((void*)(*a).declaredGlobals.head, op);
	nimGCvisit((void*)(*a).declaredGlobals.data, op);
	T2_ = (NI)0;
}

static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
	tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g* T1_;
	T1_ = (tyObject_Cell_1zcF9cV8XIAtbN8h5HRUB8g*)0;
	T1_ = usrToCell_QFQqcLB3lgOdwipkv9a60xwsystem(p);
	decRef_AT1eRuflKWyTTBdLjEDZbgsystem(T1_);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*, newProc_T4OlZpX8DqYbIlMcOrFsUQ)(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* globals, tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* module, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* procDef, tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg options) {
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* result;
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* T1_;
	result = (tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*)0;
	T1_ = (tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*)0;
	T1_ = (tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*) newObj((&NTI_OFWibP8T8afo89apFNGZiwA_), sizeof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q));
	if ((*T1_).blocks) { nimGCunrefNoCycle((*T1_).blocks); (*T1_).blocks = NIM_NIL; }
	(*T1_).options = options;
	asgnRef((void**) (&(*T1_).module), module);
	asgnRef((void**) (&(*T1_).procDef), procDef);
	asgnRef((void**) (&(*T1_).g), globals);
	(*T1_).extraIndent = ((NI) (!((procDef == NIM_NIL))));
	result = T1_;
	{
		if (!!((procDef == NIM_NIL))) goto LA4_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*procDef).kind)>>3] &(1U<<((NU)((*procDef).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*procDef).sons ? (*procDef).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*procDef).sons ? (*procDef).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*procDef).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*procDef).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		asgnRef((void**) (&(*result).prc), (*(*procDef).sons->data[((NI) 0)]).sym);
	}
	LA4_: ;
	return result;
}

static N_INLINE(NI, addInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, indentLine_jQGcsbXjMm82EQo5Ohqg0w)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* r) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p_2;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	result = r;
	p_2 = p;
	{
		while (1) {
			{
				NI i;
				NI colontmp_;
				NI T4_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_11;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				T4_ = ((*p_2).blocks ? (*p_2).blocks->Sup.len : 0);
				TM_BxLwT0mhrtgTPodf1v3xjg_11 = addInt(T4_, (*p_2).extraIndent);
				colontmp_ = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_11);
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
						NI TM_BxLwT0mhrtgTPodf1v3xjg_13;
						if (!(i_2 < colontmp_)) goto LA6;
						i = i_2;
						T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T7_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_12));
						prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&result, T7_);
						TM_BxLwT0mhrtgTPodf1v3xjg_13 = addInt(i_2, ((NI) 1));
						i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_13);
					} LA6: ;
				}
			}
			{
				NIM_BOOL T10_;
				T10_ = (NIM_BOOL)0;
				T10_ = ((*p_2).up == NIM_NIL);
				if (T10_) goto LA11_;
				T10_ = !(((*(*p_2).up).prc == (*(*p_2).prc).owner));
				LA11_: ;
				if (!T10_) goto LA12_;
				goto LA1;
			}
			LA12_: ;
			p_2 = (*p_2).up;
		}
	} LA1: ;
	return result;
}

static N_INLINE(void, nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}

static N_INLINE(void, nimZeroMem)(void* p, NI size) {
	nimSetMem_zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, frameCreate_5xQGffjrmjbHfz64yWZ49bw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* procname, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* filename) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T1_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T2_;
	tyArray_qTjAvTvKF9anytN1At69aJMQ T3_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T4_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T5_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = procname;
	T1_[1] = filename;
	T2_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T2_ = percent__AxDJCYpgPoquRsZtiOnpRw(T1_, 2);
	result = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T2_);
	nimZeroMem((void*)T3_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
	T4_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = percent__dU9cenGIcVUltUO1088LhYQ(T3_, 0);
	T5_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T4_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&result, T5_);
	return result;
}

static N_INLINE(NI, chckRange)(NI i, NI a, NI b) {
	NI result;
{	result = (NI)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (a <= i);
		if (!(T3_)) goto LA4_;
		T3_ = (i <= b);
		LA4_: ;
		if (!T3_) goto LA5_;
		result = i;
		goto BeforeRet_;
	}
	goto LA1_;
	LA5_: ;
	{
		raiseRangeError(((NI64) (i)));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}

static N_INLINE(void, copyMem_i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}

static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		if (!!((src == NIM_NIL))) goto LA3_;
		copyMem_i80o3k0SgEI5gTRCzYdyWAsystem(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, escapeJSString_yJnBaOMN1AufVWf0jGrqcg)(NimStringDesc* s) {
	NimStringDesc* result;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_15;
	result = (NimStringDesc*)0;
	TM_BxLwT0mhrtgTPodf1v3xjg_15 = addInt((s ? s->Sup.len : 0), (NI)((NI64)((s ? s->Sup.len : 0)) >> (NU64)(((NI) 2))));
	result = rawNewString(((NI)chckRange((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_15), ((NI) 0), ((NI) IL64(9223372036854775807)))));
	result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_14));
	{
		NIM_CHAR c;
		NI i;
		NI L;
		c = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (s ? s->Sup.len : 0);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_25;
				if (!(i < L)) goto LA3;
				if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
				c = s->data[i];
				switch (((NU8)(c))) {
				case 10:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_16));
				}
				break;
				case 13:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_17));
				}
				break;
				case 9:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_18));
				}
				break;
				case 8:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_19));
				}
				break;
				case 7:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_20));
				}
				break;
				case 27:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_21));
				}
				break;
				case 11:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_22));
				}
				break;
				case 92:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_23));
				}
				break;
				case 34:
				{
					result = resizeString(result, 2);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_24));
				}
				break;
				default:
				{
					result = addChar(result, c);
				}
				break;
				}
				TM_BxLwT0mhrtgTPodf1v3xjg_25 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_25);
				{
					if (!!(((s ? s->Sup.len : 0) == L))) goto LA16_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_26));
				}
				LA16_: ;
			} LA3: ;
		}
	}
	result = resizeString(result, 1);
appendString(result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_14));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw)(NimStringDesc* s, NIM_BOOL escapeNonAscii) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* T5_;
		if (!escapeNonAscii) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = nsuEscape(s, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_14), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_14));
		result = rope_yShmEg9cffWxI7s5XzEKBow(T5_);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T7_;
		T7_ = (NimStringDesc*)0;
		T7_ = escapeJSString_yJnBaOMN1AufVWf0jGrqcg(s);
		result = rope_yShmEg9cffWxI7s5XzEKBow(T7_);
	}
	LA1_: ;
	return result;
}

static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	return result;
}

static N_INLINE(NI, safeLen_P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	result = (NI)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 0) && (*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23))) goto LA3_;
		result = ((NI) 0);
	}
	goto LA1_;
	LA3_: ;
	{
		result = len_P89cqdlERShb9alU3iC0yj8wast(n);
	}
	LA1_: ;
	return result;
}

static N_INLINE(NI, subInt)(NI a, NI b) {
	NI result;
{	result = (NI)0;
	result = (NI)((NU64)(a) - (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) <= (NI)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (((NI) 0) <= (NI)(result ^ (NI)((NU64) ~(b))));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA, mapType_3fHLBKCveV5k5hDCMQOL2g)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	result = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(typ, IL64(36134350135273744));
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 47):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T4_;
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T5_;
			T4_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T4_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
			T5_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T5_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(T4_, IL64(36134350135273744));
			if (!((IL64(281475111911424) &((NU64)1<<((NU)((*T5_).kind)&63U)))!=0)) goto LA6_;
			result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8);
		}
		goto LA2_;
		LA6_: ;
		{
			result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 13):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 15):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 50):
	{
		if ((NU)(((NI) 0)) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*t).sons ? (*t).sons->Sup.len : 0)-1);
		result = mapType_3fHLBKCveV5k5hDCMQOL2g((*t).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 35):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 5);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 3);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 6);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 4);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 48):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 49):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 5):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 1);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 12):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 10):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 9):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 0):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 61):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 30):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 3):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 6):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 7):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 8):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 51):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 54):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 56):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 57):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 58):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 59):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 63):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 55):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 52):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 53):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T20_;
		T20_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T20_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(typ);
		result = mapType_3fHLBKCveV5k5hDCMQOL2g(T20_);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T26_;
			if (!!(((*t).n == NIM_NIL))) goto LA24_;
			T26_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T26_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
			result = mapType_3fHLBKCveV5k5hDCMQOL2g(T26_);
		}
		goto LA22_;
		LA24_: ;
		{
			result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
		}
		LA22_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 2);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29):
	{
		result = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 7);
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsNoCopy_AeBLus9crC8L5HbMOYikwJw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* y) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	NIM_BOOL T4_;
	tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T5_;
	NIM_BOOL T7_;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T10_;
{	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((TM_BxLwT0mhrtgTPodf1v3xjg_35[(NU)((*y).kind)>>3] &(1U<<((NU)((*y).kind)&7U)))!=0);
	if (T1_) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T4_ = (NIM_BOOL)0;
	T5_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
	T5_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*y).typ);
	T4_ = !((T5_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)));
	if (T4_) goto LA6_;
	T7_ = (NIM_BOOL)0;
	T7_ = ((*y).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
	if (!(T7_)) goto LA8_;
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*y).kind)>>3] &(1U<<((NU)((*y).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	T7_ = ((*(*y).sym).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 3));
	LA8_: ;
	T4_ = T7_;
	LA6_: ;
	T3_ = T4_;
	if (!(T3_)) goto LA9_;
	T10_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T10_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*y).typ, IL64(36134350135273744));
	T3_ = ((IL64(211104670171142) &((NU64)1<<((NU)((*T10_).kind)&63U)))!=0);
	LA9_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genEnumInfo_EoO5XDgy69ax76bvbHbf27w)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name) {
	NI length;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* n;
	tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T19_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T20_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T21_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T22_;
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ((*typ).n);
	s = NIM_NIL;
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* field;
				NimStringDesc* extName;
				tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T17_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_41;
				if (!(i_2 < length)) goto LA3;
				i = i_2;
				{
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
					if (!!(((*(*(*typ).n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA6_;
					internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*(*typ).n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_37));
				}
				LA6_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*(*typ).n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*(*typ).n).sons->data[i]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
				field = (*(*(*typ).n).sons->data[i]).sym;
				{
					if (!(((NI) 0) < i)) goto LA10_;
					add_yG4AKzsBRS1W4MANDlXQeg(&s, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_38));
				}
				LA10_: ;
				{
					if (!((*field).ast == NIM_NIL)) goto LA14_;
					extName = (*(*field).name).s;
				}
				goto LA12_;
				LA14_: ;
				{
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*(*field).ast).kind)>>3] &(1U<<((NU)((*(*field).ast).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
					extName = (*(*field).ast).strVal;
				}
				LA12_: ;
				nimZeroMem((void*)T17_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
				T17_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*field).position)));
				T17_[1] = name;
				T17_[2] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(extName, NIM_TRUE);
				T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T18_ = percent__gGKEcvCOVzpTQoSXzO01Dw(T17_, 3);
				add_IM4kcMNkkOLJtqdEqSxR8A(&s, T18_);
				TM_BxLwT0mhrtgTPodf1v3xjg_41 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_41);
			} LA3: ;
		}
	}
	nimZeroMem((void*)T19_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
	T19_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T19_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (length)));
	T19_[2] = s;
	n = percent__LMnNsJkYlruXHnF5LV9c3pA(T19_, 3);
	nimZeroMem((void*)T20_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T20_[0] = name;
	T20_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).kind)));
	s = percent__uJ11bTQ8dBBAX88A2cyICw(T20_, 2);
	prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, n);
	nimZeroMem((void*)T21_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T21_[0] = name;
	T21_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T22_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T22_ = percent__2D3IUNoEAKKLxuRqVNosPQ(T21_, 2);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T22_);
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T27_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
		if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
		if (!!(((*typ).sons->data[((NI) 0)] == NIM_NIL))) goto LA25_;
		nimZeroMem((void*)T27_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T27_[0] = name;
		if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
		T27_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*typ).sons->data[((NI) 0)]);
		T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = percent__HUHatwko3S0fuszXQAOSQQ(T27_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T28_);
	}
	LA25_: ;
}

static N_INLINE(NIM_BOOL, objHasTypeField_RtD7YfxmsbodfSCx5S9bFnAjsgen)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 3))&63U)))!=0);
	if (T1_) goto LA2_;
	if ((NU)(((NI) 0)) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*t).sons ? (*t).sons->Sup.len : 0)-1);
	T1_ = !(((*t).sons->data[((NI) 0)] == NIM_NIL));
	LA2_: ;
	result = T1_;
	return result;
}

static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}

static N_INLINE(NIM_BOOL, equalMem_9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}

static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem_9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, validJsName_DirUT0y4T1sHsJo7dddJ2w)(NimStringDesc* name) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_TRUE;
	switch (hashString(name) & 63) {
	case 0: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_74))) goto LA1_;
break;
	case 1: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_82))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_102))) goto LA1_;
break;
	case 3: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_94))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_98))) goto LA1_;
break;
	case 4: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_71))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_84))) goto LA1_;
break;
	case 7: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_45))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_70))) goto LA1_;
break;
	case 8: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_87))) goto LA1_;
break;
	case 10: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_77))) goto LA1_;
break;
	case 11: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_73))) goto LA1_;
break;
	case 13: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_80))) goto LA1_;
break;
	case 15: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_46))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_92))) goto LA1_;
break;
	case 17: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_91))) goto LA1_;
break;
	case 19: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_67))) goto LA1_;
break;
	case 20: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_55))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_79))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_89))) goto LA1_;
break;
	case 21: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_53))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_59))) goto LA1_;
break;
	case 22: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_104))) goto LA1_;
break;
	case 23: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_56))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_81))) goto LA1_;
break;
	case 24: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_90))) goto LA1_;
break;
	case 25: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_47))) goto LA1_;
break;
	case 26: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_52))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_88))) goto LA1_;
break;
	case 29: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_51))) goto LA1_;
break;
	case 30: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_103))) goto LA1_;
break;
	case 34: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_75))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_83))) goto LA1_;
break;
	case 36: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_57))) goto LA1_;
break;
	case 37: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_85))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_96))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_100))) goto LA1_;
break;
	case 38: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_48))) goto LA1_;
break;
	case 40: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_95))) goto LA1_;
break;
	case 42: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_63))) goto LA1_;
break;
	case 44: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_60))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_72))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_78))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_86))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_99))) goto LA1_;
break;
	case 45: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_69))) goto LA1_;
break;
	case 47: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_54))) goto LA1_;
break;
	case 48: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_68))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_101))) goto LA1_;
break;
	case 49: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_62))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_66))) goto LA1_;
break;
	case 50: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_64))) goto LA1_;
break;
	case 54: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_76))) goto LA1_;
break;
	case 55: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_43))) goto LA1_;
break;
	case 56: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_65))) goto LA1_;
break;
	case 57: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_93))) goto LA1_;
break;
	case 59: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_50))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_97))) goto LA1_;
break;
	case 61: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_44))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_58))) goto LA1_;
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_61))) goto LA1_;
break;
	case 62: 
if (eqStrings(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_49))) goto LA1_;
break;
	}
	goto LA2_;
	LA1_: ;
	{
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	goto LA3_;
	LA2_: ;
	{
	}
	LA3_: ;
	{
		if ((NU)(((NI) 0)) >= (NU)(name ? name->Sup.len : 0)) raiseIndexError2(((NI) 0),(name ? name->Sup.len : 0)-1);
		if (!(((NU8)(name->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(name->data[((NI) 0)])) <= ((NU8)(57)))) goto LA8_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA8_: ;
	{
		NIM_CHAR chr;
		NI i;
		NI L;
		chr = (NIM_CHAR)0;
		i = ((NI) 0);
		L = (name ? name->Sup.len : 0);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_105;
				if (!(i < L)) goto LA12;
				if ((NU)(i) >= (NU)(name ? name->Sup.len : 0)) raiseIndexError2(i,(name ? name->Sup.len : 0)-1);
				chr = name->data[i];
				{
					if (!!((((NU8)(chr)) >= ((NU8)(65)) && ((NU8)(chr)) <= ((NU8)(90)) || ((NU8)(chr)) >= ((NU8)(97)) && ((NU8)(chr)) <= ((NU8)(122)) || ((NU8)(chr)) == ((NU8)(95)) || ((NU8)(chr)) == ((NU8)(36)) || ((NU8)(chr)) >= ((NU8)(48)) && ((NU8)(chr)) <= ((NU8)(57))))) goto LA15_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
				LA15_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_105 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_105);
				{
					if (!!(((name ? name->Sup.len : 0) == L))) goto LA19_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_26));
				}
				LA19_: ;
			} LA12: ;
		}
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, mangleName_VbRtGjpKYj6Wtc1GdNdKhg)(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	result = (*s).loc.r;
	{
		if (!(result == NIM_NIL)) goto LA3_;
		{
			NIM_BOOL T7_;
			T7_ = (NIM_BOOL)0;
			T7_ = ((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 19));
			if (!(T7_)) goto LA8_;
			T7_ = validJsName_DirUT0y4T1sHsJo7dddJ2w((*(*s).name).s);
			LA8_: ;
			if (!T7_) goto LA9_;
			result = rope_yShmEg9cffWxI7s5XzEKBow((*(*s).name).s);
		}
		goto LA5_;
		LA9_: ;
		{
			NimStringDesc* T14_;
			if (!((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 5))) goto LA12_;
			T14_ = (NimStringDesc*)0;
			T14_ = mangle_GxzvEIRbrShQbyJNboTw7A((*(*s).name).s);
			result = rope_yShmEg9cffWxI7s5XzEKBow(T14_);
		}
		goto LA5_;
		LA12_: ;
		{
			NimStringDesc* x;
			NI i;
			x = rawNewString(((NI)chckRange(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0), ((NI) 0), ((NI) IL64(9223372036854775807)))));
			i = ((NI) 0);
			{
				while (1) {
					NIM_CHAR c;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_110;
					if (!(i < ((*(*s).name).s ? (*(*s).name).s->Sup.len : 0))) goto LA17;
					if ((NU)(i) >= (NU)((*(*s).name).s ? (*(*s).name).s->Sup.len : 0)) raiseIndexError2(i,((*(*s).name).s ? (*(*s).name).s->Sup.len : 0)-1);
					c = (*(*s).name).s->data[i];
					switch (((NU8)(c))) {
					case 65 ... 90:
					{
						NI TM_BxLwT0mhrtgTPodf1v3xjg_107;
						NI TM_BxLwT0mhrtgTPodf1v3xjg_108;
						{
							NIM_BOOL T21_;
							NI TM_BxLwT0mhrtgTPodf1v3xjg_106;
							T21_ = (NIM_BOOL)0;
							T21_ = (((NI) 0) < i);
							if (!(T21_)) goto LA22_;
							TM_BxLwT0mhrtgTPodf1v3xjg_106 = subInt(i, ((NI) 1));
							if ((NU)((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_106)) >= (NU)((*(*s).name).s ? (*(*s).name).s->Sup.len : 0)) raiseIndexError2((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_106),((*(*s).name).s ? (*(*s).name).s->Sup.len : 0)-1);
							T21_ = (((NU8)((*(*s).name).s->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_106)])) >= ((NU8)(97)) && ((NU8)((*(*s).name).s->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_106)])) <= ((NU8)(122)));
							LA22_: ;
							if (!T21_) goto LA23_;
							x = addChar(x, 95);
						}
						LA23_: ;
						TM_BxLwT0mhrtgTPodf1v3xjg_107 = subInt(((NU8)(c)), ((NI) 65));
						TM_BxLwT0mhrtgTPodf1v3xjg_108 = addInt((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_107), ((NI) 97));
						x = addChar(x, ((NIM_CHAR) (((NI)chckRange((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_108), ((NI) 0), ((NI) 255))))));
					}
					break;
					case 97 ... 122:
					case 95:
					case 48 ... 57:
					{
						x = addChar(x, c);
					}
					break;
					default:
					{
						NimStringDesc* T27_;
						NimStringDesc* T28_;
						T27_ = (NimStringDesc*)0;
						T28_ = (NimStringDesc*)0;
						T28_ = nsuToHex(((NI64) (((NU8)(c)))), ((NI) 2));
						T27_ = rawNewString((T28_ ? T28_->Sup.len : 0) + 3);
appendString(T27_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_109));
appendString(T27_, T28_);
						x = resizeString(x, (T27_ ? T27_->Sup.len : 0) + 0);
appendString(x, T27_);
					}
					break;
					}
					TM_BxLwT0mhrtgTPodf1v3xjg_110 = addInt(i, ((NI) 1));
					i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_110);
				} LA17: ;
			}
			result = rope_yShmEg9cffWxI7s5XzEKBow(x);
		}
		LA5_: ;
		{
			if (!!(((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA31_;
			{
				NIM_BOOL T35_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T38_;
				T35_ = (NIM_BOOL)0;
				T35_ = hcrOn_UhPXgqyDuuU9cKcS8FM883w((*m).config);
				if (!T35_) goto LA36_;
				T38_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T38_ = idOrSig_sKAFwdXn9cKHxc9cdaovk69cA(s, (*(*(*m).module).name).s, (&(*m).sigConflicts));
				add_IM4kcMNkkOLJtqdEqSxR8A(&result, T38_);
			}
			goto LA33_;
			LA36_: ;
			{
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T40_;
				add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_111));
				T40_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T40_ = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*s).Sup.id)));
				add_IM4kcMNkkOLJtqdEqSxR8A(&result, T40_);
			}
			LA33_: ;
		}
		LA31_: ;
		asgnRef((void**) (&(*s).loc.r), result);
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* u;
	NI length;
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* field;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	s = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	u = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	length = (NI)0;
	field = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	b = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = NIM_NIL;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		{
			if (!(length == ((NI) 1))) goto LA4_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			result = genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g(p, typ, (*n).sons->data[((NI) 0)]);
		}
		goto LA2_;
		LA4_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T15_;
			s = NIM_NIL;
			{
				NI i;
				NI i_2;
				i = (NI)0;
				i_2 = ((NI) 0);
				{
					while (1) {
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
						NI TM_BxLwT0mhrtgTPodf1v3xjg_42;
						if (!(i_2 < length)) goto LA9;
						i = i_2;
						{
							if (!(((NI) 0) < i)) goto LA12_;
							add_yG4AKzsBRS1W4MANDlXQeg(&s, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_38));
						}
						LA12_: ;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T14_ = genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g(p, typ, (*n).sons->data[i]);
						add_IM4kcMNkkOLJtqdEqSxR8A(&s, T14_);
						TM_BxLwT0mhrtgTPodf1v3xjg_42 = addInt(i_2, ((NI) 1));
						i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_42);
					} LA9: ;
				}
			}
			nimZeroMem((void*)T15_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T15_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (length)));
			T15_[1] = s;
			result = percent__Ht0mWR3LosfEZ8SopJcmEA(T15_, 2);
		}
		LA2_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T17_;
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		field = (*n).sym;
		s = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*field).typ);
		nimZeroMem((void*)T17_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T17_[0] = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, field);
		T17_[1] = s;
		T17_[2] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*(*field).name).s, NIM_TRUE);
		result = percent__GweM9byC8cQI9cehUzlYVs5A(T17_, 3);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		tyArray_duFhZXIIlrbrM62cWjNekg T61_;
		NI64 T62_;
		length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA21_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_112));
		}
		LA21_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		field = (*(*n).sons->data[((NI) 0)]).sym;
		s = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*field).typ);
		{
			NI i_3;
			NI i_4;
			i_3 = (NI)0;
			i_4 = ((NI) 1);
			{
				while (1) {
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T58_;
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T59_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T60_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_118;
					if (!(i_4 < length)) goto LA25;
					i_3 = i_4;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i_3) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_3,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					b = (*n).sons->data[i_3];
					u = NIM_NIL;
					switch ((*b).kind) {
					case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
					{
						{
							NI T29_;
							T29_ = (NI)0;
							T29_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(b);
							if (!(T29_ < ((NI) 2))) goto LA30_;
							internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*b).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_113));
						}
						LA30_: ;
						{
							NI j;
							NI colontmp_;
							NI T33_;
							NI TM_BxLwT0mhrtgTPodf1v3xjg_114;
							NI res;
							j = (NI)0;
							colontmp_ = (NI)0;
							T33_ = (NI)0;
							T33_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(b);
							TM_BxLwT0mhrtgTPodf1v3xjg_114 = subInt(T33_, ((NI) 2));
							colontmp_ = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_114);
							res = ((NI) 0);
							{
								while (1) {
									NI TM_BxLwT0mhrtgTPodf1v3xjg_116;
									if (!(res <= colontmp_)) goto LA35;
									j = res;
									{
										if (!!((u == NIM_NIL))) goto LA38_;
										add_yG4AKzsBRS1W4MANDlXQeg(&u, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
									}
									LA38_: ;
									{
										tyArray_mrugoXXRZUEeG9bEXo9auBKw T44_;
										NI64 T45_;
										NI64 T46_;
										tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T47_;
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(j) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(j,((*b).sons ? (*b).sons->Sup.len : 0)-1);
										if (!((*(*b).sons->data[j]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA42_;
										nimZeroMem((void*)T44_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(j) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(j,((*b).sons ? (*b).sons->Sup.len : 0)-1);
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*b).sons->data[j]).kind)>>3] &(1U<<((NU)((*(*b).sons->data[j]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(((NI) 0)) >= (NU)((*(*b).sons->data[j]).sons ? (*(*b).sons->data[j]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*b).sons->data[j]).sons ? (*(*b).sons->data[j]).sons->Sup.len : 0)-1);
										T45_ = (NI64)0;
										T45_ = getOrdValue_MzTDl1zEXJLD4sql7PhCwA((*(*b).sons->data[j]).sons->data[((NI) 0)]);
										T44_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(T45_);
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(j) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(j,((*b).sons ? (*b).sons->Sup.len : 0)-1);
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*b).sons->data[j]).kind)>>3] &(1U<<((NU)((*(*b).sons->data[j]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(((NI) 1)) >= (NU)((*(*b).sons->data[j]).sons ? (*(*b).sons->data[j]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*b).sons->data[j]).sons ? (*(*b).sons->data[j]).sons->Sup.len : 0)-1);
										T46_ = (NI64)0;
										T46_ = getOrdValue_MzTDl1zEXJLD4sql7PhCwA((*(*b).sons->data[j]).sons->data[((NI) 1)]);
										T44_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(T46_);
										T47_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
										T47_ = percent__Xnze9a4kYSwHurdPnhyNGzQ(T44_, 2);
										add_IM4kcMNkkOLJtqdEqSxR8A(&u, T47_);
									}
									goto LA40_;
									LA42_: ;
									{
										NI64 T49_;
										tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T50_;
										if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
										if ((NU)(j) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(j,((*b).sons ? (*b).sons->Sup.len : 0)-1);
										T49_ = (NI64)0;
										T49_ = getOrdValue_MzTDl1zEXJLD4sql7PhCwA((*b).sons->data[j]);
										T50_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
										T50_ = rope_KOisMGxcPhz6CcSmxgwEQQ(T49_);
										add_IM4kcMNkkOLJtqdEqSxR8A(&u, T50_);
									}
									LA40_: ;
									TM_BxLwT0mhrtgTPodf1v3xjg_116 = addInt(res, ((NI) 1));
									res = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_116);
								} LA35: ;
							}
						}
					}
					break;
					case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
					{
						NI64 T52_;
						T52_ = (NI64)0;
						T52_ = lengthOrd_4cSIntenL9aBXY6LAFsvXdQ_2((*(*p).module).config, (*field).typ);
						u = rope_KOisMGxcPhz6CcSmxgwEQQ(T52_);
					}
					break;
					default:
					{
						internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_117));
					}
					break;
					}
					{
						if (!!((result == NIM_NIL))) goto LA56_;
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_38));
					}
					LA56_: ;
					nimZeroMem((void*)T58_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T58_[0] = u;
					T59_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
					T59_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(b);
					T58_[1] = genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g(p, typ, T59_);
					T60_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T60_ = percent__sGaOrvR5YSM9cGUajaqcNOw(T58_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&result, T60_);
					TM_BxLwT0mhrtgTPodf1v3xjg_118 = addInt(i_4, ((NI) 1));
					i_4 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_118);
				} LA25: ;
			}
		}
		nimZeroMem((void*)T61_, sizeof(tyArray_duFhZXIIlrbrM62cWjNekg));
		T61_[0] = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, field);
		T61_[1] = s;
		T62_ = (NI64)0;
		T62_ = lengthOrd_4cSIntenL9aBXY6LAFsvXdQ_2((*(*p).module).config, (*field).typ);
		T61_[2] = rope_KOisMGxcPhz6CcSmxgwEQQ(T62_);
		T61_[3] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*(*field).name).s, NIM_TRUE);
		T61_[4] = result;
		result = percent__GF60428RM29aXV0LYutm9aOA(T61_, 5);
	}
	break;
	default:
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_112));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genObjectInfo_EoO5XDgy69ax76bvbHbf27w_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name) {
	tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kind;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T7_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T8_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T10_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = objHasTypeField_RtD7YfxmsbodfSCx5S9bFnAjsgen(typ);
		if (!T3_) goto LA4_;
		kind = ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17);
	}
	goto LA1_;
	LA4_: ;
	{
		kind = ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18);
	}
	LA1_: ;
	nimZeroMem((void*)T7_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T7_[0] = name;
	T7_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (kind)));
	s = percent__uJ11bTQ8dBBAX88A2cyICw(T7_, 2);
	prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s);
	nimZeroMem((void*)T8_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T8_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T8_[1] = genObjectFields_9cYkCneeT9aY9avg49aE6JtN6g(p, typ, (*typ).n);
	T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = percent__o7SGM9buciKf5BOjTvMKA7w(T8_, 2);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T9_);
	nimZeroMem((void*)T10_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T10_[0] = name;
	T10_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = percent__2D3IUNoEAKKLxuRqVNosPQ(T10_, 2);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T11_);
	{
		NIM_BOOL T14_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T18_;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T19_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		T14_ = (NIM_BOOL)0;
		T14_ = ((*typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17));
		if (!(T14_)) goto LA15_;
		if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
		T14_ = !(((*typ).sons->data[((NI) 0)] == NIM_NIL));
		LA15_: ;
		if (!T14_) goto LA16_;
		nimZeroMem((void*)T18_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T18_[0] = name;
		if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
		T19_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T19_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*typ).sons->data[((NI) 0)], IL64(36275087638268176));
		T18_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, T19_);
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = percent__HUHatwko3S0fuszXQAOSQQ(T18_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T20_);
	}
	LA16_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genTupleFields_jZNTi9aEbLMAMESBZ7a9cl7A_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T10_;
	NI T11_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	s = NIM_NIL;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2(typ);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyArray_mrugoXXRZUEeG9bEXo9auBKw T8_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_119;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_yG4AKzsBRS1W4MANDlXQeg(&s, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_38));
				}
				LA6_: ;
				nimZeroMem((void*)T8_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
				T8_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (i)));
				if ((NU)(i) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(i,((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
				T8_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*typ).sons->data[i]);
				T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T9_ = percent__ciTj4q9cGhcXiXY9bPemZVvw(T8_, 2);
				add_IM4kcMNkkOLJtqdEqSxR8A(&s, T9_);
				TM_BxLwT0mhrtgTPodf1v3xjg_119 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_119);
			} LA3: ;
		}
	}
	nimZeroMem((void*)T10_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T11_ = (NI)0;
	T11_ = len_eY4T6kWJb9a9aTWUufrTLjXg_2(typ);
	T10_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (T11_)));
	T10_[1] = s;
	result = percent__Ht0mWR3LosfEZ8SopJcmEA(T10_, 2);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genTupleInfo_EoO5XDgy69ax76bvbHbf27w_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T1_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T2_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T4_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T5_;
	nimZeroMem((void*)T1_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T1_[0] = name;
	T1_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).kind)));
	s = percent__uJ11bTQ8dBBAX88A2cyICw(T1_, 2);
	prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s);
	nimZeroMem((void*)T2_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T2_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T2_[1] = genTupleFields_jZNTi9aEbLMAMESBZ7a9cl7A_2(p, typ);
	T3_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__o7SGM9buciKf5BOjTvMKA7w(T2_, 2);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T3_);
	nimZeroMem((void*)T4_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T4_[0] = name;
	T4_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*typ).Sup.id)));
	T5_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T5_ = percent__2D3IUNoEAKKLxuRqVNosPQ(T4_, 2);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T5_);
}

static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T1_;
{	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(typ, IL64(105553116276752));
	nimZeroMem((void*)T1_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T1_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*t).Sup.id)));
	result = percent__FLXrAGf7HFTHIGh8Xuickg(T1_, 1);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*(*p).g).typeInfoGenerated), (*t).Sup.id);
		if (!T4_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 13):
	{
		if ((NU)(((NI) 0)) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*t).sons ? (*t).sons->Sup.len : 0)-1);
		result = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*t).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T9_;
		nimZeroMem((void*)T9_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T9_[0] = result;
		T9_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*t).kind)));
		s = percent__hmfCuT8fgBmRlPR25L7ZOw(T9_, 2);
		prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 47):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s_2;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T11_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T12_;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		nimZeroMem((void*)T11_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = result;
		T11_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*t).kind)));
		s_2 = percent__hmfCuT8fgBmRlPR25L7ZOw(T11_, 2);
		prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s_2);
		nimZeroMem((void*)T12_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T12_[0] = result;
		T13_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T13_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
		T12_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, T13_);
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__HUHatwko3S0fuszXQAOSQQ(T12_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T14_);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s_3;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T17_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
		nimZeroMem((void*)T16_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = result;
		T16_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*t).kind)));
		s_3 = percent__hmfCuT8fgBmRlPR25L7ZOw(T16_, 2);
		prepend_IM4kcMNkkOLJtqdEqSxR8A_2(&(*(*p).g).typeInfo, s_3);
		nimZeroMem((void*)T17_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T17_[0] = result;
		if ((NU)(((NI) 1)) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*t).sons ? (*t).sons->Sup.len : 0)-1);
		T17_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*t).sons->data[((NI) 1)]);
		T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = percent__HUHatwko3S0fuszXQAOSQQ(T17_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).typeInfo, T18_);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 14):
	{
		genEnumInfo_EoO5XDgy69ax76bvbHbf27w(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		genObjectInfo_EoO5XDgy69ax76bvbHbf27w_2(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		genTupleInfo_EoO5XDgy69ax76bvbHbf27w_3(p, t, result);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T27_;
			if (!!(((*t).n == NIM_NIL))) goto LA25_;
			T27_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T27_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
			result = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, T27_);
		}
		goto LA23_;
		LA25_: ;
		{
			NimStringDesc* T29_;
			T29_ = (NimStringDesc*)0;
			T29_ = rawNewString((reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
appendString(T29_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_120));
appendString(T29_, reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T29_, 41);
			internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T29_);
		}
		LA23_: ;
	}
	break;
	default:
	{
		NimStringDesc* T31_;
		T31_ = (NimStringDesc*)0;
		T31_ = rawNewString((reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 13);
appendString(T31_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_120));
appendString(T31_, reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T31_, 41);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T31_);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genCopyForParamIfNeeded_AQaGEWMAoGSH1pqI9bePiww_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* owner;
{	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	s = (*n).sym;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*p).prc == (*s).owner);
		if (T3_) goto LA4_;
		T3_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, n);
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	owner = (*p).up;
	{
		while (1) {
			{
				NimStringDesc* T13_;
				if (!(owner == NIM_NIL)) goto LA11_;
				T13_ = (NimStringDesc*)0;
				T13_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 55);
appendString(T13_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_36));
appendString(T13_, (*(*s).name).s);
				internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T13_);
			}
			LA11_: ;
			{
				if (!((*owner).prc == (*s).owner)) goto LA16_;
				{
					NIM_BOOL T20_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* copy;
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T23_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T24_;
					T20_ = (NIM_BOOL)0;
					T20_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*owner).generatedParamCopies), (*s).Sup.id);
					if (!!(T20_)) goto LA21_;
					nimZeroMem((void*)T23_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T23_[0] = (*s).loc.r;
					T23_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*s).typ);
					copy = percent__amX0pef5rA4JAmWZ6ZB2Nw(T23_, 2);
					T24_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T24_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(owner, copy);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*owner).locals, T24_);
				}
				LA21_: ;
				goto BeforeRet_;
			}
			LA16_: ;
			owner = (*owner).up;
		}
	}
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA, mapType_ZlkXBdJTrpToZuRLq31tLQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA result;
	result = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
	result = mapType_3fHLBKCveV5k5hDCMQOL2g(typ);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, putToSeq_iEKLYo8HXYG9auKlJ6tkKKw)(NimStringDesc* s, NIM_BOOL indirect) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	result = rope_yShmEg9cffWxI7s5XzEKBow(s);
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T5_;
		if (!indirect) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = result;
		result = percent__mPpmmd13MIZLTbd1oOdSkw(T5_, 1);
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, arrayTypeForElemType_Ef4AI5l7XLzo8SqxARtdiQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	switch ((*typ).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 34):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_128));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 33):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_129));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 32):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_130));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 43):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_131));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 42):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_132));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 41):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_133));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 37):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_134));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 38):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 36):
	{
		result = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_135));
	}
	break;
	default:
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}

static N_INLINE(NIM_BOOL, isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = ((IL64(1152921504606847232) &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, generateHeader_jZNTi9aEbLMAMESBZ7a9cl7A_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	result = NIM_NIL;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ((*typ).n);
		i_2 = ((NI) 1);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_139;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* param;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name;
					{
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
						if (!!(((*(*(*typ).n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA7_;
						failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_138));
					}
					LA7_: ;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*(*typ).n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*(*typ).n).sons->data[i]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
					param = (*(*(*typ).n).sons->data[i]).sym;
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types((*param).typ);
						if (!T11_) goto LA12_;
						goto LA4;
					}
					LA12_: ;
					{
						if (!!((result == NIM_NIL))) goto LA16_;
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
					}
					LA16_: ;
					name = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, param);
					add_IM4kcMNkkOLJtqdEqSxR8A(&result, name);
					{
						tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T20_;
						T20_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
						T20_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*param).typ);
						if (!(T20_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA21_;
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
						add_IM4kcMNkkOLJtqdEqSxR8A(&result, name);
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_121));
					}
					LA21_: ;
				} LA4: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_139 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_139);
			} LA3: ;
		}
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, optionalLine_VuwqVIjxPGcoTVF06Jgl6w)(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* p) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
{	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!(p == NIM_NIL)) goto LA3_;
		result = NIM_NIL;
		goto BeforeRet_;
	}
	goto LA1_;
	LA3_: ;
	{
		result = amp__Z7W1o5nPSc3ExfO5f7j1Gg(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_143));
		goto BeforeRet_;
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasFrameInfo_eUoj4FPs7h9bV16Cz4RajiA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((196608 & (*p).options) == 196608);
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = ((*p).prc == NIM_NIL);
	if (T3_) goto LA4_;
	T3_ = !((((*(*p).prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, frameDestroy_XP5ZeYFuxYow89aSkFgfWeg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T1_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_144));
	result = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T1_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genProcBody_ByRZ0N9c4W9b5ThEZxre89cFg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NIM_BOOL T3_;
		NimStringDesc* T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		NimStringDesc* T8_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasFrameInfo_eUoj4FPs7h9bV16Cz4RajiA(p);
		if (!T3_) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = rawNewString(((*(*(*prc).owner).name).s ? (*(*(*prc).owner).name).s->Sup.len : 0) + ((*(*prc).name).s ? (*(*prc).name).s->Sup.len : 0) + 1);
appendString(T6_, (*(*(*prc).owner).name).s);
appendChar(T6_, 46);
appendString(T6_, (*(*prc).name).s);
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T6_, NIM_TRUE);
		T8_ = (NimStringDesc*)0;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = ((*prc).info.fileIndex < ((NI32) 0));
			if (T11_) goto LA12_;
			T11_ = ((*(*p).module).config == NIM_NIL);
			LA12_: ;
			if (!T11_) goto LA13_;
			T8_ = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_28));
		}
		goto LA9_;
		LA13_: ;
		{
			{
				if (!(((*(*(*p).module).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA18_;
				if ((NU)((*prc).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*prc).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T8_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*prc).info.fileIndex].fullPath);
			}
			goto LA16_;
			LA18_: ;
			{
				if ((NU)((*prc).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*prc).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T8_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*prc).info.fileIndex].projPath);
			}
			LA16_: ;
		}
		LA9_: ;
		T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T8_, NIM_TRUE);
		result = frameCreate_5xQGffjrmjbHfz64yWZ49bw(p, T7_, T21_);
	}
	goto LA1_;
	LA4_: ;
	{
		result = NIM_NIL;
	}
	LA1_: ;
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T27_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyArray_qTjAvTvKF9anytN1At69aJMQ T30_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T31_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T32_;
		if (!(*p).beforeRetNeeded) goto LA25_;
		nimZeroMem((void*)T27_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = percent__hFzCKQOJ8Eao2AJk5HOvxA(T27_, 0);
		T29_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T28_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&result, T29_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&result, (*p).body);
		nimZeroMem((void*)T30_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T31_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = percent__62079cK9bsws1aAJqEmAGo6w(T30_, 0);
		T32_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T31_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&result, T32_);
	}
	goto LA23_;
	LA25_: ;
	{
		add_IM4kcMNkkOLJtqdEqSxR8A(&result, (*p).body);
	}
	LA23_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T38_;
		if (!((*(*prc).typ).callConv == ((tyEnum_TCallingConvention_yjAJ8w0h1PBaSwSGJ3P7IA) 4))) goto LA36_;
		nimZeroMem((void*)T38_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T38_[0] = result;
		result = percent__hO1UTpWJhaojnhUyqfmgPQ(T38_, 1);
	}
	LA36_: ;
	{
		NIM_BOOL T41_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T44_;
		T41_ = (NIM_BOOL)0;
		T41_ = hasFrameInfo_eUoj4FPs7h9bV16Cz4RajiA(p);
		if (!T41_) goto LA42_;
		T44_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T44_ = frameDestroy_XP5ZeYFuxYow89aSkFgfWeg(p);
		add_IM4kcMNkkOLJtqdEqSxR8A(&result, T44_);
	}
	LA42_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genProc_VRfKzQHOMcRGtJXZSJxFtg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* oldProc, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* resultSym;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* returnStmt;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* resultAsgn;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* name;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* header;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* transformed_body;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_140;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_141;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* def;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_146;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T61_;
	tyArray_qTjAvTvKF9anytN1At69aJMQ T62_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T63_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T64_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	resultSym = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	p = newProc_T4OlZpX8DqYbIlMcOrFsUQ((*oldProc).g, (*oldProc).module, (*prc).ast, (*prc).options);
	asgnRef((void**) (&(*p).up), oldProc);
	returnStmt = NIM_NIL;
	resultAsgn = NIM_NIL;
	name = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, prc);
	header = generateHeader_jZNTi9aEbLMAMESBZ7a9cl7A_3(p, (*prc).typ);
	{
		NIM_BOOL T3_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* mname;
		T3_ = (NIM_BOOL)0;
		if ((NU)(((NI) 0)) >= (NU)((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*prc).typ).sons ? (*(*prc).typ).sons->Sup.len : 0)-1);
		T3_ = !(((*(*prc).typ).sons->data[((NI) 0)] == NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = !((((*prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0));
		LA4_: ;
		if (!T3_) goto LA5_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*prc).ast).kind)>>3] &(1U<<((NU)((*(*prc).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 7)) >= (NU)((*(*prc).ast).sons ? (*(*prc).ast).sons->Sup.len : 0)) raiseIndexError2(((NI) 7),((*(*prc).ast).sons ? (*(*prc).ast).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*(*prc).ast).sons->data[((NI) 7)]).kind)>>3] &(1U<<((NU)((*(*(*prc).ast).sons->data[((NI) 7)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		resultSym = (*(*(*prc).ast).sons->data[((NI) 7)]).sym;
		mname = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, resultSym);
		{
			NIM_BOOL T9_;
			NIM_BOOL T10_;
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v;
			NIM_BOOL T11_;
			NIM_BOOL T12_;
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T17_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T20_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T22_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T23_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T24_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NIM_BOOL)0;
			v = resultSym;
			T11_ = (NIM_BOOL)0;
			T12_ = (NIM_BOOL)0;
			T12_ = !(((32776 & (*v).flags) == 0));
			if (!(T12_)) goto LA13_;
			T12_ = ((96 & (*v).flags) == 0);
			LA13_: ;
			T11_ = T12_;
			if (!(T11_)) goto LA14_;
			T11_ = !(((128544 &(1U<<((NU)((*v).kind)&31U)))!=0));
			LA14_: ;
			T10_ = !(T11_);
			if (!(T10_)) goto LA15_;
			T10_ = ((IL64(175921875124224) &((NU64)1<<((NU)((*(*resultSym).typ).kind)&63U)))!=0);
			LA15_: ;
			T9_ = T10_;
			if (!(T9_)) goto LA16_;
			T17_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T17_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*resultSym).typ);
			T9_ = (T17_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
			LA16_: ;
			if (!T9_) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T20_[0] = mname;
			T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = percent__3RPy0XXevrEBMts1Mb9arGw(T20_, 1);
			resultAsgn = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T21_);
			nimZeroMem((void*)T22_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T22_[0] = mname;
			T23_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T23_ = percent__gqwqalZtiJtCgAF9bY5S6qQ(T22_, 1);
			T24_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T24_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T23_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&resultAsgn, T24_);
		}
		goto LA7_;
		LA18_: ;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* resVar;
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_2;
			NIM_BOOL T26_;
			NIM_BOOL T27_;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T30_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T31_;
			v_2 = resultSym;
			T26_ = (NIM_BOOL)0;
			T27_ = (NIM_BOOL)0;
			T27_ = !(((32776 & (*v_2).flags) == 0));
			if (!(T27_)) goto LA28_;
			T27_ = ((96 & (*v_2).flags) == 0);
			LA28_: ;
			T26_ = T27_;
			if (!(T26_)) goto LA29_;
			T26_ = !(((128544 &(1U<<((NU)((*v_2).kind)&31U)))!=0));
			LA29_: ;
			resVar = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, (*resultSym).typ, T26_);
			nimZeroMem((void*)T30_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T30_[0] = mname;
			T30_[1] = resVar;
			T31_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T31_ = percent__G9bYX9bu7ufcttiARCDUJ0qg(T30_, 2);
			resultAsgn = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T31_);
		}
		LA7_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*prc).ast).kind)>>3] &(1U<<((NU)((*(*prc).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 7)) >= (NU)((*(*prc).ast).sons ? (*(*prc).ast).sons->Sup.len : 0)) raiseIndexError2(((NI) 7),((*(*prc).ast).sons ? (*(*prc).ast).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*prc).ast).sons->data[((NI) 7)], (&a));
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T34_;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T37_;
			T34_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T34_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*resultSym).typ);
			if (!(T34_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA35_;
			nimZeroMem((void*)T37_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T37_[0] = a.address;
			T37_[1] = a.res;
			returnStmt = percent__W0CV9bE9bNiLgazfFZjoQCBg(T37_, 2);
		}
		goto LA32_;
		LA35_: ;
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T39_;
			nimZeroMem((void*)T39_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T39_[0] = a.res;
			returnStmt = percent__ecC7jlB6gBWrt0K9byHohPw(T39_, 1);
		}
		LA32_: ;
	}
	LA5_: ;
	transformed_body = transformBody_gFZW9bFffCiuUrdu3Rnih2g((*(*oldProc).module).graph, prc, NIM_FALSE, NIM_FALSE);
	TM_BxLwT0mhrtgTPodf1v3xjg_140 = addInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_140);
	genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, transformed_body);
	TM_BxLwT0mhrtgTPodf1v3xjg_141 = subInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_141);
	def = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		NimStringDesc* T44_;
		tyArray_wm6rkCVggH4IozhLUEP19bg T45_;
		tyArray_qTjAvTvKF9anytN1At69aJMQ T46_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T47_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T48_;
		if (!!(((*prc).constraint == 0))) goto LA42_;
		T44_ = (NimStringDesc*)0;
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*(*prc).constraint).kind)>>3] &(1U<<((NU)((*(*prc).constraint).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
		T44_ = rawNewString(((*(*prc).constraint).strVal ? (*(*prc).constraint).strVal->Sup.len : 0) + 14);
appendString(T44_, (*(*prc).constraint).strVal);
appendString(T44_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_142));
		nimZeroMem((void*)T45_, sizeof(tyArray_wm6rkCVggH4IozhLUEP19bg));
		nimZeroMem((void*)T46_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T45_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T46_, 0);
		T45_[1] = name;
		T45_[2] = header;
		T45_[3] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w((*p).globals);
		T45_[4] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w((*p).locals);
		T45_[5] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(resultAsgn);
		T47_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T47_ = genProcBody_ByRZ0N9c4W9b5ThEZxre89cFg(p, prc);
		T45_[6] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(T47_);
		T48_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, returnStmt);
		T45_[7] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(T48_);
		def = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T44_, T45_, 8);
	}
	goto LA40_;
	LA42_: ;
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T50_;
		tyArray_YcHYlgE5mhtkt9a3rnoucVg T58_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T59_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T60_;
		nimZeroMem((void*)T50_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		result = percent__wlKCT75QSpBNooI9a2xvWeQ(T50_, 0);
		{
			NIM_BOOL T53_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* thunkName;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T56_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T57_;
			T53_ = (NIM_BOOL)0;
			T53_ = hcrOn_UhPXgqyDuuU9cKcS8FM883w((*(*p).module).config);
			if (!T53_) goto LA54_;
			thunkName = name;
			name = amp__Z7W1o5nPSc3ExfO5f7j1Gg(name, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_145));
			nimZeroMem((void*)T56_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T56_[0] = thunkName;
			T56_[1] = name;
			T57_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T57_ = percent__uD0SC9bUeWpB9cK7V1aBT9aNQ(T56_, 2);
			add_IM4kcMNkkOLJtqdEqSxR8A(&result, T57_);
		}
		LA54_: ;
		nimZeroMem((void*)T58_, sizeof(tyArray_YcHYlgE5mhtkt9a3rnoucVg));
		T58_[0] = name;
		T58_[1] = header;
		T58_[2] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w((*p).globals);
		T58_[3] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w((*p).locals);
		T58_[4] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(resultAsgn);
		T59_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T59_ = genProcBody_ByRZ0N9c4W9b5ThEZxre89cFg(p, prc);
		T58_[5] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(T59_);
		T60_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T60_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, returnStmt);
		T58_[6] = optionalLine_VuwqVIjxPGcoTVF06Jgl6w(T60_);
		def = percent__Uez7zQbKzeDFToq2Yh43bA(T58_, 7);
	}
	LA40_: ;
	TM_BxLwT0mhrtgTPodf1v3xjg_146 = subInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_146);
	T61_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T61_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, def);
	add_IM4kcMNkkOLJtqdEqSxR8A(&result, T61_);
	nimZeroMem((void*)T62_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
	T63_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T63_ = percent__BYiowJAm8zF7RBRISElaLg(T62_, 0);
	T64_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T64_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T63_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&result, T64_);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, useMagic_4MoUWv1cpa6oOBwwpQ0wfA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, NimStringDesc* name) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
{	{
		if (!((name ? name->Sup.len : 0) == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	s = getCompilerProc_4qXS5VHrKJ5hq9crvvz8tIA((*(*p).module).graph, name);
	{
		if (!!((s == NIM_NIL))) goto LA7_;
		{
			NimStringDesc* T13_;
			if (!!(((94208 &(1U<<((NU)((*s).kind)&31U)))!=0))) goto LA11_;
			T13_ = (NimStringDesc*)0;
			T13_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_136);
			internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T13_);
		}
		LA11_: ;
		{
			NIM_BOOL T16_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* code;
			T16_ = (NIM_BOOL)0;
			T16_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*(*p).g).generatedSyms), (*s).Sup.id);
			if (!!(T16_)) goto LA17_;
			code = genProc_VRfKzQHOMcRGtJXZSJxFtg(p, s);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).constants, code);
		}
		LA17_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		{
			NimStringDesc* T24_;
			if (!!(((*p).prc == NIM_NIL))) goto LA22_;
			T24_ = (NimStringDesc*)0;
			T24_ = rawNewString((name ? name->Sup.len : 0) + 21);
appendString(T24_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_147));
appendString(T24_, name);
			globalError_NF6kBGchnhQYPbCedyefVA_2((*(*p).module).config, (*(*p).prc).info, T24_);
		}
		goto LA20_;
		LA22_: ;
		{
			NimStringDesc* T26_;
			T26_ = (NimStringDesc*)0;
			T26_ = rawNewString((name ? name->Sup.len : 0) + 21);
appendString(T26_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_147));
appendString(T26_, name);
			rawMessage_h30HgTFwbGq0PsyHmRqZ8g((*(*p).module).config, ((tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w) 9), T26_);
		}
		LA20_: ;
	}
	LA5_: ;
	}BeforeRet_: ;
}

static N_INLINE(NIM_BOOL, isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (t == NIM_NIL);
	if (T1_) goto LA2_;
	T1_ = ((IL64(-9223372036854775680) &((NU64)1<<((NU)((*t).kind)&63U)))!=0);
	LA2_: ;
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* rec, tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* excludedFieldIDs, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** output) {
{	switch ((*rec).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(rec);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_BxLwT0mhrtgTPodf1v3xjg_156;
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*rec).sons ? (*rec).sons->Sup.len : 0)) raiseIndexError2(i,((*rec).sons ? (*rec).sons->Sup.len : 0)-1);
					createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA(p, (*rec).sons->data[i], excludedFieldIDs, output);
					TM_BxLwT0mhrtgTPodf1v3xjg_156 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_156);
				} LA4: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*rec).sons ? (*rec).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*rec).sons ? (*rec).sons->Sup.len : 0)-1);
		createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA(p, (*rec).sons->data[((NI) 0)], excludedFieldIDs, output);
		{
			NI i_3;
			NI colontmp__2;
			NI i_4;
			i_3 = (NI)0;
			colontmp__2 = (NI)0;
			colontmp__2 = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(rec);
			i_4 = ((NI) 1);
			{
				while (1) {
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T9_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_157;
					if (!(i_4 < colontmp__2)) goto LA8;
					i_3 = i_4;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i_3) >= (NU)((*rec).sons ? (*rec).sons->Sup.len : 0)) raiseIndexError2(i_3,((*rec).sons ? (*rec).sons->Sup.len : 0)-1);
					T9_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
					T9_ = lastSon_UPSW0jLTX5qJL51YMUAHgw((*rec).sons->data[i_3]);
					createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA(p, T9_, excludedFieldIDs, output);
					TM_BxLwT0mhrtgTPodf1v3xjg_157 = addInt(i_4, ((NI) 1));
					i_4 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_157);
				} LA8: ;
			}
		}
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		{
			NIM_BOOL T13_;
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T13_ = (NIM_BOOL)0;
			T13_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*(*rec).sym).typ);
			if (!T13_) goto LA14_;
			goto BeforeRet_;
		}
		LA14_: ;
		{
			NIM_BOOL T18_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T26_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T27_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T18_ = (NIM_BOOL)0;
			T18_ = contains_R6uRTGpl30Ofaw4Ni3vawA(excludedFieldIDs, (*(*rec).sym).Sup.id);
			if (!!(T18_)) goto LA19_;
			{
				NI T23_;
				T23_ = (NI)0;
				T23_ = len_9b0YRltzV3kNSE9aQTsG82wg((*output));
				if (!(((NI) 0) < T23_)) goto LA24_;
				add_yG4AKzsBRS1W4MANDlXQeg(output, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
			}
			LA24_: ;
			nimZeroMem((void*)T26_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T26_[0] = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, (*rec).sym);
			T27_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T27_ = percent__S6XcU2shl8EfYxL7utXbwg(T26_, 1);
			add_IM4kcMNkkOLJtqdEqSxR8A(output, T27_);
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*rec).kind)>>3] &(1U<<((NU)((*rec).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T28_ = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, (*(*rec).sym).typ, NIM_FALSE);
			add_IM4kcMNkkOLJtqdEqSxR8A(output, T28_);
		}
		LA19_: ;
	}
	break;
	default:
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*rec).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_158));
	}
	break;
	}
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, createObjInitList_lQPYSYugh4oxbm9bTJCSJoA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg* excludedFieldIDs, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA** output) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	t = typ;
	{
		NIM_BOOL T3_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T11_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
		T3_ = (NIM_BOOL)0;
		T3_ = objHasTypeField_RtD7YfxmsbodfSCx5S9bFnAjsgen(t);
		if (!T3_) goto LA4_;
		{
			NI T8_;
			T8_ = (NI)0;
			T8_ = len_9b0YRltzV3kNSE9aQTsG82wg((*output));
			if (!(((NI) 0) < T8_)) goto LA9_;
			add_yG4AKzsBRS1W4MANDlXQeg(output, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
		}
		LA9_: ;
		nimZeroMem((void*)T11_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T11_[0] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = percent__tnP9cO5PduJRSEeqtm9bocEg(T11_, 1);
		add_IM4kcMNkkOLJtqdEqSxR8A(output, T12_);
	}
	LA4_: ;
	{
		while (1) {
			if (!!((t == NIM_NIL))) goto LA14;
			t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(t, IL64(36275087638268176));
			createRecordVarAux_yyLC0N4Jogp3ojVKBnvQXA(p, (*t).n, excludedFieldIDs, output);
			if ((NU)(((NI) 0)) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*t).sons ? (*t).sons->Sup.len : 0)-1);
			t = (*t).sons->data[((NI) 0)];
		} LA14: ;
	}
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, createVar_K9ag9aJJIngrApxv9aEbfdhIQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, NIM_BOOL indirect) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(typ, IL64(36134350135273744));
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 35):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_125), indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_126), indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 20):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 11):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 4):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 46):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 45):
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T4_;
		T4_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T4_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(typ);
		result = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, T4_, indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_127), indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_63), indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16):
	{
		NI length;
		NI64 T8_;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* e;
		NimStringDesc* jsTyp;
		T8_ = (NI64)0;
		T8_ = lengthOrd_4cSIntenL9aBXY6LAFsvXdQ_2((*(*p).module).config, t);
		length = ((NI) (T8_));
		e = elemType_PfgI9ap7WOnsRfFV4znQ27w_2(t);
		jsTyp = arrayTypeForElemType_Ef4AI5l7XLzo8SqxARtdiQ(e);
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T13_;
			if (!(((NI) 0) < (jsTyp ? jsTyp->Sup.len : 0))) goto LA11_;
			nimZeroMem((void*)T13_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T13_[0] = rope_yShmEg9cffWxI7s5XzEKBow(jsTyp);
			T13_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (length)));
			result = percent__Th3qC4WgcAhWPSlLw7vZ9cg(T13_, 2);
		}
		goto LA9_;
		LA11_: ;
		{
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T17_;
			if (!(((NI) 32) < length)) goto LA15_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_148));
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
			nimZeroMem((void*)T17_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T17_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (length)));
			T17_[1] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, e, NIM_FALSE);
			T17_[2] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, e);
			result = percent__JbygmsEkVsyK85BPVFvwbg(T17_, 3);
		}
		goto LA9_;
		LA15_: ;
		{
			NI i;
			result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_150));
			i = ((NI) 0);
			{
				while (1) {
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T25_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_151;
					if (!(i < length)) goto LA20;
					{
						if (!(((NI) 0) < i)) goto LA23_;
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
					}
					LA23_: ;
					T25_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T25_ = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, e, NIM_FALSE);
					add_IM4kcMNkkOLJtqdEqSxR8A(&result, T25_);
					TM_BxLwT0mhrtgTPodf1v3xjg_151 = addInt(i, ((NI) 1));
					i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_151);
				} LA20: ;
			}
			add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_152));
		}
		LA9_: ;
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T30_;
			if (!indirect) goto LA28_;
			nimZeroMem((void*)T30_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T30_[0] = result;
			result = percent__mPpmmd13MIZLTbd1oOdSkw(T30_, 1);
		}
		LA28_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_153));
		{
			NI i_2;
			NI colontmp_;
			NI i_3;
			i_2 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(t);
			i_3 = ((NI) 0);
			{
				while (1) {
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T39_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T40_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_154;
					if (!(i_3 < colontmp_)) goto LA34;
					i_2 = i_3;
					{
						if (!(((NI) 0) < i_2)) goto LA37_;
						add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
					}
					LA37_: ;
					nimZeroMem((void*)T39_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T39_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (i_2)));
					if ((NU)(i_2) >= (NU)((*t).sons ? (*t).sons->Sup.len : 0)) raiseIndexError2(i_2,((*t).sons ? (*t).sons->Sup.len : 0)-1);
					T39_[1] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, (*t).sons->data[i_2], NIM_FALSE);
					T40_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T40_ = percent__HLoe040Vi0LPzmTid9aLGdw(T39_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&result, T40_);
					TM_BxLwT0mhrtgTPodf1v3xjg_154 = addInt(i_3, ((NI) 1));
					i_3 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_154);
				} LA34: ;
			}
		}
		add_yG4AKzsBRS1W4MANDlXQeg(&result, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_155));
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T45_;
			if (!indirect) goto LA43_;
			nimZeroMem((void*)T45_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T45_[0] = result;
			result = percent__mPpmmd13MIZLTbd1oOdSkw(T45_, 1);
		}
		LA43_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 17):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* initList;
		tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg T47_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T48_;
		initList = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		nimZeroMem((void*)(&T47_), sizeof(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg));
		initIntSet_n8oDZMn19bEdodSnrBQB9a1Q((&T47_));
		createObjInitList_lQPYSYugh4oxbm9bTJCSJoA(p, t, (&T47_), &initList);
		nimZeroMem((void*)T48_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T48_[0] = initList;
		result = percent__Bym8FwH29aQE8fth9ar38yJQ(T48_, 1);
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T53_;
			if (!indirect) goto LA51_;
			nimZeroMem((void*)T53_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T53_[0] = result;
			result = percent__mPpmmd13MIZLTbd1oOdSkw(T53_, 1);
		}
		LA51_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 47):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 22):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26):
	{
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T57_;
			T57_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T57_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, t);
			if (!(T57_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA58_;
			result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_159), indirect);
		}
		goto LA55_;
		LA58_: ;
		{
			result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_81), indirect);
		}
		LA55_: ;
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 62):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25):
	{
		result = putToSeq_iEKLYo8HXYG9auKlJ6tkKKw(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_81), indirect);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 60):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T67_;
			if (!!(((*t).n == NIM_NIL))) goto LA65_;
			T67_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T67_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(t);
			result = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, T67_, indirect);
		}
		goto LA63_;
		LA65_: ;
		{
			NimStringDesc* T69_;
			T69_ = (NimStringDesc*)0;
			T69_ = rawNewString((reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 11);
appendString(T69_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_160));
appendString(T69_, reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
			internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T69_);
			result = NIM_NIL;
		}
		LA63_: ;
	}
	break;
	default:
	{
		NimStringDesc* T71_;
		T71_ = (NimStringDesc*)0;
		T71_ = rawNewString((reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 11);
appendString(T71_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_160));
appendString(T71_, reprEnum((NI)(*t).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T71_);
		result = NIM_NIL;
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, getTemp_EG8bDinaW3fVLpok9a4s5cA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, NIM_BOOL defineInLocals) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_164;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T1_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	TM_BxLwT0mhrtgTPodf1v3xjg_164 = addInt((*p).unique, ((NI) 1));
	(*p).unique = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_164);
	nimZeroMem((void*)T1_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T1_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*p).unique)));
	result = percent__CSdlEV0i9aXEHNuC1G9aIEbw(T1_, 1);
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T8_;
		if (!defineInLocals) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = result;
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__TLpRy9aDJ1Ni4vccOIoiMbA(T6_, 1);
		T8_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T7_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).locals, T8_);
	}
	LA4_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genVarInit_iVEhpHbcyNY9aOzPqLze8xw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* s;
	NimStringDesc* varCode;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* varName;
	NIM_BOOL useReloadingGuard;
	NIM_BOOL T1_;
{	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	s = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	varCode = (NimStringDesc*)0;
	varName = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, v);
	T1_ = (NIM_BOOL)0;
	T1_ = (((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 3))&63U)))!=0);
	if (!(T1_)) goto LA2_;
	T1_ = hcrOn_UhPXgqyDuuU9cKcS8FM883w((*(*p).module).config);
	LA2_: ;
	useReloadingGuard = T1_;
	{
		if (!((*v).constraint == 0)) goto LA5_;
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T11_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T13_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T14_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T16_;
			NI TM_BxLwT0mhrtgTPodf1v3xjg_122;
			if (!useReloadingGuard) goto LA9_;
			nimZeroMem((void*)T11_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T11_[0] = varName;
			T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = percent__TLpRy9aDJ1Ni4vccOIoiMbA(T11_, 1);
			T13_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T13_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T12_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T13_);
			nimZeroMem((void*)T14_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T14_[0] = varName;
			T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = percent__Z1QwTAihBHnxe59cytXnhmw(T14_, 1);
			T16_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T15_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T16_);
			varCode = dollar__mZ66tEveFIQokq3arf8Klw(varName);
			TM_BxLwT0mhrtgTPodf1v3xjg_122 = addInt((*p).extraIndent, ((NI) 1));
			(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_122);
		}
		goto LA7_;
		LA9_: ;
		{
			varCode = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_123));
		}
		LA7_: ;
	}
	goto LA3_;
	LA5_: ;
	{
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*(*v).constraint).kind)>>3] &(1U<<((NU)((*(*v).constraint).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
		varCode = copyString((*(*v).constraint).strVal);
	}
	LA3_: ;
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA21_;
		{
			NIM_BOOL T25_;
			NIM_BOOL T26_;
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_2;
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T33_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T36_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T37_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T39_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T40_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T41_;
			T25_ = (NIM_BOOL)0;
			T26_ = (NIM_BOOL)0;
			v_2 = v;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T28_ = !(((32776 & (*v_2).flags) == 0));
			if (!(T28_)) goto LA29_;
			T28_ = ((96 & (*v_2).flags) == 0);
			LA29_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA30_;
			T27_ = !(((128544 &(1U<<((NU)((*v_2).kind)&31U)))!=0));
			LA30_: ;
			T26_ = !(T27_);
			if (!(T26_)) goto LA31_;
			T26_ = ((IL64(175921875124224) &((NU64)1<<((NU)((*(*v).typ).kind)&63U)))!=0);
			LA31_: ;
			T25_ = T26_;
			if (!(T25_)) goto LA32_;
			T33_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T33_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*v).typ);
			T25_ = (T33_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
			LA32_: ;
			if (!T25_) goto LA34_;
			nimZeroMem((void*)T36_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T36_[0] = varName;
			T37_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T37_ = percent__XZnCV59at0sqX6ShEjlFLgw(T36_, 1);
			T38_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T37_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T38_);
			nimZeroMem((void*)T39_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T39_[0] = varName;
			T40_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T40_ = percent__YLzwVVtf4fuPYZVeMQOa0Q(T39_, 1);
			T41_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T41_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T40_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T41_);
		}
		goto LA23_;
		LA34_: ;
		{
			NimStringDesc* T43_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T44_;
			tyArray_qTjAvTvKF9anytN1At69aJMQ T45_;
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_3;
			NIM_BOOL T46_;
			NIM_BOOL T47_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T50_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T51_;
			T43_ = (NimStringDesc*)0;
			T43_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T43_, varCode);
appendString(T43_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_124));
			nimZeroMem((void*)T44_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			nimZeroMem((void*)T45_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
			T44_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T45_, 0);
			T44_[1] = varName;
			v_3 = v;
			T46_ = (NIM_BOOL)0;
			T47_ = (NIM_BOOL)0;
			T47_ = !(((32776 & (*v_3).flags) == 0));
			if (!(T47_)) goto LA48_;
			T47_ = ((96 & (*v_3).flags) == 0);
			LA48_: ;
			T46_ = T47_;
			if (!(T46_)) goto LA49_;
			T46_ = !(((128544 &(1U<<((NU)((*v_3).kind)&31U)))!=0));
			LA49_: ;
			T44_[2] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, (*v).typ, T46_);
			T50_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T50_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T43_, T44_, 3);
			T51_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T51_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T50_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T51_);
		}
		LA23_: ;
	}
	goto LA19_;
	LA21_: ;
	{
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T53_;
		gen_Bp5hmw3gImpkyC9cflWESLg(p, n, (&a));
		T53_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T53_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*v).typ);
		switch (T53_) {
		case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8):
		case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 4):
		{
			{
				NIM_BOOL T57_;
				T57_ = (NIM_BOOL)0;
				T57_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, n);
				if (!T57_) goto LA58_;
				s = a.res;
			}
			goto LA55_;
			LA58_: ;
			{
				tyArray_mrugoXXRZUEeG9bEXo9auBKw T61_;
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
				nimZeroMem((void*)T61_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
				T61_[0] = a.res;
				T61_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*n).typ);
				s = percent__RhAtD9c9aECDorIc8rDhMF9bw(T61_, 2);
			}
			LA55_: ;
		}
		break;
		case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9):
		{
			NIM_BOOL targetBaseIndex;
			targetBaseIndex = ((32776 & (*v).flags) == 0);
			{
				if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA65_;
				{
					NimStringDesc* T71_;
					tyArray_f7nG5LD47BH5K9c6mASit3g T72_;
					tyArray_qTjAvTvKF9anytN1At69aJMQ T73_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T74_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T75_;
					if (!targetBaseIndex) goto LA69_;
					T71_ = (NimStringDesc*)0;
					T71_ = rawNewString((varCode ? varCode->Sup.len : 0) + 21);
appendString(T71_, varCode);
appendString(T71_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_161));
					nimZeroMem((void*)T72_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
					nimZeroMem((void*)T73_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T72_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T73_, 0);
					T72_[1] = (*v).loc.r;
					T72_[2] = a.address;
					T72_[3] = a.res;
					T74_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T74_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T71_, T72_, 4);
					T75_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T75_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T74_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T75_);
				}
				goto LA67_;
				LA69_: ;
				{
					{
						tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_4;
						NIM_BOOL T79_;
						NIM_BOOL T80_;
						NimStringDesc* T85_;
						tyArray_f7nG5LD47BH5K9c6mASit3g T86_;
						tyArray_qTjAvTvKF9anytN1At69aJMQ T87_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T88_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T89_;
						v_4 = v;
						T79_ = (NIM_BOOL)0;
						T80_ = (NIM_BOOL)0;
						T80_ = !(((32776 & (*v_4).flags) == 0));
						if (!(T80_)) goto LA81_;
						T80_ = ((96 & (*v_4).flags) == 0);
						LA81_: ;
						T79_ = T80_;
						if (!(T79_)) goto LA82_;
						T79_ = !(((128544 &(1U<<((NU)((*v_4).kind)&31U)))!=0));
						LA82_: ;
						if (!T79_) goto LA83_;
						T85_ = (NimStringDesc*)0;
						T85_ = rawNewString((varCode ? varCode->Sup.len : 0) + 16);
appendString(T85_, varCode);
appendString(T85_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_162));
						nimZeroMem((void*)T86_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
						nimZeroMem((void*)T87_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
						T86_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T87_, 0);
						T86_[1] = (*v).loc.r;
						T86_[2] = a.address;
						T86_[3] = a.res;
						T88_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T88_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T85_, T86_, 4);
						T89_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T89_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T88_);
						add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T89_);
					}
					goto LA77_;
					LA83_: ;
					{
						NimStringDesc* T91_;
						tyArray_f7nG5LD47BH5K9c6mASit3g T92_;
						tyArray_qTjAvTvKF9anytN1At69aJMQ T93_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T94_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T95_;
						T91_ = (NimStringDesc*)0;
						T91_ = rawNewString((varCode ? varCode->Sup.len : 0) + 14);
appendString(T91_, varCode);
appendString(T91_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_163));
						nimZeroMem((void*)T92_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
						nimZeroMem((void*)T93_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
						T92_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T93_, 0);
						T92_[1] = (*v).loc.r;
						T92_[2] = a.address;
						T92_[3] = a.res;
						T94_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T94_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T91_, T92_, 4);
						T95_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T95_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T94_);
						add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T95_);
					}
					LA77_: ;
				}
				LA67_: ;
			}
			goto LA63_;
			LA65_: ;
			{
				{
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
					tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T101_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T102_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T103_;
					if (!targetBaseIndex) goto LA99_;
					tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
					nimZeroMem((void*)T101_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
					T101_[0] = tmp;
					T101_[1] = a.res;
					T101_[2] = (*v).loc.r;
					T102_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T102_ = percent__4SLS9cx2c8VCFIilepFlOeg(T101_, 3);
					T103_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T103_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T102_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T103_);
				}
				goto LA97_;
				LA99_: ;
				{
					NimStringDesc* T105_;
					tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T106_;
					tyArray_qTjAvTvKF9anytN1At69aJMQ T107_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T108_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T109_;
					T105_ = (NimStringDesc*)0;
					T105_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T105_, varCode);
appendString(T105_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_124));
					nimZeroMem((void*)T106_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
					nimZeroMem((void*)T107_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T106_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T107_, 0);
					T106_[1] = (*v).loc.r;
					T106_[2] = a.res;
					T108_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T108_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T105_, T106_, 3);
					T109_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T109_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T108_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T109_);
				}
				LA97_: ;
			}
			LA63_: ;
			goto BeforeRet_;
		}
		break;
		default:
		{
			s = a.res;
		}
		break;
		}
		{
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_5;
			NIM_BOOL T113_;
			NIM_BOOL T114_;
			NimStringDesc* T119_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T120_;
			tyArray_qTjAvTvKF9anytN1At69aJMQ T121_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T122_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T123_;
			v_5 = v;
			T113_ = (NIM_BOOL)0;
			T114_ = (NIM_BOOL)0;
			T114_ = !(((32776 & (*v_5).flags) == 0));
			if (!(T114_)) goto LA115_;
			T114_ = ((96 & (*v_5).flags) == 0);
			LA115_: ;
			T113_ = T114_;
			if (!(T113_)) goto LA116_;
			T113_ = !(((128544 &(1U<<((NU)((*v_5).kind)&31U)))!=0));
			LA116_: ;
			if (!T113_) goto LA117_;
			T119_ = (NimStringDesc*)0;
			T119_ = rawNewString((varCode ? varCode->Sup.len : 0) + 10);
appendString(T119_, varCode);
appendString(T119_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_165));
			nimZeroMem((void*)T120_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			nimZeroMem((void*)T121_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
			T120_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T121_, 0);
			T120_[1] = (*v).loc.r;
			T120_[2] = s;
			T122_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T122_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T119_, T120_, 3);
			T123_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T123_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T122_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T123_);
		}
		goto LA111_;
		LA117_: ;
		{
			NimStringDesc* T125_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T126_;
			tyArray_qTjAvTvKF9anytN1At69aJMQ T127_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T128_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T129_;
			T125_ = (NimStringDesc*)0;
			T125_ = rawNewString((varCode ? varCode->Sup.len : 0) + 8);
appendString(T125_, varCode);
appendString(T125_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_124));
			nimZeroMem((void*)T126_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			nimZeroMem((void*)T127_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
			T126_[0] = percent__CtS8L8cOLTsSuQ10mtHsvw(T127_, 0);
			T126_[1] = (*v).loc.r;
			T126_[2] = s;
			T128_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T128_ = runtimeFormat_9bvKdnhoYI2ta9agQNm3orMA(T125_, T126_, 3);
			T129_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T129_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T128_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T129_);
		}
		LA111_: ;
	}
	LA19_: ;
	{
		NI TM_BxLwT0mhrtgTPodf1v3xjg_166;
		tyArray_qTjAvTvKF9anytN1At69aJMQ T134_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T135_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T136_;
		if (!useReloadingGuard) goto LA132_;
		TM_BxLwT0mhrtgTPodf1v3xjg_166 = subInt((*p).extraIndent, ((NI) 1));
		(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_166);
		nimZeroMem((void*)T134_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T135_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T135_ = percent__BYiowJAm8zF7RBRISElaLg(T134_, 0);
		T136_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T136_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T135_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T136_);
	}
	LA132_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genConstant_bgFYJWdvtLmrkmlW3jRA4A)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* c) {
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* oldBody;
		T3_ = (NIM_BOOL)0;
		T3_ = !((((*c).loc.flags &(1U<<((NU)(((tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
		if (!(T3_)) goto LA4_;
		T5_ = (NIM_BOOL)0;
		T5_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*(*p).g).generatedSyms), (*c).Sup.id);
		T3_ = !(T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		oldBody = (*p).body;
		asgnRef((void**) (&(*p).body), NIM_NIL);
		genVarInit_iVEhpHbcyNY9aOzPqLze8xw(p, c, (*c).ast);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).constants, (*p).body);
		asgnRef((void**) (&(*p).body), oldBody);
	}
	LA6_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, attachProc_C5SA4Y9bPAMaecsSyvetPTg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* content, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).code, content);
}

N_LIB_PRIVATE N_NIMCALL(void, genProcForSymIfNeeded_9aGDirKbsf9cN1iAWvMcXOKg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	{
		NIM_BOOL T3_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* newp;
		tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* owner;
		T3_ = (NIM_BOOL)0;
		T3_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*(*p).g).generatedSyms), (*s).Sup.id);
		if (!!(T3_)) goto LA4_;
		newp = genProc_VRfKzQHOMcRGtJXZSJxFtg(p, s);
		owner = p;
		{
			while (1) {
				NIM_BOOL T8_;
				T8_ = (NIM_BOOL)0;
				T8_ = !((owner == NIM_NIL));
				if (!(T8_)) goto LA9_;
				T8_ = !(((*owner).prc == (*s).owner));
				LA9_: ;
				if (!T8_) goto LA7;
				owner = (*owner).up;
			} LA7: ;
		}
		{
			if (!!((owner == NIM_NIL))) goto LA12_;
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*owner).locals, newp);
		}
		goto LA10_;
		LA12_: ;
		{
			attachProc_C5SA4Y9bPAMaecsSyvetPTg(p, newp, s);
		}
		LA10_: ;
	}
	LA4_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genSym_Bp5hmw3gImpkyC9cflWESLg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	s = (*n).sym;
	switch ((*s).kind) {
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 8):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 9):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 3):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 5):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 11):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 21):
	{
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA k;
		{
			NimStringDesc* T6_;
			if (!((*s).loc.r == NIM_NIL)) goto LA4_;
			T6_ = (NimStringDesc*)0;
			T6_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T6_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_34));
appendString(T6_, (*(*s).name).s);
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T6_);
		}
		LA4_: ;
		{
			if (!((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 3))) goto LA9_;
			genCopyForParamIfNeeded_AQaGEWMAoGSH1pqI9bePiww_3(p, n);
		}
		LA9_: ;
		k = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*s).typ);
		{
			if (!(k == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA13_;
			(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
			{
				if (!!(((32776 & (*s).flags) == 0))) goto LA17_;
				{
					tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v;
					NIM_BOOL T21_;
					NIM_BOOL T22_;
					tyArray_JiWwrsTRC6xqNlGcBthSVA T27_;
					tyArray_JiWwrsTRC6xqNlGcBthSVA T28_;
					v = s;
					T21_ = (NIM_BOOL)0;
					T22_ = (NIM_BOOL)0;
					T22_ = !(((32776 & (*v).flags) == 0));
					if (!(T22_)) goto LA23_;
					T22_ = ((96 & (*v).flags) == 0);
					LA23_: ;
					T21_ = T22_;
					if (!(T21_)) goto LA24_;
					T21_ = !(((128544 &(1U<<((NU)((*v).kind)&31U)))!=0));
					LA24_: ;
					if (!T21_) goto LA25_;
					nimZeroMem((void*)T27_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T27_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).address), percent__xAta147ahLKNrJMPPP5B6g(T27_, 1));
					nimZeroMem((void*)T28_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T28_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).res), percent__sshAiIx49ba6saVSAWuyFuA(T28_, 1));
				}
				goto LA19_;
				LA25_: ;
				{
					tyArray_JiWwrsTRC6xqNlGcBthSVA T30_;
					tyArray_JiWwrsTRC6xqNlGcBthSVA T31_;
					nimZeroMem((void*)T30_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T30_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).address), percent__TmulmJw2SZspd0rz2PYvQw(T30_, 1));
					nimZeroMem((void*)T31_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T31_[0] = (*s).loc.r;
					unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T31_, 1));
				}
				LA19_: ;
			}
			goto LA15_;
			LA17_: ;
			{
				unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
				unsureAsgnRef((void**) (&(*r).res), amp__Z7W1o5nPSc3ExfO5f7j1Gg((*s).loc.r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_121)));
			}
			LA15_: ;
		}
		goto LA11_;
		LA13_: ;
		{
			tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v_2;
			NIM_BOOL T34_;
			NIM_BOOL T35_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T40_;
			v_2 = s;
			T34_ = (NIM_BOOL)0;
			T35_ = (NIM_BOOL)0;
			T35_ = !(((32776 & (*v_2).flags) == 0));
			if (!(T35_)) goto LA36_;
			T35_ = ((96 & (*v_2).flags) == 0);
			LA36_: ;
			T34_ = T35_;
			if (!(T34_)) goto LA37_;
			T34_ = !(((128544 &(1U<<((NU)((*v_2).kind)&31U)))!=0));
			LA37_: ;
			if (!T34_) goto LA38_;
			nimZeroMem((void*)T40_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T40_[0] = (*s).loc.r;
			unsureAsgnRef((void**) (&(*r).res), percent__TmulmJw2SZspd0rz2PYvQw(T40_, 1));
		}
		goto LA11_;
		LA38_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		}
		LA11_: ;
	}
	break;
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 10):
	{
		genConstant_bgFYJWdvtLmrkmlW3jRA4A(p, s);
		{
			NimStringDesc* T47_;
			if (!((*s).loc.r == NIM_NIL)) goto LA45_;
			T47_ = (NimStringDesc*)0;
			T47_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T47_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_34));
appendString(T47_, (*(*s).name).s);
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T47_);
		}
		LA45_: ;
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
	}
	break;
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 12):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 13):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 16):
	case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 14):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T54_;
		{
			NimStringDesc* T53_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 24))&63U)))!=0)) goto LA51_;
			T53_ = (NimStringDesc*)0;
			T53_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 48);
appendString(T53_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_167));
appendString(T53_, (*(*s).name).s);
			localError_NF6kBGchnhQYPbCedyefVA((*(*p).module).config, (*n).info, T53_);
		}
		LA51_: ;
		T54_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T54_ = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, s);
		(void)(T54_);
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		{
			NIM_BOOL T57_;
			NIM_BOOL T58_;
			T57_ = (NIM_BOOL)0;
			T58_ = (NIM_BOOL)0;
			T58_ = (((*s).loc.flags &(1U<<((NU)(((tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0);
			if (T58_) goto LA59_;
			T58_ = !(((*s).magic == ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 0)));
			LA59_: ;
			T57_ = T58_;
			if (T57_) goto LA60_;
			T57_ = !(((268435488 & (*s).flags) == 0));
			LA60_: ;
			if (!T57_) goto LA61_;
		}
		goto LA55_;
		LA61_: ;
		{
			NIM_BOOL T64_;
			T64_ = (NIM_BOOL)0;
			T64_ = ((*s).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 14));
			if (!(T64_)) goto LA65_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*s).ast).kind)>>3] &(1U<<((NU)((*(*s).ast).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 6)) >= (NU)((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)) raiseIndexError2(((NI) 6),((*(*s).ast).sons ? (*(*s).ast).sons->Sup.len : 0)-1);
			T64_ = ((*(*(*s).ast).sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1));
			LA65_: ;
			if (!T64_) goto LA66_;
		}
		goto LA55_;
		LA66_: ;
		{
			NI T71_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 4))&63U)))!=0)) goto LA69_;
			asgnRef((void**) (&(*(*p).g).forwarded), (tySequence_DfgJFJEYoj4YBAHLZPl5lQ*) incrSeqV3((TGenericSeq*)((*(*p).g).forwarded), (&NTI_DfgJFJEYoj4YBAHLZPl5lQ_)));
			T71_ = (*(*p).g).forwarded->Sup.len++;
			asgnRef((void**) (&(*(*p).g).forwarded->data[T71_]), s);
		}
		goto LA55_;
		LA69_: ;
		{
			genProcForSymIfNeeded_9aGDirKbsf9cN1iAWvMcXOKg(p, s);
		}
		LA55_: ;
	}
	break;
	default:
	{
		{
			NimStringDesc* T78_;
			if (!((*s).loc.r == NIM_NIL)) goto LA76_;
			T78_ = (NimStringDesc*)0;
			T78_ = rawNewString(((*(*s).name).s ? (*(*s).name).s->Sup.len : 0) + 30);
appendString(T78_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_34));
appendString(T78_, (*(*s).name).s);
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T78_);
		}
		LA76_: ;
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
	}
	break;
	}
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
}

static N_INLINE(NI, toLinenumber_6D4Rmpw7LpcRI1j7CMqEsAmsgs)(tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q info) {
	NI result;
	result = (NI)0;
	result = ((NI) (info.line));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genLineDir_AQaGEWMAoGSH1pqI9bePiww_4)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI line;
	line = toLinenumber_6D4Rmpw7LpcRI1j7CMqEsAmsgs((*n).info);
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T5_;
		NimStringDesc* T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		if (!(((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 11))&31U)))!=0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T6_ = (NimStringDesc*)0;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = ((*n).info.fileIndex < ((NI32) 0));
			if (T9_) goto LA10_;
			T9_ = ((*(*p).module).config == NIM_NIL);
			LA10_: ;
			if (!T9_) goto LA11_;
			T6_ = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_28));
		}
		goto LA7_;
		LA11_: ;
		{
			{
				if (!(((*(*(*p).module).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA16_;
				if ((NU)((*n).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*n).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T6_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*n).info.fileIndex].fullPath);
			}
			goto LA14_;
			LA16_: ;
			{
				if ((NU)((*n).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*n).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T6_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*n).info.fileIndex].projPath);
			}
			LA14_: ;
		}
		LA7_: ;
		T5_[0] = rope_yShmEg9cffWxI7s5XzEKBow(T6_);
		T5_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (line)));
		T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = percent__6xseTZmgyslBQb6RMm9b4wA(T5_, 2);
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T19_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
	}
	LA3_: ;
	{
		NIM_BOOL T23_;
		NIM_BOOL T25_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T29_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T30_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T31_;
		T23_ = (NIM_BOOL)0;
		T23_ = ((327680 & (*p).options) == 327680);
		if (!(T23_)) goto LA24_;
		T25_ = (NIM_BOOL)0;
		T25_ = ((*p).prc == NIM_NIL);
		if (T25_) goto LA26_;
		T25_ = !((((*(*p).prc).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0));
		LA26_: ;
		T23_ = T25_;
		LA24_: ;
		if (!T23_) goto LA27_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_183));
		nimZeroMem((void*)T29_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T29_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (line)));
		T30_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = percent__aqhiUn9br2R4iLDxG6zLLCA(T29_, 1);
		T31_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T31_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T30_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T31_);
	}
	goto LA21_;
	LA27_: ;
	{
		NIM_BOOL T33_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T36_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T37_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T38_;
		T33_ = (NIM_BOOL)0;
		T33_ = hasFrameInfo_eUoj4FPs7h9bV16Cz4RajiA(p);
		if (!T33_) goto LA34_;
		nimZeroMem((void*)T36_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T36_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (line)));
		T37_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T37_ = percent__KsZXXO4zKP47iruPcSEryQ(T36_, 1);
		T38_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T38_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T37_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T38_);
	}
	goto LA21_;
	LA34_: ;
	LA21_: ;
}

static N_INLINE(NIM_BOOL, isAtom_ORlI8o1EUYdPqjuTcBWx1Aast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 0) <= (*n).kind);
	if (!(T1_)) goto LA2_;
	T1_ = ((*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23));
	LA2_: ;
	result = T1_;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 37) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 42) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 160));
		if (T3_) goto LA4_;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 38) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 39));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* c;
			c = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						NI TM_BxLwT0mhrtgTPodf1v3xjg_185;
						if (!(i_2 < colontmp_)) goto LA10;
						i = i_2;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						c = (*n).sons->data[i];
						{
							NIM_BOOL T13_;
							T13_ = (NIM_BOOL)0;
							T13_ = isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA(p, c);
							if (!!(T13_)) goto LA14_;
							result = NIM_FALSE;
							goto BeforeRet_;
						}
						LA14_: ;
						TM_BxLwT0mhrtgTPodf1v3xjg_185 = addInt(i_2, ((NI) 1));
						i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_185);
					} LA10: ;
				}
			}
		}
		result = NIM_TRUE;
	}
	goto LA1_;
	LA5_: ;
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = isAtom_ORlI8o1EUYdPqjuTcBWx1Aast(n);
		if (!T17_) goto LA18_;
		result = NIM_TRUE;
	}
	goto LA1_;
	LA18_: ;
	LA1_: ;
	}BeforeRet_: ;
	return result;
}

static N_INLINE(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, rdLoc_yob5rpIMovhptJKw0A5vnAjsgen)(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* a) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	{
		if (!!(((*a).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA3_;
		result = (*a).res;
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T6_;
		nimZeroMem((void*)T6_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T6_[0] = (*a).address;
		T6_[1] = (*a).res;
		result = percent__jadqNPnY9aM3oxYK6jarLrA(T6_, 2);
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genOr_mpXN9cOaEmJkFGz77KKnHeQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
	{
		if (!!(((*r).kind == ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_184));
	}
	LA3_: ;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	{
		NIM_BOOL T7_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T11_;
		T7_ = (NIM_BOOL)0;
		T7_ = isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA(p, a);
		if (!(T7_)) goto LA8_;
		T7_ = isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA(p, b);
		LA8_: ;
		if (!T7_) goto LA9_;
		gen_Bp5hmw3gImpkyC9cflWESLg(p, a, (&x));
		gen_Bp5hmw3gImpkyC9cflWESLg(p, b, (&y));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		nimZeroMem((void*)T11_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T11_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		unsureAsgnRef((void**) (&(*r).res), percent__TUxzei0sBfo3GESRTg1T5w(T11_, 2));
	}
	goto LA5_;
	LA9_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_186;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_187;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		unsureAsgnRef((void**) (&(*r).res), getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, a, (&x));
		nimZeroMem((void*)T13_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T13_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T13_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__ikDBM4Dyw9c2kuwAAswRyOw(T13_, 2);
		T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
		TM_BxLwT0mhrtgTPodf1v3xjg_186 = addInt((*p).extraIndent, ((NI) 1));
		(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_186);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, b, (&y));
		nimZeroMem((void*)T16_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		T16_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__ht9cduX4yJQKi2Gi685ag5A(T16_, 2);
		T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T17_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T18_);
		TM_BxLwT0mhrtgTPodf1v3xjg_187 = subInt((*p).extraIndent, ((NI) 1));
		(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_187);
		T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_155));
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T19_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
	}
	LA5_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genAnd_mpXN9cOaEmJkFGz77KKnHeQ_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
	{
		if (!!(((*r).kind == ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_188));
	}
	LA3_: ;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	{
		NIM_BOOL T7_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T11_;
		T7_ = (NIM_BOOL)0;
		T7_ = isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA(p, a);
		if (!(T7_)) goto LA8_;
		T7_ = isSimpleExpr_63ZTZNC9c5no8E73V2FDEMA(p, b);
		LA8_: ;
		if (!T7_) goto LA9_;
		gen_Bp5hmw3gImpkyC9cflWESLg(p, a, (&x));
		gen_Bp5hmw3gImpkyC9cflWESLg(p, b, (&y));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		nimZeroMem((void*)T11_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T11_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T11_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		unsureAsgnRef((void**) (&(*r).res), percent__Wsnl5zC9cCEBdwJcHgpLf0g(T11_, 2));
	}
	goto LA5_;
	LA9_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_189;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T16_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_190;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		unsureAsgnRef((void**) (&(*r).res), getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, a, (&x));
		nimZeroMem((void*)T13_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T13_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T13_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__deWmrKhbFG0MxH9cDr9cnhfQ(T13_, 2);
		T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
		TM_BxLwT0mhrtgTPodf1v3xjg_189 = addInt((*p).extraIndent, ((NI) 1));
		(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_189);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, b, (&y));
		nimZeroMem((void*)T16_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T16_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		T16_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = percent__ht9cduX4yJQKi2Gi685ag5A(T16_, 2);
		T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T17_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T18_);
		TM_BxLwT0mhrtgTPodf1v3xjg_190 = subInt((*p).extraIndent, ((NI) 1));
		(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_190);
		T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_155));
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T19_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
	}
	LA5_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ)(NI64 size) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	switch (size) {
	case ((NI) 1):
	{
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_191));
	}
	break;
	case ((NI) 2):
	{
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_192));
	}
	break;
	case ((NI) 4):
	{
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_193));
	}
	break;
	default:
	{
		result = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) NIM_NIL));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, needsTemp_63ZTZNC9c5no8E73V2FDEMA_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!((*n).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26) && (*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32) || (*n).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 38) && (*n).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 39) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 160))) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* c;
		c = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(n);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_BxLwT0mhrtgTPodf1v3xjg_194;
					if (!(i_2 < colontmp_)) goto LA8;
					i = i_2;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					c = (*n).sons->data[i];
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = needsTemp_63ZTZNC9c5no8E73V2FDEMA_2(p, c);
						if (!T11_) goto LA12_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA12_: ;
					TM_BxLwT0mhrtgTPodf1v3xjg_194 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_194);
				} LA8: ;
			}
		}
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* x, tyTuple_nsNHL3sm0TZE9bootw2pEXw* Result) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b;
	a = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen(x);
	b = a;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = needsTemp_63ZTZNC9c5no8E73V2FDEMA_2(p, n);
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			NIM_BOOL T10_;
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T11_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T15_;
			T8_ = (NIM_BOOL)0;
			T8_ = !(((*x).tmpLoc == NIM_NIL));
			if (!(T8_)) goto LA9_;
			T10_ = (NIM_BOOL)0;
			T11_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T11_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*n).typ);
			T10_ = (T11_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
			if (T10_) goto LA12_;
			T10_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 47));
			LA12_: ;
			T8_ = T10_;
			LA9_: ;
			if (!T8_) goto LA13_;
			nimZeroMem((void*)T15_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T15_[0] = (*x).tmpLoc;
			b = percent__HiCTlq0dXhMZvpDtUGWGQA(T15_, 1);
			unsureAsgnRef((void**) (&(*Result).Field0), a);
			unsureAsgnRef((void**) (&(*Result).Field1), b);
		}
		goto LA6_;
		LA13_: ;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T17_;
			tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
			b = tmp;
			nimZeroMem((void*)T17_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T17_[0] = tmp;
			T17_[1] = a;
			a = percent__aagcnoz4kFWlzsoVgR9b0NQ(T17_, 2);
			unsureAsgnRef((void**) (&(*Result).Field0), a);
			unsureAsgnRef((void**) (&(*Result).Field1), b);
		}
		LA6_: ;
	}
	goto LA1_;
	LA4_: ;
	{
		unsureAsgnRef((void**) (&(*Result).Field0), a);
		unsureAsgnRef((void**) (&(*Result).Field1), b);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, binaryUintExpr_sQyrw0bSZ1SBjflZPB313g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* op, NIM_BOOL reassign) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* trimmer;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350136322320));
	trimmer = unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ((*T1_).size);
	{
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyArray_duFhZXIIlrbrM62cWjNekg T7_;
		if (!reassign) goto LA4_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T6_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x), (&T6_));
		a = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		a = T6_.Field0;
		tmp = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp = T6_.Field1;
		nimZeroMem((void*)T7_, sizeof(tyArray_duFhZXIIlrbrM62cWjNekg));
		T7_[0] = a;
		T7_[1] = rope_yShmEg9cffWxI7s5XzEKBow(op);
		T7_[2] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		T7_[3] = trimmer;
		T7_[4] = tmp;
		unsureAsgnRef((void**) (&(*r).res), percent__oYhFcOWR4tEylepRJJLrlA(T7_, 5));
	}
	goto LA2_;
	LA4_: ;
	{
		tyArray_f7nG5LD47BH5K9c6mASit3g T9_;
		nimZeroMem((void*)T9_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T9_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T9_[1] = rope_yShmEg9cffWxI7s5XzEKBow(op);
		T9_[2] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		T9_[3] = trimmer;
		unsureAsgnRef((void**) (&(*r).res), percent__3RBmOS8xzFTxpuGVryQycg(T9_, 4));
	}
	LA2_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg op) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* xLoc;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* yLoc;
	NI i;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	xLoc = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	yLoc = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	i = !((((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0));
	if (op < 49 || op > 129) raiseIndexError3(op, 49, 129);
	if ((NU)(i) > (NU)(1)) raiseIndexError2(i, 1);
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, jsMagics_QXSBsb0PxIS2yQAUDBHd9cQ[(op)- 49][(i)- 0]);
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		if (!(((NI) 2) < T3_)) goto LA4_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y));
		xLoc = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		yLoc = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
	}
	goto LA1_;
	LA4_: ;
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		xLoc = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
	}
	LA1_: ;
	switch (op) {
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 49):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T12_;
			if (!(i == ((NI) 0))) goto LA10_;
			nimZeroMem((void*)T12_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T12_[0] = xLoc;
			T12_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__apXghcMDCUp9col7jN5spHA(T12_, 2));
		}
		goto LA8_;
		LA10_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T14_;
			nimZeroMem((void*)T14_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T14_[0] = xLoc;
			T14_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__9cNvJ1SVovK9b29bKmwKyiijw(T14_, 2));
		}
		LA8_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 50):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T20_;
			if (!(i == ((NI) 0))) goto LA18_;
			nimZeroMem((void*)T20_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T20_[0] = xLoc;
			T20_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__0mbMVYCe5Qwl9aQOKV3sh3w(T20_, 2));
		}
		goto LA16_;
		LA18_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T22_;
			nimZeroMem((void*)T22_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T22_[0] = xLoc;
			T22_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__03lrwELd9clj29bFkdXAVxkw(T22_, 2));
		}
		LA16_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 51):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T28_;
			if (!(i == ((NI) 0))) goto LA26_;
			nimZeroMem((void*)T28_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T28_[0] = xLoc;
			T28_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__8croAZ6oMdSPXHbIisuppw(T28_, 2));
		}
		goto LA24_;
		LA26_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T30_;
			nimZeroMem((void*)T30_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T30_[0] = xLoc;
			T30_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__TDLJ9ciKDBoW4ouZs855Csg(T30_, 2));
		}
		LA24_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 52):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T36_;
			if (!(i == ((NI) 0))) goto LA34_;
			nimZeroMem((void*)T36_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T36_[0] = xLoc;
			T36_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Mk2KRdMWX4H3L9aBEG2elgQ(T36_, 2));
		}
		goto LA32_;
		LA34_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T38_;
			nimZeroMem((void*)T38_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T38_[0] = xLoc;
			T38_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__pFXgvxsz2L5f27ImZwJwzQ(T38_, 2));
		}
		LA32_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 53):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T44_;
			if (!(i == ((NI) 0))) goto LA42_;
			nimZeroMem((void*)T44_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T44_[0] = xLoc;
			T44_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__n9aTlv49bCxoRKQNZiWsaW2g(T44_, 2));
		}
		goto LA40_;
		LA42_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T46_;
			nimZeroMem((void*)T46_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T46_[0] = xLoc;
			T46_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__y3oNivo8px1XzxmB9b2OY5g(T46_, 2));
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 54):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T52_;
			if (!(i == ((NI) 0))) goto LA50_;
			nimZeroMem((void*)T52_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T52_[0] = xLoc;
			T52_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__apXghcMDCUp9col7jN5spHA(T52_, 2));
		}
		goto LA48_;
		LA50_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T54_;
			nimZeroMem((void*)T54_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T54_[0] = xLoc;
			T54_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__9cNvJ1SVovK9b29bKmwKyiijw(T54_, 2));
		}
		LA48_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 55):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T60_;
			if (!(i == ((NI) 0))) goto LA58_;
			nimZeroMem((void*)T60_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T60_[0] = xLoc;
			T60_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__0mbMVYCe5Qwl9aQOKV3sh3w(T60_, 2));
		}
		goto LA56_;
		LA58_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T62_;
			nimZeroMem((void*)T62_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T62_[0] = xLoc;
			T62_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__03lrwELd9clj29bFkdXAVxkw(T62_, 2));
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 56):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T68_;
			if (!(i == ((NI) 0))) goto LA66_;
			nimZeroMem((void*)T68_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T68_[0] = xLoc;
			T68_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__9cNvJ1SVovK9b29bKmwKyiijw(T68_, 2));
		}
		goto LA64_;
		LA66_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T70_;
			nimZeroMem((void*)T70_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T70_[0] = xLoc;
			T70_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__9cNvJ1SVovK9b29bKmwKyiijw(T70_, 2));
		}
		LA64_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 57):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T76_;
			if (!(i == ((NI) 0))) goto LA74_;
			nimZeroMem((void*)T76_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T76_[0] = xLoc;
			T76_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__03lrwELd9clj29bFkdXAVxkw(T76_, 2));
		}
		goto LA72_;
		LA74_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T78_;
			nimZeroMem((void*)T78_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T78_[0] = xLoc;
			T78_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__03lrwELd9clj29bFkdXAVxkw(T78_, 2));
		}
		LA72_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 58):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T84_;
			if (!(i == ((NI) 0))) goto LA82_;
			nimZeroMem((void*)T84_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T84_[0] = xLoc;
			T84_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__TDLJ9ciKDBoW4ouZs855Csg(T84_, 2));
		}
		goto LA80_;
		LA82_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T86_;
			nimZeroMem((void*)T86_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T86_[0] = xLoc;
			T86_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__TDLJ9ciKDBoW4ouZs855Csg(T86_, 2));
		}
		LA80_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 59):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T92_;
			if (!(i == ((NI) 0))) goto LA90_;
			nimZeroMem((void*)T92_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T92_[0] = xLoc;
			T92_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Pnqkcr360suaX84kwXMuCA(T92_, 2));
		}
		goto LA88_;
		LA90_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T94_;
			nimZeroMem((void*)T94_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T94_[0] = xLoc;
			T94_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Pnqkcr360suaX84kwXMuCA(T94_, 2));
		}
		LA88_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 60):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T100_;
			if (!(i == ((NI) 0))) goto LA98_;
			nimZeroMem((void*)T100_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T100_[0] = xLoc;
			T100_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T100_, 2));
		}
		goto LA96_;
		LA98_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T102_;
			nimZeroMem((void*)T102_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T102_[0] = xLoc;
			T102_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T102_, 2));
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 61):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T108_;
			if (!(i == ((NI) 0))) goto LA106_;
			nimZeroMem((void*)T108_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T108_[0] = xLoc;
			T108_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__FA4ohw0aOufzzLhmw9aUAhA(T108_, 2));
		}
		goto LA104_;
		LA106_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T110_;
			nimZeroMem((void*)T110_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T110_[0] = xLoc;
			T110_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__FA4ohw0aOufzzLhmw9aUAhA(T110_, 2));
		}
		LA104_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 62):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T116_;
			if (!(i == ((NI) 0))) goto LA114_;
			nimZeroMem((void*)T116_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T116_[0] = xLoc;
			T116_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SWZi8EY4Pz39bBPSp9cbtZMg(T116_, 2));
		}
		goto LA112_;
		LA114_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T118_;
			nimZeroMem((void*)T118_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T118_[0] = xLoc;
			T118_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SWZi8EY4Pz39bBPSp9cbtZMg(T118_, 2));
		}
		LA112_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 63):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T124_;
			if (!(i == ((NI) 0))) goto LA122_;
			nimZeroMem((void*)T124_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T124_[0] = xLoc;
			T124_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__XaBXRInsoVU7DBc2WK8dzg(T124_, 2));
		}
		goto LA120_;
		LA122_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T126_;
			nimZeroMem((void*)T126_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T126_[0] = xLoc;
			T126_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__XaBXRInsoVU7DBc2WK8dzg(T126_, 2));
		}
		LA120_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 64):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T132_;
			if (!(i == ((NI) 0))) goto LA130_;
			nimZeroMem((void*)T132_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T132_[0] = xLoc;
			T132_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__NdMO5d09brFwLfDc8ciTSqQ(T132_, 2));
		}
		goto LA128_;
		LA130_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T134_;
			nimZeroMem((void*)T134_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T134_[0] = xLoc;
			T134_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__NdMO5d09brFwLfDc8ciTSqQ(T134_, 2));
		}
		LA128_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 65):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T140_;
			if (!(i == ((NI) 0))) goto LA138_;
			nimZeroMem((void*)T140_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T140_[0] = xLoc;
			T140_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__E62TlyqwqpEwqcA0YTjttw(T140_, 2));
		}
		goto LA136_;
		LA138_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T142_;
			nimZeroMem((void*)T142_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T142_[0] = xLoc;
			T142_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__E62TlyqwqpEwqcA0YTjttw(T142_, 2));
		}
		LA136_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 66):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T148_;
			if (!(i == ((NI) 0))) goto LA146_;
			nimZeroMem((void*)T148_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T148_[0] = xLoc;
			T148_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__m4T7v0qnGpOgwmMenKcgwg(T148_, 2));
		}
		goto LA144_;
		LA146_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T150_;
			nimZeroMem((void*)T150_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T150_[0] = xLoc;
			T150_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__m4T7v0qnGpOgwmMenKcgwg(T150_, 2));
		}
		LA144_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 67):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T156_;
			if (!(i == ((NI) 0))) goto LA154_;
			nimZeroMem((void*)T156_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T156_[0] = xLoc;
			T156_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SKTmZPSgcdPr3Du3ia9b9czg(T156_, 2));
		}
		goto LA152_;
		LA154_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T158_;
			nimZeroMem((void*)T158_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T158_[0] = xLoc;
			T158_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SKTmZPSgcdPr3Du3ia9b9czg(T158_, 2));
		}
		LA152_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 68):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T164_;
			if (!(i == ((NI) 0))) goto LA162_;
			nimZeroMem((void*)T164_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T164_[0] = xLoc;
			T164_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__m4T7v0qnGpOgwmMenKcgwg(T164_, 2));
		}
		goto LA160_;
		LA162_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T166_;
			nimZeroMem((void*)T166_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T166_[0] = xLoc;
			T166_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__m4T7v0qnGpOgwmMenKcgwg(T166_, 2));
		}
		LA160_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 69):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T172_;
			if (!(i == ((NI) 0))) goto LA170_;
			nimZeroMem((void*)T172_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T172_[0] = xLoc;
			T172_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SKTmZPSgcdPr3Du3ia9b9czg(T172_, 2));
		}
		goto LA168_;
		LA170_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T174_;
			nimZeroMem((void*)T174_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T174_[0] = xLoc;
			T174_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__SKTmZPSgcdPr3Du3ia9b9czg(T174_, 2));
		}
		LA168_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 70):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T180_;
			if (!(i == ((NI) 0))) goto LA178_;
			nimZeroMem((void*)T180_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T180_[0] = xLoc;
			T180_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T180_, 2));
		}
		goto LA176_;
		LA178_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T182_;
			nimZeroMem((void*)T182_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T182_[0] = xLoc;
			T182_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T182_, 2));
		}
		LA176_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 71):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T188_;
			if (!(i == ((NI) 0))) goto LA186_;
			nimZeroMem((void*)T188_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T188_[0] = xLoc;
			T188_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T188_, 2));
		}
		goto LA184_;
		LA186_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T190_;
			nimZeroMem((void*)T190_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T190_[0] = xLoc;
			T190_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T190_, 2));
		}
		LA184_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 72):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T196_;
			if (!(i == ((NI) 0))) goto LA194_;
			nimZeroMem((void*)T196_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T196_[0] = xLoc;
			T196_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T196_, 2));
		}
		goto LA192_;
		LA194_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T198_;
			nimZeroMem((void*)T198_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T198_[0] = xLoc;
			T198_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T198_, 2));
		}
		LA192_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 73):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T204_;
			if (!(i == ((NI) 0))) goto LA202_;
			nimZeroMem((void*)T204_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T204_[0] = xLoc;
			T204_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T204_, 2));
		}
		goto LA200_;
		LA202_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T206_;
			nimZeroMem((void*)T206_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T206_[0] = xLoc;
			T206_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__CtS8L8cOLTsSuQ10mtHsvw(T206_, 2));
		}
		LA200_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 74):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T212_;
			if (!(i == ((NI) 0))) goto LA210_;
			nimZeroMem((void*)T212_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T212_[0] = xLoc;
			T212_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ItxAXpnPzfUbYRPsHgKrPw(T212_, 2));
		}
		goto LA208_;
		LA210_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T214_;
			nimZeroMem((void*)T214_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T214_[0] = xLoc;
			T214_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ItxAXpnPzfUbYRPsHgKrPw(T214_, 2));
		}
		LA208_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 75):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T220_;
			if (!(i == ((NI) 0))) goto LA218_;
			nimZeroMem((void*)T220_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T220_[0] = xLoc;
			T220_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T220_, 2));
		}
		goto LA216_;
		LA218_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T222_;
			nimZeroMem((void*)T222_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T222_[0] = xLoc;
			T222_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T222_, 2));
		}
		LA216_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 76):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T228_;
			if (!(i == ((NI) 0))) goto LA226_;
			nimZeroMem((void*)T228_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T228_[0] = xLoc;
			T228_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T228_, 2));
		}
		goto LA224_;
		LA226_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T230_;
			nimZeroMem((void*)T230_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T230_[0] = xLoc;
			T230_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T230_, 2));
		}
		LA224_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 77):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T236_;
			if (!(i == ((NI) 0))) goto LA234_;
			nimZeroMem((void*)T236_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T236_[0] = xLoc;
			T236_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T236_, 2));
		}
		goto LA232_;
		LA234_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T238_;
			nimZeroMem((void*)T238_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T238_[0] = xLoc;
			T238_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T238_, 2));
		}
		LA232_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 78):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T244_;
			if (!(i == ((NI) 0))) goto LA242_;
			nimZeroMem((void*)T244_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T244_[0] = xLoc;
			T244_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T244_, 2));
		}
		goto LA240_;
		LA242_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T246_;
			nimZeroMem((void*)T246_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T246_[0] = xLoc;
			T246_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T246_, 2));
		}
		LA240_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 79):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T252_;
			if (!(i == ((NI) 0))) goto LA250_;
			nimZeroMem((void*)T252_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T252_[0] = xLoc;
			T252_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T252_, 2));
		}
		goto LA248_;
		LA250_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T254_;
			nimZeroMem((void*)T254_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T254_[0] = xLoc;
			T254_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T254_, 2));
		}
		LA248_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 80):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T260_;
			if (!(i == ((NI) 0))) goto LA258_;
			nimZeroMem((void*)T260_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T260_[0] = xLoc;
			T260_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T260_, 2));
		}
		goto LA256_;
		LA258_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T262_;
			nimZeroMem((void*)T262_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T262_[0] = xLoc;
			T262_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T262_, 2));
		}
		LA256_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 81):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T268_;
			if (!(i == ((NI) 0))) goto LA266_;
			nimZeroMem((void*)T268_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T268_[0] = xLoc;
			T268_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T268_, 2));
		}
		goto LA264_;
		LA266_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T270_;
			nimZeroMem((void*)T270_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T270_[0] = xLoc;
			T270_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T270_, 2));
		}
		LA264_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 82):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T276_;
			if (!(i == ((NI) 0))) goto LA274_;
			nimZeroMem((void*)T276_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T276_[0] = xLoc;
			T276_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T276_, 2));
		}
		goto LA272_;
		LA274_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T278_;
			nimZeroMem((void*)T278_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T278_[0] = xLoc;
			T278_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T278_, 2));
		}
		LA272_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 83):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T284_;
			if (!(i == ((NI) 0))) goto LA282_;
			nimZeroMem((void*)T284_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T284_[0] = xLoc;
			T284_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T284_, 2));
		}
		goto LA280_;
		LA282_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T286_;
			nimZeroMem((void*)T286_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T286_[0] = xLoc;
			T286_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T286_, 2));
		}
		LA280_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 84):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T292_;
			if (!(i == ((NI) 0))) goto LA290_;
			nimZeroMem((void*)T292_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T292_[0] = xLoc;
			T292_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T292_, 2));
		}
		goto LA288_;
		LA290_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T294_;
			nimZeroMem((void*)T294_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T294_[0] = xLoc;
			T294_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T294_, 2));
		}
		LA288_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 85):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T300_;
			if (!(i == ((NI) 0))) goto LA298_;
			nimZeroMem((void*)T300_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T300_[0] = xLoc;
			T300_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T300_, 2));
		}
		goto LA296_;
		LA298_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T302_;
			nimZeroMem((void*)T302_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T302_[0] = xLoc;
			T302_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T302_, 2));
		}
		LA296_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 86):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T308_;
			if (!(i == ((NI) 0))) goto LA306_;
			nimZeroMem((void*)T308_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T308_[0] = xLoc;
			T308_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T308_, 2));
		}
		goto LA304_;
		LA306_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T310_;
			nimZeroMem((void*)T310_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T310_[0] = xLoc;
			T310_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T310_, 2));
		}
		LA304_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 87):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T316_;
			if (!(i == ((NI) 0))) goto LA314_;
			nimZeroMem((void*)T316_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T316_[0] = xLoc;
			T316_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T316_, 2));
		}
		goto LA312_;
		LA314_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T318_;
			nimZeroMem((void*)T318_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T318_[0] = xLoc;
			T318_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T318_, 2));
		}
		LA312_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 88):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T324_;
			if (!(i == ((NI) 0))) goto LA322_;
			nimZeroMem((void*)T324_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T324_[0] = xLoc;
			T324_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T324_, 2));
		}
		goto LA320_;
		LA322_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T326_;
			nimZeroMem((void*)T326_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T326_[0] = xLoc;
			T326_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T326_, 2));
		}
		LA320_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 89):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T332_;
			if (!(i == ((NI) 0))) goto LA330_;
			nimZeroMem((void*)T332_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T332_[0] = xLoc;
			T332_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T332_, 2));
		}
		goto LA328_;
		LA330_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T334_;
			nimZeroMem((void*)T334_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T334_[0] = xLoc;
			T334_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T334_, 2));
		}
		LA328_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 90):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T340_;
			if (!(i == ((NI) 0))) goto LA338_;
			nimZeroMem((void*)T340_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T340_[0] = xLoc;
			T340_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T340_, 2));
		}
		goto LA336_;
		LA338_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T342_;
			nimZeroMem((void*)T342_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T342_[0] = xLoc;
			T342_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T342_, 2));
		}
		LA336_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 91):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T348_;
			if (!(i == ((NI) 0))) goto LA346_;
			nimZeroMem((void*)T348_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T348_[0] = xLoc;
			T348_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T348_, 2));
		}
		goto LA344_;
		LA346_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T350_;
			nimZeroMem((void*)T350_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T350_[0] = xLoc;
			T350_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T350_, 2));
		}
		LA344_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 92):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T356_;
			if (!(i == ((NI) 0))) goto LA354_;
			nimZeroMem((void*)T356_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T356_[0] = xLoc;
			T356_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T356_, 2));
		}
		goto LA352_;
		LA354_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T358_;
			nimZeroMem((void*)T358_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T358_[0] = xLoc;
			T358_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T358_, 2));
		}
		LA352_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 93):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T364_;
			if (!(i == ((NI) 0))) goto LA362_;
			nimZeroMem((void*)T364_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T364_[0] = xLoc;
			T364_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T364_, 2));
		}
		goto LA360_;
		LA362_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T366_;
			nimZeroMem((void*)T366_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T366_[0] = xLoc;
			T366_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T366_, 2));
		}
		LA360_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 94):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T372_;
			if (!(i == ((NI) 0))) goto LA370_;
			nimZeroMem((void*)T372_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T372_[0] = xLoc;
			T372_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T372_, 2));
		}
		goto LA368_;
		LA370_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T374_;
			nimZeroMem((void*)T374_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T374_[0] = xLoc;
			T374_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T374_, 2));
		}
		LA368_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 95):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T380_;
			if (!(i == ((NI) 0))) goto LA378_;
			nimZeroMem((void*)T380_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T380_[0] = xLoc;
			T380_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T380_, 2));
		}
		goto LA376_;
		LA378_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T382_;
			nimZeroMem((void*)T382_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T382_[0] = xLoc;
			T382_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T382_, 2));
		}
		LA376_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 96):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T388_;
			if (!(i == ((NI) 0))) goto LA386_;
			nimZeroMem((void*)T388_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T388_[0] = xLoc;
			T388_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T388_, 2));
		}
		goto LA384_;
		LA386_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T390_;
			nimZeroMem((void*)T390_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T390_[0] = xLoc;
			T390_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__oyQkqbRkRzo43y6iRevkaA(T390_, 2));
		}
		LA384_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 97):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T396_;
			if (!(i == ((NI) 0))) goto LA394_;
			nimZeroMem((void*)T396_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T396_[0] = xLoc;
			T396_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T396_, 2));
		}
		goto LA392_;
		LA394_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T398_;
			nimZeroMem((void*)T398_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T398_[0] = xLoc;
			T398_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__YuphtPwdJHG6BUJOVa9bX3w(T398_, 2));
		}
		LA392_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 98):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T404_;
			if (!(i == ((NI) 0))) goto LA402_;
			nimZeroMem((void*)T404_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T404_[0] = xLoc;
			T404_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QX9cU2fNK0jJrZNDQKnAycA(T404_, 2));
		}
		goto LA400_;
		LA402_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T406_;
			nimZeroMem((void*)T406_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T406_[0] = xLoc;
			T406_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QX9cU2fNK0jJrZNDQKnAycA(T406_, 2));
		}
		LA400_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 99):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T412_;
			if (!(i == ((NI) 0))) goto LA410_;
			nimZeroMem((void*)T412_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T412_[0] = xLoc;
			T412_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T412_, 2));
		}
		goto LA408_;
		LA410_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T414_;
			nimZeroMem((void*)T414_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T414_[0] = xLoc;
			T414_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T414_, 2));
		}
		LA408_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 100):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T420_;
			if (!(i == ((NI) 0))) goto LA418_;
			nimZeroMem((void*)T420_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T420_[0] = xLoc;
			T420_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T420_, 2));
		}
		goto LA416_;
		LA418_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T422_;
			nimZeroMem((void*)T422_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T422_[0] = xLoc;
			T422_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__tkJq8W3gQVDjuu9aT3THC6Q(T422_, 2));
		}
		LA416_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 101):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T428_;
			if (!(i == ((NI) 0))) goto LA426_;
			nimZeroMem((void*)T428_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T428_[0] = xLoc;
			T428_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ggqZXIgPaS71ubw22cYODw(T428_, 2));
		}
		goto LA424_;
		LA426_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T430_;
			nimZeroMem((void*)T430_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T430_[0] = xLoc;
			T430_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ec65mR1N7BSL9cmUa3z9czvA(T430_, 2));
		}
		LA424_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 102):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T436_;
			if (!(i == ((NI) 0))) goto LA434_;
			nimZeroMem((void*)T436_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T436_[0] = xLoc;
			T436_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__LLnl4aDVJynim7LQvfJKLQ(T436_, 2));
		}
		goto LA432_;
		LA434_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T438_;
			nimZeroMem((void*)T438_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T438_[0] = xLoc;
			T438_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ec65mR1N7BSL9cmUa3z9czvA(T438_, 2));
		}
		LA432_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 103):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T444_;
			if (!(i == ((NI) 0))) goto LA442_;
			nimZeroMem((void*)T444_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T444_[0] = xLoc;
			T444_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Ob6yLhv7QvbU9bdZj8Nw2kA(T444_, 2));
		}
		goto LA440_;
		LA442_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T446_;
			nimZeroMem((void*)T446_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T446_[0] = xLoc;
			T446_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__qfsHROU9aHSaYGq3tpw1XDg(T446_, 2));
		}
		LA440_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 104):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T452_;
			if (!(i == ((NI) 0))) goto LA450_;
			nimZeroMem((void*)T452_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T452_[0] = xLoc;
			T452_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__GHW5yjG8N9c2BQBun6aBJzQ(T452_, 2));
		}
		goto LA448_;
		LA450_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T454_;
			nimZeroMem((void*)T454_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T454_[0] = xLoc;
			T454_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__GHW5yjG8N9c2BQBun6aBJzQ(T454_, 2));
		}
		LA448_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 105):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T460_;
			if (!(i == ((NI) 0))) goto LA458_;
			nimZeroMem((void*)T460_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T460_[0] = xLoc;
			T460_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__j9bcJJvtd9bur0VZUQL3ibgA(T460_, 2));
		}
		goto LA456_;
		LA458_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T462_;
			nimZeroMem((void*)T462_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T462_[0] = xLoc;
			T462_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__j9bcJJvtd9bur0VZUQL3ibgA(T462_, 2));
		}
		LA456_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 106):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T468_;
			if (!(i == ((NI) 0))) goto LA466_;
			nimZeroMem((void*)T468_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T468_[0] = xLoc;
			T468_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__32ITt7hKDrhn9bXvKbmnE9bw(T468_, 2));
		}
		goto LA464_;
		LA466_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T470_;
			nimZeroMem((void*)T470_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T470_[0] = xLoc;
			T470_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__32ITt7hKDrhn9bXvKbmnE9bw(T470_, 2));
		}
		LA464_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 107):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T476_;
			if (!(i == ((NI) 0))) goto LA474_;
			nimZeroMem((void*)T476_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T476_[0] = xLoc;
			T476_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__j9bcJJvtd9bur0VZUQL3ibgA(T476_, 2));
		}
		goto LA472_;
		LA474_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T478_;
			nimZeroMem((void*)T478_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T478_[0] = xLoc;
			T478_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__j9bcJJvtd9bur0VZUQL3ibgA(T478_, 2));
		}
		LA472_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 108):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T484_;
			if (!(i == ((NI) 0))) goto LA482_;
			nimZeroMem((void*)T484_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T484_[0] = xLoc;
			T484_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ec65mR1N7BSL9cmUa3z9czvA(T484_, 2));
		}
		goto LA480_;
		LA482_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T486_;
			nimZeroMem((void*)T486_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T486_[0] = xLoc;
			T486_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ec65mR1N7BSL9cmUa3z9czvA(T486_, 2));
		}
		LA480_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 109):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T492_;
			if (!(i == ((NI) 0))) goto LA490_;
			nimZeroMem((void*)T492_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T492_[0] = xLoc;
			T492_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__qfsHROU9aHSaYGq3tpw1XDg(T492_, 2));
		}
		goto LA488_;
		LA490_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T494_;
			nimZeroMem((void*)T494_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T494_[0] = xLoc;
			T494_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__qfsHROU9aHSaYGq3tpw1XDg(T494_, 2));
		}
		LA488_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 110):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T500_;
			if (!(i == ((NI) 0))) goto LA498_;
			nimZeroMem((void*)T500_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T500_[0] = xLoc;
			T500_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__wNMeSNKiDASfC78YtLYssg(T500_, 2));
		}
		goto LA496_;
		LA498_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T502_;
			nimZeroMem((void*)T502_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T502_[0] = xLoc;
			T502_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__wNMeSNKiDASfC78YtLYssg(T502_, 2));
		}
		LA496_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 111):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T508_;
			if (!(i == ((NI) 0))) goto LA506_;
			nimZeroMem((void*)T508_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T508_[0] = xLoc;
			T508_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__eNKJZvONaQ4nPpDEGEPubQ(T508_, 2));
		}
		goto LA504_;
		LA506_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T510_;
			nimZeroMem((void*)T510_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T510_[0] = xLoc;
			T510_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__eNKJZvONaQ4nPpDEGEPubQ(T510_, 2));
		}
		LA504_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 112):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T516_;
			if (!(i == ((NI) 0))) goto LA514_;
			nimZeroMem((void*)T516_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T516_[0] = xLoc;
			T516_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1g2JdUkOWskprbqGIAKLDg(T516_, 2));
		}
		goto LA512_;
		LA514_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T518_;
			nimZeroMem((void*)T518_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T518_[0] = xLoc;
			T518_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1g2JdUkOWskprbqGIAKLDg(T518_, 2));
		}
		LA512_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 113):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T524_;
			if (!(i == ((NI) 0))) goto LA522_;
			nimZeroMem((void*)T524_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T524_[0] = xLoc;
			T524_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Rk41QszV6R9cSklcC6IJHeQ(T524_, 2));
		}
		goto LA520_;
		LA522_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T526_;
			nimZeroMem((void*)T526_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T526_[0] = xLoc;
			T526_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Rk41QszV6R9cSklcC6IJHeQ(T526_, 2));
		}
		LA520_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 114):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T532_;
			if (!(i == ((NI) 0))) goto LA530_;
			nimZeroMem((void*)T532_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T532_[0] = xLoc;
			T532_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__WevD8GyrGCiVGVaaKEQTqA(T532_, 2));
		}
		goto LA528_;
		LA530_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T534_;
			nimZeroMem((void*)T534_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T534_[0] = xLoc;
			T534_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__WevD8GyrGCiVGVaaKEQTqA(T534_, 2));
		}
		LA528_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 115):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T540_;
			if (!(i == ((NI) 0))) goto LA538_;
			nimZeroMem((void*)T540_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T540_[0] = xLoc;
			T540_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__f3aohCZCp1NImt1K1UkZfQ(T540_, 2));
		}
		goto LA536_;
		LA538_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T542_;
			nimZeroMem((void*)T542_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T542_[0] = xLoc;
			T542_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__f3aohCZCp1NImt1K1UkZfQ(T542_, 2));
		}
		LA536_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 116):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T548_;
			if (!(i == ((NI) 0))) goto LA546_;
			nimZeroMem((void*)T548_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T548_[0] = xLoc;
			T548_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Lbhu7X9c75WyxrSB20oty5Q(T548_, 2));
		}
		goto LA544_;
		LA546_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T550_;
			nimZeroMem((void*)T550_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T550_[0] = xLoc;
			T550_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__Lbhu7X9c75WyxrSB20oty5Q(T550_, 2));
		}
		LA544_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 117):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T556_;
			if (!(i == ((NI) 0))) goto LA554_;
			nimZeroMem((void*)T556_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T556_[0] = xLoc;
			T556_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__MbrPcUEcG9c9aM3ciwAHRJFg(T556_, 2));
		}
		goto LA552_;
		LA554_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T558_;
			nimZeroMem((void*)T558_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T558_[0] = xLoc;
			T558_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__MbrPcUEcG9c9aM3ciwAHRJFg(T558_, 2));
		}
		LA552_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 118):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T564_;
			if (!(i == ((NI) 0))) goto LA562_;
			nimZeroMem((void*)T564_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T564_[0] = xLoc;
			T564_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__B9bGDawXx7D0lSxF9a29avLvA(T564_, 2));
		}
		goto LA560_;
		LA562_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T566_;
			nimZeroMem((void*)T566_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T566_[0] = xLoc;
			T566_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__B9bGDawXx7D0lSxF9a29avLvA(T566_, 2));
		}
		LA560_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 119):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T572_;
			if (!(i == ((NI) 0))) goto LA570_;
			nimZeroMem((void*)T572_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T572_[0] = xLoc;
			T572_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T572_, 2));
		}
		goto LA568_;
		LA570_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T574_;
			nimZeroMem((void*)T574_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T574_[0] = xLoc;
			T574_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T574_, 2));
		}
		LA568_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 120):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T580_;
			if (!(i == ((NI) 0))) goto LA578_;
			nimZeroMem((void*)T580_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T580_[0] = xLoc;
			T580_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T580_, 2));
		}
		goto LA576_;
		LA578_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T582_;
			nimZeroMem((void*)T582_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T582_[0] = xLoc;
			T582_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T582_, 2));
		}
		LA576_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 121):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T588_;
			if (!(i == ((NI) 0))) goto LA586_;
			nimZeroMem((void*)T588_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T588_[0] = xLoc;
			T588_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__LGP9bDdi0ALmmT4dkkco3fA(T588_, 2));
		}
		goto LA584_;
		LA586_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T590_;
			nimZeroMem((void*)T590_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T590_[0] = xLoc;
			T590_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__LGP9bDdi0ALmmT4dkkco3fA(T590_, 2));
		}
		LA584_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 122):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T596_;
			if (!(i == ((NI) 0))) goto LA594_;
			nimZeroMem((void*)T596_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T596_[0] = xLoc;
			T596_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__LGP9bDdi0ALmmT4dkkco3fA(T596_, 2));
		}
		goto LA592_;
		LA594_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T598_;
			nimZeroMem((void*)T598_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T598_[0] = xLoc;
			T598_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__LGP9bDdi0ALmmT4dkkco3fA(T598_, 2));
		}
		LA592_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 123):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T604_;
			if (!(i == ((NI) 0))) goto LA602_;
			nimZeroMem((void*)T604_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T604_[0] = xLoc;
			T604_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ZAOkVi5SmgPcGpCSuSRXVA(T604_, 2));
		}
		goto LA600_;
		LA602_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T606_;
			nimZeroMem((void*)T606_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T606_[0] = xLoc;
			T606_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__ZAOkVi5SmgPcGpCSuSRXVA(T606_, 2));
		}
		LA600_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 124):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T612_;
			if (!(i == ((NI) 0))) goto LA610_;
			nimZeroMem((void*)T612_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T612_[0] = xLoc;
			T612_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__smDIOmjGgf8ZP9bfDyv43bQ(T612_, 2));
		}
		goto LA608_;
		LA610_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T614_;
			nimZeroMem((void*)T614_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T614_[0] = xLoc;
			T614_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__smDIOmjGgf8ZP9bfDyv43bQ(T614_, 2));
		}
		LA608_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 125):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T620_;
			if (!(i == ((NI) 0))) goto LA618_;
			nimZeroMem((void*)T620_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T620_[0] = xLoc;
			T620_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T620_, 2));
		}
		goto LA616_;
		LA618_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T622_;
			nimZeroMem((void*)T622_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T622_[0] = xLoc;
			T622_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T622_, 2));
		}
		LA616_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 126):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T628_;
			if (!(i == ((NI) 0))) goto LA626_;
			nimZeroMem((void*)T628_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T628_[0] = xLoc;
			T628_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T628_, 2));
		}
		goto LA624_;
		LA626_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T630_;
			nimZeroMem((void*)T630_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T630_[0] = xLoc;
			T630_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T630_, 2));
		}
		LA624_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 127):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T636_;
			if (!(i == ((NI) 0))) goto LA634_;
			nimZeroMem((void*)T636_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T636_[0] = xLoc;
			T636_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T636_, 2));
		}
		goto LA632_;
		LA634_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T638_;
			nimZeroMem((void*)T638_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T638_[0] = xLoc;
			T638_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__1jtIbjhXi2wH1iWPyC9bgAQ(T638_, 2));
		}
		LA632_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 128):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T644_;
			if (!(i == ((NI) 0))) goto LA642_;
			nimZeroMem((void*)T644_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T644_[0] = xLoc;
			T644_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__NPgb4kECDcV8MICSil6Rjw(T644_, 2));
		}
		goto LA640_;
		LA642_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T646_;
			nimZeroMem((void*)T646_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T646_[0] = xLoc;
			T646_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__NPgb4kECDcV8MICSil6Rjw(T646_, 2));
		}
		LA640_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 129):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 173):
	{
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T652_;
			if (!(i == ((NI) 0))) goto LA650_;
			nimZeroMem((void*)T652_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T652_[0] = xLoc;
			T652_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T652_, 2));
		}
		goto LA648_;
		LA650_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T654_;
			nimZeroMem((void*)T654_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T654_[0] = xLoc;
			T654_[1] = yLoc;
			unsureAsgnRef((void**) (&(*r).res), percent__QXMcmOst45ThYFLo9cOKDiQ(T654_, 2));
		}
		LA648_: ;
	}
	break;
	default:
	{
		{
			NimStringDesc* T660_;
			if (!NIM_TRUE) goto LA658_;
			T660_ = (NimStringDesc*)0;
			T660_ = rawNewString((reprEnum((NI)op, (&NTI_shZhZOdbVC5nnFvcXQAImg_)) ? reprEnum((NI)op, (&NTI_shZhZOdbVC5nnFvcXQAImg_))->Sup.len : 0) + 120);
appendString(T660_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_221));
appendString(T660_, reprEnum((NI)op, (&NTI_shZhZOdbVC5nnFvcXQAImg_)));
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(T660_);
		}
		LA658_: ;
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, arith_3Dxk7XsMQw9b52OHOhMc7Fg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg op) {
	switch (op) {
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 70):
	{
		binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_195), NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 71):
	{
		binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_196), NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 72):
	{
		binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_197), NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 73):
	{
		binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_198), NIM_FALSE);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 52):
	{
		arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 53):
	{
		arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 60):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* trimmer;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T8_;
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T9_;
		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T8_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T8_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350136322320));
		trimmer = unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ((*T8_).size);
		nimZeroMem((void*)T9_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T9_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		T9_[1] = trimmer;
		T9_[2] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		unsureAsgnRef((void**) (&(*r).res), percent__cQHGAtgSLYV7mm9bnVGYGRA(T9_, 3));
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 123):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 124):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 125):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 126):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 127):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 128):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 129):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 130):
	{
		arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 94):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 95):
	{
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T14_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T14_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T14_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*(*n).sons->data[((NI) 1)]).typ);
			if (!!((T14_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA15_;
			arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2(p, n, r, op);
		}
		goto LA12_;
		LA15_: ;
		{
			tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_2;
			tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_2;
			tyArray_f7nG5LD47BH5K9c6mASit3g T18_;
			nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
			nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_2));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_2));
			nimZeroMem((void*)T18_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
			T18_[0] = x_2.address;
			T18_[1] = y_2.address;
			T18_[2] = x_2.res;
			T18_[3] = y_2.res;
			unsureAsgnRef((void**) (&(*r).res), percent__Q4LBu2cVl8IcNTrtxd6B6A(T18_, 4));
		}
		LA12_: ;
	}
	break;
	default:
	{
		arithAux_3Dxk7XsMQw9b52OHOhMc7Fg_2(p, n, r, op);
	}
	break;
	}
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* typ) {
	NimStringDesc* T1_;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, magic);
	T1_ = (NimStringDesc*)0;
	T1_ = rawNewString((magic ? magic->Sup.len : 0) + 1);
appendString(T1_, magic);
appendString(T1_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_222));
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, T1_);
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&a));
	{
		if (!eqStrings(magic, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_223))) goto LA4_;
		{
			if (!(a.address == 0)) goto LA8_;
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
			add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_224));
		}
		goto LA6_;
		LA8_: ;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T11_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
			nimZeroMem((void*)T11_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T11_[0] = a.address;
			T11_[1] = a.res;
			T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T12_ = percent__ctvQ2lU9b9bnVVpNP4GhIo2Q(T11_, 2);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T12_);
		}
		LA6_: ;
	}
	goto LA2_;
	LA4_: ;
	{
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
	}
	LA2_: ;
	{
		if (!!((typ == 0))) goto LA16_;
		add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, typ);
	}
	LA16_: ;
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_225));
}

N_LIB_PRIVATE N_NIMCALL(void, genRepr_Bp5hmw3gImpkyC9cflWESLg_4)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350144710928));
	switch ((*t).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 35):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 44):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_226), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_227), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_228), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 36) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 39):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_229), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_230), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 15):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_231), T7_);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 19):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
		T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_232), T9_);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 3):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 63):
	{
		localError_NF6kBGchnhQYPbCedyefVA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_233));
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_234), NIM_NIL);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_235), NIM_NIL);
	}
	break;
	default:
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		genReprAux_VVJu9bCqc9ae8WmH3h7jRteQ(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_223), T14_);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genSwap_AQaGEWMAoGSH1pqI9bePiww_5)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w b;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T16_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&a));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&b));
	tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_FALSE);
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T3_;
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T4_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2;
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T3_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T3_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36275087632017680));
		T4_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T4_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, T3_);
		if (!(T4_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA5_;
		tmp2 = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_FALSE);
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = !((a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)));
			if (T9_) goto LA10_;
			T9_ = !((b.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)));
			LA10_: ;
			if (!T9_) goto LA11_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_236));
		}
		LA11_: ;
		nimZeroMem((void*)T13_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T13_[0] = tmp;
		T13_[1] = a.address;
		T13_[2] = b.address;
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__M36w8F9bFwighD3K39bvtVWw(T13_, 3);
		T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
		tmp = tmp2;
	}
	LA5_: ;
	nimZeroMem((void*)T16_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
	T16_[0] = tmp;
	T16_[1] = a.res;
	T16_[2] = b.res;
	T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T17_ = percent__Wm11wQtuJBQgTy9a39apz0eA(T16_, 3);
	T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T18_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T17_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T18_);
}

N_LIB_PRIVATE N_NIMCALL(void, genConStrStr_Bp5hmw3gImpkyC9cflWESLg_5)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	NI T25_;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_243;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&a));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T3_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T3_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T3_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350144710928));
		if (!((*T3_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA4_;
		nimZeroMem((void*)T6_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = a.res;
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__amO46kEKgIeOmW50ayV6nA(T6_, 1);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T7_);
	}
	goto LA1_;
	LA4_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T9_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T10_;
		nimZeroMem((void*)T9_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T9_[0] = a.res;
		T10_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = percent__3lABfXU9aXZsyfylYizY8KA(T9_, 1);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T10_);
	}
	LA1_: ;
	{
		NI i;
		NI colontmp_;
		NI T12_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_241;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T12_ = (NI)0;
		T12_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_BxLwT0mhrtgTPodf1v3xjg_241 = subInt(T12_, ((NI) 2));
		colontmp_ = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_241);
		res = ((NI) 2);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_242;
				if (!(res <= colontmp_)) goto LA14;
				i = res;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[i], (&a));
				{
					tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T17_;
					tyArray_JiWwrsTRC6xqNlGcBthSVA T20_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					T17_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
					T17_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[i]).typ, IL64(36134350144710928));
					if (!((*T17_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA18_;
					nimZeroMem((void*)T20_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T20_[0] = a.res;
					T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T21_ = percent__5JCQx3oDHEcLdsEz6Rx0Rw(T20_, 1);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T21_);
				}
				goto LA15_;
				LA18_: ;
				{
					tyArray_JiWwrsTRC6xqNlGcBthSVA T23_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T24_;
					nimZeroMem((void*)T23_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T23_[0] = a.res;
					T24_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T24_ = percent__dTtf7fil83VcW2Mkkr7scw(T23_, 1);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T24_);
				}
				LA15_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_242 = addInt(res, ((NI) 1));
				res = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_242);
			} LA14: ;
		}
	}
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	T25_ = (NI)0;
	T25_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
	TM_BxLwT0mhrtgTPodf1v3xjg_243 = subInt(T25_, ((NI) 1));
	if ((NU)((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_243)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_243),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_243)], (&a));
	{
		NI T28_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_244;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T29_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T32_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T33_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		T28_ = (NI)0;
		T28_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_BxLwT0mhrtgTPodf1v3xjg_244 = subInt(T28_, ((NI) 1));
		if ((NU)((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_244)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_244),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T29_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T29_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_244)]).typ, IL64(36134350144710928));
		if (!((*T29_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2))) goto LA30_;
		nimZeroMem((void*)T32_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T32_[0] = a.res;
		T33_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = percent__88NG6Rr5xfTcA6hqLfZ2iw(T32_, 1);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T33_);
	}
	goto LA26_;
	LA30_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T35_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T36_;
		nimZeroMem((void*)T35_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T35_[0] = a.res;
		T36_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T36_ = percent__1DWSTPxvqlc4A2xRDmjZDw(T35_, 1);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T36_);
	}
	LA26_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genNew_AQaGEWMAoGSH1pqI9bePiww_6)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&a));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36275087632017680));
	if ((NU)(((NI) 0)) >= (NU)((*T1_).sons ? (*T1_).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*T1_).sons ? (*T1_).sons->Sup.len : 0)-1);
	t = (*T1_).sons->data[((NI) 0)];
	{
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T4_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T7_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T8_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
		T4_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T4_ = mapType_3fHLBKCveV5k5hDCMQOL2g(t);
		if (!(T4_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA5_;
		nimZeroMem((void*)T7_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
		T7_[1] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, t, NIM_FALSE);
		T8_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = percent__1Hh3EN9c4pkzdKB09bo9c9aTBg(T7_, 2);
		T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T8_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T9_);
	}
	goto LA2_;
	LA5_: ;
	{
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
		if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA11_;
		nimZeroMem((void*)T13_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T13_[0] = a.address;
		T13_[1] = a.res;
		T13_[2] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, t, NIM_FALSE);
		T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T14_ = percent__AOSgPOjXfsLWEICRXv3U2g(T13_, 3);
		T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
	}
	goto LA2_;
	LA11_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T17_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T18_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
		nimZeroMem((void*)T17_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T17_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
		T17_[1] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, t, NIM_FALSE);
		T18_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T18_ = percent__gN4yb6p4ql6iVJOPAjLEJQ(T17_, 2);
		T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T19_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T18_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T19_);
	}
	LA2_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genOrd_Bp5hmw3gImpkyC9cflWESLg_6)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36275087632017680));
	switch ((*T1_).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 14):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31) ... ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 44):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 2):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T9_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T6_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw _;
			T6_ = (NIM_BOOL)0;
			T6_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_248), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T6_) goto LA7_;
			nimZeroMem((void*)(&_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&_));
			a = _.Field0;
			tmp = _.Field1;
		}
		LA7_: ;
		nimZeroMem((void*)T9_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T9_[0] = a;
		T9_[1] = tmp;
		unsureAsgnRef((void**) (&(*r).res), percent__WIg2bxfQLkmzIdOv1JkRqw(T9_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	default:
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_249));
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genNewSeq_AQaGEWMAoGSH1pqI9bePiww_7)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T2_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T3_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T4_;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36275087632017680));
	if ((NU)(((NI) 0)) >= (NU)((*T1_).sons ? (*T1_).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*T1_).sons ? (*T1_).sons->Sup.len : 0)-1);
	t = (*T1_).sons->data[((NI) 0)];
	nimZeroMem((void*)T2_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
	T2_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
	T2_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
	T2_[2] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, t, NIM_FALSE);
	T3_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T3_ = percent__Eqr9cgWCkrZrUG3sg0CawIQ(T2_, 3);
	T4_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T4_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T3_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T4_);
}

N_LIB_PRIVATE N_NIMCALL(void, genOf_Bp5hmw3gImpkyC9cflWESLg_7)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 2)]).typ, IL64(36275087639357712));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T5_;
		if (!(((*t).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 2))&63U)))!=0)) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T5_[0] = x.res;
		T5_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		unsureAsgnRef((void**) (&(*r).res), percent__1nMXoOe6cENU7004pnh6wQ(T5_, 2));
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T7_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_263));
		nimZeroMem((void*)T7_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T7_[0] = x.res;
		T7_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, t);
		unsureAsgnRef((void**) (&(*r).res), percent__ALynLzo8zWvno8ZxASdm4A(T7_, 2));
	}
	LA1_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genDefault_Bp5hmw3gImpkyC9cflWESLg_8)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	unsureAsgnRef((void**) (&(*r).res), createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, (*n).typ, NIM_FALSE));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genReset_AQaGEWMAoGSH1pqI9bePiww_8)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
	nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_264));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T5_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (!(x.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T5_[0] = x.address;
		T5_[1] = x.res;
		T6_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__tlkWMVJPsx9aWUbp8FMjQ4w(T5_, 2);
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T6_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T7_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T9_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T10_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T9_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x), (&T9_));
		a = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		a = T9_.Field0;
		tmp = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp = T9_.Field1;
		nimZeroMem((void*)T10_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T10_[0] = a;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T10_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*(*n).sons->data[((NI) 1)]).typ);
		T10_[2] = tmp;
		T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = percent__xPW5KjObCPL2lJmHFoqfjg(T10_, 3);
		T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T11_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T12_);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genArgNoParam_Bp5hmw3gImpkyC9cflWESLg_10)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	gen_Bp5hmw3gImpkyC9cflWESLg(p, n, (&a));
	{
		if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA3_;
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.address);
		add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
	}
	goto LA1_;
	LA3_: ;
	{
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genEcho_Bp5hmw3gImpkyC9cflWESLg_9)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n_2;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	n_2 = skipConv_BH9abOhPX8pH0DnEWlRxmlw((*n).sons->data[((NI) 1)]);
	{
		NimStringDesc* T5_;
		if (!!(((*n_2).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41)))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_265);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T5_);
	}
	LA3_: ;
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_266));
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_267));
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_268));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n_2);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_269;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				{
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n_2).kind)>>3] &(1U<<((NU)((*n_2).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*n_2).sons ? (*n_2).sons->Sup.len : 0)) raiseIndexError2(i,((*n_2).sons ? (*n_2).sons->Sup.len : 0)-1);
					it = (*n_2).sons->data[i];
					{
						NIM_BOOL T12_;
						T12_ = (NIM_BOOL)0;
						T12_ = isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types((*it).typ);
						if (!T12_) goto LA13_;
						goto LA9;
					}
					LA13_: ;
					{
						if (!(((NI) 0) < i)) goto LA17_;
						add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
					}
					LA17_: ;
					genArgNoParam_Bp5hmw3gImpkyC9cflWESLg_10(p, it, r);
				} LA9: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_269 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_269);
			} LA8: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_225));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genArg_RI5RyHREFNXox9cpkCYH50g)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* param, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NI* emitted) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	gen_Bp5hmw3gImpkyC9cflWESLg(p, n, (&a));
	{
		NIM_BOOL T3_;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T4_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T8_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
		T3_ = (NIM_BOOL)0;
		T4_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T4_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*param).typ, IL64(36275087632017680));
		T3_ = ((IL64(281475110928384) &((NU64)1<<((NU)((*T4_).kind)&63U)))!=0);
		if (!(T3_)) goto LA5_;
		T3_ = (a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
		LA5_: ;
		if (!T3_) goto LA6_;
		nimZeroMem((void*)T8_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T8_[0] = a.address;
		T8_[1] = a.res;
		T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = percent__jadqNPnY9aM3oxYK6jarLrA(T8_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T9_);
	}
	goto LA1_;
	LA6_: ;
	{
		if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA11_;
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.address);
		add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
		{
			NI TM_BxLwT0mhrtgTPodf1v3xjg_277;
			if (!!((emitted == NIM_NIL))) goto LA15_;
			TM_BxLwT0mhrtgTPodf1v3xjg_277 = addInt((*emitted), ((NI) 1));
			(*emitted) = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_277);
		}
		LA15_: ;
	}
	goto LA1_;
	LA11_: ;
	{
		NIM_BOOL T18_;
		NIM_BOOL T19_;
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T22_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T25_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T26_;
		T18_ = (NIM_BOOL)0;
		T19_ = (NIM_BOOL)0;
		T19_ = ((IL64(175921875124224) &((NU64)1<<((NU)((*(*n).typ).kind)&63U)))!=0);
		if (!(T19_)) goto LA20_;
		T19_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 27) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 31) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 28) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32));
		LA20_: ;
		T18_ = T19_;
		if (!(T18_)) goto LA21_;
		T22_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T22_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*param).typ);
		T18_ = (T22_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
		LA21_: ;
		if (!T18_) goto LA23_;
		tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
		nimZeroMem((void*)T25_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T25_[0] = tmp;
		T25_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
		T26_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = percent__9bY6R9buTsrqJYQAuD39cegOA(T25_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T26_);
		{
			NI TM_BxLwT0mhrtgTPodf1v3xjg_278;
			if (!!((emitted == NIM_NIL))) goto LA29_;
			TM_BxLwT0mhrtgTPodf1v3xjg_278 = addInt((*emitted), ((NI) 1));
			(*emitted) = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_278);
		}
		LA29_: ;
	}
	goto LA1_;
	LA23_: ;
	{
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genArgs_1PNPBjb9aOT7yB9avaRcGbbQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NI start) {
	NIM_BOOL hasArgs;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
	NI emitted;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_275;
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_222));
	hasArgs = NIM_FALSE;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350135273744));
	{
		if (!!(((*typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_273));
	}
	LA3_: ;
	{
		NI T7_;
		NI T8_;
		T7_ = (NI)0;
		T7_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(typ);
		T8_ = (NI)0;
		T8_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ((*typ).n);
		if (!!((T7_ == T8_))) goto LA9_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_274));
	}
	LA9_: ;
	TM_BxLwT0mhrtgTPodf1v3xjg_275 = subInt(start, ((NI) 1));
	emitted = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_275);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = start;
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_280;
				if (!(i_2 < colontmp_)) goto LA13;
				i = i_2;
				{
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* paramType;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_279;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					it = (*n).sons->data[i];
					paramType = NIM_NIL;
					{
						NI T17_;
						T17_ = (NI)0;
						T17_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(typ);
						if (!(i < T17_)) goto LA18_;
						{
							if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
							if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
							if (!!(((*(*(*typ).n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA22_;
							failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_276));
						}
						LA22_: ;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
						paramType = (*(*typ).n).sons->data[i];
						{
							NIM_BOOL T26_;
							T26_ = (NIM_BOOL)0;
							T26_ = isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types((*paramType).typ);
							if (!T26_) goto LA27_;
							goto LA14;
						}
						LA27_: ;
					}
					LA18_: ;
					{
						if (!hasArgs) goto LA31_;
						add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
					}
					LA31_: ;
					{
						if (!(paramType == 0)) goto LA35_;
						genArgNoParam_Bp5hmw3gImpkyC9cflWESLg_10(p, it, r);
					}
					goto LA33_;
					LA35_: ;
					{
						if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*paramType).kind)>>3] &(1U<<((NU)((*paramType).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
						genArg_RI5RyHREFNXox9cpkCYH50g(p, it, (*paramType).sym, r, (&emitted));
					}
					LA33_: ;
					TM_BxLwT0mhrtgTPodf1v3xjg_279 = addInt(emitted, ((NI) 1));
					emitted = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_279);
					hasArgs = NIM_TRUE;
				} LA14: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_280 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_280);
			} LA13: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_225));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genCall_Bp5hmw3gImpkyC9cflWESLg_11)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	genArgs_1PNPBjb9aOT7yB9avaRcGbbQ(p, n, r, ((NI) 1));
	{
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA t;
		if (!!(((*n).typ == NIM_NIL))) goto LA3_;
		t = mapType_3fHLBKCveV5k5hDCMQOL2g((*n).typ);
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T9_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T10_;
			if (!(t == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA7_;
			tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
			nimZeroMem((void*)T9_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T9_[0] = tmp;
			T9_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			unsureAsgnRef((void**) (&(*r).address), percent__U9b6hkqS6N7XIWr0gy8z9bug(T9_, 2));
			nimZeroMem((void*)T10_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T10_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T10_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
			(*r).typ = t;
		}
		LA7_: ;
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genMagic_Bp5hmw3gImpkyC9cflWESLg_3)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* line;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* filen;
	tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg op;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	line = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	filen = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	op = (*(*(*n).sons->data[((NI) 0)]).sym).magic;
	switch (op) {
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 132):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		genOr_mpXN9cOaEmJkFGz77KKnHeQ(p, (*n).sons->data[((NI) 1)], (*n).sons->data[((NI) 2)], r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 131):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		genAnd_mpXN9cOaEmJkFGz77KKnHeQ_2(p, (*n).sons->data[((NI) 1)], (*n).sons->data[((NI) 2)], r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 49) ... ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 129):
	{
		arith_3Dxk7XsMQw9b52OHOhMc7Fg(p, n, r, op);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 154):
	{
		genRepr_Bp5hmw3gImpkyC9cflWESLg_4(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 161):
	{
		genSwap_AQaGEWMAoGSH1pqI9bePiww_5(p, n);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 29):
	{
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_2;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T16_;
			if (!!((((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA9_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
			a_2 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			tmp = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			{
				NIM_BOOL T13_;
				tyTuple_nsNHL3sm0TZE9bootw2pEXw _;
				T13_ = (NIM_BOOL)0;
				T13_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_237), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
				if (!T13_) goto LA14_;
				nimZeroMem((void*)(&_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&_));
				a_2 = _.Field0;
				tmp = _.Field1;
			}
			LA14_: ;
			nimZeroMem((void*)T16_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T16_[0] = a_2;
			T16_[1] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent__0bUw514mSumiNnSjkD0bqw(T16_, 2));
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		}
		goto LA7_;
		LA9_: ;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_3;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_2;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T23_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_200));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
			a_3 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			tmp_2 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			{
				NIM_BOOL T20_;
				tyTuple_nsNHL3sm0TZE9bootw2pEXw __2;
				T20_ = (NIM_BOOL)0;
				T20_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_239), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
				if (!T20_) goto LA21_;
				nimZeroMem((void*)(&__2), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__2));
				a_3 = __2.Field0;
				tmp_2 = __2.Field1;
			}
			LA21_: ;
			nimZeroMem((void*)T23_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T23_[0] = a_3;
			T23_[1] = tmp_2;
			unsureAsgnRef((void**) (&(*r).res), percent__6hxDi5nlebu1DFLqpYq5lw(T23_, 2));
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		}
		LA7_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 149):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_4;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_3;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw __3;
		tyArray_f7nG5LD47BH5K9c6mASit3g T25_;
		nimZeroMem((void*)(&x), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_240));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y));
		a_4 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		tmp_3 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x));
		b = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		tmp2 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y));
		nimZeroMem((void*)(&__3), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x), (&__3));
		a_4 = __3.Field0;
		tmp_3 = __3.Field1;
		nimZeroMem((void*)T25_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T25_[0] = a_4;
		T25_[1] = b;
		T25_[2] = tmp_3;
		T25_[3] = tmp2;
		unsureAsgnRef((void**) (&(*r).res), percent__GkWgkK8SyjrFfWjGRwKWrw(T25_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 150):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w lhs;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w rhs;
		NIM_BOOL rhsIsLit;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T27_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_5;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_4;
		nimZeroMem((void*)(&lhs), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&rhs), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&lhs));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&rhs));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		rhsIsLit = ((*(*n).sons->data[((NI) 2)]).kind >= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) && (*(*n).sons->data[((NI) 2)]).kind <= ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T27_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&lhs), (&T27_));
		a_5 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		a_5 = T27_.Field0;
		tmp_4 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp_4 = T27_.Field1;
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T30_;
			tyArray_f7nG5LD47BH5K9c6mASit3g T33_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T30_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T30_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350144710928));
			if (!((*T30_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA31_;
			nimZeroMem((void*)T33_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
			T33_[0] = a_5;
			T33_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&rhs));
			{
				if (!rhsIsLit) goto LA36_;
				T33_[2] = NIM_NIL;
			}
			goto LA34_;
			LA36_: ;
			{
				tyArray_qTjAvTvKF9anytN1At69aJMQ T39_;
				nimZeroMem((void*)T39_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
				T33_[2] = percent__KTcAQx04UE87HYZ48ZBm2A(T39_, 0);
			}
			LA34_: ;
			T33_[3] = tmp_4;
			unsureAsgnRef((void**) (&(*r).res), percent__oubCLvBtU9aRB9bhG2vbCDeg(T33_, 4));
		}
		goto LA28_;
		LA31_: ;
		{
			tyArray_f7nG5LD47BH5K9c6mASit3g T41_;
			nimZeroMem((void*)T41_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
			T41_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&lhs));
			T41_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&rhs));
			{
				if (!rhsIsLit) goto LA44_;
				T41_[2] = NIM_NIL;
			}
			goto LA42_;
			LA44_: ;
			{
				tyArray_qTjAvTvKF9anytN1At69aJMQ T47_;
				nimZeroMem((void*)T47_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
				T41_[2] = percent__KTcAQx04UE87HYZ48ZBm2A(T47_, 0);
			}
			LA42_: ;
			T41_[3] = tmp_4;
			unsureAsgnRef((void**) (&(*r).res), percent__Y6zpqvbZwK8tJZiKs9agbGw(T41_, 4));
		}
		LA28_: ;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 151):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_2;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_2;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T49_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_6;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_5;
		nimZeroMem((void*)(&x_2), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_2), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_2));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_2));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T49_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x_2), (&T49_));
		a_6 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		a_6 = T49_.Field0;
		tmp_5 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp_5 = T49_.Field1;
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T52_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* c;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T55_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T56_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T52_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T52_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*(*n).sons->data[((NI) 2)]).typ);
			if (!(T52_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA53_;
			nimZeroMem((void*)T55_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T55_[0] = y_2.address;
			T55_[1] = y_2.res;
			c = percent__Xnze9a4kYSwHurdPnhyNGzQ(T55_, 2);
			nimZeroMem((void*)T56_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T56_[0] = a_6;
			T56_[1] = c;
			T56_[2] = tmp_5;
			unsureAsgnRef((void**) (&(*r).res), percent__2OGTIxEeE0xFVRpz5TxKyg(T56_, 3));
		}
		goto LA50_;
		LA53_: ;
		{
			NIM_BOOL T58_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T61_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T58_ = (NIM_BOOL)0;
			T58_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, (*n).sons->data[((NI) 2)]);
			if (!T58_) goto LA59_;
			nimZeroMem((void*)T61_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T61_[0] = a_6;
			T61_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_2));
			T61_[2] = tmp_5;
			unsureAsgnRef((void**) (&(*r).res), percent__2OGTIxEeE0xFVRpz5TxKyg(T61_, 3));
		}
		goto LA50_;
		LA59_: ;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* c_2;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T63_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T64_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T65_;
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T66_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
			c_2 = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_FALSE);
			nimZeroMem((void*)T63_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T63_[0] = c_2;
			T63_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_2));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T63_[2] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*(*n).sons->data[((NI) 2)]).typ);
			T64_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T64_ = percent__0xZtTB2eXM1dRd9aneL5VPw(T63_, 3);
			T65_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T65_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T64_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T65_);
			nimZeroMem((void*)T66_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T66_[0] = a_6;
			T66_[1] = c_2;
			T66_[2] = tmp_5;
			unsureAsgnRef((void**) (&(*r).res), percent__2OGTIxEeE0xFVRpz5TxKyg(T66_, 3));
		}
		LA50_: ;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 143):
	{
		genConStrStr_Bp5hmw3gImpkyC9cflWESLg_5(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 133):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_3;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_3;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_7;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_6;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_2;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_2;
		tyArray_f7nG5LD47BH5K9c6mASit3g T69_;
		nimZeroMem((void*)(&x_3), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_3), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_245));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_3));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_3));
		a_7 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_3));
		tmp_6 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_3));
		b_2 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_3));
		tmp2_2 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_3));
		nimZeroMem((void*)T69_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T69_[0] = a_7;
		T69_[1] = b_2;
		T69_[2] = tmp_6;
		T69_[3] = tmp2_2;
		unsureAsgnRef((void**) (&(*r).res), percent__y5Z6ewsHLxj9ctzxTLPCLmw(T69_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 134):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_4;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_4;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_8;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_7;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_3;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_3;
		tyArray_f7nG5LD47BH5K9c6mASit3g T71_;
		nimZeroMem((void*)(&x_4), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_4), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_246));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_4));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_4));
		a_8 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_4));
		tmp_7 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_4));
		b_3 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_4));
		tmp2_3 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_4));
		nimZeroMem((void*)T71_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T71_[0] = a_8;
		T71_[1] = b_3;
		T71_[2] = tmp_7;
		T71_[3] = tmp2_3;
		unsureAsgnRef((void**) (&(*r).res), percent__CHBd5pGE9c8nq4KNqM8K48g(T71_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 135):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_5;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_5;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_9;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_8;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_4;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_4;
		tyArray_f7nG5LD47BH5K9c6mASit3g T73_;
		nimZeroMem((void*)(&x_5), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_5), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_246));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_5));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_5));
		a_9 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_5));
		tmp_8 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_5));
		b_4 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_5));
		tmp2_4 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_5));
		nimZeroMem((void*)T73_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T73_[0] = a_9;
		T73_[1] = b_4;
		T73_[2] = tmp_8;
		T73_[3] = tmp2_4;
		unsureAsgnRef((void**) (&(*r).res), percent__y2h2X887dhz5sEoD4C8ezQ(T73_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 162):
	{
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T77_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_10;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_9;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T85_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T77_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T77_ = mapType_3fHLBKCveV5k5hDCMQOL2g((*(*n).sons->data[((NI) 1)]).typ);
			if (!!((T77_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)))) goto LA78_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
			a_10 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			tmp_9 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			{
				NIM_BOOL T82_;
				tyTuple_nsNHL3sm0TZE9bootw2pEXw __4;
				T82_ = (NIM_BOOL)0;
				T82_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_247), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
				if (!T82_) goto LA83_;
				nimZeroMem((void*)(&__4), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__4));
				a_10 = __4.Field0;
				tmp_9 = __4.Field1;
			}
			LA83_: ;
			nimZeroMem((void*)T85_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T85_[0] = a_10;
			T85_[1] = tmp_9;
			unsureAsgnRef((void**) (&(*r).res), percent__dQfg2HrsVY6E7P22Nis1MA(T85_, 2));
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		}
		goto LA75_;
		LA78_: ;
		{
			tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_6;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T87_;
			nimZeroMem((void*)(&x_6), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_6));
			nimZeroMem((void*)T87_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T87_[0] = x_6.address;
			T87_[1] = x_6.res;
			unsureAsgnRef((void**) (&(*r).res), percent__0b2Bm7vpM8YAMKp9cuAwg3g(T87_, 2));
		}
		LA75_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 130):
	{
		genRepr_Bp5hmw3gImpkyC9cflWESLg_4(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 33):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 34):
	{
		genNew_AQaGEWMAoGSH1pqI9bePiww_6(p, n);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 46):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 163):
	{
		{
			NIM_BOOL T94_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T94_ = (NIM_BOOL)0;
			T94_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, (*n).sons->data[((NI) 1)]);
			if (!T94_) goto LA95_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		}
		goto LA92_;
		LA95_: ;
		{
			tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_7;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T98_;
			nimZeroMem((void*)(&x_7), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_7));
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
			nimZeroMem((void*)T98_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T98_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_7));
			T98_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*n).typ);
			unsureAsgnRef((void**) (&(*r).res), percent__RhAtD9c9aECDorIc8rDhMF9bw(T98_, 2));
		}
		LA92_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 171):
	{
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 32):
	{
		genOrd_Bp5hmw3gImpkyC9cflWESLg_6(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 38):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 40):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 37):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 39):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_11;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_10;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T107_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_11 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_10 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T104_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __5;
			T104_ = (NIM_BOOL)0;
			T104_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_250), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T104_) goto LA105_;
			nimZeroMem((void*)(&__5), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__5));
			a_11 = __5.Field0;
			tmp_10 = __5.Field1;
		}
		LA105_: ;
		nimZeroMem((void*)T107_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T107_[0] = a_11;
		T107_[1] = tmp_10;
		unsureAsgnRef((void**) (&(*r).res), percent__3Klw9agVDELeF44OQ6PnRiA(T107_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 41):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 42):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_12;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_11;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T114_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_12 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_11 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T111_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __6;
			T111_ = (NIM_BOOL)0;
			T111_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_251), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T111_) goto LA112_;
			nimZeroMem((void*)(&__6), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__6));
			a_12 = __6.Field0;
			tmp_11 = __6.Field1;
		}
		LA112_: ;
		nimZeroMem((void*)T114_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T114_[0] = a_12;
		T114_[1] = tmp_11;
		unsureAsgnRef((void**) (&(*r).res), percent__LL6jCaqBGLwC1sCgmCAEhQ(T114_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 8):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_13;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_12;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T121_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_13 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_12 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T118_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __7;
			T118_ = (NIM_BOOL)0;
			T118_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_252), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T118_) goto LA119_;
			nimZeroMem((void*)(&__7), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__7));
			a_13 = __7.Field0;
			tmp_12 = __7.Field1;
		}
		LA119_: ;
		nimZeroMem((void*)T121_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T121_[0] = a_13;
		T121_[1] = tmp_12;
		unsureAsgnRef((void**) (&(*r).res), percent__S9b9bs03lj0NJlhXUmrylsnA(T121_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 30):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T125_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T125_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T125_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350136322320));
			if (!((IL64(34084860461056) &((NU64)1<<((NU)((*T125_).kind)&63U)))!=0)) goto LA126_;
			binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_195), NIM_TRUE);
		}
		goto LA123_;
		LA126_: ;
		{
			{
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_8;
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_6;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_14;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_13;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_5;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_5;
				tyArray_f7nG5LD47BH5K9c6mASit3g T133_;
				if (!!((((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA131_;
				nimZeroMem((void*)(&x_8), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				nimZeroMem((void*)(&y_6), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_8));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_6));
				a_14 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_8));
				tmp_13 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_8));
				b_5 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_6));
				tmp2_5 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_6));
				nimZeroMem((void*)T133_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
				T133_[0] = a_14;
				T133_[1] = b_5;
				T133_[2] = tmp_13;
				T133_[3] = tmp2_5;
				unsureAsgnRef((void**) (&(*r).res), percent__fphSfWWyYSWLARtGIpYB9aw(T133_, 4));
				(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
			}
			goto LA129_;
			LA131_: ;
			{
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_9;
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_7;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_15;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_14;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_6;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_6;
				tyTuple_nsNHL3sm0TZE9bootw2pEXw __8;
				tyArray_f7nG5LD47BH5K9c6mASit3g T135_;
				nimZeroMem((void*)(&x_9), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				nimZeroMem((void*)(&y_7), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_199));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_9));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_7));
				a_15 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_9));
				tmp_14 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_9));
				b_6 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_7));
				tmp2_6 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_7));
				nimZeroMem((void*)(&__8), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x_9), (&__8));
				a_15 = __8.Field0;
				tmp_14 = __8.Field1;
				nimZeroMem((void*)T135_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
				T135_[0] = a_15;
				T135_[1] = b_6;
				T135_[2] = tmp_14;
				T135_[3] = tmp2_6;
				unsureAsgnRef((void**) (&(*r).res), percent__As9aDT7fkqstj16MQnIGPhA(T135_, 4));
				(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
			}
			LA129_: ;
		}
		LA123_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 31):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T139_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T139_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T139_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350136322320));
			if (!((IL64(34084860461056) &((NU64)1<<((NU)((*T139_).kind)&63U)))!=0)) goto LA140_;
			binaryUintExpr_sQyrw0bSZ1SBjflZPB313g(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_196), NIM_TRUE);
		}
		goto LA137_;
		LA140_: ;
		{
			{
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_10;
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_8;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_16;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_15;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_7;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_7;
				tyArray_f7nG5LD47BH5K9c6mASit3g T147_;
				if (!!((((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 5))&31U)))!=0))) goto LA145_;
				nimZeroMem((void*)(&x_10), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				nimZeroMem((void*)(&y_8), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_10));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_8));
				a_16 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_10));
				tmp_15 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_10));
				b_7 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_8));
				tmp2_7 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_8));
				nimZeroMem((void*)T147_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
				T147_[0] = a_16;
				T147_[1] = b_7;
				T147_[2] = tmp_15;
				T147_[3] = tmp2_7;
				unsureAsgnRef((void**) (&(*r).res), percent__eAZ21NmzzIsugeSSkcxIkQ(T147_, 4));
				(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
			}
			goto LA143_;
			LA145_: ;
			{
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_11;
				tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_9;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_17;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_16;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_8;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_8;
				tyTuple_nsNHL3sm0TZE9bootw2pEXw __9;
				tyArray_f7nG5LD47BH5K9c6mASit3g T149_;
				nimZeroMem((void*)(&x_11), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				nimZeroMem((void*)(&y_9), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_200));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_11));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_9));
				a_17 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_11));
				tmp_16 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_11));
				b_8 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_9));
				tmp2_8 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_9));
				nimZeroMem((void*)(&__9), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x_11), (&__9));
				a_17 = __9.Field0;
				tmp_16 = __9.Field1;
				nimZeroMem((void*)T149_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
				T149_[0] = a_17;
				T149_[1] = b_8;
				T149_[2] = tmp_16;
				T149_[3] = tmp2_8;
				unsureAsgnRef((void**) (&(*r).res), percent__D2dSwFjTnRSmeKOoMm6w0Q(T149_, 4));
				(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
			}
			LA143_: ;
		}
		LA137_: ;
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 156):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_12;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_10;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_18;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_17;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_9;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_9;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw __10;
		tyArray_f7nG5LD47BH5K9c6mASit3g T151_;
		nimZeroMem((void*)(&x_12), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_10), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_253));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_12));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_10));
		a_18 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_12));
		tmp_17 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_12));
		b_9 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_10));
		tmp2_9 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_10));
		nimZeroMem((void*)(&__10), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x_12), (&__10));
		a_18 = __10.Field0;
		tmp_17 = __10.Field1;
		nimZeroMem((void*)T151_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T151_[0] = a_18;
		T151_[1] = b_9;
		T151_[2] = tmp_17;
		T151_[3] = tmp2_9;
		unsureAsgnRef((void**) (&(*r).res), percent__HlU9bV2X0HOPcGJnQlGm9c9aQ(T151_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 157):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_13;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_11;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T153_;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T154_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_19;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_18;
		tyTuple_nsNHL3sm0TZE9bootw2pEXw T155_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_10;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_10;
		tyArray_duFhZXIIlrbrM62cWjNekg T156_;
		nimZeroMem((void*)(&x_13), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_11), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_13));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_11));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T153_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T153_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36275087632017680));
		if ((NU)(((NI) 0)) >= (NU)((*T153_).sons ? (*T153_).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*T153_).sons ? (*T153_).sons->Sup.len : 0)-1);
		t = (*T153_).sons->data[((NI) 0)];
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T154_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&x_13), (&T154_));
		a_19 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		a_19 = T154_.Field0;
		tmp_18 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp_18 = T154_.Field1;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		nimZeroMem((void*)(&T155_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
		maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 2)], (&y_11), (&T155_));
		b_10 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		b_10 = T155_.Field0;
		tmp2_10 = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		tmp2_10 = T155_.Field1;
		nimZeroMem((void*)T156_, sizeof(tyArray_duFhZXIIlrbrM62cWjNekg));
		T156_[0] = a_19;
		T156_[1] = b_10;
		T156_[2] = createVar_K9ag9aJJIngrApxv9aEbfdhIQ(p, t, NIM_FALSE);
		T156_[3] = tmp_18;
		T156_[4] = tmp2_10;
		unsureAsgnRef((void**) (&(*r).res), percent__p2lIQAdDBUpuVZML6ecUOg(T156_, 5));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 45):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_20;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_19;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T163_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_254));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_20 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_19 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T160_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __11;
			T160_ = (NIM_BOOL)0;
			T160_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_255), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T160_) goto LA161_;
			nimZeroMem((void*)(&__11), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__11));
			a_20 = __11.Field0;
			tmp_19 = __11.Field1;
		}
		LA161_: ;
		nimZeroMem((void*)T163_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T163_[0] = a_20;
		T163_[1] = tmp_19;
		unsureAsgnRef((void**) (&(*r).res), percent__5hzyGWCNjqgqPj0O7sSnkg(T163_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 138):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_14;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_12;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_21;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_20;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_11;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_11;
		tyArray_f7nG5LD47BH5K9c6mASit3g T165_;
		nimZeroMem((void*)(&x_14), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_12), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_256));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_14));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_12));
		a_21 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_14));
		tmp_20 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_14));
		b_11 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_12));
		tmp2_11 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_12));
		nimZeroMem((void*)T165_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T165_[0] = a_21;
		T165_[1] = b_11;
		T165_[2] = tmp_20;
		T165_[3] = tmp2_11;
		unsureAsgnRef((void**) (&(*r).res), percent__l1wvVBeU1Nnie8cWddgPCA(T165_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 137):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_15;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_13;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_22;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_21;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_12;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_12;
		tyArray_f7nG5LD47BH5K9c6mASit3g T167_;
		nimZeroMem((void*)(&x_15), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_13), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_257));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_15));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_13));
		a_22 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_15));
		tmp_21 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_15));
		b_12 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_13));
		tmp2_12 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_13));
		nimZeroMem((void*)T167_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T167_[0] = a_22;
		T167_[1] = b_12;
		T167_[2] = tmp_21;
		T167_[3] = tmp2_12;
		unsureAsgnRef((void**) (&(*r).res), percent__yVZN2jQzbJwg3E9cehLff9cg(T167_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 136):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_16;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_14;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_23;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_22;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_13;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_13;
		tyArray_f7nG5LD47BH5K9c6mASit3g T169_;
		nimZeroMem((void*)(&x_16), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_14), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_258));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_16));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_14));
		a_23 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_16));
		tmp_22 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_16));
		b_13 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_14));
		tmp2_13 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_14));
		nimZeroMem((void*)T169_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T169_[0] = a_23;
		T169_[1] = b_13;
		T169_[2] = tmp_22;
		T169_[3] = tmp2_13;
		unsureAsgnRef((void**) (&(*r).res), percent__E9br9b8BVYaWzg6CXcn9c6EXw(T169_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 139):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_17;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_15;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_24;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_23;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_14;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_14;
		tyArray_f7nG5LD47BH5K9c6mASit3g T171_;
		nimZeroMem((void*)(&x_17), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_15), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_259));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_17));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_15));
		a_24 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_17));
		tmp_23 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_17));
		b_14 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_15));
		tmp2_14 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_15));
		nimZeroMem((void*)T171_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T171_[0] = a_24;
		T171_[1] = b_14;
		T171_[2] = tmp_23;
		T171_[3] = tmp2_14;
		unsureAsgnRef((void**) (&(*r).res), percent__qPugJ1Nc2L1EdGwEF0AJ0Q(T171_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 140):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_18;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_16;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_25;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_24;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_15;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_15;
		tyArray_f7nG5LD47BH5K9c6mASit3g T173_;
		nimZeroMem((void*)(&x_18), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_16), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_260));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_18));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_16));
		a_25 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_18));
		tmp_24 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_18));
		b_15 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_16));
		tmp2_15 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_16));
		nimZeroMem((void*)T173_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T173_[0] = a_25;
		T173_[1] = b_15;
		T173_[2] = tmp_24;
		T173_[3] = tmp2_15;
		unsureAsgnRef((void**) (&(*r).res), percent__HzZyrXo2QFynm1T8X76cCw(T173_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 141):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_19;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_17;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_26;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_25;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_16;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_16;
		tyArray_f7nG5LD47BH5K9c6mASit3g T175_;
		nimZeroMem((void*)(&x_19), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_17), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_261));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_19));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_17));
		a_26 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_19));
		tmp_25 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_19));
		b_16 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_17));
		tmp2_16 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_17));
		nimZeroMem((void*)T175_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T175_[0] = a_26;
		T175_[1] = b_16;
		T175_[2] = tmp_25;
		T175_[3] = tmp2_16;
		unsureAsgnRef((void**) (&(*r).res), percent__O2nyVw4tGD6MMc6u7I9bH9cA(T175_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 43):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_20;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_18;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_27;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_26;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_17;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_17;
		tyArray_f7nG5LD47BH5K9c6mASit3g T177_;
		nimZeroMem((void*)(&x_20), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_18), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_20));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_18));
		a_27 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_20));
		tmp_26 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_20));
		b_17 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_18));
		tmp2_17 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_18));
		nimZeroMem((void*)T177_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T177_[0] = a_27;
		T177_[1] = b_17;
		T177_[2] = tmp_26;
		T177_[3] = tmp2_17;
		unsureAsgnRef((void**) (&(*r).res), percent__IQYZUimFiAV9axFM9c64hKjA(T177_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 44):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_21;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_19;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_28;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_27;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_18;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_18;
		tyArray_f7nG5LD47BH5K9c6mASit3g T179_;
		nimZeroMem((void*)(&x_21), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_19), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_21));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_19));
		a_28 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_21));
		tmp_27 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_21));
		b_18 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_19));
		tmp2_18 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_19));
		nimZeroMem((void*)T179_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T179_[0] = a_28;
		T179_[1] = b_18;
		T179_[2] = tmp_27;
		T179_[3] = tmp2_18;
		unsureAsgnRef((void**) (&(*r).res), percent__RCJU8UTq9cE0Jsi59anAbTIQ(T179_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 153):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_22;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_20;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_29;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_28;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_19;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_19;
		tyArray_f7nG5LD47BH5K9c6mASit3g T181_;
		nimZeroMem((void*)(&x_22), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_20), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_22));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_20));
		a_29 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_22));
		tmp_28 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_22));
		b_19 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_20));
		tmp2_19 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_20));
		nimZeroMem((void*)T181_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T181_[0] = a_29;
		T181_[1] = b_19;
		T181_[2] = tmp_28;
		T181_[3] = tmp2_19;
		unsureAsgnRef((void**) (&(*r).res), percent__S6vmSaSCgC4V2L5H7OWeZg(T181_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 35):
	{
		genNewSeq_AQaGEWMAoGSH1pqI9bePiww_7(p, n);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 36):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_30;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_29;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T189_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_30 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_29 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T186_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __12;
			T186_ = (NIM_BOOL)0;
			T186_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_262), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T186_) goto LA187_;
			nimZeroMem((void*)(&__12), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__12));
			a_30 = __12.Field0;
			tmp_29 = __12.Field1;
		}
		LA187_: ;
		nimZeroMem((void*)T189_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T189_[0] = a_30;
		T189_[1] = tmp_29;
		unsureAsgnRef((void**) (&(*r).res), percent__9c1lq60gbfPY9cyjQN4YouTQ(T189_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 14):
	{
		genOf_Bp5hmw3gImpkyC9cflWESLg_7(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 172):
	{
		genDefault_Bp5hmw3gImpkyC9cflWESLg_8(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 175):
	{
		genReset_AQaGEWMAoGSH1pqI9bePiww_8(p, n);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 20):
	{
		genEcho_Bp5hmw3gImpkyC9cflWESLg_9(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 234) ... ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 282):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 22):
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 23):
	{
		NimStringDesc* T195_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		T195_ = (NimStringDesc*)0;
		T195_ = nsuFormatSingleElem(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_270), (*(*(*(*n).sons->data[((NI) 0)]).sym).name).s);
		localError_NF6kBGchnhQYPbCedyefVA((*(*p).module).config, (*n).info, T195_);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 164):
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w x_23;
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w y_21;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_31;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_30;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* b_20;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp2_20;
		tyArray_f7nG5LD47BH5K9c6mASit3g T197_;
		nimZeroMem((void*)(&x_23), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		nimZeroMem((void*)(&y_21), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) NIM_NIL));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&x_23));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&y_21));
		a_31 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_23));
		tmp_30 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&x_23));
		b_20 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_21));
		tmp2_20 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&y_21));
		nimZeroMem((void*)T197_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
		T197_[0] = a_31;
		T197_[1] = b_20;
		T197_[2] = tmp_30;
		T197_[3] = tmp2_20;
		unsureAsgnRef((void**) (&(*r).res), percent__mTh2rYVPWUnI8B7kU3NWUg(T197_, 4));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 166):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_32;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_31;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T204_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_253));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_32 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_31 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T201_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __13;
			T201_ = (NIM_BOOL)0;
			T201_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_271), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T201_) goto LA202_;
			nimZeroMem((void*)(&__13), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__13));
			a_32 = __13.Field0;
			tmp_31 = __13.Field1;
		}
		LA202_: ;
		nimZeroMem((void*)T204_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T204_[0] = a_32;
		T204_[1] = tmp_31;
		unsureAsgnRef((void**) (&(*r).res), percent__aoMj8hrcFi4HlPDZ9a9alpig(T204_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 167):
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* a_33;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_32;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T211_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_253));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		a_33 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		tmp_32 = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
		{
			NIM_BOOL T208_;
			tyTuple_nsNHL3sm0TZE9bootw2pEXw __14;
			T208_ = (NIM_BOOL)0;
			T208_ = contains_KV0xCsBzaN9coqb7PG9au0oQ(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_272), ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_238));
			if (!T208_) goto LA209_;
			nimZeroMem((void*)(&__14), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*n).sons->data[((NI) 1)], (&(*r)), (&__14));
			a_33 = __14.Field0;
			tmp_32 = __14.Field1;
		}
		LA209_: ;
		nimZeroMem((void*)T211_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T211_[0] = a_33;
		T211_[1] = tmp_32;
		unsureAsgnRef((void**) (&(*r).res), percent__Yj64cHk9ajrzJI39bfpBfOVA(T211_, 2));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 145):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		genProcForSymIfNeeded_9aGDirKbsf9cN1iAWvMcXOKg(p, (*(*n).sons->data[((NI) 0)]).sym);
		genCall_Bp5hmw3gImpkyC9cflWESLg_11(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 168):
	{
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_281));
		genCall_Bp5hmw3gImpkyC9cflWESLg_11(p, n, r);
	}
	break;
	case ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 176):
	{
		genCall_Bp5hmw3gImpkyC9cflWESLg_11(p, n, r);
	}
	break;
	default:
	{
		genCall_Bp5hmw3gImpkyC9cflWESLg_11(p, n, r);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genOtherArg_9aqB67Rnkf1OHu3XOk89bdcg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, NI* generated, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* paramType;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_289;
{	{
		NI T3_;
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		NI T8_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_287;
		NimStringDesc* T9_;
		T3_ = (NI)0;
		T3_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(T3_ <= i)) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T7_ = (NimStringDesc*)0;
		T7_ = nimIntToStr(i);
		T8_ = (NI)0;
		T8_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
		TM_BxLwT0mhrtgTPodf1v3xjg_287 = subInt(T8_, ((NI) 1));
		T9_ = (NimStringDesc*)0;
		T9_ = nimIntToStr((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_287));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + (T9_ ? T9_->Sup.len : 0) + 71);
appendString(T6_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_285));
appendString(T6_, T7_);
appendString(T6_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_286));
appendString(T6_, T9_);
		globalError_NF6kBGchnhQYPbCedyefVA_2((*(*p).module).config, (*n).info, T6_);
	}
	LA4_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
	it = (*n).sons->data[i];
	paramType = NIM_NIL;
	{
		NI T12_;
		T12_ = (NI)0;
		T12_ = sonsLen_eY4T6kWJb9a9aTWUufrTLjXg(typ);
		if (!(i < T12_)) goto LA13_;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
			if (!!(((*(*(*typ).n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA17_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_288));
		}
		LA17_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*typ).n).kind)>>3] &(1U<<((NU)((*(*typ).n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(i) >= (NU)((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)) raiseIndexError2(i,((*(*typ).n).sons ? (*(*typ).n).sons->Sup.len : 0)-1);
		paramType = (*(*typ).n).sons->data[i];
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = isCompileTimeOnly_F9ciDIanrWYqbJ4rgLlNAAg_3types((*paramType).typ);
			if (!T21_) goto LA22_;
			goto BeforeRet_;
		}
		LA22_: ;
	}
	LA13_: ;
	{
		if (!(paramType == 0)) goto LA26_;
		genArgNoParam_Bp5hmw3gImpkyC9cflWESLg_10(p, it, r);
	}
	goto LA24_;
	LA26_: ;
	{
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*paramType).kind)>>3] &(1U<<((NU)((*paramType).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		genArg_RI5RyHREFNXox9cpkCYH50g(p, it, (*paramType).sym, r, NIM_NIL);
	}
	LA24_: ;
	TM_BxLwT0mhrtgTPodf1v3xjg_289 = addInt((*generated), ((NI) 1));
	(*generated) = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_289);
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genPatternCall_4TT1TPwHmxERu3KEGU1QFw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* pat, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	NI i;
	NI j;
	i = ((NI) 0);
	j = ((NI) 1);
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	{
		while (1) {
			if (!(i < (pat ? pat->Sup.len : 0))) goto LA2;
			if ((NU)(i) >= (NU)(pat ? pat->Sup.len : 0)) raiseIndexError2(i,(pat ? pat->Sup.len : 0)-1);
			switch (((NU8)(pat->data[i]))) {
			case 64:
			{
				NI generated;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_291;
				generated = ((NI) 0);
				{
					NI k;
					NI colontmp_;
					NI i_2;
					k = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
					i_2 = j;
					{
						while (1) {
							NI TM_BxLwT0mhrtgTPodf1v3xjg_290;
							if (!(i_2 < colontmp_)) goto LA6;
							k = i_2;
							{
								if (!(((NI) 0) < generated)) goto LA9_;
								add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
							}
							LA9_: ;
							genOtherArg_9aqB67Rnkf1OHu3XOk89bdcg(p, n, k, typ, (&generated), r);
							TM_BxLwT0mhrtgTPodf1v3xjg_290 = addInt(i_2, ((NI) 1));
							i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_290);
						} LA6: ;
					}
				}
				TM_BxLwT0mhrtgTPodf1v3xjg_291 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_291);
			}
			break;
			case 35:
			{
				NI generated_2;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_292;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_293;
				generated_2 = ((NI) 0);
				genOtherArg_9aqB67Rnkf1OHu3XOk89bdcg(p, n, j, typ, (&generated_2), r);
				TM_BxLwT0mhrtgTPodf1v3xjg_292 = addInt(j, ((NI) 1));
				j = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_292);
				TM_BxLwT0mhrtgTPodf1v3xjg_293 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_293);
			}
			break;
			case 31:
			{
				NI TM_BxLwT0mhrtgTPodf1v3xjg_295;
				add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_294));
				TM_BxLwT0mhrtgTPodf1v3xjg_295 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_295);
			}
			break;
			case 29:
			{
				NI TM_BxLwT0mhrtgTPodf1v3xjg_297;
				add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_296));
				TM_BxLwT0mhrtgTPodf1v3xjg_297 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_297);
			}
			break;
			default:
			{
				NI start;
				start = i;
				{
					while (1) {
						if (!(i < (pat ? pat->Sup.len : 0))) goto LA16;
						{
							NI TM_BxLwT0mhrtgTPodf1v3xjg_298;
							if ((NU)(i) >= (NU)(pat ? pat->Sup.len : 0)) raiseIndexError2(i,(pat ? pat->Sup.len : 0)-1);
							if (!!((((NU8)(pat->data[i])) == ((NU8)(64)) || ((NU8)(pat->data[i])) == ((NU8)(35)) || ((NU8)(pat->data[i])) == ((NU8)(31)) || ((NU8)(pat->data[i])) == ((NU8)(29))))) goto LA19_;
							TM_BxLwT0mhrtgTPodf1v3xjg_298 = addInt(i, ((NI) 1));
							i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_298);
						}
						goto LA17_;
						LA19_: ;
						{
							goto LA15;
						}
						LA17_: ;
					} LA16: ;
				} LA15: ;
				{
					NI TM_BxLwT0mhrtgTPodf1v3xjg_299;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_300;
					NimStringDesc* T26_;
					TM_BxLwT0mhrtgTPodf1v3xjg_299 = subInt(i, ((NI) 1));
					if (!(start <= (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_299))) goto LA24_;
					TM_BxLwT0mhrtgTPodf1v3xjg_300 = subInt(i, ((NI) 1));
					T26_ = (NimStringDesc*)0;
					T26_ = substr_2yh9cer0ymNRHlOOg8P7IuA(pat, start, (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_300));
					add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, T26_);
				}
				LA24_: ;
			}
			break;
			}
		} LA2: ;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genInfixCall_Bp5hmw3gImpkyC9cflWESLg_12)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* f;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w op;
{	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	f = (*(*n).sons->data[((NI) 0)]).sym;
	{
		if (!((*f).loc.r == NIM_NIL)) goto LA3_;
		asgnRef((void**) (&(*f).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, f));
	}
	LA3_: ;
	{
		NimStringDesc* pat;
		if (!(((*f).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0)) goto LA7_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		pat = (*(*(*(*n).sons->data[((NI) 0)]).sym).loc.r).data;
		{
			NimStringDesc* T13_;
			if (!!((((NI) 0) < (pat ? pat->Sup.len : 0)))) goto LA11_;
			T13_ = (NimStringDesc*)0;
			T13_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_282);
			internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T13_);
		}
		LA11_: ;
		{
			NIM_BOOL T16_;
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
			T16_ = (NIM_BOOL)0;
			T16_ = contains_wAzSnEu9cCHHjvPQlWBZUeQ(pat, TM_BxLwT0mhrtgTPodf1v3xjg_283);
			if (!T16_) goto LA17_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350135273744));
			{
				if (!!(((*typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 25)))) goto LA21_;
				failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_284));
			}
			LA21_: ;
			genPatternCall_4TT1TPwHmxERu3KEGU1QFw(p, n, pat, typ, r);
			goto BeforeRet_;
		}
		LA17_: ;
	}
	LA7_: ;
	{
		NI T25_;
		T25_ = (NI)0;
		T25_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
		if (!!((T25_ == ((NI) 1)))) goto LA26_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T36_;
			if (!((*r).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA30_;
			{
				if (!((*r).address == NIM_NIL)) goto LA34_;
				globalError_NF6kBGchnhQYPbCedyefVA_2((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_301));
			}
			LA34_: ;
			nimZeroMem((void*)T36_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T36_[0] = (*r).address;
			T36_[1] = (*r).res;
			unsureAsgnRef((void**) (&(*r).res), percent__jadqNPnY9aM3oxYK6jarLrA(T36_, 2));
			unsureAsgnRef((void**) (&(*r).address), NIM_NIL);
			(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
		}
		LA30_: ;
		add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_302));
	}
	LA26_: ;
	nimZeroMem((void*)(&op), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], (&op));
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, op.res);
	genArgs_1PNPBjb9aOT7yB9avaRcGbbQ(p, n, r, ((NI) 2));
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genSetConstr_Bp5hmw3gImpkyC9cflWESLg_13)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_303));
	unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_304)));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_305;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
				}
				LA6_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				{
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T12_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T13_;
					if (!((*it).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA10_;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 0)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 0)], (&a));
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 1)], (&b));
					nimZeroMem((void*)T12_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T12_[0] = a.res;
					T12_[1] = b.res;
					T13_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T13_ = percent__Xnze9a4kYSwHurdPnhyNGzQ(T12_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T13_);
				}
				goto LA8_;
				LA10_: ;
				{
					gen_Bp5hmw3gImpkyC9cflWESLg(p, it, (&a));
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
				}
				LA8_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_305 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_305);
			} LA3: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_225));
	{
		NIM_BOOL T17_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_306;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T22_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T23_;
		T17_ = (NIM_BOOL)0;
		T17_ = isDeepConstExpr_9cP6JNeOKqczaXCI4Zo4SBQ_3(n);
		if (!T17_) goto LA18_;
		TM_BxLwT0mhrtgTPodf1v3xjg_306 = addInt((*(*p).g).unique, ((NI) 1));
		(*(*p).g).unique = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_306);
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_307));
		T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*(*p).g).unique)));
		tmp = amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(T20_, T21_);
		nimZeroMem((void*)T22_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T22_[0] = tmp;
		T22_[1] = (*r).res;
		T23_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = percent__JRV6DlpqdegYGLcFjNPv0g(T22_, 2);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).constants, T23_);
		unsureAsgnRef((void**) (&(*r).res), tmp);
	}
	LA18_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genArrayConstr_Bp5hmw3gImpkyC9cflWESLg_14)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_150)));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_308;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
				}
				LA6_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[i], (&a));
				{
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T12_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T13_;
					if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA10_;
					nimZeroMem((void*)T12_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T12_[0] = a.address;
					T12_[1] = a.res;
					T13_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T13_ = percent__Xnze9a4kYSwHurdPnhyNGzQ(T12_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T13_);
				}
				goto LA8_;
				LA10_: ;
				{
					{
						NIM_BOOL T17_;
						tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
						tyArray_mrugoXXRZUEeG9bEXo9auBKw T20_;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T17_ = (NIM_BOOL)0;
						T17_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, (*n).sons->data[i]);
						if (!!(T17_)) goto LA18_;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[i]).typ, IL64(36134350135273744));
						useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
						nimZeroMem((void*)T20_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
						T20_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
						T20_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, typ);
						a.res = percent__RhAtD9c9aECDorIc8rDhMF9bw(T20_, 2);
					}
					LA18_: ;
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, a.res);
				}
				LA8_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_308 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_308);
			} LA3: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_152));
}

N_LIB_PRIVATE N_NIMCALL(void, genTupleConstr_Bp5hmw3gImpkyC9cflWESLg_15)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_153)));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_309;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 0) < i)) goto LA6_;
					add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
				}
				LA6_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				{
					if (!((*it).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 34))) goto LA10_;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					it = (*it).sons->data[((NI) 1)];
				}
				LA10_: ;
				gen_Bp5hmw3gImpkyC9cflWESLg(p, it, (&a));
				typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*it).typ, IL64(36134350135273744));
				{
					tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T16_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
					if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA14_;
					nimZeroMem((void*)T16_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
					T16_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (i)));
					T16_[1] = a.address;
					T16_[2] = a.res;
					T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T17_ = percent__ryMkoQkM4zAjyp0800DrDQ(T16_, 3);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T17_);
				}
				goto LA12_;
				LA14_: ;
				{
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T25_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T26_;
					{
						NIM_BOOL T21_;
						tyArray_mrugoXXRZUEeG9bEXo9auBKw T24_;
						T21_ = (NIM_BOOL)0;
						T21_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, it);
						if (!!(T21_)) goto LA22_;
						useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
						nimZeroMem((void*)T24_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
						T24_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
						T24_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, typ);
						a.res = percent__RhAtD9c9aECDorIc8rDhMF9bw(T24_, 2);
					}
					LA22_: ;
					nimZeroMem((void*)T25_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T25_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (i)));
					T25_[1] = a.res;
					T26_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = percent__iW9bjdQoXkul7L0e76qo8XQ(T25_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*r).res, T26_);
				}
				LA12_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_309 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_309);
			} LA3: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*r).res, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_155));
}

N_LIB_PRIVATE N_NIMCALL(void, genObjConstr_Bp5hmw3gImpkyC9cflWESLg_16)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* initList;
	tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg fieldIDs;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T32_;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	initList = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)(&fieldIDs), sizeof(tyObject_IntSet_PQrmFm4BXFkFSVOUl1ojSg));
	initIntSet_n8oDZMn19bEdodSnrBQB9a1Q((&fieldIDs));
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* val;
				tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* f;
				tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_311;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				{
					if (!(((NI) 1) < i)) goto LA6_;
					add_yG4AKzsBRS1W4MANDlXQeg(&initList, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_115));
				}
				LA6_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				{
					NimStringDesc* T12_;
					if (!!(((*it).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 34)))) goto LA10_;
					T12_ = (NimStringDesc*)0;
					T12_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_310);
					internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T12_);
				}
				LA10_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
				val = (*it).sons->data[((NI) 1)];
				gen_Bp5hmw3gImpkyC9cflWESLg(p, val, (&a));
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*it).sons ? (*it).sons->Sup.len : 0)-1);
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*it).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*it).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
				f = (*(*it).sons->data[((NI) 0)]).sym;
				{
					if (!((*f).loc.r == NIM_NIL)) goto LA15_;
					asgnRef((void**) (&(*f).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, f));
				}
				LA15_: ;
				incl_jENnK9c9bPE73pKmo2vYjpqg((&fieldIDs), (*f).Sup.id);
				typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*val).typ, IL64(36134350135273744));
				{
					tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T21_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T22_;
					if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA19_;
					nimZeroMem((void*)T21_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
					T21_[0] = (*f).loc.r;
					T21_[1] = a.address;
					T21_[2] = a.res;
					T22_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T22_ = percent__i3z9am8Hzy69bSo575pRdzGw(T21_, 3);
					add_IM4kcMNkkOLJtqdEqSxR8A(&initList, T22_);
				}
				goto LA17_;
				LA19_: ;
				{
					tyArray_mrugoXXRZUEeG9bEXo9auBKw T30_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T31_;
					{
						NIM_BOOL T26_;
						tyArray_mrugoXXRZUEeG9bEXo9auBKw T29_;
						T26_ = (NIM_BOOL)0;
						T26_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, val);
						if (!!(T26_)) goto LA27_;
						useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
						nimZeroMem((void*)T29_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
						T29_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
						T29_[1] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, typ);
						a.res = percent__RhAtD9c9aECDorIc8rDhMF9bw(T29_, 2);
					}
					LA27_: ;
					nimZeroMem((void*)T30_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
					T30_[0] = (*f).loc.r;
					T30_[1] = a.res;
					T31_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T31_ = percent__SkAQPSnCyiRvin57XULW4A(T30_, 2);
					add_IM4kcMNkkOLJtqdEqSxR8A(&initList, T31_);
				}
				LA17_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_311 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_311);
			} LA3: ;
		}
	}
	t = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36275087638309136));
	createObjInitList_lQPYSYugh4oxbm9bTJCSJoA(p, t, (&fieldIDs), &initList);
	nimZeroMem((void*)T32_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T32_[0] = initList;
	unsureAsgnRef((void**) (&(*r).res), percent__Bym8FwH29aQE8fth9ar38yJQ(T32_, 1));
}

N_LIB_PRIVATE N_NIMCALL(void, genConv_Bp5hmw3gImpkyC9cflWESLg_17)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* dest;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* src;
{	dest = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36134350144710928));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	src = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350144710928));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
	{
		if (!((*dest).kind == (*src).kind)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	switch ((*dest).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1):
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T6_;
		nimZeroMem((void*)T6_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__CbbQqCp6itJgwKVRfTr69ag(T6_, 1));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31):
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T8_;
		nimZeroMem((void*)T8_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T8_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__HWgoOloM1oqcI9aZ9bEkoBhg(T8_, 1));
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genCheckedFieldOp_iKztcH0Tujg1djuGYyE69cQ)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* addrTyp, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* accessExpr;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* checkExpr;
	NIM_BOOL negCheck;
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* field;
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* disc;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w setx;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w obj;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T29_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T30_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T31_;
	tyArray_duFhZXIIlrbrM62cWjNekg T32_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T40_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T41_;
	{
		NimStringDesc* T5_;
		if (!!(((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46)))) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_315);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T5_);
	}
	LA3_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	accessExpr = (*n).sons->data[((NI) 0)];
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	checkExpr = (*n).sons->data[((NI) 1)];
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*checkExpr).kind)>>3] &(1U<<((NU)((*checkExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)-1);
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*checkExpr).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*checkExpr).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	negCheck = ((*(*(*checkExpr).sons->data[((NI) 0)]).sym).magic == ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 104));
	{
		NI T10_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_316;
		if (!negCheck) goto LA8_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*checkExpr).kind)>>3] &(1U<<((NU)((*checkExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		T10_ = (NI)0;
		T10_ = len_P89cqdlERShb9alU3iC0yj8wast(checkExpr);
		TM_BxLwT0mhrtgTPodf1v3xjg_316 = subInt(T10_, ((NI) 1));
		if ((NU)((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_316)) >= (NU)((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_316),((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)-1);
		checkExpr = (*checkExpr).sons->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_316)];
	}
	LA8_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*accessExpr).kind)>>3] &(1U<<((NU)((*accessExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*accessExpr).sons ? (*accessExpr).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*accessExpr).sons ? (*accessExpr).sons->Sup.len : 0)-1);
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*accessExpr).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*accessExpr).sons->data[((NI) 1)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	field = (*(*accessExpr).sons->data[((NI) 1)]).sym;
	{
		NimStringDesc* T15_;
		if (!!(((*field).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA13_;
		T15_ = (NimStringDesc*)0;
		T15_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_317);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T15_);
	}
	LA13_: ;
	{
		if (!((*field).loc.r == NIM_NIL)) goto LA18_;
		asgnRef((void**) (&(*field).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, field));
	}
	LA18_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*checkExpr).kind)>>3] &(1U<<((NU)((*checkExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 2)) >= (NU)((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)-1);
	if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*checkExpr).sons->data[((NI) 2)]).kind)>>3] &(1U<<((NU)((*(*checkExpr).sons->data[((NI) 2)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
	disc = (*(*checkExpr).sons->data[((NI) 2)]).sym;
	{
		NimStringDesc* T24_;
		if (!!(((*disc).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 19)))) goto LA22_;
		T24_ = (NimStringDesc*)0;
		T24_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_318);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T24_);
	}
	LA22_: ;
	{
		if (!((*disc).loc.r == NIM_NIL)) goto LA27_;
		asgnRef((void**) (&(*disc).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, disc));
	}
	LA27_: ;
	nimZeroMem((void*)(&setx), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*checkExpr).kind)>>3] &(1U<<((NU)((*checkExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*checkExpr).sons ? (*checkExpr).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*checkExpr).sons->data[((NI) 1)], (&setx));
	nimZeroMem((void*)(&obj), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*accessExpr).kind)>>3] &(1U<<((NU)((*accessExpr).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*accessExpr).sons ? (*accessExpr).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*accessExpr).sons ? (*accessExpr).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*accessExpr).sons->data[((NI) 0)], (&obj));
	tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
	nimZeroMem((void*)T29_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T29_[0] = tmp;
	T29_[1] = obj.res;
	T30_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T30_ = percent__JRV6DlpqdegYGLcFjNPv0g(T29_, 2);
	T31_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T31_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T30_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T31_);
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_319));
	useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_174));
	nimZeroMem((void*)T32_, sizeof(tyArray_duFhZXIIlrbrM62cWjNekg));
	T32_[0] = setx.res;
	T32_[1] = tmp;
	T32_[2] = (*disc).loc.r;
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T37_;
		if (!negCheck) goto LA35_;
		nimZeroMem((void*)T37_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T32_[3] = percent__tDrtnFWakp63hyE9cfImgZw(T37_, 0);
	}
	goto LA33_;
	LA35_: ;
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T39_;
		nimZeroMem((void*)T39_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T32_[3] = percent__JwpI2xnYNfR68HstfDi1yQ(T39_, 0);
	}
	LA33_: ;
	T32_[4] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*(*field).name).s, NIM_TRUE);
	T40_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T40_ = percent__Anf1UHjOzz9aHgMOgtnEPZA(T32_, 5);
	T41_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T41_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T40_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T41_);
	{
		NIM_BOOL T44_;
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T46_;
		NimStringDesc* T49_;
		T44_ = (NIM_BOOL)0;
		T44_ = !((addrTyp == NIM_NIL));
		if (!(T44_)) goto LA45_;
		T46_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T46_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, addrTyp);
		T44_ = (T46_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
		LA45_: ;
		if (!T44_) goto LA47_;
		(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
		T49_ = (NimStringDesc*)0;
		T49_ = dollar__mZ66tEveFIQokq3arf8Klw((*field).loc.r);
		unsureAsgnRef((void**) (&(*r).res), makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T49_, NIM_TRUE));
		unsureAsgnRef((void**) (&(*r).address), tmp);
	}
	goto LA42_;
	LA47_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T51_;
		(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
		nimZeroMem((void*)T51_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T51_[0] = tmp;
		T51_[1] = (*field).loc.r;
		unsureAsgnRef((void**) (&(*r).res), percent__paA0sar8RKZqiwEaDfWo2A(T51_, 2));
	}
	LA42_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(NI, getFieldPosition_DLbHFD2eUjMEos1A21BcJw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* f) {
	NI result;
	result = (NI)0;
	switch ((*f).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 6) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*f).kind)>>3] &(1U<<((NU)((*f).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
		result = ((NI) ((*f).intVal));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*f).kind)>>3] &(1U<<((NU)((*f).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		result = (*(*f).sym).position;
	}
	break;
	default:
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*f).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_321));
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genFieldAddr_Bp5hmw3gImpkyC9cflWESLg_19)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		b = (*n).sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		b = n;
	}
	LA1_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*b).sons ? (*b).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*b).sons->data[((NI) 0)], (&a));
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T8_;
		NimStringDesc* T11_;
		NI T12_;
		NimStringDesc* T13_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*b).sons ? (*b).sons->Sup.len : 0)-1);
		T8_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T8_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*b).sons->data[((NI) 0)]).typ, IL64(36134350144710928));
		if (!((*T8_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA9_;
		T11_ = (NimStringDesc*)0;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*b).sons ? (*b).sons->Sup.len : 0)-1);
		T12_ = (NI)0;
		T12_ = getFieldPosition_DLbHFD2eUjMEos1A21BcJw(p, (*b).sons->data[((NI) 1)]);
		T13_ = (NimStringDesc*)0;
		T13_ = nimIntToStr(T12_);
		T11_ = rawNewString((T13_ ? T13_->Sup.len : 0) + 5);
appendString(T11_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_320));
appendString(T11_, T13_);
		unsureAsgnRef((void**) (&(*r).res), makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T11_, NIM_TRUE));
	}
	goto LA6_;
	LA9_: ;
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* f;
		NimStringDesc* T23_;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*b).sons ? (*b).sons->Sup.len : 0)-1);
			if (!!(((*(*b).sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA17_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*b).sons ? (*b).sons->Sup.len : 0)-1);
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*(*b).sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_322));
		}
		LA17_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*b).kind)>>3] &(1U<<((NU)((*b).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*b).sons ? (*b).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*b).sons ? (*b).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*b).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*b).sons->data[((NI) 1)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		f = (*(*b).sons->data[((NI) 1)]).sym;
		{
			if (!((*f).loc.r == NIM_NIL)) goto LA21_;
			asgnRef((void**) (&(*f).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, f));
		}
		LA21_: ;
		T23_ = (NimStringDesc*)0;
		T23_ = dollar__mZ66tEveFIQokq3arf8Klw((*f).loc.r);
		unsureAsgnRef((void**) (&(*r).res), makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T23_, NIM_TRUE));
	}
	LA6_: ;
	{
		NimStringDesc* T28_;
		if (!!(!((a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))))) goto LA26_;
		T28_ = (NimStringDesc*)0;
		T28_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_323);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T28_);
	}
	LA26_: ;
	unsureAsgnRef((void**) (&(*r).address), a.res);
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genFieldAccess_Bp5hmw3gImpkyC9cflWESLg_20)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* otyp;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	(*r).typ = mapType_3fHLBKCveV5k5hDCMQOL2g((*n).typ);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	otyp = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350144710928));
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T5_;
		NI T6_;
		if (!((*otyp).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T5_[0] = (*r).res;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T6_ = (NI)0;
		T6_ = getFieldPosition_DLbHFD2eUjMEos1A21BcJw(p, (*n).sons->data[((NI) 1)]);
		T5_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (T6_)));
		unsureAsgnRef((void**) (&(*r).res), percent__5TB09c2Iz60T0YagbSbI5RQ(T5_, 2));
		{
			if (!((*r).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA9_;
			{
				NIM_BOOL T13_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
				tyArray_mrugoXXRZUEeG9bEXo9auBKw T16_;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T17_;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				T13_ = (NIM_BOOL)0;
				T13_ = needsTemp_63ZTZNC9c5no8E73V2FDEMA_2(p, (*n).sons->data[((NI) 0)]);
				if (!T13_) goto LA14_;
				tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
				nimZeroMem((void*)T16_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
				T16_[0] = tmp;
				T16_[1] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent__U9b6hkqS6N7XIWr0gy8z9bug(T16_, 2));
				nimZeroMem((void*)T17_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T17_[0] = tmp;
				unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T17_, 1));
				unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
			}
			goto LA11_;
			LA14_: ;
			{
				tyArray_JiWwrsTRC6xqNlGcBthSVA T19_;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T20_;
				nimZeroMem((void*)T19_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T19_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent__TmulmJw2SZspd0rz2PYvQw(T19_, 1));
				nimZeroMem((void*)T20_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T20_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T20_, 1));
			}
			LA11_: ;
		}
		LA9_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* f;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T30_;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA24_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*(*n).sons->data[((NI) 1)]).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_324));
		}
		LA24_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 1)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		f = (*(*n).sons->data[((NI) 1)]).sym;
		{
			if (!((*f).loc.r == NIM_NIL)) goto LA28_;
			asgnRef((void**) (&(*f).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, f));
		}
		LA28_: ;
		nimZeroMem((void*)T30_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T30_[0] = (*r).res;
		T30_[1] = (*f).loc.r;
		unsureAsgnRef((void**) (&(*r).res), percent__paA0sar8RKZqiwEaDfWo2A(T30_, 2));
		{
			if (!((*r).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA33_;
			{
				NIM_BOOL T37_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp_2;
				tyArray_mrugoXXRZUEeG9bEXo9auBKw T40_;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T41_;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				T37_ = (NIM_BOOL)0;
				T37_ = needsTemp_63ZTZNC9c5no8E73V2FDEMA_2(p, (*n).sons->data[((NI) 1)]);
				if (!T37_) goto LA38_;
				tmp_2 = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
				nimZeroMem((void*)T40_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
				T40_[0] = tmp_2;
				T40_[1] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent__U9b6hkqS6N7XIWr0gy8z9bug(T40_, 2));
				nimZeroMem((void*)T41_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T41_[0] = tmp_2;
				unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T41_, 1));
				unsureAsgnRef((void**) (&(*r).tmpLoc), tmp_2);
			}
			goto LA35_;
			LA38_: ;
			{
				tyArray_JiWwrsTRC6xqNlGcBthSVA T43_;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T44_;
				nimZeroMem((void*)T43_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T43_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).address), percent__TmulmJw2SZspd0rz2PYvQw(T43_, 1));
				nimZeroMem((void*)T44_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T44_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T44_, 1));
			}
			LA35_: ;
		}
		LA33_: ;
	}
	LA1_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genArrayAddr_Bp5hmw3gImpkyC9cflWESLg_21)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w b;
	NI64 first;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* m;
	tyTuple_nsNHL3sm0TZE9bootw2pEXw T6_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* x;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	first = (NI64)0;
	(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64))) goto LA3_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		m = (*n).sons->data[((NI) 0)];
	}
	goto LA1_;
	LA3_: ;
	{
		m = n;
	}
	LA1_: ;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*m).kind)>>3] &(1U<<((NU)((*m).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*m).sons ? (*m).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*m).sons ? (*m).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*m).sons->data[((NI) 0)], (&a));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*m).kind)>>3] &(1U<<((NU)((*m).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*m).sons ? (*m).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*m).sons ? (*m).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*m).sons->data[((NI) 1)], (&b));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*m).kind)>>3] &(1U<<((NU)((*m).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*m).sons ? (*m).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*m).sons ? (*m).sons->Sup.len : 0)-1);
	nimZeroMem((void*)(&T6_), sizeof(tyTuple_nsNHL3sm0TZE9bootw2pEXw));
	maybeMakeTemp_B84yKwsFUmIBPjvzzD9aZnw(p, (*m).sons->data[((NI) 0)], (&a), (&T6_));
	x = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	x = T6_.Field0;
	tmp = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	tmp = T6_.Field1;
	unsureAsgnRef((void**) (&(*r).address), x);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*m).kind)>>3] &(1U<<((NU)((*m).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*m).sons ? (*m).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*m).sons ? (*m).sons->Sup.len : 0)-1);
	typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*m).sons->data[((NI) 0)]).typ, IL64(36275087638309136));
	{
		if (!((*typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16))) goto LA9_;
		if ((NU)(((NI) 0)) >= (NU)((*typ).sons ? (*typ).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*typ).sons ? (*typ).sons->Sup.len : 0)-1);
		first = firstOrd_4cSIntenL9aBXY6LAFsvXdQ((*(*p).module).config, (*typ).sons->data[((NI) 0)]);
	}
	goto LA7_;
	LA9_: ;
	{
		first = IL64(0);
	}
	LA7_: ;
	{
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T16_;
		if (!(((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 4))&31U)))!=0)) goto LA14_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_325));
		nimZeroMem((void*)T16_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T16_[0] = b.res;
		T16_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(first);
		T16_[2] = tmp;
		unsureAsgnRef((void**) (&(*r).res), percent__zp3s8OmHH45zoJWh1nlZxA(T16_, 3));
	}
	goto LA12_;
	LA14_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T20_;
		if (!!((first == IL64(0)))) goto LA18_;
		nimZeroMem((void*)T20_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T20_[0] = b.res;
		T20_[1] = rope_KOisMGxcPhz6CcSmxgwEQQ(first);
		unsureAsgnRef((void**) (&(*r).res), percent__uVZXJGmbOGIG9bfkI4ZDwJQ(T20_, 2));
	}
	goto LA12_;
	LA18_: ;
	{
		unsureAsgnRef((void**) (&(*r).res), b.res);
	}
	LA12_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, genAddr_Bp5hmw3gImpkyC9cflWESLg_18)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	switch ((*(*n).sons->data[((NI) 0)]).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		s = (*(*n).sons->data[((NI) 0)]).sym;
		{
			if (!((*s).loc.r == NIM_NIL)) goto LA4_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_312));
		}
		LA4_: ;
		switch ((*s).kind) {
		case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 8):
		case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 9):
		case ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 11):
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA jsType;
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
			jsType = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*n).typ);
			{
				if (!(jsType == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA9_;
				(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
				{
					tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v;
					NIM_BOOL T13_;
					NIM_BOOL T14_;
					v = s;
					T13_ = (NIM_BOOL)0;
					T14_ = (NIM_BOOL)0;
					T14_ = !(((32776 & (*v).flags) == 0));
					if (!(T14_)) goto LA15_;
					T14_ = ((96 & (*v).flags) == 0);
					LA15_: ;
					T13_ = T14_;
					if (!(T13_)) goto LA16_;
					T13_ = !(((128544 &(1U<<((NU)((*v).kind)&31U)))!=0));
					LA16_: ;
					if (!T13_) goto LA17_;
					unsureAsgnRef((void**) (&(*r).res), amp__Z7W1o5nPSc3ExfO5f7j1Gg((*s).loc.r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_313)));
				}
				goto LA11_;
				LA17_: ;
				{
					unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
				}
				LA11_: ;
				unsureAsgnRef((void**) (&(*r).address), NIM_NIL);
			}
			goto LA7_;
			LA9_: ;
			{
				NIM_BOOL T21_;
				T21_ = (NIM_BOOL)0;
				T21_ = !(((32776 & (*s).flags) == 0));
				if (T21_) goto LA22_;
				T21_ = (jsType == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9));
				LA22_: ;
				if (!T21_) goto LA23_;
				(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
				unsureAsgnRef((void**) (&(*r).address), (*s).loc.r);
				unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_125)));
			}
			goto LA7_;
			LA23_: ;
			{
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
			}
			LA7_: ;
		}
		break;
		default:
		{
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_314));
		}
		break;
		}
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		genCheckedFieldOp_iKztcH0Tujg1djuGYyE69cQ(p, (*n).sons->data[((NI) 0)], (*n).typ, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T31_;
			T31_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T31_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*n).typ);
			if (!(T31_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA32_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			genFieldAddr_Bp5hmw3gImpkyC9cflWESLg_19(p, (*n).sons->data[((NI) 0)], r);
		}
		goto LA29_;
		LA32_: ;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			genFieldAccess_Bp5hmw3gImpkyC9cflWESLg_20(p, (*n).sons->data[((NI) 0)], r);
		}
		LA29_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* ty;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		ty = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350144710928));
		{
			if (!((IL64(281475111911424) &((NU64)1<<((NU)((*ty).kind)&63U)))!=0)) goto LA38_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
		}
		goto LA36_;
		LA38_: ;
		{
			tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag kindOfIndexedExpr;
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T41_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
			T41_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T41_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]).typ, IL64(36134350144710928));
			kindOfIndexedExpr = (*T41_).kind;
			switch (kindOfIndexedExpr) {
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16):
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 27):
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24):
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29):
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 48):
			{
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				genArrayAddr_Bp5hmw3gImpkyC9cflWESLg_21(p, (*n).sons->data[((NI) 0)], r);
			}
			break;
			case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18):
			{
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				genFieldAddr_Bp5hmw3gImpkyC9cflWESLg_19(p, (*n).sons->data[((NI) 0)], r);
			}
			break;
			default:
			{
				NimStringDesc* T45_;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				T45_ = (NimStringDesc*)0;
				T45_ = rawNewString((reprEnum((NI)kindOfIndexedExpr, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)kindOfIndexedExpr, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 21);
appendString(T45_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_326));
appendString(T45_, reprEnum((NI)kindOfIndexedExpr, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T45_, 41);
				internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*(*n).sons->data[((NI) 0)]).info, T45_);
			}
			break;
			}
		}
		LA36_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)], r);
	}
	break;
	default:
	{
		NimStringDesc* T49_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T49_ = (NimStringDesc*)0;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T49_ = rawNewString((reprEnum((NI)(*(*n).sons->data[((NI) 0)]).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*(*n).sons->data[((NI) 0)]).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 9);
appendString(T49_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_327));
appendString(T49_, reprEnum((NI)(*(*n).sons->data[((NI) 0)]).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)));
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*(*n).sons->data[((NI) 0)]).info, T49_);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genDeref_Bp5hmw3gImpkyC9cflWESLg_22)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
	tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA t;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	it = (*n).sons->data[((NI) 0)];
	t = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*it).typ);
	{
		if (!(t == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8))) goto LA3_;
		gen_Bp5hmw3gImpkyC9cflWESLg(p, it, r);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		gen_Bp5hmw3gImpkyC9cflWESLg(p, it, (&a));
		(*r).kind = a.kind;
		(*r).typ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*n).typ);
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T10_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T11_;
			if (!((*r).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA8_;
			tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
			nimZeroMem((void*)T10_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T10_[0] = tmp;
			T10_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
			unsureAsgnRef((void**) (&(*r).address), percent__U9b6hkqS6N7XIWr0gy8z9bug(T10_, 2));
			nimZeroMem((void*)T11_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T11_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T11_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
		}
		goto LA6_;
		LA8_: ;
		{
			if (!(a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA13_;
			{
				if (!!((a.tmpLoc == NIM_NIL))) goto LA17_;
				unsureAsgnRef((void**) (&(*r).tmpLoc), a.tmpLoc);
			}
			LA17_: ;
			unsureAsgnRef((void**) (&(*r).res), rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a)));
		}
		goto LA6_;
		LA13_: ;
		{
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_328));
		}
		LA6_: ;
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genArrayAccess_Bp5hmw3gImpkyC9cflWESLg_23)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* ty;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	ty = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350144710928));
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T5_;
		if (!((IL64(175921866735616) &((NU64)1<<((NU)((*ty).kind)&63U)))!=0)) goto LA3_;
		T5_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T5_ = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(ty);
		ty = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg(T5_, IL64(36134350144710928));
	}
	LA3_: ;
	switch ((*ty).kind) {
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 16):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 27):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 24):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29):
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 48):
	{
		genArrayAddr_Bp5hmw3gImpkyC9cflWESLg_21(p, n, r);
	}
	break;
	case ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 18):
	{
		genFieldAddr_Bp5hmw3gImpkyC9cflWESLg_19(p, n, r);
	}
	break;
	default:
	{
		NimStringDesc* T9_;
		T9_ = (NimStringDesc*)0;
		T9_ = rawNewString((reprEnum((NI)(*ty).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)) ? reprEnum((NI)(*ty).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_))->Sup.len : 0) + 21);
appendString(T9_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_326));
appendString(T9_, reprEnum((NI)(*ty).kind, (&NTI_9a3YiReNVD0IJHWFKgXRe9ag_)));
appendChar(T9_, 41);
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T9_);
	}
	break;
	}
	(*r).typ = mapType_3fHLBKCveV5k5hDCMQOL2g((*n).typ);
	{
		if (!((*r).res == NIM_NIL)) goto LA12_;
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_329));
	}
	LA12_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T18_;
		if (!((*ty).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 29))) goto LA16_;
		nimZeroMem((void*)T18_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T18_[0] = (*r).address;
		T18_[1] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__UxL9a0Hh7Km0Z0DIk7hp9cBA(T18_, 2));
	}
	goto LA14_;
	LA16_: ;
	{
		if (!((*r).typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA20_;
		{
			NIM_BOOL T24_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T27_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T28_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T24_ = (NIM_BOOL)0;
			T24_ = needsTemp_63ZTZNC9c5no8E73V2FDEMA_2(p, (*n).sons->data[((NI) 0)]);
			if (!T24_) goto LA25_;
			tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
			nimZeroMem((void*)T27_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T27_[0] = tmp;
			T27_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			unsureAsgnRef((void**) (&(*r).address), percent__U9b6hkqS6N7XIWr0gy8z9bug(T27_, 2));
			nimZeroMem((void*)T28_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T28_[0] = tmp;
			unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T28_, 1));
			unsureAsgnRef((void**) (&(*r).tmpLoc), tmp);
		}
		goto LA22_;
		LA25_: ;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* x;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T30_;
			tyArray_JiWwrsTRC6xqNlGcBthSVA T31_;
			x = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*r)));
			nimZeroMem((void*)T30_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T30_[0] = x;
			unsureAsgnRef((void**) (&(*r).address), percent__TmulmJw2SZspd0rz2PYvQw(T30_, 1));
			nimZeroMem((void*)T31_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T31_[0] = x;
			unsureAsgnRef((void**) (&(*r).res), percent__UFeu00R8dNoyzL8vy54mnQ(T31_, 1));
		}
		LA22_: ;
	}
	goto LA14_;
	LA20_: ;
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T33_;
		nimZeroMem((void*)T33_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T33_[0] = (*r).address;
		T33_[1] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__jadqNPnY9aM3oxYK6jarLrA(T33_, 2));
	}
	LA14_: ;
	(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
}

N_LIB_PRIVATE N_NIMCALL(void, upConv_Bp5hmw3gImpkyC9cflWESLg_24)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
}

static N_INLINE(NIM_BOOL, contains_NUcXcdcbrUs0l4XrxCmsRgsystem)(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA s, tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag value) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = (s.a <= value);
	if (!(T1_)) goto LA2_;
	T1_ = (value <= s.b);
	LA2_: ;
	result = T1_;
	return result;
}

static N_INLINE(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA, dotdot__Lid9a4g9biXDC8SKbcluO70gsystem)(tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag a, tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag b) {
	tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA));
	chckNil((void*)(&result));
	nimZeroMem((void*)(&result), sizeof(tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA));
	result.a = a;
	result.b = b;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genCast_Bp5hmw3gImpkyC9cflWESLg_25)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* dest;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* src;
	NIM_BOOL toInt_1;
	tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA T5_;
	NIM_BOOL toUint;
	tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA T6_;
	NIM_BOOL fromInt;
	tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA T7_;
	NIM_BOOL fromUint;
	tyObject_HSlice_HjDAjiFsTWGmlZ9cd8nEusA T8_;
{	dest = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36134350144710928));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	src = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 1)]).typ, IL64(36134350144710928));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
	{
		if (!((*dest).kind == (*src).kind)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	T5_ = dotdot__Lid9a4g9biXDC8SKbcluO70gsystem(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 34));
	toInt_1 = contains_NUcXcdcbrUs0l4XrxCmsRgsystem(T5_, (*dest).kind);
	T6_ = dotdot__Lid9a4g9biXDC8SKbcluO70gsystem(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 43));
	toUint = contains_NUcXcdcbrUs0l4XrxCmsRgsystem(T6_, (*dest).kind);
	T7_ = dotdot__Lid9a4g9biXDC8SKbcluO70gsystem(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 31), ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 34));
	fromInt = contains_NUcXcdcbrUs0l4XrxCmsRgsystem(T7_, (*src).kind);
	T8_ = dotdot__Lid9a4g9biXDC8SKbcluO70gsystem(((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 40), ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 43));
	fromUint = contains_NUcXcdcbrUs0l4XrxCmsRgsystem(T8_, (*src).kind);
	{
		NIM_BOOL T11_;
		NIM_BOOL T13_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* trimmer;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T17_;
		T11_ = (NIM_BOOL)0;
		T11_ = toUint;
		if (!(T11_)) goto LA12_;
		T13_ = (NIM_BOOL)0;
		T13_ = fromInt;
		if (T13_) goto LA14_;
		T13_ = fromUint;
		LA14_: ;
		T11_ = T13_;
		LA12_: ;
		if (!T11_) goto LA15_;
		trimmer = unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ((*dest).size);
		nimZeroMem((void*)T17_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T17_[0] = (*r).res;
		T17_[1] = trimmer;
		unsureAsgnRef((void**) (&(*r).res), percent__QxiH9aM0po7vA19b2s1CjdEA(T17_, 2));
	}
	goto LA9_;
	LA15_: ;
	{
		if (!toInt_1) goto LA19_;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* trimmer_2;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T25_;
			if (!fromInt) goto LA23_;
			trimmer_2 = unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ((*dest).size);
			nimZeroMem((void*)T25_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T25_[0] = (*r).res;
			T25_[1] = trimmer_2;
			unsureAsgnRef((void**) (&(*r).res), percent__QxiH9aM0po7vA19b2s1CjdEA(T25_, 2));
		}
		goto LA21_;
		LA23_: ;
		{
			if (!fromUint) goto LA27_;
			{
				NIM_BOOL T31_;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T35_;
				T31_ = (NIM_BOOL)0;
				T31_ = ((*src).size == IL64(4));
				if (!(T31_)) goto LA32_;
				T31_ = ((*dest).size == IL64(4));
				LA32_: ;
				if (!T31_) goto LA33_;
				nimZeroMem((void*)T35_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T35_[0] = (*r).res;
				unsureAsgnRef((void**) (&(*r).res), percent__FZt89ajG3TKAhfL9aW4s7hcA(T35_, 1));
			}
			goto LA29_;
			LA33_: ;
			{
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* trimmer_3;
				NimStringDesc* minuend;
				tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T41_;
				trimmer_3 = unsignedTrimmerJS_Z9b4MKfBgROPw39c1OtIrpwQ((*dest).size);
				switch ((*dest).size) {
				case ((NI) 1):
				{
					minuend = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_330));
				}
				break;
				case ((NI) 2):
				{
					minuend = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_331));
				}
				break;
				case ((NI) 4):
				{
					minuend = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_332));
				}
				break;
				default:
				{
					minuend = ((NimStringDesc*) NIM_NIL);
				}
				break;
				}
				nimZeroMem((void*)T41_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
				T41_[0] = rope_yShmEg9cffWxI7s5XzEKBow(minuend);
				T41_[1] = (*r).res;
				T41_[2] = trimmer_3;
				unsureAsgnRef((void**) (&(*r).res), percent__5GaE39bOOeQZy3EFOEIy5QA(T41_, 3));
			}
			LA29_: ;
		}
		goto LA21_;
		LA27_: ;
		LA21_: ;
	}
	goto LA9_;
	LA19_: ;
	{
		NIM_BOOL T43_;
		NIM_BOOL T44_;
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T46_;
		tyArray_qTjAvTvKF9anytN1At69aJMQ T50_;
		T43_ = (NIM_BOOL)0;
		T44_ = (NIM_BOOL)0;
		T44_ = ((*src).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21));
		if (!(T44_)) goto LA45_;
		T46_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T46_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, src);
		T44_ = (T46_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8));
		LA45_: ;
		T43_ = T44_;
		if (!(T43_)) goto LA47_;
		T43_ = ((*dest).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26));
		LA47_: ;
		if (!T43_) goto LA48_;
		unsureAsgnRef((void**) (&(*r).address), (*r).res);
		nimZeroMem((void*)T50_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		unsureAsgnRef((void**) (&(*r).res), percent__SA9cvbR3uc9cP50nnaEBJctw(T50_, 0));
		(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
	}
	goto LA9_;
	LA48_: ;
	{
		NIM_BOOL T52_;
		NIM_BOOL T53_;
		tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T55_;
		T52_ = (NIM_BOOL)0;
		T53_ = (NIM_BOOL)0;
		T53_ = ((*dest).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 21));
		if (!(T53_)) goto LA54_;
		T55_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
		T55_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, dest);
		T53_ = (T55_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8));
		LA54_: ;
		T52_ = T53_;
		if (!(T52_)) goto LA56_;
		T52_ = ((*src).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26));
		LA56_: ;
		if (!T52_) goto LA57_;
		unsureAsgnRef((void**) (&(*r).res), (*r).address);
		(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8);
	}
	goto LA9_;
	LA57_: ;
	LA9_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genRangeChck_hP2w9bfjeb9a8Gw7OVBCznWw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r, NimStringDesc* magic) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w b;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	{
		tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T5_;
		if (!(((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 3))&31U)))!=0)) goto LA3_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], (&a));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 2)], (&b));
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_333));
		nimZeroMem((void*)T5_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
		T5_[0] = (*r).res;
		T5_[1] = a.res;
		T5_[2] = b.res;
		unsureAsgnRef((void**) (&(*r).res), percent__KweYGQ9bFYg76nmoxpk8ksA(T5_, 3));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, convStrToCStr_Bp5hmw3gImpkyC9cflWESLg_26)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 72))) goto LA3_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)], r);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T10_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
		{
			if (!((*r).res == NIM_NIL)) goto LA8_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_336));
		}
		LA8_: ;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_266));
		nimZeroMem((void*)T10_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T10_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__AhY63HjLy2bPe9bslUNBuBQ(T10_, 1));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, convCStrToStr_Bp5hmw3gImpkyC9cflWESLg_27)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 71))) goto LA3_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)], r);
	}
	goto LA1_;
	LA3_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T10_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
		{
			if (!((*r).res == NIM_NIL)) goto LA8_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_337));
		}
		LA8_: ;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_220));
		nimZeroMem((void*)T10_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T10_[0] = (*r).res;
		unsureAsgnRef((void**) (&(*r).res), percent__NPgb4kECDcV8MICSil6Rjw(T10_, 1));
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genBlock_Bp5hmw3gImpkyC9cflWESLg_28)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	NI TM_BxLwT0mhrtgTPodf1v3xjg_340;
	NI idx;
	NI T1_;
	NI labl;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T10_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_343;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T13_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
	TM_BxLwT0mhrtgTPodf1v3xjg_340 = addInt((*p).unique, ((NI) 1));
	(*p).unique = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_340);
	T1_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	idx = T1_;
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_342;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA4_;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA8_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_341));
		}
		LA8_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		sym = (*(*n).sons->data[((NI) 0)]).sym;
		(*sym).loc.k = ((tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg) 10);
		TM_BxLwT0mhrtgTPodf1v3xjg_342 = addInt(idx, ((NI) 1));
		(*sym).position = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_342);
	}
	LA4_: ;
	labl = (*p).unique;
	nimZeroMem((void*)T10_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T10_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (labl)));
	T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = percent__3m7YwdrxIvOkmvfnm5JYSA(T10_, 1);
	T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T11_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T12_);
	TM_BxLwT0mhrtgTPodf1v3xjg_343 = addInt(idx, ((NI) 1));
	asgnRef((void**) (&(*p).blocks), (tySequence_8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTI_8fytVdU59b5aj319cog2ztLw_), ((NI)chckRange((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_343), ((NI) 0), ((NI) IL64(9223372036854775807))))));
	if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	if ((*p).unique == (IL64(-9223372036854775807) - IL64(1))) raiseOverflow();
	(*p).blocks->data[idx].id = ((NI64)-((*p).unique));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 1)], r);
	asgnRef((void**) (&(*p).blocks), (tySequence_8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTI_8fytVdU59b5aj319cog2ztLw_), ((NI)chckRange(idx, ((NI) 0), ((NI) IL64(9223372036854775807))))));
	nimZeroMem((void*)T13_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T13_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) (labl)));
	T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T14_ = percent__TEWiK8QWtRTCIQ9av7sW8LA(T13_, 1);
	T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
}

N_LIB_PRIVATE N_NIMCALL(void, moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* src, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* dest) {
	{
		if (!!(((*src).kind == ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA3_;
		{
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T9_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T10_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
			if (!!(((*dest).kind == ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0)))) goto LA7_;
			nimZeroMem((void*)T9_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T9_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen(dest);
			T9_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*src)));
			T10_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T10_ = percent__1Hh3EN9c4pkzdKB09bo9c9aTBg(T9_, 2);
			T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T11_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T10_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T11_);
		}
		goto LA5_;
		LA7_: ;
		{
			tyArray_JiWwrsTRC6xqNlGcBthSVA T13_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T14_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
			nimZeroMem((void*)T13_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
			T13_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&(*src)));
			T14_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T14_ = percent__9a3Y7eeGNXkOCLUktwxzN9ag(T13_, 1);
			T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T15_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T14_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T15_);
		}
		LA5_: ;
		(*src).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0);
		unsureAsgnRef((void**) (&(*src).res), NIM_NIL);
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genIf_Bp5hmw3gImpkyC9cflWESLg_29)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w cond;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w stmt;
	NI toClose;
	NimStringDesc* T31_;
	NimStringDesc* T32_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T33_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T34_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	toClose = ((NI) 0);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
		if (!!(T3_)) goto LA4_;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE));
	}
	LA4_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				tyArray_qTjAvTvKF9anytN1At69aJMQ T28_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T29_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T30_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_349;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				{
					NI T11_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_345;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_346;
					tyArray_JiWwrsTRC6xqNlGcBthSVA T21_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T22_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T23_;
					T11_ = (NI)0;
					T11_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(it);
					if (!!((T11_ == ((NI) 1)))) goto LA12_;
					{
						tyArray_qTjAvTvKF9anytN1At69aJMQ T18_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
						NI TM_BxLwT0mhrtgTPodf1v3xjg_344;
						if (!(((NI) 0) < i)) goto LA16_;
						nimZeroMem((void*)T18_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
						T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T19_ = percent__9an6bUHwpxqyL2kgNHX3MEg(T18_, 0);
						T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T19_);
						add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
						TM_BxLwT0mhrtgTPodf1v3xjg_344 = addInt(toClose, ((NI) 1));
						toClose = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_344);
					}
					LA16_: ;
					TM_BxLwT0mhrtgTPodf1v3xjg_345 = addInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_345);
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 0)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 0)], (&cond));
					TM_BxLwT0mhrtgTPodf1v3xjg_346 = subInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_346);
					nimZeroMem((void*)T21_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					T21_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&cond));
					T22_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T22_ = percent__kLwAORKb0c4oFgFTN9aEN8Q(T21_, 1);
					T23_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T23_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T22_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T23_);
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 1)], (&stmt));
				}
				goto LA9_;
				LA12_: ;
				{
					tyArray_qTjAvTvKF9anytN1At69aJMQ T25_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T26_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T27_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_347;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_348;
					nimZeroMem((void*)T25_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T26_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T26_ = percent__9an6bUHwpxqyL2kgNHX3MEg(T25_, 0);
					T27_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T27_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T26_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T27_);
					TM_BxLwT0mhrtgTPodf1v3xjg_347 = addInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_347);
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 0)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 0)], (&stmt));
					TM_BxLwT0mhrtgTPodf1v3xjg_348 = subInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_348);
				}
				LA9_: ;
				moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&stmt), (&(*r)));
				nimZeroMem((void*)T28_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
				T29_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T29_ = percent__BYiowJAm8zF7RBRISElaLg(T28_, 0);
				T30_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T30_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T29_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T30_);
				TM_BxLwT0mhrtgTPodf1v3xjg_349 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_349);
			} LA8: ;
		}
	}
	T31_ = (NimStringDesc*)0;
	T32_ = (NimStringDesc*)0;
	T32_ = nsuRepeatChar(125, ((NI)chckRange(toClose, ((NI) 0), ((NI) IL64(9223372036854775807)))));
	T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 1);
appendString(T31_, T32_);
appendString(T31_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_143));
	T33_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T33_ = rope_yShmEg9cffWxI7s5XzEKBow(T31_);
	T34_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T34_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T33_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T34_);
}

N_LIB_PRIVATE N_NIMCALL(void, genWhileStmt_AQaGEWMAoGSH1pqI9bePiww_9)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w cond;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_351;
	NI length;
	NI T7_;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_352;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* labl;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T8_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T10_;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_353;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_354;
	tyArray_mrugoXXRZUEeG9bEXo9auBKw T11_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T13_;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_355;
	NI TM_BxLwT0mhrtgTPodf1v3xjg_356;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T14_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T15_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T16_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	{
		NIM_BOOL T3_;
		NimStringDesc* T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
		if (!!(T3_)) goto LA4_;
		T6_ = (NimStringDesc*)0;
		T6_ = dollar__r38WafKlW80RkvoZTcia4Q(TM_BxLwT0mhrtgTPodf1v3xjg_350);
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*(*p).module).config, T6_);
	}
	LA4_: ;
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	TM_BxLwT0mhrtgTPodf1v3xjg_351 = addInt((*p).unique, ((NI) 1));
	(*p).unique = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_351);
	T7_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
	length = T7_;
	TM_BxLwT0mhrtgTPodf1v3xjg_352 = addInt(length, ((NI) 1));
	asgnRef((void**) (&(*p).blocks), (tySequence_8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTI_8fytVdU59b5aj319cog2ztLw_), ((NI)chckRange((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_352), ((NI) 0), ((NI) IL64(9223372036854775807))))));
	if ((NU)(length) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(length,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	if ((*p).unique == (IL64(-9223372036854775807) - IL64(1))) raiseOverflow();
	(*p).blocks->data[length].id = ((NI64)-((*p).unique));
	if ((NU)(length) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(length,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	(*p).blocks->data[length].isLoop = NIM_TRUE;
	labl = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*p).unique)));
	nimZeroMem((void*)T8_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T8_[0] = labl;
	T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T9_ = percent__Qm29ctdy9c4sqKctTsqiBWIg(T8_, 1);
	T10_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T10_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T9_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T10_);
	TM_BxLwT0mhrtgTPodf1v3xjg_353 = addInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_353);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], (&cond));
	TM_BxLwT0mhrtgTPodf1v3xjg_354 = subInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_354);
	nimZeroMem((void*)T11_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
	T11_[0] = cond.res;
	T11_[1] = labl;
	T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = percent__UyNt2Asj9aa2ScoGVo9cCnNw(T11_, 2);
	T13_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T13_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T12_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T13_);
	TM_BxLwT0mhrtgTPodf1v3xjg_355 = addInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_355);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, (*n).sons->data[((NI) 1)]);
	TM_BxLwT0mhrtgTPodf1v3xjg_356 = subInt((*p).extraIndent, ((NI) 1));
	(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_356);
	nimZeroMem((void*)T14_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T14_[0] = labl;
	T15_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T15_ = percent__BYiowJAm8zF7RBRISElaLg(T14_, 1);
	T16_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T16_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T15_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T16_);
	asgnRef((void**) (&(*p).blocks), (tySequence_8fytVdU59b5aj319cog2ztLw*) setLengthSeqV2(&((*p).blocks)->Sup, (&NTI_8fytVdU59b5aj319cog2ztLw_), ((NI)chckRange(length, ((NI) 0), ((NI) IL64(9223372036854775807))))));
}

N_LIB_PRIVATE N_NIMCALL(void, genVarStmt_AQaGEWMAoGSH1pqI9bePiww_10)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_359;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				a = (*n).sons->data[i];
				{
					if (!!(((*a).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125)))) goto LA6_;
					{
						tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* unpacked;
						if (!((*a).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 36))) goto LA10_;
						unpacked = lowerTupleUnpacking_8A4G64HByteFanrMUexmNw((*(*p).module).graph, a, (*p).prc);
						genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, unpacked);
					}
					goto LA8_;
					LA10_: ;
					{
						tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v;
						{
							if (!!(((*a).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 35)))) goto LA15_;
							failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_357));
						}
						LA15_: ;
						{
							if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
							if ((NU)(((NI) 0)) >= (NU)((*a).sons ? (*a).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*a).sons ? (*a).sons->Sup.len : 0)-1);
							if (!!(((*(*a).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA19_;
							failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_358));
						}
						LA19_: ;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(((NI) 0)) >= (NU)((*a).sons ? (*a).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*a).sons ? (*a).sons->Sup.len : 0)-1);
						if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*a).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*a).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
						v = (*(*a).sons->data[((NI) 0)]).sym;
						{
							NIM_BOOL T23_;
							T23_ = (NIM_BOOL)0;
							T23_ = !((((*v).loc.flags &(1U<<((NU)(((tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0));
							if (!(T23_)) goto LA24_;
							T23_ = !((((*v).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 5))&63U)))!=0));
							LA24_: ;
							if (!T23_) goto LA25_;
							genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, a);
							if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*a).kind)>>3] &(1U<<((NU)((*a).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
							if ((NU)(((NI) 2)) >= (NU)((*a).sons ? (*a).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*a).sons ? (*a).sons->Sup.len : 0)-1);
							genVarInit_iVEhpHbcyNY9aOzPqLze8xw(p, v, (*a).sons->data[((NI) 2)]);
						}
						LA25_: ;
					}
					LA8_: ;
				}
				LA6_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_359 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_359);
			} LA3: ;
		}
	}
}

static N_INLINE(NI64, addInt64)(NI64 a, NI64 b) {
	NI64 result;
{	result = (NI64)0;
	result = (NI64)((NU64)(a) + (NU64)(b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (IL64(0) <= (NI64)(result ^ a));
		if (T3_) goto LA4_;
		T3_ = (IL64(0) <= (NI64)(result ^ b));
		LA4_: ;
		if (!T3_) goto LA5_;
		goto BeforeRet_;
	}
	LA5_: ;
	raiseOverflow();
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, genCaseJS_Bp5hmw3gImpkyC9cflWESLg_30)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w cond;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w stmt;
	NIM_BOOL stringSwitch;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	tyArray_qTjAvTvKF9anytN1At69aJMQ T61_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T62_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T63_;
	nimZeroMem((void*)(&cond), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&stmt), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], (&cond));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36275087632017680));
	stringSwitch = ((*T1_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28));
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T8_;
		if (!stringSwitch) goto LA4_;
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_266));
		nimZeroMem((void*)T6_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T6_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&cond));
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = percent__xXvQyblNYV215UGR9cTka7Q(T6_, 1);
		T8_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T8_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T7_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T8_);
	}
	goto LA2_;
	LA4_: ;
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T10_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
		nimZeroMem((void*)T10_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T10_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&cond));
		T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T11_ = percent__T9caGByKkBhaXSZ6fCJLIdQ(T10_, 1);
		T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T12_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T11_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T12_);
	}
	LA2_: ;
	{
		NIM_BOOL T15_;
		T15_ = (NIM_BOOL)0;
		T15_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
		if (!!(T15_)) goto LA16_;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE));
	}
	LA16_: ;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 1);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_370;
				if (!(i_2 < colontmp_)) goto LA20;
				i = i_2;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				switch ((*it).kind) {
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
				{
					NI TM_BxLwT0mhrtgTPodf1v3xjg_365;
					tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T49_;
					tyArray_qTjAvTvKF9anytN1At69aJMQ T50_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T51_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T52_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_366;
					{
						NI j;
						NI colontmp__2;
						NI T23_;
						NI TM_BxLwT0mhrtgTPodf1v3xjg_361;
						NI res;
						j = (NI)0;
						colontmp__2 = (NI)0;
						T23_ = (NI)0;
						T23_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(it);
						TM_BxLwT0mhrtgTPodf1v3xjg_361 = subInt(T23_, ((NI) 2));
						colontmp__2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_361);
						res = ((NI) 0);
						{
							while (1) {
								tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* e;
								NI TM_BxLwT0mhrtgTPodf1v3xjg_364;
								if (!(res <= colontmp__2)) goto LA25;
								j = res;
								if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
								if ((NU)(j) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(j,((*it).sons ? (*it).sons->Sup.len : 0)-1);
								e = (*it).sons->data[j];
								{
									tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* v;
									if (!((*e).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 44))) goto LA28_;
									if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*e).kind)>>3] &(1U<<((NU)((*e).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
									if ((NU)(((NI) 0)) >= (NU)((*e).sons ? (*e).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*e).sons ? (*e).sons->Sup.len : 0)-1);
									v = copyNode_Dsjo9bte8vGxzhtcSrsTyiQ((*e).sons->data[((NI) 0)]);
									{
										while (1) {
											tyArray_JiWwrsTRC6xqNlGcBthSVA T32_;
											tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T33_;
											tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T34_;
											NI64 TM_BxLwT0mhrtgTPodf1v3xjg_362;
											if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*v).kind)>>3] &(1U<<((NU)((*v).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
											if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*e).kind)>>3] &(1U<<((NU)((*e).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
											if ((NU)(((NI) 1)) >= (NU)((*e).sons ? (*e).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*e).sons ? (*e).sons->Sup.len : 0)-1);
											if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*(*e).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*e).sons->data[((NI) 1)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
											if (!((*v).intVal <= (*(*e).sons->data[((NI) 1)]).intVal)) goto LA31;
											gen_Bp5hmw3gImpkyC9cflWESLg(p, v, (&cond));
											nimZeroMem((void*)T32_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
											T32_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&cond));
											T33_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
											T33_ = percent__f8NIixSwWrk6SXQ3BFamWw(T32_, 1);
											T34_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
											T34_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T33_);
											add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T34_);
											if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*v).kind)>>3] &(1U<<((NU)((*v).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
											TM_BxLwT0mhrtgTPodf1v3xjg_362 = addInt64((*v).intVal, ((NI) 1));
											(*v).intVal = (NI64)(TM_BxLwT0mhrtgTPodf1v3xjg_362);
										} LA31: ;
									}
								}
								goto LA26_;
								LA28_: ;
								{
									{
										if (!stringSwitch) goto LA38_;
										switch ((*e).kind) {
										case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
										{
											tyArray_JiWwrsTRC6xqNlGcBthSVA T41_;
											tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T42_;
											tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T43_;
											nimZeroMem((void*)T41_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
											if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*e).kind)>>3] &(1U<<((NU)((*e).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
											T41_[0] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*e).strVal, NIM_FALSE);
											T42_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
											T42_ = percent__f8NIixSwWrk6SXQ3BFamWw(T41_, 1);
											T43_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
											T43_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T42_);
											add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T43_);
										}
										break;
										default:
										{
											internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*e).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_363));
										}
										break;
										}
									}
									goto LA36_;
									LA38_: ;
									{
										tyArray_JiWwrsTRC6xqNlGcBthSVA T46_;
										tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T47_;
										tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T48_;
										gen_Bp5hmw3gImpkyC9cflWESLg(p, e, (&cond));
										nimZeroMem((void*)T46_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
										T46_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&cond));
										T47_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
										T47_ = percent__f8NIixSwWrk6SXQ3BFamWw(T46_, 1);
										T48_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
										T48_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T47_);
										add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T48_);
									}
									LA36_: ;
								}
								LA26_: ;
								TM_BxLwT0mhrtgTPodf1v3xjg_364 = addInt(res, ((NI) 1));
								res = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_364);
							} LA25: ;
						}
					}
					TM_BxLwT0mhrtgTPodf1v3xjg_365 = addInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_365);
					T49_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
					T49_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(it);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, T49_, (&stmt));
					moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&stmt), (&(*r)));
					nimZeroMem((void*)T50_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T51_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T51_ = percent__TmeCjGna9cPfiHHcfqmKXjw(T50_, 0);
					T52_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T52_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T51_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T52_);
					TM_BxLwT0mhrtgTPodf1v3xjg_366 = subInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_366);
				}
				break;
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
				{
					tyArray_qTjAvTvKF9anytN1At69aJMQ T54_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T55_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T56_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_367;
					tyArray_qTjAvTvKF9anytN1At69aJMQ T57_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T58_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T59_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_368;
					nimZeroMem((void*)T54_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T55_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T55_ = percent__LYjQOKn1i9ccw8AFlvPGkCg(T54_, 0);
					T56_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T56_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T55_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T56_);
					TM_BxLwT0mhrtgTPodf1v3xjg_367 = addInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_367);
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 0)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					gen_Bp5hmw3gImpkyC9cflWESLg(p, (*it).sons->data[((NI) 0)], (&stmt));
					moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&stmt), (&(*r)));
					nimZeroMem((void*)T57_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T58_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T58_ = percent__TmeCjGna9cPfiHHcfqmKXjw(T57_, 0);
					T59_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T59_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T58_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T59_);
					TM_BxLwT0mhrtgTPodf1v3xjg_368 = subInt((*p).extraIndent, ((NI) 1));
					(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_368);
				}
				break;
				default:
				{
					internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*it).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_369));
				}
				break;
				}
				TM_BxLwT0mhrtgTPodf1v3xjg_370 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_370);
			} LA20: ;
		}
	}
	nimZeroMem((void*)T61_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
	T62_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T62_ = percent__BYiowJAm8zF7RBRISElaLg(T61_, 0);
	T63_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T63_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T62_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T63_);
}

N_LIB_PRIVATE N_NIMCALL(void, genReturnStmt_AQaGEWMAoGSH1pqI9bePiww_11)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyArray_qTjAvTvKF9anytN1At69aJMQ T10_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T11_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T12_;
	{
		if (!((*p).procDef == NIM_NIL)) goto LA3_;
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_371));
	}
	LA3_: ;
	(*p).beforeRetNeeded = NIM_TRUE;
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA7_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, (*n).sons->data[((NI) 0)]);
	}
	goto LA5_;
	LA7_: ;
	{
		genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	}
	LA5_: ;
	nimZeroMem((void*)T10_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
	T11_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T11_ = percent__THj0xNXkqJf6reD7exsGbA(T10_, 0);
	T12_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T12_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T11_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T12_);
}

N_LIB_PRIVATE N_NIMCALL(void, genBreakStmt_AQaGEWMAoGSH1pqI9bePiww_12)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI idx;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T25_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T26_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T27_;
	idx = (NI)0;
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_374;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3)))) goto LA7_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_372));
		}
		LA7_: ;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		sym = (*(*n).sons->data[((NI) 0)]).sym;
		{
			if (!!(((*sym).loc.k == ((tyEnum_TLocKind_O7PRFZKuiBBWbku09cayVBg) 10)))) goto LA11_;
			failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_373));
		}
		LA11_: ;
		TM_BxLwT0mhrtgTPodf1v3xjg_374 = subInt((*sym).position, ((NI) 1));
		idx = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_374);
	}
	goto LA1_;
	LA3_: ;
	{
		NI T14_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_375;
		T14_ = ((*p).blocks ? (*p).blocks->Sup.len : 0);
		TM_BxLwT0mhrtgTPodf1v3xjg_375 = subInt(T14_, ((NI) 1));
		idx = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_375);
		{
			while (1) {
				NIM_BOOL T17_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_376;
				T17_ = (NIM_BOOL)0;
				T17_ = (((NI) 0) <= idx);
				if (!(T17_)) goto LA18_;
				if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
				T17_ = !((*p).blocks->data[idx].isLoop);
				LA18_: ;
				if (!T17_) goto LA16;
				TM_BxLwT0mhrtgTPodf1v3xjg_376 = subInt(idx, ((NI) 1));
				idx = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_376);
			} LA16: ;
		}
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = (idx < ((NI) 0));
			if (T21_) goto LA22_;
			if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
			T21_ = !((*p).blocks->data[idx].isLoop);
			LA22_: ;
			if (!T21_) goto LA23_;
			internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_377));
		}
		LA23_: ;
	}
	LA1_: ;
	if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	if ((*p).blocks->data[idx].id == (IL64(-9223372036854775807) - IL64(1))) raiseOverflow();
	(*p).blocks->data[idx].id = ((*p).blocks->data[idx].id > 0? ((*p).blocks->data[idx].id) : -((*p).blocks->data[idx].id));
	nimZeroMem((void*)T25_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	if ((NU)(idx) >= (NU)((*p).blocks ? (*p).blocks->Sup.len : 0)) raiseIndexError2(idx,((*p).blocks ? (*p).blocks->Sup.len : 0)-1);
	T25_[0] = rope_KOisMGxcPhz6CcSmxgwEQQ(((NI64) ((*p).blocks->data[idx].id)));
	T26_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T26_ = percent__3oFXAbir9c7XcKzu9bpgAM9bA(T25_, 1);
	T27_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T27_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T26_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T27_);
}

N_LIB_PRIVATE N_NIMCALL(void, genAsgnAux_FTHts0vUatiTmPKVGzyMKA)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* x, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* y, NIM_BOOL noCopyNeeded) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w b;
	tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA xtyp;
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	nimZeroMem((void*)(&b), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	xtyp = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*x).typ);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, x, (&a));
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, y);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, y, (&b));
	{
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T3_;
		T3_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
		T3_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*x).typ, IL64(36134350135273744));
		if (!((IL64(4611686018712600576) &((NU64)1<<((NU)((*T3_).kind)&63U)))!=0)) goto LA4_;
		xtyp = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 4);
	}
	LA4_: ;
	switch (xtyp) {
	case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 4):
	{
		{
			NIM_BOOL T9_;
			NIM_BOOL T10_;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T15_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T16_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
			T9_ = (NIM_BOOL)0;
			T10_ = (NIM_BOOL)0;
			T10_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, y);
			if (!(T10_)) goto LA11_;
			T10_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, x);
			LA11_: ;
			T9_ = T10_;
			if (T9_) goto LA12_;
			T9_ = noCopyNeeded;
			LA12_: ;
			if (!T9_) goto LA13_;
			nimZeroMem((void*)T15_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T15_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
			T15_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&b));
			T16_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T16_ = percent__1Hh3EN9c4pkzdKB09bo9c9aTBg(T15_, 2);
			T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T17_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T16_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T17_);
		}
		goto LA7_;
		LA13_: ;
		{
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T19_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
			nimZeroMem((void*)T19_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T19_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
			T19_[1] = b.res;
			T19_[2] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*y).typ);
			T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T20_ = percent__4sbi76q7ZLqpKbD3pwJ59bQ(T19_, 3);
			T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T21_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T20_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T21_);
		}
		LA7_: ;
	}
	break;
	case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 8):
	{
		{
			NIM_BOOL T25_;
			NIM_BOOL T26_;
			NIM_BOOL T28_;
			tyArray_mrugoXXRZUEeG9bEXo9auBKw T33_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T34_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T35_;
			T25_ = (NIM_BOOL)0;
			T26_ = (NIM_BOOL)0;
			T26_ = ((*(*x).typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 23));
			if (T26_) goto LA27_;
			T28_ = (NIM_BOOL)0;
			T28_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, y);
			if (!(T28_)) goto LA29_;
			T28_ = needsNoCopy_AeBLus9crC8L5HbMOYikwJw(p, x);
			LA29_: ;
			T26_ = T28_;
			LA27_: ;
			T25_ = T26_;
			if (T25_) goto LA30_;
			T25_ = noCopyNeeded;
			LA30_: ;
			if (!T25_) goto LA31_;
			nimZeroMem((void*)T33_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
			T33_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
			T33_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&b));
			T34_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T34_ = percent__1Hh3EN9c4pkzdKB09bo9c9aTBg(T33_, 2);
			T35_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T35_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T34_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T35_);
		}
		goto LA23_;
		LA31_: ;
		{
			tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T37_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T39_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_149));
			nimZeroMem((void*)T37_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
			T37_[0] = a.res;
			T37_[1] = b.res;
			T37_[2] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*y).typ);
			T38_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = percent__Q9cOQGrP4lOdbYHXMQ1yZtg(T37_, 3);
			T39_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T38_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T39_);
		}
		LA23_: ;
	}
	break;
	case ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9):
	{
		{
			NIM_BOOL T43_;
			T43_ = (NIM_BOOL)0;
			T43_ = !((a.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)));
			if (T43_) goto LA44_;
			T43_ = !((b.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9)));
			LA44_: ;
			if (!T43_) goto LA45_;
			{
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmp;
				tyArray_f7nG5LD47BH5K9c6mASit3g T51_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T52_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T53_;
				if (!((*y).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 27))) goto LA49_;
				tmp = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_FALSE);
				nimZeroMem((void*)T51_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
				T51_[0] = tmp;
				T51_[1] = a.address;
				T51_[2] = a.res;
				T51_[3] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&b));
				T52_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T52_ = percent__0AX4Q6cA8nOXUagvzFqt0A(T51_, 4);
				T53_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T53_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T52_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T53_);
			}
			goto LA47_;
			LA49_: ;
			{
				tyArray_wqYjTJU9ab2ZgEFMaQc3vNA T57_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T58_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T59_;
				if (!(b.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA55_;
				nimZeroMem((void*)T57_, sizeof(tyArray_wqYjTJU9ab2ZgEFMaQc3vNA));
				T57_[0] = a.res;
				T57_[1] = b.address;
				T57_[2] = b.res;
				T58_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T58_ = percent__qQ3g8SwjZoIFAay85NaiEA(T57_, 3);
				T59_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T59_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T58_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T59_);
			}
			goto LA47_;
			LA55_: ;
			{
				internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*x).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_378));
			}
			LA47_: ;
		}
		goto LA41_;
		LA45_: ;
		{
			tyArray_f7nG5LD47BH5K9c6mASit3g T62_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T63_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T64_;
			nimZeroMem((void*)T62_, sizeof(tyArray_f7nG5LD47BH5K9c6mASit3g));
			T62_[0] = a.address;
			T62_[1] = b.address;
			T62_[2] = a.res;
			T62_[3] = b.res;
			T63_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T63_ = percent__M0TByFCTj9bbOkDSRpFz3LA(T62_, 4);
			T64_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T64_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T63_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T64_);
		}
		LA41_: ;
	}
	break;
	default:
	{
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T66_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T67_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T68_;
		nimZeroMem((void*)T66_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T66_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
		T66_[1] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&b));
		T67_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T67_ = percent__1Hh3EN9c4pkzdKB09bo9c9aTBg(T66_, 2);
		T68_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T68_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T67_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T68_);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genAsgn_AQaGEWMAoGSH1pqI9bePiww_13)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	genAsgnAux_FTHts0vUatiTmPKVGzyMKA(p, (*n).sons->data[((NI) 0)], (*n).sons->data[((NI) 1)], NIM_FALSE);
}

N_LIB_PRIVATE N_NIMCALL(void, genFastAsgn_AQaGEWMAoGSH1pqI9bePiww_14)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL noCopy;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T1_;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T1_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	T1_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36134350135273744));
	noCopy = ((IL64(4611686018712600576) &((NU64)1<<((NU)((*T1_).kind)&63U)))!=0);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	genAsgnAux_FTHts0vUatiTmPKVGzyMKA(p, (*n).sons->data[((NI) 0)], (*n).sons->data[((NI) 1)], noCopy);
}

N_LIB_PRIVATE N_NIMCALL(void, genAsmOrEmitStmt_AQaGEWMAoGSH1pqI9bePiww_15)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T1_;
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	T1_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T1_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, NIM_NIL);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T1_);
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		i_2 = ((NI) 0);
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_379;
				if (!(i_2 < colontmp_)) goto LA4;
				i = i_2;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				it = (*n).sons->data[i];
				switch ((*it).kind) {
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
				{
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
					add_yG4AKzsBRS1W4MANDlXQeg(&(*p).body, (*it).strVal);
				}
				break;
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
				{
					tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* v;
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
					v = (*it).sym;
					{
						if (!NIM_FALSE) goto LA9_;
					}
					goto LA7_;
					LA9_: ;
					{
						tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w r;
						tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
						nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
						gen_Bp5hmw3gImpkyC9cflWESLg(p, it, (&r));
						{
							if (!((*(*it).typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 26))) goto LA14_;
							r.res = r.address;
							r.address = NIM_NIL;
							r.typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
						}
						goto LA12_;
						LA14_: ;
						{
							tyArray_mrugoXXRZUEeG9bEXo9auBKw T19_;
							if (!(r.typ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA17_;
							nimZeroMem((void*)T19_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
							T19_[0] = r.address;
							T19_[1] = r.res;
							r.res = percent__jadqNPnY9aM3oxYK6jarLrA(T19_, 2);
							r.address = NIM_NIL;
							r.typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
						}
						goto LA12_;
						LA17_: ;
						LA12_: ;
						T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
						T20_ = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&r));
						add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
					}
					LA7_: ;
				}
				break;
				default:
				{
					tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w r_2;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T22_;
					nimZeroMem((void*)(&r_2), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
					gen_Bp5hmw3gImpkyC9cflWESLg(p, it, (&r_2));
					T22_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T22_ = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&r_2));
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T22_);
				}
				break;
				}
				TM_BxLwT0mhrtgTPodf1v3xjg_379 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_379);
			} LA4: ;
		}
	}
	add_yG4AKzsBRS1W4MANDlXQeg(&(*p).body, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_143));
}

N_LIB_PRIVATE N_NIMCALL(void, genTry_Bp5hmw3gImpkyC9cflWESLg_31)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	NI TM_BxLwT0mhrtgTPodf1v3xjg_380;
	NI i;
	NI length;
	NIM_BOOL catchBranchesExist;
	NIM_BOOL T6_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* tmpFramePtr;
	tyArray_qTjAvTvKF9anytN1At69aJMQ T18_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T19_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
	NIM_BOOL generalCatchBranchExists;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T119_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T120_;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T121_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T122_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T123_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T130_;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T131_;
	genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
		if (!!(T3_)) goto LA4_;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 2);
		unsureAsgnRef((void**) (&(*r).res), getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE));
	}
	LA4_: ;
	TM_BxLwT0mhrtgTPodf1v3xjg_380 = addInt((*p).unique, ((NI) 1));
	(*p).unique = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_380);
	i = ((NI) 1);
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
	T6_ = (NIM_BOOL)0;
	T6_ = (((NI) 1) < length);
	if (!(T6_)) goto LA7_;
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
	T6_ = ((*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 87));
	LA7_: ;
	catchBranchesExist = T6_;
	{
		if (!catchBranchesExist) goto LA10_;
		add_yG4AKzsBRS1W4MANDlXQeg(&(*p).body, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_381));
	}
	LA10_: ;
	tmpFramePtr = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_382));
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T16_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T17_;
		if (!!((((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0))) goto LA14_;
		tmpFramePtr = getTemp_EG8bDinaW3fVLpok9a4s5cA(p, NIM_TRUE);
		T16_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T16_ = amp__Z7W1o5nPSc3ExfO5f7j1Gg(tmpFramePtr, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_383));
		T17_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T17_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T16_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T17_);
	}
	LA14_: ;
	nimZeroMem((void*)T18_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
	T19_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T19_ = percent__OikfyLf8HmjI9auYLFoaVqg(T18_, 0);
	T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T20_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T19_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T20_);
	nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], (&a));
	moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&a), (&(*r)));
	generalCatchBranchExists = NIM_FALSE;
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T25_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T26_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T27_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T29_;
		if (!catchBranchesExist) goto LA23_;
		nimZeroMem((void*)T25_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T26_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T26_ = percent__3KVF9aLACI1h11BqZrkzjNg(T25_, 0);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T26_);
		nimZeroMem((void*)T27_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T27_[0] = tmpFramePtr;
		T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = percent__ial810twbEzfkHaHMFYNCg(T27_, 1);
		T29_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T28_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T29_);
	}
	LA23_: ;
	{
		while (1) {
			NIM_BOOL T32_;
			NI blen;
			NI TM_BxLwT0mhrtgTPodf1v3xjg_391;
			T32_ = (NIM_BOOL)0;
			T32_ = (i < length);
			if (!(T32_)) goto LA33_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T32_ = ((*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 87));
			LA33_: ;
			if (!T32_) goto LA31;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
			blen = sonsLen_zOB1gNtXypybIzLxxB9cyWQ((*n).sons->data[i]);
			{
				if (!(blen == ((NI) 1))) goto LA36_;
				generalCatchBranchExists = NIM_TRUE;
				{
					tyArray_qTjAvTvKF9anytN1At69aJMQ T42_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T43_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T44_;
					if (!(((NI) 1) < i)) goto LA40_;
					nimZeroMem((void*)T42_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T43_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T43_ = percent__9an6bUHwpxqyL2kgNHX3MEg(T42_, 0);
					T44_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T44_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T43_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T44_);
				}
				LA40_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[i]).sons->data[((NI) 0)], (&a));
				moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&a), (&(*r)));
				{
					tyArray_qTjAvTvKF9anytN1At69aJMQ T49_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T50_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T51_;
					if (!(((NI) 1) < i)) goto LA47_;
					nimZeroMem((void*)T49_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
					T50_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T50_ = percent__BYiowJAm8zF7RBRISElaLg(T49_, 0);
					T51_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T51_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T50_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T51_);
				}
				LA47_: ;
			}
			goto LA34_;
			LA36_: ;
			{
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* orExpr;
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* excAlias;
				tyArray_JiWwrsTRC6xqNlGcBthSVA T89_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T90_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T91_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_390;
				tyArray_qTjAvTvKF9anytN1At69aJMQ T99_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T100_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T101_;
				orExpr = NIM_NIL;
				excAlias = NIM_NIL;
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_263));
				{
					NI j;
					NI colontmp_;
					NI TM_BxLwT0mhrtgTPodf1v3xjg_384;
					NI res;
					j = (NI)0;
					colontmp_ = (NI)0;
					TM_BxLwT0mhrtgTPodf1v3xjg_384 = subInt(blen, ((NI) 2));
					colontmp_ = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_384);
					res = ((NI) 0);
					{
						while (1) {
							tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* throwObj;
							tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
							NI TM_BxLwT0mhrtgTPodf1v3xjg_388;
							if (!(res <= colontmp_)) goto LA55;
							j = res;
							throwObj = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
							if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
							if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
							if ((NU)(j) >= (NU)((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)) raiseIndexError2(j,((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)-1);
							it = (*(*n).sons->data[i]).sons->data[j];
							{
								NIM_BOOL T58_;
								T58_ = (NIM_BOOL)0;
								T58_ = isInfixAs_CZaoTkWCFI9acor4BmYF3Yw(it);
								if (!T58_) goto LA59_;
								if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
								if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
								throwObj = (*it).sons->data[((NI) 1)];
								if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
								if ((NU)(((NI) 2)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*it).sons ? (*it).sons->Sup.len : 0)-1);
								excAlias = (*it).sons->data[((NI) 2)];
								{
									if (!!((orExpr == NIM_NIL))) goto LA63_;
									failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_385));
								}
								LA63_: ;
							}
							goto LA56_;
							LA59_: ;
							{
								if (!((*it).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 4))) goto LA66_;
								throwObj = it;
							}
							goto LA56_;
							LA66_: ;
							{
								internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_386));
							}
							LA56_: ;
							{
								if (!!((orExpr == NIM_NIL))) goto LA71_;
								add_yG4AKzsBRS1W4MANDlXQeg(&orExpr, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_387));
							}
							LA71_: ;
							{
								NIM_BOOL T75_;
								tyArray_JiWwrsTRC6xqNlGcBthSVA T78_;
								tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T79_;
								T75_ = (NIM_BOOL)0;
								T75_ = isImportedException_dZW9czpRSiiVl9cyT6tyk84A((*throwObj).typ, (*(*p).module).config);
								if (!T75_) goto LA76_;
								nimZeroMem((void*)T78_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
								T78_[0] = (*(*(*throwObj).typ).sym).loc.r;
								T79_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
								T79_ = percent__Z7wCJf0WipOQOQ4ZZNBIEw(T78_, 1);
								add_IM4kcMNkkOLJtqdEqSxR8A(&orExpr, T79_);
							}
							goto LA73_;
							LA76_: ;
							{
								tyArray_JiWwrsTRC6xqNlGcBthSVA T81_;
								tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T82_;
								nimZeroMem((void*)T81_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
								T81_[0] = genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*throwObj).typ);
								T82_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
								T82_ = percent__Xpm9cGf2grEXdjAQV9arqWBQ(T81_, 1);
								add_IM4kcMNkkOLJtqdEqSxR8A(&orExpr, T82_);
							}
							LA73_: ;
							TM_BxLwT0mhrtgTPodf1v3xjg_388 = addInt(res, ((NI) 1));
							res = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_388);
						} LA55: ;
					}
				}
				{
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T87_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T88_;
					if (!(((NI) 1) < i)) goto LA85_;
					T87_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T87_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_389));
					T88_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T88_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T87_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T88_);
				}
				LA85_: ;
				nimZeroMem((void*)T89_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T89_[0] = orExpr;
				T90_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T90_ = percent__sqxyWwlLrfrdyc9b3BINcXQ(T89_, 1);
				T91_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T91_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T90_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T91_);
				{
					tyArray_JiWwrsTRC6xqNlGcBthSVA T96_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T97_;
					tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T98_;
					if (!!((excAlias == NIM_NIL))) goto LA94_;
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*excAlias).kind)>>3] &(1U<<((NU)((*excAlias).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*excAlias).kind)>>3] &(1U<<((NU)((*excAlias).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
					asgnRef((void**) (&(*(*excAlias).sym).loc.r), mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, (*excAlias).sym));
					nimZeroMem((void*)T96_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
					if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*excAlias).kind)>>3] &(1U<<((NU)((*excAlias).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
					T96_[0] = (*(*excAlias).sym).loc.r;
					T97_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T97_ = percent__ztLQ2Orupb9b9b3KrCvoK9cbQ(T96_, 1);
					T98_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
					T98_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T97_);
					add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T98_);
				}
				LA94_: ;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				TM_BxLwT0mhrtgTPodf1v3xjg_390 = subInt(blen, ((NI) 1));
				if ((NU)((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_390)) >= (NU)((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_BxLwT0mhrtgTPodf1v3xjg_390),((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)-1);
				gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[i]).sons->data[(NI)(TM_BxLwT0mhrtgTPodf1v3xjg_390)], (&a));
				moveInto_rA59a0Z9bTX9aiKkWlHk0Akiw(p, (&a), (&(*r)));
				nimZeroMem((void*)T99_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
				T100_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T100_ = percent__BYiowJAm8zF7RBRISElaLg(T99_, 0);
				T101_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T101_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T100_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T101_);
			}
			LA34_: ;
			TM_BxLwT0mhrtgTPodf1v3xjg_391 = addInt(i, ((NI) 1));
			i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_391);
		} LA31: ;
	}
	{
		tyArray_qTjAvTvKF9anytN1At69aJMQ T116_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T117_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T118_;
		if (!catchBranchesExist) goto LA104_;
		{
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T110_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T111_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T112_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T113_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T114_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T115_;
			if (!!(generalCatchBranchExists)) goto LA108_;
			useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_392));
			T110_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T110_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_393));
			T111_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T111_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T110_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T111_);
			T112_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T112_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_394));
			T113_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T113_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T112_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T113_);
			T114_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T114_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_32));
			T115_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T115_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T114_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T115_);
		}
		LA108_: ;
		nimZeroMem((void*)T116_, sizeof(tyArray_qTjAvTvKF9anytN1At69aJMQ));
		T117_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T117_ = percent__PI6febxsdTbySkLsIEqHKw(T116_, 0);
		T118_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T118_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T117_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T118_);
	}
	LA104_: ;
	T119_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T119_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_395));
	T120_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T120_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T119_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T120_);
	nimZeroMem((void*)T121_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T121_[0] = tmpFramePtr;
	T122_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T122_ = percent__ial810twbEzfkHaHMFYNCg(T121_, 1);
	T123_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T123_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T122_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T123_);
	{
		NIM_BOOL T126_;
		T126_ = (NIM_BOOL)0;
		T126_ = (i < length);
		if (!(T126_)) goto LA127_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T126_ = ((*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 107));
		LA127_: ;
		if (!T126_) goto LA128_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[i]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[i]).sons ? (*(*n).sons->data[i]).sons->Sup.len : 0)-1);
		genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, (*(*n).sons->data[i]).sons->data[((NI) 0)]);
	}
	LA128_: ;
	T130_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T130_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_32));
	T131_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T131_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T130_);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T131_);
}

N_LIB_PRIVATE N_NIMCALL(void, genRaiseStmt_AQaGEWMAoGSH1pqI9bePiww_16)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w a;
		tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
		tyArray_mrugoXXRZUEeG9bEXo9auBKw T5_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA3_;
		nimZeroMem((void*)(&a), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], (&a));
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		typ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*(*n).sons->data[((NI) 0)]).typ, IL64(36275087638309136));
		genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_396));
		nimZeroMem((void*)T5_, sizeof(tyArray_mrugoXXRZUEeG9bEXo9auBKw));
		T5_[0] = rdLoc_yob5rpIMovhptJKw0A5vnAjsgen((&a));
		T5_[1] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*(*(*typ).sym).name).s, NIM_TRUE);
		T6_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__sGRyuC9caCxfdM1i8W4fjgw(T5_, 2);
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T6_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T7_);
	}
	goto LA1_;
	LA3_: ;
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T9_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T10_;
		genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
		useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_392));
		T9_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T9_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_397));
		T10_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T10_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T9_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T10_);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genPragma_AQaGEWMAoGSH1pqI9bePiww_17)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* it;
		tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
		NI i;
		NI L;
		NI T2_;
		it = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		colontmp_ = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		colontmp_ = (*n).sons;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw T5_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_398;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)) raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1);
				it = colontmp_->data[i];
				T5_ = (tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw)0;
				T5_ = whichPragma_Pjztiiq9bHmTTxDuLd39cNRw(it);
				switch (T5_) {
				case ((tyEnum_TSpecialWord_ycbpMCRV6Cd2eBh3X9biEiw) 197):
				{
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*it).kind)>>3] &(1U<<((NU)((*it).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(((NI) 1)) >= (NU)((*it).sons ? (*it).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*it).sons ? (*it).sons->Sup.len : 0)-1);
					genAsmOrEmitStmt_AQaGEWMAoGSH1pqI9bePiww_15(p, (*it).sons->data[((NI) 1)]);
				}
				break;
				default:
				{
				}
				break;
				}
				TM_BxLwT0mhrtgTPodf1v3xjg_398 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_398);
				{
					NI T10_;
					T10_ = (colontmp_ ? colontmp_->Sup.len : 0);
					if (!!((T10_ == L))) goto LA11_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_399));
				}
				LA11_: ;
			} LA4: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, gen_Bp5hmw3gImpkyC9cflWESLg)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w* r) {
	(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 0);
	{
		if (!!(((*r).kind == ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 3)))) goto LA3_;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 0);
	}
	LA3_: ;
	unsureAsgnRef((void**) (&(*r).res), NIM_NIL);
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		genSym_Bp5hmw3gImpkyC9cflWESLg_2(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		{
			if (!((*(*n).typ).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 1))) goto LA9_;
			{
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
				if (!((*n).intVal == IL64(0))) goto LA13_;
				unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_170)));
			}
			goto LA11_;
			LA13_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_171)));
			}
			LA11_: ;
		}
		goto LA7_;
		LA9_: ;
		{
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_168[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_169));
			unsureAsgnRef((void**) (&(*r).res), rope_KOisMGxcPhz6CcSmxgwEQQ((*n).intVal));
		}
		LA7_: ;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
			if (!T20_) goto LA21_;
		}
		goto LA18_;
		LA21_: ;
		{
			tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA T24_;
			T24_ = (tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA)0;
			T24_ = mapType_ZlkXBdJTrpToZuRLq31tLQ(p, (*n).typ);
			if (!(T24_ == ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9))) goto LA25_;
			(*r).typ = ((tyEnum_TJSTypeKind_9aFSCXgaSEq2m81RJRMKDeA) 9);
			unsureAsgnRef((void**) (&(*r).address), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_172)));
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_173)));
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		}
		goto LA18_;
		LA25_: ;
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_172)));
			(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
		}
		LA18_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		{
			tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* T31_;
			T31_ = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
			T31_ = skipTypes_zsqmUNR5OZrTUna0Y9bdu9bg((*n).typ, IL64(36134350144710928));
			if (!((*T31_).kind == ((tyEnum_TTypeKind_9a3YiReNVD0IJHWFKgXRe9ag) 28))) goto LA32_;
			{
				tyArray_JiWwrsTRC6xqNlGcBthSVA T38_;
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
				if (!!((((*n).strVal ? (*n).strVal->Sup.len : 0) == ((NI) 0)))) goto LA36_;
				useMagic_4MoUWv1cpa6oOBwwpQ0wfA(p, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_174));
				nimZeroMem((void*)T38_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
				T38_[0] = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*n).strVal, NIM_TRUE);
				unsureAsgnRef((void**) (&(*r).res), percent__qYiwFpynEwFeSf3Aa2sS0g(T38_, 1));
			}
			goto LA34_;
			LA36_: ;
			{
				unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_175)));
			}
			LA34_: ;
		}
		goto LA29_;
		LA32_: ;
		{
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_39[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_40));
			unsureAsgnRef((void**) (&(*r).res), makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw((*n).strVal, NIM_FALSE));
		}
		LA29_: ;
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		NF f;
		tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA T42_;
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_176[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_177));
		f = (*n).floatVal;
		T42_ = (tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA)0;
		T42_ = classify_x3IKzrz1VNvfZbypScSTXg(f);
		switch (T42_) {
		case ((tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA) 4):
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_178)));
		}
		break;
		case ((tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA) 3):
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_179)));
		}
		break;
		case ((tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA) 2):
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_180)));
		}
		break;
		case ((tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA) 5):
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_181)));
		}
		break;
		case ((tyEnum_FloatClass_pPga1yW9b8J9cwNnm9b1aPRnA) 6):
		{
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_182)));
		}
		break;
		default:
		{
			NimStringDesc* T49_;
			T49_ = (NimStringDesc*)0;
			T49_ = toStrMaxPrecision_ayHojnbqAtgkZF8TXMNMzg(f, ((NimStringDesc*) NIM_NIL));
			unsureAsgnRef((void**) (&(*r).res), rope_yShmEg9cffWxI7s5XzEKBow(T49_));
		}
		break;
		}
		(*r).kind = ((tyEnum_TResKind_EoayJcDa8SxU1YPfjU8L9bg) 1);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			NIM_BOOL T53_;
			T53_ = (NIM_BOOL)0;
			T53_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
			if (!T53_) goto LA54_;
			genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
		}
		LA54_: ;
		{
			NIM_BOOL T58_;
			T58_ = (NIM_BOOL)0;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T58_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T58_)) goto LA59_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T58_ = !(((*(*(*n).sons->data[((NI) 0)]).sym).magic == ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 0)));
			LA59_: ;
			if (!T58_) goto LA60_;
			genMagic_Bp5hmw3gImpkyC9cflWESLg_3(p, n, r);
		}
		goto LA56_;
		LA60_: ;
		{
			NIM_BOOL T63_;
			NIM_BOOL T64_;
			NI T67_;
			T63_ = (NIM_BOOL)0;
			T64_ = (NIM_BOOL)0;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T64_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
			if (!(T64_)) goto LA65_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
			T64_ = (((*(*(*n).sons->data[((NI) 0)]).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 28))&63U)))!=0);
			LA65_: ;
			T63_ = T64_;
			if (!(T63_)) goto LA66_;
			T67_ = (NI)0;
			T67_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T63_ = (((NI) 1) <= T67_);
			LA66_: ;
			if (!T63_) goto LA68_;
			genInfixCall_Bp5hmw3gImpkyC9cflWESLg_12(p, n, r);
		}
		goto LA56_;
		LA68_: ;
		{
			genCall_Bp5hmw3gImpkyC9cflWESLg_11(p, n, r);
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		genSetConstr_Bp5hmw3gImpkyC9cflWESLg_13(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		genArrayConstr_Bp5hmw3gImpkyC9cflWESLg_14(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		genTupleConstr_Bp5hmw3gImpkyC9cflWESLg_15(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		genObjConstr_Bp5hmw3gImpkyC9cflWESLg_16(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	{
		genConv_Bp5hmw3gImpkyC9cflWESLg_17(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 63):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	{
		genAddr_Bp5hmw3gImpkyC9cflWESLg_18(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	{
		genDeref_Bp5hmw3gImpkyC9cflWESLg_22(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		genArrayAccess_Bp5hmw3gImpkyC9cflWESLg_23(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		genFieldAccess_Bp5hmw3gImpkyC9cflWESLg_20(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		genCheckedFieldOp_iKztcH0Tujg1djuGYyE69cQ(p, n, NIM_NIL, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		upConv_Bp5hmw3gImpkyC9cflWESLg_24(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		genCast_Bp5hmw3gImpkyC9cflWESLg_25(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		genRangeChck_hP2w9bfjeb9a8Gw7OVBCznWw(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_334));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		genRangeChck_hP2w9bfjeb9a8Gw7OVBCznWw(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_335));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		genRangeChck_hP2w9bfjeb9a8Gw7OVBCznWw(p, n, r, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_333));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 71):
	{
		convStrToCStr_Bp5hmw3gImpkyC9cflWESLg_26(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		convCStrToStr_Bp5hmw3gImpkyC9cflWESLg_27(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 51) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T92_;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		s = (*(*n).sons->data[((NI) 0)]).sym;
		T92_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T92_ = mangleName_VbRtGjpKYj6Wtc1GdNdKhg((*p).module, s);
		(void)(T92_);
		unsureAsgnRef((void**) (&(*r).res), (*s).loc.r);
		{
			NIM_BOOL T95_;
			T95_ = (NIM_BOOL)0;
			T95_ = (((*s).loc.flags &(1U<<((NU)(((tyEnum_TLocFlag_o2bqJgR4ceIupnUSpxiudA) 3))&15U)))!=0);
			if (T95_) goto LA96_;
			T95_ = !(((*s).magic == ((tyEnum_TMagic_shZhZOdbVC5nnFvcXQAImg) 0)));
			LA96_: ;
			if (!T95_) goto LA97_;
		}
		goto LA93_;
		LA97_: ;
		{
			NIM_BOOL T100_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T103_;
			T100_ = (NIM_BOOL)0;
			T100_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*(*p).g).generatedSyms), (*s).Sup.id);
			if (!!(T100_)) goto LA101_;
			T103_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T103_ = genProc_VRfKzQHOMcRGtJXZSJxFtg(p, s);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).locals, T103_);
		}
		goto LA93_;
		LA101_: ;
		LA93_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		unsureAsgnRef((void**) (&(*r).res), genTypeInfo_jZNTi9aEbLMAMESBZ7a9cl7A(p, (*n).typ));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126):
	{
		NIM_BOOL isExpr;
		NIM_BOOL T106_;
		T106_ = (NIM_BOOL)0;
		T106_ = isEmptyType_nPImuPGZIdcrAfCNyf4oxA_3ast((*n).typ);
		isExpr = !(T106_);
		{
			NI i;
			NI colontmp_;
			NI T108_;
			NI TM_BxLwT0mhrtgTPodf1v3xjg_338;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			T108_ = (NI)0;
			T108_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			TM_BxLwT0mhrtgTPodf1v3xjg_338 = subInt(T108_, isExpr);
			colontmp_ = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_338);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_BxLwT0mhrtgTPodf1v3xjg_339;
					if (!(i_2 < colontmp_)) goto LA110;
					i = i_2;
					if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
					if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, (*n).sons->data[i]);
					TM_BxLwT0mhrtgTPodf1v3xjg_339 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_339);
				} LA110: ;
			}
		}
		{
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T115_;
			if (!isExpr) goto LA113_;
			T115_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			T115_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, T115_, r);
		}
		LA113_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 127):
	{
		genBlock_Bp5hmw3gImpkyC9cflWESLg_28(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 92):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		genIf_Bp5hmw3gImpkyC9cflWESLg_29(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 93):
	{
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*(*n).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 1)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).sons->data[((NI) 1)]).sons ? (*(*n).sons->data[((NI) 1)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).sons->data[((NI) 1)]).sons ? (*(*n).sons->data[((NI) 1)]).sons->Sup.len : 0)-1);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, (*(*n).sons->data[((NI) 1)]).sons->data[((NI) 0)], r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		genWhileStmt_AQaGEWMAoGSH1pqI9bePiww_9(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		genVarStmt_AQaGEWMAoGSH1pqI9bePiww_10(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 94):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_360));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 97):
	{
		genCaseJS_Bp5hmw3gImpkyC9cflWESLg_30(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		genReturnStmt_AQaGEWMAoGSH1pqI9bePiww_11(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		genBreakStmt_AQaGEWMAoGSH1pqI9bePiww_12(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 73):
	{
		genAsgn_AQaGEWMAoGSH1pqI9bePiww_13(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		genFastAsgn_AQaGEWMAoGSH1pqI9bePiww_14(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		{
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA131_;
			genLineDir_AQaGEWMAoGSH1pqI9bePiww_4(p, n);
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gen_Bp5hmw3gImpkyC9cflWESLg(p, (*n).sons->data[((NI) 0)], r);
		}
		LA131_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		genAsmOrEmitStmt_AQaGEWMAoGSH1pqI9bePiww_15(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		genTry_Bp5hmw3gImpkyC9cflWESLg_31(p, n, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		genRaiseStmt_AQaGEWMAoGSH1pqI9bePiww_16(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 98):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 84):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 121):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 118):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 119):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 120):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 83):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 82):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		genPragma_AQaGEWMAoGSH1pqI9bePiww_17(p, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 79):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 159):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 80):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s_2;
		if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
		s_2 = (*(*n).sons->data[((NI) 0)]).sym;
		{
			if (!((65600 & (*s_2).flags) == 64)) goto LA141_;
			if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			genSym_Bp5hmw3gImpkyC9cflWESLg_2(p, (*n).sons->data[((NI) 0)], r);
			unsureAsgnRef((void**) (&(*r).res), NIM_NIL);
		}
		LA141_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 156):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_400));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T145_;
		T145_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T145_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		gen_Bp5hmw3gImpkyC9cflWESLg(p, T145_, r);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 24):
	{
	}
	break;
	default:
	{
		NimStringDesc* T148_;
		T148_ = (NimStringDesc*)0;
		T148_ = rawNewString((reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 24);
appendString(T148_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_401));
appendString(T148_, reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)));
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*(*p).module).config, (*n).info, T148_);
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(void, genStmt_AQaGEWMAoGSH1pqI9bePiww_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w r;
	nimZeroMem((void*)(&r), sizeof(tyObject_TCompRes_ZngkNoeBYb0CyBmkEOJi5w));
	gen_Bp5hmw3gImpkyC9cflWESLg(p, n, (&r));
	{
		tyArray_JiWwrsTRC6xqNlGcBthSVA T5_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T6_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T7_;
		if (!!((r.res == NIM_NIL))) goto LA3_;
		nimZeroMem((void*)T5_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T5_[0] = r.res;
		T6_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = percent__boICAAvO1zkTlYDOuEaj6g(T5_, 1);
		T7_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T7_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T6_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T7_);
	}
	LA3_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, addHcrInitGuards_AASbADdVur9cDEeNbrY1Baw)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar, NIM_BOOL* inInitGuard) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA3_;
		{
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* child;
			child = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(n);
				i_2 = ((NI) 0);
				{
					while (1) {
						NI TM_BxLwT0mhrtgTPodf1v3xjg_30;
						if (!(i_2 < colontmp_)) goto LA8;
						i = i_2;
						if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						child = (*n).sons->data[i];
						addHcrInitGuards_AASbADdVur9cDEeNbrY1Baw(p, child, moduleLoadedVar, inInitGuard);
						TM_BxLwT0mhrtgTPodf1v3xjg_30 = addInt(i_2, ((NI) 1));
						i_2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_30);
					} LA8: ;
				}
			}
		}
	}
	goto LA1_;
	LA3_: ;
	{
		NIM_BOOL stmtShouldExecute;
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 79) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 159) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 80) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 81) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100));
		if (T10_) goto LA11_;
		T10_ = (((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 19))&31U)))!=0);
		LA11_: ;
		stmtShouldExecute = T10_;
		{
			if (!(*inInitGuard)) goto LA14_;
			{
				NI TM_BxLwT0mhrtgTPodf1v3xjg_31;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
				if (!stmtShouldExecute) goto LA18_;
				TM_BxLwT0mhrtgTPodf1v3xjg_31 = subInt((*p).extraIndent, ((NI) 1));
				(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_31);
				T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T20_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_32));
				T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T21_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T20_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T21_);
				(*inInitGuard) = NIM_FALSE;
			}
			LA18_: ;
		}
		goto LA12_;
		LA14_: ;
		{
			{
				tyArray_JiWwrsTRC6xqNlGcBthSVA T27_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
				tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T29_;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_33;
				if (!!(stmtShouldExecute)) goto LA25_;
				nimZeroMem((void*)T27_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
				T27_[0] = moduleLoadedVar;
				T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T28_ = percent__RzB0z3UV9bb4kXUEGyS9crRA(T27_, 1);
				T29_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
				T29_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T28_);
				add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T29_);
				TM_BxLwT0mhrtgTPodf1v3xjg_33 = addInt((*p).extraIndent, ((NI) 1));
				(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_33);
				(*inInitGuard) = NIM_TRUE;
			}
			LA25_: ;
		}
		LA12_: ;
		genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, n);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, genModule_AQaGEWMAoGSH1pqI9bePiww)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n_transformed;
	{
		NimStringDesc* T5_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T6_;
		NimStringDesc* T7_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T20_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T21_;
		if (!(((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T5_ = rawNewString(((*(*(*(*p).module).module).name).s ? (*(*(*(*p).module).module).name).s->Sup.len : 0) + 7);
appendString(T5_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_27));
appendString(T5_, (*(*(*(*p).module).module).name).s);
		T6_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T6_ = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T5_, NIM_TRUE);
		T7_ = (NimStringDesc*)0;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*(*(*p).module).module).info.fileIndex < ((NI32) 0));
			if (T10_) goto LA11_;
			T10_ = ((*(*p).module).config == NIM_NIL);
			LA11_: ;
			if (!T10_) goto LA12_;
			T7_ = copyString(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_28));
		}
		goto LA8_;
		LA12_: ;
		{
			{
				if (!(((*(*(*p).module).config).globalOptions &((NU64)1<<((NU)(((tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw) 36))&63U)))!=0)) goto LA17_;
				if ((NU)((*(*(*p).module).module).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*(*(*p).module).module).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T7_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*(*(*p).module).module).info.fileIndex].fullPath);
			}
			goto LA15_;
			LA17_: ;
			{
				if ((NU)((*(*(*p).module).module).info.fileIndex) >= (NU)((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)) raiseIndexError2((*(*(*p).module).module).info.fileIndex,((*(*(*p).module).config).m.fileInfos ? (*(*(*p).module).config).m.fileInfos->Sup.len : 0)-1);
				T7_ = copyString((*(*(*p).module).config).m.fileInfos->data[(*(*(*p).module).module).info.fileIndex].projPath);
			}
			LA15_: ;
		}
		LA8_: ;
		T20_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T20_ = makeJSString_C2w9bj3qP5A9cVnAUrvoI9aqw(T7_, NIM_TRUE);
		T21_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T21_ = frameCreate_5xQGffjrmjbHfz64yWZ49bw(p, T6_, T20_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T21_);
	}
	LA3_: ;
	n_transformed = transformStmt_o9bTtoSsaDmuiyVzV15dOyg((*(*p).module).graph, (*(*p).module).module, n);
	{
		NIM_BOOL T24_;
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* moduleSym;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* moduleLoadedVar;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T28_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T29_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T30_;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T31_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T32_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T33_;
		NIM_BOOL inGuardedBlock;
		tyArray_JiWwrsTRC6xqNlGcBthSVA T40_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T41_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T42_;
		T24_ = (NIM_BOOL)0;
		T24_ = hcrOn_UhPXgqyDuuU9cKcS8FM883w((*(*p).module).config);
		if (!(T24_)) goto LA25_;
		T24_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115));
		LA25_: ;
		if (!T24_) goto LA26_;
		moduleSym = (*(*p).module).module;
		T28_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T28_ = rope_yShmEg9cffWxI7s5XzEKBow((*(*moduleSym).name).s);
		T29_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T29_ = amp__Z7W1o5nPSc3ExfO5f7j1Gg(T28_, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_29));
		T30_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T30_ = idOrSig_sKAFwdXn9cKHxc9cdaovk69cA(moduleSym, (*(*moduleSym).name).s, (&(*(*p).module).sigConflicts));
		moduleLoadedVar = amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(T29_, T30_);
		nimZeroMem((void*)T31_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T31_[0] = moduleLoadedVar;
		T32_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T32_ = percent__TLpRy9aDJ1Ni4vccOIoiMbA(T31_, 1);
		T33_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T33_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T32_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T33_);
		inGuardedBlock = NIM_FALSE;
		addHcrInitGuards_AASbADdVur9cDEeNbrY1Baw(p, n_transformed, moduleLoadedVar, (&inGuardedBlock));
		{
			NI TM_BxLwT0mhrtgTPodf1v3xjg_402;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T38_;
			tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T39_;
			if (!inGuardedBlock) goto LA36_;
			TM_BxLwT0mhrtgTPodf1v3xjg_402 = subInt((*p).extraIndent, ((NI) 1));
			(*p).extraIndent = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_402);
			T38_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T38_ = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_32));
			T39_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
			T39_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T38_);
			add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T39_);
		}
		LA36_: ;
		nimZeroMem((void*)T40_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
		T40_[0] = moduleLoadedVar;
		T41_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T41_ = percent__vWWA89aSvs5QwAFN4Jdr2IA(T40_, 1);
		T42_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T42_ = indentLine_jQGcsbXjMm82EQo5Ohqg0w(p, T41_);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T42_);
	}
	goto LA22_;
	LA26_: ;
	{
		genStmt_AQaGEWMAoGSH1pqI9bePiww_2(p, n_transformed);
	}
	LA22_: ;
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T48_;
		if (!(((*p).options &(1U<<((NU)(((tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg) 16))&31U)))!=0)) goto LA46_;
		T48_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T48_ = frameDestroy_XP5ZeYFuxYow89aSkFgfWeg(p);
		add_IM4kcMNkkOLJtqdEqSxR8A(&(*p).body, T48_);
	}
	LA46_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, myProcess_PZ51a8H3AQu4zYP9cwHpJag)(tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m;
	tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* globals;
	tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	if (b) chckObj((*b).Sup.m_type, (&NTI_qij68Ti2EwJQHH6sSdkSdw_));
	m = ((tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*) (b));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = skipCodegen_nwSFZweO0MiC1cK59cLXWvgpasses((*m).config, n);
		if (!T3_) goto LA4_;
		result = n;
		goto BeforeRet_;
	}
	LA4_: ;
	{
		if (!((*m).module == NIM_NIL)) goto LA8_;
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*m).config, (*n).info, ((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_4));
	}
	LA8_: ;
	if ((*(*m).graph).backend) chckObj((*(*(*m).graph).backend).m_type, (&NTI_nWsHZg3qCUsABoCNYLliag_));
	globals = ((tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*) ((*(*m).graph).backend));
	p = newProc_T4OlZpX8DqYbIlMcOrFsUQ(globals, m, NIM_NIL, (*(*m).module).options);
	(*p).unique = (*globals).unique;
	genModule_AQaGEWMAoGSH1pqI9bePiww(p, n);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).code, (*p).locals);
	add_IM4kcMNkkOLJtqdEqSxR8A(&(*(*p).g).code, (*p).body);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, attachProc_9aGDirKbsf9cN1iAWvMcXOKg_2)(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* newp;
	newp = genProc_VRfKzQHOMcRGtJXZSJxFtg(p, s);
	attachProc_C5SA4Y9bPAMaecsSyvetPTg(p, newp, s);
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, wholeCode_0JkORKxMs17USnUxSKLA9cw)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag* globals;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* disp;
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T24_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	if ((*graph).backend) chckObj((*(*graph).backend).m_type, (&NTI_nWsHZg3qCUsABoCNYLliag_));
	globals = ((tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*) ((*graph).backend));
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc;
		tySequence_DfgJFJEYoj4YBAHLZPl5lQ* colontmp_;
		NI i;
		NI L;
		NI T2_;
		prc = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
		colontmp_ = (tySequence_DfgJFJEYoj4YBAHLZPl5lQ*)0;
		colontmp_ = (*globals).forwarded;
		i = ((NI) 0);
		T2_ = (colontmp_ ? colontmp_->Sup.len : 0);
		L = T2_;
		{
			while (1) {
				NI TM_BxLwT0mhrtgTPodf1v3xjg_404;
				if (!(i < L)) goto LA4;
				if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)) raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1);
				prc = colontmp_->data[i];
				{
					NIM_BOOL T7_;
					tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p;
					T7_ = (NIM_BOOL)0;
					T7_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*globals).generatedSyms), (*prc).Sup.id);
					if (!!(T7_)) goto LA8_;
					p = newProc_T4OlZpX8DqYbIlMcOrFsUQ(globals, m, NIM_NIL, (*(*m).module).options);
					attachProc_9aGDirKbsf9cN1iAWvMcXOKg_2(p, prc);
				}
				LA8_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_404 = addInt(i, ((NI) 1));
				i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_404);
				{
					NI T12_;
					T12_ = (colontmp_ ? colontmp_->Sup.len : 0);
					if (!!((T12_ == L))) goto LA13_;
					failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_399));
				}
				LA13_: ;
			} LA4: ;
		}
	}
	disp = generateMethodDispatchers_7t0GJlNQwZyLt0Kz3RhRdw(graph);
	{
		NI i_2;
		NI colontmp__2;
		NI T16_;
		NI TM_BxLwT0mhrtgTPodf1v3xjg_405;
		NI res;
		i_2 = (NI)0;
		colontmp__2 = (NI)0;
		T16_ = (NI)0;
		T16_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(disp);
		TM_BxLwT0mhrtgTPodf1v3xjg_405 = subInt(T16_, ((NI) 1));
		colontmp__2 = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_405);
		res = ((NI) 0);
		{
			while (1) {
				tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* prc_2;
				NI TM_BxLwT0mhrtgTPodf1v3xjg_406;
				if (!(res <= colontmp__2)) goto LA18;
				i_2 = res;
				if (((TM_BxLwT0mhrtgTPodf1v3xjg_7[(NU)((*disp).kind)>>3] &(1U<<((NU)((*disp).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_8));
				if ((NU)(i_2) >= (NU)((*disp).sons ? (*disp).sons->Sup.len : 0)) raiseIndexError2(i_2,((*disp).sons ? (*disp).sons->Sup.len : 0)-1);
				if (!(((TM_BxLwT0mhrtgTPodf1v3xjg_9[(NU)((*(*disp).sons->data[i_2]).kind)>>3] &(1U<<((NU)((*(*disp).sons->data[i_2]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_10));
				prc_2 = (*(*disp).sons->data[i_2]).sym;
				{
					NIM_BOOL T21_;
					tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q* p_2;
					T21_ = (NIM_BOOL)0;
					T21_ = containsOrIncl_VFt0uM7bgfJ5age9alOsU9cg((&(*globals).generatedSyms), (*prc_2).Sup.id);
					if (!!(T21_)) goto LA22_;
					p_2 = newProc_T4OlZpX8DqYbIlMcOrFsUQ(globals, m, NIM_NIL, (*(*m).module).options);
					attachProc_9aGDirKbsf9cN1iAWvMcXOKg_2(p_2, prc_2);
				}
				LA22_: ;
				TM_BxLwT0mhrtgTPodf1v3xjg_406 = addInt(res, ((NI) 1));
				res = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_406);
			} LA18: ;
		}
	}
	T24_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	T24_ = amp__ShdZ6VrAQkY0nWR9a39b9bGdQ((*globals).typeInfo, (*globals).constants);
	result = amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(T24_, (*globals).code);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*, genHeader_Jh8YZW9c6mmqtRqmZvtYISg)(void) {
	tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* result;
	tyArray_JiWwrsTRC6xqNlGcBthSVA T1_;
	result = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
	nimZeroMem((void*)T1_, sizeof(tyArray_JiWwrsTRC6xqNlGcBthSVA));
	T1_[0] = rope_yShmEg9cffWxI7s5XzEKBow(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_407));
	result = percent__lQuk161wRVxbYxfH80Iwcw(T1_, 1);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, myClose_yQE5q7IZnoaww0fGINiRdA)(tyObject_ModuleGraphcolonObjectType__RZI3hCs0FTPYx8StfC81qQ* graph, tyObject_TPassContext_Hb6rFM0ecvtlLf2kv9aU75w* b, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw* m;
{	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = myProcess_PZ51a8H3AQu4zYP9cwHpJag(b, n);
	if (b) chckObj((*b).Sup.m_type, (&NTI_qij68Ti2EwJQHH6sSdkSdw_));
	m = ((tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*) (b));
	{
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0)) goto LA3_;
		{
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* destructorCall;
			tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* colontmp_;
			NI i;
			NI L;
			NI T6_;
			destructorCall = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			colontmp_ = (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*)0;
			colontmp_ = (*graph).globalDestructors;
			i = ((NI) 0);
			T6_ = (colontmp_ ? colontmp_->Sup.len : 0);
			L = T6_;
			{
				while (1) {
					NI TM_BxLwT0mhrtgTPodf1v3xjg_403;
					if (!(i < L)) goto LA8;
					if ((NU)(i) >= (NU)(colontmp_ ? colontmp_->Sup.len : 0)) raiseIndexError2(i,(colontmp_ ? colontmp_->Sup.len : 0)-1);
					destructorCall = colontmp_->data[i];
					add_P8dDSotTW25BkfbyspojGg(n, destructorCall);
					TM_BxLwT0mhrtgTPodf1v3xjg_403 = addInt(i, ((NI) 1));
					i = (NI)(TM_BxLwT0mhrtgTPodf1v3xjg_403);
					{
						NI T11_;
						T11_ = (colontmp_ ? colontmp_->Sup.len : 0);
						if (!!((T11_ == L))) goto LA12_;
						failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_BxLwT0mhrtgTPodf1v3xjg_399));
					}
					LA12_: ;
				} LA8: ;
			}
		}
	}
	LA3_: ;
	{
		NIM_BOOL T16_;
		T16_ = (NIM_BOOL)0;
		T16_ = skipCodegen_nwSFZweO0MiC1cK59cLXWvgpasses((*m).config, n);
		if (!T16_) goto LA17_;
		result = n;
		goto BeforeRet_;
	}
	LA17_: ;
	{
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* code;
		NimStringDesc* outFile;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T23_;
		tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA* T24_;
		NIM_BOOL T25_;
		if (!(((*(*m).module).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 12))&63U)))!=0)) goto LA21_;
		code = wholeCode_0JkORKxMs17USnUxSKLA9cw(graph, m);
		outFile = prepareToWriteOutput_ea9bsNo9cwchKzwCi7UjcP7g((*m).config);
		T23_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T23_ = genHeader_Jh8YZW9c6mmqtRqmZvtYISg();
		T24_ = (tyObject_RopeObj_OFzf0kSiPTcNreUIeJgWVA*)0;
		T24_ = amp__ShdZ6VrAQkY0nWR9a39b9bGdQ(T23_, code);
		T25_ = (NIM_BOOL)0;
		T25_ = writeRopeIfNotEqual_Wiam9c8x73Mtmbj0r4Ppikg_2(T24_, outFile);
		(void)(T25_);
	}
	LA21_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_jsgenDatInit000)(void) {
static TNimNode* TM_BxLwT0mhrtgTPodf1v3xjg_2_4[4];
static TNimNode* TM_BxLwT0mhrtgTPodf1v3xjg_3_7[7];
static TNimNode* TM_BxLwT0mhrtgTPodf1v3xjg_5_15[15];
static TNimNode* TM_BxLwT0mhrtgTPodf1v3xjg_6_2[2];
static TNimNode TM_BxLwT0mhrtgTPodf1v3xjg_0[32];
NTI_qij68Ti2EwJQHH6sSdkSdw_.size = sizeof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw);
NTI_qij68Ti2EwJQHH6sSdkSdw_.kind = 17;
NTI_qij68Ti2EwJQHH6sSdkSdw_.base = (&NTI_Hb6rFM0ecvtlLf2kv9aU75w_);
TM_BxLwT0mhrtgTPodf1v3xjg_2_4[0] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[1];
TM_BxLwT0mhrtgTPodf1v3xjg_0[1].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[1].offset = offsetof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw, module);
TM_BxLwT0mhrtgTPodf1v3xjg_0[1].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[1].name = "module";
TM_BxLwT0mhrtgTPodf1v3xjg_2_4[1] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[2];
TM_BxLwT0mhrtgTPodf1v3xjg_0[2].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[2].offset = offsetof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw, graph);
TM_BxLwT0mhrtgTPodf1v3xjg_0[2].typ = (&NTI_KfdHSsl8vyUCSI9b3inBcww_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[2].name = "graph";
TM_BxLwT0mhrtgTPodf1v3xjg_2_4[2] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[3];
TM_BxLwT0mhrtgTPodf1v3xjg_0[3].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[3].offset = offsetof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw, config);
TM_BxLwT0mhrtgTPodf1v3xjg_0[3].typ = (&NTI_a8lycfSA25OQltN3OMeBsA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[3].name = "config";
TM_BxLwT0mhrtgTPodf1v3xjg_2_4[3] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[4];
TM_BxLwT0mhrtgTPodf1v3xjg_0[4].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[4].offset = offsetof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw, sigConflicts);
TM_BxLwT0mhrtgTPodf1v3xjg_0[4].typ = (&NTI_tUMxxU9cRgLolsrW9b7IBGsQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[4].name = "sigConflicts";
TM_BxLwT0mhrtgTPodf1v3xjg_0[0].len = 4; TM_BxLwT0mhrtgTPodf1v3xjg_0[0].kind = 2; TM_BxLwT0mhrtgTPodf1v3xjg_0[0].sons = &TM_BxLwT0mhrtgTPodf1v3xjg_2_4[0];
NTI_qij68Ti2EwJQHH6sSdkSdw_.node = &TM_BxLwT0mhrtgTPodf1v3xjg_0[0];
NTI_O09bHTFgtn9cJLLJxiNhuKUA_.size = sizeof(tyObject_TJSGen_qij68Ti2EwJQHH6sSdkSdw*);
NTI_O09bHTFgtn9cJLLJxiNhuKUA_.kind = 22;
NTI_O09bHTFgtn9cJLLJxiNhuKUA_.base = (&NTI_qij68Ti2EwJQHH6sSdkSdw_);
NTI_O09bHTFgtn9cJLLJxiNhuKUA_.marker = Marker_tyRef_O09bHTFgtn9cJLLJxiNhuKUA;
NTI_nWsHZg3qCUsABoCNYLliag_.size = sizeof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag);
NTI_nWsHZg3qCUsABoCNYLliag_.kind = 17;
NTI_nWsHZg3qCUsABoCNYLliag_.base = (&NTI_ytyiCJqK439aF9cIibuRVpAg_);
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[0] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[6];
TM_BxLwT0mhrtgTPodf1v3xjg_0[6].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[6].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, typeInfo);
TM_BxLwT0mhrtgTPodf1v3xjg_0[6].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[6].name = "typeInfo";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[1] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[7];
TM_BxLwT0mhrtgTPodf1v3xjg_0[7].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[7].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, constants);
TM_BxLwT0mhrtgTPodf1v3xjg_0[7].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[7].name = "constants";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[2] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[8];
TM_BxLwT0mhrtgTPodf1v3xjg_0[8].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[8].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, code);
TM_BxLwT0mhrtgTPodf1v3xjg_0[8].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[8].name = "code";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[3] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[9];
TM_BxLwT0mhrtgTPodf1v3xjg_0[9].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[9].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, forwarded);
TM_BxLwT0mhrtgTPodf1v3xjg_0[9].typ = (&NTI_DfgJFJEYoj4YBAHLZPl5lQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[9].name = "forwarded";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[4] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[10];
TM_BxLwT0mhrtgTPodf1v3xjg_0[10].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[10].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, generatedSyms);
TM_BxLwT0mhrtgTPodf1v3xjg_0[10].typ = (&NTI_PQrmFm4BXFkFSVOUl1ojSg_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[10].name = "generatedSyms";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[5] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[11];
TM_BxLwT0mhrtgTPodf1v3xjg_0[11].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[11].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, typeInfoGenerated);
TM_BxLwT0mhrtgTPodf1v3xjg_0[11].typ = (&NTI_PQrmFm4BXFkFSVOUl1ojSg_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[11].name = "typeInfoGenerated";
TM_BxLwT0mhrtgTPodf1v3xjg_3_7[6] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[12];
TM_BxLwT0mhrtgTPodf1v3xjg_0[12].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[12].offset = offsetof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag, unique);
TM_BxLwT0mhrtgTPodf1v3xjg_0[12].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[12].name = "unique";
TM_BxLwT0mhrtgTPodf1v3xjg_0[5].len = 7; TM_BxLwT0mhrtgTPodf1v3xjg_0[5].kind = 2; TM_BxLwT0mhrtgTPodf1v3xjg_0[5].sons = &TM_BxLwT0mhrtgTPodf1v3xjg_3_7[0];
NTI_nWsHZg3qCUsABoCNYLliag_.node = &TM_BxLwT0mhrtgTPodf1v3xjg_0[5];
NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_.size = sizeof(tyObject_PGlobalscolonObjectType__nWsHZg3qCUsABoCNYLliag*);
NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_.kind = 22;
NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_.base = (&NTI_nWsHZg3qCUsABoCNYLliag_);
NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_.marker = Marker_tyRef_Q8XTeJJ39cPFyNvJXj9bmcMQ;
NTI_AFoo8FBR6Z1RtIhjuHkU2Q_.size = sizeof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q);
NTI_AFoo8FBR6Z1RtIhjuHkU2Q_.kind = 18;
NTI_AFoo8FBR6Z1RtIhjuHkU2Q_.base = 0;
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[0] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[14];
TM_BxLwT0mhrtgTPodf1v3xjg_0[14].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[14].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, procDef);
TM_BxLwT0mhrtgTPodf1v3xjg_0[14].typ = (&NTI_fKfcLzXYiz5jNu3NH3Tv8Q_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[14].name = "procDef";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[1] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[15];
TM_BxLwT0mhrtgTPodf1v3xjg_0[15].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[15].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, prc);
TM_BxLwT0mhrtgTPodf1v3xjg_0[15].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[15].name = "prc";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[2] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[16];
TM_BxLwT0mhrtgTPodf1v3xjg_0[16].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[16].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, globals);
TM_BxLwT0mhrtgTPodf1v3xjg_0[16].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[16].name = "globals";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[3] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[17];
TM_BxLwT0mhrtgTPodf1v3xjg_0[17].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[17].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, locals);
TM_BxLwT0mhrtgTPodf1v3xjg_0[17].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[17].name = "locals";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[4] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[18];
TM_BxLwT0mhrtgTPodf1v3xjg_0[18].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[18].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, body);
TM_BxLwT0mhrtgTPodf1v3xjg_0[18].typ = (&NTI_4hi0XQqK9aLiPuWT9acsXm9aQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[18].name = "body";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[5] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[19];
TM_BxLwT0mhrtgTPodf1v3xjg_0[19].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[19].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, options);
TM_BxLwT0mhrtgTPodf1v3xjg_0[19].typ = (&NTI_7MnKRybmCNh5j9bDRLMkxLw_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[19].name = "options";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[6] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[20];
TM_BxLwT0mhrtgTPodf1v3xjg_0[20].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[20].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, module);
TM_BxLwT0mhrtgTPodf1v3xjg_0[20].typ = (&NTI_O09bHTFgtn9cJLLJxiNhuKUA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[20].name = "module";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[7] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[21];
TM_BxLwT0mhrtgTPodf1v3xjg_0[21].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[21].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, g);
TM_BxLwT0mhrtgTPodf1v3xjg_0[21].typ = (&NTI_Q8XTeJJ39cPFyNvJXj9bmcMQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[21].name = "g";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[8] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[22];
TM_BxLwT0mhrtgTPodf1v3xjg_0[22].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[22].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, generatedParamCopies);
TM_BxLwT0mhrtgTPodf1v3xjg_0[22].typ = (&NTI_PQrmFm4BXFkFSVOUl1ojSg_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[22].name = "generatedParamCopies";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[9] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[23];
TM_BxLwT0mhrtgTPodf1v3xjg_0[23].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[23].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, beforeRetNeeded);
TM_BxLwT0mhrtgTPodf1v3xjg_0[23].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[23].name = "beforeRetNeeded";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[10] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[24];
TM_BxLwT0mhrtgTPodf1v3xjg_0[24].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[24].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, unique);
TM_BxLwT0mhrtgTPodf1v3xjg_0[24].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[24].name = "unique";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[11] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[25];
NTI_46cd0Xw9aDJ1QWTE8nV4mLg_.size = sizeof(tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg);
NTI_46cd0Xw9aDJ1QWTE8nV4mLg_.kind = 18;
NTI_46cd0Xw9aDJ1QWTE8nV4mLg_.base = 0;
NTI_46cd0Xw9aDJ1QWTE8nV4mLg_.flags = 3;
TM_BxLwT0mhrtgTPodf1v3xjg_6_2[0] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[27];
TM_BxLwT0mhrtgTPodf1v3xjg_0[27].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[27].offset = offsetof(tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg, id);
TM_BxLwT0mhrtgTPodf1v3xjg_0[27].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[27].name = "id";
TM_BxLwT0mhrtgTPodf1v3xjg_6_2[1] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[28];
TM_BxLwT0mhrtgTPodf1v3xjg_0[28].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[28].offset = offsetof(tyObject_TBlock_46cd0Xw9aDJ1QWTE8nV4mLg, isLoop);
TM_BxLwT0mhrtgTPodf1v3xjg_0[28].typ = (&NTI_VaVACK0bpYmqIQ0mKcHfQQ_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[28].name = "isLoop";
TM_BxLwT0mhrtgTPodf1v3xjg_0[26].len = 2; TM_BxLwT0mhrtgTPodf1v3xjg_0[26].kind = 2; TM_BxLwT0mhrtgTPodf1v3xjg_0[26].sons = &TM_BxLwT0mhrtgTPodf1v3xjg_6_2[0];
NTI_46cd0Xw9aDJ1QWTE8nV4mLg_.node = &TM_BxLwT0mhrtgTPodf1v3xjg_0[26];
NTI_8fytVdU59b5aj319cog2ztLw_.size = sizeof(tySequence_8fytVdU59b5aj319cog2ztLw*);
NTI_8fytVdU59b5aj319cog2ztLw_.kind = 24;
NTI_8fytVdU59b5aj319cog2ztLw_.base = (&NTI_46cd0Xw9aDJ1QWTE8nV4mLg_);
NTI_8fytVdU59b5aj319cog2ztLw_.flags = 2;
NTI_8fytVdU59b5aj319cog2ztLw_.marker = Marker_tySequence_8fytVdU59b5aj319cog2ztLw;
TM_BxLwT0mhrtgTPodf1v3xjg_0[25].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[25].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, blocks);
TM_BxLwT0mhrtgTPodf1v3xjg_0[25].typ = (&NTI_8fytVdU59b5aj319cog2ztLw_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[25].name = "blocks";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[12] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[29];
TM_BxLwT0mhrtgTPodf1v3xjg_0[29].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[29].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, extraIndent);
TM_BxLwT0mhrtgTPodf1v3xjg_0[29].typ = (&NTI_rR5Bzr1D5krxoo1NcNyeMA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[29].name = "extraIndent";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[13] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[30];
TM_BxLwT0mhrtgTPodf1v3xjg_0[30].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[30].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, up);
TM_BxLwT0mhrtgTPodf1v3xjg_0[30].typ = (&NTI_OFWibP8T8afo89apFNGZiwA_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[30].name = "up";
TM_BxLwT0mhrtgTPodf1v3xjg_5_15[14] = &TM_BxLwT0mhrtgTPodf1v3xjg_0[31];
TM_BxLwT0mhrtgTPodf1v3xjg_0[31].kind = 1;
TM_BxLwT0mhrtgTPodf1v3xjg_0[31].offset = offsetof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q, declaredGlobals);
TM_BxLwT0mhrtgTPodf1v3xjg_0[31].typ = (&NTI_PQrmFm4BXFkFSVOUl1ojSg_);
TM_BxLwT0mhrtgTPodf1v3xjg_0[31].name = "declaredGlobals";
TM_BxLwT0mhrtgTPodf1v3xjg_0[13].len = 15; TM_BxLwT0mhrtgTPodf1v3xjg_0[13].kind = 2; TM_BxLwT0mhrtgTPodf1v3xjg_0[13].sons = &TM_BxLwT0mhrtgTPodf1v3xjg_5_15[0];
NTI_AFoo8FBR6Z1RtIhjuHkU2Q_.node = &TM_BxLwT0mhrtgTPodf1v3xjg_0[13];
NTI_OFWibP8T8afo89apFNGZiwA_.size = sizeof(tyObject_TProc_AFoo8FBR6Z1RtIhjuHkU2Q*);
NTI_OFWibP8T8afo89apFNGZiwA_.kind = 22;
NTI_OFWibP8T8afo89apFNGZiwA_.base = (&NTI_AFoo8FBR6Z1RtIhjuHkU2Q_);
NTI_OFWibP8T8afo89apFNGZiwA_.marker = Marker_tyRef_OFWibP8T8afo89apFNGZiwA;
}

