/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <stdio.h>
#include <glob.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
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg;
typedef struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tyTuple__7q7q3E6Oj24ZNVJb9aonhAg;
typedef struct tyTuple__Sb9czl1rSUt9cR4FEpnHeteg tyTuple__Sb9czl1rSUt9cR4FEpnHeteg;
typedef struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA tySequence__E0kio2ZnplNTuln9bsnljSA;
typedef struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content tySequence__E0kio2ZnplNTuln9bsnljSA_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA tySequence__hTEiKNj3evQAjIXUI21elA;
typedef struct tySequence__hTEiKNj3evQAjIXUI21elA_Content tySequence__hTEiKNj3evQAjIXUI21elA_Content;
typedef struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q tySequence__xOJ2kx2lq9bBfIm3IXnde3Q;
typedef struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ;
typedef struct tyTuple__8TaWyfF78pGKQc2T027bVA tyTuple__8TaWyfF78pGKQc2T027bVA;
typedef struct tyTuple__odFiRrDKhZPQ2taWAayfYw tyTuple__odFiRrDKhZPQ2taWAayfYw;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw;
typedef struct tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content tySequence__4eQHGndY6XBYpFOH09apV8Q_Content;
typedef struct tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g;
typedef struct tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ;
typedef struct tyObject_OrderedTable__ASIVNBCKpz8qGZwzYCCBFQ tyObject_OrderedTable__ASIVNBCKpz8qGZwzYCCBFQ;
typedef struct tySequence__m9axZwxFfhSNLcoofvKZJYA tySequence__m9axZwxFfhSNLcoofvKZJYA;
typedef struct tySequence__m9axZwxFfhSNLcoofvKZJYA_Content tySequence__m9axZwxFfhSNLcoofvKZJYA_Content;
typedef struct tySequence__fXWXs2NlFKREhy9cn6vokJw tySequence__fXWXs2NlFKREhy9cn6vokJw;
typedef struct tySequence__fXWXs2NlFKREhy9cn6vokJw_Content tySequence__fXWXs2NlFKREhy9cn6vokJw_Content;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ tySequence__S89cE01OvNjsN9c71FKsSrqQ;
typedef struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA;
typedef struct tyTuple__XOVT24GHXwqiEj5GCsEGCA tyTuple__XOVT24GHXwqiEj5GCsEGCA;
typedef struct tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA;
typedef struct tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ;
typedef struct tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw;
typedef struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg;
typedef struct tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw;
typedef struct tyObject_TimezonecolonObjectType___ya1basfKboI1SCTDnQ7Mzg tyObject_TimezonecolonObjectType___ya1basfKboI1SCTDnQ7Mzg;
typedef struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw;
typedef struct tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag;
typedef struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA;
typedef struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyTuple__eR5B9b9c9coYBbO09chTvuMqNQ tyTuple__eR5B9b9c9coYBbO09chTvuMqNQ;
typedef struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ;
struct tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg {
	NimStringV2 nimname;
	NimStringV2 cname;
	NimStringV2 obj;
	tySet_tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ flags;
	NimStringV2 customArgs;
};
struct tyTuple__7q7q3E6Oj24ZNVJb9aonhAg {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
typedef NU16 tySet_tyEnum_TInfoCCProp__iDs813gw4el4q2vkEYZ9cBw;
struct tyTuple__Sb9czl1rSUt9cR4FEpnHeteg {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
	NimStringV2 Field3;
	NimStringV2 Field4;
	NimStringV2 Field5;
	NimStringV2 Field6;
	NimStringV2 Field7;
	NimStringV2 Field8;
	NimStringV2 Field9;
	NimStringV2 Field10;
	NimStringV2 Field11;
	NimStringV2 Field12;
	NimStringV2 Field13;
	NimStringV2 Field14;
	NimStringV2 Field15;
	NimStringV2 Field16;
	NimStringV2 Field17;
	NimStringV2 Field18;
	NimStringV2 Field19;
	NimStringV2 Field20;
	tySet_tyEnum_TInfoCCProp__iDs813gw4el4q2vkEYZ9cBw Field21;
};
typedef tyTuple__Sb9czl1rSUt9cR4FEpnHeteg tyArray__LheWFUTR89bV9bcpnmBZNQig[13];
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw;
typedef NU8 tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw;
struct tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA {
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw targetCPU;
	tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw hostCPU;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw targetOS;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw hostOS;
	NI intSize;
	NI floatSize;
	NI ptrSize;
	NimStringV2 tnl;
};
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU8 tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw;
struct tySequence__E0kio2ZnplNTuln9bsnljSA {
  NI len; tySequence__E0kio2ZnplNTuln9bsnljSA_Content* p;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
struct tySequence__hTEiKNj3evQAjIXUI21elA {
  NI len; tySequence__hTEiKNj3evQAjIXUI21elA_Content* p;
};
struct tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA trackPos;
	NIM_BOOL trackPosAttached;
	tySet_tyEnum_TErrorOutput__wGgqZXVnY1wkKEe8EL9cL9aw errorOutputs;
	tySequence__E0kio2ZnplNTuln9bsnljSA msgContext;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastError;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A filenameToIndexTbl;
	tySequence__hTEiKNj3evQAjIXUI21elA fileInfos;
	NI32 systemFileIdx;
};
typedef NU8 tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ;
typedef NU8 tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw;
typedef NU8 tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA;
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU32 tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ;
typedef NU8 tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA;
typedef NU8 tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU8 tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw[13];
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw;
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q {
  NI len; tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content* p;
};
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* result_p0, void* ClE_0);
void* ClE_0;
} tyProc__QQyR5yGA47tr5TwLxcC4Gw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NimStringV2 output_p0, void* ClE_0);
void* ClE_0;
} tyProc__k2HFjxisIgDALbEUFojxaQ;
typedef NU8 tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NimStringV2 msg_p2, tyEnum_Severity__mHEDvws7FmOtnFhcQsM8UA severity_p3, void* ClE_0);
void* ClE_0;
} tyProc__DA9aR62IikoxFqfC5rIT9cuw;
struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyObject_Target__GzbDkV2u8Pgzlf9azvC43FA target;
	NI linesCompiled;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* macrosToExpand;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* arcToExpand;
	tyObject_MsgConfig__E1VAUnnaNIOngCdEgTI2Dw m;
	tyEnum_FilenameOption__o3jmnnVs6HdBg5KcNAzYiQ filenameOption;
	NimStringV2 unitSep;
	NI evalTemplateCounter;
	NI evalMacroCounter;
	NI8 exitcode;
	tyEnum_Command__juUdcDlEGhwCRcct3jVHmQ cmd;
	NimStringV2 cmdInput;
	NIM_BOOL projectIsCmd;
	NIM_BOOL implicitCmd;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_ExceptionSystem__dJ6sXW7k8NDYNNBUjVZmnw exc;
	NIM_BOOL hintProcessingDots;
	NI verbosity;
	NI numberOfProcessors;
	NF lastCmdTime;
	tyEnum_SymbolFilesOption__2eyIIreuRXhYT9buPPZbBYA symbolFiles;
	NI spellSuggestMax;
	tyObject_HashSet__8IGL0eIK5PYDsNGVA78Wmw cppDefines;
	NimStringV2 headerFile;
	NimStringV2 nimbasePattern;
	tySet_tyEnum_Feature__cS3g03qGjroRW9aHnqpz8MQ features;
	tySet_tyEnum_LegacyFeature__yvNVqOQTgcxHpvo1MvfBfA legacyFeatures;
	NimStringV2 arguments;
	tyEnum_IdeCmd__mZiSMTDWSAKKDbZfXDQwng ideCmd;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw modifiedyNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw cmdlineNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw foreignPackageNotes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw notes;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw warningAsErrors;
	tySet_tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw mainPackageNotes;
	NI mainPackageId;
	NI errorCounter;
	NI hintCounter;
	NI warnCounter;
	NI errorMax;
	NI maxLoopIterationsVM;
	NI maxCallDepthVM;
	NIM_BOOL isVmTrace;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* configVars;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* packageCache;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ nimblePaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ searchPaths;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lazyPaths;
	NimStringV2 outFile;
	NimStringV2 outDir;
	NimStringV2 jsonBuildFile;
	NimStringV2 prefixDir;
	NimStringV2 libpath;
	NimStringV2 nimcacheDir;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* dllOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* moduleOverrides;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cfileSpecificOptions;
	NimStringV2 projectName;
	NimStringV2 projectPath;
	NimStringV2 projectFull;
	NIM_BOOL projectIsStdin;
	NimStringV2 stdinFile;
	tySet_tyEnum_StdOrrKind__so1PI9cHP1cN622ePtqa0yw lastMsgWasDot;
	NI32 projectMainIdx;
	NI32 projectMainIdx2;
	NimStringV2 command;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ commandArgs;
	NimStringV2 commandLine;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitImports;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ implicitIncludes;
	NimStringV2 docSeeSrcUrl;
	NimStringV2 docRoot;
	NimStringV2 docCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cIncludes;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cLinkedLibs;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ externalToLink;
	NimStringV2 linkOptionsCmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ compileOptionsCmd;
	NimStringV2 linkOptions;
	NimStringV2 compileOptions;
	NimStringV2 cCompilerPath;
	tySequence__xOJ2kx2lq9bBfIm3IXnde3Q toCompile;
	tyProc__QQyR5yGA47tr5TwLxcC4Gw suggestionResultHook;
	NI suggestVersion;
	NI suggestMaxResults;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA lastLineInfo;
	tyProc__k2HFjxisIgDALbEUFojxaQ writelnHook;
	tyProc__DA9aR62IikoxFqfC5rIT9cuw structuredErrorHook;
	NimStringV2 cppCustomNamespace;
	NimStringV2 nimMainPrefix;
	tyObject_ProfileDatacolonObjectType___R9cEb9cNTzPRldVmD9bCDO0xQ* vmProfileData;
	NIM_BOOL expandProgress;
	NI expandLevels;
	NimStringV2 expandNodeResult;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA expandPosition;
	NimStringV2 currentConfigDir;
	NI clientProcessId;
};
typedef NU8 tyArray__9amPDC9cslxc3W1WNI8aK5gA[20];
typedef NU8 tySet_tyEnum_TInfoOSProp__5b6NqsPwwsBH1DpW70xRSg;
struct tyTuple__8TaWyfF78pGKQc2T027bVA {
	NimStringV2 Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
	NimStringV2 Field3;
	NimStringV2 Field4;
	NimStringV2 Field5;
	NimStringV2 Field6;
	NimStringV2 Field7;
	NimStringV2 Field8;
	NimStringV2 Field9;
	NimStringV2 Field10;
	NimStringV2 Field11;
	tySet_tyEnum_TInfoOSProp__5b6NqsPwwsBH1DpW70xRSg Field12;
};
typedef tyTuple__8TaWyfF78pGKQc2T027bVA tyArray__RQFn3NKTp5P7VzZ9bksPIyA[34];
typedef NU8 tyEnum_Endianness__9btYWoZrpVc3PDom9cGvsMAQ;
struct tyTuple__odFiRrDKhZPQ2taWAayfYw {
	NimStringV2 Field0;
	NI Field1;
	tyEnum_Endianness__9btYWoZrpVc3PDom9cGvsMAQ Field2;
	NI Field3;
	NI Field4;
};
typedef tyTuple__odFiRrDKhZPQ2taWAayfYw tyArray__BJ38CrWfGxMtyd3CSynibg[29];
typedef NimStringV2 tyArray__hFPV9bffMpPjoz9bsO9crekNg[7];
typedef NU8 tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
typedef NU8 tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU8 tyEnum_TInfoOSProp__5b6NqsPwwsBH1DpW70xRSg;
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
typedef NU8 tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ;
typedef NimStringV2 tyArray__CVH4DKy6jsFwcdfgh9ceJxQ[16];
typedef NimStringV2 tyArray__zp5HAVhHYRyeZ9bWu3v0DCw[18];
typedef NU8 tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg;
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
struct tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw {
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw a;
	tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw b;
};
typedef NU8 tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA;
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  NI len; tySequence__4eQHGndY6XBYpFOH09apV8Q_Content* p;
};
struct tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA {
	NimStringV2 cacheVersion;
	NimStringV2 outputFile;
	NimStringV2 outputLastModificationTime;
	tySequence__4eQHGndY6XBYpFOH09apV8Q compile;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ link;
	NimStringV2 linkcmd;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ configFiles;
	NIM_BOOL stdinInput;
	NIM_BOOL projectIsCmd;
	NimStringV2 cmdInput;
	NimStringV2 currentDir;
	NimStringV2 cmdline;
	tySequence__4eQHGndY6XBYpFOH09apV8Q depfiles;
	NimStringV2 nimexe;
};
struct tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ {
	NIM_BOOL allowExtraKeys;
	NIM_BOOL allowMissingKeys;
};
typedef NU8 tyEnum_JsonNodeKind__qvXp5fGPKV9a8zGGwjrKjDA;
struct tySequence__m9axZwxFfhSNLcoofvKZJYA {
  NI len; tySequence__m9axZwxFfhSNLcoofvKZJYA_Content* p;
};
struct tyObject_OrderedTable__ASIVNBCKpz8qGZwzYCCBFQ {
	tySequence__m9axZwxFfhSNLcoofvKZJYA data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__fXWXs2NlFKREhy9cn6vokJw {
  NI len; tySequence__fXWXs2NlFKREhy9cn6vokJw_Content* p;
};
struct tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g {
	NIM_BOOL isUnquoted;
	tyEnum_JsonNodeKind__qvXp5fGPKV9a8zGGwjrKjDA kind;
union{
	struct {
	NimStringV2 str;
} _kind_1;
	struct {
	NI64 num;
} _kind_2;
	struct {
	NF fnum;
} _kind_3;
	struct {
	NIM_BOOL bval;
} _kind_4;
	struct {
	tyObject_OrderedTable__ASIVNBCKpz8qGZwzYCCBFQ fields;
} _kind_6;
	struct {
	tySequence__fXWXs2NlFKREhy9cn6vokJw elems;
} _kind_7;
};
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ {
  NI len; tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__S89cE01OvNjsN9c71FKsSrqQ trace;
	Exception* up;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
struct tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA {
	NI64 seconds;
	NI nanosecond;
};
struct tyTuple__XOVT24GHXwqiEj5GCsEGCA {
	NimStringV2 Field0;
	NI Field1;
};
typedef NU8 tySet_tyEnum_ProcessOption__f8zQPCJAq3Y51oMx2CR9cxw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NI idx_p0, void* ClE_0);
void* ClE_0;
} tyProc__SqRJqa5aOiKB4EuKlKh9asA;
struct tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw {
	RootObj Sup;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ prettyCmds0;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf1;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
typedef NU8 tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw;
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NI idx_p0, tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ* p_p1, void* ClE_0);
void* ClE_0;
} tyProc__T07WD5hEWgf9abRYNKhwosw;
struct tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA {
	RootObj Sup;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf0;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cmds1;
};
struct tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg {
	Exception Sup;
};
struct tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw {
	tyObject_CatchableError__TCF9b1Y9b2ct0xPZvZnaY7gg Sup;
	NI32 errorCode;
};
typedef NimStringV2 tyArray__A2YC0h9cZydgH7zGAndH9bLg[6];
typedef NU8 tyEnum_WeekDay__vRTkENUWHrOhVsRbWk62QA;
struct tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw {
	RootObj Sup;
	NI nanosecond;
	NI second;
	NI minute;
	NI hour;
	NI monthdayZero;
	NI monthZero;
	NI year;
	tyEnum_WeekDay__vRTkENUWHrOhVsRbWk62QA weekday;
	NI yearday;
	NIM_BOOL isDst;
	tyObject_TimezonecolonObjectType___ya1basfKboI1SCTDnQ7Mzg* timezone;
	NI utcOffset;
};
typedef NCSTRING tyUncheckedArray__nvS6J9clHMUMHfoZd8Ad2zg[1];
typedef struct {
N_NIMCALL_PTR(NimStringV2, ClP_0) (NimStringV2 x_p0, void* ClE_0);
void* ClE_0;
} tyProc__oFHfEKFsiYTMAy9a42cSiKw;
typedef N_CLOSURE_PTR(NimStringV2, TM__OyL9acDBDoBfMwa5zb1Y88w_342) (NimStringV2 x_p0);
typedef N_CLOSURE_PTR(NimStringV2, TM__OyL9acDBDoBfMwa5zb1Y88w_346) (NimStringV2 x_p0, void* ClE_0);
typedef NU8 tySet_tyEnum_CopyFlag__1j5oUmplkZXgil3SrVhR7g;
struct tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw {
	NimStringV2 fullPath;
	NimStringV2 projPath;
	NimStringV2 shortName;
	NimStringV2 quotedName;
	NimStringV2 quotedFullName;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ lines;
	NimStringV2 dirtyFile;
	NimStringV2 hash;
	NIM_BOOL dirty;
};
typedef NU8 tyEnum_EnumMode__KZXs5DJfkxxPYeMdTIagsQ;
typedef NU8 tyEnum_JsonNodeMode__HNL4GECPp7laf54R6Sl6LA;
struct tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag {
	tyEnum_EnumMode__KZXs5DJfkxxPYeMdTIagsQ enumMode;
	tyEnum_JsonNodeMode__HNL4GECPp7laf54R6Sl6LA jsonNodeMode;
};
struct tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA {
	RootObj Sup;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ prettyCmds0;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf1;
};
typedef NimStringV2 tyArray__dyW7vpmfeTYw8kX3EXuaJA[3];
struct tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NimStringV2 Field1;
};
struct tySequence__E0kio2ZnplNTuln9bsnljSA_Content { NI cap; tyTuple__ji9a7IXpM9cONa0mh0VGCVrQ data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tySequence__hTEiKNj3evQAjIXUI21elA_Content { NI cap; tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tySequence__xOJ2kx2lq9bBfIm3IXnde3Q_Content { NI cap; tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg data[SEQ_DECL_SIZE]; };
struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content { NI cap; tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; };
struct tyTuple__eR5B9b9c9coYBbO09chTvuMqNQ {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* Field3;
};
struct tySequence__m9axZwxFfhSNLcoofvKZJYA_Content { NI cap; tyTuple__eR5B9b9c9coYBbO09chTvuMqNQ data[SEQ_DECL_SIZE]; };
struct tySequence__fXWXs2NlFKREhy9cn6vokJw_Content { NI cap; tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__S89cE01OvNjsN9c71FKsSrqQ_Content { NI cap; tyObject_StackTraceEntry__RcJz5RXFIYjIseutvVFICA data[SEQ_DECL_SIZE]; };
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2697)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg, splitFile__pathutils_u39)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toObjFile__extccomp_u934)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, completeCfilePath__extccomp_u929)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cfile_p1, NIM_BOOL createSubDir_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, completeGeneratedFilePath__options_u3821)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 f_p1, NIM_BOOL createSubDir_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_u1334)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* c_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__extccomp_u1314)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toGeneratedFile__options_u3816)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 path_p1, NimStringV2 ext_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, mangleModuleName__modulepaths_u40)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 path_p1);
N_LIB_PRIVATE N_NIMCALL(void, footprint__extccomp_u1310)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1, tyArray__9amPDC9cslxc3W1WNI8aK5gA Result);
N_LIB_PRIVATE N_NIMCALL(void, secureHash__OOZdistZchecksumsZsrcZchecksumsZsha1_u884)(NIM_CHAR* str_p0, NI str_p0Len_0, tyArray__9amPDC9cslxc3W1WNI8aK5gA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954)(tyArray__9amPDC9cslxc3W1WNI8aK5gA self_p0);
N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946)(NimStringV2 filename_p0, tyArray__9amPDC9cslxc3W1WNI8aK5gA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompileCFileCmd__extccomp_u1228)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1, NIM_BOOL isMainFile_p2, NIM_BOOL produceOutput_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__extccomp_u1153)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cfile_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cFileSpecificOptions__extccomp_u1078)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 nimname_p1, NimStringV2 fullNimFile_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2694)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(void, addOpt__extccomp_u903)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8129)(NimStringV2* s_p0, NI i_p1);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2430)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NI, nsuFindStr)(NimStringV2 s_p0, NimStringV2 sub_p1, NI start_p2, NI last_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, existsConfigVar__options_u3599)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getConfigVar__options_u3603)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 key_p1, NimStringV2 default_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getDebug__extccomp_u1054)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getConfigVar__extccomp_u759)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1, NimStringV2 suffix_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2700)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___options_u144)(tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw e_p0);
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getOptSpeed__extccomp_u1050)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getOptSize__extccomp_u1058)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getOrDefault__pureZstrtabs_u390)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1, NimStringV2 default_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, noschangeFileExt)(NimStringV2 filename_p0, NimStringV2 ext_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompilerExe__extccomp_u1191)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA compiler_p1, NIM_BOOL isCpp_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getEnv__stdZenvvars_u16)(NimStringV2 key_p0, NimStringV2 default_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatSingleElem)(NimStringV2 formatstr_p0, NimStringV2 a_p1);
static N_INLINE(NIM_BOOL, needsExeExt__extccomp_u1138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosaddFileExt)(NimStringV2 filename_p0, NimStringV2 ext_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hcrOn__options_u629)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nospquoteShell)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, noAbsolutePaths__extccomp_u1062)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuJoinSep)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 sep_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2688)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosextractFilename)(NimStringV2 path_p0);
static N_INLINE(NIM_BOOL, isEmpty__options_u4086)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getPrefixDir__options_u3645)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, envFlags__extccomp_u1184)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, nsuAddf)(NimStringV2* s_p0, NimStringV2 formatstr_p1, NimStringV2* a_p2, NI a_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, vccplatform__extccomp_u1119)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, open__stdZsyncio_u412)(FILE** f_p0, NimStringV2 filename_p1, tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg mode_p2, NI bufSize_p3);
N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__OOZdistZchecksumsZsrcZchecksumsZsha1_u988)(NimStringV2 hash_p0, tyArray__9amPDC9cslxc3W1WNI8aK5gA Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, readLine__stdZsyncio_u319)(FILE* f_p0);
N_LIB_PRIVATE N_NIMCALL(void, close__stdZsyncio_u268)(FILE* f_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___OOZdistZchecksumsZsrcZchecksumsZsha1_u996)(tyArray__9amPDC9cslxc3W1WNI8aK5gA a_p0, tyArray__9amPDC9cslxc3W1WNI8aK5gA b_p1);
static N_INLINE(void, writeLine__msgs_u470)(FILE* f_p0, NimStringV2* x_p1, NI x_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, write__stdZsyncio_u254)(FILE* f_p0, NimStringV2 s_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nostryRemoveFile)(NimStringV2 file_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__extccomp_u941)(tySequence__xOJ2kx2lq9bBfIm3IXnde3Q* x_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdup___options_u1625)(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* src_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pathutils_u73)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1619)(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, insert__extccomp_u980)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 item_p1, NI i_p2);
static N_INLINE(NIM_BOOL, contains__extccomp_u744)(tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw s_p0, tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw value_p1);
static N_INLINE(tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw, dotdot___extccomp_u712)(tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw a_p0, tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw b_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u71)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA, nameToCC__extccomp_u628)(NimStringV2 name_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreStyle)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___extccomp_u789)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, listCCnames__extccomp_u671)(void);
N_LIB_PRIVATE N_NIMCALL(void, undefSymbol__condsyms_u8)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(void, defineSymbol__condsyms_u4)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* symbols_p0, NimStringV2 symbol_p1, NimStringV2 value_p2);
N_LIB_PRIVATE N_NIMCALL(void, nstPut)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1, NimStringV2 val_p2);
N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__extccomp_u909)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, absOutFile__options_u3622)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5536)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u2337)(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZenvvars_u82)(tySequence__4eQHGndY6XBYpFOH09apV8Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, fromJson__extccomp_u2409)(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA* a_p0, tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* b_p1, tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ opt_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g*, parseFile__pureZjson_u5595)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u324)(tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* dest_p0);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3662)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___extccomp_u3126)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ x_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u1871)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, newSeq__stdZsyncio_u571)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1868)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetAppFilename)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZtimes_u4687)(tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA time_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA, nosgetLastModificationTime)(NimStringV2 file_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, slash___pathutils_u135)(NimStringV2 base_p0, NimStringV2 f_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getNimcacheDir__options_u3737)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__XOVT24GHXwqiEj5GCsEGCA, execCmdEx__pureZosproc_u1907)(NimStringV2 command_p0, tySet_tyEnum_ProcessOption__f8zQPCJAq3Y51oMx2CR9cxw options_p1, tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* env_p2, NimStringV2 workingDir_p3, NimStringV2 input_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u1951)(tyTuple__XOVT24GHXwqiEj5GCsEGCA dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, parseInt__pureZparseutils_u989)(NimStringV2 s_p0, NI* number_p1, NI start_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, genMappingFiles__extccomp_u3271)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tySequence__xOJ2kx2lq9bBfIm3IXnde3Q list_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___extccomp_u3279)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuEscape)(NimStringV2 s_p0, NimStringV2 prefix_p1, NimStringV2 suffix_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompileOptions__extccomp_u1116)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkOptions__extccomp_u1127)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___extccomp_u3292)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, writeRope__ropes_u27)(NimStringV2 head_p0, NimStringV2 filename_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3554)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3442)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3128)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___options_u1751)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u2138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg** dest_p0, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u619)(tyProc__SqRJqa5aOiKB4EuKlKh9asA dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3475)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1);
N_LIB_PRIVATE N_NOINLINE(void, rememberCycle__system_u3498)(NIM_BOOL isDestroyAction_p0, tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p1, TNimTypeV2* desc_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u5545)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u1584)(NI idx_p0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(void, flushDot__msgs_u40)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw*, eqdup___extccomp_u3482)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* src_p0, NIM_BOOL cyclic_p1);
static N_INLINE(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___options_u1622)(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* dest_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, displayProgressCC__extccomp_u1547)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 path_p1, NimStringV2 compileCmd_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasHint__options_u557)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw note_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, demangleModuleName__modulepaths_u136)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg, nossplitFile)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZos_u236)(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___options_u3939)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__extccomp_u1467)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ cmds_p1, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb_p2);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3654)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3569)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u5539)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u1473)(NI idx_p0, tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ* p_p1, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(NI, nosppeekExitCode)(tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ* p_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u9)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA*, eqdup___extccomp_u3609)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(NI, nospcountProcessors)(void);
N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__extccomp_u1027)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2);
N_LIB_PRIVATE N_NIMCALL(NI, nospexecCmd)(NimStringV2 command_p0);
static N_INLINE(Exception*, getCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u24)(NI32 xX60gensym3__p0);
N_LIB_PRIVATE N_NIMCALL(void, reraiseException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___stdZoserrors_u98)(tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nospexecProcesses)(NimStringV2* cmds_p0, NI cmds_p0Len_0, tySet_tyEnum_ProcessOption__f8zQPCJAq3Y51oMx2CR9cxw options_p1, NI n_p2, tyProc__SqRJqa5aOiKB4EuKlKh9asA beforeRunEvent_p3, tyProc__T07WD5hEWgf9abRYNKhwosw afterRunEvent_p4);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_u651)(tyProc__T07WD5hEWgf9abRYNKhwosw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3602)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getObjFilePath__extccomp_u1536)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* f_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, hcrLinkTargetName__extccomp_u1540)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 objFile_p1, NIM_BOOL isMain_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkCmd__extccomp_u1373)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 output_p1, NimStringV2 objfiles_p2, NIM_BOOL isDllBuild_p3, NIM_BOOL removeStaticFile_p4);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringV2 file_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkerExe__extccomp_u1216)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA compiler_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__extccomp_u696)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_u2067)(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, format__extccomp_u1400)(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw* dt_p0);
static N_INLINE(NI, nanosecond__pureZtimes_u1450)(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw* dt_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZtimes_u1713)(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw* dest_p0);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, map__extccomp_u1714)(NimStringV2* s_p0, NI s_p0Len_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op_p1);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__system_u5429)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* s_p0, NI len_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, colonanonymous___extccomp_u1710)(NimStringV2 curr_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceStr)(NimStringV2 s_p0, NimStringV2 sub_p1, NimStringV2 by_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, prepareToWriteOutput__options_u3642)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__stdZprivateZosfiles_u366)(NimStringV2 source_p0, NimStringV2 dest_p1, NIM_BOOL ignorePermissionErrors_p2, tySet_tyEnum_CopyFlag__1j5oUmplkZXgil3SrVhR7g options_p3);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, getExtraCmds__extccomp_u1454)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 output_p1);
N_LIB_PRIVATE N_NIMCALL(void, preventLinkCmdMaxCmdLen__extccomp_u1556)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 linkCmd_p1);
N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__extccomp_u1491)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8675)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u532)(NimStringV2 filename_p0, NimStringV2 content_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuReplaceChar)(NimStringV2 s_p0, NIM_CHAR sub_p1, NIM_CHAR by_p2);
N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__extccomp_u1462)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 linkCmd_p1);
N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_u1040)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u8662)(NimStringV2 s_p0, NI first_p1, NI last_p2);
N_LIB_PRIVATE N_NIMCALL(void, generateScript__extccomp_u1044)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 script_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u5533)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__4eQHGndY6XBYpFOH09apV8Q, newSeq__extccomp_u1940)(NI len_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__extccomp_u2036)(tySequence__4eQHGndY6XBYpFOH09apV8Q* x_p0, tyTuple__UV3llMMYFckfui8YMBuUZA y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___stdZenvvars_u79)(tySequence__4eQHGndY6XBYpFOH09apV8Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, eqdup___system_u5542)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, quoteShellCommand__pureZos_u60)(NimStringV2* args_p0, NI args_p0Len_0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isDefined__options_u959)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbol_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosisAbsolute)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZstrtabs_u400)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2*, nstTake)(tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, jsonBuildInstructionsFile__extccomp_u1824)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, pretty__pureZjson_u4827)(tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* node_p0, NI indent_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g*, toJson__extccomp_u2180)(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA* a_p0, tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag opt_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag, initToJsonOptions__stdZjsonutils_u34)(void);
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3833)(void* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3748)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* dest_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseAssert__stdZassertions_u15)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___extccomp_u3222)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getStackTrace__system_u3573)(Exception* e_p0);
N_LIB_PRIVATE N_NIMCALL(void, quit__system_u8005)(NimStringV2 errormsg_p0, NI errorcode_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u3659)(Exception* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosparentDir)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, percent___extccomp_u3232)(NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u3247)(NI idx_p0, void* ClE_0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA*, eqdup___extccomp_u3788)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* src_p0, NIM_BOOL cyclic_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3781)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* dest_p0);
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_2 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_3 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_2};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_4 = { 3 | NIM_STRLIT_FLAG, "gcc" };
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_5 = { 1 | NIM_STRLIT_FLAG, "o" };
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_6 = { 15 | NIM_STRLIT_FLAG, " -O3 -fno-ident" };
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_7 = { 15 | NIM_STRLIT_FLAG, " -Os -fno-ident" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_8 = { 3 | NIM_STRLIT_FLAG, "g++" };
static const struct {
  NI cap; NIM_CHAR data[38+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_9 = { 38 | NIM_STRLIT_FLAG, "-c $options $include -o $objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_10 = { 10 | NIM_STRLIT_FLAG, " -mwindows" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_11 = { 8 | NIM_STRLIT_FLAG, " -shared" };
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_12 = { 25 | NIM_STRLIT_FLAG, "ar rcs $libfile $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_13 = { 0 | NIM_STRLIT_FLAG, "" };
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_14 = { 50 | NIM_STRLIT_FLAG, "$buildgui $builddll -o $exefile $objfiles $options" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_15 = { 3 | NIM_STRLIT_FLAG, " -I" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_16 = { 3 | NIM_STRLIT_FLAG, " -L" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_17 = { 5 | NIM_STRLIT_FLAG, " -l$1" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_18 = { 5 | NIM_STRLIT_FLAG, "-fPIC" };
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_19 = { 14 | NIM_STRLIT_FLAG, "__asm__($1);$n" };
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_20 = { 9 | NIM_STRLIT_FLAG, "$1 $3 $2 " };
static const struct {
  NI cap; NIM_CHAR data[47+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_21 = { 47 | NIM_STRLIT_FLAG, "-Wa,-acdl=$asmfile -g -fverbose-asm -masm=intel" };
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_22 = { 28 | NIM_STRLIT_FLAG, "-std=gnu++17 -funsigned-char" };
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_23 = { 10 | NIM_STRLIT_FLAG, "switch_gcc" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_24 = { 5 | NIM_STRLIT_FLAG, " -O3 " };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_25 = { 5 | NIM_STRLIT_FLAG, " -Os " };
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_26 = { 20 | NIM_STRLIT_FLAG, "aarch64-none-elf-gcc" };
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_27 = { 20 | NIM_STRLIT_FLAG, "aarch64-none-elf-g++" };
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_28 = { 61 | NIM_STRLIT_FLAG, "-w -MMD -MP -MF $dfile -c $options $include -o $objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_29 = { 46 | NIM_STRLIT_FLAG, "aarch64-none-elf-gcc-ar rcs $libfile $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_30 = { 68 | NIM_STRLIT_FLAG, "$buildgui $builddll -Wl,-Map,$mapfile -o $exefile $objfiles $options" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_31 = { 5 | NIM_STRLIT_FLAG, "-fPIE" };
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_32 = { 10 | NIM_STRLIT_FLAG, "asm($1);$n" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_33 = { 8 | NIM_STRLIT_FLAG, "llvm_gcc" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_34 = { 8 | NIM_STRLIT_FLAG, "llvm-gcc" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_35 = { 8 | NIM_STRLIT_FLAG, "llvm-g++" };
static const struct {
  NI cap; NIM_CHAR data[30+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_36 = { 30 | NIM_STRLIT_FLAG, "llvm-ar rcs $libfile $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_37 = { 5 | NIM_STRLIT_FLAG, "clang" };
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_38 = { 7 | NIM_STRLIT_FLAG, "clang++" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_39 = { 3 | NIM_STRLIT_FLAG, "bcc" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_40 = { 3 | NIM_STRLIT_FLAG, "obj" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_41 = { 8 | NIM_STRLIT_FLAG, " -O3 -6 " };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_42 = { 8 | NIM_STRLIT_FLAG, " -O1 -6 " };
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_43 = { 6 | NIM_STRLIT_FLAG, "bcc32c" };
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_44 = { 6 | NIM_STRLIT_FLAG, "cpp32c" };
static const struct {
  NI cap; NIM_CHAR data[37+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_45 = { 37 | NIM_STRLIT_FLAG, "-c $options $include -o$objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_46 = { 4 | NIM_STRLIT_FLAG, " -tW" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_47 = { 5 | NIM_STRLIT_FLAG, " -tWD" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_48 = { 5 | NIM_STRLIT_FLAG, "bcc32" };
static const struct {
  NI cap; NIM_CHAR data[49+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_49 = { 49 | NIM_STRLIT_FLAG, "$options $buildgui $builddll -e$exefile $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_50 = { 15 | NIM_STRLIT_FLAG, "__asm{$n$1$n}$n" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_51 = { 5 | NIM_STRLIT_FLAG, "$1 $2" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_52 = { 3 | NIM_STRLIT_FLAG, "vcc" };
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_53 = { 10 | NIM_STRLIT_FLAG, " /Ogityb2 " };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_54 = { 5 | NIM_STRLIT_FLAG, " /O1 " };
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_55 = { 2 | NIM_STRLIT_FLAG, "cl" };
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_56 = { 58 | NIM_STRLIT_FLAG, "/c$vccplatform $options $include /nologo /Fo$objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_57 = { 31 | NIM_STRLIT_FLAG, " /SUBSYSTEM:WINDOWS user32.lib " };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_58 = { 4 | NIM_STRLIT_FLAG, " /LD" };
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_59 = { 64 | NIM_STRLIT_FLAG, "vccexe --command:lib$vccplatform /nologo /OUT:$libfile $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_60 = { 70 | NIM_STRLIT_FLAG, "$builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_61 = { 3 | NIM_STRLIT_FLAG, " /I" };
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_62 = { 16 | NIM_STRLIT_FLAG, " /link /LIBPATH:" };
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_63 = { 7 | NIM_STRLIT_FLAG, " $1.lib" };
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_64 = { 11 | NIM_STRLIT_FLAG, " /RTC1 /Z7 " };
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_65 = { 9 | NIM_STRLIT_FLAG, "$3$n$1 $2" };
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_66 = { 11 | NIM_STRLIT_FLAG, "/Fa$asmfile" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_67 = { 3 | NIM_STRLIT_FLAG, "tcc" };
static const struct {
  NI cap; NIM_CHAR data[18+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_68 = { 18 | NIM_STRLIT_FLAG, "-Wl,-subsystem=gui" };
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_69 = { 50 | NIM_STRLIT_FLAG, "-o $exefile $options $buildgui $builddll $objfiles" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_70 = { 4 | NIM_STRLIT_FLAG, " -g " };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_71 = { 3 | NIM_STRLIT_FLAG, "env" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_72 = { 5 | NIM_STRLIT_FLAG, " -O1 " };
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_73 = { 50 | NIM_STRLIT_FLAG, "-c $ccenvflags $options $include -o $objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_74 = { 9 | NIM_STRLIT_FLAG, " -shared " };
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_75 = { 50 | NIM_STRLIT_FLAG, "-o $exefile $buildgui $builddll $objfiles $options" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_76 = { 3 | NIM_STRLIT_FLAG, "icl" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_77 = { 3 | NIM_STRLIT_FLAG, "icc" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_78 = { 8 | NIM_STRLIT_FLAG, "clang_cl" };
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_79 = { 8 | NIM_STRLIT_FLAG, "clang-cl" };
static const struct {
  NI cap; NIM_CHAR data[83+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_80 = { 83 | NIM_STRLIT_FLAG, "-fuse-ld=lld $builddll$vccplatform /Fe$exefile $objfiles $buildgui /nologo $options" };
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_81 = { 5 | NIM_STRLIT_FLAG, "hipcc" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_82 = { 4 | NIM_STRLIT_FLAG, "nvcc" };
static const struct {
  NI cap; NIM_CHAR data[57+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_83 = { 57 | NIM_STRLIT_FLAG, "-c -x cu -Xcompiler=\"$options\" $include -o $objfile $file" };
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_84 = { 63 | NIM_STRLIT_FLAG, "$buildgui $builddll -o $exefile $objfiles -Xcompiler=\"$options\"" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_85 = { 4 | NIM_STRLIT_FLAG, "sha1" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_86 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_85};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_88 = { 2 | NIM_STRLIT_FLAG, ".C" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_89 = { 3 | NIM_STRLIT_FLAG, ".cc" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_90 = { 4 | NIM_STRLIT_FLAG, ".cpp" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_91 = { 4 | NIM_STRLIT_FLAG, ".CPP" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_92 = { 4 | NIM_STRLIT_FLAG, ".c++" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_93 = { 3 | NIM_STRLIT_FLAG, ".cp" };
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_94 = { 4 | NIM_STRLIT_FLAG, ".cxx" };
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_95 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_96 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_97 = { 23 | NIM_STRLIT_FLAG, "-fno-omit-frame-pointer" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_98 = {23, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_97};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_99 = { 6 | NIM_STRLIT_FLAG, ".debug" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_100 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_99};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_101 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_102 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_2};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_103 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_104 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_105 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_106 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_107 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_108 = { 14 | NIM_STRLIT_FLAG, ".options.debug" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_109 = {14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_108};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_110 = { 6 | NIM_STRLIT_FLAG, ".speed" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_111 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_110};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_112 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_113 = { 14 | NIM_STRLIT_FLAG, ".options.speed" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_114 = {14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_113};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_115 = { 5 | NIM_STRLIT_FLAG, ".size" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_116 = {5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_115};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_117 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_118 = { 13 | NIM_STRLIT_FLAG, ".options.size" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_119 = {13, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_118};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_120 = { 7 | NIM_STRLIT_FLAG, ".always" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_121 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_120};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_122 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_123 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_124 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_125 = { 4 | NIM_STRLIT_FLAG, ".exe" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_126 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_125};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_127 = { 3 | NIM_STRLIT_FLAG, "CXX" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_128 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_127};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_129 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_130 = { 2 | NIM_STRLIT_FLAG, "CC" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_131 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_130};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_132 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[50+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_133 = { 50 | NIM_STRLIT_FLAG, "Compiler \'$1\' doesn\'t support the requested target" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_134 = {50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_133};
static const struct {
  NI cap; NIM_CHAR data[63+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_136 = { 63 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/extccomp.nim" };
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_137 = { 3 | NIM_STRLIT_FLAG, "exe" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_138 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_137};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_139 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_140 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_141 = { 2 | NIM_STRLIT_FLAG, ".d" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_142 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_141};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_143 = { 5 | NIM_STRLIT_FLAG, "dfile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_144 = {5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_143};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_145 = { 4 | NIM_STRLIT_FLAG, "file" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_146 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_145};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_147 = { 7 | NIM_STRLIT_FLAG, "objfile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_148 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_147};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_149 = { 7 | NIM_STRLIT_FLAG, "options" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_150 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_149};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_151 = { 7 | NIM_STRLIT_FLAG, "include" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_152 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_151};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_153 = { 3 | NIM_STRLIT_FLAG, "nim" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_154 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_153};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_155 = { 3 | NIM_STRLIT_FLAG, "lib" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_156 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_155};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_157 = { 10 | NIM_STRLIT_FLAG, "ccenvflags" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_158 = {10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_157};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_159 = { 8 | NIM_STRLIT_FLAG, "CXXFLAGS" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_160 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_159};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_161 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_162 = { 6 | NIM_STRLIT_FLAG, "CFLAGS" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_163 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_162};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_164 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_165 = { 4 | NIM_STRLIT_FLAG, ".asm" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_166 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_165};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_167 = { 7 | NIM_STRLIT_FLAG, "asmfile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_168 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_167};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_169 = { 25 | NIM_STRLIT_FLAG, "Produced assembler here: " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_170 = {25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_169};
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_172 = { 64 | NIM_STRLIT_FLAG, "Couldn\'t produce assembler listing for the selected C compiler: " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_173 = {64, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_172};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_175 = {5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_143};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_176 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_145};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_177 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_147};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_178 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_149};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_179 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_151};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_180 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_153};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_181 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_155};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_182 = { 11 | NIM_STRLIT_FLAG, "vccplatform" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_183 = {11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_182};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_184 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_125};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_185 = { 10 | NIM_STRLIT_FLAG, "vccexe.exe" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_186 = {10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_185};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_187 = { 15 | NIM_STRLIT_FLAG, " --platform:x86" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_188 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_187};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_189 = { 15 | NIM_STRLIT_FLAG, " --platform:arm" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_190 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_189};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_191 = { 17 | NIM_STRLIT_FLAG, " --platform:amd64" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_192 = {17, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_191};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_193 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_194 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_195 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_196 = {10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_157};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_197 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_198 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_197};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_199 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_200 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_201 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_200};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_203 = { 15 | NIM_STRLIT_FLAG, ".options.always" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_204 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_203};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_205 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_206 = { 5 | NIM_STRLIT_FLAG, ".path" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_207 = {5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_206};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_208 = { 4 | NIM_STRLIT_FLAG, "true" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_209 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_208};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_210 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_211 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_208};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_212 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_203};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_213 = {5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_206};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_214 = { 40 | NIM_STRLIT_FLAG, "Warning: JSON processing failed for: $#\012" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_215 = {40, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_214};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_216 = { 16 | NIM_STRLIT_FLAG, "D20240927T193831" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_217 = {16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_216};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_218 = { 4 | NIM_STRLIT_FLAG, "json" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_219 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_218};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_220 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_125};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_221 = { 13 | NIM_STRLIT_FLAG, " -dumpversion" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_222 = {13, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_221};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_223 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_224 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_226 = { 10 | NIM_STRLIT_FLAG, "[C_Files]\012" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_227 = {10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_226};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_228 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[20+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_229 = { 20 | NIM_STRLIT_FLAG, "\012[C_Compiler]\012Flags=" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_230 = {20, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_229};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_231 = { 9 | NIM_STRLIT_FLAG, "__dummy__" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_232 = {9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_231};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_233 = {9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_231};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_234 = { 1 | NIM_STRLIT_FLAG, "\"" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_235 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_236 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const struct {
  NI cap; NIM_CHAR data[16+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_237 = { 16 | NIM_STRLIT_FLAG, "\012[Linker]\012Flags=" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_238 = {16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_237};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_239 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_240 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_241 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_242 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_243 = { 15 | NIM_STRLIT_FLAG, ".options.linker" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_244 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_243};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_245 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_246 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const struct {
  NI cap; NIM_CHAR data[23+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_247 = { 23 | NIM_STRLIT_FLAG, "\012[Environment]\012libpath=" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_248 = {23, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_247};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_249 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_250 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_234};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_251 = { 11 | NIM_STRLIT_FLAG, "mapping.txt" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_252 = {11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_251};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_253 = { 25 | NIM_STRLIT_FLAG, "could not write to file: " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_254 = {25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_253};
N_LIB_PRIVATE TNimTypeV2 NTIv2__N8B6FGvsBw9cs9aqtrniUkGw_;
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_257 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_258 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_259 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_260 = { 6 | NIM_STRLIT_FLAG, "CC: $1" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_261 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_260};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_262 = { 2 | NIM_STRLIT_FLAG, ": " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_263 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_262};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_264 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_260};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_265 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_197};
N_LIB_PRIVATE TNimTypeV2 NTIv2__mAihFoCHh4gOftf4ZjoWjA_;
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_267 = { 43 | NIM_STRLIT_FLAG, "execution of an external compiler program \'" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_268 = {43, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_267};
static const struct {
  NI cap; NIM_CHAR data[25+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_269 = { 25 | NIM_STRLIT_FLAG, "\' failed with exit code: " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_270 = {25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_269};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_271 = { 2 | NIM_STRLIT_FLAG, "\012\012" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_272 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_271};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_274 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_276 = { 48 | NIM_STRLIT_FLAG, "invocation of external compiler program failed. " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_277 = {48, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_276};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_278 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const struct {
  NI cap; NIM_CHAR data[45+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_280 = { 45 | NIM_STRLIT_FLAG, "execution of an external program failed: \'$1\'" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_281 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_282 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_284 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_286 = {48, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_276};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_287 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_288 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_289 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_290 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_291 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_293 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_294 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_125};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_295 = { 7 | NIM_STRLIT_FLAG, "libfile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_296 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_295};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_297 = { 8 | NIM_STRLIT_FLAG, "objfiles" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_298 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_297};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_299 = {11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_182};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_300 = { 10 | NIM_STRLIT_FLAG, ".linkerexe" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_301 = {10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_300};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_302 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_137};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_303 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_304 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_305 = { 4 | NIM_STRLIT_FLAG, ".map" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_306 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_305};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_307 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_308 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_243};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_309 = { 9 | NIM_STRLIT_FLAG, ".linkTmpl" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_310 = {9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_309};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_311 = { 8 | NIM_STRLIT_FLAG, "builddll" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_312 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_311};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_313 = { 7 | NIM_STRLIT_FLAG, "mapfile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_314 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_313};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_315 = { 8 | NIM_STRLIT_FLAG, "buildgui" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_316 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_315};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_317 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_149};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_318 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_297};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_319 = { 7 | NIM_STRLIT_FLAG, "exefile" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_320 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_319};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_321 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_153};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_322 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_155};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_323 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_311};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_324 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_313};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_325 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_315};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_326 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_149};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_327 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_297};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_328 = {7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_319};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_329 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_153};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_330 = {3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_155};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_331 = {11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_182};
extern TNimTypeV2 NTIv2__JiByOtYhsb3evWoWLWfUBw_;
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_332 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_2};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_333 = { 4 | NIM_STRLIT_FLAG, ".pdb" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_334 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_333};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_335 = { 12 | NIM_STRLIT_FLAG, " /link /PDB:" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_336 = {12, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_335};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_337 = { 12 | NIM_STRLIT_FLAG, " /Zi /FS /Od" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_338 = {12, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_337};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_339 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_340 = { 6 | NIM_STRLIT_FLAG, ".*.pdb" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_341 = {6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_340};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_343 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_130};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_344 = { 4 | NIM_STRLIT_FLAG, "Link" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_345 = {4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_344};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_347 = { 15 | NIM_STRLIT_FLAG, "_linkerArgs.txt" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_348 = {15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_347};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_349 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_351 = { 46 | NIM_STRLIT_FLAG, "invocation of external linker program failed. " };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_352 = {46, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_351};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_353 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_354 = {45, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_280};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_355 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_95};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_356 = { 2 | NIM_STRLIT_FLAG, " @" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_357 = {2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_356};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_358 = {0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_359 = {1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_197};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_360 = { 8 | NIM_STRLIT_FLAG, "compile_" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_361 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_360};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_362 = {25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_253};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_364 = {16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_216};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_365 = { 12 | NIM_STRLIT_FLAG, "nimBetterRun" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_366 = {12, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_365};
N_LIB_PRIVATE TNimTypeV2 NTIv2__LFXZfOubgvLoNGN6YbTZGA_;
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__OyL9acDBDoBfMwa5zb1Y88w_368 = { 8 | NIM_STRLIT_FLAG, "nimDebug" };
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_369 = {8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_368};
static const NimStringV2 TM__OyL9acDBDoBfMwa5zb1Y88w_370 = {16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_216};
N_LIB_PRIVATE NIM_CONST tyArray__LheWFUTR89bV9bcpnmBZNQig CC__extccomp_u624 = {{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_4},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_4},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_8},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_12},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_14},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_23},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_24},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_25},
{20, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_26},
{20, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_27},
{61, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_28},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{46, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_29},
{20, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_26},
{68, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_30},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_31},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_32},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_33},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_34},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_35},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{30, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_36},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_14},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_37},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_37},
{7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_38},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{30, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_36},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_14},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_39},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_40},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_41},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_42},
{6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_43},
{6, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_44},
{37, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_45},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_46},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_47},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_48},
{49, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_49},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_50},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_51},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
151}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_52},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_40},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_53},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_54},
{2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_55},
{2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_55},
{58, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_56},
{31, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_57},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_58},
{64, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_59},
{2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_55},
{70, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_60},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_61},
{16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_62},
{7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_63},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_64},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_50},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_65},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_66},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
76}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_67},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_67},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{18, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_68},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_67},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_69},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_70},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_32},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_51},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
35}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_71},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_24},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_72},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_73},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_74},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_75},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_50},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_51},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
32}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_76},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_40},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_53},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_54},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_76},
{2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_55},
{58, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_56},
{31, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_57},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_58},
{64, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_59},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_76},
{70, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_60},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_61},
{16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_62},
{7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_63},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_64},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_50},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_65},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_66},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
76}
,
{{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_77},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_77},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_8},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_12},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_77},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_14},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_78},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_40},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_53},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_54},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_79},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_79},
{58, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_56},
{31, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_57},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_58},
{64, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_59},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_79},
{83, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_80},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_61},
{16, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_62},
{7, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_63},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_64},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_50},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_65},
{11, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_66},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
76}
,
{{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_81},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_81},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_81},
{38, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_9},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{30, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_36},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{50, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_14},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
,
{{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_82},
{1, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_5},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_6},
{15, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_7},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_82},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_82},
{57, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_83},
{10, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_10},
{8, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_11},
{25, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_12},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_84},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_15},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_16},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_17},
{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
{5, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_18},
{14, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_19},
{9, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_20},
{47, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_21},
{28, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_22},
439}
}
;
extern NIM_CONST tyArray__RQFn3NKTp5P7VzZ9bksPIyA OS__platform_u534;
extern NIM_CONST tyArray__BJ38CrWfGxMtyd3CSynibg CPU__platform_u740;
static NIM_CONST tyArray__hFPV9bffMpPjoz9bsO9crekNg TM__OyL9acDBDoBfMwa5zb1Y88w_87 = {{2, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_88},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_89},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_90},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_91},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_92},
{3, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_93},
{4, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_94}}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA unknownLineInfo__lineinfos_u364;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_135 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)557),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_171 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)650),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_174 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)653),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_202 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)367),
((NI)14)}
;
static NIM_CONST tyTuple__XOVT24GHXwqiEj5GCsEGCA TM__OyL9acDBDoBfMwa5zb1Y88w_225 = {{0, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_13},
((NI)1)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_255 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)1188),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_273 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)881),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_275 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)431),
((NI)12)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_279 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)807),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_283 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)809),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_285 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)890),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_292 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)898),
((NI)16)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_350 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)436),
((NI)14)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_363 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)444),
((NI)14)}
;
extern NIM_CONST tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA gCmdLineInfo__msgs_u442;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__OyL9acDBDoBfMwa5zb1Y88w_371 = {{63, (NimStrPayload*)&TM__OyL9acDBDoBfMwa5zb1Y88w_136},
((NI)1153),
((NI)15)}
;
extern NIM_BOOL nimInErrorMode__system_u4144;
extern Exception* currException__system_u3629;
static NIM_CONST NU32 TM__OyL9acDBDoBfMwa5zb1Y88w_256[2] = {3701606400, 3229225984};
N_LIB_PRIVATE TNimTypeV2 NTIv2__N8B6FGvsBw9cs9aqtrniUkGw_ = {.destructor = (void*)rttiDestroy__extccomp_u3554, .size = sizeof(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw), .align = (NI16) NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw), .depth = 1, .display = TM__OyL9acDBDoBfMwa5zb1Y88w_256, .traceImpl = (void*)NIM_NIL, .flags = 0};
static NIM_CONST NU32 TM__OyL9acDBDoBfMwa5zb1Y88w_266[2] = {3701606400, 144774656};
N_LIB_PRIVATE TNimTypeV2 NTIv2__mAihFoCHh4gOftf4ZjoWjA_ = {.destructor = (void*)rttiDestroy__extccomp_u3654, .size = sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA), .align = (NI16) NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA), .depth = 1, .display = TM__OyL9acDBDoBfMwa5zb1Y88w_266, .traceImpl = (void*)NIM_NIL, .flags = 0};
static NIM_CONST NU32 TM__OyL9acDBDoBfMwa5zb1Y88w_367[2] = {3701606400, 1440316416};
N_LIB_PRIVATE TNimTypeV2 NTIv2__LFXZfOubgvLoNGN6YbTZGA_ = {.destructor = (void*)rttiDestroy__extccomp_u3833, .size = sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA), .align = (NI16) NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA), .depth = 1, .display = TM__OyL9acDBDoBfMwa5zb1Y88w_367, .traceImpl = (void*)NIM_NIL, .flags = 0};
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toObjFile__extccomp_u934)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1) {
	NimStringV2 result;
	NimStringV2 T1_;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString(filename_p1.len + CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field1.len + 1);
appendString((&T1_), filename_p1);
appendString((&T1_), TM__OyL9acDBDoBfMwa5zb1Y88w_3);
appendString((&T1_), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field1);
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4144);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, completeCfilePath__extccomp_u929)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cfile_p1, NIM_BOOL createSubDir_p2) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = completeGeneratedFilePath__options_u3821(conf_p0, cfile_p1, createSubDir_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, useCpp__extccomp_u1153)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cfile_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2 ext_1;
		NI i_1;
		ext_1.len = 0; ext_1.p = NIM_NIL;
		i_1 = ((NI)0);
		{
			while (1) {
				ext_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_87[(i_1)- 0];
				{
					NIM_BOOL T6_;
					T6_ = (NIM_BOOL)0;
					T6_ = nsuEndsWith(cfile_p1, ext_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T6_) goto LA7_;
					result = NIM_TRUE;
					goto BeforeRet_;
				}
LA7_: ;
				{
					if (!(((NI)6) <= i_1)) goto LA11_;
					goto LA2;
				}
LA11_: ;
				i_1 += ((NI)1);
			}
		} LA2: ;
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = !(((*s_p0).p == ((NimStrPayload*) NIM_NIL)));
		if (!(T3_)) goto LA4_;
		T3_ = ((NI)((*(*s_p0).p).cap & ((NI)1073741824)) == ((NI)1073741824));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2430(s_p0);
	}
