/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mnimenv.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mnimenv.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <unistd.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 NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyTuple__TLTPscngTyX39coeZ9b9cEB7w tyTuple__TLTPscngTyX39coeZ9b9cEB7w;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
typedef struct tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA;
typedef struct tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng;
typedef struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef NU8 tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA;
struct tyTuple__TLTPscngTyX39coeZ9b9cEB7w {
	tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA Field0;
	NimStringV2 Field1;
};
struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA {
	NimStringV2 scheme;
	NimStringV2 username;
	NimStringV2 password;
	NimStringV2 hostname;
	NimStringV2 port;
	NimStringV2 path;
	NimStringV2 query;
	NimStringV2 anchor;
	NIM_BOOL opaque;
	NIM_BOOL isIpv6;
};
typedef NU8 tyEnum_MsgKind__rc8l2U8dFSLHl1b1Uls9brw;
typedef NU8 tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw;
struct tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng {
	tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw r;
	NimStringV2 v;
};
struct tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA {
	tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng a;
	tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng b;
	NIM_BOOL isInterval;
};
typedef NU8 tySet_tyEnum_CopyFlag__6cN1ZxVKOK6LwdRV7k5u2g;
typedef NU8 tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww;
struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA {
	NimStringV2 h;
	tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww orig;
};
typedef NU8 tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw;
typedef NimStringV2 tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ[2];
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(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);
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringV2 dir_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, depsDir__basicZcontext_u348)(NIM_BOOL relative_p0);
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosfileExists)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, info__basicZconfigutils_u114)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(void, infoAboutActivation__nimenv_u17)(NimStringV2 nimDest_p0, NimStringV2 nimVersion_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(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(NI, parseInt__pureZparseutils_u981)(NimStringV2 s_p0, NI* number_p1, NI start_p2);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
static N_INLINE(NI, skip__pureZparseutils_u921)(NimStringV2 s_p0, NimStringV2 token_p1, NI start_p2);
static N_INLINE(NI, skip__pureZparseutils_u145)(NIM_CHAR* s_p0, NI s_p0Len_0, NIM_CHAR* token_p1, NI token_p1Len_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError4)(NI l1_p0, NI h1_p1, NI h2_p2);
N_LIB_PRIVATE N_NIMCALL(void, error__basicZconfigutils_u107)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetCurrentDir)(void);
static N_INLINE(void, setCurrentDir__stdZprivateZosdirs_u506)(NimStringV2 newDir_p0);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__stdZoserrors_u119)(NI32 errorCode_p0, NimStringV2 additionalInfo_p1);
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__stdZoserrors_u122)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cloneOrReturn__nimenv_u87)(NimStringV2 url_p0, NimStringV2 dest_p1, NIM_BOOL fetchTags_p2);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(tyTuple__TLTPscngTyX39coeZ9b9cEB7w, clone__basicZgitops_u503)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* url_p0, NimStringV2 dest_p1, NI retries_p2);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, error__basicZgitops_u1259)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZcontext_u31)(tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u637)(tyTuple__TLTPscngTyX39coeZ9b9cEB7w* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, fetchRemoteTags__basicZgitops_u57)(NimStringV2 path_p0, NimStringV2 origin_p1, tyEnum_MsgKind__rc8l2U8dFSLHl1b1Uls9brw errorReportLevel_p2);
static N_INLINE(void, setCurrentDir__stdZdirs_u54)(NimStringV2 newDir_p0);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, findExe__pureZos_u73)(NimStringV2 exe_p0, NIM_BOOL followSymlinks_p1, NimStringV2* extensions_p2, NI extensions_p2Len_0);
N_LIB_PRIVATE N_NIMCALL(NI, nosexecShellCmd)(NimStringV2 command_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosaddFileExt)(NimStringV2 filename_p0, NimStringV2 ext_p1);
N_LIB_PRIVATE N_NIMCALL(void, copyFileWithPermissions__stdZprivateZosfiles_u384)(NimStringV2 source_p0, NimStringV2 dest_p1, NIM_BOOL ignorePermissionErrors_p2, tySet_tyEnum_CopyFlag__6cN1ZxVKOK6LwdRV7k5u2g options_p3);
N_LIB_PRIVATE N_NIMCALL(void, createQueryEq__basicZversions_u201)(NimStringV2 v_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, versionToCommit__basicZgitops_u795)(NimStringV2 path_p0, NimStringV2 origin_p1, tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw algo_p2, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* query_p3);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmpty__basicZversions_u133)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u111)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u246)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, checkoutGitCommit__basicZgitops_u1065)(NimStringV2 path_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA commit_p1, tyEnum_MsgKind__rc8l2U8dFSLHl1b1Uls9brw errorReportLevel_p2);
N_LIB_PRIVATE N_NIMCALL(NI, noscmpPaths)(NimStringV2 pathA_p0, NimStringV2 pathB_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosgetAppDir)(void);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveFile)(NimStringV2 file_p0);
N_LIB_PRIVATE N_NIMCALL(void, nosremoveDir)(NimStringV2 dir_p0, NIM_BOOL checkDir_p1);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuFormatOpenArray)(NimStringV2 formatstr_p0, NimStringV2* a_p1, NI a_p1Len_0);
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_2 = { 4 | NIM_STRLIT_FLAG, "nim-" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_3 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_4 = { 11 | NIM_STRLIT_FLAG, "activate.sh" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_5 = {11, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_4};
static const struct {
  NI cap; NIM_CHAR data[46+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_7 = { 46 | NIM_STRLIT_FLAG, "already exists; remove or rename and try again" };
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_8 = { 15 | NIM_STRLIT_FLAG, "RUN\012source nim-" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_9 = {15, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_8};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_10 = { 12 | NIM_STRLIT_FLAG, "/activate.sh" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_11 = {12, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_10};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_12 = { 5 | NIM_STRLIT_FLAG, "devel" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_13 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_12};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_16 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_17 = {1, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_16};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_20 = {1, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_16};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_23 = { 3 | NIM_STRLIT_FLAG, "nim" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_24 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_23};
static const struct {
  NI cap; NIM_CHAR data[32+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_26 = { 32 | NIM_STRLIT_FLAG, "cannot parse version requirement" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_27 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_12};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_28 = { 11 | NIM_STRLIT_FLAG, "csources_v2" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_29 = {11, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_28};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_30 = { 8 | NIM_STRLIT_FLAG, "csources" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_31 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_30};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_32 = { 11 | NIM_STRLIT_FLAG, "csources_v1" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_33 = {11, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_32};
static const struct {
  NI cap; NIM_CHAR data[17+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_34 = { 17 | NIM_STRLIT_FLAG, "failed to clone: " };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_35 = {17, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_34};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_36 = { 2 | NIM_STRLIT_FLAG, " (" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_37 = {2, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_36};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_38 = { 3 | NIM_STRLIT_FLAG, "): " };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_39 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_38};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_40 = { 6 | NIM_STRLIT_FLAG, "origin" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_41 = {6, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_40};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_42 = { 28 | NIM_STRLIT_FLAG, "https://github.com/nim-lang/" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_43 = {28, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_42};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_44 = { 31 | NIM_STRLIT_FLAG, "https://github.com/nim-lang/nim" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_45 = {31, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_44};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_46 = { 4 | NIM_STRLIT_FLAG, "make" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_47 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_46};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_48 = { 11 | NIM_STRLIT_FLAG, "sh build.sh" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_49 = {11, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_48};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_50 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_51 = { 8 | NIM_STRLIT_FLAG, "failed: " };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_52 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_51};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_53 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_46};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_54 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_55 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_51};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_56 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_57 = {2, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_56};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_58 = { 3 | NIM_STRLIT_FLAG, "bin" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_59 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_58};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_60 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_23};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_61 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_62 = {0, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_61};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_63 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_58};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_64 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_23};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_65 = {0, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_61};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_66 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_12};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_67 = { 5 | NIM_STRLIT_FLAG, "#head" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_68 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_67};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_69 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_12};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_70 = {6, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_40};
static const struct {
  NI cap; NIM_CHAR data[34+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_72 = { 34 | NIM_STRLIT_FLAG, "cannot resolve version to a commit" };
static const struct {
  NI cap; NIM_CHAR data[64+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_73 = { 64 | NIM_STRLIT_FLAG, " c --noNimblePath --skipUserCfg --skipParentCfg --hints:off koch" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_74 = {64, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_73};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_75 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_76 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_51};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_77 = { 6 | NIM_STRLIT_FLAG, "./koch" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_78 = {6, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_77};
static const struct {
  NI cap; NIM_CHAR data[58+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_79 = { 58 | NIM_STRLIT_FLAG, " boot -d:release --skipUserCfg --skipParentCfg --hints:off" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_80 = {58, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_79};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_81 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_82 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_51};
static const struct {
  NI cap; NIM_CHAR data[48+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_83 = { 48 | NIM_STRLIT_FLAG, " tools --skipUserCfg --skipParentCfg --hints:off" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_84 = {48, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_83};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_85 = {4, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_2};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_86 = {8, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_51};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_87 = { 3 | NIM_STRLIT_FLAG, "bin" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_88 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_87};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_89 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_58};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_90 = { 5 | NIM_STRLIT_FLAG, "atlas" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_91 = {5, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_90};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_92 = {0, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_61};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_93 = { 6 | NIM_STRLIT_FLAG, "c_code" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_94 = {6, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_93};
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_95 = {3, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_87};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_96 = { 11 | NIM_STRLIT_FLAG, "activate.sh" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_97 = {11, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_96};
static const struct {
  NI cap; NIM_CHAR data[507+1];
} TM__r2F8tPIV7FXqNkm7cl4Gkg_98 = { 507 | NIM_STRLIT_FLAG, "# Save original PATH and PS1 if not already in a nim env\012if [ -z \"$${_OLD_NIM_PATH+x}\" ]; then\012    export _OLD_NIM_PATH=\"$$PATH\"\012    export _OLD_NIM_PS1=\"$${PS1:-}\"\012fi\012\012export PATH=$1:$$PATH\012export PS1=\"(nim $2) $${PS1:-}\"\012\012deactivate() {\012    if [ -n \"$${_OLD_NIM_PATH+x}\" ]; then\012        export PATH=\"$$_OLD_NIM_PATH\"\012        export PS1=\"$$_OLD_NIM_PS1\"\012        unset _OLD_NIM_PATH\012        unset _OLD_NIM_PS1\012        unset -f deactivate\012    else\012        echo \"Not in an activated Nim environment\"\012    fi\012}\012" };
static const NimStringV2 TM__r2F8tPIV7FXqNkm7cl4Gkg_99 = {507, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_98};
static NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA TM__r2F8tPIV7FXqNkm7cl4Gkg_6 = {{46, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_7}}
;
static NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA TM__r2F8tPIV7FXqNkm7cl4Gkg_25 = {{32, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_26}}
;
extern NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA ExeExts__pureZos_u72;
static NIM_CONST tyArray__YgExxhfgKcesA5EOUj1MOA TM__r2F8tPIV7FXqNkm7cl4Gkg_71 = {{34, (NimStrPayload*)&TM__r2F8tPIV7FXqNkm7cl4Gkg_72}}
;
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
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_u1755)(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_u1755(((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_: ;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosdirExists(dir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, fileExists__stdZfiles_u10)(NimStringV2 filename_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosfileExists(filename_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, infoAboutActivation__nimenv_u17)(NimStringV2 nimDest_p0, NimStringV2 nimVersion_p1) {
	NimStringV2 colontmpD_;
	tyArray__YgExxhfgKcesA5EOUj1MOA T2_;
	NimStringV2 T3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	T3_.len = 0; T3_.p = NIM_NIL;
	T3_ = rawNewString(nimVersion_p1.len + 27);
appendString((&T3_), TM__r2F8tPIV7FXqNkm7cl4Gkg_9);
appendString((&T3_), nimVersion_p1);
appendString((&T3_), TM__r2F8tPIV7FXqNkm7cl4Gkg_11);
	colontmpD_ = T3_;
	T2_[0] = colontmpD_;
	info__basicZconfigutils_u114(nimDest_p0, T2_, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
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_u1763)(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_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(NI, skip__pureZparseutils_u145)(NIM_CHAR* s_p0, NI s_p0Len_0, NIM_CHAR* token_p1, NI token_p1Len_0) {
	NI result;
{	result = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			NIM_BOOL T4_;
			NI TM__r2F8tPIV7FXqNkm7cl4Gkg_15;
			T3_ = (NIM_BOOL)0;
			T4_ = (NIM_BOOL)0;
			T4_ = (result < s_p0Len_0);
			if (!(T4_)) goto LA5_;
			T4_ = (result < token_p1Len_0);
LA5_: ;
			T3_ = T4_;
			if (!(T3_)) goto LA6_;
			if (result < 0 || result >= s_p0Len_0){ raiseIndexError2(result,s_p0Len_0-1); goto BeforeRet_;
			}
			if (result < 0 || result >= token_p1Len_0){ raiseIndexError2(result,token_p1Len_0-1); goto BeforeRet_;
			}
			T3_ = ((NU8)(s_p0[result]) == (NU8)(token_p1[result]));
LA6_: ;
			if (!T3_) goto LA2;
			if (nimAddInt(result, ((NI)1), &TM__r2F8tPIV7FXqNkm7cl4Gkg_15)) { raiseOverflow(); goto BeforeRet_;
			};
			result = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_15);
		} LA2: ;
	}
	{
		if (!!((result == token_p1Len_0))) goto LA9_;
		result = ((NI)0);
	}
LA9_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, skip__pureZparseutils_u921)(NimStringV2 s_p0, NimStringV2 token_p1, NI start_p2) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	if ((s_p0.len-1)-start_p2 != -1 && (start_p2 < 0 || start_p2 >= s_p0.len || (s_p0.len-1) < 0 || (s_p0.len-1) >= s_p0.len)){ raiseIndexError4(start_p2, (s_p0.len-1), s_p0.len); goto BeforeRet_;
	}
	result = skip__pureZparseutils_u145((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(start_p2)) : NIM_NIL), ((s_p0.len-1))-(start_p2)+1, ((token_p1).p) ? (token_p1.p->data) : NIM_NIL, token_p1.len);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, getCurrentDir__stdZpaths_u191)(void) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosgetCurrentDir();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}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(void, setCurrentDir__stdZprivateZosdirs_u506)(NimStringV2 newDir_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		int T3_;
		NI32 T6_;
		T3_ = (int)0;
		T3_ = chdir(nimToCStringConv(newDir_p0));
		if (!!((T3_ == ((NI32)0)))) goto LA4_;
		T6_ = (NI32)0;
		T6_ = osLastError__stdZoserrors_u122();
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		raiseOSError__stdZoserrors_u119(T6_, newDir_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA4_: ;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2188)(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_u2188(p_p0, ((int)0), size_p1);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, cloneOrReturn__nimenv_u87)(NimStringV2 url_p0, NimStringV2 dest_p1, NIM_BOOL fetchTags_p2) {
	NIM_BOOL result;
	tyTuple__TLTPscngTyX39coeZ9b9cEB7w tmpTuple_1;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA colontmpD_;
	NimStringV2 msg_1;
	tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA status_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	nimZeroMem((void*)(&tmpTuple_1), sizeof(tyTuple__TLTPscngTyX39coeZ9b9cEB7w));
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	msg_1.len = 0; msg_1.p = NIM_NIL;
	parseUri__pureZuri_u295(url_p0, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	tmpTuple_1 = clone__basicZgitops_u503((&colontmpD_), dest_p1, ((NI)5));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	status_1 = tmpTuple_1.Field0;
	msg_1 = tmpTuple_1.Field1;
	eqwasMoved___system_u2751((&tmpTuple_1.Field1));
	{
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		tyArray__YgExxhfgKcesA5EOUj1MOA T7_;
		NimStringV2 T8_;
		if (!!((status_1 == ((tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA)0)))) goto LA4_;
		colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
		colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
		T8_.len = 0; T8_.p = NIM_NIL;
		colontmpD__2 = dollar___basicZcontext_u31(status_1);
		T8_ = rawNewString(url_p0.len + colontmpD__2.len + msg_1.len + 22);
appendString((&T8_), TM__r2F8tPIV7FXqNkm7cl4Gkg_35);
appendString((&T8_), url_p0);
appendString((&T8_), TM__r2F8tPIV7FXqNkm7cl4Gkg_37);
appendString((&T8_), colontmpD__2);
appendString((&T8_), TM__r2F8tPIV7FXqNkm7cl4Gkg_39);
appendString((&T8_), msg_1);
		colontmpD__3 = T8_;
		T7_[0] = colontmpD__3;
		error__basicZgitops_u1259(dest_p1, T7_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = NIM_FALSE;
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (msg_1.p && !(msg_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(msg_1.p);
}
		eqdestroy___pureZuri_u213((&colontmpD_));
		eqdestroy___basicZgitops_u637((&tmpTuple_1));
		goto BeforeRet_;
		{
			LA6_:;
		}
		{
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		NIM_BOOL T15_;
		if (!fetchTags_p2) goto LA13_;
		T15_ = (NIM_BOOL)0;
		T15_ = fetchRemoteTags__basicZgitops_u57(dest_p1, TM__r2F8tPIV7FXqNkm7cl4Gkg_41, ((tyEnum_MsgKind__rc8l2U8dFSLHl1b1Uls9brw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		(void)(T15_);
	}
LA13_: ;
	result = NIM_TRUE;
	{
		LA1_:;
	}
	{
		if (msg_1.p && !(msg_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(msg_1.p);
}
		eqdestroy___pureZuri_u213((&colontmpD_));
		eqdestroy___basicZgitops_u637((&tmpTuple_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, setCurrentDir__stdZdirs_u54)(NimStringV2 newDir_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	setCurrentDir__stdZprivateZosdirs_u506(newDir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, setupNimEnv__nimenv_u24)(NimStringV2 nimVersion_p0, NIM_BOOL keepCsources_p1) {
	NimStringV2 nimDest_1;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 csourcesVersion_1;
	NimStringV2 oldX60gensym11__1;
	NimStringV2 oldX60gensym13__1;
	NimStringV2 nimExe0_1;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 colontmpD__5;
	NimStringV2 dir_1;
	NimStringV2 colontmpD__6;
	NimStringV2 oldX60gensym19__1;
	NimStringV2 T2_;
	NI major_1;
	NI minor_1;
	NI patch_1;
	NimStringV2 T45_;
	NimStringV2 colontmpD__10;
NIM_BOOL oldNimErrFin60_;
	NimStringV2 colontmpD__12;
	NimStringV2 colontmpD__13;
	NimStringV2 makeExe_1;
NIM_BOOL oldNimErrFin85_;
	NimStringV2 colontmpD__18;
	NimStringV2 colontmpD__19;
	NimStringV2 nimExe_1;
	NimStringV2 colontmpD__20;
	tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA query_1;
	NimStringV2 colontmpD__21;
	NimStringV2 colontmpD__22;
	NimStringV2 cmdX60gensym22__1;
	NimStringV2 kochExe_1;
	NimStringV2 cmdX60gensym24__1;
	NimStringV2 cmdX60gensym26__1;
	NimStringV2 colontmpD__23;
	NimStringV2 colontmpD__24;
	NimStringV2 colontmpD__25;
	NimStringV2 colontmpD__26;
	NimStringV2 pathEntry_1;
	NimStringV2 colontmpD__27;
	NimStringV2 colontmpD__28;
	NimStringV2 colontmpD__29;
	NimStringV2 T120_;
	NimStringV2 T139_;
	NimStringV2 T151_;
	NimStringV2 T163_;
	tyArray__pK4u9cQ1bJzH46rrmNu9bPMQ T190_;
NIM_BOOL oldNimErrFin118_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimDest_1.len = 0; nimDest_1.p = NIM_NIL;
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	csourcesVersion_1.len = 0; csourcesVersion_1.p = NIM_NIL;
	oldX60gensym11__1.len = 0; oldX60gensym11__1.p = NIM_NIL;
	oldX60gensym13__1.len = 0; oldX60gensym13__1.p = NIM_NIL;
	nimExe0_1.len = 0; nimExe0_1.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;
	dir_1.len = 0; dir_1.p = NIM_NIL;
	colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
	oldX60gensym19__1.len = 0; oldX60gensym19__1.p = NIM_NIL;
	T2_.len = 0; T2_.p = NIM_NIL;
	T2_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T2_), TM__r2F8tPIV7FXqNkm7cl4Gkg_3);
appendString((&T2_), nimVersion_p0);
	nimDest_1 = T2_;
	{
		NIM_BOOL T5_;
		NimStringV2 colontmpD__7;
		NimStringV2 colontmpD__8;
		NimStringV2 colontmpD__9;
		colontmpD_ = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__2 = slash___stdZpaths_u84(colontmpD_, nimDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T5_ = (NIM_BOOL)0;
		T5_ = dirExists__stdZdirs_u3(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T5_) goto LA6_;
		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;
		{
			NIM_BOOL T11_;
			colontmpD__7 = depsDir__basicZcontext_u348(NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			colontmpD__8 = slash___stdZpaths_u84(colontmpD__7, nimDest_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			colontmpD__9 = slash___stdZpaths_u84(colontmpD__8, TM__r2F8tPIV7FXqNkm7cl4Gkg_5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			T11_ = (NIM_BOOL)0;
			T11_ = fileExists__stdZfiles_u10(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
			if (!!(T11_)) goto LA12_;
			info__basicZconfigutils_u114(nimDest_1, TM__r2F8tPIV7FXqNkm7cl4Gkg_6, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
		goto LA9_;
LA12_: ;
		{
			infoAboutActivation__nimenv_u17(nimDest_1, nimVersion_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		}
LA9_: ;
		if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
		if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
		if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
		goto BeforeRet_;
		{
			LA8_:;
		}
		{
			if (colontmpD__9.p && !(colontmpD__9.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__9.p);
}
			if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
			if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA6_: ;
	major_1 = (NI)0;
	minor_1 = (NI)0;
	patch_1 = (NI)0;
	{
		NimStringV2 inp_1;
		if (!!(eqStrings(nimVersion_p0, TM__r2F8tPIV7FXqNkm7cl4Gkg_13))) goto LA19_;
		inp_1.len = 0; inp_1.p = NIM_NIL;
		{
			NI idx_1;
			NIM_BOOL res_1;
			NI resLen_1;
			inp_1 = nimVersion_p0;
			idx_1 = ((NI)0);
			res_1 = NIM_FALSE;
			resLen_1 = parseInt__pureZparseutils_u981(inp_1, (&major_1), idx_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			{
				NI TM__r2F8tPIV7FXqNkm7cl4Gkg_14;
				NI resLen_2;
				if (!!((resLen_1 == ((NI)0)))) goto LA25_;
				if (nimAddInt(idx_1, resLen_1, &TM__r2F8tPIV7FXqNkm7cl4Gkg_14)) { raiseOverflow(); goto LA1_;
				};
				idx_1 = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_14);
				resLen_2 = skip__pureZparseutils_u921(inp_1, TM__r2F8tPIV7FXqNkm7cl4Gkg_17, idx_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					NI TM__r2F8tPIV7FXqNkm7cl4Gkg_18;
					NI resLen_3;
					if (!!((resLen_2 == ((NI)0)))) goto LA29_;
					if (nimAddInt(idx_1, resLen_2, &TM__r2F8tPIV7FXqNkm7cl4Gkg_18)) { raiseOverflow(); goto LA1_;
					};
					idx_1 = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_18);
					resLen_3 = parseInt__pureZparseutils_u981(inp_1, (&minor_1), idx_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					{
						NI TM__r2F8tPIV7FXqNkm7cl4Gkg_19;
						NI resLen_4;
						if (!!((resLen_3 == ((NI)0)))) goto LA33_;
						if (nimAddInt(idx_1, resLen_3, &TM__r2F8tPIV7FXqNkm7cl4Gkg_19)) { raiseOverflow(); goto LA1_;
						};
						idx_1 = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_19);
						resLen_4 = skip__pureZparseutils_u921(inp_1, TM__r2F8tPIV7FXqNkm7cl4Gkg_20, idx_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						{
							NI TM__r2F8tPIV7FXqNkm7cl4Gkg_21;
							NI resLen_5;
							if (!!((resLen_4 == ((NI)0)))) goto LA37_;
							if (nimAddInt(idx_1, resLen_4, &TM__r2F8tPIV7FXqNkm7cl4Gkg_21)) { raiseOverflow(); goto LA1_;
							};
							idx_1 = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_21);
							resLen_5 = parseInt__pureZparseutils_u981(inp_1, (&patch_1), idx_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							{
								NI TM__r2F8tPIV7FXqNkm7cl4Gkg_22;
								if (!!((resLen_5 == ((NI)0)))) goto LA41_;
								if (nimAddInt(idx_1, resLen_5, &TM__r2F8tPIV7FXqNkm7cl4Gkg_22)) { raiseOverflow(); goto LA1_;
								};
								idx_1 = (NI)(TM__r2F8tPIV7FXqNkm7cl4Gkg_22);
								res_1 = NIM_TRUE;
							}
LA41_: ;
						}
LA37_: ;
					}
LA33_: ;
				}
LA29_: ;
			}
LA25_: ;
			if (!!(res_1)) goto LA43_;
			error__basicZconfigutils_u107(TM__r2F8tPIV7FXqNkm7cl4Gkg_24, TM__r2F8tPIV7FXqNkm7cl4Gkg_25, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
			if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
			if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
			goto BeforeRet_;
		}
LA43_: ;
	}
LA19_: ;
	T45_.len = 0; T45_.p = NIM_NIL;
	{
		NIM_BOOL T48_;
		NIM_BOOL T49_;
		NIM_BOOL T51_;
		T48_ = (NIM_BOOL)0;
		T49_ = (NIM_BOOL)0;
		T49_ = eqStrings(nimVersion_p0, TM__r2F8tPIV7FXqNkm7cl4Gkg_27);
		if (T49_) goto LA50_;
		T51_ = (NIM_BOOL)0;
		T51_ = (major_1 == ((NI)1));
		if (!(T51_)) goto LA52_;
		T51_ = (((NI)9) <= minor_1);
LA52_: ;
		T49_ = T51_;
LA50_: ;
		T48_ = T49_;
		if (T48_) goto LA53_;
		T48_ = (((NI)2) <= major_1);
LA53_: ;
		if (!T48_) goto LA54_;
		csourcesVersion_1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_29;
	}
	goto LA46_;
LA54_: ;
	{
		if (!(major_1 == ((NI)0))) goto LA57_;
		csourcesVersion_1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_31;
	}
	goto LA46_;
LA57_: ;
	{
		csourcesVersion_1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_33;
	}
LA46_: ;
	oldX60gensym11__1 = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__10.len = 0; colontmpD__10.p = NIM_NIL;
	colontmpD__10 = depsDir__basicZcontext_u348(NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
	setCurrentDir__stdZprivateZosdirs_u506(colontmpD__10);
	if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
	{
		NIM_BOOL T64_;
		NimStringV2 colontmpD__11;
		T64_ = (NIM_BOOL)0;
		T64_ = nosdirExists(csourcesVersion_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		if (!!(T64_)) goto LA65_;
		colontmpD__11.len = 0; colontmpD__11.p = NIM_NIL;
		{
			NimStringV2 T70_;
			NIM_BOOL T71_;
			T70_.len = 0; T70_.p = NIM_NIL;
			T70_ = rawNewString(csourcesVersion_1.len + 28);
appendString((&T70_), TM__r2F8tPIV7FXqNkm7cl4Gkg_43);
appendString((&T70_), csourcesVersion_1);
			colontmpD__11 = T70_;
			T71_ = (NIM_BOOL)0;
			T71_ = cloneOrReturn__nimenv_u87(colontmpD__11, csourcesVersion_1, NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
			if (!!(T71_)) goto LA72_;
			if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
			if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
			setCurrentDir__stdZdirs_u54(oldX60gensym11__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
			if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
			if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
			goto BeforeRet_;
		}
LA72_: ;
		{
			LA67_:;
		}
		{
			if (colontmpD__11.p && !(colontmpD__11.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__11.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
	}
LA65_: ;
	{
		NIM_BOOL T78_;
		T78_ = (NIM_BOOL)0;
		T78_ = cloneOrReturn__nimenv_u87(TM__r2F8tPIV7FXqNkm7cl4Gkg_45, nimDest_1, NIM_TRUE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA61_;
		if (!!(T78_)) goto LA79_;
		if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
		setCurrentDir__stdZdirs_u54(oldX60gensym11__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
		goto BeforeRet_;
	}
LA79_: ;
	{
		LA61_:;
	}
	{
		if (colontmpD__10.p && !(colontmpD__10.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__10.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA60_;
	{
		LA60_:;
	}
	{
		oldNimErrFin60_ = *nimErr_; *nimErr_ = NIM_FALSE;
		setCurrentDir__stdZdirs_u54(oldX60gensym11__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		*nimErr_ = oldNimErrFin60_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldX60gensym13__1 = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__12.len = 0; colontmpD__12.p = NIM_NIL;
	colontmpD__13.len = 0; colontmpD__13.p = NIM_NIL;
	makeExe_1.len = 0; makeExe_1.p = NIM_NIL;
	colontmpD__12 = depsDir__basicZcontext_u348(NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
	colontmpD__13 = slash___stdZprivateZospaths2_u88(colontmpD__12, csourcesVersion_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
	setCurrentDir__stdZprivateZosdirs_u506(colontmpD__13);
	if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
	makeExe_1 = findExe__pureZos_u73(TM__r2F8tPIV7FXqNkm7cl4Gkg_47, NIM_TRUE, ExeExts__pureZos_u72, 1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
	{
		NimStringV2 cmdX60gensym14__1;
		if (!(makeExe_1.len == ((NI)0))) goto LA89_;
		cmdX60gensym14__1.len = 0; cmdX60gensym14__1.p = NIM_NIL;
		cmdX60gensym14__1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_49;
		{
			NI T93_;
			NimStringV2 colontmpD__14;
			NimStringV2 colontmpD__15;
			NimStringV2 T97_;
			tyArray__YgExxhfgKcesA5EOUj1MOA T98_;
			NimStringV2 T99_;
			T93_ = (NI)0;
			T93_ = nosexecShellCmd(cmdX60gensym14__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
			if (!!((T93_ == ((NI)0)))) goto LA94_;
			colontmpD__14.len = 0; colontmpD__14.p = NIM_NIL;
			colontmpD__15.len = 0; colontmpD__15.p = NIM_NIL;
			T97_.len = 0; T97_.p = NIM_NIL;
			T97_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T97_), TM__r2F8tPIV7FXqNkm7cl4Gkg_50);
appendString((&T97_), nimVersion_p0);
			colontmpD__14 = T97_;
			T99_.len = 0; T99_.p = NIM_NIL;
			T99_ = rawNewString(cmdX60gensym14__1.len + 8);
appendString((&T99_), TM__r2F8tPIV7FXqNkm7cl4Gkg_52);
appendString((&T99_), cmdX60gensym14__1);
			colontmpD__15 = T99_;
			T98_[0] = colontmpD__15;
			error__basicZconfigutils_u107(colontmpD__14, T98_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA96_;
			if (colontmpD__15.p && !(colontmpD__15.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__15.p);
}
			if (colontmpD__14.p && !(colontmpD__14.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__14.p);
}
			if (makeExe_1.p && !(makeExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(makeExe_1.p);
}
			if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
			if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
			setCurrentDir__stdZdirs_u54(oldX60gensym13__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
			if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
			if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
			goto BeforeRet_;
			{
				LA96_:;
			}
			{
				if (colontmpD__15.p && !(colontmpD__15.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__15.p);
}
				if (colontmpD__14.p && !(colontmpD__14.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__14.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
		}
LA94_: ;
	}
	goto LA87_;
LA89_: ;
	{
		NimStringV2 cmdX60gensym16__1;
		cmdX60gensym16__1.len = 0; cmdX60gensym16__1.p = NIM_NIL;
		cmdX60gensym16__1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_53;
		{
			NI T105_;
			NimStringV2 colontmpD__16;
			NimStringV2 colontmpD__17;
			NimStringV2 T109_;
			tyArray__YgExxhfgKcesA5EOUj1MOA T110_;
			NimStringV2 T111_;
			T105_ = (NI)0;
			T105_ = nosexecShellCmd(cmdX60gensym16__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
			if (!!((T105_ == ((NI)0)))) goto LA106_;
			colontmpD__16.len = 0; colontmpD__16.p = NIM_NIL;
			colontmpD__17.len = 0; colontmpD__17.p = NIM_NIL;
			T109_.len = 0; T109_.p = NIM_NIL;
			T109_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T109_), TM__r2F8tPIV7FXqNkm7cl4Gkg_54);
appendString((&T109_), nimVersion_p0);
			colontmpD__16 = T109_;
			T111_.len = 0; T111_.p = NIM_NIL;
			T111_ = rawNewString(cmdX60gensym16__1.len + 8);
appendString((&T111_), TM__r2F8tPIV7FXqNkm7cl4Gkg_55);
appendString((&T111_), cmdX60gensym16__1);
			colontmpD__17 = T111_;
			T110_[0] = colontmpD__17;
			error__basicZconfigutils_u107(colontmpD__16, T110_, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
			if (colontmpD__17.p && !(colontmpD__17.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__17.p);
}
			if (colontmpD__16.p && !(colontmpD__16.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__16.p);
}
			if (makeExe_1.p && !(makeExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(makeExe_1.p);
}
			if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
			if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
			setCurrentDir__stdZdirs_u54(oldX60gensym13__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
			if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
			if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
			goto BeforeRet_;
			{
				LA108_:;
			}
			{
				if (colontmpD__17.p && !(colontmpD__17.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__17.p);
}
				if (colontmpD__16.p && !(colontmpD__16.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__16.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
		}
LA106_: ;
	}
LA87_: ;
	{
		LA86_:;
	}
	{
		if (makeExe_1.p && !(makeExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(makeExe_1.p);
}
		if (colontmpD__13.p && !(colontmpD__13.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__13.p);
}
		if (colontmpD__12.p && !(colontmpD__12.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__12.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA85_;
	{
		LA85_:;
	}
	{
		oldNimErrFin85_ = *nimErr_; *nimErr_ = NIM_FALSE;
		setCurrentDir__stdZdirs_u54(oldX60gensym13__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		*nimErr_ = oldNimErrFin85_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__3 = slash___stdZprivateZospaths2_u88(TM__r2F8tPIV7FXqNkm7cl4Gkg_57, csourcesVersion_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__4 = slash___stdZprivateZospaths2_u88(colontmpD__3, TM__r2F8tPIV7FXqNkm7cl4Gkg_59);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__5 = nosaddFileExt(TM__r2F8tPIV7FXqNkm7cl4Gkg_60, TM__r2F8tPIV7FXqNkm7cl4Gkg_62);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	nimExe0_1 = slash___stdZprivateZospaths2_u88(colontmpD__4, colontmpD__5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__6 = depsDir__basicZcontext_u348(NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	dir_1 = slash___stdZpaths_u84(colontmpD__6, nimDest_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	oldX60gensym19__1 = getCurrentDir__stdZpaths_u191();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__18.len = 0; colontmpD__18.p = NIM_NIL;
	colontmpD__19.len = 0; colontmpD__19.p = NIM_NIL;
	nimExe_1.len = 0; nimExe_1.p = NIM_NIL;
	colontmpD__20.len = 0; colontmpD__20.p = NIM_NIL;
	nimZeroMem((void*)(&query_1), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	colontmpD__21.len = 0; colontmpD__21.p = NIM_NIL;
	colontmpD__22.len = 0; colontmpD__22.p = NIM_NIL;
	cmdX60gensym22__1.len = 0; cmdX60gensym22__1.p = NIM_NIL;
	kochExe_1.len = 0; kochExe_1.p = NIM_NIL;
	cmdX60gensym24__1.len = 0; cmdX60gensym24__1.p = NIM_NIL;
	cmdX60gensym26__1.len = 0; cmdX60gensym26__1.p = NIM_NIL;
	colontmpD__23.len = 0; colontmpD__23.p = NIM_NIL;
	colontmpD__24.len = 0; colontmpD__24.p = NIM_NIL;
	colontmpD__25.len = 0; colontmpD__25.p = NIM_NIL;
	colontmpD__26.len = 0; colontmpD__26.p = NIM_NIL;
	pathEntry_1.len = 0; pathEntry_1.p = NIM_NIL;
	colontmpD__27.len = 0; colontmpD__27.p = NIM_NIL;
	colontmpD__28.len = 0; colontmpD__28.p = NIM_NIL;
	colontmpD__29.len = 0; colontmpD__29.p = NIM_NIL;
	colontmpD__18 = depsDir__basicZcontext_u348(NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	colontmpD__19 = slash___stdZpaths_u84(colontmpD__18, nimDest_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	setCurrentDir__stdZprivateZosdirs_u506(colontmpD__19);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	colontmpD__20 = nosaddFileExt(TM__r2F8tPIV7FXqNkm7cl4Gkg_64, TM__r2F8tPIV7FXqNkm7cl4Gkg_65);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	nimExe_1 = slash___stdZprivateZospaths2_u88(TM__r2F8tPIV7FXqNkm7cl4Gkg_63, colontmpD__20);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	copyFileWithPermissions__stdZprivateZosfiles_u384(nimExe0_1, nimExe_1, NIM_TRUE, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	T120_.len = 0; T120_.p = NIM_NIL;
	{
		if (!eqStrings(nimVersion_p0, TM__r2F8tPIV7FXqNkm7cl4Gkg_66)) goto LA123_;
		colontmpD__21 = TM__r2F8tPIV7FXqNkm7cl4Gkg_68;
		T120_ = colontmpD__21;
	}
	goto LA121_;
LA123_: ;
	{
		NimStringV2 colontmpD__30;
		colontmpD__30 = eqdup___system_u2757(nimVersion_p0);
		colontmpD__22 = colontmpD__30;
		T120_ = colontmpD__22;
	}
LA121_: ;
	createQueryEq__basicZversions_u201(T120_, (&query_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	{
		tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA commit_1;
		NIM_BOOL T136_;
		if (!!(eqStrings(nimVersion_p0, TM__r2F8tPIV7FXqNkm7cl4Gkg_69))) goto LA128_;
		nimZeroMem((void*)(&commit_1), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
		commit_1 = versionToCommit__basicZgitops_u795(dir_1, TM__r2F8tPIV7FXqNkm7cl4Gkg_70, ((tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw)1), (&query_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		{
			NIM_BOOL T133_;
			T133_ = (NIM_BOOL)0;
			T133_ = isEmpty__basicZversions_u133(commit_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			if (!T133_) goto LA134_;
			error__basicZgitops_u1259(nimDest_1, TM__r2F8tPIV7FXqNkm7cl4Gkg_71, 1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
			eqdestroy___basicZversions_u111((&commit_1));
			if (colontmpD__29.p && !(colontmpD__29.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__29.p);
}
			if (colontmpD__28.p && !(colontmpD__28.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__28.p);
}
			if (colontmpD__27.p && !(colontmpD__27.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__27.p);
}
			if (pathEntry_1.p && !(pathEntry_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathEntry_1.p);
}
			if (colontmpD__26.p && !(colontmpD__26.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__26.p);
}
			if (colontmpD__25.p && !(colontmpD__25.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__25.p);
}
			if (colontmpD__24.p && !(colontmpD__24.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__24.p);
}
			if (colontmpD__23.p && !(colontmpD__23.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__23.p);
}
			if (cmdX60gensym26__1.p && !(cmdX60gensym26__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym26__1.p);
}
			if (cmdX60gensym24__1.p && !(cmdX60gensym24__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym24__1.p);
}
			if (cmdX60gensym22__1.p && !(cmdX60gensym22__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym22__1.p);
}
			if (colontmpD__22.p && !(colontmpD__22.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__22.p);
}
			if (colontmpD__21.p && !(colontmpD__21.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__21.p);
}
			eqdestroy___basicZversions_u246((&query_1));
			if (colontmpD__20.p && !(colontmpD__20.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__20.p);
}
			if (nimExe_1.p && !(nimExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe_1.p);
}
			if (colontmpD__19.p && !(colontmpD__19.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__19.p);
}
			if (colontmpD__18.p && !(colontmpD__18.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__18.p);
}
			setCurrentDir__stdZdirs_u54(oldX60gensym19__1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
			if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
			if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
			if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
			if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
			if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
			goto BeforeRet_;
		}
LA134_: ;
		T136_ = (NIM_BOOL)0;
		T136_ = checkoutGitCommit__basicZgitops_u1065(dir_1, commit_1, ((tyEnum_MsgKind__rc8l2U8dFSLHl1b1Uls9brw)2));
		if (NIM_UNLIKELY(*nimErr_)) goto LA130_;
		(void)(T136_);
		{
			LA130_:;
		}
		{
			eqdestroy___basicZversions_u111((&commit_1));
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA128_: ;
	T139_.len = 0; T139_.p = NIM_NIL;
	T139_ = rawNewString(nimExe_1.len + 64);
appendString((&T139_), nimExe_1);
appendString((&T139_), TM__r2F8tPIV7FXqNkm7cl4Gkg_74);
	cmdX60gensym22__1 = T139_;
	{
		NI T142_;
		NimStringV2 colontmpD__31;
		NimStringV2 colontmpD__32;
		NimStringV2 T146_;
		tyArray__YgExxhfgKcesA5EOUj1MOA T147_;
		NimStringV2 T148_;
		T142_ = (NI)0;
		T142_ = nosexecShellCmd(cmdX60gensym22__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		if (!!((T142_ == ((NI)0)))) goto LA143_;
		colontmpD__31.len = 0; colontmpD__31.p = NIM_NIL;
		colontmpD__32.len = 0; colontmpD__32.p = NIM_NIL;
		T146_.len = 0; T146_.p = NIM_NIL;
		T146_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T146_), TM__r2F8tPIV7FXqNkm7cl4Gkg_75);
appendString((&T146_), nimVersion_p0);
		colontmpD__31 = T146_;
		T148_.len = 0; T148_.p = NIM_NIL;
		T148_ = rawNewString(cmdX60gensym22__1.len + 8);
appendString((&T148_), TM__r2F8tPIV7FXqNkm7cl4Gkg_76);
appendString((&T148_), cmdX60gensym22__1);
		colontmpD__32 = T148_;
		T147_[0] = colontmpD__32;
		error__basicZconfigutils_u107(colontmpD__31, T147_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA145_;
		if (colontmpD__32.p && !(colontmpD__32.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__32.p);
}
		if (colontmpD__31.p && !(colontmpD__31.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__31.p);
}
		if (colontmpD__29.p && !(colontmpD__29.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__29.p);
}
		if (colontmpD__28.p && !(colontmpD__28.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__28.p);
}
		if (colontmpD__27.p && !(colontmpD__27.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__27.p);
}
		if (pathEntry_1.p && !(pathEntry_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathEntry_1.p);
}
		if (colontmpD__26.p && !(colontmpD__26.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__26.p);
}
		if (colontmpD__25.p && !(colontmpD__25.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__25.p);
}
		if (colontmpD__24.p && !(colontmpD__24.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__24.p);
}
		if (colontmpD__23.p && !(colontmpD__23.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__23.p);
}
		if (cmdX60gensym26__1.p && !(cmdX60gensym26__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym26__1.p);
}
		if (cmdX60gensym24__1.p && !(cmdX60gensym24__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym24__1.p);
}
		if (cmdX60gensym22__1.p && !(cmdX60gensym22__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym22__1.p);
}
		if (colontmpD__22.p && !(colontmpD__22.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__22.p);
}
		if (colontmpD__21.p && !(colontmpD__21.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__21.p);
}
		eqdestroy___basicZversions_u246((&query_1));
		if (colontmpD__20.p && !(colontmpD__20.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__20.p);
}
		if (nimExe_1.p && !(nimExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe_1.p);
}
		if (colontmpD__19.p && !(colontmpD__19.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__19.p);
}
		if (colontmpD__18.p && !(colontmpD__18.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__18.p);
}
		setCurrentDir__stdZdirs_u54(oldX60gensym19__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
		goto BeforeRet_;
		{
			LA145_:;
		}
		{
			if (colontmpD__32.p && !(colontmpD__32.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__32.p);
}
			if (colontmpD__31.p && !(colontmpD__31.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__31.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA143_: ;
	kochExe_1 = TM__r2F8tPIV7FXqNkm7cl4Gkg_78;
	T151_.len = 0; T151_.p = NIM_NIL;
	T151_ = rawNewString(kochExe_1.len + 58);
appendString((&T151_), kochExe_1);
appendString((&T151_), TM__r2F8tPIV7FXqNkm7cl4Gkg_80);
	cmdX60gensym24__1 = T151_;
	{
		NI T154_;
		NimStringV2 colontmpD__33;
		NimStringV2 colontmpD__34;
		NimStringV2 T158_;
		tyArray__YgExxhfgKcesA5EOUj1MOA T159_;
		NimStringV2 T160_;
		T154_ = (NI)0;
		T154_ = nosexecShellCmd(cmdX60gensym24__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		if (!!((T154_ == ((NI)0)))) goto LA155_;
		colontmpD__33.len = 0; colontmpD__33.p = NIM_NIL;
		colontmpD__34.len = 0; colontmpD__34.p = NIM_NIL;
		T158_.len = 0; T158_.p = NIM_NIL;
		T158_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T158_), TM__r2F8tPIV7FXqNkm7cl4Gkg_81);
appendString((&T158_), nimVersion_p0);
		colontmpD__33 = T158_;
		T160_.len = 0; T160_.p = NIM_NIL;
		T160_ = rawNewString(cmdX60gensym24__1.len + 8);
appendString((&T160_), TM__r2F8tPIV7FXqNkm7cl4Gkg_82);
appendString((&T160_), cmdX60gensym24__1);
		colontmpD__34 = T160_;
		T159_[0] = colontmpD__34;
		error__basicZconfigutils_u107(colontmpD__33, T159_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA157_;
		if (colontmpD__34.p && !(colontmpD__34.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__34.p);
}
		if (colontmpD__33.p && !(colontmpD__33.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__33.p);
}
		if (colontmpD__29.p && !(colontmpD__29.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__29.p);
}
		if (colontmpD__28.p && !(colontmpD__28.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__28.p);
}
		if (colontmpD__27.p && !(colontmpD__27.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__27.p);
}
		if (pathEntry_1.p && !(pathEntry_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathEntry_1.p);
}
		if (colontmpD__26.p && !(colontmpD__26.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__26.p);
}
		if (colontmpD__25.p && !(colontmpD__25.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__25.p);
}
		if (colontmpD__24.p && !(colontmpD__24.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__24.p);
}
		if (colontmpD__23.p && !(colontmpD__23.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__23.p);
}
		if (cmdX60gensym26__1.p && !(cmdX60gensym26__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym26__1.p);
}
		if (cmdX60gensym24__1.p && !(cmdX60gensym24__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym24__1.p);
}
		if (cmdX60gensym22__1.p && !(cmdX60gensym22__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym22__1.p);
}
		if (colontmpD__22.p && !(colontmpD__22.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__22.p);
}
		if (colontmpD__21.p && !(colontmpD__21.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__21.p);
}
		eqdestroy___basicZversions_u246((&query_1));
		if (colontmpD__20.p && !(colontmpD__20.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__20.p);
}
		if (nimExe_1.p && !(nimExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe_1.p);
}
		if (colontmpD__19.p && !(colontmpD__19.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__19.p);
}
		if (colontmpD__18.p && !(colontmpD__18.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__18.p);
}
		setCurrentDir__stdZdirs_u54(oldX60gensym19__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
		goto BeforeRet_;
		{
			LA157_:;
		}
		{
			if (colontmpD__34.p && !(colontmpD__34.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__34.p);
}
			if (colontmpD__33.p && !(colontmpD__33.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__33.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA155_: ;
	T163_.len = 0; T163_.p = NIM_NIL;
	T163_ = rawNewString(kochExe_1.len + 48);
appendString((&T163_), kochExe_1);
appendString((&T163_), TM__r2F8tPIV7FXqNkm7cl4Gkg_84);
	cmdX60gensym26__1 = T163_;
	{
		NI T166_;
		NimStringV2 colontmpD__35;
		NimStringV2 colontmpD__36;
		NimStringV2 T170_;
		tyArray__YgExxhfgKcesA5EOUj1MOA T171_;
		NimStringV2 T172_;
		T166_ = (NI)0;
		T166_ = nosexecShellCmd(cmdX60gensym26__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		if (!!((T166_ == ((NI)0)))) goto LA167_;
		colontmpD__35.len = 0; colontmpD__35.p = NIM_NIL;
		colontmpD__36.len = 0; colontmpD__36.p = NIM_NIL;
		T170_.len = 0; T170_.p = NIM_NIL;
		T170_ = rawNewString(nimVersion_p0.len + 4);
appendString((&T170_), TM__r2F8tPIV7FXqNkm7cl4Gkg_85);
appendString((&T170_), nimVersion_p0);
		colontmpD__35 = T170_;
		T172_.len = 0; T172_.p = NIM_NIL;
		T172_ = rawNewString(cmdX60gensym26__1.len + 8);
appendString((&T172_), TM__r2F8tPIV7FXqNkm7cl4Gkg_86);
appendString((&T172_), cmdX60gensym26__1);
		colontmpD__36 = T172_;
		T171_[0] = colontmpD__36;
		error__basicZconfigutils_u107(colontmpD__35, T171_, 1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA169_;
		if (colontmpD__36.p && !(colontmpD__36.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__36.p);
}
		if (colontmpD__35.p && !(colontmpD__35.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__35.p);
}
		if (colontmpD__29.p && !(colontmpD__29.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__29.p);
}
		if (colontmpD__28.p && !(colontmpD__28.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__28.p);
}
		if (colontmpD__27.p && !(colontmpD__27.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__27.p);
}
		if (pathEntry_1.p && !(pathEntry_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathEntry_1.p);
}
		if (colontmpD__26.p && !(colontmpD__26.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__26.p);
}
		if (colontmpD__25.p && !(colontmpD__25.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__25.p);
}
		if (colontmpD__24.p && !(colontmpD__24.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__24.p);
}
		if (colontmpD__23.p && !(colontmpD__23.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__23.p);
}
		if (cmdX60gensym26__1.p && !(cmdX60gensym26__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym26__1.p);
}
		if (cmdX60gensym24__1.p && !(cmdX60gensym24__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym24__1.p);
}
		if (cmdX60gensym22__1.p && !(cmdX60gensym22__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym22__1.p);
}
		if (colontmpD__22.p && !(colontmpD__22.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__22.p);
}
		if (colontmpD__21.p && !(colontmpD__21.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__21.p);
}
		eqdestroy___basicZversions_u246((&query_1));
		if (colontmpD__20.p && !(colontmpD__20.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__20.p);
}
		if (nimExe_1.p && !(nimExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe_1.p);
}
		if (colontmpD__19.p && !(colontmpD__19.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__19.p);
}
		if (colontmpD__18.p && !(colontmpD__18.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__18.p);
}
		setCurrentDir__stdZdirs_u54(oldX60gensym19__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
		goto BeforeRet_;
		{
			LA169_:;
		}
		{
			if (colontmpD__36.p && !(colontmpD__36.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__36.p);
}
			if (colontmpD__35.p && !(colontmpD__35.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__35.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA167_: ;
	{
		NI T177_;
		NimStringV2 colontmpD__37;
		NimStringV2 colontmpD__38;
		colontmpD__23 = nosgetAppDir();
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		colontmpD__24 = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		colontmpD__25 = slash___stdZpaths_u84(colontmpD__24, nimDest_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		colontmpD__26 = slash___stdZpaths_u84(colontmpD__25, TM__r2F8tPIV7FXqNkm7cl4Gkg_88);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		T177_ = (NI)0;
		T177_ = noscmpPaths(colontmpD__23, colontmpD__26);
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
		if (!!((T177_ == ((NI)0)))) goto LA178_;
		colontmpD__37.len = 0; colontmpD__37.p = NIM_NIL;
		colontmpD__38.len = 0; colontmpD__38.p = NIM_NIL;
		colontmpD__37 = nosaddFileExt(TM__r2F8tPIV7FXqNkm7cl4Gkg_91, TM__r2F8tPIV7FXqNkm7cl4Gkg_92);
		if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
		colontmpD__38 = slash___stdZprivateZospaths2_u88(TM__r2F8tPIV7FXqNkm7cl4Gkg_89, colontmpD__37);
		if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
		nosremoveFile(colontmpD__38);
		if (NIM_UNLIKELY(*nimErr_)) goto LA180_;
		{
			LA180_:;
		}
		{
			if (colontmpD__38.p && !(colontmpD__38.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__38.p);
}
			if (colontmpD__37.p && !(colontmpD__37.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__37.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA178_: ;
	{
		NimStringV2 colontmpD__39;
		NimStringV2 colontmpD__40;
		NimStringV2 colontmpD__41;
		if (!!(keepCsources_p1)) goto LA185_;
		colontmpD__39.len = 0; colontmpD__39.p = NIM_NIL;
		colontmpD__40.len = 0; colontmpD__40.p = NIM_NIL;
		colontmpD__41.len = 0; colontmpD__41.p = NIM_NIL;
		colontmpD__39 = depsDir__basicZcontext_u348(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		colontmpD__40 = slash___stdZprivateZospaths2_u88(colontmpD__39, csourcesVersion_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		colontmpD__41 = slash___stdZprivateZospaths2_u88(colontmpD__40, TM__r2F8tPIV7FXqNkm7cl4Gkg_94);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		nosremoveDir(colontmpD__41, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA187_;
		{
			LA187_:;
		}
		{
			if (colontmpD__41.p && !(colontmpD__41.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__41.p);
}
			if (colontmpD__40.p && !(colontmpD__40.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__40.p);
}
			if (colontmpD__39.p && !(colontmpD__39.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__39.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	}
LA185_: ;
	colontmpD__27 = depsDir__basicZcontext_u348(NIM_FALSE);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	colontmpD__28 = slash___stdZpaths_u84(colontmpD__27, nimDest_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	pathEntry_1 = slash___stdZpaths_u84(colontmpD__28, TM__r2F8tPIV7FXqNkm7cl4Gkg_95);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	T190_[0] = pathEntry_1;
	T190_[1] = nimVersion_p0;
	colontmpD__29 = nsuFormatOpenArray(TM__r2F8tPIV7FXqNkm7cl4Gkg_99, T190_, 2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	writeFile__stdZsyncio_u539(TM__r2F8tPIV7FXqNkm7cl4Gkg_97, colontmpD__29);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	infoAboutActivation__nimenv_u17(nimDest_1, nimVersion_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA119_;
	{
		LA119_:;
	}
	{
		if (colontmpD__29.p && !(colontmpD__29.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__29.p);
}
		if (colontmpD__28.p && !(colontmpD__28.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__28.p);
}
		if (colontmpD__27.p && !(colontmpD__27.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__27.p);
}
		if (pathEntry_1.p && !(pathEntry_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pathEntry_1.p);
}
		if (colontmpD__26.p && !(colontmpD__26.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__26.p);
}
		if (colontmpD__25.p && !(colontmpD__25.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__25.p);
}
		if (colontmpD__24.p && !(colontmpD__24.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__24.p);
}
		if (colontmpD__23.p && !(colontmpD__23.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__23.p);
}
		if (cmdX60gensym26__1.p && !(cmdX60gensym26__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym26__1.p);
}
		if (cmdX60gensym24__1.p && !(cmdX60gensym24__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym24__1.p);
}
		if (cmdX60gensym22__1.p && !(cmdX60gensym22__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(cmdX60gensym22__1.p);
}
		if (colontmpD__22.p && !(colontmpD__22.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__22.p);
}
		if (colontmpD__21.p && !(colontmpD__21.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__21.p);
}
		eqdestroy___basicZversions_u246((&query_1));
		if (colontmpD__20.p && !(colontmpD__20.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__20.p);
}
		if (nimExe_1.p && !(nimExe_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe_1.p);
}
		if (colontmpD__19.p && !(colontmpD__19.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__19.p);
}
		if (colontmpD__18.p && !(colontmpD__18.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__18.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA118_;
	{
		LA118_:;
	}
	{
		oldNimErrFin118_ = *nimErr_; *nimErr_ = NIM_FALSE;
		setCurrentDir__stdZdirs_u54(oldX60gensym19__1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		*nimErr_ = oldNimErrFin118_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		if (oldX60gensym19__1.p && !(oldX60gensym19__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym19__1.p);
}
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		if (dir_1.p && !(dir_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(dir_1.p);
}
		if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
		if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
		if (nimExe0_1.p && !(nimExe0_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimExe0_1.p);
}
		if (oldX60gensym13__1.p && !(oldX60gensym13__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym13__1.p);
}
		if (oldX60gensym11__1.p && !(oldX60gensym11__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(oldX60gensym11__1.p);
}
		if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
		if (nimDest_1.p && !(nimDest_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(nimDest_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
