/* 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>
#include <stdio.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 NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw;
typedef struct tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg;
typedef struct tySequence_0W45b4tBLx0JWnu0NjAmVQ tySequence_0W45b4tBLx0JWnu0NjAmVQ;
typedef struct tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ;
typedef struct tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw;
typedef struct tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA;
typedef struct tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w;
typedef struct tyObject_Target_9abOl5DLX8suLujOaHSvGzw tyObject_Target_9abOl5DLX8suLujOaHSvGzw;
typedef struct tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg tyObject_StringTableObj_V5PVrt9bIxZEeV7lfvqqtNg;
typedef struct tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A tyObject_MsgConfig_kV7r8HWT0SqOYW2k2ukC6A;
typedef struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q;
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_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ;
typedef struct tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA;
typedef struct tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
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_TIdObj_iIXPrEsiKHiioLj0HSkQhA tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA;
typedef struct RootObj RootObj;
typedef struct tySequence_Ef05srmQTDulnBdXR4Ja6Q tySequence_Ef05srmQTDulnBdXR4Ja6Q;
typedef struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA tySequence_DXS6mEo7PVUFJkirsQ9bNQA;
typedef struct tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA tyObject_TStrTable_f07aOS3dr28kGa5wcE29aFA;
typedef struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ tySequence_DfgJFJEYoj4YBAHLZPl5lQ;
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 tySequence_MvZmat48bhe9b6x9aUD58D5Q tySequence_MvZmat48bhe9b6x9aUD58D5Q;
typedef struct tyTuple_z822nu9bFF1AlQnLrHjdwpA tyTuple_z822nu9bFF1AlQnLrHjdwpA;
typedef struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw tyTuple_xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw tyObject_TFileInfo_GE3hAakXKOEpch4ap3zXAw;
typedef struct tyTuple_QeWl6B6ffS4pU6WWrtcrDw tyTuple_QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg tyObject_Cfile_i9cKq1ZGd1wgagjUEHLVFtg;
typedef struct tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA;
typedef struct tyTuple_zwpS6d6iewrdlBSTNFoyVA tyTuple_zwpS6d6iewrdlBSTNFoyVA;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw;
struct tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg {
NI indent;
NI lineLen;
NI pos;
NI idx;
tySequence_0W45b4tBLx0JWnu0NjAmVQ* tokens;
NimStringDesc* buf;
NI pendingNL;
NI pendingWhitespace;
tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ* comStack;
tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw flags;
NIM_BOOL inGenericParams;
NIM_BOOL checkAnon;
NI inPragma;
NI32 fid;
tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config;
};
typedef NU8 tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA;
struct tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA {
tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind;
NI16 length;
tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym;
};
typedef NU8 tyEnum_TSystemCPU_XYDt7D1G3qcClFyZy1Ky9ag;
typedef NU8 tyEnum_TSystemOS_s7Mlr1t66SUqP6BKJMXLaQ;
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 NU32 tySet_tyEnum_TOption_WspMeQySXNP2XoTWR5MTgg;
typedef NU64 tySet_tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw;
struct tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q {
NU16 line;
NI16 col;
NI32 fileIndex;
};
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;
};
typedef NU8 tySet_tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ;
struct tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw {
NI Field0;
tySet_tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ Field1;
};
typedef NU8 tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw[21];
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;
};
typedef NU8 tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind_unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
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;
};
struct RootObj {
TNimType* m_type;
};
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;
typedef NU64 tySet_tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
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_TIdent_GufRQq9c0miSybX3zBD4tyA {
  tyObject_TIdObj_iIXPrEsiKHiioLj0HSkQhA Sup;
NimStringDesc* s;
tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* next;
NI h;
};
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 NU8 tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw;
typedef NU8 tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg;
typedef NU8 tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw;
typedef NU8 tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw;
typedef NimStringDesc* tyArray_rhDLCy9aNYBAIsWVh16bA0A[116];
typedef NU8 tySet_tyChar_nmiMWKVIe46vacnhAFrQvw[32];
typedef NU8 tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ;
typedef NU8 tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg;
typedef NU8 tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w;
struct tyTuple_z822nu9bFF1AlQnLrHjdwpA {
tyObject_TLineInfo_WGx4rAexNXnczy1Avn646Q Field0;
NimStringDesc* Field1;
};
struct tyTuple_xYhUhS7X82rKTqbT9bRfCnw {
NI Field0;
NimStringDesc* Field1;
NI32 Field2;
};
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;
};
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_ehmV9bTklH2Gt9cXHV9c0HLeQ {
  TGenericSeq Sup;
  tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* data[SEQ_DECL_SIZE];
};
struct tySequence_0W45b4tBLx0JWnu0NjAmVQ {
  TGenericSeq Sup;
  tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA 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_Ef05srmQTDulnBdXR4Ja6Q {
  TGenericSeq Sup;
  tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* data[SEQ_DECL_SIZE];
};
struct tySequence_DXS6mEo7PVUFJkirsQ9bNQA {
  TGenericSeq Sup;
  tyObject_TInstantiation_5LqgVn6Tq9ainQRK7TQAQxA* data[SEQ_DECL_SIZE];
};
struct tySequence_DfgJFJEYoj4YBAHLZPl5lQ {
  TGenericSeq Sup;
  tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* data[SEQ_DECL_SIZE];
};
struct tySequence_MvZmat48bhe9b6x9aUD58D5Q {
  TGenericSeq Sup;
  tyTuple_zwpS6d6iewrdlBSTNFoyVA data[SEQ_DECL_SIZE];
};
N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
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(void, initSrcGen_V4h13uDpnxFekQECTzYaWA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config);
N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw*, newPartialConfigRef_YbeeoJLQnRQK2F8DAaXI8w_2)(void);
N_LIB_PRIVATE N_NIMCALL(void, gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent);
N_LIB_PRIVATE N_NIMCALL(void, indentNL_n8JbrzcZm8FmR9aCHItw47w)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
static N_INLINE(NI, addInt)(NI a, NI b);
N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_NOINLINE(void, raiseFieldError)(NimStringDesc* f);
static N_INLINE(NI, subInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(void, optNL_GEWpEuqY9a3huqkrKYAAObA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b);
N_NOINLINE(void, raiseIndexError2)(NI i, NI n);
N_LIB_PRIVATE N_NIMCALL(void, optNL_n8JbrzcZm8FmR9aCHItw47w_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, optNL_xZ7srVmxLhrb9cB1fDthbCg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gsub_5eccg0mxlFLgBiNmpRHFig)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, initContext_ATR9atx4JGXXaRJqSs0YyPQ)(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw* c);
N_LIB_PRIVATE N_NIMCALL(void, gsub_NmOOKTnnEkQl0J72fGke1g)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c);
N_LIB_PRIVATE N_NIMCALL(void, pushCom_5eccg0mxlFLgBiNmpRHFig_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
static N_INLINE(NI, chckRange)(NI i, NI a, NI b);
N_NOINLINE(void, raiseRangeError)(NI64 val);
N_NIMCALL(TGenericSeq*, setLengthSeqV2)(TGenericSeq* s, TNimType* typ, NI newLen);
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, put_xLPytIwyYkF9bx9a6ZUQ025A)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym);
N_LIB_PRIVATE N_NIMCALL(void, addPendingNL_n8JbrzcZm8FmR9aCHItw47w_3)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, addTok_xLPytIwyYkF9bx9a6ZUQ025A_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym);
N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tySequence_0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op);
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);
static N_INLINE(NimStringDesc*, spaces_rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuRepeatChar)(NIM_CHAR c, NI count);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom_9cnUQzmaM0ehJLjixbNyrSQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, addQuoted_45fPtFhY4FavRaYwDhRfuA)(NimStringDesc** s, NimStringDesc* x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuReplaceStr)(NimStringDesc* s, NimStringDesc* sub, NimStringDesc* by);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
static N_INLINE(void, addEscapedChar_dfKNBK6s29c7zfWj2JwI7EQsystem)(NimStringDesc** s, NIM_CHAR c);
N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux_Z5GOwRdmlU82OE7IDpzHyg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skip_0BCzl6k5VlLWkKbiIho5hg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* n);
static N_INLINE(NI, safeLen_P89cqdlERShb9alU3iC0yj8w_2ast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_NIMCALL(NI, mulInt)(NI a, NI b);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToBin)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToOct)(NI64 x, NI len);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuToHex)(NI64 x, NI len);
N_NIMCALL(NimStringDesc*, nimInt64ToStr)(NI64 x);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size);
N_NIMCALL(NimStringDesc*, nimFloatToStr)(NF f);
N_LIB_PRIVATE N_NIMCALL(void, internalError_5hPl6LjCYJxMYxh9af9b9bXzw)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, NimStringDesc* errMsg);
N_NIMCALL(NimStringDesc*, reprEnum)(NI e, TNimType* typ);
N_LIB_PRIVATE N_NIMCALL(void, gident_5eccg0mxlFLgBiNmpRHFig_3)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isBracket_pqWt3yB4tQGp7HUfzz4AXg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
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_LIB_PRIVATE N_NIMCALL(void, gsub_HNcJVTbsLN2PfMmnG6BxYw)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(void, gcomma_cePKc9cEQau31w9auAvt0icA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA separator);
N_LIB_PRIVATE N_NIMCALL(NI, sonsLen_zOB1gNtXypybIzLxxB9cyWQ)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, lsub_WT5OU2utip0e3bSZKpu9aHg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL_ivIjJNMv9c0wki0AXw9bSikw)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NI, lcomma_9av9a6d3ZJnGIb7FBw2t2sTA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A)(NimStringDesc* msg);
N_LIB_PRIVATE N_NIMCALL(NI, lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, lastSon_UPSW0jLTX5qJL51YMUAHgw)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits_m9a9aKZ6NucRjuLOHVJ66EWQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI x);
N_LIB_PRIVATE N_NIMCALL(void, putWithSpace_Ld66XW3M36dm4dwChiNHFw)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom_pqWt3yB4tQGp7HUfzz4AXg_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcoms_n8JbrzcZm8FmR9aCHItw47w_4)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, gcom_5eccg0mxlFLgBiNmpRHFig_4)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRenderComment_rEVEzjU9aQwh327HhQWPHkQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, maxLineLength_se43FQhaKAIoi42YSEoSXA)(NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, putComment_9abZb6EyaCpuRuhI9aED11og)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, popAllComs_n8JbrzcZm8FmR9aCHItw47w_5)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, accentedName_5eccg0mxlFLgBiNmpRHFig_5)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcomma_WBsq6aIWI0YbAY07tgvprg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, doParamsAux_KLxu6hJo9aBH9aQCSRS509cEQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* params);
N_LIB_PRIVATE N_NIMCALL(void, gsemicolon_cePKc9cEQau31w9auAvt0icA_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, infixArgument_HNcJVTbsLN2PfMmnG6BxYw_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes_xsZ0eV431D9bIk9c9c4n9ak9cCg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NI, getPrecedence_xjNws35CZ6ofA0bs473Heg)(tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* ident);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword_N1ZnIJchVZRKfKk15xA7QQ)(tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* i);
N_LIB_PRIVATE N_NIMCALL(void, gcond_5eccg0mxlFLgBiNmpRHFig_6)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsons_WBsq6aIWI0YbAY07tgvprg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, dedent_n8JbrzcZm8FmR9aCHItw47w_6)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL_n8JbrzcZm8FmR9aCHItw47w_7)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g);
N_LIB_PRIVATE N_NIMCALL(void, putNL_xZ7srVmxLhrb9cB1fDthbCg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI indent);
N_LIB_PRIVATE N_NIMCALL(void, gif_5eccg0mxlFLgBiNmpRHFig_7)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode_FJ4I049aFDsnEwVjsz5GKFQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd);
N_LIB_PRIVATE N_NIMCALL(void, gwhile_5eccg0mxlFLgBiNmpRHFig_8)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock_5eccg0mxlFLgBiNmpRHFig_9)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gcase_5eccg0mxlFLgBiNmpRHFig_10)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gtry_5eccg0mxlFLgBiNmpRHFig_11)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gfor_5eccg0mxlFLgBiNmpRHFig_12)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gblock_5eccg0mxlFLgBiNmpRHFig_13)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt_5eccg0mxlFLgBiNmpRHFig_14)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gasm_5eccg0mxlFLgBiNmpRHFig_15)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gproc_5eccg0mxlFLgBiNmpRHFig_16)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName_l9ckhTtdY2uD8Mjq9cwreZDA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, NIM_BOOL noQuotes);
N_LIB_PRIVATE N_NIMCALL(void, gpattern_5eccg0mxlFLgBiNmpRHFig_17)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n);
N_LIB_PRIVATE N_NIMCALL(void, gsection_Dm6FWKFeMufDKYra1XJxVg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* k);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams_ty2FKaFbIrBgsB8VaZ9cZ3g)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* gp);
N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy_5eccg0mxlFLgBiNmpRHFig_18)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, 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(NimStringDesc*, renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open_gq12VLhVO0NBzUTnGgz4nw)(FILE** f, NimStringDesc* filename, tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
N_LIB_PRIVATE N_NIMCALL(void, write_PArlm09bKklm2BLsCg6YtaA)(FILE* f, NimStringDesc* s);
N_LIB_PRIVATE N_NIMCALL(void, close_fU6ZlJAtQ9bre04EDZLdGsA_3)(FILE* f);
N_LIB_PRIVATE N_NIMCALL(void, rawMessage_h30HgTFwbGq0PsyHmRqZ8g)(tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf, tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w msg, NimStringDesc* arg);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, substr_2yh9cer0ymNRHlOOg8P7IuA)(NimStringDesc* s, NI first, NI last);
extern TNimType NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_;
extern tyObject_GcHeap_1TRH1TZMaVZTnLNcIHuNFQ gch_IcYaEuuWivYAS86vFMTS3Q;
TNimType NTI_FnEE3o2nWtqdjoC0wa2wgA_;
extern TNimType NTI_vw8YkgaVtNadqP8v5OpXKA_;
extern TNimType NTI_kDPg4wXyR8DDyA0MeEjIsw_;
extern TNimType NTI_K9bspPztfoWajecnwjyHuYQ_;
TNimType NTI_0W45b4tBLx0JWnu0NjAmVQ_;
extern TNimType NTI_G4E4Gxe7oI2Cm03rkiOzQw_;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_2, "<nil tree>", 10);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_4 = {
0xEC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_5, "sons", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_11, "\012", 1);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_13 = {
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_14, "ident", 5);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_15 = {
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_16, "sym", 3);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_17 = {
0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_18, "strVal", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_19, "r\"", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_20, "\"", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_21, "\"\"", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_22, "\"\"\"", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_23, "\'", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_24, "\\a", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_25, "\\b", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_26, "\\t", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_27, "\\n", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_28, "\\v", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_29, "\\f", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_30, "\\c", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_31, "\\e", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_32, "\\\\", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_33, "\\\'", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_34, "\\\"", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_35, "\\x", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_36, "0123456789ABCDEF", 16);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_37 = {
0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_38, "intVal", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_42, "0b", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_44, "0o", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_46, "0x", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_48, "\'i8", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_49, "\'i16", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_50, "\'i32", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_51, "\'i64", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_55, "\'u", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_56, "\'u8", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_57, "\'u16", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_58, "\'u32", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_59, "\'u64", 4);
static NIM_CONST tySet_tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw TM_1E0z9biZTE3PahFHulMjtyw_60 = {
0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_61, "floatVal", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_62, "\'f32", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_63, "\'f64", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_64, "nil", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_65, "[type node]", 11);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_66, "rnimsyn.atom ", 13);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_68, "[]", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_69, "<<", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_70, "th child missing for ", 21);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_71, " >>", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_72, "[", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_77, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/renderer.nim(395, 9) `theEnd < 0` ", 127);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_91, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/renderer.nim(406, 9) `theEnd < 0` ", 127);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_183, " ", 1);
extern NIM_CONST tyArray_rhDLCy9aNYBAIsWVh16bA0A TokTypeToStr_7y4sYGQdJmj2c4r0emPULw;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_185, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/renderer.nim(291, 9) `n != nil` ", 125);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_196, "## ", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_207, "]", 1);
static NIM_CONST tySet_tyChar_nmiMWKVIe46vacnhAFrQvw TM_1E0z9biZTE3PahFHulMjtyw_208 = {
0x00, 0x00, 0x00, 0x00, 0x72, 0xEC, 0x00, 0xF4,
0x01, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_209, "`", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_210, "(", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_211, ")", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_212, ":", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_214, "(wrong conv)", 12);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_215, "cast", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_216, "addr", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_217, "static", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_218, "{", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_219, "}", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_222, ",", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_225, "=", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_226, "chckRangeF", 10);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_227, "chckRange64", 11);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_228, "chckRange", 9);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_229, "|", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_230, ".", 1);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_232, "|...)", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_235, "bind", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_236, "proc", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_237, "do", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_239, "->", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_247, "<//>", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_248, "..", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_250, "if", 2);
NIM_CONST tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw TM_1E0z9biZTE3PahFHulMjtyw_253 = {((NI) 0),
0}
;
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_254, " elif", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_255, " else", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_256, "type", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_257, "ref", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_258, "ptr", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_259, "var", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_260, "distinct", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_261, " with", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_262, " without", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_263, "object", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_266, "/Users/travis/build/nim-lang/nightlies/nim/e7471cebae2a404f3e42"
"39f199f5a0c422484aac/compiler/renderer.nim(165, 9) `g.indent >= "
"0` ", 130);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_269, "of", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_270, "iterator", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_271, "enum", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_276, "when", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_277, "while", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_281, "case", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_284, "try", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_286, "for", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_292, "in", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_295, "block", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_298, "asm", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_300, "func", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_301, "converter", 9);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_302, "method", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_303, "macro", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_304, "template", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_306, "const", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_307, "let", 3);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_308, "using", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_310, "return", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_311, "raise", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_312, "yield", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_313, "discard", 7);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_314, "break", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_315, "continue", 8);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_317, "{.", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_318, ".}", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_320, "import", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_321, "export", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_322, "except", 6);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_323, "from", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_324, "include", 7);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_325, "as", 2);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_326, "mixin", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_327, "elif", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_328, "else", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_329, "finally", 7);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_330, "defer", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_332, "tuple", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_333, "(ComesFrom|", 11);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_334, "goto", 4);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_335, "state", 5);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_336, "breakstate", 10);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_337, "concept", 7);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_338, "rnimsyn.gsub(", 13);
STRING_LITERAL(TM_1E0z9biZTE3PahFHulMjtyw_341, "cannot open file: ", 18);

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(void, initSrcGen_V4h13uDpnxFekQECTzYaWA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* config) {
	unsureAsgnRef((void**) (&(*g).comStack), NIM_NIL);
	unsureAsgnRef((void**) (&(*g).tokens), NIM_NIL);
	(*g).indent = ((NI) 0);
	(*g).lineLen = ((NI) 0);
	(*g).pos = ((NI) 0);
	(*g).idx = ((NI) 0);
	unsureAsgnRef((void**) (&(*g).buf), ((NimStringDesc*) NIM_NIL));
	(*g).flags = renderFlags;
	(*g).pendingNL = ((NI) -1);
	(*g).pendingWhitespace = ((NI) -1);
	(*g).inGenericParams = NIM_FALSE;
	unsureAsgnRef((void**) (&(*g).config), config);
}

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(void, indentNL_n8JbrzcZm8FmR9aCHItw47w)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	NI TM_1E0z9biZTE3PahFHulMjtyw_3;
	TM_1E0z9biZTE3PahFHulMjtyw_3 = addInt((*g).indent, ((NI) 2));
	(*g).indent = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_3);
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
}

static N_INLINE(NI, len_P89cqdlERShb9alU3iC0yj8wast)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
	NI T1_;
	result = (NI)0;
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	T1_ = ((*n).sons ? (*n).sons->Sup.len : 0);
	result = T1_;
	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(void, optNL_GEWpEuqY9a3huqkrKYAAObA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* a, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* b) {
	(*g).pendingNL = (*g).indent;
	(*g).lineLen = (*g).indent;
}

N_LIB_PRIVATE N_NIMCALL(void, optNL_xZ7srVmxLhrb9cB1fDthbCg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
}

N_LIB_PRIVATE N_NIMCALL(void, optNL_n8JbrzcZm8FmR9aCHItw47w_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	optNL_xZ7srVmxLhrb9cB1fDthbCg(g, (*g).indent);
}

N_LIB_PRIVATE N_NIMCALL(void, initContext_ATR9atx4JGXXaRJqSs0YyPQ)(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw* c) {
	(*c).Field0 = ((NI) 0);
	(*c).Field1 = 0;
}

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, 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;
}

N_LIB_PRIVATE N_NIMCALL(void, pushCom_5eccg0mxlFLgBiNmpRHFig_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI length;
	NI T1_;
	NI TM_1E0z9biZTE3PahFHulMjtyw_8;
	T1_ = ((*g).comStack ? (*g).comStack->Sup.len : 0);
	length = T1_;
	TM_1E0z9biZTE3PahFHulMjtyw_8 = addInt(length, ((NI) 1));
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_8), ((NI) 0), ((NI) IL64(9223372036854775807))))));
	if ((NU)(length) >= (NU)((*g).comStack ? (*g).comStack->Sup.len : 0)) raiseIndexError2(length,((*g).comStack ? (*g).comStack->Sup.len : 0)-1);
	asgnRef((void**) (&(*g).comStack->data[length]), n);
}
static N_NIMCALL(void, Marker_tySequence_0W45b4tBLx0JWnu0NjAmVQ)(void* p, NI op) {
	tySequence_0W45b4tBLx0JWnu0NjAmVQ* a;
	NI T1_;
	a = (tySequence_0W45b4tBLx0JWnu0NjAmVQ*)p;
	T1_ = (NI)0;
	for (T1_ = 0; T1_ < (a ? a->Sup.len : 0); T1_++) {
	nimGCvisit((void*)a->data[T1_].sym, op);
	}
}

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(void, addTok_xLPytIwyYkF9bx9a6ZUQ025A_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym) {
	NI length;
	NI T1_;
	NI TM_1E0z9biZTE3PahFHulMjtyw_9;
	T1_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
	length = T1_;
	TM_1E0z9biZTE3PahFHulMjtyw_9 = addInt(length, ((NI) 1));
	unsureAsgnRef((void**) (&(*g).tokens), (tySequence_0W45b4tBLx0JWnu0NjAmVQ*) setLengthSeqV2(&((*g).tokens)->Sup, (&NTI_0W45b4tBLx0JWnu0NjAmVQ_), ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_9), ((NI) 0), ((NI) IL64(9223372036854775807))))));
	if ((NU)(length) >= (NU)((*g).tokens ? (*g).tokens->Sup.len : 0)) raiseIndexError2(length,((*g).tokens ? (*g).tokens->Sup.len : 0)-1);
	(*g).tokens->data[length].kind = kind;
	if ((NU)(length) >= (NU)((*g).tokens ? (*g).tokens->Sup.len : 0)) raiseIndexError2(length,((*g).tokens ? (*g).tokens->Sup.len : 0)-1);
	(*g).tokens->data[length].length = ((NI16)chckRange((s ? s->Sup.len : 0), ((NI16) -32768), ((NI16) 32767)));
	if ((NU)(length) >= (NU)((*g).tokens ? (*g).tokens->Sup.len : 0)) raiseIndexError2(length,((*g).tokens ? (*g).tokens->Sup.len : 0)-1);
	asgnRef((void**) (&(*g).tokens->data[length].sym), sym);
	unsureAsgnRef((void**) (&(*g).buf), resizeString((*g).buf, (s ? s->Sup.len : 0) + 0));
appendString((*g).buf, s);
}

static N_INLINE(NimStringDesc*, spaces_rssDy7zs9cDeoYTeCoIy0Wgstrutils)(NI n) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = nsuRepeatChar(32, n);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, addPendingNL_n8JbrzcZm8FmR9aCHItw47w_3)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		NimStringDesc* T5_;
		NimStringDesc* T6_;
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		T6_ = (NimStringDesc*)0;
		T6_ = spaces_rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI)chckRange((*g).pendingNL, ((NI) 0), ((NI) IL64(9223372036854775807)))));
		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 1);
appendString(T5_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_11));
appendString(T5_, T6_);
		addTok_xLPytIwyYkF9bx9a6ZUQ025A_2(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), T5_, NIM_NIL);
		(*g).lineLen = (*g).pendingNL;
		(*g).pendingNL = ((NI) -1);
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T10_;
		if (!(((NI) 0) <= (*g).pendingWhitespace)) goto LA8_;
		T10_ = (NimStringDesc*)0;
		T10_ = spaces_rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI)chckRange((*g).pendingWhitespace, ((NI) 0), ((NI) IL64(9223372036854775807)))));
		addTok_xLPytIwyYkF9bx9a6ZUQ025A_2(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), T10_, NIM_NIL);
		(*g).pendingWhitespace = ((NI) -1);
	}
	goto LA1_;
	LA8_: ;
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, put_xLPytIwyYkF9bx9a6ZUQ025A)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s, tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* sym) {
	{
		if (!!((kind == ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112)))) goto LA3_;
		addPendingNL_n8JbrzcZm8FmR9aCHItw47w_3(g);
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_12;
			if (!(((NI) 0) < (s ? s->Sup.len : 0))) goto LA7_;
			addTok_xLPytIwyYkF9bx9a6ZUQ025A_2(g, kind, s, sym);
			TM_1E0z9biZTE3PahFHulMjtyw_12 = addInt((*g).lineLen, (s ? s->Sup.len : 0));
			(*g).lineLen = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_12);
		}
		LA7_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		(*g).pendingWhitespace = (s ? s->Sup.len : 0);
	}
	LA1_: ;
}

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);
}

static N_INLINE(void, addEscapedChar_dfKNBK6s29c7zfWj2JwI7EQsystem)(NimStringDesc** s, NIM_CHAR c) {
	switch (((NU8)(c))) {
	case 7:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_24));
	}
	break;
	case 8:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_25));
	}
	break;
	case 9:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_26));
	}
	break;
	case 10:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_27));
	}
	break;
	case 11:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_28));
	}
	break;
	case 12:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_29));
	}
	break;
	case 13:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_30));
	}
	break;
	case 27:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_31));
	}
	break;
	case 92:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_32));
	}
	break;
	case 39:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_33));
	}
	break;
	case 34:
	{
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_34));
	}
	break;
	case 32 ... 33:
	case 35 ... 38:
	case 40 ... 91:
	case 93 ... 126:
	{
		unsureAsgnRef((void**) (&(*s)), addChar((*s), c));
	}
	break;
	default:
	{
		NI n;
		unsureAsgnRef((void**) (&(*s)), resizeString((*s), 2));
appendString((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_35));
		n = ((NU8)(c));
		if ((NU)((NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))) >= (NU)(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36) ? ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->Sup.len : 0)) raiseIndexError2((NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4))),(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36) ? ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->Sup.len : 0)-1);
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->data[(NI)((NI64)((NI)(n & ((NI) 240))) >> (NU64)(((NI) 4)))]));
		if ((NU)((NI)(n & ((NI) 15))) >= (NU)(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36) ? ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->Sup.len : 0)) raiseIndexError2((NI)(n & ((NI) 15)),(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36) ? ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->Sup.len : 0)-1);
		unsureAsgnRef((void**) (&(*s)), addChar((*s), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_36)->data[(NI)(n & ((NI) 15))]));
	}
	break;
	}
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*, skip_0BCzl6k5VlLWkKbiIho5hg)(tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* t) {
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* result;
	result = (tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ*)0;
	result = t;
	{
		while (1) {
			NIM_BOOL T3_;
			T3_ = (NIM_BOOL)0;
			T3_ = !((result == NIM_NIL));
			if (!(T3_)) goto LA4_;
			T3_ = ((IL64(211106242013200) &((NU64)1<<((NU)((*result).kind)&63U)))!=0);
			LA4_: ;
			if (!T3_) goto LA2;
			result = lastSon_Bdq9aiV9buvJtPvmOc0OR5JQ(result);
		} LA2: ;
	}
	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;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, litAux_Z5GOwRdmlU82OE7IDpzHyg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	tyObject_TType_v9ae2Dpu13OW2ZJ2U9bNMd9cQ* typ;
	NI64 y;
	NI TM_1E0z9biZTE3PahFHulMjtyw_40;
	NI TM_1E0z9biZTE3PahFHulMjtyw_41;
{	result = (NimStringDesc*)0;
	typ = skip_0BCzl6k5VlLWkKbiIho5hg((*n).typ);
	{
		NIM_BOOL T3_;
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* enumfields;
		T3_ = (NIM_BOOL)0;
		T3_ = !((typ == NIM_NIL));
		if (!(T3_)) goto LA4_;
		T3_ = ((16386 &((NU64)1<<((NU)((*typ).kind)&63U)))!=0);
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NimStringDesc* T11_;
			if (!(((*(*typ).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 9))&63U)))!=0)) goto LA9_;
			T11_ = (NimStringDesc*)0;
			T11_ = rawNewString(((*(*(*typ).sym).name).s ? (*(*(*typ).sym).name).s->Sup.len : 0) + 1);
appendString(T11_, (*(*(*typ).sym).name).s);
appendChar(T11_, 46);
			result = T11_;
		}
		LA9_: ;
		enumfields = (*typ).n;
		{
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* e;
			e = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			{
				NI i;
				NI colontmp_;
				NI i_2;
				i = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(enumfields);
				i_2 = ((NI) 0);
				{
					while (1) {
						NI TM_1E0z9biZTE3PahFHulMjtyw_39;
						if (!(i_2 < colontmp_)) goto LA15;
						i = i_2;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*enumfields).kind)>>3] &(1U<<((NU)((*enumfields).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*enumfields).sons ? (*enumfields).sons->Sup.len : 0)) raiseIndexError2(i,((*enumfields).sons ? (*enumfields).sons->Sup.len : 0)-1);
						e = (*enumfields).sons->data[i];
						{
							if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*e).kind)>>3] &(1U<<((NU)((*e).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
							if (!(((NI64) ((*(*e).sym).position)) == x)) goto LA18_;
							if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*e).kind)>>3] &(1U<<((NU)((*e).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
							result = resizeString(result, ((*(*(*e).sym).name).s ? (*(*(*e).sym).name).s->Sup.len : 0) + 0);
appendString(result, (*(*(*e).sym).name).s);
							goto BeforeRet_;
						}
						LA18_: ;
						TM_1E0z9biZTE3PahFHulMjtyw_39 = addInt(i_2, ((NI) 1));
						i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_39);
					} LA15: ;
				}
			}
		}
	}
	LA5_: ;
	TM_1E0z9biZTE3PahFHulMjtyw_40 = mulInt(size, ((NI) 8));
	TM_1E0z9biZTE3PahFHulMjtyw_41 = subInt((NI)((NU64)(((NI) 1)) << (NU64)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_40))), ((NI) 1));
	y = (NI64)(x & ((NI64) ((NI)(TM_1E0z9biZTE3PahFHulMjtyw_41))));
	{
		NimStringDesc* T24_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_43;
		NimStringDesc* T25_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA22_;
		T24_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_43 = mulInt(size, ((NI) 8));
		T25_ = (NimStringDesc*)0;
		T25_ = nsuToBin(y, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_43), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T24_ = rawNewString((T25_ ? T25_->Sup.len : 0) + 2);
appendString(T24_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_42));
appendString(T24_, T25_);
		result = T24_;
	}
	goto LA20_;
	LA22_: ;
	{
		NimStringDesc* T29_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_45;
		NimStringDesc* T30_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA27_;
		T29_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_45 = mulInt(size, ((NI) 3));
		T30_ = (NimStringDesc*)0;
		T30_ = nsuToOct(y, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_45), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T29_ = rawNewString((T30_ ? T30_->Sup.len : 0) + 2);
appendString(T29_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_44));
appendString(T29_, T30_);
		result = T29_;
	}
	goto LA20_;
	LA27_: ;
	{
		NimStringDesc* T34_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_47;
		NimStringDesc* T35_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA32_;
		T34_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_47 = mulInt(size, ((NI) 2));
		T35_ = (NimStringDesc*)0;
		T35_ = nsuToHex(y, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_47), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 2);
appendString(T34_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_46));
appendString(T34_, T35_);
		result = T34_;
	}
	goto LA20_;
	LA32_: ;
	{
		result = nimInt64ToStr(x);
	}
	LA20_: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI64 x, NI size) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	{
		NimStringDesc* T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_52;
		NimStringDesc* T6_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 1))&31U)))!=0)) goto LA3_;
		T5_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_52 = mulInt(size, ((NI) 8));
		T6_ = (NimStringDesc*)0;
		T6_ = nsuToBin(x, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_52), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T5_ = rawNewString((T6_ ? T6_->Sup.len : 0) + 2);
appendString(T5_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_42));
appendString(T5_, T6_);
		result = T5_;
	}
	goto LA1_;
	LA3_: ;
	{
		NimStringDesc* T10_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_53;
		NimStringDesc* T11_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 2))&31U)))!=0)) goto LA8_;
		T10_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_53 = mulInt(size, ((NI) 3));
		T11_ = (NimStringDesc*)0;
		T11_ = nsuToOct(x, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_53), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T10_ = rawNewString((T11_ ? T11_->Sup.len : 0) + 2);
appendString(T10_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_44));
appendString(T10_, T11_);
		result = T10_;
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T15_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_54;
		NimStringDesc* T16_;
		if (!(((*n).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 3))&31U)))!=0)) goto LA13_;
		T15_ = (NimStringDesc*)0;
		TM_1E0z9biZTE3PahFHulMjtyw_54 = mulInt(size, ((NI) 2));
		T16_ = (NimStringDesc*)0;
		T16_ = nsuToHex(x, ((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_54), ((NI) 1), ((NI) IL64(9223372036854775807)))));
		T15_ = rawNewString((T16_ ? T16_->Sup.len : 0) + 2);
appendString(T15_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_46));
appendString(T15_, T16_);
		result = T15_;
	}
	goto LA1_;
	LA13_: ;
	{
		result = nimInt64ToStr(x);
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, atom_9cnUQzmaM0ehJLjixbNyrSQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	NF32 f;
	result = (NimStringDesc*)0;
	f = (NF32)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
		result = copyString((*(*n).ident).s);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		result = copyString((*(*(*n).sym).name).s);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		result = ((NimStringDesc*) NIM_NIL);
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_18));
		addQuoted_45fPtFhY4FavRaYwDhRfuA((&result), (*n).strVal);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* T6_;
		NimStringDesc* T7_;
		T6_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_18));
		T7_ = (NimStringDesc*)0;
		T7_ = nsuReplaceStr((*n).strVal, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_20), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_21));
		T6_ = rawNewString((T7_ ? T7_->Sup.len : 0) + 3);
appendString(T6_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_19));
appendString(T6_, T7_);
appendChar(T6_, 34);
		result = T6_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T9_;
		T9_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_18));
		T9_ = rawNewString(((*n).strVal ? (*n).strVal->Sup.len : 0) + 6);
appendString(T9_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_22));
appendString(T9_, (*n).strVal);
appendString(T9_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_22));
		result = T9_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		result = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_23));
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		addEscapedChar_dfKNBK6s29c7zfWj2JwI7EQsystem((&result), ((NIM_CHAR) (((NI)chckRange(((NI) ((*n).intVal)), ((NI) 0), ((NI) 255))))));
		result = addChar(result, 39);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		result = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n).intVal, ((NI) 4));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* T13_;
		NimStringDesc* T14_;
		T13_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T14_ = (NimStringDesc*)0;
		T14_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n).intVal, ((NI) 1));
		T13_ = rawNewString((T14_ ? T14_->Sup.len : 0) + 3);
appendString(T13_, T14_);
appendString(T13_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_48));
		result = T13_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* T16_;
		NimStringDesc* T17_;
		T16_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T17_ = (NimStringDesc*)0;
		T17_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n).intVal, ((NI) 2));
		T16_ = rawNewString((T17_ ? T17_->Sup.len : 0) + 4);
appendString(T16_, T17_);
appendString(T16_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_49));
		result = T16_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* T19_;
		NimStringDesc* T20_;
		T19_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T20_ = (NimStringDesc*)0;
		T20_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n).intVal, ((NI) 4));
		T19_ = rawNewString((T20_ ? T20_->Sup.len : 0) + 4);
appendString(T19_, T20_);
appendString(T19_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_50));
		result = T19_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* T22_;
		NimStringDesc* T23_;
		T22_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T23_ = (NimStringDesc*)0;
		T23_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*n).intVal, ((NI) 8));
		T22_ = rawNewString((T23_ ? T23_->Sup.len : 0) + 4);
appendString(T22_, T23_);
appendString(T22_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_51));
		result = T22_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* T25_;
		NimStringDesc* T26_;
		T25_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T26_ = (NimStringDesc*)0;
		T26_ = ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n).intVal, ((NI) 4));
		T25_ = rawNewString((T26_ ? T26_->Sup.len : 0) + 2);
appendString(T25_, T26_);
appendString(T25_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_55));
		result = T25_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* T28_;
		NimStringDesc* T29_;
		T28_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T29_ = (NimStringDesc*)0;
		T29_ = ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n).intVal, ((NI) 1));
		T28_ = rawNewString((T29_ ? T29_->Sup.len : 0) + 3);
appendString(T28_, T29_);
appendString(T28_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_56));
		result = T28_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* T31_;
		NimStringDesc* T32_;
		T31_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T32_ = (NimStringDesc*)0;
		T32_ = ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n).intVal, ((NI) 2));
		T31_ = rawNewString((T32_ ? T32_->Sup.len : 0) + 4);
appendString(T31_, T32_);
appendString(T31_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_57));
		result = T31_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* T34_;
		NimStringDesc* T35_;
		T34_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T35_ = (NimStringDesc*)0;
		T35_ = ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n).intVal, ((NI) 4));
		T34_ = rawNewString((T35_ ? T35_->Sup.len : 0) + 4);
appendString(T34_, T35_);
appendString(T34_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_58));
		result = T34_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* T37_;
		NimStringDesc* T38_;
		T37_ = (NimStringDesc*)0;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_37[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_38));
		T38_ = (NimStringDesc*)0;
		T38_ = ulitAux_Z5GOwRdmlU82OE7IDpzHyg_2(g, n, (*n).intVal, ((NI) 8));
		T37_ = rawNewString((T38_ ? T38_->Sup.len : 0) + 4);
appendString(T37_, T38_);
appendString(T37_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_59));
		result = T37_;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		{
			if (!(((*n).flags & 14) == 0)) goto LA42_;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			result = nimFloatToStr((*n).floatVal);
		}
		goto LA40_;
		LA42_: ;
		{
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			result = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*((NI64*) ((&(*n).floatVal)))), ((NI) 8));
		}
		LA40_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		{
			NimStringDesc* T50_;
			NimStringDesc* T51_;
			if (!(((*n).flags & 14) == 0)) goto LA48_;
			T50_ = (NimStringDesc*)0;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			T51_ = (NimStringDesc*)0;
			T51_ = nimFloatToStr((*n).floatVal);
			T50_ = rawNewString((T51_ ? T51_->Sup.len : 0) + 4);
appendString(T50_, T51_);
appendString(T50_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_62));
			result = T50_;
		}
		goto LA46_;
		LA48_: ;
		{
			NimStringDesc* T53_;
			NimStringDesc* T54_;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			f = ((NF32) ((*n).floatVal));
			T53_ = (NimStringDesc*)0;
			T54_ = (NimStringDesc*)0;
			T54_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, ((NI64) ((*((NI32*) ((&f)))))), ((NI) 4));
			T53_ = rawNewString((T54_ ? T54_->Sup.len : 0) + 4);
appendString(T53_, T54_);
appendString(T53_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_62));
			result = T53_;
		}
		LA46_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		{
			NimStringDesc* T60_;
			NimStringDesc* T61_;
			if (!(((*n).flags & 14) == 0)) goto LA58_;
			T60_ = (NimStringDesc*)0;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			T61_ = (NimStringDesc*)0;
			T61_ = nimFloatToStr((*n).floatVal);
			T60_ = rawNewString((T61_ ? T61_->Sup.len : 0) + 4);
appendString(T60_, T61_);
appendString(T60_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_63));
			result = T60_;
		}
		goto LA56_;
		LA58_: ;
		{
			NimStringDesc* T63_;
			NimStringDesc* T64_;
			T63_ = (NimStringDesc*)0;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_60[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_61));
			T64_ = (NimStringDesc*)0;
			T64_ = litAux_Z5GOwRdmlU82OE7IDpzHyg(g, n, (*((NI64*) ((&(*n).floatVal)))), ((NI) 8));
			T63_ = rawNewString((T64_ ? T64_->Sup.len : 0) + 4);
appendString(T63_, T64_);
appendString(T63_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_63));
			result = T63_;
		}
		LA56_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		result = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_64));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		{
			NIM_BOOL T69_;
			T69_ = (NIM_BOOL)0;
			T69_ = !(((*n).typ == NIM_NIL));
			if (!(T69_)) goto LA70_;
			T69_ = !(((*(*n).typ).sym == NIM_NIL));
			LA70_: ;
			if (!T69_) goto LA71_;
			result = copyString((*(*(*(*n).typ).sym).name).s);
		}
		goto LA67_;
		LA71_: ;
		{
			result = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_65));
		}
		LA67_: ;
	}
	break;
	default:
	{
		NimStringDesc* T75_;
		T75_ = (NimStringDesc*)0;
		T75_ = rawNewString((reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 13);
appendString(T75_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_66));
appendString(T75_, reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)));
		internalError_5hPl6LjCYJxMYxh9af9b9bXzw((*g).config, T75_);
		result = ((NimStringDesc*) NIM_NIL);
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gident_5eccg0mxlFLgBiNmpRHFig_3)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA t;
	NimStringDesc* s;
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* T34_;
{	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (*g).inGenericParams;
		if (!(T3_)) goto LA4_;
		T3_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			NIM_BOOL T11_;
			T9_ = (NIM_BOOL)0;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
			T9_ = (((*(*n).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 30))&63U)))!=0);
			if (T9_) goto LA10_;
			T11_ = (NIM_BOOL)0;
			T11_ = !(((*n).typ == NIM_NIL));
			if (!(T11_)) goto LA12_;
			T11_ = (((*(*n).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0);
			LA12_: ;
			T9_ = T11_;
			LA10_: ;
			if (!T9_) goto LA13_;
			goto BeforeRet_;
		}
		LA13_: ;
	}
	LA5_: ;
	t = (tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA)0;
	s = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
	{
		NIM_BOOL T17_;
		T17_ = (NIM_BOOL)0;
		T17_ = (((NI) 0) < (s ? s->Sup.len : 0));
		if (!(T17_)) goto LA18_;
		if ((NU)(((NI) 0)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(((NI) 0),(s ? s->Sup.len : 0)-1);
		T17_ = (((NU8)(s->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(48)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(57)) || ((NU8)(s->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(s->data[((NI) 0)])) <= ((NU8)(255)));
		LA18_: ;
		if (!T17_) goto LA19_;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2))) goto LA23_;
			{
				NIM_BOOL T27_;
				T27_ = (NIM_BOOL)0;
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				T27_ = ((*(*n).ident).Sup.id < ((NI) 1));
				if (T27_) goto LA28_;
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				T27_ = (((NI) 66) < (*(*n).ident).Sup.id);
				LA28_: ;
				if (!T27_) goto LA29_;
				t = ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2);
			}
			goto LA25_;
			LA29_: ;
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_67;
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				TM_1E0z9biZTE3PahFHulMjtyw_67 = addInt((*(*n).ident).Sup.id, ((NI) 2));
				t = ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_67), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 0), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 115)));
			}
			LA25_: ;
		}
		goto LA21_;
		LA23_: ;
		{
			t = ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2);
		}
		LA21_: ;
	}
	goto LA15_;
	LA19_: ;
	{
		t = ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109);
	}
	LA15_: ;
	T34_ = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	{
		NIM_BOOL T37_;
		T37_ = (NIM_BOOL)0;
		T37_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T37_)) goto LA38_;
		T37_ = (((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 7))&7U)))!=0);
		LA38_: ;
		if (!T37_) goto LA39_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		T34_ = (*n).sym;
	}
	goto LA35_;
	LA39_: ;
	{
		T34_ = NIM_NIL;
	}
	LA35_: ;
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, t, s, T34_);
	{
		NIM_BOOL T44_;
		NIM_BOOL T46_;
		NIM_BOOL T47_;
		NimStringDesc* T52_;
		T44_ = (NIM_BOOL)0;
		T44_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T44_)) goto LA45_;
		T46_ = (NIM_BOOL)0;
		T47_ = (NIM_BOOL)0;
		T47_ = (((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 5))&7U)))!=0);
		if (T47_) goto LA48_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		T47_ = (((*(*n).sym).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 33))&63U)))!=0);
		LA48_: ;
		T46_ = T47_;
		if (T46_) goto LA49_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		T46_ = ((*(*n).sym).kind == ((tyEnum_TSymKind_cNCW9acsSznmEccl1fgQwkw) 5));
		LA49_: ;
		T44_ = T46_;
		LA45_: ;
		if (!T44_) goto LA50_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		T52_ = (NimStringDesc*)0;
		T52_ = nimIntToStr((*(*n).sym).Sup.id);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 69), T52_, NIM_NIL);
	}
	LA50_: ;
	}BeforeRet_: ;
}

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, isBracket_pqWt3yB4tQGp7HUfzz4AXg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NI T4_;
			T4_ = (NI)0;
			T4_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T4_)) goto LA5_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			result = isBracket_pqWt3yB4tQGp7HUfzz4AXg((*n).sons->data[((NI) 0)]);
		}
		LA5_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	{
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		result = eqStrings((*(*(*n).sym).name).s, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_68));
	}
	break;
	default:
	{
		result = NIM_FALSE;
	}
	break;
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gsub_HNcJVTbsLN2PfMmnG6BxYw)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(i < T3_)) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[i]);
	}
	goto LA1_;
	LA4_: ;
	{
		NimStringDesc* T7_;
		NimStringDesc* T8_;
		T7_ = (NimStringDesc*)0;
		T8_ = (NimStringDesc*)0;
		T8_ = nimIntToStr(i);
		T7_ = rawNewString((T8_ ? T8_->Sup.len : 0) + (reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 26);
appendString(T7_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_69));
appendString(T7_, T8_);
appendString(T7_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_70));
appendString(T7_, reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)));
appendString(T7_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_71));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109), T7_, NIM_NIL);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsNL_ivIjJNMv9c0wki0AXw9bSikw)(NimStringDesc* s) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		NI i;
		NI colontmp_;
		NI i_2;
		i = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (s ? s->Sup.len : 0);
		i_2 = ((NI) 0);
		{
			while (1) {
				NI TM_1E0z9biZTE3PahFHulMjtyw_76;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
				switch (((NU8)(s->data[i]))) {
				case 13:
				case 10:
				{
					result = NIM_TRUE;
					goto BeforeRet_;
				}
				break;
				default:
				{
				}
				break;
				}
				TM_1E0z9biZTE3PahFHulMjtyw_76 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_76);
			} LA3: ;
		}
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, lcomma_9av9a6d3ZJnGIb7FBw2t2sTA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	{
		if (!!((theEnd < ((NI) 0)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_77));
	}
	LA3_: ;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T6_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_78;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T6_ = (NI)0;
		T6_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_1E0z9biZTE3PahFHulMjtyw_78 = addInt(T6_, theEnd);
		colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_78);
		res = start;
		{
			while (1) {
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* param;
				NI TM_1E0z9biZTE3PahFHulMjtyw_81;
				if (!(res <= colontmp_)) goto LA8;
				i = res;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				param = (*n).sons->data[i];
				{
					NI T13_;
					NI TM_1E0z9biZTE3PahFHulMjtyw_79;
					NI TM_1E0z9biZTE3PahFHulMjtyw_80;
					if (!!((((*param).flags &(1U<<((NU)(((tyEnum_TNodeFlag_jyh9acXHkhZANSSvPIY7ZLg) 17))&31U)))!=0))) goto LA11_;
					T13_ = (NI)0;
					T13_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, param);
					TM_1E0z9biZTE3PahFHulMjtyw_79 = addInt(result, T13_);
					result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_79);
					TM_1E0z9biZTE3PahFHulMjtyw_80 = addInt(result, ((NI) 2));
					result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_80);
				}
				LA11_: ;
				TM_1E0z9biZTE3PahFHulMjtyw_81 = addInt(res, ((NI) 1));
				res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_81);
			} LA8: ;
		}
	}
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_82;
		if (!(((NI) 0) < result)) goto LA16_;
		TM_1E0z9biZTE3PahFHulMjtyw_82 = subInt(result, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_82);
	}
	LA16_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI result;
	result = (NI)0;
	{
		if (!!((theEnd < ((NI) 0)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_91));
	}
	LA3_: ;
	result = ((NI) 0);
	{
		NI i;
		NI colontmp_;
		NI T6_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_92;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T6_ = (NI)0;
		T6_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_1E0z9biZTE3PahFHulMjtyw_92 = addInt(T6_, theEnd);
		colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_92);
		res = start;
		{
			while (1) {
				NI T9_;
				NI TM_1E0z9biZTE3PahFHulMjtyw_93;
				NI TM_1E0z9biZTE3PahFHulMjtyw_94;
				if (!(res <= colontmp_)) goto LA8;
				i = res;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				T9_ = (NI)0;
				T9_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[i]);
				TM_1E0z9biZTE3PahFHulMjtyw_93 = addInt(result, T9_);
				result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_93);
				TM_1E0z9biZTE3PahFHulMjtyw_94 = addInt(res, ((NI) 1));
				res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_94);
			} LA8: ;
		}
	}
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, lsub_WT5OU2utip0e3bSZKpu9aHg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NI result;
{	result = (NI)0;
	{
		if (!(n == 0)) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		result = ((NI) 81);
		goto BeforeRet_;
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
		result = ((NI) 0);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		{
			NIM_BOOL T13_;
			if (!(((TM_1E0z9biZTE3PahFHulMjtyw_17[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_18));
			T13_ = (NIM_BOOL)0;
			T13_ = containsNL_ivIjJNMv9c0wki0AXw9bSikw((*n).strVal);
			if (!T13_) goto LA14_;
			result = ((NI) 81);
		}
		goto LA11_;
		LA14_: ;
		{
			NimStringDesc* T17_;
			T17_ = (NimStringDesc*)0;
			T17_ = atom_9cnUQzmaM0ehJLjixbNyrSQ(g, n);
			result = (T17_ ? T17_->Sup.len : 0);
		}
		LA11_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* T19_;
		T19_ = (NimStringDesc*)0;
		T19_ = atom_9cnUQzmaM0ehJLjixbNyrSQ(g, n);
		result = (T19_ ? T19_->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 40):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		NI T21_;
		NI T22_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_83;
		NI TM_1E0z9biZTE3PahFHulMjtyw_84;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T21_ = (NI)0;
		T21_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		T22_ = (NI)0;
		T22_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_83 = addInt(T21_, T22_);
		TM_1E0z9biZTE3PahFHulMjtyw_84 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_83), ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_84);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		result = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 1)]);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		NI T25_;
		NI T26_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_85;
		NI TM_1E0z9biZTE3PahFHulMjtyw_86;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T25_ = (NI)0;
		T25_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T26_ = (NI)0;
		T26_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_85 = addInt(T25_, T26_);
		TM_1E0z9biZTE3PahFHulMjtyw_86 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_85), ((NI) 8));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_86);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		{
			NI T30_;
			NI T33_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_87;
			T30_ = (NI)0;
			T30_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T30_)) goto LA31_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T33_ = (NI)0;
			T33_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_87 = addInt(T33_, ((NI) 6));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_87);
		}
		goto LA28_;
		LA31_: ;
		{
			result = ((NI) 4);
		}
		LA28_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		NI T36_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_88;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T36_ = (NI)0;
		T36_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_88 = addInt(T36_, ((NI) 7));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_88);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		result = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		NI T39_;
		NI T40_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_89;
		NI TM_1E0z9biZTE3PahFHulMjtyw_90;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T39_ = (NI)0;
		T39_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		T40_ = (NI)0;
		T40_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_89 = addInt(T39_, T40_);
		TM_1E0z9biZTE3PahFHulMjtyw_90 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_89), ((NI) 1));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_90);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		NI T42_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_95;
		T42_ = (NI)0;
		T42_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_95 = addInt(T42_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_95);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 39):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		NI T44_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_96;
		T44_ = (NI)0;
		T44_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_96 = addInt(T44_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_96);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		NI T46_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_97;
		T46_ = (NI)0;
		T46_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_97 = addInt(T46_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_97);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		result = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		{
			NI T51_;
			NI T54_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_98;
			T51_ = (NI)0;
			T51_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T51_)) goto LA52_;
			T54_ = (NI)0;
			T54_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
			TM_1E0z9biZTE3PahFHulMjtyw_98 = addInt(T54_, ((NI) 2));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_98);
		}
		goto LA49_;
		LA52_: ;
		{
			result = ((NI) 3);
		}
		LA49_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		NI T57_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_99;
		NI T58_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_100;
		NI TM_1E0z9biZTE3PahFHulMjtyw_101;
		T57_ = (NI)0;
		T57_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_99 = addInt(T57_, ((NI) 2));
		T58_ = (NI)0;
		T58_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_1E0z9biZTE3PahFHulMjtyw_100 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_99), T58_);
		TM_1E0z9biZTE3PahFHulMjtyw_101 = subInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_100), ((NI) 1));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_101);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		NI T60_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_102;
		T60_ = (NI)0;
		T60_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_102 = addInt(T60_, ((NI) 7));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_102);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		result = ((NI) 5);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		NI T63_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_103;
		T63_ = (NI)0;
		T63_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_103 = addInt(T63_, ((NI) 1));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_103);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		NI T65_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_104;
		T65_ = (NI)0;
		T65_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_104 = addInt(T65_, ((NI) 5));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_104);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		NI T67_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_105;
		T67_ = (NI)0;
		T67_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_105 = addInt(T67_, ((NI) 5));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_105);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		NI T69_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_106;
		T69_ = (NI)0;
		T69_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_106 = addInt(T69_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_106);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		result = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		NI T72_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_107;
		T72_ = (NI)0;
		T72_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_107 = addInt(T72_, ((NI) 8));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_107);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		NI T74_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_108;
		T74_ = (NI)0;
		T74_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_108 = addInt(T74_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_108);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		NI L;
		result = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -3));
		L = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_109;
			NI TM_1E0z9biZTE3PahFHulMjtyw_110;
			NI T80_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_111;
			NI TM_1E0z9biZTE3PahFHulMjtyw_112;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_109 = subInt(L, ((NI) 2));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_109)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_109),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_109)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA78_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_110 = subInt(L, ((NI) 2));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_110)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_110),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T80_ = (NI)0;
			T80_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_110)]);
			TM_1E0z9biZTE3PahFHulMjtyw_111 = addInt(result, T80_);
			TM_1E0z9biZTE3PahFHulMjtyw_112 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_111), ((NI) 2));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_112);
		}
		LA78_: ;
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_113;
			NI TM_1E0z9biZTE3PahFHulMjtyw_114;
			NI T85_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_115;
			NI TM_1E0z9biZTE3PahFHulMjtyw_116;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_113 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_113)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_113),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_113)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA83_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_114 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_114)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_114),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T85_ = (NI)0;
			T85_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_114)]);
			TM_1E0z9biZTE3PahFHulMjtyw_115 = addInt(result, T85_);
			TM_1E0z9biZTE3PahFHulMjtyw_116 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_115), ((NI) 3));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_116);
		}
		LA83_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		NI T87_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_117;
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T88_;
		NI T89_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_118;
		T87_ = (NI)0;
		T87_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -3));
		TM_1E0z9biZTE3PahFHulMjtyw_117 = addInt(T87_, ((NI) 5));
		T88_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T88_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		T89_ = (NI)0;
		T89_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, T88_);
		TM_1E0z9biZTE3PahFHulMjtyw_118 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_117), T89_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_118);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		NI T91_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_119;
		T91_ = (NI)0;
		T91_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_119 = addInt(((NI) 12), T91_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_119);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		NI T93_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_120;
		T93_ = (NI)0;
		T93_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_120 = addInt(((NI) 13), T93_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_120);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		NI T95_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_121;
		T95_ = (NI)0;
		T95_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_121 = addInt(((NI) 11), T95_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_121);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		NI T103_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_123;
		result = ((NI) 2);
		{
			NI T99_;
			NI T102_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_122;
			T99_ = (NI)0;
			T99_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 1) <= T99_)) goto LA100_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T102_ = (NI)0;
			T102_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_122 = addInt(result, T102_);
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_122);
		}
		LA100_: ;
		T103_ = (NI)0;
		T103_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_123 = addInt(result, T103_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_123);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		NI T105_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_124;
		T105_ = (NI)0;
		T105_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_124 = addInt(T105_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_124);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		NI T107_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_125;
		T107_ = (NI)0;
		T107_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_125 = addInt(T107_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_125);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		NI T109_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_126;
		NI T110_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_127;
		T109_ = (NI)0;
		T109_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_126 = addInt(T109_, ((NI) 1));
		T110_ = (NI)0;
		{
			NIM_BOOL T113_;
			NI T114_;
			T113_ = (NIM_BOOL)0;
			T114_ = (NI)0;
			T114_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T113_ = (((NI) 0) < T114_);
			if (!(T113_)) goto LA115_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T113_ = ((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29));
			LA115_: ;
			if (!T113_) goto LA116_;
			T110_ = ((NI) 2);
		}
		goto LA111_;
		LA116_: ;
		{
			T110_ = ((NI) 0);
		}
		LA111_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_127 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_126), T110_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_127);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		result = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		result = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		NI T122_;
		NI T123_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_128;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T122_ = (NI)0;
		T122_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		T123_ = (NI)0;
		T123_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_128 = addInt(T122_, T123_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_128);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		NI T125_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_129;
		T125_ = (NI)0;
		T125_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_129 = addInt(T125_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_129);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		NI T127_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_130;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T127_ = (NI)0;
		T127_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_130 = addInt(T127_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_130);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		NI T129_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_131;
		T129_ = (NI)0;
		T129_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_131 = addInt(T129_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_131);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		NI T131_;
		NI T132_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_132;
		NI T133_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_133;
		NI TM_1E0z9biZTE3PahFHulMjtyw_134;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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);
		T131_ = (NI)0;
		T131_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
		T132_ = (NI)0;
		T132_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_132 = addInt(T131_, T132_);
		T133_ = (NI)0;
		T133_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_133 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_132), T133_);
		TM_1E0z9biZTE3PahFHulMjtyw_134 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_133), ((NI) 5));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_134);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		NI T135_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_135;
		T135_ = (NI)0;
		T135_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_135 = addInt(T135_, ((NI) 8));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_135);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		NI T137_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_136;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T137_ = (NI)0;
		T137_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_136 = addInt(T137_, ((NI) 7));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_136);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		NI T139_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_137;
		T139_ = (NI)0;
		{
			NI T142_;
			T142_ = (NI)0;
			T142_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T142_)) goto LA143_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T139_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		}
		goto LA140_;
		LA143_: ;
		{
			T139_ = ((NI) 0);
		}
		LA140_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_137 = addInt(T139_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_137);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		NI T147_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_139;
		T147_ = (NI)0;
		{
			NI T150_;
			NI T153_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_138;
			T150_ = (NI)0;
			T150_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T150_)) goto LA151_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T153_ = (NI)0;
			T153_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_138 = addInt(T153_, ((NI) 1));
			T147_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_138);
		}
		goto LA148_;
		LA151_: ;
		{
			T147_ = ((NI) 0);
		}
		LA148_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_139 = addInt(T147_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_139);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		NI T156_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_141;
		T156_ = (NI)0;
		{
			NI T159_;
			NI T162_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_140;
			T159_ = (NI)0;
			T159_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T159_)) goto LA160_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T162_ = (NI)0;
			T162_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_140 = addInt(T162_, ((NI) 1));
			T156_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_140);
		}
		goto LA157_;
		LA160_: ;
		{
			T156_ = ((NI) 0);
		}
		LA157_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_141 = addInt(T156_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_141);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		NI T165_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_143;
		T165_ = (NI)0;
		{
			NI T168_;
			NI T171_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_142;
			T168_ = (NI)0;
			T168_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T168_)) goto LA169_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T171_ = (NI)0;
			T171_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_142 = addInt(T171_, ((NI) 1));
			T165_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_142);
		}
		goto LA166_;
		LA169_: ;
		{
			T165_ = ((NI) 0);
		}
		LA166_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_143 = addInt(T165_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_143);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		NI T174_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_145;
		T174_ = (NI)0;
		{
			NI T177_;
			NI T180_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_144;
			T177_ = (NI)0;
			T177_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T177_)) goto LA178_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T180_ = (NI)0;
			T180_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_144 = addInt(T180_, ((NI) 1));
			T174_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_144);
		}
		goto LA175_;
		LA178_: ;
		{
			T174_ = ((NI) 0);
		}
		LA175_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_145 = addInt(((NI) 8), T174_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_145);
		{
			NI T184_;
			NI T187_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_146;
			NI T193_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_147;
			T184_ = (NI)0;
			T184_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T184_)) goto LA185_;
			T187_ = (NI)0;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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) 130))) goto LA190_;
				T187_ = ((NI) 6);
			}
			goto LA188_;
			LA190_: ;
			{
				T187_ = ((NI) 9);
			}
			LA188_: ;
			TM_1E0z9biZTE3PahFHulMjtyw_146 = addInt(result, T187_);
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_146);
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T193_ = (NI)0;
			T193_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, (*n).sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			TM_1E0z9biZTE3PahFHulMjtyw_147 = addInt(result, T193_);
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_147);
		}
		LA185_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		NI T195_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_148;
		T195_ = (NI)0;
		{
			NI T198_;
			T198_ = (NI)0;
			T198_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T198_)) goto LA199_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T195_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		}
		goto LA196_;
		LA199_: ;
		{
			T195_ = ((NI) 0);
		}
		LA196_: ;
		TM_1E0z9biZTE3PahFHulMjtyw_148 = addInt(T195_, ((NI) 8));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_148);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		NI T203_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_149;
		T203_ = (NI)0;
		T203_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_149 = addInt(T203_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_149);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		NI T205_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_150;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T205_ = (NI)0;
		T205_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_150 = addInt(T205_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_150);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		NI T207_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_151;
		T207_ = (NI)0;
		T207_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_151 = addInt(T207_, ((NI) 5));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_151);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		NI T209_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_152;
		T209_ = (NI)0;
		T209_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_152 = addInt(T209_, ((NI) 9));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_152);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 149):
	{
		NI T211_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_153;
		T211_ = (NI)0;
		T211_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_153 = addInt(T211_, ((NI) 7));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_153);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T215_;
			NI T218_;
			NI T219_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_154;
			NI TM_1E0z9biZTE3PahFHulMjtyw_155;
			T215_ = (NI)0;
			T215_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T215_)) goto LA216_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T218_ = (NI)0;
			T218_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			T219_ = (NI)0;
			T219_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
			TM_1E0z9biZTE3PahFHulMjtyw_154 = addInt(T218_, T219_);
			TM_1E0z9biZTE3PahFHulMjtyw_155 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_154), ((NI) 5));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_155);
		}
		goto LA213_;
		LA216_: ;
		{
			result = ((NI) 4);
		}
		LA213_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		NI T222_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_156;
		T222_ = (NI)0;
		T222_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_156 = addInt(T222_, ((NI) 3));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_156);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
	{
		{
			NI T226_;
			T226_ = (NI)0;
			T226_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 1) < T226_)) goto LA227_;
			result = ((NI) 81);
		}
		goto LA224_;
		LA227_: ;
		{
			NI T230_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_157;
			T230_ = (NI)0;
			T230_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
			TM_1E0z9biZTE3PahFHulMjtyw_157 = addInt(T230_, ((NI) 4));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_157);
		}
		LA224_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		{
			NI T234_;
			T234_ = (NI)0;
			T234_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 1) < T234_)) goto LA235_;
			result = ((NI) 81);
		}
		goto LA232_;
		LA235_: ;
		{
			NI T238_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_158;
			T238_ = (NI)0;
			T238_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
			TM_1E0z9biZTE3PahFHulMjtyw_158 = addInt(T238_, ((NI) 6));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_158);
		}
		LA232_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		{
			NIM_BOOL T242_;
			NI T243_;
			NI T247_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_159;
			T242_ = (NIM_BOOL)0;
			T243_ = (NI)0;
			T243_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T242_ = (((NI) 0) < T243_);
			if (!(T242_)) goto LA244_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T242_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA244_: ;
			if (!T242_) goto LA245_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
			T247_ = (NI)0;
			T247_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 1)]);
			TM_1E0z9biZTE3PahFHulMjtyw_159 = addInt(((NI) 7), T247_);
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_159);
		}
		goto LA240_;
		LA245_: ;
		{
			NI T249_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_160;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T249_ = (NI)0;
			T249_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_160 = addInt(((NI) 7), T249_);
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_160);
		}
		LA240_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		NI T251_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_161;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T251_ = (NI)0;
		T251_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_161 = addInt(T251_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_161);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		NI T253_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_162;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T253_ = (NI)0;
		T253_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_162 = addInt(T253_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_162);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		NI T255_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_163;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T255_ = (NI)0;
		T255_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_163 = addInt(T255_, ((NI) 8));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_163);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		NI T257_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_164;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T257_ = (NI)0;
		T257_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_164 = addInt(T257_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_164);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		NI T259_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_165;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T259_ = (NI)0;
		T259_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_165 = addInt(T259_, ((NI) 9));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_165);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		NI T261_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_166;
		T261_ = (NI)0;
		T261_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_166 = addInt(T261_, ((NI) 4));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_166);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		result = ((*n).comment ? (*n).comment->Sup.len : 0);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		NI T264_;
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T265_;
		NI T266_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_167;
		NI TM_1E0z9biZTE3PahFHulMjtyw_168;
		T264_ = (NI)0;
		T264_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -2));
		T265_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T265_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		T266_ = (NI)0;
		T266_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, T265_);
		TM_1E0z9biZTE3PahFHulMjtyw_167 = addInt(T264_, T266_);
		TM_1E0z9biZTE3PahFHulMjtyw_168 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_167), ((NI) 5));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_168);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		NI T268_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_169;
		NI T269_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_170;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T268_ = (NI)0;
		T268_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_169 = addInt(T268_, ((NI) 4));
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T269_ = (NI)0;
		T269_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_170 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_169), T269_);
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_170);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		NI T271_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_171;
		T271_ = (NI)0;
		T271_ = lsons_9av9a6d3ZJnGIb7FBw2t2sTA_2(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_171 = addInt(T271_, ((NI) 7));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_171);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		NI T273_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_172;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T273_ = (NI)0;
		T273_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_172 = addInt(T273_, ((NI) 6));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_172);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 107):
	{
		NI T275_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_173;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T275_ = (NI)0;
		T275_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_173 = addInt(T275_, ((NI) 9));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_173);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		NI T277_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_174;
		T277_ = (NI)0;
		T277_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_174 = addInt(T277_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_174);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		NI T279_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_175;
		T279_ = (NI)0;
		T279_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 1), ((NI) -1));
		TM_1E0z9biZTE3PahFHulMjtyw_175 = addInt(T279_, ((NI) 2));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_175);
		{
			NI T284_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_176;
			NI TM_1E0z9biZTE3PahFHulMjtyw_177;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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 LA282_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T284_ = (NI)0;
			T284_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_176 = addInt(result, T284_);
			TM_1E0z9biZTE3PahFHulMjtyw_177 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_176), ((NI) 2));
			result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_177);
		}
		LA282_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		NI T286_;
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T287_;
		NI T288_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_178;
		NI TM_1E0z9biZTE3PahFHulMjtyw_179;
		T286_ = (NI)0;
		T286_ = lcomma_9av9a6d3ZJnGIb7FBw2t2sTA(g, n, ((NI) 0), ((NI) -2));
		T287_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T287_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		T288_ = (NI)0;
		T288_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, T287_);
		TM_1E0z9biZTE3PahFHulMjtyw_178 = addInt(T286_, T288_);
		TM_1E0z9biZTE3PahFHulMjtyw_179 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_178), ((NI) 9));
		result = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_179);
	}
	break;
	default:
	{
		result = ((NI) 81);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fits_m9a9aKZ6NucRjuLOHVJ66EWQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI x) {
	NIM_BOOL result;
	NI TM_1E0z9biZTE3PahFHulMjtyw_181;
	result = (NIM_BOOL)0;
	TM_1E0z9biZTE3PahFHulMjtyw_181 = addInt(x, (*g).lineLen);
	result = ((NI)(TM_1E0z9biZTE3PahFHulMjtyw_181) <= ((NI) 80));
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, putWithSpace_Ld66XW3M36dm4dwChiNHFw)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* s) {
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, kind, s, NIM_NIL);
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasCom_pqWt3yB4tQGp7HUfzz4AXg_2)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		if (!(n == 0)) goto LA3_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1) ... ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
	}
	break;
	default:
	{
		{
			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_1E0z9biZTE3PahFHulMjtyw_184;
					if (!(i_2 < colontmp_)) goto LA13;
					i = i_2;
					{
						NIM_BOOL T16_;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T16_ = (NIM_BOOL)0;
						T16_ = hasCom_pqWt3yB4tQGp7HUfzz4AXg_2((*n).sons->data[i]);
						if (!T16_) goto LA17_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA17_: ;
					TM_1E0z9biZTE3PahFHulMjtyw_184 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_184);
				} LA13: ;
			}
		}
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, shouldRenderComment_rEVEzjU9aQwh327HhQWPHkQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = NIM_FALSE;
	{
		NIM_BOOL T5_;
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = !((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 2))&7U)))!=0));
		if (T5_) goto LA6_;
		T5_ = (((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 3))&7U)))!=0);
		LA6_: ;
		result = T5_;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NI, maxLineLength_se43FQhaKAIoi42YSEoSXA)(NimStringDesc* s) {
	NI result;
	NI i;
	NI hi;
	NI TM_1E0z9biZTE3PahFHulMjtyw_187;
	NI lineLen;
{	result = (NI)0;
	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		result = ((NI) 0);
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	TM_1E0z9biZTE3PahFHulMjtyw_187 = subInt((s ? s->Sup.len : 0), ((NI) 1));
	hi = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_187);
	lineLen = ((NI) 0);
	{
		while (1) {
			if (!(i <= hi)) goto LA6;
			if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA5;
			}
			break;
			case 13:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_188;
				TM_1E0z9biZTE3PahFHulMjtyw_188 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_188);
				{
					NIM_BOOL T11_;
					NI TM_1E0z9biZTE3PahFHulMjtyw_189;
					T11_ = (NIM_BOOL)0;
					T11_ = (i <= hi);
					if (!(T11_)) goto LA12_;
					if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
					T11_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA12_: ;
					if (!T11_) goto LA13_;
					TM_1E0z9biZTE3PahFHulMjtyw_189 = addInt(i, ((NI) 1));
					i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_189);
				}
				LA13_: ;
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			case 10:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_190;
				TM_1E0z9biZTE3PahFHulMjtyw_190 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_190);
				result = ((result >= lineLen) ? result : lineLen);
				lineLen = ((NI) 0);
			}
			break;
			default:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_191;
				NI TM_1E0z9biZTE3PahFHulMjtyw_192;
				TM_1E0z9biZTE3PahFHulMjtyw_191 = addInt(lineLen, ((NI) 1));
				lineLen = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_191);
				TM_1E0z9biZTE3PahFHulMjtyw_192 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_192);
			}
			break;
			}
		} LA6: ;
	} LA5: ;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, putComment_9abZb6EyaCpuRuhI9aED11og)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NimStringDesc* s) {
	NI i;
	NI hi;
	NI TM_1E0z9biZTE3PahFHulMjtyw_195;
	NIM_BOOL isCode;
	NIM_BOOL T5_;
	NI ind;
	NimStringDesc* com;
{	{
		if (!((s ? s->Sup.len : 0) == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	i = ((NI) 0);
	TM_1E0z9biZTE3PahFHulMjtyw_195 = subInt((s ? s->Sup.len : 0), ((NI) 1));
	hi = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_195);
	T5_ = (NIM_BOOL)0;
	T5_ = (((NI) 2) <= (s ? s->Sup.len : 0));
	if (!(T5_)) goto LA6_;
	if ((NU)(((NI) 1)) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(((NI) 1),(s ? s->Sup.len : 0)-1);
	T5_ = !(((NU8)(s->data[((NI) 1)]) == (NU8)(32)));
	LA6_: ;
	isCode = T5_;
	ind = (*g).lineLen;
	com = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_196));
	{
		while (1) {
			if (!(i <= hi)) goto LA8;
			if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
			switch (((NU8)(s->data[i]))) {
			case 0:
			{
				goto LA7;
			}
			break;
			case 13:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_197;
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 110), com, NIM_NIL);
				com = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_196));
				TM_1E0z9biZTE3PahFHulMjtyw_197 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_197);
				{
					NIM_BOOL T13_;
					NI TM_1E0z9biZTE3PahFHulMjtyw_198;
					T13_ = (NIM_BOOL)0;
					T13_ = (i <= hi);
					if (!(T13_)) goto LA14_;
					if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
					T13_ = ((NU8)(s->data[i]) == (NU8)(10));
					LA14_: ;
					if (!T13_) goto LA15_;
					TM_1E0z9biZTE3PahFHulMjtyw_198 = addInt(i, ((NI) 1));
					i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_198);
				}
				LA15_: ;
				optNL_xZ7srVmxLhrb9cB1fDthbCg(g, ind);
			}
			break;
			case 10:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_199;
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 110), com, NIM_NIL);
				com = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_196));
				TM_1E0z9biZTE3PahFHulMjtyw_199 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_199);
				optNL_xZ7srVmxLhrb9cB1fDthbCg(g, ind);
			}
			break;
			case 32:
			case 9:
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_200;
				if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
				com = addChar(com, s->data[i]);
				TM_1E0z9biZTE3PahFHulMjtyw_200 = addInt(i, ((NI) 1));
				i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_200);
			}
			break;
			default:
			{
				NI j;
				j = i;
				{
					while (1) {
						NIM_BOOL T22_;
						NI TM_1E0z9biZTE3PahFHulMjtyw_201;
						T22_ = (NIM_BOOL)0;
						T22_ = (j <= hi);
						if (!(T22_)) goto LA23_;
						if ((NU)(j) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(j,(s ? s->Sup.len : 0)-1);
						T22_ = ((NU8)(32) < (NU8)(s->data[j]));
						LA23_: ;
						if (!T22_) goto LA21;
						TM_1E0z9biZTE3PahFHulMjtyw_201 = addInt(j, ((NI) 1));
						j = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_201);
					} LA21: ;
				}
				{
					NIM_BOOL T26_;
					NI TM_1E0z9biZTE3PahFHulMjtyw_202;
					NI TM_1E0z9biZTE3PahFHulMjtyw_203;
					T26_ = (NIM_BOOL)0;
					T26_ = !(isCode);
					if (!(T26_)) goto LA27_;
					TM_1E0z9biZTE3PahFHulMjtyw_202 = subInt(j, i);
					TM_1E0z9biZTE3PahFHulMjtyw_203 = addInt((*g).lineLen, (NI)(TM_1E0z9biZTE3PahFHulMjtyw_202));
					T26_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_203));
					LA27_: ;
					if (!T26_) goto LA28_;
					put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 110), com, NIM_NIL);
					optNL_xZ7srVmxLhrb9cB1fDthbCg(g, ind);
					com = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_196));
				}
				LA28_: ;
				{
					while (1) {
						NIM_BOOL T32_;
						NI TM_1E0z9biZTE3PahFHulMjtyw_204;
						T32_ = (NIM_BOOL)0;
						T32_ = (i <= hi);
						if (!(T32_)) goto LA33_;
						if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
						T32_ = ((NU8)(32) < (NU8)(s->data[i]));
						LA33_: ;
						if (!T32_) goto LA31;
						if ((NU)(i) >= (NU)(s ? s->Sup.len : 0)) raiseIndexError2(i,(s ? s->Sup.len : 0)-1);
						com = addChar(com, s->data[i]);
						TM_1E0z9biZTE3PahFHulMjtyw_204 = addInt(i, ((NI) 1));
						i = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_204);
					} LA31: ;
				}
			}
			break;
			}
		} LA8: ;
	} LA7: ;
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 110), com, NIM_NIL);
	optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gcom_5eccg0mxlFLgBiNmpRHFig_4)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!!(!((n == NIM_NIL)))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_185));
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = shouldRenderComment_rEVEzjU9aQwh327HhQWPHkQ(g, n);
		if (!T7_) goto LA8_;
		{
			NIM_BOOL T12_;
			NIM_BOOL T13_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_186;
			T12_ = (NIM_BOOL)0;
			T13_ = (NIM_BOOL)0;
			T13_ = ((*g).pendingNL < ((NI) 0));
			if (!(T13_)) goto LA14_;
			T13_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA14_: ;
			T12_ = T13_;
			if (!(T12_)) goto LA15_;
			TM_1E0z9biZTE3PahFHulMjtyw_186 = subInt(((*g).buf ? (*g).buf->Sup.len : 0), ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_186)) >= (NU)((*g).buf ? (*g).buf->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_186),((*g).buf ? (*g).buf->Sup.len : 0)-1);
			T12_ = !(((NU8)((*g).buf->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_186)]) == (NU8)(32)));
			LA15_: ;
			if (!T12_) goto LA16_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		}
		LA16_: ;
		{
			NIM_BOOL T20_;
			NIM_BOOL T21_;
			NI ml;
			T20_ = (NIM_BOOL)0;
			T21_ = (NIM_BOOL)0;
			T21_ = ((*g).pendingNL < ((NI) 0));
			if (!(T21_)) goto LA22_;
			T21_ = (((NI) 0) < ((*g).buf ? (*g).buf->Sup.len : 0));
			LA22_: ;
			T20_ = T21_;
			if (!(T20_)) goto LA23_;
			T20_ = ((*g).lineLen < ((NI) 30));
			LA23_: ;
			if (!T20_) goto LA24_;
			ml = maxLineLength_se43FQhaKAIoi42YSEoSXA((*n).comment);
			{
				NI TM_1E0z9biZTE3PahFHulMjtyw_193;
				NI TM_1E0z9biZTE3PahFHulMjtyw_194;
				NimStringDesc* T30_;
				TM_1E0z9biZTE3PahFHulMjtyw_193 = addInt(ml, ((NI) 30));
				if (!((NI)(TM_1E0z9biZTE3PahFHulMjtyw_193) <= ((NI) 80))) goto LA28_;
				TM_1E0z9biZTE3PahFHulMjtyw_194 = subInt(((NI) 30), (*g).lineLen);
				T30_ = (NimStringDesc*)0;
				T30_ = spaces_rssDy7zs9cDeoYTeCoIy0Wgstrutils(((NI)chckRange((NI)(TM_1E0z9biZTE3PahFHulMjtyw_194), ((NI) 0), ((NI) IL64(9223372036854775807)))));
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), T30_, NIM_NIL);
			}
			LA28_: ;
		}
		LA24_: ;
		putComment_9abZb6EyaCpuRuhI9aED11og(g, (*n).comment);
	}
	LA8_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, popAllComs_n8JbrzcZm8FmR9aCHItw47w_5)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	unsureAsgnRef((void**) (&(*g).comStack), (tySequence_ehmV9bTklH2Gt9cXHV9c0HLeQ*) setLengthSeqV2(&((*g).comStack)->Sup, (&NTI_ehmV9bTklH2Gt9cXHV9c0HLeQ_), ((NI) 0)));
}

N_LIB_PRIVATE N_NIMCALL(void, gcoms_n8JbrzcZm8FmR9aCHItw47w_4)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (((*g).comStack ? (*g).comStack->Sup.len : 0)-1);
		colontmp_ = T2_;
		res = ((NI) 0);
		{
			while (1) {
				NI TM_1E0z9biZTE3PahFHulMjtyw_205;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				if ((NU)(i) >= (NU)((*g).comStack ? (*g).comStack->Sup.len : 0)) raiseIndexError2(i,((*g).comStack ? (*g).comStack->Sup.len : 0)-1);
				gcom_5eccg0mxlFLgBiNmpRHFig_4(g, (*g).comStack->data[i]);
				TM_1E0z9biZTE3PahFHulMjtyw_205 = addInt(res, ((NI) 1));
				res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_205);
			} LA4: ;
		}
	}
	popAllComs_n8JbrzcZm8FmR9aCHItw47w_5(g);
}

N_LIB_PRIVATE N_NIMCALL(void, gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI ind, NI start, NI theEnd, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA separator) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_74;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_1E0z9biZTE3PahFHulMjtyw_74 = addInt(T2_, theEnd);
		colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_74);
		res = start;
		{
			while (1) {
				NIM_BOOL c;
				NI T5_;
				NI TM_1E0z9biZTE3PahFHulMjtyw_75;
				NI sublen;
				NI T6_;
				NI TM_1E0z9biZTE3PahFHulMjtyw_180;
				NI oldLen;
				NI T14_;
				NI TM_1E0z9biZTE3PahFHulMjtyw_206;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				T5_ = (NI)0;
				T5_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
				TM_1E0z9biZTE3PahFHulMjtyw_75 = addInt(T5_, theEnd);
				c = (i < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_75));
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				T6_ = (NI)0;
				T6_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[i]);
				TM_1E0z9biZTE3PahFHulMjtyw_180 = addInt(T6_, c);
				sublen = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_180);
				{
					NIM_BOOL T9_;
					NIM_BOOL T10_;
					NI TM_1E0z9biZTE3PahFHulMjtyw_182;
					T9_ = (NIM_BOOL)0;
					T10_ = (NIM_BOOL)0;
					T10_ = fits_m9a9aKZ6NucRjuLOHVJ66EWQ((&(*g)), sublen);
					T9_ = !(T10_);
					if (!(T9_)) goto LA11_;
					TM_1E0z9biZTE3PahFHulMjtyw_182 = addInt(ind, sublen);
					T9_ = ((NI)(TM_1E0z9biZTE3PahFHulMjtyw_182) < ((NI) 80));
					LA11_: ;
					if (!T9_) goto LA12_;
					optNL_xZ7srVmxLhrb9cB1fDthbCg(g, ind);
				}
				LA12_: ;
				T14_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
				oldLen = T14_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[i]);
				{
					if (!c) goto LA17_;
					{
						NI T21_;
						T21_ = ((*g).tokens ? (*g).tokens->Sup.len : 0);
						if (!(oldLen < T21_)) goto LA22_;
						putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, separator, TokTypeToStr_7y4sYGQdJmj2c4r0emPULw[(separator)- 0]);
					}
					LA22_: ;
					{
						NIM_BOOL T26_;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T26_ = (NIM_BOOL)0;
						T26_ = hasCom_pqWt3yB4tQGp7HUfzz4AXg_2((*n).sons->data[i]);
						if (!T26_) goto LA27_;
						gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
						optNL_xZ7srVmxLhrb9cB1fDthbCg(g, ind);
					}
					LA27_: ;
				}
				LA17_: ;
				TM_1E0z9biZTE3PahFHulMjtyw_206 = addInt(res, ((NI) 1));
				res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_206);
			} LA4: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, gcomma_cePKc9cEQau31w9auAvt0icA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_73;
		if (!(((NI) 40) < ind)) goto LA3_;
		TM_1E0z9biZTE3PahFHulMjtyw_73 = addInt((*g).indent, ((NI) 4));
		ind = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_73);
	}
	LA3_: ;
	gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, ind, start, theEnd, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
}

N_LIB_PRIVATE N_NIMCALL(void, accentedName_5eccg0mxlFLgBiNmpRHFig_5)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NIM_BOOL isOperator;
{	{
		if (!(n == NIM_NIL)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		NIM_BOOL T8_;
		T7_ = (NIM_BOOL)0;
		T8_ = (NIM_BOOL)0;
		T8_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
		if (!(T8_)) goto LA9_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
		T8_ = (((NI) 0) < ((*(*n).ident).s ? (*(*n).ident).s->Sup.len : 0));
		LA9_: ;
		T7_ = T8_;
		if (!(T7_)) goto LA10_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
		if ((NU)(((NI) 0)) >= (NU)((*(*n).ident).s ? (*(*n).ident).s->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*n).ident).s ? (*(*n).ident).s->Sup.len : 0)-1);
		T7_ = ((TM_1E0z9biZTE3PahFHulMjtyw_208[(NU)(((NU8)((*(*n).ident).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*n).ident).s->data[((NI) 0)])))&7U)))!=0);
		LA10_: ;
		if (!T7_) goto LA11_;
		isOperator = NIM_TRUE;
	}
	goto LA5_;
	LA11_: ;
	{
		NIM_BOOL T14_;
		NIM_BOOL T15_;
		T14_ = (NIM_BOOL)0;
		T15_ = (NIM_BOOL)0;
		T15_ = ((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3));
		if (!(T15_)) goto LA16_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		T15_ = (((NI) 0) < ((*(*(*n).sym).name).s ? (*(*(*n).sym).name).s->Sup.len : 0));
		LA16_: ;
		T14_ = T15_;
		if (!(T14_)) goto LA17_;
		if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		if ((NU)(((NI) 0)) >= (NU)((*(*(*n).sym).name).s ? (*(*(*n).sym).name).s->Sup.len : 0)) raiseIndexError2(((NI) 0),((*(*(*n).sym).name).s ? (*(*(*n).sym).name).s->Sup.len : 0)-1);
		T14_ = ((TM_1E0z9biZTE3PahFHulMjtyw_208[(NU)(((NU8)((*(*(*n).sym).name).s->data[((NI) 0)])))>>3] &(1U<<((NU)(((NU8)((*(*(*n).sym).name).s->data[((NI) 0)])))&7U)))!=0);
		LA17_: ;
		if (!T14_) goto LA18_;
		isOperator = NIM_TRUE;
	}
	goto LA5_;
	LA18_: ;
	{
		isOperator = NIM_FALSE;
	}
	LA5_: ;
	{
		if (!isOperator) goto LA23_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 111), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_209), NIM_NIL);
		gident_5eccg0mxlFLgBiNmpRHFig_3(g, n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 111), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_209), NIM_NIL);
	}
	goto LA21_;
	LA23_: ;
	{
		gsub_5eccg0mxlFLgBiNmpRHFig(g, n);
	}
	LA21_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gcomma_WBsq6aIWI0YbAY07tgvprg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	NI ind;
	ind = (NI)0;
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_233;
		if (!((c.Field1 &(1U<<((NU)(((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 1))&7U)))!=0)) goto LA3_;
		TM_1E0z9biZTE3PahFHulMjtyw_233 = addInt((*g).indent, ((NI) 2));
		ind = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_233);
	}
	goto LA1_;
	LA3_: ;
	{
		ind = (*g).lineLen;
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_234;
			if (!(((NI) 40) < ind)) goto LA8_;
			TM_1E0z9biZTE3PahFHulMjtyw_234 = addInt((*g).indent, ((NI) 4));
			ind = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_234);
		}
		LA8_: ;
	}
	LA1_: ;
	gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, ind, start, theEnd, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
}

N_LIB_PRIVATE N_NIMCALL(void, gsemicolon_cePKc9cEQau31w9auAvt0icA_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NI ind;
	ind = (*g).lineLen;
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_238;
		if (!(((NI) 40) < ind)) goto LA3_;
		TM_1E0z9biZTE3PahFHulMjtyw_238 = addInt((*g).indent, ((NI) 4));
		ind = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_238);
	}
	LA3_: ;
	gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, ind, start, theEnd, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 102));
}

N_LIB_PRIVATE N_NIMCALL(void, doParamsAux_KLxu6hJo9aBH9aQCSRS509cEQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* params) {
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_P89cqdlERShb9alU3iC0yj8wast(params);
		if (!(((NI) 1) < T3_)) goto LA4_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gsemicolon_cePKc9cEQau31w9auAvt0icA_2(g, params, ((NI) 1), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	LA4_: ;
	{
		NIM_BOOL T8_;
		NI T9_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NI)0;
		T9_ = len_P89cqdlERShb9alU3iC0yj8wast(params);
		T8_ = (((NI) 0) < T9_);
		if (!(T8_)) goto LA10_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*params).kind)>>3] &(1U<<((NU)((*params).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*params).sons ? (*params).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*params).sons ? (*params).sons->Sup.len : 0)-1);
		T8_ = !(((*(*params).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA10_: ;
		if (!T8_) goto LA11_;
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_239));
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*params).kind)>>3] &(1U<<((NU)((*params).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*params).sons ? (*params).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*params).sons ? (*params).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*params).sons->data[((NI) 0)]);
	}
	LA11_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*, skipHiddenNodes_xsZ0eV431D9bIk9c9c4n9ak9cCg)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* result;
	result = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
	result = n;
	{
		while (1) {
			if (!!((result == NIM_NIL))) goto LA2;
			{
				NIM_BOOL T5_;
				NI T7_;
				T5_ = (NIM_BOOL)0;
				T5_ = ((*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 58) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 59) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32));
				if (!(T5_)) goto LA6_;
				T7_ = (NI)0;
				T7_ = len_P89cqdlERShb9alU3iC0yj8wast(result);
				T5_ = (((NI) 1) < T7_);
				LA6_: ;
				if (!T5_) goto LA8_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 1)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*result).sons ? (*result).sons->Sup.len : 0)-1);
				result = (*result).sons->data[((NI) 1)];
			}
			goto LA3_;
			LA8_: ;
			{
				NIM_BOOL T11_;
				NI T13_;
				T11_ = (NIM_BOOL)0;
				T11_ = ((*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 71) || (*result).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 72));
				if (!(T11_)) goto LA12_;
				T13_ = (NI)0;
				T13_ = len_P89cqdlERShb9alU3iC0yj8wast(result);
				T11_ = (((NI) 0) < T13_);
				LA12_: ;
				if (!T11_) goto LA14_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*result).kind)>>3] &(1U<<((NU)((*result).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 0)) >= (NU)((*result).sons ? (*result).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*result).sons ? (*result).sons->Sup.len : 0)-1);
				result = (*result).sons->data[((NI) 0)];
			}
			goto LA3_;
			LA14_: ;
			{
				goto LA1;
			}
			LA3_: ;
		} LA2: ;
	} LA1: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, infixArgument_HNcJVTbsLN2PfMmnG6BxYw_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI i) {
	NIM_BOOL needsParenthesis;
	tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n_next;
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
		if (!(T3_ <= i)) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	needsParenthesis = NIM_FALSE;
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
	n_next = skipHiddenNodes_xsZ0eV431D9bIk9c9c4n9ak9cCg((*n).sons->data[i]);
	{
		if (!((*n_next).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA8_;
		{
			NIM_BOOL T12_;
			tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* nextId;
			tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* nnId;
			T12_ = (NIM_BOOL)0;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n_next).kind)>>3] &(1U<<((NU)((*n_next).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n_next).sons ? (*n_next).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n_next).sons ? (*n_next).sons->Sup.len : 0)-1);
			T12_ = ((*(*n_next).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n_next).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
			if (!(T12_)) goto LA13_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T12_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3) || (*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA13_: ;
			if (!T12_) goto LA14_;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n_next).kind)>>3] &(1U<<((NU)((*n_next).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 0)) >= (NU)((*n_next).sons ? (*n_next).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n_next).sons ? (*n_next).sons->Sup.len : 0)-1);
				if (!((*(*n_next).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA18_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n_next).kind)>>3] &(1U<<((NU)((*n_next).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 0)) >= (NU)((*n_next).sons ? (*n_next).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n_next).sons ? (*n_next).sons->Sup.len : 0)-1);
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n_next).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n_next).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
				nextId = (*(*(*n_next).sons->data[((NI) 0)]).sym).name;
			}
			goto LA16_;
			LA18_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n_next).kind)>>3] &(1U<<((NU)((*n_next).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 0)) >= (NU)((*n_next).sons ? (*n_next).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n_next).sons ? (*n_next).sons->Sup.len : 0)-1);
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*(*n_next).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n_next).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				nextId = (*(*n_next).sons->data[((NI) 0)]).ident;
			}
			LA16_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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 LA23_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
				nnId = (*(*(*n).sons->data[((NI) 0)]).sym).name;
			}
			goto LA21_;
			LA23_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				nnId = (*(*n).sons->data[((NI) 0)]).ident;
			}
			LA21_: ;
			{
				NI T28_;
				NI T29_;
				T28_ = (NI)0;
				T28_ = getPrecedence_xjNws35CZ6ofA0bs473Heg(nextId);
				T29_ = (NI)0;
				T29_ = getPrecedence_xjNws35CZ6ofA0bs473Heg(nnId);
				if (!(T28_ < T29_)) goto LA30_;
				needsParenthesis = NIM_TRUE;
			}
			LA30_: ;
		}
		LA14_: ;
	}
	LA8_: ;
	{
		if (!needsParenthesis) goto LA34_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
	}
	LA34_: ;
	gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, i);
	{
		if (!needsParenthesis) goto LA38_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	LA38_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isKeyword_N1ZnIJchVZRKfKk15xA7QQ)(tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* i) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 1) <= (*i).Sup.id);
		if (!(T3_)) goto LA4_;
		T3_ = ((*i).Sup.id <= ((NI) 66));
		LA4_: ;
		if (!T3_) goto LA5_;
		result = NIM_TRUE;
	}
	LA5_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gcond_5eccg0mxlFLgBiNmpRHFig_6)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA3_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
	}
	LA3_: ;
	gsub_5eccg0mxlFLgBiNmpRHFig(g, n);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126))) goto LA7_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	LA7_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gsons_WBsq6aIWI0YbAY07tgvprg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NI start, NI theEnd) {
	{
		NI i;
		NI colontmp_;
		NI T2_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_251;
		NI res;
		i = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		TM_1E0z9biZTE3PahFHulMjtyw_251 = addInt(T2_, theEnd);
		colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_251);
		res = start;
		{
			while (1) {
				NI TM_1E0z9biZTE3PahFHulMjtyw_252;
				if (!(res <= colontmp_)) goto LA4;
				i = res;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[i], c);
				TM_1E0z9biZTE3PahFHulMjtyw_252 = addInt(res, ((NI) 1));
				res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_252);
			} LA4: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, dedent_n8JbrzcZm8FmR9aCHItw47w_6)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	NI TM_1E0z9biZTE3PahFHulMjtyw_265;
	TM_1E0z9biZTE3PahFHulMjtyw_265 = subInt((*g).indent, ((NI) 2));
	(*g).indent = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_265);
	{
		if (!!((((NI) 0) <= (*g).indent))) goto LA3_;
		failedAssertImpl_W9cjVocn1tjhW7p7xohJj6A(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_266));
	}
	LA3_: ;
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_267;
		NI TM_1E0z9biZTE3PahFHulMjtyw_268;
		if (!(((NI) 2) < (*g).pendingNL)) goto LA7_;
		TM_1E0z9biZTE3PahFHulMjtyw_267 = subInt((*g).pendingNL, ((NI) 2));
		(*g).pendingNL = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_267);
		TM_1E0z9biZTE3PahFHulMjtyw_268 = subInt((*g).lineLen, ((NI) 2));
		(*g).lineLen = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_268);
	}
	LA7_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, putNL_xZ7srVmxLhrb9cB1fDthbCg_2)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, NI indent) {
	{
		if (!(((NI) 0) <= (*g).pendingNL)) goto LA3_;
		addPendingNL_n8JbrzcZm8FmR9aCHItw47w_3(g);
	}
	goto LA1_;
	LA3_: ;
	{
		addTok_xLPytIwyYkF9bx9a6ZUQ025A_2(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_11), NIM_NIL);
	}
	LA1_: ;
	(*g).pendingNL = indent;
	(*g).lineLen = indent;
	(*g).pendingWhitespace = ((NI) -1);
}

N_LIB_PRIVATE N_NIMCALL(void, putNL_n8JbrzcZm8FmR9aCHItw47w_7)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g) {
	putNL_xZ7srVmxLhrb9cB1fDthbCg_2(g, (*g).indent);
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, longMode_FJ4I049aFDsnEwVjsz5GKFQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NI start, NI theEnd) {
	NIM_BOOL result;
	result = (NIM_BOOL)0;
	result = (((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0));
	{
		if (!!(result)) goto LA3_;
		{
			NI i;
			NI colontmp_;
			NI T6_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_272;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			T6_ = (NI)0;
			T6_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			TM_1E0z9biZTE3PahFHulMjtyw_272 = addInt(T6_, theEnd);
			colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_272);
			res = start;
			{
				while (1) {
					NI TM_1E0z9biZTE3PahFHulMjtyw_273;
					if (!(res <= colontmp_)) goto LA8;
					i = res;
					{
						NI T11_;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						T11_ = (NI)0;
						T11_ = lsub_WT5OU2utip0e3bSZKpu9aHg(g, (*n).sons->data[i]);
						if (!(((NI) 80) < T11_)) goto LA12_;
						result = NIM_TRUE;
						goto LA5;
					}
					LA12_: ;
					TM_1E0z9biZTE3PahFHulMjtyw_273 = addInt(res, ((NI) 1));
					res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_273);
				} LA8: ;
			}
		} LA5: ;
	}
	LA3_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gif_5eccg0mxlFLgBiNmpRHFig_7)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI length;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	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);
	gcond_5eccg0mxlFLgBiNmpRHFig_6(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]);
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_274;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_274 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_274));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 0)]).sons ? (*(*n).sons->data[((NI) 0)]).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 1)], c, NIM_TRUE);
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
	{
		NI i;
		NI i_2;
		i = (NI)0;
		i_2 = ((NI) 1);
		{
			while (1) {
				NI TM_1E0z9biZTE3PahFHulMjtyw_275;
				if (!(i_2 < length)) goto LA10;
				i = i_2;
				optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[i], c);
				TM_1E0z9biZTE3PahFHulMjtyw_275 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_275);
			} LA10: ;
		}
	}
}

N_LIB_PRIVATE N_NIMCALL(void, gwhile_5eccg0mxlFLgBiNmpRHFig_8)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 66), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_277));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gcond_5eccg0mxlFLgBiNmpRHFig_6(g, (*n).sons->data[((NI) 0)]);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_278;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_278 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_278));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 1)], c, NIM_TRUE);
}

N_LIB_PRIVATE N_NIMCALL(void, gpragmaBlock_5eccg0mxlFLgBiNmpRHFig_9)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_279;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_279 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_279));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 1)], c, NIM_TRUE);
}

N_LIB_PRIVATE N_NIMCALL(void, gcase_5eccg0mxlFLgBiNmpRHFig_10)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI length;
	NI last;
{	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
	{
		if (!(length == ((NI) 0))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_280;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		TM_1E0z9biZTE3PahFHulMjtyw_280 = subInt(length, ((NI) 1));
		if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_280)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_280),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (!((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_280)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 88))) goto LA7_;
		last = ((NI) -2);
	}
	goto LA5_;
	LA7_: ;
	{
		last = ((NI) -1);
	}
	LA5_: ;
	{
		NIM_BOOL T12_;
		T12_ = (NIM_BOOL)0;
		T12_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), last);
		if (!T12_) goto LA13_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA13_: ;
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 10), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_281));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gcond_5eccg0mxlFLgBiNmpRHFig_6(g, (*n).sons->data[((NI) 0)]);
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g, n, c, ((NI) 1), last);
	{
		NI TM_1E0z9biZTE3PahFHulMjtyw_283;
		if (!(last == ((NI) -2))) goto LA17_;
		initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_282;
			NIM_BOOL T21_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_282 = subInt(length, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_282)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_282),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T21_ = (NIM_BOOL)0;
			T21_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_282)], ((NI) 0), ((NI) -1));
			if (!T21_) goto LA22_;
			c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
		}
		LA22_: ;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		TM_1E0z9biZTE3PahFHulMjtyw_283 = subInt(length, ((NI) 1));
		if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_283)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_283),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_283)], c);
	}
	LA17_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gtry_5eccg0mxlFLgBiNmpRHFig_11)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 60), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_284), NIM_NIL);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_285;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_285 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_285));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 0)], c, NIM_TRUE);
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g, n, c, ((NI) 1), ((NI) -1));
}

N_LIB_PRIVATE N_NIMCALL(void, gfor_5eccg0mxlFLgBiNmpRHFig_12)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	NI length;
	NI TM_1E0z9biZTE3PahFHulMjtyw_293;
	NI TM_1E0z9biZTE3PahFHulMjtyw_294;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	length = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 28), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_286));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_287;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_288;
		NI T6_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_289;
		NI TM_1E0z9biZTE3PahFHulMjtyw_290;
		NI TM_1E0z9biZTE3PahFHulMjtyw_291;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		TM_1E0z9biZTE3PahFHulMjtyw_287 = subInt(length, ((NI) 1));
		if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_287)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_287),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_287)]);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		TM_1E0z9biZTE3PahFHulMjtyw_288 = subInt(length, ((NI) 2));
		if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_288)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_288),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T6_ = (NI)0;
		T6_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_288)]);
		TM_1E0z9biZTE3PahFHulMjtyw_289 = addInt(T5_, T6_);
		TM_1E0z9biZTE3PahFHulMjtyw_290 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_289), ((NI) 6));
		TM_1E0z9biZTE3PahFHulMjtyw_291 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_290), (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_291));
		LA4_: ;
		if (!T3_) goto LA7_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA7_: ;
	gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -3));
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 33), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_292));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	TM_1E0z9biZTE3PahFHulMjtyw_293 = subInt(length, ((NI) 2));
	if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_293)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_293),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_293)], c);
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	TM_1E0z9biZTE3PahFHulMjtyw_294 = subInt(length, ((NI) 1));
	if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_294)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_294),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_294)], c, NIM_TRUE);
}

N_LIB_PRIVATE N_NIMCALL(void, gblock_5eccg0mxlFLgBiNmpRHFig_13)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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_;
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 8), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_295));
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
	}
	goto LA1_;
	LA3_: ;
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 8), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_295), NIM_NIL);
	}
	LA1_: ;
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	{
		NIM_BOOL T8_;
		NI T10_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_296;
		T8_ = (NIM_BOOL)0;
		T8_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T8_) goto LA9_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T10_ = (NI)0;
		T10_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 1)]);
		TM_1E0z9biZTE3PahFHulMjtyw_296 = addInt(T10_, (*g).lineLen);
		T8_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_296));
		LA9_: ;
		if (!T8_) goto LA11_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA11_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 1)], c, NIM_TRUE);
}

N_LIB_PRIVATE N_NIMCALL(void, gstaticStmt_5eccg0mxlFLgBiNmpRHFig_14)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 58), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_217));
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_297;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_297 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_297));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 0)], c, NIM_TRUE);
}

N_LIB_PRIVATE N_NIMCALL(void, gasm_5eccg0mxlFLgBiNmpRHFig_15)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 6), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_298));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	{
		NI T3_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		T3_ = ((*n).sons ? (*n).sons->Sup.len : 0);
		if (!(((NI) 1) < T3_)) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
	}
	LA4_: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderDefinitionName_l9ckhTtdY2uD8Mjq9cwreZDA)(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s, NIM_BOOL noQuotes) {
	NimStringDesc* result;
	NimStringDesc* x;
	result = (NimStringDesc*)0;
	x = (*(*s).name).s;
	{
		NIM_BOOL T3_;
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = noQuotes;
		if (T3_) goto LA4_;
		T5_ = (NIM_BOOL)0;
		if ((NU)(((NI) 0)) >= (NU)(x ? x->Sup.len : 0)) raiseIndexError2(((NI) 0),(x ? x->Sup.len : 0)-1);
		T5_ = (((NU8)(x->data[((NI) 0)])) >= ((NU8)(97)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(122)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(65)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(90)) || ((NU8)(x->data[((NI) 0)])) >= ((NU8)(128)) && ((NU8)(x->data[((NI) 0)])) <= ((NU8)(255)));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = isKeyword_N1ZnIJchVZRKfKk15xA7QQ((*s).name);
		T5_ = !(T7_);
		LA6_: ;
		T3_ = T5_;
		LA4_: ;
		if (!T3_) goto LA8_;
		result = copyString(x);
	}
	goto LA1_;
	LA8_: ;
	{
		NimStringDesc* T11_;
		T11_ = (NimStringDesc*)0;
		T11_ = rawNewString((x ? x->Sup.len : 0) + 2);
appendChar(T11_, 96);
appendString(T11_, x);
appendChar(T11_, 96);
		result = T11_;
	}
	LA1_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gpattern_5eccg0mxlFLgBiNmpRHFig_17)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_218), NIM_NIL);
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_299;
		T3_ = (NIM_BOOL)0;
		T3_ = longMode_FJ4I049aFDsnEwVjsz5GKFQ((&(*g)), n, ((NI) 0), ((NI) -1));
		if (T3_) goto LA4_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T5_ = (NI)0;
		T5_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 0)]);
		TM_1E0z9biZTE3PahFHulMjtyw_299 = addInt(T5_, (*g).lineLen);
		T3_ = (((NI) 80) < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_299));
		LA4_: ;
		if (!T3_) goto LA6_;
		c.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 0)) & 7);
	}
	LA6_: ;
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, n, c, NIM_TRUE);
	put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_219), NIM_NIL);
}

N_LIB_PRIVATE N_NIMCALL(void, gproc_5eccg0mxlFLgBiNmpRHFig_16)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	NIM_BOOL oldInGenericParams;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
		NimStringDesc* T5_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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 LA3_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
		s = (*(*n).sons->data[((NI) 0)]).sym;
		T5_ = (NimStringDesc*)0;
		T5_ = renderDefinitionName_l9ckhTtdY2uD8Mjq9cwreZDA(s, NIM_FALSE);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), T5_, NIM_NIL);
		{
			NimStringDesc* T10_;
			if (!(((*s).flags &((NU64)1<<((NU)(((tyEnum_TSymFlag_K9ay6LWMat9bUiT9bIbMxpDHw) 33))&63U)))!=0)) goto LA8_;
			T10_ = (NimStringDesc*)0;
			T10_ = nimIntToStr((*s).Sup.id);
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 69), T10_, NIM_NIL);
		}
		LA8_: ;
	}
	goto LA1_;
	LA3_: ;
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
	}
	LA1_: ;
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		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) 1)))) goto LA14_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gpattern_5eccg0mxlFLgBiNmpRHFig_17(g, (*n).sons->data[((NI) 1)]);
	}
	LA14_: ;
	oldInGenericParams = (*g).inGenericParams;
	(*g).inGenericParams = NIM_TRUE;
	{
		NIM_BOOL T18_;
		NIM_BOOL T19_;
		T18_ = (NIM_BOOL)0;
		T19_ = (NIM_BOOL)0;
		T19_ = (((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 1))&7U)))!=0);
		if (!(T19_)) goto LA20_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 5)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 5),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		T19_ = !(((*(*n).sons->data[((NI) 5)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA20_: ;
		T18_ = T19_;
		if (!(T18_)) goto LA21_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 5)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 5),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 5)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 5)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 5)]).sons ? (*(*n).sons->data[((NI) 5)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 5)]).sons ? (*(*n).sons->data[((NI) 5)]).sons->Sup.len : 0)-1);
		T18_ = !(((*(*(*n).sons->data[((NI) 5)]).sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
		LA21_: ;
		if (!T18_) goto LA22_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 5)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 5),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 5)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 5)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*(*n).sons->data[((NI) 5)]).sons ? (*(*n).sons->data[((NI) 5)]).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*(*n).sons->data[((NI) 5)]).sons ? (*(*n).sons->data[((NI) 5)]).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*(*n).sons->data[((NI) 5)]).sons->data[((NI) 1)]);
	}
	goto LA16_;
	LA22_: ;
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 2)]);
	}
	LA16_: ;
	(*g).inGenericParams = oldInGenericParams;
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 3)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 3),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 3)]);
	{
		if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 4))&7U)))!=0))) goto LA27_;
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 4)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 4),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 4)]);
	}
	LA27_: ;
	{
		if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 1))&7U)))!=0))) goto LA31_;
		{
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 6)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 6),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!!(((*(*n).sons->data[((NI) 6)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)))) goto LA35_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
			indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
			initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 6)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 6),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 6)], c, NIM_TRUE);
			putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
		}
		goto LA33_;
		LA35_: ;
		{
			indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		LA33_: ;
	}
	LA31_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gsection_Dm6FWKFeMufDKYra1XJxVg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA kind, NimStringDesc* k) {
{	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		if (!(T3_ == ((NI) 0))) goto LA4_;
		goto BeforeRet_;
	}
	LA4_: ;
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, kind, k);
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
	{
		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_1E0z9biZTE3PahFHulMjtyw_305;
				if (!(i_2 < colontmp_)) goto LA8;
				i = i_2;
				optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[i], c);
				gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
				TM_1E0z9biZTE3PahFHulMjtyw_305 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_305);
			} LA8: ;
		}
	}
	dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasExplicitParams_ty2FKaFbIrBgsB8VaZ9cZ3g)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* gp) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* p;
		p = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		{
			NI i;
			NI colontmp_;
			NI i_2;
			i = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(gp);
			i_2 = ((NI) 0);
			{
				while (1) {
					NI TM_1E0z9biZTE3PahFHulMjtyw_331;
					if (!(i_2 < colontmp_)) goto LA4;
					i = i_2;
					if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*gp).kind)>>3] &(1U<<((NU)((*gp).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
					if ((NU)(i) >= (NU)((*gp).sons ? (*gp).sons->Sup.len : 0)) raiseIndexError2(i,((*gp).sons ? (*gp).sons->Sup.len : 0)-1);
					p = (*gp).sons->data[i];
					{
						NIM_BOOL T7_;
						T7_ = (NIM_BOOL)0;
						T7_ = ((*p).typ == NIM_NIL);
						if (T7_) goto LA8_;
						T7_ = !((((*(*p).typ).flags &((NU64)1<<((NU)(((tyEnum_TTypeFlag_x2m5g1NpbmDig4wLT3Ylhw) 25))&63U)))!=0));
						LA8_: ;
						if (!T7_) goto LA9_;
						result = NIM_TRUE;
						goto BeforeRet_;
					}
					LA9_: ;
					TM_1E0z9biZTE3PahFHulMjtyw_331 = addInt(i_2, ((NI) 1));
					i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_331);
				} LA4: ;
			}
		}
	}
	result = NIM_FALSE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, gTypeClassTy_5eccg0mxlFLgBiNmpRHFig_18)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 12), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_337));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsons_WBsq6aIWI0YbAY07tgvprg_2(g, (*n).sons->data[((NI) 0)], c, ((NI) 0), ((NI) -1));
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 2)]);
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
	if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
	if ((NU)(((NI) 3)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 3),((*n).sons ? (*n).sons->Sup.len : 0)-1);
	gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 3)], c, NIM_TRUE);
	dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
}

N_LIB_PRIVATE N_NIMCALL(void, gsub_NmOOKTnnEkQl0J72fGke1g)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw a;
{	{
		if (!(n == 0)) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&a), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	{
		if (!(((NI) 0) < ((*n).comment ? (*n).comment->Sup.len : 0))) goto LA7_;
		pushCom_5eccg0mxlFLgBiNmpRHFig_2(g, n);
	}
	LA7_: ;
	switch ((*n).kind) {
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 22):
	{
		NimStringDesc* T10_;
		T10_ = (NimStringDesc*)0;
		T10_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 85), T10_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1):
	{
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 4):
	{
		NimStringDesc* T13_;
		T13_ = (NimStringDesc*)0;
		T13_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 0), T13_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2):
	{
		gident_5eccg0mxlFLgBiNmpRHFig_3(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 6):
	{
		NimStringDesc* T16_;
		T16_ = (NimStringDesc*)0;
		T16_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 69), T16_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 7):
	{
		NimStringDesc* T18_;
		T18_ = (NimStringDesc*)0;
		T18_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 70), T18_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 8):
	{
		NimStringDesc* T20_;
		T20_ = (NimStringDesc*)0;
		T20_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 71), T20_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 9):
	{
		NimStringDesc* T22_;
		T22_ = (NimStringDesc*)0;
		T22_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 72), T22_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 10):
	{
		NimStringDesc* T24_;
		T24_ = (NimStringDesc*)0;
		T24_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 73), T24_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 11):
	{
		NimStringDesc* T26_;
		T26_ = (NimStringDesc*)0;
		T26_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 74), T26_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 12):
	{
		NimStringDesc* T28_;
		T28_ = (NimStringDesc*)0;
		T28_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 75), T28_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 13):
	{
		NimStringDesc* T30_;
		T30_ = (NimStringDesc*)0;
		T30_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 76), T30_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 14):
	{
		NimStringDesc* T32_;
		T32_ = (NimStringDesc*)0;
		T32_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 77), T32_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 15):
	{
		NimStringDesc* T34_;
		T34_ = (NimStringDesc*)0;
		T34_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 78), T34_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 16):
	{
		NimStringDesc* T36_;
		T36_ = (NimStringDesc*)0;
		T36_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 79), T36_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 17):
	{
		NimStringDesc* T38_;
		T38_ = (NimStringDesc*)0;
		T38_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 80), T38_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 18):
	{
		NimStringDesc* T40_;
		T40_ = (NimStringDesc*)0;
		T40_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 81), T40_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 19):
	{
		NimStringDesc* T42_;
		T42_ = (NimStringDesc*)0;
		T42_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 82), T42_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 20):
	{
		NimStringDesc* T44_;
		T44_ = (NimStringDesc*)0;
		T44_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 83), T44_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 21):
	{
		NimStringDesc* T46_;
		T46_ = (NimStringDesc*)0;
		T46_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 84), T46_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 5):
	{
		NimStringDesc* T48_;
		T48_ = (NimStringDesc*)0;
		T48_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 88), T48_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 23):
	{
		NimStringDesc* T50_;
		T50_ = (NimStringDesc*)0;
		T50_ = atom_9cnUQzmaM0ehJLjixbNyrSQ((&(*g)), n);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 44), T50_, NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 27):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 60):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 25):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 153):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 38):
	{
		{
			NIM_BOOL T54_;
			NIM_BOOL T55_;
			NI T57_;
			T54_ = (NIM_BOOL)0;
			T55_ = (NIM_BOOL)0;
			T55_ = !((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 5))&7U)))!=0));
			if (!(T55_)) goto LA56_;
			T57_ = (NI)0;
			T57_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T55_ = (((NI) 0) < T57_);
			LA56_: ;
			T54_ = T55_;
			if (!(T54_)) goto LA58_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T54_ = isBracket_pqWt3yB4tQGp7HUfzz4AXg((*n).sons->data[((NI) 0)]);
			LA58_: ;
			if (!T54_) goto LA59_;
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
			gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 2), ((NI) -1));
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
		}
		goto LA52_;
		LA59_: ;
		{
			NIM_BOOL T62_;
			NI T63_;
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T65_;
			NI T73_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_213;
			T62_ = (NIM_BOOL)0;
			T63_ = (NI)0;
			T63_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T62_ = (((NI) 1) < T63_);
			if (!(T62_)) goto LA64_;
			T65_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
			T65_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
			T62_ = ((*T65_).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115));
			LA64_: ;
			if (!T62_) goto LA66_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			accentedName_5eccg0mxlFLgBiNmpRHFig_5(g, (*n).sons->data[((NI) 0)]);
			{
				NI T70_;
				T70_ = (NI)0;
				T70_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
				if (!(((NI) 2) < T70_)) goto LA71_;
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
				gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -2));
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
			}
			LA71_: ;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212), NIM_NIL);
			T73_ = (NI)0;
			T73_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			TM_1E0z9biZTE3PahFHulMjtyw_213 = subInt(T73_, ((NI) 1));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, (NI)(TM_1E0z9biZTE3PahFHulMjtyw_213));
		}
		goto LA52_;
		LA66_: ;
		{
			{
				NI T77_;
				T77_ = (NI)0;
				T77_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
				if (!(((NI) 1) <= T77_)) goto LA78_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				accentedName_5eccg0mxlFLgBiNmpRHFig_5(g, (*n).sons->data[((NI) 0)]);
			}
			LA78_: ;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
			gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
		}
		LA52_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 28):
	{
		{
			NI T83_;
			T83_ = (NI)0;
			T83_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T83_)) goto LA84_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			accentedName_5eccg0mxlFLgBiNmpRHFig_5(g, (*n).sons->data[((NI) 0)]);
		}
		LA84_: ;
		{
			NIM_BOOL T88_;
			NI T89_;
			NimStringDesc* T93_;
			NimStringDesc* T94_;
			T88_ = (NIM_BOOL)0;
			T89_ = (NI)0;
			T89_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T88_ = (((NI) 1) < T89_);
			if (!(T88_)) goto LA90_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T88_ = ((*(*n).sons->data[((NI) 1)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 21));
			LA90_: ;
			if (!T88_) goto LA91_;
			T93_ = (NimStringDesc*)0;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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_1E0z9biZTE3PahFHulMjtyw_17[(NU)((*(*n).sons->data[((NI) 1)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 1)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_18));
			T94_ = (NimStringDesc*)0;
			T94_ = nsuReplaceStr((*(*n).sons->data[((NI) 1)]).strVal, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_20), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_21));
			T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 2);
appendChar(T93_, 34);
appendString(T93_, T94_);
appendChar(T93_, 34);
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 84), T93_, NIM_NIL);
		}
		goto LA86_;
		LA91_: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		LA86_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 58):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 59):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 32):
	{
		{
			NI T99_;
			T99_ = (NI)0;
			T99_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 2) <= T99_)) goto LA100_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
		}
		goto LA97_;
		LA100_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_214), NIM_NIL);
		}
		LA97_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 61):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 11), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_215), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 63):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 3), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_216), NIM_NIL);
		{
			NI T107_;
			T107_ = (NI)0;
			T107_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T107_)) goto LA108_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
		}
		LA108_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 62):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 58), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_217), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 42):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 40):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_218), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_219), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 43):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 26):
	{
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		accentedName_5eccg0mxlFLgBiNmpRHFig_5(g, (*n).sons->data[((NI) 0)]);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		{
			NI T117_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_220;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			T117_ = (NI)0;
			T117_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			TM_1E0z9biZTE3PahFHulMjtyw_220 = subInt(T117_, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_220)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_220),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			if (!((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_220)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115))) goto LA118_;
			{
				NI i;
				tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* child;
				i = (NI)0;
				child = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
				{
					NI i_2;
					NI colontmp_;
					NI i_3;
					i_2 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen_P89cqdlERShb9alU3iC0yj8w_2ast(n);
					i_3 = ((NI) 0);
					{
						while (1) {
							NI TM_1E0z9biZTE3PahFHulMjtyw_224;
							if (!(i_3 < colontmp_)) goto LA123;
							i_2 = i_3;
							i = i_2;
							if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
							if ((NU)(i_2) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_2,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							child = (*n).sons->data[i_2];
							{
								NIM_BOOL T126_;
								NI T128_;
								NI TM_1E0z9biZTE3PahFHulMjtyw_221;
								T126_ = (NIM_BOOL)0;
								T126_ = (((NI) 1) < i);
								if (!(T126_)) goto LA127_;
								T128_ = (NI)0;
								T128_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
								TM_1E0z9biZTE3PahFHulMjtyw_221 = subInt(T128_, ((NI) 1));
								T126_ = (i < (NI)(TM_1E0z9biZTE3PahFHulMjtyw_221));
								LA127_: ;
								if (!T126_) goto LA129_;
								put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_222), NIM_NIL);
							}
							goto LA124_;
							LA129_: ;
							{
								NI T132_;
								NI TM_1E0z9biZTE3PahFHulMjtyw_223;
								T132_ = (NI)0;
								T132_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
								TM_1E0z9biZTE3PahFHulMjtyw_223 = subInt(T132_, ((NI) 1));
								if (!(i == (NI)(TM_1E0z9biZTE3PahFHulMjtyw_223))) goto LA133_;
								put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212), NIM_NIL);
							}
							goto LA124_;
							LA133_: ;
							LA124_: ;
							{
								if (!(((NI) 0) < i)) goto LA137_;
								gsub_5eccg0mxlFLgBiNmpRHFig(g, child);
							}
							LA137_: ;
							TM_1E0z9biZTE3PahFHulMjtyw_224 = addInt(i_3, ((NI) 1));
							i_3 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_224);
						} LA123: ;
					}
				}
			}
		}
		goto LA115_;
		LA118_: ;
		{
			gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		}
		LA115_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 33):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 73):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 74):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 68):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_226), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 69):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_227), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 70):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_228), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 66):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 67):
	{
		{
			NI T147_;
			T147_ = (NI)0;
			T147_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 1) <= T147_)) goto LA148_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA148_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 1), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 56):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 57):
	{
		{
			NimStringDesc* T171_;
			if (!(((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 5))&7U)))!=0)) goto LA153_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
			{
				NI i_4;
				NI colontmp__2;
				NI i_5;
				i_4 = (NI)0;
				colontmp__2 = (NI)0;
				colontmp__2 = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
				i_5 = ((NI) 0);
				{
					while (1) {
						NI TM_1E0z9biZTE3PahFHulMjtyw_231;
						if (!(i_5 < colontmp__2)) goto LA157;
						i_4 = i_5;
						{
							if (!(((NI) 0) < i_4)) goto LA160_;
							put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_229), NIM_NIL);
						}
						LA160_: ;
						{
							tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* s;
							if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
							if ((NU)(i_4) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_4,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							if (!((*(*n).sons->data[i_4]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 3))) goto LA164_;
							if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
							if ((NU)(i_4) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_4,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[i_4]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i_4]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
							s = (*(*n).sons->data[i_4]).sym;
							{
								if (!!(((*s).owner == NIM_NIL))) goto LA168_;
								if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
								if ((NU)(i_4) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_4,((*n).sons ? (*n).sons->Sup.len : 0)-1);
								if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[i_4]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i_4]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
								put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), (*(*(*(*(*n).sons->data[i_4]).sym).owner).name).s, NIM_NIL);
								put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_230), NIM_NIL);
							}
							LA168_: ;
							if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
							if ((NU)(i_4) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_4,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[i_4]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[i_4]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
							put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), (*(*(*(*n).sons->data[i_4]).sym).name).s, NIM_NIL);
						}
						goto LA162_;
						LA164_: ;
						{
							if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
							if ((NU)(i_4) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_4,((*n).sons ? (*n).sons->Sup.len : 0)-1);
							gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[i_4], c);
						}
						LA162_: ;
						TM_1E0z9biZTE3PahFHulMjtyw_231 = addInt(i_5, ((NI) 1));
						i_5 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_231);
					} LA157: ;
				}
			}
			T171_ = (NimStringDesc*)0;
			{
				if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 57))) goto LA174_;
				T171_ = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_232));
			}
			goto LA172_;
			LA174_: ;
			{
				T171_ = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211));
			}
			LA172_: ;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), T171_, NIM_NIL);
		}
		goto LA151_;
		LA153_: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA151_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 37):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 155):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 160):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		{
			NI T182_;
			T182_ = (NI)0;
			T182_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(T182_ == ((NI) 1))) goto LA183_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_222), NIM_NIL);
		}
		LA183_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 39):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_218), NIM_NIL);
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_219), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 152):
	{
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 54):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 93), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_218), NIM_NIL);
		{
			NI T190_;
			T190_ = (NI)0;
			T190_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T190_)) goto LA191_;
			gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		}
		goto LA188_;
		LA191_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212), NIM_NIL);
		}
		LA188_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 94), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_219), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 41):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 45):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 106), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_230), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 55):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 7), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_235));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 46):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 64):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 65):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 71):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 72):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 51):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 51), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_236));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 3));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 4));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 52):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 20), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_237));
		{
			NI T202_;
			T202_ = (NI)0;
			T202_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 3) < T202_)) goto LA203_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 3)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 3),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			doParamsAux_KLxu6hJo9aBH9aQCSRS509cEQ(g, (*n).sons->data[((NI) 3)]);
		}
		LA203_: ;
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 4));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 6));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 102):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 35):
	{
		NI L;
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -3));
		L = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		{
			NIM_BOOL T208_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_240;
			NI TM_1E0z9biZTE3PahFHulMjtyw_241;
			T208_ = (NIM_BOOL)0;
			T208_ = (((NI) 2) <= L);
			if (!(T208_)) goto LA209_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_240 = subInt(L, ((NI) 2));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_240)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_240),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T208_ = !(((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_240)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA209_: ;
			if (!T208_) goto LA210_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
			TM_1E0z9biZTE3PahFHulMjtyw_241 = subInt(L, ((NI) 2));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, (NI)(TM_1E0z9biZTE3PahFHulMjtyw_241));
		}
		LA210_: ;
		{
			NIM_BOOL T214_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_242;
			NI TM_1E0z9biZTE3PahFHulMjtyw_243;
			T214_ = (NIM_BOOL)0;
			T214_ = (((NI) 1) <= L);
			if (!(T214_)) goto LA215_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_242 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_242)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_242),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T214_ = !(((*(*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_242)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA215_: ;
			if (!T214_) goto LA216_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			TM_1E0z9biZTE3PahFHulMjtyw_243 = subInt(L, ((NI) 1));
			if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_243)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_243),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_243)], c);
		}
		LA216_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 36):
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T219_;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -3));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
		T219_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T219_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		gsub_NmOOKTnnEkQl0J72fGke1g(g, T219_, c);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 34):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29):
	{
		infixArgument_HNcJVTbsLN2PfMmnG6BxYw_2(g, n, ((NI) 1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		{
			NIM_BOOL T224_;
			NI T225_;
			NI T227_;
			NI T228_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_244;
			NI TM_1E0z9biZTE3PahFHulMjtyw_245;
			NIM_BOOL T229_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_246;
			T224_ = (NIM_BOOL)0;
			T225_ = (NI)0;
			T225_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T224_ = (T225_ == ((NI) 3));
			if (!(T224_)) goto LA226_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T227_ = (NI)0;
			T227_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 2)]);
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T228_ = (NI)0;
			T228_ = lsub_WT5OU2utip0e3bSZKpu9aHg((&(*g)), (*n).sons->data[((NI) 0)]);
			TM_1E0z9biZTE3PahFHulMjtyw_244 = addInt(T227_, T228_);
			TM_1E0z9biZTE3PahFHulMjtyw_245 = addInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_244), ((NI) 1));
			T229_ = (NIM_BOOL)0;
			T229_ = fits_m9a9aKZ6NucRjuLOHVJ66EWQ((&(*g)), (NI)(TM_1E0z9biZTE3PahFHulMjtyw_245));
			T224_ = !(T229_);
			LA226_: ;
			if (!T224_) goto LA230_;
			TM_1E0z9biZTE3PahFHulMjtyw_246 = addInt((*g).indent, ((NI) 4));
			optNL_xZ7srVmxLhrb9cB1fDthbCg(g, (NI)(TM_1E0z9biZTE3PahFHulMjtyw_246));
		}
		goto LA222_;
		LA230_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		}
		LA222_: ;
		infixArgument_HNcJVTbsLN2PfMmnG6BxYw_2(g, n, ((NI) 2));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30):
	{
		{
			NIM_BOOL T236_;
			NIM_BOOL T237_;
			NI T238_;
			T236_ = (NIM_BOOL)0;
			T237_ = (NIM_BOOL)0;
			T238_ = (NI)0;
			T238_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T237_ = (((NI) 0) < T238_);
			if (!(T237_)) goto LA239_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T237_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 2));
			LA239_: ;
			T236_ = T237_;
			if (!(T236_)) goto LA240_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
			T236_ = eqStrings((*(*(*n).sons->data[((NI) 0)]).ident).s, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_247));
			LA240_: ;
			if (!T236_) goto LA241_;
		}
		goto LA234_;
		LA241_: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA234_: ;
		{
			NI T246_;
			tyObject_TIdent_GufRQq9c0miSybX3zBD4tyA* opr;
			tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n_next;
			T246_ = (NI)0;
			T246_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 1) < T246_)) goto LA247_;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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) 2))) goto LA251_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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_1E0z9biZTE3PahFHulMjtyw_13[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_14));
				opr = (*(*n).sons->data[((NI) 0)]).ident;
			}
			goto LA249_;
			LA251_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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 LA254_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
				opr = (*(*(*n).sons->data[((NI) 0)]).sym).name;
			}
			goto LA249_;
			LA254_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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) 57) || (*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 56))) goto LA257_;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				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);
				if (!(((TM_1E0z9biZTE3PahFHulMjtyw_15[(NU)((*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]).kind)&7U)))!=0))) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_16));
				opr = (*(*(*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]).sym).name;
			}
			goto LA249_;
			LA257_: ;
			{
				opr = NIM_NIL;
			}
			LA249_: ;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			n_next = skipHiddenNodes_xsZ0eV431D9bIk9c9c4n9ak9cCg((*n).sons->data[((NI) 1)]);
			{
				NIM_BOOL T262_;
				NIM_BOOL T264_;
				T262_ = (NIM_BOOL)0;
				T262_ = ((*n_next).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 30));
				if (T262_) goto LA263_;
				T264_ = (NIM_BOOL)0;
				T264_ = !((opr == NIM_NIL));
				if (!(T264_)) goto LA265_;
				T264_ = isKeyword_N1ZnIJchVZRKfKk15xA7QQ(opr);
				LA265_: ;
				T262_ = T264_;
				LA263_: ;
				if (!T262_) goto LA266_;
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
			}
			LA266_: ;
			{
				if (!((*n_next).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 29))) goto LA270_;
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
				put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
			}
			goto LA268_;
			LA270_: ;
			{
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
			}
			LA268_: ;
		}
		LA247_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 31):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 44):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 107), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_248), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 47):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 109), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_68), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 53):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 111), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_209), NIM_NIL);
		{
			NI T279_;
			T279_ = (NI)0;
			T279_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T279_)) goto LA280_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA280_: ;
		{
			NI i_6;
			NI colontmp__3;
			NI i_7;
			i_6 = (NI)0;
			colontmp__3 = (NI)0;
			colontmp__3 = len_P89cqdlERShb9alU3iC0yj8wast(n);
			i_7 = ((NI) 1);
			{
				while (1) {
					NI TM_1E0z9biZTE3PahFHulMjtyw_249;
					if (!(i_7 < colontmp__3)) goto LA284;
					i_6 = i_7;
					put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
					if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
					if ((NU)(i_6) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_6,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[i_6]);
					TM_1E0z9biZTE3PahFHulMjtyw_249 = addInt(i_7, ((NI) 1));
					i_7 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_249);
				} LA284: ;
			}
		}
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 111), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_209), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 48):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 31), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_250));
		{
			NI T288_;
			T288_ = (NI)0;
			T288_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T288_)) goto LA289_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*(*n).sons->data[((NI) 0)]).kind)>>3] &(1U<<((NU)((*(*n).sons->data[((NI) 0)]).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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);
			gcond_5eccg0mxlFLgBiNmpRHFig_6(g, (*(*n).sons->data[((NI) 0)]).sons->data[((NI) 0)]);
		}
		LA289_: ;
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		{
			NI T293_;
			T293_ = (NI)0;
			T293_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T293_)) goto LA294_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, (*n).sons->data[((NI) 0)], ((NI) 1));
		}
		LA294_: ;
		gsons_WBsq6aIWI0YbAY07tgvprg_2(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, ((NI) 1), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 49):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 21), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_254));
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gcond_5eccg0mxlFLgBiNmpRHFig_6(g, (*n).sons->data[((NI) 0)]);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 50):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 22), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_255), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 132):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 62), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_256), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		{
			NI T301_;
			T301_ = (NI)0;
			T301_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T301_)) goto LA302_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA302_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 141):
	{
		{
			NI T307_;
			T307_ = (NI)0;
			T307_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T307_)) goto LA308_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 54), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_257));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		goto LA305_;
		LA308_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 54), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_257), NIM_NIL);
		}
		LA305_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 142):
	{
		{
			NI T314_;
			T314_ = (NI)0;
			T314_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T314_)) goto LA315_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 52), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_258));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		goto LA312_;
		LA315_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 52), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_258), NIM_NIL);
		}
		LA312_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 143):
	{
		{
			NI T321_;
			T321_ = (NI)0;
			T321_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T321_)) goto LA322_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 64), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_259));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		goto LA319_;
		LA322_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 64), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_259), NIM_NIL);
		}
		LA319_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 146):
	{
		{
			NI T328_;
			T328_ = (NI)0;
			T328_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T328_)) goto LA329_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 18), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_260));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
			{
				NI T333_;
				T333_ = (NI)0;
				T333_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
				if (!(((NI) 1) < T333_)) goto LA334_;
				{
					if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
					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) 130))) goto LA338_;
					putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_261));
				}
				goto LA336_;
				LA338_: ;
				{
					putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_262));
				}
				LA336_: ;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gcomma_cePKc9cEQau31w9auAvt0icA(g, (*n).sons->data[((NI) 1)], ((NI) 0), ((NI) -1));
			}
			LA334_: ;
		}
		goto LA326_;
		LA329_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 18), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_260), NIM_NIL);
		}
		LA326_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 103):
	{
		{
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			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) 43))) goto LA345_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, (*n).sons->data[((NI) 0)], ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, (*n).sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA343_;
		LA345_: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		LA343_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		{
			NIM_BOOL T350_;
			NI T351_;
			T350_ = (NIM_BOOL)0;
			T351_ = (NI)0;
			T351_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T350_ = (((NI) 2) < T351_);
			if (!(T350_)) goto LA352_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T350_ = !(((*(*n).sons->data[((NI) 2)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA352_: ;
			if (!T350_) goto LA353_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 2)]);
		}
		LA353_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 133):
	{
		{
			NI T358_;
			T358_ = (NI)0;
			T358_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T358_)) goto LA359_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 47), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_263));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 1)]);
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 2)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 2),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 2)]);
		}
		goto LA356_;
		LA359_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 47), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_263), NIM_NIL);
		}
		LA356_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 138):
	{
		indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		{
			NI i_8;
			NI colontmp__4;
			NI i_9;
			i_8 = (NI)0;
			colontmp__4 = (NI)0;
			colontmp__4 = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			i_9 = ((NI) 0);
			{
				while (1) {
					NI TM_1E0z9biZTE3PahFHulMjtyw_264;
					if (!(i_9 < colontmp__4)) goto LA365;
					i_8 = i_9;
					optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
					if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
					if ((NU)(i_8) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_8,((*n).sons ? (*n).sons->Sup.len : 0)-1);
					gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[i_8], c);
					gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
					TM_1E0z9biZTE3PahFHulMjtyw_264 = addInt(i_9, ((NI) 1));
					i_9 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_264);
				} LA365: ;
			}
		}
		dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 77):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 48), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_269));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 147):
	{
		{
			NI T370_;
			T370_ = (NI)0;
			T370_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T370_)) goto LA371_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 51), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_236));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		goto LA368_;
		LA371_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 51), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_236), NIM_NIL);
		}
		LA368_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 148):
	{
		{
			NI T377_;
			T377_ = (NI)0;
			T377_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T377_)) goto LA378_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 38), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_270));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
		}
		goto LA375_;
		LA378_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 38), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_270), NIM_NIL);
		}
		LA375_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 137):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 58), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_217), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
		{
			NI T384_;
			T384_ = (NI)0;
			T384_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!(((NI) 0) < T384_)) goto LA385_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA385_: ;
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 150):
	{
		{
			NI T390_;
			T390_ = (NI)0;
			T390_ = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
			if (!(((NI) 0) < T390_)) goto LA391_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 24), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_271));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
			gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		goto LA388_;
		LA391_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 24), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_271), NIM_NIL);
		}
		LA388_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 151):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 105), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_225));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 128):
	{
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 92):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 31), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_250));
		gif_5eccg0mxlFLgBiNmpRHFig_7(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 93):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 140):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 65), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_276));
		gif_5eccg0mxlFLgBiNmpRHFig_7(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 96):
	{
		gwhile_5eccg0mxlFLgBiNmpRHFig_8(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 91):
	{
		gpragmaBlock_5eccg0mxlFLgBiNmpRHFig_9(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 97):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 139):
	{
		gcase_5eccg0mxlFLgBiNmpRHFig_10(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 106):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 154):
	{
		gtry_5eccg0mxlFLgBiNmpRHFig_11(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 94):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 95):
	{
		gfor_5eccg0mxlFLgBiNmpRHFig_12(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 112):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 127):
	{
		gblock_5eccg0mxlFLgBiNmpRHFig_13(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 113):
	{
		gstaticStmt_5eccg0mxlFLgBiNmpRHFig_14(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 89):
	{
		gasm_5eccg0mxlFLgBiNmpRHFig_15(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 79):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA409_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 51), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_236));
		}
		LA409_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 159):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA414_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 30), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_300));
		}
		LA414_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 81):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA419_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 15), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_301));
		}
		LA419_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 80):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA424_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 41), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_302));
		}
		LA424_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 84):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA429_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 38), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_270));
		}
		LA429_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 82):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA434_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 40), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_303));
		}
		LA434_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 83):
	{
		{
			if (!!((((*g).flags &(1U<<((NU)(((tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw) 6))&7U)))!=0))) goto LA439_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 59), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_304));
		}
		LA439_: ;
		gproc_5eccg0mxlFLgBiNmpRHFig_16(g, n);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 98):
	{
		gsection_Dm6FWKFeMufDKYra1XJxVg(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 62), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_256));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 101):
	{
		initContext_ATR9atx4JGXXaRJqSs0YyPQ((&a));
		a.Field1 |= ((NU8)1)<<((((tyEnum_TSubFlag_HgctW1zPuXVJBXUriqTnfQ) 1)) & 7);
		gsection_Dm6FWKFeMufDKYra1XJxVg(g, n, a, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 13), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_306));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 124):
	{
		NI L_2;
		L_2 = sonsLen_zOB1gNtXypybIzLxxB9cyWQ(n);
		{
			if (!(L_2 == ((NI) 0))) goto LA446_;
			goto BeforeRet_;
		}
		LA446_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99))) goto LA450_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 64), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_259));
		}
		goto LA448_;
		LA450_: ;
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100))) goto LA453_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 39), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_307));
		}
		goto LA448_;
		LA453_: ;
		{
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 63), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_308));
		}
		LA448_: ;
		{
			if (!(((NI) 1) < L_2)) goto LA458_;
			gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
			indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
			{
				NI i_10;
				NI i_11;
				i_10 = (NI)0;
				i_11 = ((NI) 0);
				{
					while (1) {
						NI TM_1E0z9biZTE3PahFHulMjtyw_309;
						if (!(i_11 < L_2)) goto LA462;
						i_10 = i_11;
						optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i_10) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i_10,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[i_10]);
						gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
						TM_1E0z9biZTE3PahFHulMjtyw_309 = addInt(i_11, ((NI) 1));
						i_11 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_309);
					} LA462: ;
				}
			}
			dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		goto LA456_;
		LA458_: ;
		{
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA456_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 109):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 55), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_310));
		{
			NIM_BOOL T467_;
			NI T468_;
			T467_ = (NIM_BOOL)0;
			T468_ = (NI)0;
			T468_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T467_ = (((NI) 0) < T468_);
			if (!(T467_)) goto LA469_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T467_ = ((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 73));
			LA469_: ;
			if (!T467_) goto LA470_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, (*n).sons->data[((NI) 0)], ((NI) 1));
		}
		goto LA465_;
		LA470_: ;
		{
			gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		}
		LA465_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 108):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 53), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_311));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 104):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 68), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_312));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 114):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 17), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_313));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 110):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 9), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_314));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 111):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 14), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_315));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 90):
	{
		{
			NI TM_1E0z9biZTE3PahFHulMjtyw_316;
			NI TM_1E0z9biZTE3PahFHulMjtyw_319;
			if (!((*g).inPragma <= ((NI) 0))) goto LA481_;
			TM_1E0z9biZTE3PahFHulMjtyw_316 = addInt((*g).inPragma, ((NI) 1));
			(*g).inPragma = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_316);
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 97), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_317), NIM_NIL);
			gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, ((NI) 0), ((NI) -1));
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 98), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_318), NIM_NIL);
			TM_1E0z9biZTE3PahFHulMjtyw_319 = subInt((*g).inPragma, ((NI) 1));
			(*g).inPragma = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_319);
		}
		goto LA479_;
		LA481_: ;
		{
			gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, ((NI) 0), ((NI) -1));
		}
		LA479_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 116):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 118):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 116))) goto LA487_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 32), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_320));
		}
		goto LA485_;
		LA487_: ;
		{
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 26), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_321));
		}
		LA485_: ;
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
		dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 117):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 119):
	{
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 117))) goto LA493_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 32), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_320));
		}
		goto LA491_;
		LA493_: ;
		{
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 26), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_321));
		}
		LA491_: ;
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 25), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_322));
		gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, (*g).indent, ((NI) 1), ((NI) -1), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 120):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 29), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_323));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 32), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_320));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, TM_1E0z9biZTE3PahFHulMjtyw_253, ((NI) 1), ((NI) -1));
		putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 121):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 34), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_324));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		gcommaAux_9ac9cor2XsNAVQXxCfoA7jzg(g, n, (*g).indent, ((NI) 0), ((NI) -1), ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 101));
		dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		putNL_n8JbrzcZm8FmR9aCHItw47w_7(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
	{
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 85):
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T500_;
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 48), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_269));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -2));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		T500_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T500_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, T500_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 78):
	{
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 112), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_183), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 5), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_325));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 122):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 7), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_235));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 123):
	{
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 42), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_326));
		gcomma_WBsq6aIWI0YbAY07tgvprg(g, n, c, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 86):
	{
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 21), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_327));
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 1)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 1),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 1)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 88):
	{
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 22), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_328), NIM_NIL);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 107):
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 105):
	{
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
		{
			if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 107))) goto LA509_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 27), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_329), NIM_NIL);
		}
		goto LA507_;
		LA509_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 16), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_330), NIM_NIL);
		}
		LA507_: ;
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[((NI) 0)], c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 87):
	{
		tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* T519_;
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
		{
			NI T515_;
			T515_ = (NI)0;
			T515_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			if (!!((T515_ == ((NI) 1)))) goto LA516_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 25), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_322));
		}
		goto LA513_;
		LA516_: ;
		{
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 25), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_322), NIM_NIL);
		}
		LA513_: ;
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -2));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		T519_ = (tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw*)0;
		T519_ = lastSon_UPSW0jLTX5qJL51YMUAHgw(n);
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, T519_, c, NIM_TRUE);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 75):
	{
		{
			NIM_BOOL T523_;
			T523_ = (NIM_BOOL)0;
			T523_ = hasExplicitParams_ty2FKaFbIrBgsB8VaZ9cZ3g(n);
			if (!T523_) goto LA524_;
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
			gsemicolon_cePKc9cEQau31w9auAvt0icA_2(g, n, ((NI) 0), ((NI) -1));
			put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
		}
		LA524_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 76):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_210), NIM_NIL);
		gsemicolon_cePKc9cEQau31w9auAvt0icA_2(g, n, ((NI) 1), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
		{
			NIM_BOOL T529_;
			NI T530_;
			T529_ = (NIM_BOOL)0;
			T530_ = (NI)0;
			T530_ = len_P89cqdlERShb9alU3iC0yj8wast(n);
			T529_ = (((NI) 0) < T530_);
			if (!(T529_)) goto LA531_;
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			T529_ = !(((*(*n).sons->data[((NI) 0)]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1)));
			LA531_: ;
			if (!T529_) goto LA532_;
			putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
			if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
			if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
			gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[((NI) 0)]);
		}
		LA532_: ;
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 134):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 61), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_332), NIM_NIL);
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 91), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_72), NIM_NIL);
		gcomma_cePKc9cEQau31w9auAvt0icA(g, n, ((NI) 0), ((NI) -1));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 92), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_207), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 135):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 61), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_332), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 24):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 89), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_333), NIM_NIL);
		gsub_HNcJVTbsLN2PfMmnG6BxYw(g, n, ((NI) 0));
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 90), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_211), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 156):
	{
		tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c_2;
		nimZeroMem((void*)(&c_2), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c_2));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_334));
		gsons_WBsq6aIWI0YbAY07tgvprg_2(g, n, c_2, ((NI) 0), ((NI) -1));
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 157):
	{
		tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c_3;
		nimZeroMem((void*)(&c_3), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
		initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c_3));
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 2), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_335));
		if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
		if ((NU)(((NI) 0)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(((NI) 0),((*n).sons ? (*n).sons->Sup.len : 0)-1);
		gsub_NmOOKTnnEkQl0J72fGke1g(g, (*n).sons->data[((NI) 0)], c_3);
		putWithSpace_Ld66XW3M36dm4dwChiNHFw(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 103), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_212));
		indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		gsons_WBsq6aIWI0YbAY07tgvprg_2(g, n, c_3, ((NI) 1), ((NI) -1));
		dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 158):
	{
		put_xLPytIwyYkF9bx9a6ZUQ025A(g, ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 61), ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_336), NIM_NIL);
	}
	break;
	case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 136):
	{
		gTypeClassTy_5eccg0mxlFLgBiNmpRHFig_18(g, n);
	}
	break;
	default:
	{
		NimStringDesc* T542_;
		T542_ = (NimStringDesc*)0;
		T542_ = rawNewString((reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)) ? reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_))->Sup.len : 0) + 14);
appendString(T542_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_338));
appendString(T542_, reprEnum((NI)(*n).kind, (&NTI_G4E4Gxe7oI2Cm03rkiOzQw_)));
appendChar(T542_, 41);
		internalError_yTu5SGHF0j0P9cQrqN7YylA((*g).config, (*n).info, T542_);
	}
	break;
	}
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, gsub_5eccg0mxlFLgBiNmpRHFig)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c;
	nimZeroMem((void*)(&c), sizeof(tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw));
	initContext_ATR9atx4JGXXaRJqSs0YyPQ((&c));
	gsub_NmOOKTnnEkQl0J72fGke1g(g, n, c);
}

N_LIB_PRIVATE N_NIMCALL(void, gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* g, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tyTuple_O2u2Fk7tlGg9b7lAVNkV3hw c, NIM_BOOL doIndent) {
{	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 1))) goto LA3_;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NI L;
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA7_;
		{
			if (!doIndent) goto LA11_;
			indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		}
		LA11_: ;
		L = len_P89cqdlERShb9alU3iC0yj8wast(n);
		{
			NI i;
			NI colontmp_;
			NI TM_1E0z9biZTE3PahFHulMjtyw_6;
			NI res;
			i = (NI)0;
			colontmp_ = (NI)0;
			TM_1E0z9biZTE3PahFHulMjtyw_6 = subInt(L, ((NI) 1));
			colontmp_ = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_6);
			res = ((NI) 0);
			{
				while (1) {
					NI TM_1E0z9biZTE3PahFHulMjtyw_339;
					if (!(res <= colontmp_)) goto LA15;
					i = res;
					{
						NI TM_1E0z9biZTE3PahFHulMjtyw_7;
						if (!(((NI) 0) < i)) goto LA18_;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						TM_1E0z9biZTE3PahFHulMjtyw_7 = subInt(i, ((NI) 1));
						if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_7)) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_7),((*n).sons ? (*n).sons->Sup.len : 0)-1);
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						optNL_GEWpEuqY9a3huqkrKYAAObA(g, (*n).sons->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_7)], (*n).sons->data[i]);
					}
					goto LA16_;
					LA18_: ;
					{
						optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
					}
					LA16_: ;
					{
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						if (!((*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*(*n).sons->data[i]).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA23_;
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA(g, (*n).sons->data[i], c, NIM_FALSE);
					}
					goto LA21_;
					LA23_: ;
					{
						if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
						if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
						gsub_5eccg0mxlFLgBiNmpRHFig(g, (*n).sons->data[i]);
					}
					LA21_: ;
					gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
					TM_1E0z9biZTE3PahFHulMjtyw_339 = addInt(res, ((NI) 1));
					res = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_339);
				} LA15: ;
			}
		}
		{
			if (!doIndent) goto LA28_;
			dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		}
		LA28_: ;
	}
	goto LA5_;
	LA7_: ;
	{
		indentNL_n8JbrzcZm8FmR9aCHItw47w(g);
		gsub_5eccg0mxlFLgBiNmpRHFig(g, n);
		gcoms_n8JbrzcZm8FmR9aCHItw47w_4(g);
		dedent_n8JbrzcZm8FmR9aCHItw47w_6(g);
		optNL_n8JbrzcZm8FmR9aCHItw47w_2(g);
	}
	LA5_: ;
	}BeforeRet_: ;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	NimStringDesc* result;
	tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg g;
	tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* T5_;
{	result = (NimStringDesc*)0;
	{
		if (!(n == NIM_NIL)) goto LA3_;
		result = copyString(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_2));
		goto BeforeRet_;
	}
	LA3_: ;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg));
	T5_ = (tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw*)0;
	T5_ = newPartialConfigRef_YbeeoJLQnRQK2F8DAaXI8w_2();
	initSrcGen_V4h13uDpnxFekQECTzYaWA((&g), renderFlags, T5_);
	{
		if (!((*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 115) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 126) || (*n).kind == ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 128))) goto LA8_;
		gstmts_ZgGwD8V7yy9cPF3ZhVNGmFA((&g), n, TM_1E0z9biZTE3PahFHulMjtyw_253, NIM_FALSE);
	}
	goto LA6_;
	LA8_: ;
	{
		gsub_5eccg0mxlFLgBiNmpRHFig((&g), n);
	}
	LA6_: ;
	result = copyString(g.buf);
	}BeforeRet_: ;
	return result;
}

N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar__qX5C9b0n9bOP7jk69amC8dA7A)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n) {
	NimStringDesc* result;
	result = (NimStringDesc*)0;
	result = renderTree_ppjdh9aQ5L0SGPF8yz1gZ9cA(n, 0);
	return result;
}

N_LIB_PRIVATE N_NIMCALL(void, renderModule_PMQ9adArlSkkG8lng7soccA)(tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, NimStringDesc* infile, NimStringDesc* outfile, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags, NI32 fid, tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* conf) {
	FILE* f;
	tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg g;
	f = (FILE*)0;
	nimZeroMem((void*)(&g), sizeof(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg));
	initSrcGen_V4h13uDpnxFekQECTzYaWA((&g), renderFlags, conf);
	g.fid = fid;
	{
		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_1E0z9biZTE3PahFHulMjtyw_340;
				if (!(i_2 < colontmp_)) goto LA3;
				i = i_2;
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				gsub_5eccg0mxlFLgBiNmpRHFig((&g), (*n).sons->data[i]);
				optNL_n8JbrzcZm8FmR9aCHItw47w_2((&g));
				if (((TM_1E0z9biZTE3PahFHulMjtyw_4[(NU)((*n).kind)>>3] &(1U<<((NU)((*n).kind)&7U)))!=0)) raiseFieldError(((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_5));
				if ((NU)(i) >= (NU)((*n).sons ? (*n).sons->Sup.len : 0)) raiseIndexError2(i,((*n).sons ? (*n).sons->Sup.len : 0)-1);
				switch ((*(*n).sons->data[i]).kind) {
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 98):
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 101):
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 99):
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 100):
				case ((tyEnum_TNodeKind_G4E4Gxe7oI2Cm03rkiOzQw) 125):
				{
					putNL_n8JbrzcZm8FmR9aCHItw47w_7((&g));
				}
				break;
				default:
				{
				}
				break;
				}
				TM_1E0z9biZTE3PahFHulMjtyw_340 = addInt(i_2, ((NI) 1));
				i_2 = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_340);
			} LA3: ;
		}
	}
	gcoms_n8JbrzcZm8FmR9aCHItw47w_4((&g));
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = open_gq12VLhVO0NBzUTnGgz4nw(&f, outfile, ((tyEnum_FileMode_ZJfK20XeZ9bv2j1pZjw9aswg) 1), ((NI) -1));
		if (!T8_) goto LA9_;
		write_PArlm09bKklm2BLsCg6YtaA(f, g.buf);
		close_fU6ZlJAtQ9bre04EDZLdGsA_3(f);
	}
	goto LA6_;
	LA9_: ;
	{
		NimStringDesc* T12_;
		T12_ = (NimStringDesc*)0;
		T12_ = rawNewString((outfile ? outfile->Sup.len : 0) + 18);
appendString(T12_, ((NimStringDesc*) &TM_1E0z9biZTE3PahFHulMjtyw_341));
appendString(T12_, outfile);
		rawMessage_h30HgTFwbGq0PsyHmRqZ8g(g.config, ((tyEnum_TMsgKind_29cbg2fC1z5iM1PAI28kR5w) 9), T12_);
	}
	LA6_: ;
}

N_LIB_PRIVATE N_NIMCALL(void, initTokRender_fvDS5PTYUI6zuDDOhODswg)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* r, tyObject_TNode_bROa11lyF5vxEN9aYNbHmhw* n, tySet_tyEnum_TRenderFlag_wrPgUo1ExBlHvFnXN2nSHw renderFlags) {
	tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw* T1_;
	T1_ = (tyObject_ConfigRefcolonObjectType__LaK09ayL9alwKUad7rts0rTw*)0;
	T1_ = newPartialConfigRef_YbeeoJLQnRQK2F8DAaXI8w_2();
	initSrcGen_V4h13uDpnxFekQECTzYaWA(r, renderFlags, T1_);
	gsub_5eccg0mxlFLgBiNmpRHFig(r, n);
}

N_LIB_PRIVATE N_NIMCALL(void, getNextTok_m1ACJrEREN0hUkBdjmLoaQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* r, tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA* kind, NimStringDesc** literal) {
	{
		NI T3_;
		NI length;
		NI TM_1E0z9biZTE3PahFHulMjtyw_342;
		NI TM_1E0z9biZTE3PahFHulMjtyw_343;
		NI TM_1E0z9biZTE3PahFHulMjtyw_344;
		NI TM_1E0z9biZTE3PahFHulMjtyw_345;
		T3_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		if (!((*r).idx < T3_)) goto LA4_;
		if ((NU)((*r).idx) >= (NU)((*r).tokens ? (*r).tokens->Sup.len : 0)) raiseIndexError2((*r).idx,((*r).tokens ? (*r).tokens->Sup.len : 0)-1);
		(*kind) = (*r).tokens->data[(*r).idx].kind;
		if ((NU)((*r).idx) >= (NU)((*r).tokens ? (*r).tokens->Sup.len : 0)) raiseIndexError2((*r).idx,((*r).tokens ? (*r).tokens->Sup.len : 0)-1);
		length = ((NI) ((*r).tokens->data[(*r).idx].length));
		TM_1E0z9biZTE3PahFHulMjtyw_342 = addInt((*r).pos, length);
		TM_1E0z9biZTE3PahFHulMjtyw_343 = subInt((NI)(TM_1E0z9biZTE3PahFHulMjtyw_342), ((NI) 1));
		unsureAsgnRef((void**) (&(*literal)), substr_2yh9cer0ymNRHlOOg8P7IuA((*r).buf, (*r).pos, (NI)(TM_1E0z9biZTE3PahFHulMjtyw_343)));
		TM_1E0z9biZTE3PahFHulMjtyw_344 = addInt((*r).pos, length);
		(*r).pos = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_344);
		TM_1E0z9biZTE3PahFHulMjtyw_345 = addInt((*r).idx, ((NI) 1));
		(*r).idx = (NI)(TM_1E0z9biZTE3PahFHulMjtyw_345);
	}
	goto LA1_;
	LA4_: ;
	{
		(*kind) = ((tyEnum_TTokType_vw8YkgaVtNadqP8v5OpXKA) 1);
	}
	LA1_: ;
}

N_LIB_PRIVATE N_NIMCALL(tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*, getTokSym_c63Q9b9bWYYRP36QgDsG9cNDQ)(tyObject_TSrcGen_T8CUsYfvFor5lPGY7PW7Dg* r) {
	tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w* result;
	result = (tyObject_TSym_JpsEh5i1AcKChGYbg7aV4w*)0;
	{
		NIM_BOOL T3_;
		NI T5_;
		NI TM_1E0z9biZTE3PahFHulMjtyw_346;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI) 0) < (*r).idx);
		if (!(T3_)) goto LA4_;
		T5_ = ((*r).tokens ? (*r).tokens->Sup.len : 0);
		T3_ = ((*r).idx <= T5_);
		LA4_: ;
		if (!T3_) goto LA6_;
		TM_1E0z9biZTE3PahFHulMjtyw_346 = subInt((*r).idx, ((NI) 1));
		if ((NU)((NI)(TM_1E0z9biZTE3PahFHulMjtyw_346)) >= (NU)((*r).tokens ? (*r).tokens->Sup.len : 0)) raiseIndexError2((NI)(TM_1E0z9biZTE3PahFHulMjtyw_346),((*r).tokens ? (*r).tokens->Sup.len : 0)-1);
		result = (*r).tokens->data[(NI)(TM_1E0z9biZTE3PahFHulMjtyw_346)].sym;
	}
	goto LA1_;
	LA6_: ;
	{
		result = NIM_NIL;
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, compiler_rendererDatInit000)(void) {
static TNimNode* TM_1E0z9biZTE3PahFHulMjtyw_10_3[3];
static TNimNode TM_1E0z9biZTE3PahFHulMjtyw_0[4];
NTI_FnEE3o2nWtqdjoC0wa2wgA_.size = sizeof(tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA);
NTI_FnEE3o2nWtqdjoC0wa2wgA_.kind = 18;
NTI_FnEE3o2nWtqdjoC0wa2wgA_.base = 0;
TM_1E0z9biZTE3PahFHulMjtyw_10_3[0] = &TM_1E0z9biZTE3PahFHulMjtyw_0[1];
TM_1E0z9biZTE3PahFHulMjtyw_0[1].kind = 1;
TM_1E0z9biZTE3PahFHulMjtyw_0[1].offset = offsetof(tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA, kind);
TM_1E0z9biZTE3PahFHulMjtyw_0[1].typ = (&NTI_vw8YkgaVtNadqP8v5OpXKA_);
TM_1E0z9biZTE3PahFHulMjtyw_0[1].name = "kind";
TM_1E0z9biZTE3PahFHulMjtyw_10_3[1] = &TM_1E0z9biZTE3PahFHulMjtyw_0[2];
TM_1E0z9biZTE3PahFHulMjtyw_0[2].kind = 1;
TM_1E0z9biZTE3PahFHulMjtyw_0[2].offset = offsetof(tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA, length);
TM_1E0z9biZTE3PahFHulMjtyw_0[2].typ = (&NTI_kDPg4wXyR8DDyA0MeEjIsw_);
TM_1E0z9biZTE3PahFHulMjtyw_0[2].name = "length";
TM_1E0z9biZTE3PahFHulMjtyw_10_3[2] = &TM_1E0z9biZTE3PahFHulMjtyw_0[3];
TM_1E0z9biZTE3PahFHulMjtyw_0[3].kind = 1;
TM_1E0z9biZTE3PahFHulMjtyw_0[3].offset = offsetof(tyObject_TRenderTok_FnEE3o2nWtqdjoC0wa2wgA, sym);
TM_1E0z9biZTE3PahFHulMjtyw_0[3].typ = (&NTI_K9bspPztfoWajecnwjyHuYQ_);
TM_1E0z9biZTE3PahFHulMjtyw_0[3].name = "sym";
TM_1E0z9biZTE3PahFHulMjtyw_0[0].len = 3; TM_1E0z9biZTE3PahFHulMjtyw_0[0].kind = 2; TM_1E0z9biZTE3PahFHulMjtyw_0[0].sons = &TM_1E0z9biZTE3PahFHulMjtyw_10_3[0];
NTI_FnEE3o2nWtqdjoC0wa2wgA_.node = &TM_1E0z9biZTE3PahFHulMjtyw_0[0];
NTI_0W45b4tBLx0JWnu0NjAmVQ_.size = sizeof(tySequence_0W45b4tBLx0JWnu0NjAmVQ*);
NTI_0W45b4tBLx0JWnu0NjAmVQ_.kind = 24;
NTI_0W45b4tBLx0JWnu0NjAmVQ_.base = (&NTI_FnEE3o2nWtqdjoC0wa2wgA_);
NTI_0W45b4tBLx0JWnu0NjAmVQ_.marker = Marker_tySequence_0W45b4tBLx0JWnu0NjAmVQ;
}