LA5_: ;
}
static N_INLINE(NIM_CHAR*, X5BX5D___system_u8129)(NimStringV2* s_p0, NI i_p1) {
	NIM_CHAR* result;
	nimPrepareStrMutationV2((&(*s_p0)));
	result = (&(*s_p0).p->data[(NI)((*s_p0).len - i_p1)]);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addOpt__extccomp_u903)(NimStringV2* dest_p0, NimStringV2 src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		NIM_CHAR* T5_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*dest_p0).len == ((NI)0));
		if (T3_) goto LA4_;
		T5_ = (NIM_CHAR*)0;
		T5_ = X5BX5D___system_u8129(dest_p0, ((NI)1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = !(((NU8)((*T5_)) == (NU8)(32)));
LA4_: ;
		if (!T3_) goto LA6_;
		prepareAdd((&(*dest_p0)), 1);
appendString((&(*dest_p0)), TM__OyL9acDBDoBfMwa5zb1Y88w_96);
	}
LA6_: ;
	prepareAdd((&(*dest_p0)), src_p1.len + 0);
appendString((&(*dest_p0)), src_p1);
	}BeforeRet_: ;
}
static N_INLINE(void, appendChar)(NimStringV2* dest_p0, NIM_CHAR c_p1) {
	(*(*dest_p0).p).data[(*dest_p0).len] = c_p1;
	(*dest_p0).len += ((NI)1);
	(*(*dest_p0).p).data[(*dest_p0).len] = 0;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getConfigVar__extccomp_u759)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1, NimStringV2 suffix_p2) {
	NimStringV2 result;
	NimStringV2 fullSuffix_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	fullSuffix_1.len = 0; fullSuffix_1.p = NIM_NIL;
	eqcopy___system_u2694((&fullSuffix_1), suffix_p2);
	switch ((*conf_p0).backend) {
	case ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)2):
	case ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3):
	case ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)4):
	{
		NimStringV2 colontmpD_;
		NimStringV2 T3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T3_.len = 0; T3_.p = NIM_NIL;
		colontmpD_ = dollar___options_u144((*conf_p0).backend);
		T3_ = rawNewString(colontmpD_.len + suffix_p2.len + 1);
appendString((&T3_), TM__OyL9acDBDoBfMwa5zb1Y88w_102);
appendString((&T3_), colontmpD_);
appendString((&T3_), suffix_p2);
		eqsink___system_u2700((&fullSuffix_1), T3_);
		eqdestroy___system_u2691(colontmpD_);
	}
	break;
	case ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)1):
	{
	}
	break;
	case ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)0):
	{
		result = TM__OyL9acDBDoBfMwa5zb1Y88w_103;
		eqdestroy___system_u2691(fullSuffix_1);
		goto BeforeRet_;
	}
	break;
	default: __builtin_unreachable();
	}
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		NimStringV2 fullCCname_1;
		NimStringV2 T14_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = !(((*conf_p0).target.hostOS == (*conf_p0).target.targetOS));
		if (T9_) goto LA10_;
		T9_ = !(((*conf_p0).target.hostCPU == (*conf_p0).target.targetCPU));
LA10_: ;
		T8_ = T9_;
		if (!(T8_)) goto LA11_;
		T8_ = !((((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)4)))&63U)))!=0));
LA11_: ;
		if (!T8_) goto LA12_;
		fullCCname_1.len = 0; fullCCname_1.p = NIM_NIL;
		T14_.len = 0; T14_.p = NIM_NIL;
		T14_ = rawNewString(CPU__platform_u740[((*conf_p0).target.targetCPU)- 1].Field0.len + OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field0.len + CC__extccomp_u624[(c_p1)- 1].Field0.len + fullSuffix_1.len + 2);
appendString((&T14_), CPU__platform_u740[((*conf_p0).target.targetCPU)- 1].Field0);
appendChar((&T14_), 46);
appendString((&T14_), OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field0);
appendChar((&T14_), 46);
appendString((&T14_), CC__extccomp_u624[(c_p1)- 1].Field0);
appendString((&T14_), fullSuffix_1);
		fullCCname_1 = T14_;
		result = getConfigVar__options_u3603(conf_p0, fullCCname_1, TM__OyL9acDBDoBfMwa5zb1Y88w_104);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NIM_BOOL T17_;
			NimStringV2 T20_;
			T17_ = (NIM_BOOL)0;
			T17_ = existsConfigVar__options_u3599(conf_p0, fullCCname_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T17_) goto LA18_;
			T20_.len = 0; T20_.p = NIM_NIL;
			T20_ = getConfigVar__options_u3603(conf_p0, fullCCname_1, TM__OyL9acDBDoBfMwa5zb1Y88w_105);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T20_); goto LA1_;}
			eqsink___system_u2700((&result), T20_);
		}
		goto LA15_;
LA18_: ;
		{
			NimStringV2 colontmpD__2;
			NimStringV2 T22_;
			NimStringV2 T23_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			T22_.len = 0; T22_.p = NIM_NIL;
			T22_ = rawNewString(CC__extccomp_u624[(c_p1)- 1].Field0.len + fullSuffix_1.len + 0);
appendString((&T22_), CC__extccomp_u624[(c_p1)- 1].Field0);
appendString((&T22_), fullSuffix_1);
			colontmpD__2 = T22_;
			T23_.len = 0; T23_.p = NIM_NIL;
			T23_ = getConfigVar__options_u3603(conf_p0, colontmpD__2, TM__OyL9acDBDoBfMwa5zb1Y88w_106);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T23_); goto LA1_;}
			eqsink___system_u2700((&result), T23_);
			eqdestroy___system_u2691(colontmpD__2);
		}
LA15_: ;
		eqdestroy___system_u2691(fullCCname_1);
	}
	goto LA6_;
LA12_: ;
	{
		NimStringV2 colontmpD__3;
		NimStringV2 T25_;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T25_.len = 0; T25_.p = NIM_NIL;
		T25_ = rawNewString(CC__extccomp_u624[(c_p1)- 1].Field0.len + fullSuffix_1.len + 0);
appendString((&T25_), CC__extccomp_u624[(c_p1)- 1].Field0);
appendString((&T25_), fullSuffix_1);
		colontmpD__3 = T25_;
		result = getConfigVar__options_u3603(conf_p0, colontmpD__3, TM__OyL9acDBDoBfMwa5zb1Y88w_107);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___system_u2691(colontmpD__3);
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(fullSuffix_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getDebug__extccomp_u1054)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = getConfigVar__extccomp_u759(conf_p0, c_p1, TM__OyL9acDBDoBfMwa5zb1Y88w_109);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(result.len == 0)) goto LA3_;
		eqcopy___system_u2694((&result), CC__extccomp_u624[(c_p1)- 1].Field15);
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getOptSpeed__extccomp_u1050)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = getConfigVar__extccomp_u759(conf_p0, c_p1, TM__OyL9acDBDoBfMwa5zb1Y88w_114);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(result.len == 0)) goto LA3_;
		eqcopy___system_u2694((&result), CC__extccomp_u624[(c_p1)- 1].Field2);
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getOptSize__extccomp_u1058)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = getConfigVar__extccomp_u759(conf_p0, c_p1, TM__OyL9acDBDoBfMwa5zb1Y88w_119);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!(result.len == 0)) goto LA3_;
		eqcopy___system_u2694((&result), CC__extccomp_u624[(c_p1)- 1].Field3);
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cFileSpecificOptions__extccomp_u1078)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 nimname_p1, NimStringV2 fullNimFile_p2) {
	NimStringV2 result;
	NimStringV2 key_1;
	NimStringV2 colontmpD_;
	NimStringV2 T50_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	key_1.len = 0; key_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	eqcopy___system_u2694((&result), (*conf_p0).compileOptions);
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)1));
		if (T4_) goto LA5_;
		T4_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)4));
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = ((*conf_p0).selectedGC == ((tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg)9));
LA6_: ;
		if (!T3_) goto LA7_;
		addOpt__extccomp_u903((&result), TM__OyL9acDBDoBfMwa5zb1Y88w_98);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	{
		NimStringV2* option_1;
		NI i_1;
		NI L_1;
		NI T10_;
		option_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T10_ = (*conf_p0).compileOptionsCmd.len;
		L_1 = T10_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA12;
				option_1 = (&(*conf_p0).compileOptionsCmd.p->data[i_1]);
				{
					NI T15_;
					T15_ = (NI)0;
					T15_ = nsuFindStr(result, (*option_1), ((NI)0), ((NI)-1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T15_ < ((NI)0))) goto LA16_;
					addOpt__extccomp_u903((&result), (*option_1));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA16_: ;
				i_1 += ((NI)1);
			} LA12: ;
		}
	}
	{
		NimStringV2 key_2;
		NimStringV2 T22_;
		if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)6)))&63U)))!=0)) goto LA20_;
		key_2.len = 0; key_2.p = NIM_NIL;
		T22_.len = 0; T22_.p = NIM_NIL;
		T22_ = rawNewString(nimname_p1.len + 6);
appendString((&T22_), nimname_p1);
appendString((&T22_), TM__OyL9acDBDoBfMwa5zb1Y88w_100);
		key_2 = T22_;
		{
			NIM_BOOL T25_;
			NimStringV2 colontmpD__2;
			T25_ = (NIM_BOOL)0;
			T25_ = existsConfigVar__options_u3599(conf_p0, key_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T25_) goto LA26_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__2 = getConfigVar__options_u3603(conf_p0, key_2, TM__OyL9acDBDoBfMwa5zb1Y88w_101);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__2);
		}
		goto LA23_;
LA26_: ;
		{
			NimStringV2 colontmpD__3;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__3 = getDebug__extccomp_u1054(conf_p0, (*conf_p0).cCompiler);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__3);
		}
LA23_: ;
		eqdestroy___system_u2691(key_2);
	}
LA20_: ;
	{
		NimStringV2 key_3;
		NimStringV2 T33_;
		if (!(((*conf_p0).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)15)))&31U)))!=0)) goto LA31_;
		key_3.len = 0; key_3.p = NIM_NIL;
		T33_.len = 0; T33_.p = NIM_NIL;
		T33_ = rawNewString(nimname_p1.len + 6);
appendString((&T33_), nimname_p1);
appendString((&T33_), TM__OyL9acDBDoBfMwa5zb1Y88w_111);
		key_3 = T33_;
		{
			NIM_BOOL T36_;
			NimStringV2 colontmpD__4;
			T36_ = (NIM_BOOL)0;
			T36_ = existsConfigVar__options_u3599(conf_p0, key_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T36_) goto LA37_;
			colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
			colontmpD__4 = getConfigVar__options_u3603(conf_p0, key_3, TM__OyL9acDBDoBfMwa5zb1Y88w_112);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__4);
		}
		goto LA34_;
LA37_: ;
		{
			NimStringV2 colontmpD__5;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__5 = getOptSpeed__extccomp_u1050(conf_p0, (*conf_p0).cCompiler);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__5);
		}
LA34_: ;
		eqdestroy___system_u2691(key_3);
	}
	goto LA29_;
LA31_: ;
	{
		NimStringV2 key_4;
		NimStringV2 T43_;
		if (!(((*conf_p0).options &((NU32)1<<((NU)((((tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ)16)))&31U)))!=0)) goto LA41_;
		key_4.len = 0; key_4.p = NIM_NIL;
		T43_.len = 0; T43_.p = NIM_NIL;
		T43_ = rawNewString(nimname_p1.len + 5);
appendString((&T43_), nimname_p1);
appendString((&T43_), TM__OyL9acDBDoBfMwa5zb1Y88w_116);
		key_4 = T43_;
		{
			NIM_BOOL T46_;
			NimStringV2 colontmpD__6;
			T46_ = (NIM_BOOL)0;
			T46_ = existsConfigVar__options_u3599(conf_p0, key_4);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T46_) goto LA47_;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			colontmpD__6 = getConfigVar__options_u3603(conf_p0, key_4, TM__OyL9acDBDoBfMwa5zb1Y88w_117);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__6);
		}
		goto LA44_;
LA47_: ;
		{
			NimStringV2 colontmpD__7;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			colontmpD__7 = getOptSize__extccomp_u1058(conf_p0, (*conf_p0).cCompiler);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			addOpt__extccomp_u903((&result), colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___system_u2691(colontmpD__7);
		}
LA44_: ;
		eqdestroy___system_u2691(key_4);
	}
	goto LA29_;
LA41_: ;
LA29_: ;
	T50_.len = 0; T50_.p = NIM_NIL;
	T50_ = rawNewString(nimname_p1.len + 7);
appendString((&T50_), nimname_p1);
appendString((&T50_), TM__OyL9acDBDoBfMwa5zb1Y88w_121);
	key_1 = T50_;
	{
		NIM_BOOL T53_;
		NimStringV2 colontmpD__8;
		T53_ = (NIM_BOOL)0;
		T53_ = existsConfigVar__options_u3599(conf_p0, key_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T53_) goto LA54_;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		colontmpD__8 = getConfigVar__options_u3603(conf_p0, key_1, TM__OyL9acDBDoBfMwa5zb1Y88w_122);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		addOpt__extccomp_u903((&result), colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u2691(colontmpD__8);
	}
LA54_: ;
	colontmpD_ = getOrDefault__pureZstrtabs_u390((*conf_p0).cfileSpecificOptions, fullNimFile_p2, TM__OyL9acDBDoBfMwa5zb1Y88w_123);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	addOpt__extccomp_u903((&result), colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___system_u2691(colontmpD_);
	eqdestroy___system_u2691(key_1);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompilerExe__extccomp_u1191)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA compiler_p1, NIM_BOOL isCpp_p2) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 T5_;
		if (!(compiler_p1 == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)8))) goto LA3_;
		T5_.len = 0; T5_.p = NIM_NIL;
		{
			if (!isCpp_p2) goto LA8_;
			result = getEnv__stdZenvvars_u16(TM__OyL9acDBDoBfMwa5zb1Y88w_128, TM__OyL9acDBDoBfMwa5zb1Y88w_129);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA6_;
LA8_: ;
		{
			result = getEnv__stdZenvvars_u16(TM__OyL9acDBDoBfMwa5zb1Y88w_131, TM__OyL9acDBDoBfMwa5zb1Y88w_132);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA6_: ;
	}
	goto LA1_;
LA3_: ;
	{
		NimStringV2 T12_;
		T12_.len = 0; T12_.p = NIM_NIL;
		{
			if (!isCpp_p2) goto LA15_;
			eqcopy___system_u2694((&result), CC__extccomp_u624[(compiler_p1)- 1].Field5);
		}
		goto LA13_;
LA15_: ;
		{
			eqcopy___system_u2694((&result), CC__extccomp_u624[(compiler_p1)- 1].Field4);
		}
LA13_: ;
	}
LA1_: ;
	{
		NimStringV2 colontmpD_;
		if (!(result.len == ((NI)0))) goto LA20_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_134, CC__extccomp_u624[(compiler_p1)- 1].Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_135, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
		{
			LA22_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA20_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, needsExeExt__extccomp_u1138)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)10)))&63U)))!=0);
	if (!(T2_)) goto LA3_;
	T2_ = ((*conf_p0).target.targetOS == ((tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw)2));
LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T1_ = ((*conf_p0).target.hostOS == ((tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw)2));
LA4_: ;
	result = T1_;
	return result;
}
static N_INLINE(void, nimAddCharV1)(NimStringV2* s_p0, NIM_CHAR c_p1) {
	prepareAdd(s_p0, ((NI)1));
	(*(*s_p0).p).data[(*s_p0).len] = c_p1;
	(*s_p0).len += ((NI)1);
	(*(*s_p0).p).data[(*s_p0).len] = 0;
}
static N_INLINE(NIM_BOOL, noAbsolutePaths__extccomp_u1062)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NIM_BOOL result;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A colontmpD_;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A colontmpD__2;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A options_1;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A T6_;
	nimZeroMem((void*)(&colontmpD_), sizeof(tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A));
	{
		if (!((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)6))) goto LA3_;
		colontmpD_ = 4096;
		options_1 = colontmpD_;
	}
	goto LA1_;
LA3_: ;
	{
		colontmpD__2 = 5120;
		options_1 = colontmpD__2;
	}
LA1_: ;
	T6_ = 0;
	result = !((((*conf_p0).globalOptions & options_1) == T6_));
	return result;
}
static N_INLINE(NIM_BOOL, isEmpty__options_u4086)(NimStringV2 x_p0) {
	NIM_BOOL result;
	result = (x_p0.len == ((NI)0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, envFlags__extccomp_u1184)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		if (!((*conf_p0).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)2))) goto LA4_;
		result = getEnv__stdZenvvars_u16(TM__OyL9acDBDoBfMwa5zb1Y88w_160, TM__OyL9acDBDoBfMwa5zb1Y88w_161);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		result = getEnv__stdZenvvars_u16(TM__OyL9acDBDoBfMwa5zb1Y88w_163, TM__OyL9acDBDoBfMwa5zb1Y88w_164);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, vccplatform__extccomp_u1119)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 exe_1;
		NimStringV2 colontmpD_;
		if (!((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)6))) goto LA3_;
		exe_1.len = 0; exe_1.p = NIM_NIL;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		exe_1 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_184);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NimStringV2 T9_;
			colontmpD_ = nosextractFilename(exe_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!eqStrings(TM__OyL9acDBDoBfMwa5zb1Y88w_186, colontmpD_)) goto LA7_;
			T9_.len = 0; T9_.p = NIM_NIL;
			switch ((*conf_p0).target.targetCPU) {
			case ((tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw)1):
			{
				result = TM__OyL9acDBDoBfMwa5zb1Y88w_188;
			}
			break;
			case ((tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw)14):
			{
				result = TM__OyL9acDBDoBfMwa5zb1Y88w_190;
			}
			break;
			case ((tyEnum_TSystemCPU__3f9cinURS2hpZEHtBX69bm9cw)11):
			{
				result = TM__OyL9acDBDoBfMwa5zb1Y88w_192;
			}
			break;
			default:
			{
				result = TM__OyL9acDBDoBfMwa5zb1Y88w_193;
			}
			break;
			}
		}
		goto LA5_;
LA7_: ;
		{
			result = TM__OyL9acDBDoBfMwa5zb1Y88w_194;
		}
LA5_: ;
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(exe_1);
	}
	goto LA1_;
LA3_: ;
	{
		result = TM__OyL9acDBDoBfMwa5zb1Y88w_195;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompileCFileCmd__extccomp_u1228)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1, NIM_BOOL isMainFile_p2, NIM_BOOL produceOutput_p3) {
	NimStringV2 result;
	NimStringV2 options_1;
	NimStringV2 colontmpD_;
	NimStringV2 exe_1;
	NimStringV2 compilePattern_1;
	NimStringV2 includeCmd_1;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 cf_1;
	NimStringV2 objfile_1;
	NimStringV2 dfile_1;
	NimStringV2 colontmpD__5;
	NimStringV2 cfsh_1;
	NimStringV2 colontmpD__6;
	NimStringV2 colontmpD__7;
	NimStringV2 colontmpD__8;
	NimStringV2 colontmpD__9;
	NimStringV2 colontmpD__10;
	NimStringV2 colontmpD__11;
	NimStringV2 colontmpD__12;
	NimStringV2 colontmpD__13;
	NimStringV2 colontmpD__14;
	NimStringV2 colontmpD__15;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA c_1;
	NIM_BOOL isCpp_1;
	NimStringV2 T33_;
	tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T45_;
	NimStringV2 T46_;
	NimStringV2 T53_;
	tyArray__CVH4DKy6jsFwcdfgh9ceJxQ T75_;
	tyArray__zp5HAVhHYRyeZ9bWu3v0DCw T105_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	options_1.len = 0; options_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	exe_1.len = 0; exe_1.p = NIM_NIL;
	compilePattern_1.len = 0; compilePattern_1.p = NIM_NIL;
	includeCmd_1.len = 0; includeCmd_1.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	cf_1.len = 0; cf_1.p = NIM_NIL;
	objfile_1.len = 0; objfile_1.p = NIM_NIL;
	dfile_1.len = 0; dfile_1.p = NIM_NIL;
	colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
	cfsh_1.len = 0; cfsh_1.p = NIM_NIL;
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
	colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
	colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
	colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
	colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
	colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
	colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
	colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
	colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
	c_1 = (*conf_p0).cCompiler;
	isCpp_1 = useCpp__extccomp_u1153(conf_p0, (*cfile_p1).cname);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = noschangeFileExt((*cfile_p1).cname, TM__OyL9acDBDoBfMwa5zb1Y88w_124);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	options_1 = cFileSpecificOptions__extccomp_u1078(conf_p0, (*cfile_p1).nimname, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 T6_;
		if (!isCpp_1) goto LA4_;
		T6_.len = 0; T6_.p = NIM_NIL;
		T6_ = rawNewString(CC__extccomp_u624[(c_1)- 1].Field20.len + options_1.len + 1);
appendString((&T6_), CC__extccomp_u624[(c_1)- 1].Field20);
appendChar((&T6_), 32);
appendString((&T6_), options_1);
		eqsink___system_u2700((&options_1), T6_);
		(*conf_p0).globalOptions |= ((NU64)1)<<(((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)40))) & 63);
	}
LA4_: ;
	exe_1 = getConfigVar__extccomp_u759(conf_p0, c_1, TM__OyL9acDBDoBfMwa5zb1Y88w_126);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 T11_;
		if (!(exe_1.len == ((NI)0))) goto LA9_;
		T11_.len = 0; T11_.p = NIM_NIL;
		T11_ = getCompilerExe__extccomp_u1191(conf_p0, c_1, isCpp_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T11_); goto LA1_;}
		eqsink___system_u2700((&exe_1), T11_);
	}
LA9_: ;
	{
		NIM_BOOL T14_;
		NimStringV2 T17_;
		T14_ = (NIM_BOOL)0;
		T14_ = needsExeExt__extccomp_u1138(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T14_) goto LA15_;
		T17_.len = 0; T17_.p = NIM_NIL;
		T17_ = nosaddFileExt(exe_1, TM__OyL9acDBDoBfMwa5zb1Y88w_138);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T17_); goto LA1_;}
		eqsink___system_u2700((&exe_1), T17_);
	}
LA15_: ;
	{
		NIM_BOOL T20_;
		NIM_BOOL T21_;
		NIM_BOOL T23_;
		NimStringV2 colontmpD__16;
		NimStringV2 T28_;
		T20_ = (NIM_BOOL)0;
		T21_ = (NIM_BOOL)0;
		T21_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)7)))&63U)))!=0);
		if (T21_) goto LA22_;
		T23_ = (NIM_BOOL)0;
		T23_ = hcrOn__options_u629(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T23_)) goto LA24_;
		T23_ = !(isMainFile_p2);
LA24_: ;
		T21_ = T23_;
LA22_: ;
		T20_ = T21_;
		if (!(T20_)) goto LA25_;
		T20_ = ((OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field12 &((NU8)1<<((NU)((((tyEnum_TInfoOSProp__5b6NqsPwwsBH1DpW70xRSg)0)))&7U)))!=0);
LA25_: ;
		if (!T20_) goto LA26_;
		colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
		T28_.len = 0; T28_.p = NIM_NIL;
		T28_ = rawNewString(CC__extccomp_u624[(c_1)- 1].Field16.len + 1);
appendChar((&T28_), 32);
appendString((&T28_), CC__extccomp_u624[(c_1)- 1].Field16);
		colontmpD__16 = T28_;
		prepareAdd((&options_1), colontmpD__16.len + 0);
appendString((&options_1), colontmpD__16);
		eqdestroy___system_u2691(colontmpD__16);
	}
LA26_: ;
	{
		if (!!(((*cfile_p1).customArgs.len == 0))) goto LA31_;
		nimAddCharV1((&options_1), 32);
		prepareAdd((&options_1), (*cfile_p1).customArgs.len + 0);
appendString((&options_1), (*cfile_p1).customArgs);
	}
LA31_: ;
	T33_.len = 0; T33_.p = NIM_NIL;
	colontmpD__2 = nospquoteShell((*conf_p0).libpath);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T33_ = rawNewString(CC__extccomp_u624[(c_1)- 1].Field12.len + colontmpD__2.len + 0);
appendString((&T33_), CC__extccomp_u624[(c_1)- 1].Field12);
appendString((&T33_), colontmpD__2);
	includeCmd_1 = T33_;
	{
		NIM_BOOL T36_;
		T36_ = (NIM_BOOL)0;
		T36_ = noAbsolutePaths__extccomp_u1062(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T36_)) goto LA37_;
		{
			NimStringV2* includeDir_1;
			NI i_1;
			NI L_1;
			NI T40_;
			includeDir_1 = (NimStringV2*)0;
			i_1 = ((NI)0);
			T40_ = (*conf_p0).cIncludes.len;
			L_1 = T40_;
			{
				while (1) {
					NimStringV2 colontmpD__17;
					NimStringV2 colontmpD__18;
					tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T43_;
					if (!(i_1 < L_1)) goto LA42;
					colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
					colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
					includeDir_1 = (&(*conf_p0).cIncludes.p->data[i_1]);
					T43_[0] = CC__extccomp_u624[(c_1)- 1].Field12;
					colontmpD__17 = nospquoteShell((*includeDir_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T43_[1] = colontmpD__17;
					colontmpD__18 = nsuJoinSep(T43_, 2, TM__OyL9acDBDoBfMwa5zb1Y88w_139);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					prepareAdd((&includeCmd_1), colontmpD__18.len + 0);
appendString((&includeCmd_1), colontmpD__18);
					i_1 += ((NI)1);
					eqdestroy___system_u2691(colontmpD__18);
					eqdestroy___system_u2691(colontmpD__17);
				} LA42: ;
			}
		}
		compilePattern_1 = nosjoinPath((*conf_p0).cCompilerPath, exe_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA34_;
LA37_: ;
	{
		compilePattern_1 = exe_1;
		eqwasMoved___system_u2688((&exe_1));
	}
LA34_: ;
	T45_[0] = CC__extccomp_u624[(c_1)- 1].Field12;
	colontmpD__3 = nospquoteShell((*conf_p0).projectPath);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T45_[1] = colontmpD__3;
	colontmpD__4 = nsuJoinSep(T45_, 2, TM__OyL9acDBDoBfMwa5zb1Y88w_140);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&includeCmd_1), colontmpD__4.len + 0);
appendString((&includeCmd_1), colontmpD__4);
	T46_.len = 0; T46_.p = NIM_NIL;
	{
		NIM_BOOL T49_;
		T49_ = (NIM_BOOL)0;
		T49_ = noAbsolutePaths__extccomp_u1062(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T49_) goto LA50_;
		cf_1 = nosextractFilename((*cfile_p1).cname);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA47_;
LA50_: ;
	{
		eqcopy___system_u2694((&cf_1), (*cfile_p1).cname);
	}
LA47_: ;
	T53_.len = 0; T53_.p = NIM_NIL;
	{
		NIM_BOOL T56_;
		NimStringV2 T59_;
		T56_ = (NIM_BOOL)0;
		T56_ = isEmpty__options_u4086((*cfile_p1).obj);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T56_) goto LA57_;
		T59_.len = 0; T59_.p = NIM_NIL;
		{
			NIM_BOOL T62_;
			T62_ = (NIM_BOOL)0;
			T62_ = !((((*cfile_p1).flags &((NU8)1<<((NU)((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)1)))&7U)))!=0));
			if (T62_) goto LA63_;
			T62_ = noAbsolutePaths__extccomp_u1062(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA63_: ;
			if (!T62_) goto LA64_;
			objfile_1 = toObjFile__extccomp_u934(conf_p0, cf_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA60_;
LA64_: ;
		{
			NimStringV2 colontmpD__19;
			colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
			colontmpD__19 = toObjFile__extccomp_u934(conf_p0, cf_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
			objfile_1 = completeCfilePath__extccomp_u929(conf_p0, colontmpD__19, NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
			{
				LA67_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__19);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA60_: ;
	}
	goto LA54_;
LA57_: ;
	{
		NIM_BOOL T71_;
		T71_ = (NIM_BOOL)0;
		T71_ = noAbsolutePaths__extccomp_u1062(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T71_) goto LA72_;
		objfile_1 = nosextractFilename((*cfile_p1).obj);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA54_;
LA72_: ;
	{
		NimStringV2 colontmpD__20;
		colontmpD__20 = eqdup___system_u2697((*cfile_p1).obj);
		objfile_1 = colontmpD__20;
	}
LA54_: ;
	colontmpD__5 = noschangeFileExt(objfile_1, TM__OyL9acDBDoBfMwa5zb1Y88w_142);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	dfile_1 = nospquoteShell(colontmpD__5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	cfsh_1 = nospquoteShell(cf_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T75_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_144;
	T75_[1] = dfile_1;
	T75_[2] = TM__OyL9acDBDoBfMwa5zb1Y88w_146;
	T75_[3] = cfsh_1;
	T75_[4] = TM__OyL9acDBDoBfMwa5zb1Y88w_148;
	colontmpD__6 = nospquoteShell(objfile_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T75_[5] = colontmpD__6;
	T75_[6] = TM__OyL9acDBDoBfMwa5zb1Y88w_150;
	T75_[7] = options_1;
	T75_[8] = TM__OyL9acDBDoBfMwa5zb1Y88w_152;
	T75_[9] = includeCmd_1;
	T75_[10] = TM__OyL9acDBDoBfMwa5zb1Y88w_154;
	colontmpD__7 = getPrefixDir__options_u3645(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T75_[11] = colontmpD__7;
	T75_[12] = TM__OyL9acDBDoBfMwa5zb1Y88w_156;
	T75_[13] = (*conf_p0).libpath;
	T75_[14] = TM__OyL9acDBDoBfMwa5zb1Y88w_158;
	colontmpD__8 = envFlags__extccomp_u1184(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T75_[15] = colontmpD__8;
	colontmpD__9 = nsuFormatOpenArray(compilePattern_1, T75_, 16);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = nospquoteShell(colontmpD__9);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)50)))&63U)))!=0)) goto LA78_;
		{
			NimStringV2 asmfile_1;
			NimStringV2 colontmpD__21;
			NimStringV2 colontmpD__22;
			tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T85_;
			if (!(((NI)0) < CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field19.len)) goto LA82_;
			asmfile_1.len = 0; asmfile_1.p = NIM_NIL;
			colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
			colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
			colontmpD__21 = noschangeFileExt(objfile_1, TM__OyL9acDBDoBfMwa5zb1Y88w_166);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			asmfile_1 = nospquoteShell(colontmpD__21);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			T85_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_168;
			T85_[1] = asmfile_1;
			colontmpD__22 = nsuFormatOpenArray(CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field19, T85_, 2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			addOpt__extccomp_u903((&result), colontmpD__22);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			{
				NimStringV2 colontmpD__23;
				NimStringV2 T91_;
				if (!produceOutput_p3) goto LA88_;
				colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
				T91_.len = 0; T91_.p = NIM_NIL;
				T91_ = rawNewString(asmfile_1.len + 25);
appendString((&T91_), TM__OyL9acDBDoBfMwa5zb1Y88w_170);
appendString((&T91_), asmfile_1);
				colontmpD__23 = T91_;
				liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)119), colontmpD__23, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_171, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA90_;
				{
					LA90_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__23);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			}
LA88_: ;
			{
				LA84_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__22);
				eqdestroy___system_u2691(colontmpD__21);
				eqdestroy___system_u2691(asmfile_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA80_;
LA82_: ;
		{
			{
				NimStringV2 colontmpD__24;
				NimStringV2 T102_;
				if (!produceOutput_p3) goto LA99_;
				colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
				T102_.len = 0; T102_.p = NIM_NIL;
				T102_ = rawNewString(CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0.len + 64);
appendString((&T102_), TM__OyL9acDBDoBfMwa5zb1Y88w_173);
appendString((&T102_), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0);
				colontmpD__24 = T102_;
				liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)119), colontmpD__24, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_174, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA101_;
				{
					LA101_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__24);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
LA99_: ;
		}
LA80_: ;
	}
LA78_: ;
	nimAddCharV1((&result), 32);
	T105_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_175;
	T105_[1] = dfile_1;
	T105_[2] = TM__OyL9acDBDoBfMwa5zb1Y88w_176;
	T105_[3] = cfsh_1;
	T105_[4] = TM__OyL9acDBDoBfMwa5zb1Y88w_177;
	colontmpD__10 = nospquoteShell(objfile_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T105_[5] = colontmpD__10;
	T105_[6] = TM__OyL9acDBDoBfMwa5zb1Y88w_178;
	T105_[7] = options_1;
	T105_[8] = TM__OyL9acDBDoBfMwa5zb1Y88w_179;
	T105_[9] = includeCmd_1;
	T105_[10] = TM__OyL9acDBDoBfMwa5zb1Y88w_180;
	colontmpD__11 = getPrefixDir__options_u3645(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__12 = nospquoteShell(colontmpD__11);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T105_[11] = colontmpD__12;
	T105_[12] = TM__OyL9acDBDoBfMwa5zb1Y88w_181;
	colontmpD__13 = nospquoteShell((*conf_p0).libpath);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T105_[13] = colontmpD__13;
	T105_[14] = TM__OyL9acDBDoBfMwa5zb1Y88w_183;
	colontmpD__14 = vccplatform__extccomp_u1119(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T105_[15] = colontmpD__14;
	T105_[16] = TM__OyL9acDBDoBfMwa5zb1Y88w_196;
	colontmpD__15 = envFlags__extccomp_u1184(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T105_[17] = colontmpD__15;
	nsuAddf((&result), CC__extccomp_u624[(c_1)- 1].Field6, T105_, 18);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__15);
		eqdestroy___system_u2691(colontmpD__14);
		eqdestroy___system_u2691(colontmpD__13);
		eqdestroy___system_u2691(colontmpD__12);
		eqdestroy___system_u2691(colontmpD__11);
		eqdestroy___system_u2691(colontmpD__10);
		eqdestroy___system_u2691(colontmpD__9);
		eqdestroy___system_u2691(colontmpD__8);
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(cfsh_1);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(dfile_1);
		eqdestroy___system_u2691(objfile_1);
		eqdestroy___system_u2691(cf_1);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(includeCmd_1);
		eqdestroy___system_u2691(compilePattern_1);
		eqdestroy___system_u2691(exe_1);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(options_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, footprint__extccomp_u1310)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1, tyArray__9amPDC9cslxc3W1WNI8aK5gA Result) {
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 T2_;
	tyArray__9amPDC9cslxc3W1WNI8aK5gA T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	nimZeroMem((void*)T3_, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
	secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946((*cfile_p1).cname, T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(T3_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = getCompileCFileCmd__extccomp_u1228(conf_p0, cfile_p1, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = rawNewString(colontmpD_.len + OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field0.len + CPU__platform_u740[((*conf_p0).target.targetCPU)- 1].Field0.len + CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0.len + colontmpD__2.len + 0);
appendString((&T2_), colontmpD_);
appendString((&T2_), OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field0);
appendString((&T2_), CPU__platform_u740[((*conf_p0).target.targetCPU)- 1].Field0);
appendString((&T2_), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0);
appendString((&T2_), colontmpD__2);
	colontmpD__3 = T2_;
	secureHash__OOZdistZchecksumsZsrcZchecksumsZsha1_u884(((colontmpD__3).p) ? (colontmpD__3.p->data) : NIM_NIL, colontmpD__3.len, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, writeLine__msgs_u470)(FILE* f_p0, NimStringV2* x_p1, NI x_p1Len_0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NimStringV2* i_1;
		NI i_2;
		i_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < x_p1Len_0)) goto LA3;
				i_1 = (&x_p1[i_2]);
				write__stdZsyncio_u254(f_p0, (*i_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	write__stdZsyncio_u254(f_p0, TM__OyL9acDBDoBfMwa5zb1Y88w_198);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, externalFileChanged__extccomp_u1314)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cfile_p1) {
	NIM_BOOL result;
	NimStringV2 hashFile_1;
	NimStringV2 colontmpD_;
	tyArray__9amPDC9cslxc3W1WNI8aK5gA currentHash_1;
	FILE* f_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	hashFile_1.len = 0; hashFile_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		if (!((*conf_p0).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)3))) goto LA4_;
		result = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(hashFile_1);
		goto BeforeRet_;
	}
LA4_: ;
	colontmpD_ = mangleModuleName__modulepaths_u40(conf_p0, (*cfile_p1).cname);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	hashFile_1 = toGeneratedFile__options_u3816(conf_p0, colontmpD_, TM__OyL9acDBDoBfMwa5zb1Y88w_86);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimZeroMem((void*)currentHash_1, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
	footprint__extccomp_u1310(conf_p0, cfile_p1, currentHash_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	f_1 = 0;
	{
		NIM_BOOL T8_;
		NimStringV2 colontmpD__2;
		tyArray__9amPDC9cslxc3W1WNI8aK5gA oldHash_1;
		NIM_BOOL T12_;
		T8_ = (NIM_BOOL)0;
		T8_ = open__stdZsyncio_u412(&f_1, hashFile_1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)0), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T8_) goto LA9_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		nimZeroMem((void*)oldHash_1, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
		colontmpD__2 = readLine__stdZsyncio_u319(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		parseSecureHash__OOZdistZchecksumsZsrcZchecksumsZsha1_u988(colontmpD__2, oldHash_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		close__stdZsyncio_u268(f_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		T12_ = (NIM_BOOL)0;
		T12_ = eqeq___OOZdistZchecksumsZsrcZchecksumsZsha1_u996(oldHash_1, currentHash_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
		result = !(T12_);
		{
			LA11_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA6_;
LA9_: ;
	{
		result = NIM_TRUE;
	}
LA6_: ;
	{
		if (!result) goto LA18_;
		{
			NIM_BOOL T22_;
			NimStringV2 colontmpD__3;
			tyArray__YgExxhfgKcesA5EOUj1MOA T26_;
			T22_ = (NIM_BOOL)0;
			T22_ = open__stdZsyncio_u412(&f_1, hashFile_1, ((tyEnum_FileMode__YkEVJbjDa9aPvYTBr8yiUWg)1), ((NI)-1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T22_) goto LA23_;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			colontmpD__3 = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(currentHash_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			T26_[0] = colontmpD__3;
			writeLine__msgs_u470(f_1, T26_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			close__stdZsyncio_u268(f_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
			{
				LA25_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA23_: ;
	}
LA18_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(hashFile_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_u1334)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* c_p1) {
	tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg colontmpD_;
	NIM_BOOL extFileChanged_1;
	tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	extFileChanged_1 = externalFileChanged__extccomp_u1314(conf_p0, (&(*c_p1)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !((((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)1)))&63U)))!=0));
		if (!(T4_)) goto LA5_;
		T4_ = nosfileExists((*c_p1).obj);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = !(extFileChanged_1);
LA6_: ;
		if (!T3_) goto LA7_;
		(*c_p1).flags |= ((NU8)1)<<(((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)0))) & 7);
	}
	goto LA1_;
LA7_: ;
	{
		NIM_BOOL T10_;
		T10_ = (NIM_BOOL)0;
		T10_ = nostryRemoveFile((*c_p1).obj);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(void)(T10_);
	}
LA1_: ;
	nimZeroMem((void*)(&T11_), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
	eqdup___options_u1625((&(*c_p1)), (&T11_));
	colontmpD_ = T11_;
	add__extccomp_u941((&(*conf_p0).toCompile), (&colontmpD_));
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToCompile__extccomp_u1350)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1) {
	tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg c_1;
	NimStringV2 colontmpD_;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&c_1), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	nimZeroMem((void*)(&c_1), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
	colontmpD__2 = splitFile__pathutils_u39(filename_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = eqdup___system_u2697(colontmpD__2.Field1);
	c_1.nimname = colontmpD_;
	colontmpD__3 = eqdup___system_u2697(filename_p1);
	c_1.cname = colontmpD__3;
	colontmpD__4 = completeCfilePath__extccomp_u929(conf_p0, filename_p1, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.obj = toObjFile__extccomp_u934(conf_p0, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	c_1.flags = 2;
	addExternalFileToCompile__extccomp_u1334(conf_p0, (&c_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___pathutils_u73(colontmpD__2);
		eqdestroy___options_u1619((&c_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addExternalFileToLink__extccomp_u977)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 filename_p1) {
	NimStringV2 colontmpD_;
	colontmpD_ = eqdup___system_u2697(filename_p1);
	insert__extccomp_u980((&(*conf_p0).externalToLink), colontmpD_, ((NI)0));
}
static N_INLINE(NIM_BOOL, contains__extccomp_u744)(tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw s_p0, tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw value_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (s_p0.a <= value_p1);
	if (!(T1_)) goto LA2_;
	T1_ = (value_p1 <= s_p0.b);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw, dotdot___extccomp_u712)(tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw a_p0, tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw b_p1) {
	tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVSCompatible__extccomp_u696)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	NIM_BOOL T5_;
	tyObject_HSlice__jTzy16kbpXsRZ9bJ9cAoPT9bw T7_;
{	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)6));
	if (T2_) goto LA3_;
	T2_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)11));
LA3_: ;
	T1_ = T2_;
	if (T1_) goto LA4_;
	T5_ = (NIM_BOOL)0;
	T5_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)9));
	if (!(T5_)) goto LA6_;
	T7_ = dotdot___extccomp_u712(((tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw)1), ((tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw)2));
	T5_ = contains__extccomp_u744(T7_, (*conf_p0).target.hostOS);
LA6_: ;
	T1_ = T5_;
LA4_: ;
	result = T1_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addCompileOptionCmd__extccomp_u915)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1) {
	NimStringV2 colontmpD_;
	colontmpD_ = eqdup___system_u2697(option_p1);
	add__stdZenumutils_u71((&(*conf_p0).compileOptionsCmd), colontmpD_);
}
N_LIB_PRIVATE N_NIMCALL(void, addLinkOptionCmd__extccomp_u912)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addOpt__extccomp_u903((&(*conf_p0).linkOptionsCmd), option_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA, nameToCC__extccomp_u628)(NimStringV2 name_p0) {
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA i_1;
		NI res_1;
		i_1 = (tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)0;
		res_1 = ((NI)1);
		{
			while (1) {
				if (!(res_1 <= ((NI)13))) goto LA3;
				i_1 = ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA) (res_1));
				{
					NI T6_;
					T6_ = (NI)0;
					T6_ = nsuCmpIgnoreStyle(name_p0, CC__extccomp_u624[(i_1)- 1].Field0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!(T6_ == ((NI)0))) goto LA7_;
					result = i_1;
					goto BeforeRet_;
				}
LA7_: ;
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	result = ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)0);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, listCCnames__extccomp_u671)(void) {
	NimStringV2 result;
	result = TM__OyL9acDBDoBfMwa5zb1Y88w_199;
	{
		tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA i_1;
		NI res_1;
		i_1 = (tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)0;
		res_1 = ((NI)1);
		{
			while (1) {
				if (!(res_1 <= ((NI)13))) goto LA3;
				i_1 = ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA) (res_1));
				{
					if (!(((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)1) < i_1)) goto LA6_;
					prepareAdd((&result), 2);
appendString((&result), TM__OyL9acDBDoBfMwa5zb1Y88w_201);
				}
LA6_: ;
				prepareAdd((&result), CC__extccomp_u624[(i_1)- 1].Field0.len + 0);
appendString((&result), CC__extccomp_u624[(i_1)- 1].Field0);
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setCC__extccomp_u781)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 ccname_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2) {
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA T1_;
	NimStringV2 T10_;
	NimStringV2 T11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)0;
	T1_ = nameToCC__extccomp_u628(ccname_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*conf_p0).cCompiler = T1_;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T7_;
		if (!((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)0))) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T7_[0] = ccname_p1;
		colontmpD_ = listCCnames__extccomp_u671();
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_[1] = colontmpD_;
		colontmpD__2 = percent___extccomp_u789(T7_, 2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227(conf_p0, info_p2, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__OyL9acDBDoBfMwa5zb1Y88w_202, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	T10_.len = 0; T10_.p = NIM_NIL;
	T10_ = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_204);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T10_); goto BeforeRet_;}
	eqsink___system_u2700((&(*conf_p0).compileOptions), T10_);
	eqsink___system_u2700((&(*conf_p0).linkOptions), TM__OyL9acDBDoBfMwa5zb1Y88w_205);
	T11_.len = 0; T11_.p = NIM_NIL;
	T11_ = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_207);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T11_); goto BeforeRet_;}
	eqsink___system_u2700((&(*conf_p0).cCompilerPath), T11_);
	{
		tyTuple__Sb9czl1rSUt9cR4FEpnHeteg c_1;
		tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA i_1;
		nimZeroMem((void*)(&c_1), sizeof(tyTuple__Sb9czl1rSUt9cR4FEpnHeteg));
		i_1 = ((tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA)1);
		{
			while (1) {
				c_1 = CC__extccomp_u624[(i_1)- 1];
				undefSymbol__condsyms_u8((*conf_p0).symbols, c_1.Field0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!(((tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA)13) <= i_1)) goto LA17_;
					goto LA13;
				}
LA17_: ;
				i_1 += ((NI)1);
			}
		} LA13: ;
	}
	defineSymbol__condsyms_u4((*conf_p0).symbols, CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0, TM__OyL9acDBDoBfMwa5zb1Y88w_209);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addLocalCompileOption__extccomp_u961)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1, NimStringV2 nimfile_p2) {
	NimStringV2 key_1;
	NimStringV2 colontmpD_;
	NimStringV2 value_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	key_1.len = 0; key_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	value_1.len = 0; value_1.p = NIM_NIL;
	colontmpD_ = mangleModuleName__modulepaths_u40(conf_p0, nimfile_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	key_1 = completeCfilePath__extccomp_u929(conf_p0, colontmpD_, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	value_1 = getOrDefault__pureZstrtabs_u390((*conf_p0).cfileSpecificOptions, key_1, TM__OyL9acDBDoBfMwa5zb1Y88w_210);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = nsuFindStr(value_1, option_p1, ((NI)0), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_ < ((NI)0))) goto LA5_;
		addOpt__extccomp_u903((&value_1), option_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		nstPut((*conf_p0).cfileSpecificOptions, key_1, value_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA5_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(value_1);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(key_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addLinkOption__extccomp_u906)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	addOpt__extccomp_u903((&(*conf_p0).linkOptions), option_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addCompileOption__extccomp_u909)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 option_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		T3_ = (NI)0;
		T3_ = nsuFindStr((*conf_p0).compileOptions, option_p1, ((NI)0), ((NI)-1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_ < ((NI)0))) goto LA4_;
		addOpt__extccomp_u903((&(*conf_p0).compileOptions), option_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, initVars__extccomp_u922)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	{
		tyTuple__Sb9czl1rSUt9cR4FEpnHeteg c_1;
		tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA i_1;
		nimZeroMem((void*)(&c_1), sizeof(tyTuple__Sb9czl1rSUt9cR4FEpnHeteg));
		i_1 = ((tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA)1);
		{
			while (1) {
				c_1 = CC__extccomp_u624[(i_1)- 1];
				undefSymbol__condsyms_u8((*conf_p0).symbols, c_1.Field0);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!(((tyEnum_TSystemCC__U1O9aUwf3SnOjl8zTAqNPkA)13) <= i_1)) goto LA7_;
					goto LA3;
				}
LA7_: ;
				i_1 += ((NI)1);
			}
		} LA3: ;
	}
	defineSymbol__condsyms_u4((*conf_p0).symbols, CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field0, TM__OyL9acDBDoBfMwa5zb1Y88w_211);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD_ = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_212);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addCompileOption__extccomp_u909(conf_p0, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2 T13_;
		if (!((*conf_p0).cCompilerPath.len == ((NI)0))) goto LA11_;
		T13_.len = 0; T13_.p = NIM_NIL;
		T13_ = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_213);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T13_); goto LA1_;}
		eqsink___system_u2700((&(*conf_p0).cCompilerPath), T13_);
	}
LA11_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u2337)(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA* dest_p0) {
	eqdestroy___system_u2691((*dest_p0).nimexe);
	eqdestroy___stdZenvvars_u82((*dest_p0).depfiles);
	eqdestroy___system_u2691((*dest_p0).cmdline);
	eqdestroy___system_u2691((*dest_p0).currentDir);
	eqdestroy___system_u2691((*dest_p0).cmdInput);
	eqdestroy___system_u5536((*dest_p0).configFiles);
	eqdestroy___system_u5536((*dest_p0).extraCmds);
	eqdestroy___system_u2691((*dest_p0).linkcmd);
	eqdestroy___system_u5536((*dest_p0).link);
	eqdestroy___stdZenvvars_u82((*dest_p0).compile);
	eqdestroy___system_u2691((*dest_p0).outputLastModificationTime);
	eqdestroy___system_u2691((*dest_p0).outputFile);
	eqdestroy___system_u2691((*dest_p0).cacheVersion);
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3629;
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3662(&currException__system_u3629, (*currException__system_u3629).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, changeDetectedViaJsonBuildInstructions__extccomp_u2399)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 jsonFile_p1) {
	NIM_BOOL result;
	NimStringV2 colontmpD_;
	tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA bcache_1;
	NimStringV2 colontmpD__2;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 colontmpD__5;
	NimStringV2 colontmpD__6;
	NimStringV2 colontmpD__7;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* colontmpD__8;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* T12_;
	tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ T13_;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
	result = NIM_FALSE;
	{
		NIM_BOOL T4_;
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T4_ = (NIM_BOOL)0;
		T5_ = (NIM_BOOL)0;
		T5_ = nosfileExists(jsonFile_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !(T5_);
		if (T4_) goto LA6_;
		colontmpD_ = absOutFile__options_u3622(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T7_ = (NIM_BOOL)0;
		T7_ = nosfileExists(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !(T7_);
LA6_: ;
		if (!T4_) goto LA8_;
		result = NIM_TRUE;
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u5536(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA8_: ;
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	colontmpD__8 = NIM_NIL;
	T12_ = NIM_NIL;
	T12_ = parseFile__pureZjson_u5595(jsonFile_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u324(T12_); goto LA11_;}
	colontmpD__8 = T12_;
	nimZeroMem((void*)(&T13_), sizeof(tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ));
	fromJson__extccomp_u2409((&bcache_1), colontmpD__8, T13_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
	{
		LA11_:;
	}
	{
		oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u324(colontmpD__8);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		*nimErr_ = oldNimErrFin11_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA10_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 395251200)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3796386048)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1871340544)) {
			NimStringV2 colontmpD__9;
			NimStringV2 T20_;
			*nimErr_ = NIM_FALSE;
			colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
			T20_.len = 0; T20_.p = NIM_NIL;
			T20_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_215, jsonFile_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T20_); goto LA19_;}
			colontmpD__9 = T20_;
			write__stdZsyncio_u254(__stderrp, colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			result = NIM_TRUE;
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___system_u2691(colontmpD__4);
			eqdestroy___system_u5536(colontmpD__3);
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___extccomp_u2337((&bcache_1));
			eqdestroy___system_u2691(colontmpD_);
			popCurrentException();
			goto BeforeRet_;
			{
				LA19_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__9);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
			popCurrentException();
			LA17_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T25_;
		NIM_BOOL T26_;
		NIM_BOOL T27_;
		NIM_BOOL T28_;
		NIM_BOOL T29_;
		NIM_BOOL T30_;
		NIM_BOOL T31_;
		NimStringV2 T32_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ T34_;
		NIM_BOOL T41_;
		NimStringV2 T44_;
		NimStringV2 T47_;
		tyArray__9amPDC9cslxc3W1WNI8aK5gA T48_;
		NimStringV2 T49_;
		T25_ = (NIM_BOOL)0;
		T26_ = (NIM_BOOL)0;
		T27_ = (NIM_BOOL)0;
		T28_ = (NIM_BOOL)0;
		T29_ = (NIM_BOOL)0;
		T30_ = (NIM_BOOL)0;
		T31_ = (NIM_BOOL)0;
		T32_.len = 0; T32_.p = NIM_NIL;
		T32_ = nosgetCurrentDir();
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T32_); goto LA1_;}
		colontmpD__2 = T32_;
		T31_ = !(eqStrings(bcache_1.currentDir, colontmpD__2));
		if (T31_) goto LA33_;
		T34_.len = 0; T34_.p = NIM_NIL;
		{
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmp__1;
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ resultX60gensym163__1;
			NI iX60gensym163__1;
			NI T36_;
			colontmp__1.len = 0; colontmp__1.p = NIM_NIL;
			resultX60gensym163__1.len = 0; resultX60gensym163__1.p = NIM_NIL;
			eqcopy___options_u1871((&colontmp__1), (*conf_p0).configFiles);
			iX60gensym163__1 = ((NI)0);
			T36_ = colontmp__1.len;
			resultX60gensym163__1 = newSeq__stdZsyncio_u571((T36_));
			{
				NimStringV2* it_1;
				NI i_1;
				NI L_1;
				NI T38_;
				it_1 = (NimStringV2*)0;
				i_1 = ((NI)0);
				T38_ = colontmp__1.len;
				L_1 = T38_;
				{
					while (1) {
						NimStringV2 colontmpD__10;
						if (!(i_1 < L_1)) goto LA40;
						it_1 = (&colontmp__1.p->data[i_1]);
						colontmpD__10 = eqdup___system_u2697((*it_1));
						eqsink___system_u2700((&resultX60gensym163__1.p->data[iX60gensym163__1]), colontmpD__10);
						iX60gensym163__1 += ((NI)1);
						i_1 += ((NI)1);
					} LA40: ;
				}
			}
			colontmpD__3 = resultX60gensym163__1;
			eqdestroy___options_u1868(colontmp__1);
			T34_ = colontmpD__3;
		}
		T41_ = (NIM_BOOL)0;
		T41_ = eqeq___extccomp_u3126(bcache_1.configFiles, T34_);
		T31_ = !(T41_);
LA33_: ;
		T30_ = T31_;
		if (T30_) goto LA42_;
		T30_ = !(eqStrings(bcache_1.cacheVersion, TM__OyL9acDBDoBfMwa5zb1Y88w_217));
LA42_: ;
		T29_ = T30_;
		if (T29_) goto LA43_;
		T44_.len = 0; T44_.p = NIM_NIL;
		T44_ = absOutFile__options_u3622(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T44_); goto LA1_;}
		colontmpD__4 = T44_;
		T29_ = !(eqStrings(bcache_1.outputFile, colontmpD__4));
LA43_: ;
		T28_ = T29_;
		if (T28_) goto LA45_;
		T28_ = !(eqStrings(bcache_1.cmdline, (*conf_p0).commandLine));
LA45_: ;
		T27_ = T28_;
		if (T27_) goto LA46_;
		T47_.len = 0; T47_.p = NIM_NIL;
		T47_ = nosgetAppFilename();
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T47_); goto LA1_;}
		colontmpD__5 = T47_;
		nimZeroMem((void*)T48_, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
		secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946(colontmpD__5, T48_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T49_.len = 0; T49_.p = NIM_NIL;
		T49_ = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(T48_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T49_); goto LA1_;}
		colontmpD__6 = T49_;
		T27_ = !(eqStrings(bcache_1.nimexe, colontmpD__6));
LA46_: ;
		T26_ = T27_;
		if (T26_) goto LA50_;
		T26_ = !((bcache_1.projectIsCmd == (*conf_p0).projectIsCmd));
LA50_: ;
		T25_ = T26_;
		if (T25_) goto LA51_;
		T25_ = !(eqStrings((*conf_p0).cmdInput, bcache_1.cmdInput));
LA51_: ;
		if (!T25_) goto LA52_;
		result = NIM_TRUE;
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u5536(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA52_: ;
	{
		NIM_BOOL T56_;
		T56_ = (NIM_BOOL)0;
		T56_ = bcache_1.stdinInput;
		if (T56_) goto LA57_;
		T56_ = (*conf_p0).projectIsStdin;
LA57_: ;
		if (!T56_) goto LA58_;
		result = NIM_TRUE;
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u5536(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA58_: ;
	{
		NimStringV2* file_1;
		NimStringV2* hash_1;
		NI i_2;
		NI L_2;
		NI T61_;
		file_1 = (NimStringV2*)0;
		hash_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T61_ = bcache_1.depfiles.len;
		L_2 = T61_;
		{
			while (1) {
				NimStringV2 colontmpD__11;
				if (!(i_2 < L_2)) goto LA63;
				colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
				file_1 = (&bcache_1.depfiles.p->data[i_2].Field0);
				hash_1 = (&bcache_1.depfiles.p->data[i_2].Field1);
				{
					tyArray__9amPDC9cslxc3W1WNI8aK5gA T67_;
					NimStringV2 T68_;
					nimZeroMem((void*)T67_, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
					secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946((*file_1), T67_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
					T68_.len = 0; T68_.p = NIM_NIL;
					T68_ = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(T67_);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T68_); goto LA64_;}
					colontmpD__11 = T68_;
					if (!!(eqStrings(colontmpD__11, (*hash_1)))) goto LA69_;
					result = NIM_TRUE;
					eqdestroy___system_u2691(colontmpD__11);
					eqdestroy___system_u2691(colontmpD__7);
					eqdestroy___system_u2691(colontmpD__6);
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u5536(colontmpD__3);
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___extccomp_u2337((&bcache_1));
					eqdestroy___system_u2691(colontmpD_);
					goto BeforeRet_;
				}
LA69_: ;
				i_2 += ((NI)1);
				{
					LA64_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__11);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			} LA63: ;
		}
	}
	{
		tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA T75_;
		NimStringV2 T76_;
		T75_ = nosgetLastModificationTime(bcache_1.outputFile);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T76_.len = 0; T76_.p = NIM_NIL;
		T76_ = dollar___pureZtimes_u4687(T75_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T76_); goto LA1_;}
		colontmpD__7 = T76_;
		if (!!(eqStrings(bcache_1.outputLastModificationTime, colontmpD__7))) goto LA77_;
		result = NIM_TRUE;
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u5536(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u2691(colontmpD_);
		goto BeforeRet_;
	}
LA77_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u5536(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, jsonBuildInstructionsFile__extccomp_u1824)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD_ = getNimcacheDir__options_u3737(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = noschangeFileExt((*conf_p0).outFile, TM__OyL9acDBDoBfMwa5zb1Y88w_219);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = slash___pathutils_u135(colontmpD_, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ccHasSaneOverflow__extccomp_u1200)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NimStringV2 exe_1;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA tmpTuple_1;
		NimStringV2 s_1;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T11_;
		NimStringV2 colontmpD_;
		NimStringV2 T13_;
		tyTuple__XOVT24GHXwqiEj5GCsEGCA T14_;
		NI exitCode_1;
		if (!((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)1))) goto LA3_;
		exe_1.len = 0; exe_1.p = NIM_NIL;
		nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		s_1.len = 0; s_1.p = NIM_NIL;
		result = NIM_FALSE;
		exe_1 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_220);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			if (!(exe_1.len == ((NI)0))) goto LA8_;
			eqcopy___system_u2694((&exe_1), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field4);
		}
LA8_: ;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T13_.len = 0; T13_.p = NIM_NIL;
		T13_ = rawNewString(exe_1.len + 13);
appendString((&T13_), exe_1);
appendString((&T13_), TM__OyL9acDBDoBfMwa5zb1Y88w_222);
		colontmpD_ = T13_;
		nimZeroMem((void*)(&T14_), sizeof(tyTuple__XOVT24GHXwqiEj5GCsEGCA));
		T14_ = execCmdEx__pureZosproc_u1907(colontmpD_, 10, ((tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg*) NIM_NIL), TM__OyL9acDBDoBfMwa5zb1Y88w_223, TM__OyL9acDBDoBfMwa5zb1Y88w_224);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZosproc_u1951(T14_); goto LA12_;}
		tmpTuple_1 = T14_;
		{
			LA12_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA10_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 395251200)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3796386048)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1871340544)) {
				*nimErr_ = NIM_FALSE;
				tmpTuple_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_225;
				popCurrentException();
				LA18_:;
			}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		s_1 = tmpTuple_1.Field0;
		eqwasMoved___system_u2688((&tmpTuple_1.Field0));
		exitCode_1 = tmpTuple_1.Field1;
		{
			NI major_1;
			NI T24_;
			if (!(exitCode_1 == ((NI)0))) goto LA22_;
			major_1 = ((NI)0);
			T24_ = (NI)0;
			T24_ = parseInt__pureZparseutils_u989(s_1, (&major_1), ((NI)0));
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			(void)(T24_);
			result = (((NI)5) <= major_1);
		}
LA22_: ;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(s_1);
			eqdestroy___pureZosproc_u1951(tmpTuple_1);
			eqdestroy___system_u2691(exe_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)4));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFileToCompile__extccomp_u938)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* cf_p1) {
	tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg colontmpD_;
	eqdup___options_u1625(cf_p1, (&colontmpD_));
	add__extccomp_u941((&(*conf_p0).toCompile), (&colontmpD_));
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, genMappingFiles__extccomp_u3271)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tySequence__xOJ2kx2lq9bBfIm3IXnde3Q list_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__OyL9acDBDoBfMwa5zb1Y88w_228;
	{
		tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* it_1;
		NI i_1;
		NI L_1;
		NI T2_;
		it_1 = (tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg*)0;
		i_1 = ((NI)0);
		T2_ = list_p1.len;
		L_1 = T2_;
		{
			while (1) {
				NimStringV2 colontmpD_;
				tyArray__YgExxhfgKcesA5EOUj1MOA T5_;
				if (!(i_1 < L_1)) goto LA4;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				it_1 = (&list_p1.p->data[i_1]);
				T5_[0] = (*it_1).cname;
				colontmpD_ = percent___extccomp_u3279(T5_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				prepareAdd((&result), colontmpD_.len + 0);
appendString((&result), colontmpD_);
				i_1 += ((NI)1);
				eqdestroy___system_u2691(colontmpD_);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getCompileOptions__extccomp_u1116)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = cFileSpecificOptions__extccomp_u1078(conf_p0, TM__OyL9acDBDoBfMwa5zb1Y88w_232, TM__OyL9acDBDoBfMwa5zb1Y88w_233);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkOptions__extccomp_u1127)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString((*conf_p0).linkOptions.len + (*conf_p0).linkOptionsCmd.len + 2);
appendString((&T1_), (*conf_p0).linkOptions);
appendString((&T1_), TM__OyL9acDBDoBfMwa5zb1Y88w_239);
appendString((&T1_), (*conf_p0).linkOptionsCmd);
appendString((&T1_), TM__OyL9acDBDoBfMwa5zb1Y88w_240);
	result = T1_;
	{
		NimStringV2* linkedLib_1;
		NI i_1;
		NI L_1;
		NI T3_;
		linkedLib_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T3_ = (*conf_p0).cLinkedLibs.len;
		L_1 = T3_;
		{
			while (1) {
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				if (!(i_1 < L_1)) goto LA5;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				linkedLib_1 = (&(*conf_p0).cLinkedLibs.p->data[i_1]);
				colontmpD_ = nospquoteShell((*linkedLib_1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				colontmpD__2 = nsuFormatSingleElem(CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field14, colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
				prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
				i_1 += ((NI)1);
				{
					LA6_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA5: ;
		}
	}
	{
		NimStringV2* libDir_1;
		NI i_2;
		NI L_2;
		NI T10_;
		libDir_1 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T10_ = (*conf_p0).cLibs.len;
		L_2 = T10_;
		{
			while (1) {
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T13_;
				if (!(i_2 < L_2)) goto LA12;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				libDir_1 = (&(*conf_p0).cLibs.p->data[i_2]);
				T13_[0] = CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field13;
				colontmpD__3 = nospquoteShell((*libDir_1));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T13_[1] = colontmpD__3;
				colontmpD__4 = nsuJoinSep(T13_, 2, TM__OyL9acDBDoBfMwa5zb1Y88w_241);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				prepareAdd((&result), colontmpD__4.len + 0);
appendString((&result), colontmpD__4);
				i_2 += ((NI)1);
				eqdestroy___system_u2691(colontmpD__4);
				eqdestroy___system_u2691(colontmpD__3);
			} LA12: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, writeMapping__extccomp_u3284)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 symbolMapping_p1) {
	NimStringV2 code_1;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 colontmpD__5;
	NimStringV2 colontmpD__6;
	NimStringV2 colontmpD__7;
	NimStringV2 colontmpD__8;
	NimStringV2 colontmpD__9;
	NimStringV2 filename_1;
	NimStringV2 T6_;
	tyArray__YgExxhfgKcesA5EOUj1MOA T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	code_1.len = 0; code_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
	colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
	colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
	filename_1.len = 0; filename_1.p = NIM_NIL;
	{
		if (!!((((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)12)))&63U)))!=0))) goto LA4_;
		eqdestroy___system_u2691(filename_1);
		eqdestroy___system_u2691(colontmpD__9);
		eqdestroy___system_u2691(colontmpD__8);
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(code_1);
		goto BeforeRet_;
	}
LA4_: ;
	code_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_227;
	colontmpD_ = genMappingFiles__extccomp_u3271(conf_p0, (*conf_p0).toCompile);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&code_1), colontmpD_.len + 0);
appendString((&code_1), colontmpD_);
	prepareAdd((&code_1), 20);
appendString((&code_1), TM__OyL9acDBDoBfMwa5zb1Y88w_230);
	colontmpD__2 = getCompileOptions__extccomp_u1116(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = nsuEscape(colontmpD__2, TM__OyL9acDBDoBfMwa5zb1Y88w_235, TM__OyL9acDBDoBfMwa5zb1Y88w_236);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&code_1), colontmpD__3.len + 0);
appendString((&code_1), colontmpD__3);
	prepareAdd((&code_1), 16);
appendString((&code_1), TM__OyL9acDBDoBfMwa5zb1Y88w_238);
	T6_.len = 0; T6_.p = NIM_NIL;
	colontmpD__4 = getLinkOptions__extccomp_u1127(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__5 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_244);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T6_ = rawNewString(colontmpD__4.len + colontmpD__5.len + 1);
appendString((&T6_), colontmpD__4);
appendString((&T6_), TM__OyL9acDBDoBfMwa5zb1Y88w_242);
appendString((&T6_), colontmpD__5);
	colontmpD__6 = T6_;
	colontmpD__7 = nsuEscape(colontmpD__6, TM__OyL9acDBDoBfMwa5zb1Y88w_245, TM__OyL9acDBDoBfMwa5zb1Y88w_246);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&code_1), colontmpD__7.len + 0);
appendString((&code_1), colontmpD__7);
	prepareAdd((&code_1), 23);
appendString((&code_1), TM__OyL9acDBDoBfMwa5zb1Y88w_248);
	colontmpD__8 = nsuEscape((*conf_p0).libpath, TM__OyL9acDBDoBfMwa5zb1Y88w_249, TM__OyL9acDBDoBfMwa5zb1Y88w_250);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&code_1), colontmpD__8.len + 0);
appendString((&code_1), colontmpD__8);
	T7_[0] = symbolMapping_p1;
	colontmpD__9 = percent___extccomp_u3292(T7_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	prepareAdd((&code_1), colontmpD__9.len + 0);
appendString((&code_1), colontmpD__9);
	filename_1 = slash___pathutils_u135((*conf_p0).projectPath, TM__OyL9acDBDoBfMwa5zb1Y88w_252);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T10_;
		NimStringV2 colontmpD__10;
		NimStringV2 T14_;
		T10_ = (NIM_BOOL)0;
		T10_ = writeRope__ropes_u27(code_1, filename_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T10_)) goto LA11_;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		T14_.len = 0; T14_.p = NIM_NIL;
		T14_ = rawNewString(filename_1.len + 25);
appendString((&T14_), TM__OyL9acDBDoBfMwa5zb1Y88w_254);
appendString((&T14_), filename_1);
		colontmpD__10 = T14_;
		liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__10, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_255, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__10);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA11_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(filename_1);
		eqdestroy___system_u2691(colontmpD__9);
		eqdestroy___system_u2691(colontmpD__8);
		eqdestroy___system_u2691(colontmpD__7);
		eqdestroy___system_u2691(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__5);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(code_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3128(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3442)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).conf1);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*dest_p0).conf1)));
		nimRawDispose((*dest_p0).conf1, ((NI)8));
	}
LA4_: ;
	eqdestroy___system_u5536((*dest_p0).prettyCmds0);
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3554)(void* dest_p0) {
	eqdestroy___extccomp_u3442((&(*((tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw*) (dest_p0)))));
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastCyclicStatic)(void* p_p0, TNimTypeV2* desc_p1) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		rememberCycle__system_u3498(result, cell_1, desc_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3475)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__N8B6FGvsBw9cs9aqtrniUkGw_))));
		if (!T3_) goto LA4_;
		eqdestroy___extccomp_u3442((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u1584)(NI idx_p0, void* ClE_0) {
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* colonenvP__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenvP__1 = (tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw*) ClE_0;
	{
		tyArray__YgExxhfgKcesA5EOUj1MOA T5_;
		if (!(((NI)0) < (*colonenvP__1).prettyCmds0.p->data[idx_p0].len)) goto LA3_;
		flushDot__msgs_u40((*colonenvP__1).conf1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_[0] = (*colonenvP__1).prettyCmds0.p->data[idx_p0];
		writeLine__msgs_u470(__stderrp, T5_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) + (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRefCyclic)(void* p_p0, NIM_BOOL cyclic_p1) {
	tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* h_1;
	NI T1_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	h_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_));
	(*h_1).rc = pluspercent___system_u785((*h_1).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw*, eqdup___extccomp_u3482)(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* src_p0, NIM_BOOL cyclic_p1) {
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* result;
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* colontmp_;
	result = NIM_NIL;
	colontmp_ = result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRefCyclic(src_p0, cyclic_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, displayProgressCC__extccomp_u1547)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 path_p1, NimStringV2 compileCmd_p2) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = TM__OyL9acDBDoBfMwa5zb1Y88w_259;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = hasHint__options_u557(conf_p0, ((tyEnum_TMsgKind__4CaO62Zp2vRXWqMPzLEOAw)91));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD_;
			NimStringV2 colontmpD__2;
			NimStringV2 colontmpD__3;
			NimStringV2 T13_;
			NimStringV2 T14_;
			T8_ = (NIM_BOOL)0;
			T8_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)3)))&63U)))!=0);
			if (T8_) goto LA9_;
			T8_ = (((NI)1) < (*conf_p0).verbosity);
LA9_: ;
			if (!T8_) goto LA10_;
			nimZeroMem((void*)(&colontmpD_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
			T13_.len = 0; T13_.p = NIM_NIL;
			colontmpD_ = nossplitFile(path_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			colontmpD__2 = demangleModuleName__modulepaths_u136(colontmpD_.Field1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			T13_ = rawNewString(colontmpD__2.len + compileCmd_p2.len + 2);
appendString((&T13_), colontmpD__2);
appendString((&T13_), TM__OyL9acDBDoBfMwa5zb1Y88w_263);
appendString((&T13_), compileCmd_p2);
			colontmpD__3 = T13_;
			T14_.len = 0; T14_.p = NIM_NIL;
			T14_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_261, colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T14_); goto LA12_;}
			eqsink___system_u2700((&result), T14_);
			{
				LA12_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__3);
				eqdestroy___system_u2691(colontmpD__2);
				eqdestroy___pureZos_u236(colontmpD_);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA6_;
LA10_: ;
		{
			tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD__4;
			NimStringV2 colontmpD__5;
			NimStringV2 T19_;
			nimZeroMem((void*)(&colontmpD__4), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			colontmpD__4 = nossplitFile(path_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			colontmpD__5 = demangleModuleName__modulepaths_u136(colontmpD__4.Field1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			T19_.len = 0; T19_.p = NIM_NIL;
			T19_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_264, colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T19_); goto LA18_;}
			eqsink___system_u2700((&result), T19_);
			{
				LA18_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__5);
				eqdestroy___pureZos_u236(colontmpD__4);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA6_: ;
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3569)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* dest_p0) {
	eqdestroy___system_u5536((*dest_p0).cmds1);
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).conf0);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*dest_p0).conf0)));
		nimRawDispose((*dest_p0).conf0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3654)(void* dest_p0) {
	eqdestroy___extccomp_u3569((&(*((tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA*) (dest_p0)))));
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u1473)(NI idx_p0, tyObject_ProcessObj__KkmVhVBIhdGPRUKkZJq9cLQ* p_p1, void* ClE_0) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* colonenvP__1;
	NI exitCode_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenvP__1 = (tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA*) ClE_0;
	exitCode_1 = nosppeekExitCode(p_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 T6_;
		if (!!((exitCode_1 == ((NI)0)))) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		T6_.len = 0; T6_.p = NIM_NIL;
		colontmpD_ = dollar___systemZdollars_u9(exitCode_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T6_ = rawNewString((*colonenvP__1).cmds1.p->data[idx_p0].len + colontmpD_.len + 70);
appendString((&T6_), TM__OyL9acDBDoBfMwa5zb1Y88w_268);
appendString((&T6_), (*colonenvP__1).cmds1.p->data[idx_p0]);
appendString((&T6_), TM__OyL9acDBDoBfMwa5zb1Y88w_270);
appendString((&T6_), colontmpD_);
appendString((&T6_), TM__OyL9acDBDoBfMwa5zb1Y88w_272);
		colontmpD__2 = T6_;
		liMessage__msgs_u1227((*colonenvP__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_273, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA*, eqdup___extccomp_u3609)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* src_p0, NIM_BOOL cyclic_p1) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* result;
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* colontmp_;
	result = NIM_NIL;
	colontmp_ = result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRefCyclic(src_p0, cyclic_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, execWithEcho__extccomp_u1027)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2) {
	NI result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	{
		NIM_BOOL T5_;
		NIM_BOOL T7_;
		T5_ = (NIM_BOOL)0;
		T5_ = (msg_p2 == ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)110));
		if (!(T5_)) goto LA6_;
		T7_ = (NIM_BOOL)0;
		T7_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)3)))&63U)))!=0);
		if (T7_) goto LA8_;
		T7_ = (((NI)1) < (*conf_p0).verbosity);
LA8_: ;
		T5_ = !(T7_);
LA6_: ;
		if (!T5_) goto LA9_;
		colontmpD_ = TM__OyL9acDBDoBfMwa5zb1Y88w_274;
		T2_ = colontmpD_;
	}
	goto LA3_;
LA9_: ;
	{
		eqcopy___system_u2694((&colontmpD__2), cmd_p1);
		T2_ = colontmpD__2;
	}
LA3_: ;
	liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, msg_p2, T2_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_275, NIM_FALSE, NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = nospexecCmd(cmd_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = NIM_NIL;
	eqcopy___system_u3662(&result, currException__system_u3629, NIM_FALSE);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3602)(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__mAihFoCHh4gOftf4ZjoWjA_))));
		if (!T3_) goto LA4_;
		eqdestroy___extccomp_u3569((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, execCmdsInParallel__extccomp_u1467)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ cmds_p1, tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb_p2) {
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* colonenv__1;
	tyProc__T07WD5hEWgf9abRYNKhwosw runCb_1;
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* colontmpD_;
	tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA* T2_;
	tyProc__T07WD5hEWgf9abRYNKhwosw T3_;
	NI res_1;
NIM_BOOL oldNimErrFin22_;
NIM_BOOL oldNimErrFin56_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenv__1 = NIM_NIL;
	nimZeroMem((void*)(&runCb_1), sizeof(tyProc__T07WD5hEWgf9abRYNKhwosw));
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA*) nimNewObj(sizeof(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA), NIM_ALIGNOF(tyObject_Env_extccompdotnim_execCmdsInParallel___mAihFoCHh4gOftf4ZjoWjA));
	(*T2_).Sup.m_type = (&NTIv2__mAihFoCHh4gOftf4ZjoWjA_);
	colonenv__1 = T2_;
	eqcopy___options_u2138(&(*colonenv__1).conf0, conf_p0);
	eqcopy___system_u5539((&(*colonenv__1).cmds1), cmds_p1);
	colontmpD_ = eqdup___extccomp_u3609(colonenv__1, NIM_TRUE);
	nimZeroMem((void*)(&T3_), sizeof(tyProc__T07WD5hEWgf9abRYNKhwosw));
	T3_.ClP_0 = colonanonymous___extccomp_u1473; T3_.ClE_0 = colontmpD_;
	runCb_1.ClE_0 = T3_.ClE_0;
	runCb_1.ClP_0 = T3_.ClP_0;
	{
		NI T8_;
		if (!((*(*colonenv__1).conf0).numberOfProcessors == ((NI)0))) goto LA6_;
		T8_ = (NI)0;
		T8_ = nospcountProcessors();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(*(*colonenv__1).conf0).numberOfProcessors = T8_;
	}
LA6_: ;
	res_1 = ((NI)0);
	{
		if (!((*(*colonenv__1).conf0).numberOfProcessors <= ((NI)1))) goto LA11_;
		{
			NI i_1;
			NI colontmp_;
			NI T14_;
			NI res_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T14_ = ((*colonenv__1).cmds1.len-1);
			colontmp_ = T14_;
			res_2 = ((NI)0);
			{
				while (1) {
					NI T18_;
					if (!(res_2 <= colontmp_)) goto LA16;
					i_1 = ((NI) (res_2));
					T18_ = (NI)0;
					T18_ = execWithEcho__extccomp_u1027((*colonenv__1).conf0, (*colonenv__1).cmds1.p->data[i_1], ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)109));
					if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
					res_1 = T18_;
					if (NIM_UNLIKELY(*nimErr_)) {
						LA17_:;
						if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3796386048)) {
							tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* oseX60gensym71__1;
							Exception* T23_;
							*nimErr_ = NIM_FALSE;
							oseX60gensym71__1 = NIM_NIL;
							T23_ = NIM_NIL;
							T23_ = getCurrentException();
							oseX60gensym71__1 = ((tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw*) (T23_));
							{
								NimStringV2 colontmpD__2;
								NimStringV2 colontmpD__3;
								NimStringV2 T29_;
								NimStringV2 T30_;
								if (!NIM_TRUE) goto LA26_;
								colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
								colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
								T29_.len = 0; T29_.p = NIM_NIL;
								T30_.len = 0; T30_.p = NIM_NIL;
								T30_ = dollar___systemZdollars_u24((*oseX60gensym71__1).errorCode);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T30_); goto LA28_;}
								colontmpD__2 = T30_;
								T29_ = rawNewString((*oseX60gensym71__1).Sup.Sup.message.len + colontmpD__2.len + 49);
appendString((&T29_), TM__OyL9acDBDoBfMwa5zb1Y88w_277);
appendString((&T29_), (*oseX60gensym71__1).Sup.Sup.message);
appendString((&T29_), TM__OyL9acDBDoBfMwa5zb1Y88w_278);
appendString((&T29_), colontmpD__2);
								colontmpD__3 = T29_;
								liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_279, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
								{
									LA28_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__3);
									eqdestroy___system_u2691(colontmpD__2);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
							goto LA24_;
LA26_: ;
							{
								NimStringV2 colontmpD__4;
								NimStringV2 colontmpD__5;
								NimStringV2 colontmpD__6;
								NimStringV2 T35_;
								NimStringV2 T36_;
								NimStringV2 T37_;
								colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
								colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
								colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
								T35_.len = 0; T35_.p = NIM_NIL;
								T36_.len = 0; T36_.p = NIM_NIL;
								T36_ = dollar___systemZdollars_u24((*oseX60gensym71__1).errorCode);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T36_); goto LA34_;}
								colontmpD__4 = T36_;
								T35_ = rawNewString((*oseX60gensym71__1).Sup.Sup.message.len + colontmpD__4.len + 1);
appendString((&T35_), (*oseX60gensym71__1).Sup.Sup.message);
appendString((&T35_), TM__OyL9acDBDoBfMwa5zb1Y88w_282);
appendString((&T35_), colontmpD__4);
								colontmpD__5 = T35_;
								T37_.len = 0; T37_.p = NIM_NIL;
								T37_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_281, colontmpD__5);
								if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T37_); goto LA34_;}
								colontmpD__6 = T37_;
								liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__6, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_283, NIM_FALSE, NIM_FALSE);
								if (NIM_UNLIKELY(*nimErr_)) goto LA34_;
								{
									LA34_:;
								}
								{
									eqdestroy___system_u2691(colontmpD__6);
									eqdestroy___system_u2691(colontmpD__5);
									eqdestroy___system_u2691(colontmpD__4);
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
							}
LA24_: ;
							reraiseException();
goto LA22_;
							{
								LA22_:;
							}
							{
								oldNimErrFin22_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___stdZoserrors_u98(oseX60gensym71__1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
								*nimErr_ = oldNimErrFin22_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							popCurrentException();
							LA20_:;
						}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					{
						NimStringV2 colontmpD__7;
						NimStringV2 T47_;
						if (!!((res_1 == ((NI)0)))) goto LA44_;
						colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
						T47_.len = 0; T47_.p = NIM_NIL;
						T47_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_284, (*colonenv__1).cmds1.p->data[i_1]);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T47_); goto LA46_;}
						colontmpD__7 = T47_;
						liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__7, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_285, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
						{
							LA46_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__7);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA44_: ;
					res_2 += ((NI)1);
				} LA16: ;
			}
		}
	}
	goto LA9_;
LA11_: ;
	{
		NI T52_;
		T52_ = (NI)0;
		T52_ = nospexecProcesses((((*colonenv__1).cmds1).p) ? ((*colonenv__1).cmds1.p->data) : NIM_NIL, (*colonenv__1).cmds1.len, 26, (*(*colonenv__1).conf0).numberOfProcessors, prettyCb_p2, runCb_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA51_;
		res_1 = T52_;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA51_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3796386048)) {
				tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* oseX60gensym80__1;
				Exception* T57_;
				*nimErr_ = NIM_FALSE;
				oseX60gensym80__1 = NIM_NIL;
				T57_ = NIM_NIL;
				T57_ = getCurrentException();
				oseX60gensym80__1 = ((tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw*) (T57_));
				{
					NimStringV2 colontmpD__8;
					NimStringV2 colontmpD__9;
					NimStringV2 T63_;
					NimStringV2 T64_;
					if (!NIM_TRUE) goto LA60_;
					colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
					colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
					T63_.len = 0; T63_.p = NIM_NIL;
					T64_.len = 0; T64_.p = NIM_NIL;
					T64_ = dollar___systemZdollars_u24((*oseX60gensym80__1).errorCode);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T64_); goto LA62_;}
					colontmpD__8 = T64_;
					T63_ = rawNewString((*oseX60gensym80__1).Sup.Sup.message.len + colontmpD__8.len + 49);
appendString((&T63_), TM__OyL9acDBDoBfMwa5zb1Y88w_286);
appendString((&T63_), (*oseX60gensym80__1).Sup.Sup.message);
appendString((&T63_), TM__OyL9acDBDoBfMwa5zb1Y88w_287);
appendString((&T63_), colontmpD__8);
					colontmpD__9 = T63_;
					liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_279, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA62_;
					{
						LA62_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__9);
						eqdestroy___system_u2691(colontmpD__8);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				}
				goto LA58_;
LA60_: ;
				{
					NimStringV2 colontmpD__10;
					NimStringV2 colontmpD__11;
					NimStringV2 colontmpD__12;
					NimStringV2 T69_;
					NimStringV2 T70_;
					NimStringV2 T71_;
					colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
					colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
					colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
					T69_.len = 0; T69_.p = NIM_NIL;
					T70_.len = 0; T70_.p = NIM_NIL;
					T70_ = dollar___systemZdollars_u24((*oseX60gensym80__1).errorCode);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T70_); goto LA68_;}
					colontmpD__10 = T70_;
					T69_ = rawNewString((*oseX60gensym80__1).Sup.Sup.message.len + colontmpD__10.len + 1);
appendString((&T69_), (*oseX60gensym80__1).Sup.Sup.message);
appendString((&T69_), TM__OyL9acDBDoBfMwa5zb1Y88w_289);
appendString((&T69_), colontmpD__10);
					colontmpD__11 = T69_;
					T71_.len = 0; T71_.p = NIM_NIL;
					T71_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_288, colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T71_); goto LA68_;}
					colontmpD__12 = T71_;
					liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__12, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_283, NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA68_;
					{
						LA68_:;
					}
					{
						eqdestroy___system_u2691(colontmpD__12);
						eqdestroy___system_u2691(colontmpD__11);
						eqdestroy___system_u2691(colontmpD__10);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA56_;
				}
LA58_: ;
				reraiseException();
goto LA56_;
				{
					LA56_:;
				}
				{
					oldNimErrFin56_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___stdZoserrors_u98(oseX60gensym80__1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
					*nimErr_ = oldNimErrFin56_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA54_;
				popCurrentException();
				LA54_:;
			}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		if (!!((res_1 == ((NI)0)))) goto LA78_;
		{
			NimStringV2 colontmpD__13;
			NimStringV2 colontmpD__14;
			NimStringV2 T85_;
			NimStringV2 T86_;
			if (!((*(*colonenv__1).conf0).numberOfProcessors <= ((NI)1))) goto LA82_;
			colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			T85_.len = 0; T85_.p = NIM_NIL;
			T85_ = nsuJoinSep((((*colonenv__1).cmds1).p) ? ((*colonenv__1).cmds1.p->data) : NIM_NIL, (*colonenv__1).cmds1.len, TM__OyL9acDBDoBfMwa5zb1Y88w_291);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T85_); goto LA84_;}
			colontmpD__13 = T85_;
			T86_.len = 0; T86_.p = NIM_NIL;
			T86_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_290, colontmpD__13);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T86_); goto LA84_;}
			colontmpD__14 = T86_;
			liMessage__msgs_u1227((*colonenv__1).conf0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__14, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_292, NIM_FALSE, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			{
				LA84_:;
			}
			{
				eqdestroy___system_u2691(colontmpD__14);
				eqdestroy___system_u2691(colontmpD__13);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA82_: ;
	}
LA78_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZosproc_u651(runCb_1);
		eqdestroy___extccomp_u3602(colonenv__1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getObjFilePath__extccomp_u1536)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* f_p1) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = noAbsolutePaths__extccomp_u1062(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		result = nosextractFilename((*f_p1).obj);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA5_: ;
	{
		NimStringV2 colontmpD_;
		colontmpD_ = eqdup___system_u2697((*f_p1).obj);
		result = colontmpD_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, hcrLinkTargetName__extccomp_u1540)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 objFile_p1, NIM_BOOL isMain_p2) {
	NimStringV2 result;
	NimStringV2 basename_1;
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD_;
	NimStringV2 targetName_1;
	NimStringV2 colontmpD__2;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	basename_1.len = 0; basename_1.p = NIM_NIL;
	nimZeroMem((void*)(&colontmpD_), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	targetName_1.len = 0; targetName_1.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD_ = nossplitFile(objFile_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	basename_1 = colontmpD_.Field1;
	eqwasMoved___system_u2688((&colontmpD_.Field1));
	T2_.len = 0; T2_.p = NIM_NIL;
	{
		NimStringV2 T7_;
		if (!isMain_p2) goto LA5_;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString(basename_1.len + 4);
appendString((&T7_), basename_1);
appendString((&T7_), TM__OyL9acDBDoBfMwa5zb1Y88w_294);
		targetName_1 = T7_;
	}
	goto LA3_;
LA5_: ;
	{
		targetName_1 = nsuFormatSingleElem(OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field2, basename_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	colontmpD__2 = getNimcacheDir__options_u3737(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = slash___pathutils_u135(colontmpD__2, targetName_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(targetName_1);
		eqdestroy___pureZos_u236(colontmpD_);
		eqdestroy___system_u2691(basename_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkerExe__extccomp_u1216)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA compiler_p1) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		if (!(((NI)0) < CC__extccomp_u624[(compiler_p1)- 1].Field10.len)) goto LA4_;
		eqcopy___system_u2694((&result), CC__extccomp_u624[(compiler_p1)- 1].Field10);
	}
	goto LA2_;
LA4_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)40)))&63U)))!=0);
		if (T7_) goto LA8_;
		T7_ = ((*conf_p0).backend == ((tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw)2));
LA8_: ;
		result = getCompilerExe__extccomp_u1191(conf_p0, compiler_p1, T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, nanosecond__pureZtimes_u1450)(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw* dt_p0) {
	NI result;
	result = (*dt_p0).nanosecond;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getLinkCmd__extccomp_u1373)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 output_p1, NimStringV2 objfiles_p2, NIM_BOOL isDllBuild_p3, NIM_BOOL removeStaticFile_p4) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		tyArray__A2YC0h9cZydgH7zGAndH9bLg T10_;
		if (!(((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)8)))&63U)))!=0)) goto LA3_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		{
			if (!removeStaticFile_p4) goto LA8_;
			nosremoveFile(output_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		}
LA8_: ;
		T10_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_296;
		colontmpD_ = nospquoteShell(output_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T10_[1] = colontmpD_;
		T10_[2] = TM__OyL9acDBDoBfMwa5zb1Y88w_298;
		T10_[3] = objfiles_p2;
		T10_[4] = TM__OyL9acDBDoBfMwa5zb1Y88w_299;
		colontmpD__2 = vccplatform__extccomp_u1119(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		T10_[5] = colontmpD__2;
		result = nsuFormatOpenArray(CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field9, T10_, 6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			LA5_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__2);
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		NimStringV2 linkerExe_1;
		NimStringV2 buildgui_1;
		NimStringV2 builddll_1;
		NimStringV2 exefile_1;
		NimStringV2 mapfile_1;
		NimStringV2 colontmpD__3;
		tyTuple__7q7q3E6Oj24ZNVJb9aonhAg colontmpD__4;
		NimStringV2 colontmpD__5;
		NimStringV2 colontmpD__6;
		NimStringV2 linkOptions_1;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		NimStringV2 linkTmpl_1;
		NimStringV2 colontmpD__9;
		NimStringV2 colontmpD__10;
		NimStringV2 colontmpD__11;
		NimStringV2 colontmpD__12;
		NimStringV2 colontmpD__13;
		NimStringV2 colontmpD__14;
		NimStringV2 T32_;
		NimStringV2 T40_;
		NimStringV2 T46_;
		NimStringV2 T47_;
		tyArray__CVH4DKy6jsFwcdfgh9ceJxQ T52_;
		NimStringV2 T53_;
		tyArray__zp5HAVhHYRyeZ9bWu3v0DCw T54_;
		linkerExe_1.len = 0; linkerExe_1.p = NIM_NIL;
		buildgui_1.len = 0; buildgui_1.p = NIM_NIL;
		builddll_1.len = 0; builddll_1.p = NIM_NIL;
		exefile_1.len = 0; exefile_1.p = NIM_NIL;
		mapfile_1.len = 0; mapfile_1.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		nimZeroMem((void*)(&colontmpD__4), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		linkOptions_1.len = 0; linkOptions_1.p = NIM_NIL;
		colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
		colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
		linkTmpl_1.len = 0; linkTmpl_1.p = NIM_NIL;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
		colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
		colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
		linkerExe_1 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_301);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			NimStringV2 T19_;
			if (!(linkerExe_1.len == ((NI)0))) goto LA17_;
			T19_.len = 0; T19_.p = NIM_NIL;
			T19_ = getLinkerExe__extccomp_u1216(conf_p0, (*conf_p0).cCompiler);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T19_); goto LA14_;}
			eqsink___system_u2700((&linkerExe_1), T19_);
		}
LA17_: ;
		{
			NIM_BOOL T22_;
			NimStringV2 T25_;
			T22_ = (NIM_BOOL)0;
			T22_ = needsExeExt__extccomp_u1138(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			if (!T22_) goto LA23_;
			T25_.len = 0; T25_.p = NIM_NIL;
			T25_ = nosaddFileExt(linkerExe_1, TM__OyL9acDBDoBfMwa5zb1Y88w_302);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T25_); goto LA14_;}
			eqsink___system_u2700((&linkerExe_1), T25_);
		}
LA23_: ;
		{
			NIM_BOOL T28_;
			T28_ = (NIM_BOOL)0;
			T28_ = noAbsolutePaths__extccomp_u1062(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			if (!T28_) goto LA29_;
			result = linkerExe_1;
			eqwasMoved___system_u2688((&linkerExe_1));
		}
		goto LA26_;
LA29_: ;
		{
			result = nosjoinPath((*conf_p0).cCompilerPath, linkerExe_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		}
LA26_: ;
		T32_.len = 0; T32_.p = NIM_NIL;
		{
			NIM_BOOL T35_;
			T35_ = (NIM_BOOL)0;
			T35_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)9)))&63U)))!=0);
			if (!(T35_)) goto LA36_;
			T35_ = ((*conf_p0).target.targetOS == ((tyEnum_TSystemOS__Ze8KQVBa9adXItTgDtW0Iqw)2));
LA36_: ;
			if (!T35_) goto LA37_;
			eqcopy___system_u2694((&buildgui_1), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field7);
		}
		goto LA33_;
LA37_: ;
		{
			buildgui_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_303;
		}
LA33_: ;
		T40_.len = 0; T40_.p = NIM_NIL;
		{
			if (!isDllBuild_p3) goto LA43_;
			eqcopy___system_u2694((&builddll_1), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field8);
		}
		goto LA41_;
LA43_: ;
		{
			builddll_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_304;
		}
LA41_: ;
		exefile_1 = nospquoteShell(output_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__3 = getNimcacheDir__options_u3737(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T46_.len = 0; T46_.p = NIM_NIL;
		colontmpD__4 = splitFile__pathutils_u39(output_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T46_ = rawNewString(colontmpD__4.Field1.len + 4);
appendString((&T46_), colontmpD__4.Field1);
appendString((&T46_), TM__OyL9acDBDoBfMwa5zb1Y88w_306);
		colontmpD__5 = T46_;
		colontmpD__6 = slash___pathutils_u135(colontmpD__3, colontmpD__5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		mapfile_1 = nospquoteShell(colontmpD__6);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T47_.len = 0; T47_.p = NIM_NIL;
		colontmpD__7 = getLinkOptions__extccomp_u1127(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__8 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_308);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T47_ = rawNewString(colontmpD__7.len + colontmpD__8.len + 1);
appendString((&T47_), colontmpD__7);
appendString((&T47_), TM__OyL9acDBDoBfMwa5zb1Y88w_307);
appendString((&T47_), colontmpD__8);
		linkOptions_1 = T47_;
		linkTmpl_1 = getConfigVar__extccomp_u759(conf_p0, (*conf_p0).cCompiler, TM__OyL9acDBDoBfMwa5zb1Y88w_310);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			if (!(linkTmpl_1.len == ((NI)0))) goto LA50_;
			eqcopy___system_u2694((&linkTmpl_1), CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field11);
		}
LA50_: ;
		T52_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_312;
		T52_[1] = builddll_1;
		T52_[2] = TM__OyL9acDBDoBfMwa5zb1Y88w_314;
		T52_[3] = mapfile_1;
		T52_[4] = TM__OyL9acDBDoBfMwa5zb1Y88w_316;
		T52_[5] = buildgui_1;
		T52_[6] = TM__OyL9acDBDoBfMwa5zb1Y88w_317;
		T52_[7] = linkOptions_1;
		T52_[8] = TM__OyL9acDBDoBfMwa5zb1Y88w_318;
		T52_[9] = objfiles_p2;
		T52_[10] = TM__OyL9acDBDoBfMwa5zb1Y88w_320;
		T52_[11] = exefile_1;
		T52_[12] = TM__OyL9acDBDoBfMwa5zb1Y88w_321;
		colontmpD__9 = getPrefixDir__options_u3645(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T52_[13] = colontmpD__9;
		T52_[14] = TM__OyL9acDBDoBfMwa5zb1Y88w_322;
		T52_[15] = (*conf_p0).libpath;
		colontmpD__10 = nsuFormatOpenArray(result, T52_, 16);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T53_.len = 0; T53_.p = NIM_NIL;
		T53_ = nospquoteShell(colontmpD__10);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T53_); goto LA14_;}
		eqsink___system_u2700((&result), T53_);
		nimAddCharV1((&result), 32);
		T54_[0] = TM__OyL9acDBDoBfMwa5zb1Y88w_323;
		T54_[1] = builddll_1;
		T54_[2] = TM__OyL9acDBDoBfMwa5zb1Y88w_324;
		T54_[3] = mapfile_1;
		T54_[4] = TM__OyL9acDBDoBfMwa5zb1Y88w_325;
		T54_[5] = buildgui_1;
		T54_[6] = TM__OyL9acDBDoBfMwa5zb1Y88w_326;
		T54_[7] = linkOptions_1;
		T54_[8] = TM__OyL9acDBDoBfMwa5zb1Y88w_327;
		T54_[9] = objfiles_p2;
		T54_[10] = TM__OyL9acDBDoBfMwa5zb1Y88w_328;
		T54_[11] = exefile_1;
		T54_[12] = TM__OyL9acDBDoBfMwa5zb1Y88w_329;
		colontmpD__11 = getPrefixDir__options_u3645(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		colontmpD__12 = nospquoteShell(colontmpD__11);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T54_[13] = colontmpD__12;
		T54_[14] = TM__OyL9acDBDoBfMwa5zb1Y88w_330;
		colontmpD__13 = nospquoteShell((*conf_p0).libpath);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T54_[15] = colontmpD__13;
		T54_[16] = TM__OyL9acDBDoBfMwa5zb1Y88w_331;
		colontmpD__14 = vccplatform__extccomp_u1119(conf_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		T54_[17] = colontmpD__14;
		nsuAddf((&result), linkTmpl_1, T54_, 18);
		if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
		{
			NIM_BOOL T57_;
			tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw t_1;
			NimStringV2 pdb_1;
			NimStringV2 colontmpD__15;
			NimStringV2 colontmpD__16;
			NimStringV2 colontmpD__17;
			NimStringV2 T61_;
			NI T62_;
			NimStringV2 T63_;
			T57_ = (NIM_BOOL)0;
			T57_ = hcrOn__options_u629(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			if (!(T57_)) goto LA58_;
			T57_ = isVSCompatible__extccomp_u696(conf_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
LA58_: ;
			if (!T57_) goto LA59_;
			nimZeroMem((void*)(&t_1), sizeof(tyObject_DateTime__JiByOtYhsb3evWoWLWfUBw));
			t_1.Sup.m_type = (&NTIv2__JiByOtYhsb3evWoWLWfUBw_);
			pdb_1.len = 0; pdb_1.p = NIM_NIL;
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
			colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
			now__pureZtimes_u2067((&t_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T61_.len = 0; T61_.p = NIM_NIL;
			colontmpD__15 = format__extccomp_u1400((&t_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T62_ = (NI)0;
			T62_ = nanosecond__pureZtimes_u1450((&t_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			colontmpD__16 = dollar___systemZdollars_u9(T62_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA14_;
			T61_ = rawNewString(output_p1.len + colontmpD__15.len + colontmpD__16.len + 5);
appendString((&T61_), output_p1);
appendString((&T61_), TM__OyL9acDBDoBfMwa5zb1Y88w_332);
appendString((&T61_), colontmpD__15);
appendString((&T61_), colontmpD__16);
appendString((&T61_), TM__OyL9acDBDoBfMwa5zb1Y88w_334);
			pdb_1 = T61_;
			T63_.len = 0; T63_.p = NIM_NIL;
			T63_ = rawNewString(pdb_1.len + 12);
appendString((&T63_), TM__OyL9acDBDoBfMwa5zb1Y88w_336);
appendString((&T63_), pdb_1);
			colontmpD__17 = T63_;
			prepareAdd((&result), colontmpD__17.len + 0);
appendString((&result), colontmpD__17);
			eqdestroy___system_u2691(colontmpD__17);
			eqdestroy___system_u2691(colontmpD__16);
			eqdestroy___system_u2691(colontmpD__15);
			eqdestroy___system_u2691(pdb_1);
			eqdestroy___pureZtimes_u1713((&t_1));
		}
LA59_: ;
		{
			LA14_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__14);
			eqdestroy___system_u2691(colontmpD__13);
			eqdestroy___system_u2691(colontmpD__12);
			eqdestroy___system_u2691(colontmpD__11);
			eqdestroy___system_u2691(colontmpD__10);
			eqdestroy___system_u2691(colontmpD__9);
			eqdestroy___system_u2691(linkTmpl_1);
			eqdestroy___system_u2691(colontmpD__8);
			eqdestroy___system_u2691(colontmpD__7);
			eqdestroy___system_u2691(linkOptions_1);
			eqdestroy___system_u2691(colontmpD__6);
			eqdestroy___system_u2691(colontmpD__5);
			eqdestroy___pathutils_u73(colontmpD__4);
			eqdestroy___system_u2691(colontmpD__3);
			eqdestroy___system_u2691(mapfile_1);
			eqdestroy___system_u2691(exefile_1);
			eqdestroy___system_u2691(builddll_1);
			eqdestroy___system_u2691(buildgui_1);
			eqdestroy___system_u2691(linkerExe_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	{
		NIM_BOOL T68_;
		T68_ = (NIM_BOOL)0;
		T68_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)6)))&63U)))!=0);
		if (!(T68_)) goto LA69_;
		T68_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)6));
LA69_: ;
		if (!T68_) goto LA70_;
		prepareAdd((&result), 12);
appendString((&result), TM__OyL9acDBDoBfMwa5zb1Y88w_338);
	}
LA70_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0) {
	NCSTRING result;
	{
		if (!(s_p0.len == ((NI)0))) goto LA3_;
		result = "";
	}
	goto LA1_;
LA3_: ;
	{
		result = ((NCSTRING) ((*s_p0.p).data));
	}
LA1_: ;
	return result;
}
static N_INLINE(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, map__extccomp_u1714)(NimStringV2* s_p0, NI s_p0Len_0, tyProc__oFHfEKFsiYTMAy9a42cSiKw op_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	newSeq__system_u5429((&result), (s_p0Len_0));
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = s_p0Len_0;
		i_2 = ((NI)0);
		{
			while (1) {
				NimStringV2 T4_;
				if (!(i_2 < colontmp_)) goto LA3;
				i_1 = i_2;
				T4_.len = 0; T4_.p = NIM_NIL;
				T4_ = op_p1.ClE_0? op_p1.ClP_0(s_p0[i_1], op_p1.ClE_0):((TM__OyL9acDBDoBfMwa5zb1Y88w_342)(op_p1.ClP_0))(s_p0[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqsink___system_u2700((&result.p->data[i_1]), T4_);
				i_2 += ((NI)1);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, colonanonymous___extccomp_u1710)(NimStringV2 curr_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nsuReplaceStr(curr_p0, TM__OyL9acDBDoBfMwa5zb1Y88w_343, TM__OyL9acDBDoBfMwa5zb1Y88w_345);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, getExtraCmds__extccomp_u1454)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 output_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
	result.len = 0; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, execExternalProgram__extccomp_u1040)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI T3_;
		NimStringV2 colontmpD_;
		T3_ = (NI)0;
		T3_ = execWithEcho__extccomp_u1027(conf_p0, cmd_p1, msg_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!((T3_ == ((NI)0)))) goto LA4_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_349, cmd_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD_, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_350, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, execLinkCmd__extccomp_u1462)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 linkCmd_p1) {
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	execExternalProgram__extccomp_u1040(conf_p0, linkCmd_p1, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)110));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA1_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 3796386048)) {
			tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw* oseX60gensym62__1;
			Exception* T6_;
			*nimErr_ = NIM_FALSE;
			oseX60gensym62__1 = NIM_NIL;
			T6_ = NIM_NIL;
			T6_ = getCurrentException();
			oseX60gensym62__1 = ((tyObject_OSError__SuJIQW5BO0Kx9aOoF3Fjwkw*) (T6_));
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NimStringV2 T12_;
				NimStringV2 T13_;
				if (!NIM_TRUE) goto LA9_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T12_.len = 0; T12_.p = NIM_NIL;
				T13_.len = 0; T13_.p = NIM_NIL;
				T13_ = dollar___systemZdollars_u24((*oseX60gensym62__1).errorCode);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T13_); goto LA11_;}
				colontmpD_ = T13_;
				T12_ = rawNewString((*oseX60gensym62__1).Sup.Sup.message.len + colontmpD_.len + 47);
appendString((&T12_), TM__OyL9acDBDoBfMwa5zb1Y88w_352);
appendString((&T12_), (*oseX60gensym62__1).Sup.Sup.message);
appendString((&T12_), TM__OyL9acDBDoBfMwa5zb1Y88w_353);
appendString((&T12_), colontmpD_);
				colontmpD__2 = T12_;
				liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_279, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				{
					LA11_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__2);
					eqdestroy___system_u2691(colontmpD_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
			goto LA7_;
LA9_: ;
			{
				NimStringV2 colontmpD__3;
				NimStringV2 colontmpD__4;
				NimStringV2 colontmpD__5;
				NimStringV2 T18_;
				NimStringV2 T19_;
				NimStringV2 T20_;
				colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
				colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T18_.len = 0; T18_.p = NIM_NIL;
				T19_.len = 0; T19_.p = NIM_NIL;
				T19_ = dollar___systemZdollars_u24((*oseX60gensym62__1).errorCode);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T19_); goto LA17_;}
				colontmpD__3 = T19_;
				T18_ = rawNewString((*oseX60gensym62__1).Sup.Sup.message.len + colontmpD__3.len + 1);
appendString((&T18_), (*oseX60gensym62__1).Sup.Sup.message);
appendString((&T18_), TM__OyL9acDBDoBfMwa5zb1Y88w_355);
appendString((&T18_), colontmpD__3);
				colontmpD__4 = T18_;
				T20_.len = 0; T20_.p = NIM_NIL;
				T20_ = nsuFormatSingleElem(TM__OyL9acDBDoBfMwa5zb1Y88w_354, colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T20_); goto LA17_;}
				colontmpD__5 = T20_;
				liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__5, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_283, NIM_FALSE, NIM_FALSE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA17_;
				{
					LA17_:;
				}
				{
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(colontmpD__3);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA7_: ;
			reraiseException();
goto LA5_;
			{
				LA5_:;
			}
			{
				oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___stdZoserrors_u98(oseX60gensym62__1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				*nimErr_ = oldNimErrFin5_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			popCurrentException();
			LA3_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, linkViaResponseFile__extccomp_u1491)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 cmd_p1) {
	NimStringV2 linkerArgs_1;
	NimStringV2 args_1;
	NI i_1;
	NI last_1;
	NimStringV2 T21_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 T34_;
NIM_BOOL oldNimErrFin32_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	linkerArgs_1.len = 0; linkerArgs_1.p = NIM_NIL;
	args_1.len = 0; args_1.p = NIM_NIL;
	i_1 = ((NI)0);
	last_1 = ((NI)0);
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NI)0) < cmd_p1.len);
		if (!(T4_)) goto LA5_;
		T4_ = ((NU8)(cmd_p1.p->data[((NI)0)]) == (NU8)(34));
LA5_: ;
		if (!T4_) goto LA6_;
		i_1 += ((NI)1);
		{
			while (1) {
				NIM_BOOL T10_;
				T10_ = (NIM_BOOL)0;
				T10_ = (i_1 < cmd_p1.len);
				if (!(T10_)) goto LA11_;
				T10_ = !(((NU8)(cmd_p1.p->data[i_1]) == (NU8)(34)));
LA11_: ;
				if (!T10_) goto LA9;
				i_1 += ((NI)1);
			} LA9: ;
		}
		last_1 = i_1;
		i_1 += ((NI)1);
	}
	goto LA2_;
LA6_: ;
	{
		{
			while (1) {
				NIM_BOOL T15_;
				T15_ = (NIM_BOOL)0;
				T15_ = (i_1 < cmd_p1.len);
				if (!(T15_)) goto LA16_;
				T15_ = !(((NU8)(cmd_p1.p->data[i_1]) == (NU8)(32)));
LA16_: ;
				if (!T15_) goto LA14;
				i_1 += ((NI)1);
			} LA14: ;
		}
		last_1 = i_1;
	}
LA2_: ;
	{
		while (1) {
			NIM_BOOL T19_;
			T19_ = (NIM_BOOL)0;
			T19_ = (i_1 < cmd_p1.len);
			if (!(T19_)) goto LA20_;
			T19_ = ((NU8)(cmd_p1.p->data[i_1]) == (NU8)(32));
LA20_: ;
			if (!T19_) goto LA18;
			i_1 += ((NI)1);
		} LA18: ;
	}
	T21_.len = 0; T21_.p = NIM_NIL;
	T21_ = rawNewString((*conf_p0).projectName.len + 15);
appendString((&T21_), (*conf_p0).projectName);
appendString((&T21_), TM__OyL9acDBDoBfMwa5zb1Y88w_348);
	linkerArgs_1 = T21_;
	args_1 = substr__system_u8675(cmd_p1, i_1);
	{
		NIM_BOOL T24_;
		NimStringV2 colontmpD_;
		T24_ = (NIM_BOOL)0;
		T24_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)1));
		if (T24_) goto LA25_;
		T24_ = ((*conf_p0).cCompiler == ((tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA)4));
LA25_: ;
		if (!T24_) goto LA26_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = nsuReplaceChar(args_1, 92, 47);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		writeFile__stdZsyncio_u532(linkerArgs_1, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA28_;
		{
			LA28_:;
		}
		{
			eqdestroy___system_u2691(colontmpD_);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA22_;
LA26_: ;
	{
		writeFile__stdZsyncio_u532(linkerArgs_1, args_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA22_: ;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	T34_.len = 0; T34_.p = NIM_NIL;
	colontmpD__2 = substr__system_u8662(cmd_p1, ((NI)0), last_1);
	T34_ = rawNewString(colontmpD__2.len + linkerArgs_1.len + 2);
appendString((&T34_), colontmpD__2);
appendString((&T34_), TM__OyL9acDBDoBfMwa5zb1Y88w_357);
appendString((&T34_), linkerArgs_1);
	colontmpD__3 = T34_;
	execLinkCmd__extccomp_u1462(conf_p0, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
	{
		LA33_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA32_;
	{
		LA32_:;
	}
	{
		oldNimErrFin32_ = *nimErr_; *nimErr_ = NIM_FALSE;
		nosremoveFile(linkerArgs_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		*nimErr_ = oldNimErrFin32_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(args_1);
		eqdestroy___system_u2691(linkerArgs_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, preventLinkCmdMaxCmdLen__extccomp_u1556)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 linkCmd_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		if (!(((NI)32000) < linkCmd_p1.len)) goto LA3_;
		linkViaResponseFile__extccomp_u1491(conf_p0, linkCmd_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		execLinkCmd__extccomp_u1462(conf_p0, linkCmd_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, generateScript__extccomp_u1044)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 script_p1) {
	tyTuple__7q7q3E6Oj24ZNVJb9aonhAg tmpTuple_1;
	NimStringV2 name_1;
	NimStringV2 filename_1;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__7q7q3E6Oj24ZNVJb9aonhAg));
	name_1.len = 0; name_1.p = NIM_NIL;
	filename_1.len = 0; filename_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	tmpTuple_1 = nossplitFile((*conf_p0).outFile);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	name_1 = tmpTuple_1.Field1;
	eqwasMoved___system_u2688((&tmpTuple_1.Field1));
	colontmpD_ = getNimcacheDir__options_u3737(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = rawNewString(name_1.len + 8);
appendString((&T2_), TM__OyL9acDBDoBfMwa5zb1Y88w_361);
appendString((&T2_), name_1);
	colontmpD__2 = T2_;
	colontmpD__3 = nosaddFileExt(colontmpD__2, OS__platform_u534[((*conf_p0).target.targetOS)- 1].Field8);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	filename_1 = slash___pathutils_u135(colontmpD_, colontmpD__3);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T5_;
		NimStringV2 colontmpD__4;
		NimStringV2 T9_;
		T5_ = (NIM_BOOL)0;
		T5_ = writeRope__ropes_u27(script_p1, filename_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!!(T5_)) goto LA6_;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T9_.len = 0; T9_.p = NIM_NIL;
		T9_ = rawNewString(filename_1.len + 25);
appendString((&T9_), TM__OyL9acDBDoBfMwa5zb1Y88w_362);
appendString((&T9_), filename_1);
		colontmpD__4 = T9_;
		liMessage__msgs_u1227(conf_p0, unknownLineInfo__lineinfos_u364, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__4, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)1), TM__OyL9acDBDoBfMwa5zb1Y88w_363, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		{
			LA8_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__4);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(filename_1);
		eqdestroy___system_u2691(name_1);
		eqdestroy___pureZos_u236(tmpTuple_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, callCCompiler__extccomp_u1560)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0) {
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* colonenv__1;
	NimStringV2 linkCmd_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ extraCmds_1;
	NimStringV2 script_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cmds_1;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb_1;
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* colontmpD_;
	tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw* T2_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ T7_;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA T8_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenv__1 = NIM_NIL;
	linkCmd_1.len = 0; linkCmd_1.p = NIM_NIL;
	extraCmds_1.len = 0; extraCmds_1.p = NIM_NIL;
	script_1.len = 0; script_1.p = NIM_NIL;
	cmds_1.len = 0; cmds_1.p = NIM_NIL;
	nimZeroMem((void*)(&prettyCb_1), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw*) nimNewObj(sizeof(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw), NIM_ALIGNOF(tyObject_Env_extccompdotnim_callCCompiler___N8B6FGvsBw9cs9aqtrniUkGw));
	(*T2_).Sup.m_type = (&NTIv2__N8B6FGvsBw9cs9aqtrniUkGw_);
	colonenv__1 = T2_;
	eqcopy___options_u2138(&(*colonenv__1).conf1, conf_p0);
	linkCmd_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_257;
	{
		if (!(((*(*colonenv__1).conf1).globalOptions & 1040) == 16)) goto LA5_;
		eqdestroy___pureZosproc_u619(prettyCb_1);
		eqdestroy___system_u5536(cmds_1);
		eqdestroy___system_u2691(script_1);
		eqdestroy___system_u5536(extraCmds_1);
		eqdestroy___system_u2691(linkCmd_1);
		eqdestroy___extccomp_u3475(colonenv__1);
		goto BeforeRet_;
	}
LA5_: ;
	script_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_258;
	cmds_1.len = 0; cmds_1.p = NIM_NIL;
	T7_.len = 0; T7_.p = NIM_NIL;
	eqsink___system_u5545((&(*colonenv__1).prettyCmds0), T7_);
	colontmpD_ = eqdup___extccomp_u3482(colonenv__1, NIM_TRUE);
	nimZeroMem((void*)(&T8_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T8_.ClP_0 = colonanonymous___extccomp_u1584; T8_.ClE_0 = colontmpD_;
	prettyCb_1.ClE_0 = T8_.ClE_0;
	prettyCb_1.ClP_0 = T8_.ClP_0;
	{
		tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg it_1;
		NI idx_1;
		NI i_1;
		NI L_1;
		NI T11_;
		nimZeroMem((void*)(&it_1), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
		idx_1 = (NI)0;
		i_1 = ((NI)0);
		T11_ = (*(*colonenv__1).conf1).toCompile.len;
		L_1 = T11_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA13;
				idx_1 = i_1;
				eqcopy___options_u1622((&it_1), (&(*(*colonenv__1).conf1).toCompile.p->data[i_1]));
				{
					NimStringV2 compileCmd_1;
					NI T20_;
					compileCmd_1.len = 0; compileCmd_1.p = NIM_NIL;
					{
						if (!((it_1.flags &((NU8)1<<((NU)((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)0)))&7U)))!=0)) goto LA18_;
						eqdestroy___system_u2691(compileCmd_1);
						goto LA14;
					}
LA18_: ;
					T20_ = (*(*colonenv__1).conf1).toCompile.len;
					compileCmd_1 = getCompileCFileCmd__extccomp_u1228((*colonenv__1).conf1, (&it_1), (idx_1 == (NI)(T20_ - ((NI)1))), NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
					{
						NimStringV2 colontmpD__2;
						NimStringV2 colontmpD__3;
						NimStringV2 T26_;
						if (!!((((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)4)))&63U)))!=0))) goto LA23_;
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						colontmpD__2 = eqdup___system_u2697(compileCmd_1);
						add__stdZenumutils_u71((&cmds_1), colontmpD__2);
						colontmpD__3 = dollar___options_u3939(it_1.cname);
						if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
						T26_.len = 0; T26_.p = NIM_NIL;
						T26_ = displayProgressCC__extccomp_u1547((*colonenv__1).conf1, colontmpD__3, compileCmd_1);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T26_); goto LA25_;}
						add__stdZenumutils_u71((&(*colonenv__1).prettyCmds0), T26_);
						{
							LA25_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__3);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA15_;
					}
LA23_: ;
					{
						if (!(((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)10)))&63U)))!=0)) goto LA31_;
						prepareAdd((&script_1), compileCmd_1.len + 0);
appendString((&script_1), compileCmd_1);
						prepareAdd((&script_1), 1);
appendString((&script_1), TM__OyL9acDBDoBfMwa5zb1Y88w_265);
					}
LA31_: ;
					{
						LA15_:;
					}
					{
						eqdestroy___system_u2691(compileCmd_1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				} LA14: ;
				i_1 += ((NI)1);
			} LA13: ;
		}
		{
			LA10_:;
		}
		{
			eqdestroy___options_u1619((&it_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		if (!!((((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)4)))&63U)))!=0))) goto LA39_;
		execCmdsInParallel__extccomp_u1467((*colonenv__1).conf1, cmds_1, prettyCb_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA39_: ;
	{
		NimStringV2 objfiles_1;
		if (!!((((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)5)))&63U)))!=0))) goto LA43_;
		objfiles_1.len = 0; objfiles_1.p = NIM_NIL;
		objfiles_1 = TM__OyL9acDBDoBfMwa5zb1Y88w_293;
		{
			NimStringV2* it_2;
			NI i_2;
			NI L_2;
			NI T47_;
			it_2 = (NimStringV2*)0;
			i_2 = ((NI)0);
			T47_ = (*(*colonenv__1).conf1).externalToLink.len;
			L_2 = T47_;
			{
				while (1) {
					NimStringV2 objFile_1;
					NimStringV2 colontmpD__4;
					NimStringV2 colontmpD__5;
					NimStringV2 T50_;
					if (!(i_2 < L_2)) goto LA49;
					objFile_1.len = 0; objFile_1.p = NIM_NIL;
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
					it_2 = (&(*(*colonenv__1).conf1).externalToLink.p->data[i_2]);
					T50_.len = 0; T50_.p = NIM_NIL;
					{
						NIM_BOOL T53_;
						T53_ = (NIM_BOOL)0;
						T53_ = noAbsolutePaths__extccomp_u1062((*colonenv__1).conf1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
						if (!T53_) goto LA54_;
						objFile_1 = nosextractFilename((*it_2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					}
					goto LA51_;
LA54_: ;
					{
						eqcopy___system_u2694((&objFile_1), (*it_2));
					}
LA51_: ;
					nimAddCharV1((&objfiles_1), 32);
					colontmpD__4 = nosaddFileExt(objFile_1, CC__extccomp_u624[((*(*colonenv__1).conf1).cCompiler)- 1].Field1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					colontmpD__5 = nospquoteShell(colontmpD__4);
					if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
					prepareAdd((&objfiles_1), colontmpD__5.len + 0);
appendString((&objfiles_1), colontmpD__5);
					i_2 += ((NI)1);
					eqdestroy___system_u2691(colontmpD__5);
					eqdestroy___system_u2691(colontmpD__4);
					eqdestroy___system_u2691(objFile_1);
				} LA49: ;
			}
		}
		{
			NIM_BOOL T59_;
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ T62_;
			NI mainFileIdx_1;
			NI T63_;
			tyProc__oFHfEKFsiYTMAy9a42cSiKw T105_;
			tySequence__sM4lkSb7zS6F7OVMvW9cffQ T106_;
			T59_ = (NIM_BOOL)0;
			T59_ = hcrOn__options_u629((*colonenv__1).conf1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			if (!T59_) goto LA60_;
			T62_.len = 0; T62_.p = NIM_NIL;
			T62_.len = 0; T62_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
			eqsink___system_u5545((&cmds_1), T62_);
			T63_ = (*(*colonenv__1).conf1).toCompile.len;
			mainFileIdx_1 = (NI)(T63_ - ((NI)1));
			{
				tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg x_1;
				NI idx_2;
				NI i_3;
				NI L_3;
				NI T66_;
				nimZeroMem((void*)(&x_1), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
				idx_2 = (NI)0;
				i_3 = ((NI)0);
				T66_ = (*(*colonenv__1).conf1).toCompile.len;
				L_3 = T66_;
				{
					while (1) {
						if (!(i_3 < L_3)) goto LA68;
						idx_2 = i_3;
						eqcopy___options_u1622((&x_1), (&(*(*colonenv__1).conf1).toCompile.p->data[i_3]));
						{
							NimStringV2 objFile_2;
							NimStringV2 linkTarget_1;
							NimStringV2 colontmpD__6;
							NimStringV2 colontmpD__7;
							NIM_BOOL buildDll_1;
							NimStringV2 T75_;
							NimStringV2 T76_;
							objFile_2.len = 0; objFile_2.p = NIM_NIL;
							linkTarget_1.len = 0; linkTarget_1.p = NIM_NIL;
							colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
							colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
							{
								if (!((x_1.flags &((NU8)1<<((NU)((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)0)))&7U)))!=0)) goto LA73_;
								eqdestroy___system_u2691(colontmpD__7);
								eqdestroy___system_u2691(colontmpD__6);
								eqdestroy___system_u2691(linkTarget_1);
								eqdestroy___system_u2691(objFile_2);
								goto LA69;
							}
LA73_: ;
							objFile_2 = getObjFilePath__extccomp_u1536((*colonenv__1).conf1, (&x_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
							buildDll_1 = !((idx_2 == mainFileIdx_1));
							linkTarget_1 = hcrLinkTargetName__extccomp_u1540((*colonenv__1).conf1, objFile_2, !(buildDll_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
							T75_.len = 0; T75_.p = NIM_NIL;
							colontmpD__6 = nospquoteShell(objFile_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
							T75_ = rawNewString(objfiles_1.len + colontmpD__6.len + 1);
appendString((&T75_), objfiles_1);
appendString((&T75_), TM__OyL9acDBDoBfMwa5zb1Y88w_339);
appendString((&T75_), colontmpD__6);
							colontmpD__7 = T75_;
							T76_.len = 0; T76_.p = NIM_NIL;
							T76_ = getLinkCmd__extccomp_u1373((*colonenv__1).conf1, linkTarget_1, colontmpD__7, buildDll_1, NIM_TRUE);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T76_); goto LA70_;}
							add__stdZenumutils_u71((&cmds_1), T76_);
							{
								NIM_BOOL T79_;
								T79_ = (NIM_BOOL)0;
								T79_ = isVSCompatible__extccomp_u696((*colonenv__1).conf1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
								if (!T79_) goto LA80_;
								{
									NimStringV2 pdb_1;
									NimStringV2 colontmp_;
									NimStringV2 T83_;
									glob_t fX60gensym5__1;
									NI resX60gensym5__1;
									int T84_;
									pdb_1.len = 0; pdb_1.p = NIM_NIL;
									colontmp_.len = 0; colontmp_.p = NIM_NIL;
									pdb_1.len = 0; pdb_1.p = NIM_NIL;
									colontmp_.len = 0; colontmp_.p = NIM_NIL;
									T83_.len = 0; T83_.p = NIM_NIL;
									T83_ = rawNewString(objFile_2.len + 6);
appendString((&T83_), objFile_2);
appendString((&T83_), TM__OyL9acDBDoBfMwa5zb1Y88w_341);
									colontmp_ = T83_;
									nimZeroMem((void*)(&fX60gensym5__1), sizeof(glob_t));
									resX60gensym5__1 = (NI)0;
									fX60gensym5__1.gl_offs = ((NI)0);
									fX60gensym5__1.gl_pathc = ((NI)0);
									fX60gensym5__1.gl_pathv = ((NCSTRING*) NIM_NIL);
									T84_ = (int)0;
									T84_ = glob(nimToCStringConv(colontmp_), ((int)0), NIM_NIL, (&fX60gensym5__1));
									resX60gensym5__1 = ((NI) (T84_));
									{
										if (!(resX60gensym5__1 == ((NI)0))) goto LA88_;
										{
											NI iX60gensym5__1;
											NI colontmp__2;
											NI res_1;
											iX60gensym5__1 = (NI)0;
											colontmp__2 = (NI)0;
											colontmp__2 = (NI)(fX60gensym5__1.gl_pathc - ((NI)1));
											res_1 = ((NI)0);
											{
												while (1) {
													NimStringV2 pathX60gensym5__1;
													if (!(res_1 <= colontmp__2)) goto LA92;
													pathX60gensym5__1.len = 0; pathX60gensym5__1.p = NIM_NIL;
													iX60gensym5__1 = ((NI) (res_1));
													pathX60gensym5__1 = cstrToNimstr(fX60gensym5__1.gl_pathv[iX60gensym5__1]);
													{
														NIM_BOOL T95_;
														NIM_BOOL T98_;
														T95_ = (NIM_BOOL)0;
														T95_ = nosfileExists(pathX60gensym5__1);
														if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
														if (!T95_) goto LA96_;
														eqsink___system_u2700((&pdb_1), pathX60gensym5__1);
														eqwasMoved___system_u2688((&pathX60gensym5__1));
														T98_ = (NIM_BOOL)0;
														T98_ = nostryRemoveFile(pdb_1);
														if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
														(void)(T98_);
													}
LA96_: ;
													res_1 += ((NI)1);
													eqdestroy___system_u2691(pathX60gensym5__1);
												} LA92: ;
											}
										}
									}
LA88_: ;
									{
										LA85_:;
									}
									{
										globfree((&fX60gensym5__1));
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA70_;
									eqdestroy___system_u2691(colontmp_);
									eqdestroy___system_u2691(pdb_1);
								}
							}
LA80_: ;
							{
								LA70_:;
							}
							{
								eqdestroy___system_u2691(colontmpD__7);
								eqdestroy___system_u2691(colontmpD__6);
								eqdestroy___system_u2691(linkTarget_1);
								eqdestroy___system_u2691(objFile_2);
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA65_;
						} LA69: ;
						i_3 += ((NI)1);
					} LA68: ;
				}
				{
					LA65_:;
				}
				{
					eqdestroy___options_u1619((&x_1));
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			}
			nimZeroMem((void*)(&T105_), sizeof(tyProc__oFHfEKFsiYTMAy9a42cSiKw));
			T105_.ClP_0 = ((TM__OyL9acDBDoBfMwa5zb1Y88w_346) (colonanonymous___extccomp_u1710)); T105_.ClE_0 = NIM_NIL;
			T106_.len = 0; T106_.p = NIM_NIL;
			T106_ = map__extccomp_u1714((((*colonenv__1).prettyCmds0).p) ? ((*colonenv__1).prettyCmds0.p->data) : NIM_NIL, (*colonenv__1).prettyCmds0.len, T105_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u5536(T106_); goto LA45_;}
			eqsink___system_u5545((&(*colonenv__1).prettyCmds0), T106_);
			execCmdsInParallel__extccomp_u1467((*colonenv__1).conf1, cmds_1, prettyCb_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			{
				NimStringV2 mainObjFile_1;
				NimStringV2 src_1;
				NimStringV2 dst_1;
				if (!!((((*(*colonenv__1).conf1).toCompile.p->data[mainFileIdx_1].flags &((NU8)1<<((NU)((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)0)))&7U)))!=0))) goto LA109_;
				mainObjFile_1.len = 0; mainObjFile_1.p = NIM_NIL;
				src_1.len = 0; src_1.p = NIM_NIL;
				dst_1.len = 0; dst_1.p = NIM_NIL;
				mainObjFile_1 = getObjFilePath__extccomp_u1536((*colonenv__1).conf1, (&(*(*colonenv__1).conf1).toCompile.p->data[mainFileIdx_1]));
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				src_1 = hcrLinkTargetName__extccomp_u1540((*colonenv__1).conf1, mainObjFile_1, NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				dst_1 = prepareToWriteOutput__options_u3642((*colonenv__1).conf1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				copyFileWithPermissions__stdZprivateZosfiles_u366(src_1, dst_1, NIM_TRUE, 2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA111_;
				{
					LA111_:;
				}
				{
					eqdestroy___system_u2691(dst_1);
					eqdestroy___system_u2691(src_1);
					eqdestroy___system_u2691(mainObjFile_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
			}
LA109_: ;
		}
		goto LA57_;
LA60_: ;
		{
			NimStringV2 mainOutput_1;
			NimStringV2 T127_;
			NimStringV2 T133_;
			mainOutput_1.len = 0; mainOutput_1.p = NIM_NIL;
			{
				tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* x_2;
				NI i_4;
				NI L_4;
				NI T117_;
				x_2 = (tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg*)0;
				i_4 = ((NI)0);
				T117_ = (*(*colonenv__1).conf1).toCompile.len;
				L_4 = T117_;
				{
					while (1) {
						NimStringV2 objFile_3;
						NimStringV2 colontmpD__8;
						NimStringV2 T120_;
						if (!(i_4 < L_4)) goto LA119;
						objFile_3.len = 0; objFile_3.p = NIM_NIL;
						colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
						x_2 = (&(*(*colonenv__1).conf1).toCompile.p->data[i_4]);
						T120_.len = 0; T120_.p = NIM_NIL;
						{
							NIM_BOOL T123_;
							T123_ = (NIM_BOOL)0;
							T123_ = noAbsolutePaths__extccomp_u1062((*colonenv__1).conf1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
							if (!T123_) goto LA124_;
							objFile_3 = nosextractFilename((*x_2).obj);
							if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						}
						goto LA121_;
LA124_: ;
						{
							NimStringV2 colontmpD__9;
							colontmpD__9 = eqdup___system_u2697((*x_2).obj);
							objFile_3 = colontmpD__9;
						}
LA121_: ;
						nimAddCharV1((&objfiles_1), 32);
						colontmpD__8 = nospquoteShell(objFile_3);
						if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
						prepareAdd((&objfiles_1), colontmpD__8.len + 0);
appendString((&objfiles_1), colontmpD__8);
						i_4 += ((NI)1);
						eqdestroy___system_u2691(colontmpD__8);
						eqdestroy___system_u2691(objFile_3);
					} LA119: ;
				}
			}
			T127_.len = 0; T127_.p = NIM_NIL;
			{
				if (!!((((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)10)))&63U)))!=0))) goto LA130_;
				mainOutput_1 = prepareToWriteOutput__options_u3642((*colonenv__1).conf1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
			}
			goto LA128_;
LA130_: ;
			{
				NimStringV2 colontmpD__10;
				colontmpD__10 = eqdup___system_u2697((*(*colonenv__1).conf1).outFile);
				mainOutput_1 = colontmpD__10;
			}
LA128_: ;
			T133_.len = 0; T133_.p = NIM_NIL;
			T133_ = getLinkCmd__extccomp_u1373((*colonenv__1).conf1, mainOutput_1, objfiles_1, (((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)7)))&63U)))!=0), NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T133_); goto LA115_;}
			eqsink___system_u2700((&linkCmd_1), T133_);
			extraCmds_1 = getExtraCmds__extccomp_u1454((*colonenv__1).conf1, mainOutput_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
			{
				if (!!((((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)4)))&63U)))!=0))) goto LA136_;
				preventLinkCmdMaxCmdLen__extccomp_u1556((*colonenv__1).conf1, linkCmd_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
				{
					NimStringV2* cmd_1;
					NI i_5;
					NI L_5;
					NI T139_;
					cmd_1 = (NimStringV2*)0;
					i_5 = ((NI)0);
					T139_ = extraCmds_1.len;
					L_5 = T139_;
					{
						while (1) {
							if (!(i_5 < L_5)) goto LA141;
							cmd_1 = (&extraCmds_1.p->data[i_5]);
							execExternalProgram__extccomp_u1040((*colonenv__1).conf1, (*cmd_1), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)109));
							if (NIM_UNLIKELY(*nimErr_)) goto LA115_;
							i_5 += ((NI)1);
						} LA141: ;
					}
				}
			}
LA136_: ;
			{
				LA115_:;
			}
			{
				eqdestroy___system_u2691(mainOutput_1);
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA45_;
		}
LA57_: ;
		{
			LA45_:;
		}
		{
			eqdestroy___system_u2691(objfiles_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA41_;
LA43_: ;
	{
		eqsink___system_u2700((&linkCmd_1), TM__OyL9acDBDoBfMwa5zb1Y88w_358);
	}
LA41_: ;
	{
		if (!(((*(*colonenv__1).conf1).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)10)))&63U)))!=0)) goto LA149_;
		prepareAdd((&script_1), linkCmd_1.len + 0);
appendString((&script_1), linkCmd_1);
		prepareAdd((&script_1), 1);
appendString((&script_1), TM__OyL9acDBDoBfMwa5zb1Y88w_359);
		generateScript__extccomp_u1044((*colonenv__1).conf1, script_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA149_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZosproc_u619(prettyCb_1);
		eqdestroy___system_u5536(cmds_1);
		eqdestroy___system_u2691(script_1);
		eqdestroy___system_u5536(extraCmds_1);
		eqdestroy___system_u2691(linkCmd_1);
		eqdestroy___extccomp_u3475(colonenv__1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, writeJsonBuildInstructions__extccomp_u1844)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* deps_p1) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ linkFiles_1;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ collectResult_1;
	tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA bcache_1;
	tySequence__4eQHGndY6XBYpFOH09apV8Q collectResult_2;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 colontmpD__5;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmpD__6;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* colontmpD__7;
	NimStringV2 colontmpD__8;
	tySequence__4eQHGndY6XBYpFOH09apV8Q blitTmp_1;
	NimStringV2 T77_;
	tyObject_ToJsonOptions__xxRei9adCn4x50jeG886fag T78_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	linkFiles_1.len = 0; linkFiles_1.p = NIM_NIL;
	collectResult_1.len = 0; collectResult_1.p = NIM_NIL;
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	collectResult_2.len = 0; collectResult_2.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	colontmpD__7 = NIM_NIL;
	colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
	collectResult_1 = newSeq__stdZsyncio_u571(((NI)0));
	{
		NimStringV2* it_1;
		NI i_1;
		NI L_1;
		NI T3_;
		it_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T3_ = (*conf_p0).externalToLink.len;
		L_1 = T3_;
		{
			while (1) {
				NimStringV2 it_2;
				NimStringV2 T12_;
				if (!(i_1 < L_1)) goto LA5;
				it_2.len = 0; it_2.p = NIM_NIL;
				it_1 = (&(*conf_p0).externalToLink.p->data[i_1]);
				eqcopy___system_u2694((&it_2), (*it_1));
				{
					NIM_BOOL T8_;
					NimStringV2 T11_;
					T8_ = (NIM_BOOL)0;
					T8_ = noAbsolutePaths__extccomp_u1062(conf_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					if (!T8_) goto LA9_;
					T11_.len = 0; T11_.p = NIM_NIL;
					T11_ = nosextractFilename(it_2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T11_); goto LA1_;}
					eqsink___system_u2700((&it_2), T11_);
				}
LA9_: ;
				T12_.len = 0; T12_.p = NIM_NIL;
				T12_ = nosaddFileExt(it_2, CC__extccomp_u624[((*conf_p0).cCompiler)- 1].Field1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T12_); goto LA1_;}
				add__stdZenumutils_u71((&collectResult_1), T12_);
				i_1 += ((NI)1);
				eqdestroy___system_u2691(it_2);
			} LA5: ;
		}
	}
	linkFiles_1 = collectResult_1;
	eqwasMoved___system_u5533((&collectResult_1));
	{
		tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg* it_3;
		NI i_2;
		NI L_2;
		NI T14_;
		it_3 = (tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg*)0;
		i_2 = ((NI)0);
		T14_ = (*conf_p0).toCompile.len;
		L_2 = T14_;
		{
			while (1) {
				NimStringV2 colontmpD__9;
				if (!(i_2 < L_2)) goto LA16;
				it_3 = (&(*conf_p0).toCompile.p->data[i_2]);
				colontmpD__9 = eqdup___system_u2697((*it_3).obj);
				add__stdZenumutils_u71((&linkFiles_1), colontmpD__9);
				i_2 += ((NI)1);
			} LA16: ;
		}
	}
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	bcache_1.cacheVersion = TM__OyL9acDBDoBfMwa5zb1Y88w_364;
	bcache_1.outputFile = absOutFile__options_u3622(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	collectResult_2 = newSeq__extccomp_u1940(((NI)0));
	{
		tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg it_4;
		NI i_3;
		NI i_4;
		NI L_3;
		NI T19_;
		nimZeroMem((void*)(&it_4), sizeof(tyObject_Cfile__DANcxQKXbKf7Ve5cK3l3Wg));
		i_3 = (NI)0;
		i_4 = ((NI)0);
		T19_ = (*conf_p0).toCompile.len;
		L_3 = T19_;
		{
			while (1) {
				if (!(i_4 < L_3)) goto LA21;
				i_3 = i_4;
				eqcopy___options_u1622((&it_4), (&(*conf_p0).toCompile.p->data[i_4]));
				{
					NimStringV2 colontmpD__10;
					tyTuple__UV3llMMYFckfui8YMBuUZA T26_;
					NimStringV2 T27_;
					if (!!(((it_4.flags &((NU8)1<<((NU)((((tyEnum_CfileFlag__qhMBL5cBz484papsb5WgFQ)0)))&7U)))!=0))) goto LA24_;
					colontmpD__10 = eqdup___system_u2697(it_4.cname);
					T26_.Field0 = colontmpD__10;
					T27_.len = 0; T27_.p = NIM_NIL;
					T27_ = getCompileCFileCmd__extccomp_u1228(conf_p0, (&it_4), NIM_FALSE, NIM_FALSE);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T27_); goto LA18_;}
					T26_.Field1 = T27_;
					add__extccomp_u2036((&collectResult_2), T26_);
				}
LA24_: ;
				i_4 += ((NI)1);
			} LA21: ;
		}
		{
			LA18_:;
		}
		{
			eqdestroy___options_u1619((&it_4));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	blitTmp_1 = collectResult_2;
	eqwasMoved___stdZenvvars_u79((&collectResult_2));
	bcache_1.compile = blitTmp_1;
	colontmpD_ = eqdup___system_u5542(linkFiles_1);
	bcache_1.link = colontmpD_;
	colontmpD__2 = absOutFile__options_u3622(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = quoteShellCommand__pureZos_u60(((linkFiles_1).p) ? (linkFiles_1.p->data) : NIM_NIL, linkFiles_1.len);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bcache_1.linkcmd = getLinkCmd__extccomp_u1373(conf_p0, colontmpD__2, colontmpD__3, (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)7)))&63U)))!=0), NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__4 = absOutFile__options_u3622(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bcache_1.extraCmds = getExtraCmds__extccomp_u1454(conf_p0, colontmpD__4);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bcache_1.stdinInput = (*conf_p0).projectIsStdin;
	bcache_1.projectIsCmd = (*conf_p0).projectIsCmd;
	colontmpD__5 = eqdup___system_u2697((*conf_p0).cmdInput);
	bcache_1.cmdInput = colontmpD__5;
	{
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmp__1;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ resultX60gensym120__1;
		NI iX60gensym120__1;
		NI T31_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ blitTmp_2;
		colontmp__1.len = 0; colontmp__1.p = NIM_NIL;
		resultX60gensym120__1.len = 0; resultX60gensym120__1.p = NIM_NIL;
		eqcopy___options_u1871((&colontmp__1), (*conf_p0).configFiles);
		iX60gensym120__1 = ((NI)0);
		T31_ = colontmp__1.len;
		resultX60gensym120__1 = newSeq__stdZsyncio_u571((T31_));
		{
			NimStringV2* it_5;
			NI i_5;
			NI L_4;
			NI T33_;
			it_5 = (NimStringV2*)0;
			i_5 = ((NI)0);
			T33_ = colontmp__1.len;
			L_4 = T33_;
			{
				while (1) {
					NimStringV2 colontmpD__11;
					if (!(i_5 < L_4)) goto LA35;
					it_5 = (&colontmp__1.p->data[i_5]);
					colontmpD__11 = eqdup___system_u2697((*it_5));
					eqsink___system_u2700((&resultX60gensym120__1.p->data[iX60gensym120__1]), colontmpD__11);
					iX60gensym120__1 += ((NI)1);
					i_5 += ((NI)1);
				} LA35: ;
			}
		}
		colontmpD__6 = resultX60gensym120__1;
		eqdestroy___options_u1868(colontmp__1);
		blitTmp_2 = colontmpD__6;
		eqwasMoved___system_u5533((&colontmpD__6));
		bcache_1.configFiles = blitTmp_2;
	}
	bcache_1.currentDir = nosgetCurrentDir();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T38_;
		NimStringV2 colontmpD__12;
		tyArray__9amPDC9cslxc3W1WNI8aK5gA T66_;
		NimStringV2 T67_;
		T38_ = (NIM_BOOL)0;
		T38_ = (((*conf_p0).globalOptions &((NU64)1<<((NU)((((tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A)13)))&63U)))!=0);
		if (T38_) goto LA39_;
		T38_ = isDefined__options_u959(conf_p0, TM__OyL9acDBDoBfMwa5zb1Y88w_366);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA39_: ;
		if (!T38_) goto LA40_;
		colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
		eqcopy___system_u2694((&bcache_1.cmdline), (*conf_p0).commandLine);
		{
			tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw* it_6;
			NI i_6;
			NI L_5;
			NI T44_;
			it_6 = (tyObject_TFileInfo__xPdjmgevOVG8T0Aq8BK7jw*)0;
			i_6 = ((NI)0);
			T44_ = (*conf_p0).m.fileInfos.len;
			L_5 = T44_;
			{
				while (1) {
					NimStringV2 path_1;
					NimStringV2 colontmpD__13;
					if (!(i_6 < L_5)) goto LA46;
					path_1.len = 0; path_1.p = NIM_NIL;
					it_6 = (&(*conf_p0).m.fileInfos.p->data[i_6]);
					colontmpD__13 = eqdup___system_u2697((*it_6).fullPath);
					path_1 = colontmpD__13;
					{
						NIM_BOOL T50_;
						T50_ = (NIM_BOOL)0;
						T50_ = nosisAbsolute(path_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
						if (!T50_) goto LA51_;
						{
							NIM_BOOL T55_;
							NimStringV2 colontmpD__14;
							NimStringV2 colontmpD__15;
							tyTuple__UV3llMMYFckfui8YMBuUZA T58_;
							NimStringV2* T59_;
							T55_ = (NIM_BOOL)0;
							T55_ = contains__pureZstrtabs_u400(deps_p1, path_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
							if (!T55_) goto LA56_;
							colontmpD__14 = eqdup___system_u2697(path_1);
							T58_.Field0 = colontmpD__14;
							T59_ = (NimStringV2*)0;
							T59_ = nstTake(deps_p1, path_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
							colontmpD__15 = eqdup___system_u2697((*T59_));
							T58_.Field1 = colontmpD__15;
							add__extccomp_u2036((&bcache_1.depfiles), T58_);
						}
						goto LA53_;
LA56_: ;
						{
							NimStringV2 colontmpD__16;
							tyTuple__UV3llMMYFckfui8YMBuUZA T61_;
							tyArray__9amPDC9cslxc3W1WNI8aK5gA T62_;
							NimStringV2 T63_;
							colontmpD__16 = eqdup___system_u2697(path_1);
							T61_.Field0 = colontmpD__16;
							nimZeroMem((void*)T62_, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
							secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946(path_1, T62_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
							T63_.len = 0; T63_.p = NIM_NIL;
							T63_ = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(T62_);
							if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T63_); goto LA47_;}
							T61_.Field1 = T63_;
							add__extccomp_u2036((&bcache_1.depfiles), T61_);
						}
LA53_: ;
					}
LA51_: ;
					i_6 += ((NI)1);
					{
						LA47_:;
					}
					{
						eqdestroy___system_u2691(path_1);
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
				} LA46: ;
			}
		}
		colontmpD__12 = nosgetAppFilename();
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		nimZeroMem((void*)T66_, sizeof(tyArray__9amPDC9cslxc3W1WNI8aK5gA));
		secureHashFile__OOZdistZchecksumsZsrcZchecksumsZsha1_u946(colontmpD__12, T66_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
		T67_.len = 0; T67_.p = NIM_NIL;
		T67_ = dollar___OOZdistZchecksumsZsrcZchecksumsZsha1_u954(T66_);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T67_); goto LA42_;}
		eqsink___system_u2700((&bcache_1.nimexe), T67_);
		{
			NIM_BOOL T70_;
			tyObject_Time__f9czJU2iP3D49bUN3jzSsOfA T73_;
			NimStringV2 T74_;
			T70_ = (NIM_BOOL)0;
			T70_ = nosfileExists(bcache_1.outputFile);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			if (!T70_) goto LA71_;
			T73_ = nosgetLastModificationTime(bcache_1.outputFile);
			if (NIM_UNLIKELY(*nimErr_)) goto LA42_;
			T74_.len = 0; T74_.p = NIM_NIL;
			T74_ = dollar___pureZtimes_u4687(T73_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T74_); goto LA42_;}
			eqsink___system_u2700((&bcache_1.outputLastModificationTime), T74_);
		}
LA71_: ;
		{
			LA42_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__12);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA40_: ;
	T77_.len = 0; T77_.p = NIM_NIL;
	T77_ = jsonBuildInstructionsFile__extccomp_u1824(conf_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T77_); goto LA1_;}
	eqsink___system_u2700((&(*conf_p0).jsonBuildFile), T77_);
	T78_ = initToJsonOptions__stdZjsonutils_u34();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__7 = toJson__extccomp_u2180((&bcache_1), T78_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__8 = pretty__pureZjson_u4827(colontmpD__7, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	writeFile__stdZsyncio_u532((*conf_p0).jsonBuildFile, colontmpD__8);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___system_u2691(colontmpD__8);
		eqdestroy___pureZjson_u324(colontmpD__7);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___system_u5536(colontmpD__6);
		eqdestroy___system_u2691(colontmpD__4);
		eqdestroy___system_u2691(colontmpD__3);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___stdZenvvars_u82(collectResult_2);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___system_u5536(collectResult_1);
		eqdestroy___system_u5536(linkFiles_1);
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3748)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn((*dest_p0).conf1);
		if (!T3_) goto LA4_;
		eqdestroy___options_u1751((&(*(*dest_p0).conf1)));
		nimRawDispose((*dest_p0).conf1, ((NI)8));
	}
LA4_: ;
	eqdestroy___system_u5536((*dest_p0).prettyCmds0);
}
N_LIB_PRIVATE N_NIMCALL(void, rttiDestroy__extccomp_u3833)(void* dest_p0) {
	eqdestroy___extccomp_u3748((&(*((tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA*) (dest_p0)))));
}
N_LIB_PRIVATE N_CLOSURE(void, colonanonymous___extccomp_u3247)(NI idx_p0, void* ClE_0) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* colonenvP__1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenvP__1 = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA*) ClE_0;
	{
		tyArray__YgExxhfgKcesA5EOUj1MOA T5_;
		if (!(((NI)0) < (*colonenvP__1).prettyCmds0.p->data[idx_p0].len)) goto LA3_;
		flushDot__msgs_u40((*colonenvP__1).conf1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T5_[0] = (*colonenvP__1).prettyCmds0.p->data[idx_p0];
		writeLine__msgs_u470(__stderrp, T5_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA*, eqdup___extccomp_u3788)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* src_p0, NIM_BOOL cyclic_p1) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* result;
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* colontmp_;
	result = NIM_NIL;
	colontmp_ = result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRefCyclic(src_p0, cyclic_p1);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___extccomp_u3781)(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastCyclicStatic(dest_p0, ((TNimTypeV2*) ((&NTIv2__LFXZfOubgvLoNGN6YbTZGA_))));
		if (!T3_) goto LA4_;
		eqdestroy___extccomp_u3748((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)4));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, runJsonBuildInstructions__extccomp_u3207)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, NimStringV2 jsonFile_p1) {
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* colonenv__1;
	tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA bcache_1;
	NimStringV2 output_1;
	NimStringV2 colontmpD_;
	NimStringV2 outputCurrent_1;
	NimStringV2 colontmpD__2;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ cmds_1;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA prettyCb_1;
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* colontmpD__3;
	tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA* T2_;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* colontmpD__4;
	tyObject_JsonNodeObj__LZt4ndWMfGQOyH1zUmYA3g* T5_;
	tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ T6_;
NIM_BOOL oldNimErrFin4_;
	NimStringV2 T22_;
	NimStringV2 T23_;
	NimStringV2 T24_;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ T36_;
	tyProc__SqRJqa5aOiKB4EuKlKh9asA T37_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colonenv__1 = NIM_NIL;
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	output_1.len = 0; output_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	outputCurrent_1.len = 0; outputCurrent_1.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	cmds_1.len = 0; cmds_1.p = NIM_NIL;
	nimZeroMem((void*)(&prettyCb_1), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T2_ = NIM_NIL;
	T2_ = (tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA*) nimNewObj(sizeof(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA), NIM_ALIGNOF(tyObject_Env_extccompdotnim_runJsonBuildInstructions___LFXZfOubgvLoNGN6YbTZGA));
	(*T2_).Sup.m_type = (&NTIv2__LFXZfOubgvLoNGN6YbTZGA_);
	colonenv__1 = T2_;
	eqcopy___options_u2138(&(*colonenv__1).conf1, conf_p0);
	nimZeroMem((void*)(&bcache_1), sizeof(tyObject_BuildCache__lwHTcYFYjgY7FbhZRiNECA));
	colontmpD__4 = NIM_NIL;
	T5_ = NIM_NIL;
	T5_ = parseFile__pureZjson_u5595(jsonFile_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___pureZjson_u324(T5_); goto LA4_;}
	colontmpD__4 = T5_;
	nimZeroMem((void*)(&T6_), sizeof(tyObject_Joptions__sSnirGarU4zL21BjW4JcHQ));
	fromJson__extccomp_u2409((&bcache_1), colontmpD__4, T6_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
	{
		LA4_:;
	}
	{
		oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u324(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		*nimErr_ = oldNimErrFin4_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
	if (NIM_UNLIKELY(*nimErr_)) {
		LA3_:;
		if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 3, 1871340544)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 831618816)||isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 4, 3081144576)) {
			Exception* e_1;
			*nimErr_ = NIM_FALSE;
			e_1 = NIM_NIL;
			e_1 = getCurrentException();
			{
				NIM_BOOL T14_;
				NimStringV2 colontmpD__5;
				NimStringV2 colontmpD__6;
				tyArray__dyW7vpmfeTYw8kX3EXuaJA T17_;
				NimStringV2 T18_;
				T14_ = (NIM_BOOL)0;
				T14_ = isDefined__options_u959((*colonenv__1).conf1, TM__OyL9acDBDoBfMwa5zb1Y88w_369);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				if (!T14_) goto LA15_;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
				T17_[0] = (*e_1).message;
				colontmpD__5 = getStackTrace__system_u3573(e_1);
				T17_[1] = colontmpD__5;
				T17_[2] = jsonFile_p1;
				T18_.len = 0; T18_.p = NIM_NIL;
				T18_ = percent___extccomp_u3222(T17_, 3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T18_); goto LA10_;}
				colontmpD__6 = T18_;
				raiseAssert__stdZassertions_u15(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				eqdestroy___system_u2691(colontmpD__6);
				eqdestroy___system_u2691(colontmpD__5);
			}
			goto LA12_;
LA15_: ;
			{
				NimStringV2 colontmpD__7;
				NimStringV2 colontmpD__8;
				tyArray__dyW7vpmfeTYw8kX3EXuaJA T20_;
				NimStringV2 T21_;
				colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
				colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
				T20_[0] = (*e_1).message;
				colontmpD__7 = getStackTrace__system_u3573(e_1);
				T20_[1] = colontmpD__7;
				T20_[2] = jsonFile_p1;
				T21_.len = 0; T21_.p = NIM_NIL;
				T21_ = percent___extccomp_u3222(T20_, 3);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T21_); goto LA10_;}
				colontmpD__8 = T21_;
				quit__system_u8005(colontmpD__8, ((NI)1));
				eqdestroy___system_u2691(colontmpD__8);
				eqdestroy___system_u2691(colontmpD__7);
			}
LA12_: ;
			eqdestroy___system_u3659(e_1);
			popCurrentException();
			LA10_:;
		}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	output_1 = bcache_1.outputFile;
	eqwasMoved___system_u2688((&bcache_1.outputFile));
	T22_.len = 0; T22_.p = NIM_NIL;
	T22_ = nosparentDir(output_1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T22_); goto LA1_;}
	colontmpD_ = T22_;
	noscreateDir(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T23_.len = 0; T23_.p = NIM_NIL;
	T23_ = absOutFile__options_u3622((*colonenv__1).conf1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T23_); goto LA1_;}
	colontmpD__2 = T23_;
	T24_.len = 0; T24_.p = NIM_NIL;
	T24_ = dollar___options_u3939(colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T24_); goto LA1_;}
	outputCurrent_1 = T24_;
	{
		NIM_BOOL T27_;
		NimStringV2 colontmpD__9;
		tyArray__dyW7vpmfeTYw8kX3EXuaJA T32_;
		NimStringV2 T33_;
		T27_ = (NIM_BOOL)0;
		T27_ = !(eqStrings(output_1, outputCurrent_1));
		if (T27_) goto LA28_;
		T27_ = !(eqStrings(bcache_1.cacheVersion, TM__OyL9acDBDoBfMwa5zb1Y88w_370));
LA28_: ;
		if (!T27_) goto LA29_;
		colontmpD__9.len = 0; colontmpD__9.p = NIM_NIL;
		T32_[0] = outputCurrent_1;
		T32_[1] = output_1;
		T32_[2] = jsonFile_p1;
		T33_.len = 0; T33_.p = NIM_NIL;
		T33_ = percent___extccomp_u3232(T32_, 3);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T33_); goto LA31_;}
		colontmpD__9 = T33_;
		liMessage__msgs_u1227((*colonenv__1).conf1, gCmdLineInfo__msgs_u442, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__9, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)2), TM__OyL9acDBDoBfMwa5zb1Y88w_371, NIM_FALSE, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
		{
			LA31_:;
		}
		{
			eqdestroy___system_u2691(colontmpD__9);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA29_: ;
	cmds_1.len = 0; cmds_1.p = NIM_NIL;
	T36_.len = 0; T36_.p = NIM_NIL;
	eqsink___system_u5545((&(*colonenv__1).prettyCmds0), T36_);
	colontmpD__3 = eqdup___extccomp_u3788(colonenv__1, NIM_TRUE);
	nimZeroMem((void*)(&T37_), sizeof(tyProc__SqRJqa5aOiKB4EuKlKh9asA));
	T37_.ClP_0 = colonanonymous___extccomp_u3247; T37_.ClE_0 = colontmpD__3;
	prettyCb_1.ClE_0 = T37_.ClE_0;
	prettyCb_1.ClP_0 = T37_.ClP_0;
	{
		NimStringV2* name_1;
		NimStringV2* cmd_1;
		NI i_1;
		NI L_1;
		NI T39_;
		name_1 = (NimStringV2*)0;
		cmd_1 = (NimStringV2*)0;
		i_1 = ((NI)0);
		T39_ = bcache_1.compile.len;
		L_1 = T39_;
		{
			while (1) {
				NimStringV2 colontmpD__10;
				NimStringV2 T42_;
				if (!(i_1 < L_1)) goto LA41;
				name_1 = (&bcache_1.compile.p->data[i_1].Field0);
				cmd_1 = (&bcache_1.compile.p->data[i_1].Field1);
				colontmpD__10 = eqdup___system_u2697((*cmd_1));
				add__stdZenumutils_u71((&cmds_1), colontmpD__10);
				T42_.len = 0; T42_.p = NIM_NIL;
				T42_ = displayProgressCC__extccomp_u1547((*colonenv__1).conf1, (*name_1), (*cmd_1));
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u2691(T42_); goto LA1_;}
				add__stdZenumutils_u71((&(*colonenv__1).prettyCmds0), T42_);
				i_1 += ((NI)1);
			} LA41: ;
		}
	}
	execCmdsInParallel__extccomp_u1467((*colonenv__1).conf1, cmds_1, prettyCb_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	preventLinkCmdMaxCmdLen__extccomp_u1556((*colonenv__1).conf1, bcache_1.linkcmd);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NimStringV2* cmd_2;
		NI i_2;
		NI L_2;
		NI T44_;
		cmd_2 = (NimStringV2*)0;
		i_2 = ((NI)0);
		T44_ = bcache_1.extraCmds.len;
		L_2 = T44_;
		{
			while (1) {
				if (!(i_2 < L_2)) goto LA46;
				cmd_2 = (&bcache_1.extraCmds.p->data[i_2]);
				execExternalProgram__extccomp_u1040((*colonenv__1).conf1, (*cmd_2), ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)109));
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				i_2 += ((NI)1);
			} LA46: ;
		}
	}
	{
		LA1_:;
	}
	{
		eqdestroy___pureZosproc_u619(prettyCb_1);
		eqdestroy___system_u5536(cmds_1);
		eqdestroy___system_u2691(colontmpD__2);
		eqdestroy___system_u2691(outputCurrent_1);
		eqdestroy___system_u2691(colontmpD_);
		eqdestroy___system_u2691(output_1);
		eqdestroy___extccomp_u2337((&bcache_1));
		eqdestroy___extccomp_u3781(colonenv__1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
