/* 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/@mbasic@sversions.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@sversions.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg tyObject_VersionTag__io9bcihbopiwucKorobyKdg;
typedef struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA;
typedef struct tySequence__ROG4zVH2lrODohp66awvUw tySequence__ROG4zVH2lrODohp66awvUw;
typedef struct tySequence__ROG4zVH2lrODohp66awvUw_Content tySequence__ROG4zVH2lrODohp66awvUw_Content;
typedef struct tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw;
typedef struct tySequence__9cntL09c7oFwbQf9aD6hR2n2A tySequence__9cntL09c7oFwbQf9aD6hR2n2A;
typedef struct tySequence__9cntL09c7oFwbQf9aD6hR2n2A_Content tySequence__9cntL09c7oFwbQf9aD6hR2n2A_Content;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg;
typedef struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyTuple__W1UXudtbAOC7v9ab0QxfQyw tyTuple__W1UXudtbAOC7v9ab0QxfQyw;
typedef struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ;
typedef struct tyTuple__dBxVupcoYTgJDF3A9aE30Ng tyTuple__dBxVupcoYTgJDF3A9aE30Ng;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
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 tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU8 tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww;
struct tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA {
	NimStringV2 h;
	tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww orig;
};
struct tyObject_VersionTag__io9bcihbopiwucKorobyKdg {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c;
	NimStringV2 v;
	NIM_BOOL isTip;
};
typedef NU8 tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw;
struct tySequence__ROG4zVH2lrODohp66awvUw {
  NI len; tySequence__ROG4zVH2lrODohp66awvUw_Content* p;
};
struct tySequence__9cntL09c7oFwbQf9aD6hR2n2A {
  NI len; tySequence__9cntL09c7oFwbQf9aD6hR2n2A_Content* p;
};
struct tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw {
	tySequence__9cntL09c7oFwbQf9aD6hR2n2A data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
struct tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg {
	NI a;
	NI b;
};
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__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw {
	tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug Sup;
};
struct tyTuple__W1UXudtbAOC7v9ab0QxfQyw {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_VersionTag__io9bcihbopiwucKorobyKdg Field3;
};
typedef struct {
N_NIMCALL_PTR(NI, ClP_0) (tyObject_VersionTag__io9bcihbopiwucKorobyKdg* x_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* y_p1, void* ClE_0);
void* ClE_0;
} tyProc__VRpJfpeaZqlQGq4cCdLVCA;
typedef NU8 tyEnum_SortOrder__9arxXsrA69cTRa9cGZkutSbcw;
typedef N_CLOSURE_PTR(NI, TM__wJ9alKPpdk23t4DUhHZkrdw_93) (tyObject_VersionTag__io9bcihbopiwucKorobyKdg* x_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* y_p1, void* ClE_0);
struct tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ {
	NI a;
	NI b;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tyTuple__dBxVupcoYTgJDF3A9aE30Ng {
	NimStringV2 Field0;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ Field1;
	NI Field2;
};
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;
};
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 tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw;
struct tySequence__ROG4zVH2lrODohp66awvUw_Content { NI cap; tyObject_VersionTag__io9bcihbopiwucKorobyKdg data[SEQ_DECL_SIZE]; };
struct tySequence__9cntL09c7oFwbQf9aD6hR2n2A_Content { NI cap; tyTuple__W1UXudtbAOC7v9ab0QxfQyw data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u52)(NimStringV2 v_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
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, dollar___basicZversions_u73)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NI, emarkamp___pureZhashes_u4)(NI h_p0, NI val_p1);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_u586)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZversions_u5265)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
static N_INLINE(NI, emarkdollar___pureZhashes_u19)(NI h_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u359)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, isSpecial__basicZversions_u274)(NimStringV2 v_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
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);
static N_INLINE(NIM_BOOL, eq__basicZversions_u329)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(NI, parseSaturatedNatural__pureZparseutils_u986)(NimStringV2 s_p0, NI* b_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);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u5261)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA a_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA b_p1);
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);
static N_INLINE(NimStringV2, toLower__pureZunicode_u7554)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nuctoLowerStr)(NIM_CHAR* s_p0, NI s_p0Len_0);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError4)(NI l1_p0, NI h1_p1, NI h2_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLowerAlphaNum__basicZversions_u77)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u120)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u114)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA src_p1);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9096)(NimStringV2 s_p0, NI first_p1, NI last_p2);
static N_INLINE(NIM_BOOL, nimSubInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, parseVersion__basicZversions_u546)(NimStringV2 s_p0, NI start_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, parseVer__basicZversions_u459)(NimStringV2 s_p0, NI* start_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuStrip)(NimStringV2 s_p0, NIM_BOOL leading_p1, NIM_BOOL trailing_p2, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw chars_p3);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1319)(NimStringV2 s_p0, tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg x_p1);
N_NIMCALL(NimStringV2, mnewString)(NI len_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseRangeErrorI)(NI64 i_p0, NI64 a_p1, NI64 b_p2);
static N_INLINE(void, nimPrepareStrMutationV2)(NimStringV2* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimPrepareStrMutationImpl__system_u2493)(NimStringV2* s_p0);
static N_INLINE(tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg, dotdot___stdZenumutils_u105)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, raiseExceptionEx)(Exception* e_p0, NCSTRING ename_p1, NCSTRING procname_p2, NCSTRING filename_p3, NI line_p4);
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, initCommitHash__basicZversions_u85)(NimStringV2 raw_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmpty__basicZversions_u133)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__basicZversions_u782)(tySequence__ROG4zVH2lrODohp66awvUw* x_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u108)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u111)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, substr__system_u9109)(NimStringV2 s_p0, NI first_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(void, incl__basicZversions_u858)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, X5BX5Deq___basicZversions_u2351)(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw* t_p0, NimStringV2 key_p1, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* val_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZversions_u4165)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q s_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__basicZversions_u4238)(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw* t_p0, NimStringV2 key_p1);
static N_INLINE(NI, len__basicZversions_u4401)(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw* t_p0);
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdup___basicZversions_u3515)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* Result);
N_LIB_PRIVATE N_NIMCALL(void, sort__basicZversions_u4639)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, NI a_p0Len_0, tyProc__VRpJfpeaZqlQGq4cCdLVCA cmp_p1, tyEnum_SortOrder__9arxXsrA69cTRa9cGZkutSbcw order_p2);
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___basicZversions_u4633)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___basicZversions_u325)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, isHead__basicZversions_u288)(NimStringV2 v_p0);
N_LIB_PRIVATE N_NIMCALL(NI, nsuCmpIgnoreCase)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NI, cmpStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, lt__basicZversions_u295)(NimStringV2 a_p0, NimStringV2 b_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u5014)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u4991)(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, short__basicZversions_u142)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0);
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1291)(NimStringV2 s_p0, tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ x_p1);
static N_INLINE(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ, dotdot___stdZstrbasics_u48)(NI a_p0, NI b_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuValidIdentifier)(NimStringV2 s_p0);
static N_INLINE(NIM_BOOL, endsWith__pureZstrutils_u1481)(NimStringV2 s_p0, NIM_CHAR suffix_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u70)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u255)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, parseSuffix__basicZversions_u587)(NimStringV2 s_p0, NI start_p1, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* result_p2, NIM_BOOL* err_p3);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u235)(tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng* dest_p0, tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5582)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__basicZversions_u5070)(tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng pattern_p0, NimStringV2 v_p1);
static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_u1461)(NimStringV2 s_p0, NIM_CHAR prefix_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuStartsWith)(NimStringV2 s_p0, NimStringV2 prefix_p1);
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, nsuSplitString)(NimStringV2 s_p0, NimStringV2 sep_p1, NI maxsplit_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toVersion__basicZversions_u5241)(NimStringV2 str_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, toCommitHash__basicZversions_u5244)(NimStringV2 str_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__basicZversions_u5187)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* pattern_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* x_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, selectBestCommitMaxVer__basicZversions_u5212)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* data_p0, NI data_p0Len_0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* elem_p1);
N_LIB_PRIVATE N_NIMCALL(void, toSemVer__basicZversions_u5225)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* i_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u249)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* src_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___systemZdollars_u14)(NI xX60gensym0__p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u246)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0);
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_2 = { 1 | NIM_STRLIT_FLAG, "~" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_3 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_2};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_4 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_2};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_5 = { 1 | NIM_STRLIT_FLAG, "@" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_6 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_5};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_7 = { 1 | NIM_STRLIT_FLAG, "-" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_8 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_7};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_9 = { 1 | NIM_STRLIT_FLAG, "^" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_10 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_9};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_11 = { 5 | NIM_STRLIT_FLAG, "verGe" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_12 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_11};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_13 = { 5 | NIM_STRLIT_FLAG, "verGt" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_14 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_13};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_15 = { 5 | NIM_STRLIT_FLAG, "verLe" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_16 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_15};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_17 = { 5 | NIM_STRLIT_FLAG, "verLt" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_18 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_17};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_19 = { 5 | NIM_STRLIT_FLAG, "verEq" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_20 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_19};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_21 = { 6 | NIM_STRLIT_FLAG, "verAny" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_22 = {6, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_21};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_23 = { 10 | NIM_STRLIT_FLAG, "verSpecial" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_24 = {10, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_23};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_25 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_26 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_25};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_27 = { 8 | NIM_STRLIT_FLAG, "FromNone" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_28 = {8, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_27};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_29 = { 8 | NIM_STRLIT_FLAG, "FromHead" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_30 = {8, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_29};
static const struct {
  NI cap; NIM_CHAR data[10+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_31 = { 10 | NIM_STRLIT_FLAG, "FromGitTag" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_32 = {10, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_31};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_33 = { 7 | NIM_STRLIT_FLAG, "FromDep" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_34 = {7, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_33};
static const struct {
  NI cap; NIM_CHAR data[14+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_35 = { 14 | NIM_STRLIT_FLAG, "FromNimbleFile" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_36 = {14, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_35};
static const struct {
  NI cap; NIM_CHAR data[12+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_37 = { 12 | NIM_STRLIT_FLAG, "FromLockfile" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_38 = {12, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_37};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_39 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_25};
static const struct {
  NI cap; NIM_CHAR data[93+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_44 = { 93 | NIM_STRLIT_FLAG, "iterators.nim(272, 11) `len(a) == L` the length of the string changed while iterating over it" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_45 = {93, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_44};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_46 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_47 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_46};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_63 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_64 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__wJ9alKPpdk23t4DUhHZkrdw_70 = {
0x00, 0x3e, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
;
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_71 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_72 = { 1 | NIM_STRLIT_FLAG, "*" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_73 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_72};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_74 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
extern TNimTypeV2 NTIv2__YUzEEs8pGqG7cYmcRoc5rw_;
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_75 = { 31 | NIM_STRLIT_FLAG, "Invalid or incomplete version: " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_76 = {31, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_75};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_78 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_79 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_78};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_80 = { 3 | NIM_STRLIT_FLAG, "^{}" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_81 = {3, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_80};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_84 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_78};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_85 = { 90 | NIM_STRLIT_FLAG, "tables.nim(1885, 11) `len(t) == L` the length of the table changed while iterating over it" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_86 = {90, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_85};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_87 = { 5 | NIM_STRLIT_FLAG, "#head" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_88 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_87};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_94 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_2};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_95 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_5};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_100 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_7};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_101 = { 1 | NIM_STRLIT_FLAG, "!" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_102 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_101};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_104 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_9};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_107 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const struct {
  NI cap; NIM_CHAR data[27+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_110 = { 27 | NIM_STRLIT_FLAG, "Invalid requirements name: " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_111 = {27, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_110};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_118 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_119 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_136 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_137 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_63};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_138 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_46};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_139 = { 2 | NIM_STRLIT_FLAG, ">=" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_140 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_139};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_141 = { 1 | NIM_STRLIT_FLAG, ">" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_142 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_141};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_143 = { 2 | NIM_STRLIT_FLAG, "<=" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_144 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_143};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_145 = { 1 | NIM_STRLIT_FLAG, "<" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_146 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_145};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_147 = { 2 | NIM_STRLIT_FLAG, "==" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_148 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_147};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_149 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_72};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_150 = { 1 | NIM_STRLIT_FLAG, "#" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_151 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_150};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_152 = { 1 | NIM_STRLIT_FLAG, " " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_153 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_152};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_154 = { 3 | NIM_STRLIT_FLAG, " & " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_155 = {3, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_154};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_156 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_139};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_157 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_141};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_158 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_143};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_159 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_145};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_160 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_147};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_161 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_72};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_162 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_150};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_163 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_152};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_164 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_87};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_165 = {5, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_87};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_166 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_72};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_167 = { 3 | NIM_STRLIT_FLAG, ">= " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_168 = {3, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_167};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_169 = { 2 | NIM_STRLIT_FLAG, "> " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_170 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_169};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_171 = { 3 | NIM_STRLIT_FLAG, "<= " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_172 = {3, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_171};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_173 = { 2 | NIM_STRLIT_FLAG, "< " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_174 = {2, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_173};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_175 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_5};
static const struct {
  NI cap; NIM_CHAR data[93+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_176 = { 93 | NIM_STRLIT_FLAG, "versions.nim(527, 3) `res.len() == 2` version tag string format is `version@commit` but got: " };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_177 = {93, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_176};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_178 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_2};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_179 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_78};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_180 = {1, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_7};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_181 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_46};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_182 = { 6 | NIM_STRLIT_FLAG, "MinVer" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_183 = {6, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_182};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_184 = { 6 | NIM_STRLIT_FLAG, "SemVer" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_185 = {6, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_184};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__wJ9alKPpdk23t4DUhHZkrdw_186 = { 6 | NIM_STRLIT_FLAG, "MaxVer" };
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_187 = {6, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_186};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_188 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_25};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_191 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_46};
static const NimStringV2 TM__wJ9alKPpdk23t4DUhHZkrdw_194 = {0, (NimStrPayload*)&TM__wJ9alKPpdk23t4DUhHZkrdw_46};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u52)(NimStringV2 v_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	colontmpD_ = eqdup___system_u2757(v_p0);
	result = colontmpD_;
	{
		if (!(result.len == 0)) goto LA3_;
		eqsink___system_u2760((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_3);
	}
LA3_: ;
	return result;
}
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_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u73)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	eqcopy___system_u2754((&result), c_p0.h);
	{
		if (!(result.len == 0)) goto LA3_;
		eqsink___system_u2760((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_8);
	}
LA3_: ;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, repr__basicZversions_u190)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* vt_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T6_;
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;
	{
		if (!!(((*vt_p0).v.len == 0))) goto LA3_;
		result = dollar___basicZversions_u52((*vt_p0).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_4;
	}
LA1_: ;
	T6_.len = 0; T6_.p = NIM_NIL;
	colontmpD_ = dollar___basicZversions_u73((*vt_p0).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = rawNewString(colontmpD_.len + 1);
appendString((&T6_), TM__wJ9alKPpdk23t4DUhHZkrdw_6);
appendString((&T6_), colontmpD_);
	colontmpD__2 = T6_;
	prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
	{
		if (!(*vt_p0).isTip) goto LA9_;
		prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_10);
	}
LA9_: ;
	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);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u23)(tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_12;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_14;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_16;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_18;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_20;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_22;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)6):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_24;
	}
	break;
	default:
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_26;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u48)(tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)0):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_28;
	}
	break;
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)1):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_30;
	}
	break;
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)2):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_32;
	}
	break;
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)3):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_34;
	}
	break;
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)4):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_36;
	}
	break;
	case ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)5):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_38;
	}
	break;
	default:
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_39;
	}
	break;
	}
	return result;
}
static N_INLINE(NI, emarkamp___pureZhashes_u4)(NI h_p0, NI val_p1) {
	NI result;
	NU h_2;
	NU val_2;
	NU res_1;
	h_2 = ((NU) (h_p0));
	val_2 = ((NU) (val_p1));
	res_1 = (NU)((NU64)(h_2) + (NU64)(val_2));
	res_1 = (NU)((NU64)(res_1) + (NU64)((NU)((NU64)(res_1) << (NU64)(((NI)10) & (64 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU64)(res_1) >> (NU64)(((NI)6) & (64 - 1))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZversions_u5265)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hash__pureZhashes_u586(c_p0.h);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, emarkdollar___pureZhashes_u19)(NI h_p0) {
	NI result;
	NU h_2;
	NU res_1;
	h_2 = ((NU) (h_p0));
	res_1 = (NU)((NU64)(h_2) + (NU64)((NU)((NU64)(h_2) << (NU64)(((NI)3) & (64 - 1)))));
	res_1 = (NU)(res_1 ^ (NU)((NU64)(res_1) >> (NU64)(((NI)11) & (64 - 1))));
	res_1 = (NU)((NU64)(res_1) + (NU64)((NU)((NU64)(res_1) << (NU64)(((NI)15) & (64 - 1)))));
	result = ((NI) (res_1));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__basicZversions_u5268)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* v_p0) {
	NI result;
	NI h_1;
	NI T1_;
	NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = ((NI)0);
	T1_ = (NI)0;
	T1_ = hash__pureZhashes_u586((*v_p0).v);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	h_1 = emarkamp___pureZhashes_u4(h_1, T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NI)0;
	T2_ = hash__basicZversions_u5265((*v_p0).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	h_1 = emarkamp___pureZhashes_u4(h_1, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = emarkdollar___pureZhashes_u19(h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isSpecial__basicZversions_u274)(NimStringV2 v_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	T1_ = (NIM_BOOL)0;
	T1_ = (((NI)1) < v_p0.len);
	if (!(T1_)) goto LA2_;
	if (((NI)0) < 0 || ((NI)0) >= v_p0.len){ raiseIndexError2(((NI)0),v_p0.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)(v_p0.p->data[((NI)0)]) == (NU8)(35));
LA2_: ;
	result = T1_;
	}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_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(NIM_BOOL, eq__basicZversions_u329)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI i_1;
	NI j_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	i_1 = ((NI)0);
	j_1 = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			NI x_1;
			NI l1_1;
			NI y_1;
			NI l2_1;
			T3_ = (NIM_BOOL)0;
			T3_ = (i_1 < a_p0.len);
			if (T3_) goto LA4_;
			T3_ = (j_1 < b_p1.len);
LA4_: ;
			if (!T3_) goto LA2;
			x_1 = ((NI)0);
			l1_1 = parseSaturatedNatural__pureZparseutils_u986(a_p0, (&x_1), i_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			y_1 = ((NI)0);
			l2_1 = parseSaturatedNatural__pureZparseutils_u986(b_p1, (&y_1), j_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(x_1 == y_1)) goto LA7_;
			}
			goto LA5_;
LA7_: ;
			{
				result = NIM_FALSE;
				goto BeforeRet_;
			}
LA5_: ;
			{
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_40;
				if (!(((NI)0) < l1_1)) goto LA12_;
				if (nimAddInt(i_1, l1_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_40)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_40);
				{
					NIM_BOOL T16_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_41;
					T16_ = (NIM_BOOL)0;
					T16_ = (i_1 < a_p0.len);
					if (!(T16_)) goto LA17_;
					if (i_1 < 0 || i_1 >= a_p0.len){ raiseIndexError2(i_1,a_p0.len-1); goto BeforeRet_;
					}
					T16_ = ((NU8)(a_p0.p->data[i_1]) == (NU8)(46));
LA17_: ;
					if (!T16_) goto LA18_;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_41)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_41);
				}
				goto LA14_;
LA18_: ;
				{
					i_1 = a_p0.len;
				}
LA14_: ;
			}
			goto LA10_;
LA12_: ;
			{
				i_1 = a_p0.len;
			}
LA10_: ;
			{
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_42;
				if (!(((NI)0) < l2_1)) goto LA24_;
				if (nimAddInt(j_1, l2_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_42)) { raiseOverflow(); goto BeforeRet_;
				};
				j_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_42);
				{
					NIM_BOOL T28_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_43;
					T28_ = (NIM_BOOL)0;
					T28_ = (j_1 < b_p1.len);
					if (!(T28_)) goto LA29_;
					if (j_1 < 0 || j_1 >= b_p1.len){ raiseIndexError2(j_1,b_p1.len-1); goto BeforeRet_;
					}
					T28_ = ((NU8)(b_p1.p->data[j_1]) == (NU8)(46));
LA29_: ;
					if (!T28_) goto LA30_;
					if (nimAddInt(j_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_43)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_43);
				}
				goto LA26_;
LA30_: ;
				{
					j_1 = b_p1.len;
				}
LA26_: ;
			}
			goto LA22_;
LA24_: ;
			{
				j_1 = b_p1.len;
			}
LA22_: ;
		} LA2: ;
	}
	result = NIM_TRUE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u359)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isSpecial__basicZversions_u274(a_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T3_) goto LA4_;
		T3_ = isSpecial__basicZversions_u274(b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		result = eqStrings(a_p0, b_p1);
	}
	goto LA1_;
LA5_: ;
	{
		result = eq__basicZversions_u329(a_p0, b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u5261)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA a_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA b_p1) {
	NIM_BOOL result;
	result = eqStrings(a_p0.h, b_p1.h);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___basicZversions_u5272)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = eqeq___basicZversions_u359((*a_p0).v, (*b_p1).v);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	if (!(T1_)) goto LA2_;
	T1_ = eqeq___basicZversions_u5261((*a_p0).c, (*b_p1).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
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(void, eqdup___basicZversions_u3515)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* Result) {
	nimZeroMem((void*)Result, sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
	(*Result).c.h = eqdup___system_u2757((*src_p0).c.h);
	(*Result).c.orig = (*src_p0).c.orig;
	(*Result).v = eqdup___system_u2757((*src_p0).v);
	(*Result).isTip = (*src_p0).isTip;
}
static N_INLINE(NimStringV2, toLower__pureZunicode_u7554)(NimStringV2 s_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	if ((s_p0.len-1)-((NI)0) != -1 && (((NI)0) < 0 || ((NI)0) >= s_p0.len || (s_p0.len-1) < 0 || (s_p0.len-1) >= s_p0.len)){ raiseIndexError4(((NI)0), (s_p0.len-1), s_p0.len); goto BeforeRet_;
	}
	result = nuctoLowerStr((((s_p0).p) ? ((NIM_CHAR*)s_p0.p->data+(((NI)0))) : NIM_NIL), ((s_p0.len-1))-(((NI)0))+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLowerAlphaNum__basicZversions_u77)(NimStringV2 s_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_CHAR c_1;
		NI i_1;
		NI L_1;
		c_1 = (NIM_CHAR)0;
		i_1 = ((NI)0);
		L_1 = s_p0.len;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA3;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				c_1 = s_p0.p->data[i_1];
				{
					if (!!((((NU8)(c_1)) >= ((NU8)(97)) && ((NU8)(c_1)) <= ((NU8)(102)) || ((NU8)(c_1)) >= ((NU8)(48)) && ((NU8)(c_1)) <= ((NU8)(57))))) goto LA6_;
					result = NIM_FALSE;
					goto BeforeRet_;
				}
LA6_: ;
				i_1 += ((NI)1);
				{
					if (!!((s_p0.len == L_1))) goto LA10_;
					failedAssertImpl__stdZassertions_u95(TM__wJ9alKPpdk23t4DUhHZkrdw_45);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA10_: ;
			} LA3: ;
		}
	}
	result = NIM_TRUE;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u120)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA src_p1) {
	if ((*dest_p0).h.p != src_p1.h.p) {	if ((*dest_p0).h.p && !((*dest_p0).h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).h.p);
}
	}
(*dest_p0).h.len = src_p1.h.len; (*dest_p0).h.p = src_p1.h.p;
	(*dest_p0).orig = src_p1.orig;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, initCommitHash__basicZversions_u85)(NimStringV2 raw_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	result.h = toLower__pureZunicode_u7554(raw_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result.orig = origin_p1;
	{
		NIM_BOOL T3_;
		tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA T6_;
		T3_ = (NIM_BOOL)0;
		T3_ = isLowerAlphaNum__basicZversions_u77(result.h);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T3_)) goto LA4_;
		T6_.h = TM__wJ9alKPpdk23t4DUhHZkrdw_47;
		T6_.orig = ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)0);
		eqsink___basicZversions_u120((&result), T6_);
	}
LA4_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u111)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0) {
	if ((*dest_p0).h.p && !((*dest_p0).h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).h.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u3509)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0) {
	if ((*dest_p0).v.p && !((*dest_p0).v.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).v.p);
}
	if ((*dest_p0).c.h.p && !((*dest_p0).c.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).c.h.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u3506)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0) {
	(*dest_p0).c.h.len = 0; (*dest_p0).c.h.p = NIM_NIL;
	(*dest_p0).c.orig = 0;
	(*dest_p0).v.len = 0; (*dest_p0).v.p = NIM_NIL;
	(*dest_p0).isTip = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u114)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0, tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA src_p1) {
	eqcopy___system_u2754((&(*dest_p0).h), src_p1.h);
	(*dest_p0).orig = src_p1.orig;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, commit__basicZversions_u193)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* vt_p0) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	eqcopy___basicZversions_u114((&result), (*vt_p0).c);
	return result;
}
static N_INLINE(NIM_BOOL, nimSubInt)(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 ^ (NI)((NU64) ~(b_p1))));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	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)IL64(4611686018427387904))) == ((NI)IL64(4611686018427387904)));
LA4_: ;
		if (!T3_) goto LA5_;
		nimPrepareStrMutationImpl__system_u2493(s_p0);
	}
LA5_: ;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1319)(NimStringV2 s_p0, tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_65;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_66;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_67;
{	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	if (nimSubInt(s_p0.len, x_p1.b, &TM__wJ9alKPpdk23t4DUhHZkrdw_65)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimSubInt((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_65), a_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_66)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimAddInt((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_66), ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_67)) { raiseOverflow(); goto BeforeRet_;
	};
	L_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_67);
	if ((L_1) < ((NI)0) || (L_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_68;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_69;
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= result.len){ raiseIndexError2(i_1,result.len-1); goto BeforeRet_;
				}
				nimPrepareStrMutationV2((&result));
				if (nimAddInt(i_1, a_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_68)) { raiseOverflow(); goto BeforeRet_;
				};
				if ((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_68) < 0 || (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_68) >= s_p0.len){ raiseIndexError2((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_68),s_p0.len-1); goto BeforeRet_;
				}
				result.p->data[i_1] = s_p0.p->data[(NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_68)];
				if (nimAddInt(i_2, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_69)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_69);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg, dotdot___stdZenumutils_u105)(NI a_p0, NI b_p1) {
	tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, parseVer__basicZversions_u459)(NimStringV2 s_p0, NI* start_p1) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
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__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	{
		NIM_BOOL T4_;
		NI i_1;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_60;
		T4_ = (NIM_BOOL)0;
		T4_ = ((*start_p1) < s_p0.len);
		if (!(T4_)) goto LA5_;
		if ((*start_p1) < 0 || (*start_p1) >= s_p0.len){ raiseIndexError2((*start_p1),s_p0.len-1); goto LA1_;
		}
		T4_ = ((NU8)(s_p0.p->data[(*start_p1)]) == (NU8)(35));
LA5_: ;
		if (!T4_) goto LA6_;
		i_1 = (*start_p1);
		{
			while (1) {
				NIM_BOOL T10_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_59;
				T10_ = (NIM_BOOL)0;
				T10_ = (i_1 < s_p0.len);
				if (!(T10_)) goto LA11_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto LA1_;
				}
				T10_ = !((((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12))));
LA11_: ;
				if (!T10_) goto LA9;
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_59)) { raiseOverflow(); goto LA1_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_59);
			} LA9: ;
		}
		if (nimSubInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_60)) { raiseOverflow(); goto LA1_;
		};
		result = substr__system_u9096(s_p0, (*start_p1), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_60));
		(*start_p1) = i_1;
	}
	goto LA2_;
LA6_: ;
	{
		NIM_BOOL T13_;
		NI i_2;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_62;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*start_p1) < s_p0.len);
		if (!(T13_)) goto LA14_;
		if ((*start_p1) < 0 || (*start_p1) >= s_p0.len){ raiseIndexError2((*start_p1),s_p0.len-1); goto LA1_;
		}
		T13_ = (((NU8)(s_p0.p->data[(*start_p1)])) >= ((NU8)(48)) && ((NU8)(s_p0.p->data[(*start_p1)])) <= ((NU8)(57)));
LA14_: ;
		if (!T13_) goto LA15_;
		i_2 = (*start_p1);
		{
			while (1) {
				NIM_BOOL T19_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_61;
				T19_ = (NIM_BOOL)0;
				T19_ = (i_2 < s_p0.len);
				if (!(T19_)) goto LA20_;
				if (i_2 < 0 || i_2 >= s_p0.len){ raiseIndexError2(i_2,s_p0.len-1); goto LA1_;
				}
				T19_ = (((NU8)(s_p0.p->data[i_2])) == ((NU8)(46)) || ((NU8)(s_p0.p->data[i_2])) >= ((NU8)(48)) && ((NU8)(s_p0.p->data[i_2])) <= ((NU8)(57)));
LA20_: ;
				if (!T19_) goto LA18;
				if (nimAddInt(i_2, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_61)) { raiseOverflow(); goto LA1_;
				};
				i_2 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_61);
			} LA18: ;
		}
		if (nimSubInt(i_2, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_62)) { raiseOverflow(); goto LA1_;
		};
		result = substr__system_u9096(s_p0, (*start_p1), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_62));
		(*start_p1) = i_2;
	}
	goto LA2_;
LA15_: ;
	{
		if (!((*start_p1) == s_p0.len)) goto LA22_;
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_64;
	}
	goto LA2_;
LA22_: ;
	{
		tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg T25_;
		T25_ = dotdot___stdZenumutils_u105((*start_p1), ((NI)1));
		colontmpD_ = X5BX5D___pureZstrutils_u1319(s_p0, T25_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__2 = nsuStrip(colontmpD_, NIM_TRUE, NIM_TRUE, TM__wJ9alKPpdk23t4DUhHZkrdw_70);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(colontmpD__2.len == 0)) goto LA26_;
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_71;
	}
	goto LA2_;
LA26_: ;
	{
		tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg T29_;
		T29_ = dotdot___stdZenumutils_u105((*start_p1), ((NI)1));
		colontmpD__3 = X5BX5D___pureZstrutils_u1319(s_p0, T29_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = nsuStrip(colontmpD__3, NIM_TRUE, NIM_TRUE, TM__wJ9alKPpdk23t4DUhHZkrdw_70);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!eqStrings(colontmpD__4, TM__wJ9alKPpdk23t4DUhHZkrdw_73)) goto LA30_;
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_74;
	}
	goto LA2_;
LA30_: ;
	{
		NimStringV2 colontmpD__5;
		tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T34_;
		NimStringV2 T35_;
		tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg T36_;
		colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
		T34_ = NIM_NIL;
		T34_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
		(*T34_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
		(*T34_).Sup.Sup.name = "ValueError";
		T35_.len = 0; T35_.p = NIM_NIL;
		T36_ = dotdot___stdZenumutils_u105((*start_p1), ((NI)1));
		colontmpD__5 = X5BX5D___pureZstrutils_u1319(s_p0, T36_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		T35_ = rawNewString(colontmpD__5.len + 31);
appendString((&T35_), TM__wJ9alKPpdk23t4DUhHZkrdw_76);
appendString((&T35_), colontmpD__5);
		(*T34_).Sup.Sup.message = T35_;
		(*T34_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T34_, "ValueError", "parseVer", "versions.nim", 231);
goto LA33_;
		{
			LA33_:;
		}
		{
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		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 (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 (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, parseVersion__basicZversions_u546)(NimStringV2 s_p0, NI start_p1) {
	NimStringV2 result;
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	i_1 = start_p1;
	{
		while (1) {
			NIM_BOOL T3_;
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_57;
			T3_ = (NIM_BOOL)0;
			T3_ = (i_1 < s_p0.len);
			if (!(T3_)) goto LA4_;
			if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
			}
			T3_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA4_: ;
			if (!T3_) goto LA2;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_57)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_57);
		} LA2: ;
	}
	{
		NIM_BOOL T7_;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_58;
		T7_ = (NIM_BOOL)0;
		T7_ = (i_1 < s_p0.len);
		if (!(T7_)) goto LA8_;
		if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
		}
		T7_ = ((NU8)(s_p0.p->data[i_1]) == (NU8)(118));
LA8_: ;
		if (!T7_) goto LA9_;
		if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_58)) { raiseOverflow(); goto BeforeRet_;
		};
		i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_58);
	}
LA9_: ;
	result = parseVer__basicZversions_u459(s_p0, (&i_1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isEmpty__basicZversions_u133)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NIM_BOOL result;
	result = (c_p0.h.len == ((NI)0));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u108)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA* dest_p0) {
	(*dest_p0).h.len = 0; (*dest_p0).h.p = NIM_NIL;
	(*dest_p0).orig = 0;
}
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u3518)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p1) {
	if ((*dest_p0).c.h.p != (*src_p1).c.h.p) {	if ((*dest_p0).c.h.p && !((*dest_p0).c.h.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).c.h.p);
}
	}
(*dest_p0).c.h.len = (*src_p1).c.h.len; (*dest_p0).c.h.p = (*src_p1).c.h.p;
	(*dest_p0).c.orig = (*src_p1).c.orig;
	eqsink___system_u2760((&(*dest_p0).v), (*src_p1).v);
	(*dest_p0).isTip = (*src_p1).isTip;
}
static N_INLINE(NI, len__basicZversions_u4401)(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw* t_p0) {
	NI result;
	result = (*t_p0).counter;
	return result;
}
static N_INLINE(NIM_BOOL, isFilled__pureZcollectionsZtables_u31)(NI hcode_p0) {
	NIM_BOOL result;
	result = !((hcode_p0 == ((NI)0)));
	return result;
}
static N_INLINE(NIM_BOOL, isHead__basicZversions_u288)(NimStringV2 v_p0) {
	NIM_BOOL result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NI)0;
	T1_ = nsuCmpIgnoreCase(v_p0, TM__wJ9alKPpdk23t4DUhHZkrdw_88);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = (T1_ == ((NI)0));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, cmpStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NI result;
	NI alen_1;
	NI blen_1;
	NI minlen_1;
	result = (NI)0;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	minlen_1 = ((alen_1 <= blen_1) ? alen_1 : blen_1);
	{
		int T5_;
		if (!(((NI)0) < minlen_1)) goto LA3_;
		T5_ = (int)0;
		T5_ = memcmp(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), ((size_t) (minlen_1)));
		result = ((NI) (T5_));
		{
			if (!(result == ((NI)0))) goto LA8_;
			result = (NI)(alen_1 - blen_1);
		}
LA8_: ;
	}
	goto LA1_;
LA3_: ;
	{
		result = (NI)(alen_1 - blen_1);
	}
LA1_: ;
	return result;
}
static N_INLINE(NIM_BOOL, lt__basicZversions_u295)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI i_1;
	NI j_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	i_1 = ((NI)0);
	j_1 = ((NI)0);
	{
		while (1) {
			NIM_BOOL T3_;
			NI x_1;
			NI l1_1;
			NI y_1;
			NI l2_1;
			T3_ = (NIM_BOOL)0;
			T3_ = (i_1 < a_p0.len);
			if (T3_) goto LA4_;
			T3_ = (j_1 < b_p1.len);
LA4_: ;
			if (!T3_) goto LA2;
			x_1 = ((NI)0);
			l1_1 = parseSaturatedNatural__pureZparseutils_u986(a_p0, (&x_1), i_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			y_1 = ((NI)0);
			l2_1 = parseSaturatedNatural__pureZparseutils_u986(b_p1, (&y_1), j_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			{
				if (!(x_1 < y_1)) goto LA7_;
				result = NIM_TRUE;
				goto BeforeRet_;
			}
			goto LA5_;
LA7_: ;
			{
				if (!(x_1 == y_1)) goto LA10_;
			}
			goto LA5_;
LA10_: ;
			{
				result = NIM_FALSE;
				goto BeforeRet_;
			}
LA5_: ;
			{
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_89;
				if (!(((NI)0) < l1_1)) goto LA15_;
				if (nimAddInt(i_1, l1_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_89)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_89);
				{
					NIM_BOOL T19_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_90;
					T19_ = (NIM_BOOL)0;
					T19_ = (i_1 < a_p0.len);
					if (!(T19_)) goto LA20_;
					if (i_1 < 0 || i_1 >= a_p0.len){ raiseIndexError2(i_1,a_p0.len-1); goto BeforeRet_;
					}
					T19_ = ((NU8)(a_p0.p->data[i_1]) == (NU8)(46));
LA20_: ;
					if (!T19_) goto LA21_;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_90)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_90);
				}
				goto LA17_;
LA21_: ;
				{
					i_1 = a_p0.len;
				}
LA17_: ;
			}
			goto LA13_;
LA15_: ;
			{
				i_1 = a_p0.len;
			}
LA13_: ;
			{
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_91;
				if (!(((NI)0) < l2_1)) goto LA27_;
				if (nimAddInt(j_1, l2_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_91)) { raiseOverflow(); goto BeforeRet_;
				};
				j_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_91);
				{
					NIM_BOOL T31_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_92;
					T31_ = (NIM_BOOL)0;
					T31_ = (j_1 < b_p1.len);
					if (!(T31_)) goto LA32_;
					if (j_1 < 0 || j_1 >= b_p1.len){ raiseIndexError2(j_1,b_p1.len-1); goto BeforeRet_;
					}
					T31_ = ((NU8)(b_p1.p->data[j_1]) == (NU8)(46));
LA32_: ;
					if (!T31_) goto LA33_;
					if (nimAddInt(j_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_92)) { raiseOverflow(); goto BeforeRet_;
					};
					j_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_92);
				}
				goto LA29_;
LA33_: ;
				{
					j_1 = b_p1.len;
				}
LA29_: ;
			}
			goto LA25_;
LA27_: ;
			{
				j_1 = b_p1.len;
			}
LA25_: ;
		} LA2: ;
	}
	result = NIM_FALSE;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___basicZversions_u325)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isSpecial__basicZversions_u274(a_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T3_) goto LA4_;
		T3_ = isSpecial__basicZversions_u274(b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		{
			NIM_BOOL T9_;
			T9_ = (NIM_BOOL)0;
			T9_ = isHead__basicZversions_u288(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T9_) goto LA10_;
			result = NIM_FALSE;
			goto BeforeRet_;
		}
LA10_: ;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = isHead__basicZversions_u288(b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA15_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA15_: ;
		{
			NIM_BOOL T19_;
			T19_ = (NIM_BOOL)0;
			T19_ = isSpecial__basicZversions_u274(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T19_)) goto LA20_;
			T19_ = isSpecial__basicZversions_u274(b_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA20_: ;
			if (!T19_) goto LA21_;
			result = (cmpStrings(a_p0, b_p1) < 0);
			goto BeforeRet_;
		}
LA21_: ;
	}
LA5_: ;
	result = lt__basicZversions_u295(a_p0, b_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, colonanonymous___basicZversions_u4633)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1) {
	NI result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = lt___basicZversions_u325((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		result = ((NI)1);
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = eqeq___basicZversions_u359((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T8_) goto LA9_;
		result = ((NI)0);
	}
	goto LA2_;
LA9_: ;
	{
		result = ((NI)-1);
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__ROG4zVH2lrODohp66awvUw, parseTaggedVersions__basicZversions_u723)(NimStringV2 outp_p0, NIM_BOOL requireVersions_p1) {
	tySequence__ROG4zVH2lrODohp66awvUw result;
	tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw tagsByRef_1;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q peeledRefs_1;
	tyProc__VRpJfpeaZqlQGq4cCdLVCA T124_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&tagsByRef_1), sizeof(tyObject_OrderedTable__xNb8wZHY6Wq6uuczCShF9bw));
	nimZeroMem((void*)(&peeledRefs_1), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
	result.len = 0; result.p = (tySequence__ROG4zVH2lrODohp66awvUw_Content*) newSeqPayload(0, sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg), NIM_ALIGNOF(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
	{
		NimStringV2 line_1;
		NI first_1;
		NI last_1;
		NI eolpos_1;
		line_1.len = 0; line_1.p = NIM_NIL;
		first_1 = ((NI)0);
		last_1 = ((NI)0);
		eolpos_1 = ((NI)0);
		{
			while (1) {
				NI colontmpD_;
				NI colontmpD__2;
				NI T27_;
				NimStringV2 T33_;
				colontmpD_ = (NI)0;
				colontmpD__2 = (NI)0;
				{
					while (1) {
						NIM_BOOL T8_;
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_48;
						T8_ = (NIM_BOOL)0;
						T8_ = (last_1 < outp_p0.len);
						if (!(T8_)) goto LA9_;
						if (last_1 < 0 || last_1 >= outp_p0.len){ raiseIndexError2(last_1,outp_p0.len-1); goto LA3_;
						}
						T8_ = !((((NU8)(outp_p0.p->data[last_1])) == ((NU8)(13)) || ((NU8)(outp_p0.p->data[last_1])) == ((NU8)(10))));
LA9_: ;
						if (!T8_) goto LA7;
						if (nimAddInt(last_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_48)) { raiseOverflow(); goto LA3_;
						};
						last_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_48);
					} LA7: ;
				}
				eolpos_1 = last_1;
				{
					if (!(last_1 < outp_p0.len)) goto LA12_;
					{
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_49;
						if (last_1 < 0 || last_1 >= outp_p0.len){ raiseIndexError2(last_1,outp_p0.len-1); goto LA3_;
						}
						if (!((NU8)(outp_p0.p->data[last_1]) == (NU8)(10))) goto LA16_;
						if (nimAddInt(last_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_49)) { raiseOverflow(); goto LA3_;
						};
						last_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_49);
					}
					goto LA14_;
LA16_: ;
					{
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_50;
						if (last_1 < 0 || last_1 >= outp_p0.len){ raiseIndexError2(last_1,outp_p0.len-1); goto LA3_;
						}
						if (!((NU8)(outp_p0.p->data[last_1]) == (NU8)(13))) goto LA19_;
						if (nimAddInt(last_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_50)) { raiseOverflow(); goto LA3_;
						};
						last_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_50);
						{
							NIM_BOOL T23_;
							NI TM__wJ9alKPpdk23t4DUhHZkrdw_51;
							T23_ = (NIM_BOOL)0;
							T23_ = (last_1 < outp_p0.len);
							if (!(T23_)) goto LA24_;
							if (last_1 < 0 || last_1 >= outp_p0.len){ raiseIndexError2(last_1,outp_p0.len-1); goto LA3_;
							}
							T23_ = ((NU8)(outp_p0.p->data[last_1]) == (NU8)(10));
LA24_: ;
							if (!T23_) goto LA25_;
							if (nimAddInt(last_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_51)) { raiseOverflow(); goto LA3_;
							};
							last_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_51);
						}
LA25_: ;
					}
					goto LA14_;
LA19_: ;
LA14_: ;
				}
LA12_: ;
				T27_ = (NI)0;
				{
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_52;
					if (!NIM_FALSE) goto LA30_;
					if (nimSubInt(last_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_52)) { raiseOverflow(); goto LA3_;
					};
					colontmpD_ = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_52);
					T27_ = colontmpD_;
				}
				goto LA28_;
LA30_: ;
				{
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_53;
					if (nimSubInt(eolpos_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_53)) { raiseOverflow(); goto LA3_;
					};
					colontmpD__2 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_53);
					T27_ = colontmpD__2;
				}
LA28_: ;
				T33_.len = 0; T33_.p = NIM_NIL;
				T33_ = substr__system_u9096(outp_p0, first_1, T27_);
				eqsink___system_u2760((&line_1), T33_);
				{
					NimStringV2 refName_1;
					NimStringV2 colontmpD__3;
					NimStringV2 v_1;
					tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_1;
					NimStringV2 colontmpD__4;
					NI i_1;
					NI commitEnd_1;
					NI refStart_1;
					NIM_BOOL peeled_1;
					NI j_2;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_83;
					refName_1.len = 0; refName_1.p = NIM_NIL;
					colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
					v_1.len = 0; v_1.p = NIM_NIL;
					nimZeroMem((void*)(&c_1), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
					colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
					i_1 = ((NI)0);
					{
						while (1) {
							NIM_BOOL T38_;
							NI TM__wJ9alKPpdk23t4DUhHZkrdw_54;
							T38_ = (NIM_BOOL)0;
							T38_ = (i_1 < line_1.len);
							if (!(T38_)) goto LA39_;
							if (i_1 < 0 || i_1 >= line_1.len){ raiseIndexError2(i_1,line_1.len-1); goto LA35_;
							}
							T38_ = !((((NU8)(line_1.p->data[i_1])) == ((NU8)(32)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(9)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(11)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(13)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(10)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(12))));
LA39_: ;
							if (!T38_) goto LA37;
							if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_54)) { raiseOverflow(); goto LA35_;
							};
							i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_54);
						} LA37: ;
					}
					commitEnd_1 = i_1;
					{
						while (1) {
							NIM_BOOL T42_;
							NI TM__wJ9alKPpdk23t4DUhHZkrdw_55;
							T42_ = (NIM_BOOL)0;
							T42_ = (i_1 < line_1.len);
							if (!(T42_)) goto LA43_;
							if (i_1 < 0 || i_1 >= line_1.len){ raiseIndexError2(i_1,line_1.len-1); goto LA35_;
							}
							T42_ = (((NU8)(line_1.p->data[i_1])) == ((NU8)(32)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(9)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(11)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(13)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(10)) || ((NU8)(line_1.p->data[i_1])) == ((NU8)(12)));
LA43_: ;
							if (!T42_) goto LA41;
							if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_55)) { raiseOverflow(); goto LA35_;
							};
							i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_55);
						} LA41: ;
					}
					refStart_1 = i_1;
					{
						NimStringV2 v_2;
						tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_2;
						NimStringV2 colontmpD__5;
						NI j_1;
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_77;
						if (!(line_1.len <= refStart_1)) goto LA46_;
						v_2.len = 0; v_2.p = NIM_NIL;
						nimZeroMem((void*)(&c_2), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
						colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
						j_1 = refStart_1;
						{
							while (1) {
								NIM_BOOL T51_;
								NI TM__wJ9alKPpdk23t4DUhHZkrdw_56;
								T51_ = (NIM_BOOL)0;
								T51_ = (j_1 < line_1.len);
								if (!(T51_)) goto LA52_;
								if (j_1 < 0 || j_1 >= line_1.len){ raiseIndexError2(j_1,line_1.len-1); goto LA48_;
								}
								T51_ = !((((NU8)(line_1.p->data[j_1])) >= ((NU8)(48)) && ((NU8)(line_1.p->data[j_1])) <= ((NU8)(57))));
LA52_: ;
								if (!T51_) goto LA50;
								if (nimAddInt(j_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_56)) { raiseOverflow(); goto LA48_;
								};
								j_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_56);
							} LA50: ;
						}
						v_2 = parseVersion__basicZversions_u546(line_1, j_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						if (nimSubInt(commitEnd_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_77)) { raiseOverflow(); goto LA48_;
						};
						colontmpD__5 = substr__system_u9096(line_1, ((NI)0), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_77));
						c_2 = initCommitHash__basicZversions_u85(colontmpD__5, ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
						{
							NIM_BOOL T55_;
							NIM_BOOL T56_;
							NIM_BOOL T58_;
							NIM_BOOL T59_;
							tyObject_VersionTag__io9bcihbopiwucKorobyKdg T63_;
							tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA blitTmp_1;
							NimStringV2 blitTmp_2;
							T55_ = (NIM_BOOL)0;
							T56_ = (NIM_BOOL)0;
							T56_ = isEmpty__basicZversions_u133(c_2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							T55_ = !(T56_);
							if (!(T55_)) goto LA57_;
							T58_ = (NIM_BOOL)0;
							T59_ = (NIM_BOOL)0;
							T59_ = eqeq___basicZversions_u359(v_2, TM__wJ9alKPpdk23t4DUhHZkrdw_79);
							if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
							T58_ = !(T59_);
							if (T58_) goto LA60_;
							T58_ = !(requireVersions_p1);
LA60_: ;
							T55_ = T58_;
LA57_: ;
							if (!T55_) goto LA61_;
							nimZeroMem((void*)(&T63_), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
							blitTmp_1 = c_2;
							eqwasMoved___basicZversions_u108((&c_2));
							T63_.c = blitTmp_1;
							blitTmp_2 = v_2;
							eqwasMoved___system_u2751((&v_2));
							T63_.v = blitTmp_2;
							add__basicZversions_u782((&result), (&T63_));
						}
LA61_: ;
						if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
						eqdestroy___basicZversions_u111((&c_2));
						if (v_2.p && !(v_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_2.p);
}
						if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
						eqdestroy___basicZversions_u111((&c_1));
						if (v_1.p && !(v_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_1.p);
}
						if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
						if (refName_1.p && !(refName_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(refName_1.p);
}
						goto LA34;
						{
							LA48_:;
						}
						{
							if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
							eqdestroy___basicZversions_u111((&c_2));
							if (v_2.p && !(v_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_2.p);
}
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
LA46_: ;
					colontmpD__3 = substr__system_u9109(line_1, refStart_1);
					refName_1 = nsuStrip(colontmpD__3, NIM_TRUE, NIM_TRUE, TM__wJ9alKPpdk23t4DUhHZkrdw_70);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					peeled_1 = NIM_FALSE;
					{
						NIM_BOOL T68_;
						tyObject_HSlice__LlH5wTnoA9aQeGwJu9b9bzAYg T71_;
						NimStringV2 T72_;
						T68_ = (NIM_BOOL)0;
						T68_ = nsuEndsWith(refName_1, TM__wJ9alKPpdk23t4DUhHZkrdw_81);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						if (!T68_) goto LA69_;
						peeled_1 = NIM_TRUE;
						T71_ = dotdot___stdZenumutils_u105(((NI)0), ((NI)4));
						T72_.len = 0; T72_.p = NIM_NIL;
						T72_ = X5BX5D___pureZstrutils_u1319(refName_1, T71_);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T72_); goto LA35_;}
						eqsink___system_u2760((&refName_1), T72_);
					}
LA69_: ;
					j_2 = ((NI)0);
					{
						while (1) {
							NIM_BOOL T75_;
							NI TM__wJ9alKPpdk23t4DUhHZkrdw_82;
							T75_ = (NIM_BOOL)0;
							T75_ = (j_2 < refName_1.len);
							if (!(T75_)) goto LA76_;
							if (j_2 < 0 || j_2 >= refName_1.len){ raiseIndexError2(j_2,refName_1.len-1); goto LA35_;
							}
							T75_ = !((((NU8)(refName_1.p->data[j_2])) >= ((NU8)(48)) && ((NU8)(refName_1.p->data[j_2])) <= ((NU8)(57))));
LA76_: ;
							if (!T75_) goto LA74;
							if (nimAddInt(j_2, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_82)) { raiseOverflow(); goto LA35_;
							};
							j_2 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_82);
						} LA74: ;
					}
					v_1 = parseVersion__basicZversions_u546(refName_1, j_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					if (nimSubInt(commitEnd_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_83)) { raiseOverflow(); goto LA35_;
					};
					colontmpD__4 = substr__system_u9096(line_1, ((NI)0), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_83));
					c_1 = initCommitHash__basicZversions_u85(colontmpD__4, ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)2));
					if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					{
						NIM_BOOL T79_;
						NIM_BOOL T81_;
						T79_ = (NIM_BOOL)0;
						T79_ = isEmpty__basicZversions_u133(c_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						if (T79_) goto LA80_;
						T81_ = (NIM_BOOL)0;
						T81_ = eqeq___basicZversions_u359(v_1, TM__wJ9alKPpdk23t4DUhHZkrdw_84);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						if (!(T81_)) goto LA82_;
						T81_ = requireVersions_p1;
LA82_: ;
						T79_ = T81_;
LA80_: ;
						if (!T79_) goto LA83_;
						if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
						eqdestroy___basicZversions_u111((&c_1));
						if (v_1.p && !(v_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_1.p);
}
						if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
						if (refName_1.p && !(refName_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(refName_1.p);
}
						goto LA34;
					}
LA83_: ;
					{
						tyObject_VersionTag__io9bcihbopiwucKorobyKdg T89_;
						tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA blitTmp_3;
						NimStringV2 blitTmp_4;
						if (!peeled_1) goto LA87_;
						incl__basicZversions_u858((&peeledRefs_1), refName_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						nimZeroMem((void*)(&T89_), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
						blitTmp_3 = c_1;
						eqwasMoved___basicZversions_u108((&c_1));
						T89_.c = blitTmp_3;
						blitTmp_4 = v_1;
						eqwasMoved___system_u2751((&v_1));
						T89_.v = blitTmp_4;
						X5BX5Deq___basicZversions_u2351((&tagsByRef_1), refName_1, (&T89_));
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
					goto LA85_;
LA87_: ;
					{
						NIM_BOOL T91_;
						NIM_BOOL T92_;
						NIM_BOOL T94_;
						tyObject_VersionTag__io9bcihbopiwucKorobyKdg T97_;
						tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA blitTmp_5;
						NimStringV2 blitTmp_6;
						T91_ = (NIM_BOOL)0;
						T92_ = (NIM_BOOL)0;
						T92_ = contains__basicZversions_u4165(peeledRefs_1, refName_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						T91_ = !(T92_);
						if (!(T91_)) goto LA93_;
						T94_ = (NIM_BOOL)0;
						T94_ = contains__basicZversions_u4238((&tagsByRef_1), refName_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
						T91_ = !(T94_);
LA93_: ;
						if (!T91_) goto LA95_;
						nimZeroMem((void*)(&T97_), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
						blitTmp_5 = c_1;
						eqwasMoved___basicZversions_u108((&c_1));
						T97_.c = blitTmp_5;
						blitTmp_6 = v_1;
						eqwasMoved___system_u2751((&v_1));
						T97_.v = blitTmp_6;
						X5BX5Deq___basicZversions_u2351((&tagsByRef_1), refName_1, (&T97_));
						if (NIM_UNLIKELY(*nimErr_)) goto LA35_;
					}
					goto LA85_;
LA95_: ;
LA85_: ;
					{
						LA35_:;
					}
					{
						if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
						eqdestroy___basicZversions_u111((&c_1));
						if (v_1.p && !(v_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(v_1.p);
}
						if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
						if (refName_1.p && !(refName_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(refName_1.p);
}
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				} LA34: ;
				{
					if (!(eolpos_1 == last_1)) goto LA102_;
					goto LA4;
				}
LA102_: ;
				first_1 = last_1;
			}
		} LA4: ;
		{
			LA3_:;
		}
		{
			if (line_1.p && !(line_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(line_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		tyObject_VersionTag__io9bcihbopiwucKorobyKdg* t_1;
		NI L_1;
		t_1 = (tyObject_VersionTag__io9bcihbopiwucKorobyKdg*)0;
		L_1 = len__basicZversions_u4401((&tagsByRef_1));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NI h_1;
			if (!(((NI)0) < tagsByRef_1.counter)) goto LA109_;
			h_1 = tagsByRef_1.first;
			{
				while (1) {
					NI nxt_1;
					if (!(((NI)0) <= h_1)) goto LA112;
					if (h_1 < 0 || h_1 >= tagsByRef_1.data.len){ raiseIndexError2(h_1,tagsByRef_1.data.len-1); goto LA1_;
					}
					nxt_1 = tagsByRef_1.data.p->data[h_1].Field1;
					{
						NIM_BOOL T115_;
						tyObject_VersionTag__io9bcihbopiwucKorobyKdg colontmpD__6;
						tyObject_VersionTag__io9bcihbopiwucKorobyKdg T118_;
						if (h_1 < 0 || h_1 >= tagsByRef_1.data.len){ raiseIndexError2(h_1,tagsByRef_1.data.len-1); goto LA1_;
						}
						T115_ = (NIM_BOOL)0;
						T115_ = isFilled__pureZcollectionsZtables_u31(tagsByRef_1.data.p->data[h_1].Field0);
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						if (!T115_) goto LA116_;
						if (h_1 < 0 || h_1 >= tagsByRef_1.data.len){ raiseIndexError2(h_1,tagsByRef_1.data.len-1); goto LA1_;
						}
						t_1 = (&tagsByRef_1.data.p->data[h_1].Field3);
						nimZeroMem((void*)(&T118_), sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
						eqdup___basicZversions_u3515((&(*t_1)), (&T118_));
						colontmpD__6 = T118_;
						add__basicZversions_u782((&result), (&colontmpD__6));
						{
							NI T121_;
							T121_ = (NI)0;
							T121_ = len__basicZversions_u4401((&tagsByRef_1));
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							if (!!((T121_ == L_1))) goto LA122_;
							failedAssertImpl__stdZassertions_u95(TM__wJ9alKPpdk23t4DUhHZkrdw_86);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						}
LA122_: ;
					}
LA116_: ;
					h_1 = nxt_1;
				} LA112: ;
			}
		}
LA109_: ;
	}
	nimZeroMem((void*)(&T124_), sizeof(tyProc__VRpJfpeaZqlQGq4cCdLVCA));
	T124_.ClP_0 = ((TM__wJ9alKPpdk23t4DUhHZkrdw_93) (colonanonymous___basicZversions_u4633)); T124_.ClE_0 = NIM_NIL;
	sort__basicZversions_u4639(((result).p) ? (result.p->data) : NIM_NIL, result.len, T124_, ((tyEnum_SortOrder__9arxXsrA69cTRa9cGZkutSbcw)1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		eqdestroy___basicZversions_u5014((&peeledRefs_1));
		eqdestroy___basicZversions_u4991((&tagsByRef_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, version__basicZversions_u196)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* vt_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	eqcopy___system_u2754((&result), (*vt_p0).v);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, initCommitHash__basicZversions_u129)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	eqcopy___basicZversions_u114((&result), c_p0);
	result.orig = origin_p1;
	return result;
}
static N_INLINE(NimStringV2, X5BX5D___pureZstrutils_u1291)(NimStringV2 s_p0, tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ x_p1) {
	NimStringV2 result;
	NI a_1;
	NI L_1;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_96;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_97;
{	result.len = 0; result.p = NIM_NIL;
	a_1 = x_p1.a;
	if (nimSubInt(x_p1.b, a_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_96)) { raiseOverflow(); goto BeforeRet_;
	};
	if (nimAddInt((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_96), ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_97)) { raiseOverflow(); goto BeforeRet_;
	};
	L_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_97);
	if ((L_1) < ((NI)0) || (L_1) > ((NI)IL64(9223372036854775807))){ raiseRangeErrorI(L_1, ((NI)0), ((NI)IL64(9223372036854775807))); goto BeforeRet_;
	}
	result = mnewString((L_1));
	{
		NI i_1;
		NI i_2;
		i_1 = (NI)0;
		i_2 = ((NI)0);
		{
			while (1) {
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_98;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_99;
				if (!(i_2 < L_1)) goto LA3;
				i_1 = i_2;
				if (i_1 < 0 || i_1 >= result.len){ raiseIndexError2(i_1,result.len-1); goto BeforeRet_;
				}
				nimPrepareStrMutationV2((&result));
				if (nimAddInt(i_1, a_1, &TM__wJ9alKPpdk23t4DUhHZkrdw_98)) { raiseOverflow(); goto BeforeRet_;
				};
				if ((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_98) < 0 || (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_98) >= s_p0.len){ raiseIndexError2((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_98),s_p0.len-1); goto BeforeRet_;
				}
				result.p->data[i_1] = s_p0.p->data[(NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_98)];
				if (nimAddInt(i_2, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_99)) { raiseOverflow(); goto BeforeRet_;
				};
				i_2 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_99);
			} LA3: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ, dotdot___stdZstrbasics_u48)(NI a_p0, NI b_p1) {
	tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ result;
	result.a = a_p0;
	result.b = b_p1;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, short__basicZversions_u142)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NimStringV2 result;
	NimStringV2 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	{
		tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ T6_;
		if (!(c_p0.h.len == ((NI)40))) goto LA4_;
		T6_ = dotdot___stdZstrbasics_u48(((NI)0), ((NI)7));
		result = X5BX5D___pureZstrutils_u1291(c_p0.h, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		if (!(c_p0.h.len == ((NI)0))) goto LA8_;
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_100;
	}
	goto LA2_;
LA8_: ;
	{
		NimStringV2 colontmpD_;
		NimStringV2 T11_;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_103;
		tyObject_HSlice__atPNPXY5GObvliR9b4ZIorQ T12_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T11_.len = 0; T11_.p = NIM_NIL;
		if (nimSubInt(c_p0.h.len, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_103)) { raiseOverflow(); goto BeforeRet_;
		};
		T12_ = dotdot___stdZstrbasics_u48(((NI)0), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_103));
		colontmpD_ = X5BX5D___pureZstrutils_u1291(c_p0.h, T12_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T11_ = rawNewString(colontmpD_.len + 1);
appendString((&T11_), TM__wJ9alKPpdk23t4DUhHZkrdw_102);
appendString((&T11_), colontmpD_);
		result = T11_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u187)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* vt_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 T6_;
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;
	{
		if (!!(((*vt_p0).v.len == 0))) goto LA3_;
		result = dollar___basicZversions_u52((*vt_p0).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_94;
	}
LA1_: ;
	T6_.len = 0; T6_.p = NIM_NIL;
	colontmpD_ = short__basicZversions_u142((*vt_p0).c);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = rawNewString(colontmpD_.len + 1);
appendString((&T6_), TM__wJ9alKPpdk23t4DUhHZkrdw_95);
appendString((&T6_), colontmpD_);
	colontmpD__2 = T6_;
	prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
	{
		if (!(*vt_p0).isTip) goto LA9_;
		prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_104);
	}
LA9_: ;
	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);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, parseExplicitVersion__basicZversions_u565)(NimStringV2 s_p0) {
	NimStringV2 result;
{	result.len = 0; result.p = NIM_NIL;
	{
		NIM_BOOL T3_;
		NI i_1;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_106;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) < s_p0.len);
		if (!(T3_)) goto LA4_;
		if (((NI)0) < 0 || ((NI)0) >= s_p0.len){ raiseIndexError2(((NI)0),s_p0.len-1); goto BeforeRet_;
		}
		T3_ = (((NU8)(s_p0.p->data[((NI)0)])) >= ((NU8)(48)) && ((NU8)(s_p0.p->data[((NI)0)])) <= ((NU8)(57)));
LA4_: ;
		if (!T3_) goto LA5_;
		i_1 = ((NI)0);
		{
			while (1) {
				NIM_BOOL T9_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_105;
				T9_ = (NIM_BOOL)0;
				T9_ = (i_1 < s_p0.len);
				if (!(T9_)) goto LA10_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				T9_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(46)) || ((NU8)(s_p0.p->data[i_1])) >= ((NU8)(48)) && ((NU8)(s_p0.p->data[i_1])) <= ((NU8)(57)));
LA10_: ;
				if (!T9_) goto LA8;
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_105)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_105);
			} LA8: ;
		}
		if (nimSubInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_106)) { raiseOverflow(); goto BeforeRet_;
		};
		result = substr__system_u9096(s_p0, ((NI)0), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_106));
	}
	goto LA1_;
LA5_: ;
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_107;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, endsWith__pureZstrutils_u1481)(NimStringV2 s_p0, NIM_CHAR suffix_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	T1_ = (NIM_BOOL)0;
	T1_ = (((NI)0) < s_p0.len);
	if (!(T1_)) goto LA2_;
	if ((s_p0.len-1) < 0 || (s_p0.len-1) >= s_p0.len){ raiseIndexError2((s_p0.len-1),s_p0.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)(s_p0.p->data[(s_p0.len-1)]) == (NU8)(suffix_p1));
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, extractRequirementName__basicZversions_u5078)(NimStringV2 req_p0, tyTuple__dBxVupcoYTgJDF3A9aE30Ng* Result) {
	NimStringV2 name_1;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA url_1;
	NI i_1;
	NI TM__wJ9alKPpdk23t4DUhHZkrdw_109;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyTuple__dBxVupcoYTgJDF3A9aE30Ng));
	name_1.len = 0; name_1.p = NIM_NIL;
	nimZeroMem((void*)(&url_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
	i_1 = ((NI)0);
	{
		while (1) {
			NIM_BOOL T4_;
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_108;
			T4_ = (NIM_BOOL)0;
			T4_ = (i_1 < req_p0.len);
			if (!(T4_)) goto LA5_;
			if (i_1 < 0 || i_1 >= req_p0.len){ raiseIndexError2(i_1,req_p0.len-1); goto LA1_;
			}
			T4_ = !((((NU8)(req_p0.p->data[i_1])) >= ((NU8)(9)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(13)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(35)) || ((NU8)(req_p0.p->data[i_1])) >= ((NU8)(60)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(62)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(91))));
LA5_: ;
			if (!T4_) goto LA3;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_108)) { raiseOverflow(); goto LA1_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_108);
		} LA3: ;
	}
	if (nimSubInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_109)) { raiseOverflow(); goto LA1_;
	};
	name_1 = substr__system_u9096(req_p0, ((NI)0), (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_109));
	parseUri__pureZuri_u295(name_1, (&url_1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T8_;
		NIM_BOOL T9_;
		NIM_BOOL T11_;
		tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw* T15_;
		NimStringV2 T16_;
		T8_ = (NIM_BOOL)0;
		T9_ = (NIM_BOOL)0;
		T9_ = nsuValidIdentifier(name_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = !(T9_);
		if (!(T8_)) goto LA10_;
		T11_ = (NIM_BOOL)0;
		T11_ = (url_1.scheme.len == 0);
		if (T11_) goto LA12_;
		T11_ = endsWith__pureZstrutils_u1481(url_1.path, 64);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA12_: ;
		T8_ = T11_;
LA10_: ;
		if (!T8_) goto LA13_;
		T15_ = NIM_NIL;
		T15_ = (tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw*) nimNewObj(sizeof(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw), NIM_ALIGNOF(tyObject_ValueError__YUzEEs8pGqG7cYmcRoc5rw));
		(*T15_).Sup.Sup.Sup.m_type = (&NTIv2__YUzEEs8pGqG7cYmcRoc5rw_);
		(*T15_).Sup.Sup.name = "ValueError";
		T16_.len = 0; T16_.p = NIM_NIL;
		T16_ = rawNewString(req_p0.len + 27);
appendString((&T16_), TM__wJ9alKPpdk23t4DUhHZkrdw_111);
appendString((&T16_), req_p0);
		(*T15_).Sup.Sup.message = T16_;
		(*T15_).Sup.Sup.parent = ((Exception*) NIM_NIL);
		raiseExceptionEx((Exception*)T15_, "ValueError", "extractRequirementName", "versions.nim", 406);
goto LA1_;
	}
LA13_: ;
	{
		NIM_BOOL T19_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ features_1;
		NimStringV2 colontmp_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmp__2;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_112;
		NI colontmp__3;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_116;
		NimStringV2 blitTmp_1;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ blitTmp_2;
		T19_ = (NIM_BOOL)0;
		T19_ = (i_1 < req_p0.len);
		if (!(T19_)) goto LA20_;
		if (i_1 < 0 || i_1 >= req_p0.len){ raiseIndexError2(i_1,req_p0.len-1); goto LA1_;
		}
		T19_ = ((NU8)(req_p0.p->data[i_1]) == (NU8)(91));
LA20_: ;
		if (!T19_) goto LA21_;
		features_1.len = 0; features_1.p = NIM_NIL;
		colontmp_.len = 0; colontmp_.p = NIM_NIL;
		colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
		if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_112)) { raiseOverflow(); goto LA1_;
		};
		i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_112);
		{
			while (1) {
				NIM_BOOL T25_;
				NI start_1;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_115;
				NimStringV2 T35_;
				T25_ = (NIM_BOOL)0;
				T25_ = (i_1 < req_p0.len);
				if (!(T25_)) goto LA26_;
				if (i_1 < 0 || i_1 >= req_p0.len){ raiseIndexError2(i_1,req_p0.len-1); goto LA1_;
				}
				T25_ = !((((NU8)(req_p0.p->data[i_1])) == ((NU8)(35)) || ((NU8)(req_p0.p->data[i_1])) >= ((NU8)(60)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(62)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(91)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(93))));
LA26_: ;
				if (!T25_) goto LA24;
				{
					while (1) {
						NIM_BOOL T29_;
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_113;
						T29_ = (NIM_BOOL)0;
						T29_ = (i_1 < req_p0.len);
						if (!(T29_)) goto LA30_;
						if (i_1 < 0 || i_1 >= req_p0.len){ raiseIndexError2(i_1,req_p0.len-1); goto LA1_;
						}
						T29_ = (((NU8)(req_p0.p->data[i_1])) >= ((NU8)(9)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(13)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(35)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(44)) || ((NU8)(req_p0.p->data[i_1])) >= ((NU8)(60)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(62)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(91)));
LA30_: ;
						if (!T29_) goto LA28;
						if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_113)) { raiseOverflow(); goto LA1_;
						};
						i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_113);
					} LA28: ;
				}
				start_1 = i_1;
				{
					while (1) {
						NIM_BOOL T33_;
						NI TM__wJ9alKPpdk23t4DUhHZkrdw_114;
						T33_ = (NIM_BOOL)0;
						T33_ = (i_1 < req_p0.len);
						if (!(T33_)) goto LA34_;
						if (i_1 < 0 || i_1 >= req_p0.len){ raiseIndexError2(i_1,req_p0.len-1); goto LA1_;
						}
						T33_ = !((((NU8)(req_p0.p->data[i_1])) >= ((NU8)(9)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(13)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(35)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(44)) || ((NU8)(req_p0.p->data[i_1])) >= ((NU8)(60)) && ((NU8)(req_p0.p->data[i_1])) <= ((NU8)(62)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(91)) || ((NU8)(req_p0.p->data[i_1])) == ((NU8)(93))));
LA34_: ;
						if (!T33_) goto LA32;
						if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_114)) { raiseOverflow(); goto LA1_;
						};
						i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_114);
					} LA32: ;
				}
				if (nimSubInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_115)) { raiseOverflow(); goto LA1_;
				};
				T35_.len = 0; T35_.p = NIM_NIL;
				T35_ = substr__system_u9096(req_p0, start_1, (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_115));
				add__stdZenumutils_u70((&features_1), T35_);
			} LA24: ;
		}
		colontmp_ = name_1;
		eqwasMoved___system_u2751((&name_1));
		colontmp__2 = features_1;
		if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_116)) { raiseOverflow(); goto LA1_;
		};
		colontmp__3 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_116);
		blitTmp_1 = colontmp_;
		(*Result).Field0 = blitTmp_1;
		blitTmp_2 = colontmp__2;
		(*Result).Field1 = blitTmp_2;
		(*Result).Field2 = colontmp__3;
	}
	goto LA17_;
LA21_: ;
	{
		NimStringV2 colontmp__4;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ colontmp__5;
		NI colontmp__6;
		NimStringV2 blitTmp_3;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ blitTmp_4;
		colontmp__4.len = 0; colontmp__4.p = NIM_NIL;
		colontmp__5.len = 0; colontmp__5.p = NIM_NIL;
		colontmp__4 = name_1;
		eqwasMoved___system_u2751((&name_1));
		colontmp__5.len = 0; colontmp__5.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
		colontmp__6 = i_1;
		blitTmp_3 = colontmp__4;
		(*Result).Field0 = blitTmp_3;
		blitTmp_4 = colontmp__5;
		(*Result).Field1 = blitTmp_4;
		(*Result).Field2 = colontmp__6;
	}
LA17_: ;
	{
		LA1_:;
	}
	{
		eqdestroy___pureZuri_u213((&url_1));
		if (name_1.p && !(name_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(name_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u255)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* src_p1) {
	(*dest_p0).a.r = (*src_p1).a.r;
	eqsink___system_u2760((&(*dest_p0).a.v), (*src_p1).a.v);
	(*dest_p0).b.r = (*src_p1).b.r;
	eqsink___system_u2760((&(*dest_p0).b.v), (*src_p1).b.v);
	(*dest_p0).isInterval = (*src_p1).isInterval;
}
N_LIB_PRIVATE N_NIMCALL(void, eqsink___basicZversions_u235)(tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng* dest_p0, tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng src_p1) {
	(*dest_p0).r = src_p1.r;
	eqsink___system_u2760((&(*dest_p0).v), src_p1.v);
}
N_LIB_PRIVATE N_NIMCALL(void, parseSuffix__basicZversions_u587)(NimStringV2 s_p0, NI start_p1, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* result_p2, NIM_BOOL* err_p3) {
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	i_1 = start_p1;
	{
		while (1) {
			NIM_BOOL T3_;
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_126;
			T3_ = (NIM_BOOL)0;
			T3_ = (i_1 < s_p0.len);
			if (!(T3_)) goto LA4_;
			if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
			}
			T3_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA4_: ;
			if (!T3_) goto LA2;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_126)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_126);
		} LA2: ;
	}
	{
		NIM_BOOL T7_;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_127;
		T7_ = (NIM_BOOL)0;
		T7_ = (i_1 < s_p0.len);
		if (!(T7_)) goto LA8_;
		if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
		}
		T7_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(38)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(44)));
LA8_: ;
		if (!T7_) goto LA9_;
		if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_127)) { raiseOverflow(); goto BeforeRet_;
		};
		i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_127);
		{
			while (1) {
				NIM_BOOL T13_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_128;
				T13_ = (NIM_BOOL)0;
				T13_ = (i_1 < s_p0.len);
				if (!(T13_)) goto LA14_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				T13_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA14_: ;
				if (!T13_) goto LA12;
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_128)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_128);
			} LA12: ;
		}
		{
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_129;
			tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw r_1;
			tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng T27_;
			if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
			}
			if (!((NU8)(s_p0.p->data[i_1]) == (NU8)(60))) goto LA17_;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_129)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_129);
			r_1 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3);
			{
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_130;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				if (!((NU8)(s_p0.p->data[i_1]) == (NU8)(61))) goto LA21_;
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_130)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_130);
				r_1 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2);
			}
LA21_: ;
			{
				while (1) {
					NIM_BOOL T25_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_131;
					T25_ = (NIM_BOOL)0;
					T25_ = (i_1 < s_p0.len);
					if (!(T25_)) goto LA26_;
					if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
					}
					T25_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA26_: ;
					if (!T25_) goto LA24;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_131)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_131);
				} LA24: ;
			}
			T27_.r = r_1;
			T27_.v = parseVer__basicZversions_u459(s_p0, (&i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u235((&(*result_p2).b), T27_);
			(*result_p2).isInterval = NIM_TRUE;
			{
				while (1) {
					NIM_BOOL T30_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_132;
					T30_ = (NIM_BOOL)0;
					T30_ = (i_1 < s_p0.len);
					if (!(T30_)) goto LA31_;
					if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
					}
					T30_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA31_: ;
					if (!T30_) goto LA29;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_132)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_132);
				} LA29: ;
			}
			{
				if (!(i_1 < s_p0.len)) goto LA34_;
				(*err_p3) = NIM_TRUE;
			}
LA34_: ;
		}
LA17_: ;
	}
LA9_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, parseVersionInterval__basicZversions_u649)(NimStringV2 s_p0, NI start_p1, NIM_BOOL* err_p2, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result) {
	NI i_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	i_1 = start_p1;
	{
		while (1) {
			NIM_BOOL T3_;
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_117;
			T3_ = (NIM_BOOL)0;
			T3_ = (i_1 < s_p0.len);
			if (!(T3_)) goto LA4_;
			if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
			}
			T3_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA4_: ;
			if (!T3_) goto LA2;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_117)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_117);
		} LA2: ;
	}
	nimZeroMem((void*)Result, sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	(*Result).a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5);
	(*Result).a.v = TM__wJ9alKPpdk23t4DUhHZkrdw_118;
	{
		if (!(i_1 < s_p0.len)) goto LA7_;
		if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
		}
		switch (((NU8)(s_p0.p->data[i_1]))) {
		case 42:
		{
			tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T10_;
			nimZeroMem((void*)(&T10_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
			T10_.a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5);
			T10_.a.v = TM__wJ9alKPpdk23t4DUhHZkrdw_119;
			eqsink___basicZversions_u255(Result, (&T10_));
		}
		break;
		case 35:
		case 48 ... 57:
		{
			tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T12_;
			nimZeroMem((void*)(&T12_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
			T12_.a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4);
			T12_.a.v = parseVer__basicZversions_u459(s_p0, (&i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u255(Result, (&T12_));
			(*err_p2) = (i_1 < s_p0.len);
		}
		break;
		case 61:
		{
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_120;
			tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T24_;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_120)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_120);
			{
				NIM_BOOL T16_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_121;
				T16_ = (NIM_BOOL)0;
				T16_ = (i_1 < s_p0.len);
				if (!(T16_)) goto LA17_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				T16_ = ((NU8)(s_p0.p->data[i_1]) == (NU8)(61));
LA17_: ;
				if (!T16_) goto LA18_;
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_121)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_121);
			}
LA18_: ;
			{
				while (1) {
					NIM_BOOL T22_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_122;
					T22_ = (NIM_BOOL)0;
					T22_ = (i_1 < s_p0.len);
					if (!(T22_)) goto LA23_;
					if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
					}
					T22_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA23_: ;
					if (!T22_) goto LA21;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_122)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_122);
				} LA21: ;
			}
			nimZeroMem((void*)(&T24_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
			T24_.a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4);
			T24_.a.v = parseVer__basicZversions_u459(s_p0, (&i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u255(Result, (&T24_));
			(*err_p2) = (i_1 < s_p0.len);
		}
		break;
		case 60:
		{
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_123;
			tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw r_1;
			tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T36_;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_123)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_123);
			r_1 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3);
			{
				NIM_BOOL T28_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_124;
				T28_ = (NIM_BOOL)0;
				T28_ = (i_1 < s_p0.len);
				if (!(T28_)) goto LA29_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				T28_ = ((NU8)(s_p0.p->data[i_1]) == (NU8)(61));
LA29_: ;
				if (!T28_) goto LA30_;
				r_1 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2);
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_124)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_124);
			}
LA30_: ;
			{
				while (1) {
					NIM_BOOL T34_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_125;
					T34_ = (NIM_BOOL)0;
					T34_ = (i_1 < s_p0.len);
					if (!(T34_)) goto LA35_;
					if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
					}
					T34_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA35_: ;
					if (!T34_) goto LA33;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_125)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_125);
				} LA33: ;
			}
			nimZeroMem((void*)(&T36_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
			T36_.a.r = r_1;
			T36_.a.v = parseVer__basicZversions_u459(s_p0, (&i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u255(Result, (&T36_));
			parseSuffix__basicZversions_u587(s_p0, i_1, Result, err_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case 62:
		{
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_133;
			tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw r_2;
			tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T48_;
			if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_133)) { raiseOverflow(); goto BeforeRet_;
			};
			i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_133);
			r_2 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1);
			{
				NIM_BOOL T40_;
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_134;
				T40_ = (NIM_BOOL)0;
				T40_ = (i_1 < s_p0.len);
				if (!(T40_)) goto LA41_;
				if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
				}
				T40_ = ((NU8)(s_p0.p->data[i_1]) == (NU8)(61));
LA41_: ;
				if (!T40_) goto LA42_;
				r_2 = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0);
				if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_134)) { raiseOverflow(); goto BeforeRet_;
				};
				i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_134);
			}
LA42_: ;
			{
				while (1) {
					NIM_BOOL T46_;
					NI TM__wJ9alKPpdk23t4DUhHZkrdw_135;
					T46_ = (NIM_BOOL)0;
					T46_ = (i_1 < s_p0.len);
					if (!(T46_)) goto LA47_;
					if (i_1 < 0 || i_1 >= s_p0.len){ raiseIndexError2(i_1,s_p0.len-1); goto BeforeRet_;
					}
					T46_ = (((NU8)(s_p0.p->data[i_1])) == ((NU8)(32)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(9)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(11)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(13)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(10)) || ((NU8)(s_p0.p->data[i_1])) == ((NU8)(12)));
LA47_: ;
					if (!T46_) goto LA45;
					if (nimAddInt(i_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_135)) { raiseOverflow(); goto BeforeRet_;
					};
					i_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_135);
				} LA45: ;
			}
			nimZeroMem((void*)(&T48_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
			T48_.a.r = r_2;
			T48_.a.v = parseVer__basicZversions_u459(s_p0, (&i_1));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u255(Result, (&T48_));
			parseSuffix__basicZversions_u587(s_p0, i_1, Result, err_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default:
		{
			(*err_p2) = NIM_TRUE;
		}
		break;
		}
	}
	goto LA5_;
LA7_: ;
	{
		tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA T51_;
		nimZeroMem((void*)(&T51_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
		T51_.a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5);
		T51_.a.v = TM__wJ9alKPpdk23t4DUhHZkrdw_136;
		eqsink___basicZversions_u255(Result, (&T51_));
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, extractGeQuery__basicZversions_u266)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* i_p0) {
	NimStringV2 result;
	result.len = 0; result.p = NIM_NIL;
	{
		if (!((*i_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0) || (*i_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1) || (*i_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4))) goto LA3_;
		eqcopy___system_u2754((&result), (*i_p0).a.v);
	}
	goto LA1_;
LA3_: ;
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_137;
	}
LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZversions_u243)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0) {
	(*dest_p0).a.r = 0;
	(*dest_p0).a.v.len = 0; (*dest_p0).a.v.p = NIM_NIL;
	(*dest_p0).b.r = 0;
	(*dest_p0).b.v.len = 0; (*dest_p0).b.v.p = NIM_NIL;
	(*dest_p0).isInterval = 0;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u246)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0) {
	if ((*dest_p0).b.v.p && !((*dest_p0).b.v.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).b.v.p);
}
	if ((*dest_p0).a.v.p && !((*dest_p0).a.v.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).a.v.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u5159)(tyTuple__dBxVupcoYTgJDF3A9aE30Ng* dest_p0) {
	if ((*dest_p0).Field0.p && !((*dest_p0).Field0.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).Field0.p);
}
	eqdestroy___system_u5582((*dest_p0).Field1);
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, extractSpecificCommit__basicZversions_u5180)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* pattern_p0) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	{
		NIM_BOOL T3_;
		NIM_BOOL T4_;
		NimStringV2 colontmpD_;
		T3_ = (NIM_BOOL)0;
		T4_ = (NIM_BOOL)0;
		T4_ = !((*pattern_p0).isInterval);
		if (!(T4_)) goto LA5_;
		T4_ = ((*pattern_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4));
LA5_: ;
		T3_ = T4_;
		if (!(T3_)) goto LA6_;
		T3_ = isSpecial__basicZversions_u274((*pattern_p0).a.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA6_: ;
		if (!T3_) goto LA7_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = substr__system_u9109((*pattern_p0).a.v, ((NI)1));
		result = initCommitHash__basicZversions_u85(colontmpD_, ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
	goto LA1_;
LA7_: ;
	{
		result = initCommitHash__basicZversions_u85(TM__wJ9alKPpdk23t4DUhHZkrdw_138, ((tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww)4));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u3512)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* dest_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* src_p1) {
	eqcopy___system_u2754((&(*dest_p0).c.h), (*src_p1).c.h);
	(*dest_p0).c.orig = (*src_p1).c.orig;
	eqcopy___system_u2754((&(*dest_p0).v), (*src_p1).v);
	(*dest_p0).isTip = (*src_p1).isTip;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u5238)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* i_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		NimStringV2 colontmpD_;
		NimStringV2 colontmpD__2;
		NimStringV2 colontmpD__3;
		NimStringV2 colontmpD__4;
		NimStringV2 T5_;
		NimStringV2 T13_;
		NimStringV2 T21_;
		if (!(*i_p0).isInterval) goto LA3_;
		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;
		T5_.len = 0; T5_.p = NIM_NIL;
		switch ((*i_p0).a.r) {
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_140;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_142;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_144;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_146;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_148;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_149;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)6):
		{
			result = TM__wJ9alKPpdk23t4DUhHZkrdw_151;
		}
		break;
		default: __builtin_unreachable();
		}
		T13_.len = 0; T13_.p = NIM_NIL;
		colontmpD_ = dollar___basicZversions_u52((*i_p0).a.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T13_ = rawNewString(colontmpD_.len + 1);
appendString((&T13_), TM__wJ9alKPpdk23t4DUhHZkrdw_153);
appendString((&T13_), colontmpD_);
		colontmpD__2 = T13_;
		prepareAdd((&result), colontmpD__2.len + 0);
appendString((&result), colontmpD__2);
		prepareAdd((&result), 3);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_155);
		switch ((*i_p0).b.r) {
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0):
		{
			prepareAdd((&result), 2);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_156);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1):
		{
			prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_157);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2):
		{
			prepareAdd((&result), 2);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_158);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3):
		{
			prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_159);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4):
		{
			prepareAdd((&result), 2);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_160);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5):
		{
			prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_161);
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)6):
		{
			prepareAdd((&result), 1);
appendString((&result), TM__wJ9alKPpdk23t4DUhHZkrdw_162);
		}
		break;
		default: __builtin_unreachable();
		}
		T21_.len = 0; T21_.p = NIM_NIL;
		colontmpD__3 = dollar___basicZversions_u52((*i_p0).b.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T21_ = rawNewString(colontmpD__3.len + 1);
appendString((&T21_), TM__wJ9alKPpdk23t4DUhHZkrdw_163);
appendString((&T21_), colontmpD__3);
		colontmpD__4 = T21_;
		prepareAdd((&result), colontmpD__4.len + 0);
appendString((&result), colontmpD__4);
		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 (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);
}
	}
	goto LA1_;
LA3_: ;
	{
		switch ((*i_p0).a.r) {
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5):
		{
			{
				if (!eqStrings((*i_p0).a.v, TM__wJ9alKPpdk23t4DUhHZkrdw_164)) goto LA26_;
				result = TM__wJ9alKPpdk23t4DUhHZkrdw_165;
			}
			goto LA24_;
LA26_: ;
			{
				result = TM__wJ9alKPpdk23t4DUhHZkrdw_166;
			}
LA24_: ;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4):
		{
			{
				NIM_BOOL T32_;
				T32_ = (NIM_BOOL)0;
				T32_ = isSpecial__basicZversions_u274((*i_p0).a.v);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T32_) goto LA33_;
				result = dollar___basicZversions_u52((*i_p0).a.v);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA30_;
LA33_: ;
			{
				result = dollar___basicZversions_u52((*i_p0).a.v);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
LA30_: ;
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0):
		{
			NimStringV2 colontmpD__5;
			NimStringV2 T37_;
			colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
			T37_.len = 0; T37_.p = NIM_NIL;
			colontmpD__5 = dollar___basicZversions_u52((*i_p0).a.v);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T37_ = rawNewString(colontmpD__5.len + 3);
appendString((&T37_), TM__wJ9alKPpdk23t4DUhHZkrdw_168);
appendString((&T37_), colontmpD__5);
			result = T37_;
			if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1):
		{
			NimStringV2 colontmpD__6;
			NimStringV2 T39_;
			colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
			T39_.len = 0; T39_.p = NIM_NIL;
			colontmpD__6 = dollar___basicZversions_u52((*i_p0).a.v);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T39_ = rawNewString(colontmpD__6.len + 2);
appendString((&T39_), TM__wJ9alKPpdk23t4DUhHZkrdw_170);
appendString((&T39_), colontmpD__6);
			result = T39_;
			if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2):
		{
			NimStringV2 colontmpD__7;
			NimStringV2 T41_;
			colontmpD__7.len = 0; colontmpD__7.p = NIM_NIL;
			T41_.len = 0; T41_.p = NIM_NIL;
			colontmpD__7 = dollar___basicZversions_u52((*i_p0).a.v);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T41_ = rawNewString(colontmpD__7.len + 3);
appendString((&T41_), TM__wJ9alKPpdk23t4DUhHZkrdw_172);
appendString((&T41_), colontmpD__7);
			result = T41_;
			if (colontmpD__7.p && !(colontmpD__7.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__7.p);
}
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3):
		{
			NimStringV2 colontmpD__8;
			NimStringV2 T43_;
			colontmpD__8.len = 0; colontmpD__8.p = NIM_NIL;
			T43_.len = 0; T43_.p = NIM_NIL;
			colontmpD__8 = dollar___basicZversions_u52((*i_p0).a.v);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T43_ = rawNewString(colontmpD__8.len + 2);
appendString((&T43_), TM__wJ9alKPpdk23t4DUhHZkrdw_174);
appendString((&T43_), colontmpD__8);
			result = T43_;
			if (colontmpD__8.p && !(colontmpD__8.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__8.p);
}
		}
		break;
		case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)6):
		{
			result = dollar___basicZversions_u52((*i_p0).a.v);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		default: __builtin_unreachable();
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isFull__basicZversions_u136)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NIM_BOOL result;
	result = (c_p0.h.len == ((NI)40));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, sortVersionsDesc__basicZversions_u367)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1) {
	NI result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = lt___basicZversions_u325((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		result = ((NI)1);
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = eqeq___basicZversions_u359((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T8_) goto LA9_;
		result = ((NI)0);
	}
	goto LA2_;
LA9_: ;
	{
		result = ((NI)-1);
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, sortVersionsAsc__basicZversions_u363)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* a_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* b_p1) {
	NI result;
	NI T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (NI)0;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = lt___basicZversions_u325((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T4_) goto LA5_;
		result = ((NI)-1);
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = eqeq___basicZversions_u359((*a_p0).v, (*b_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T8_) goto LA9_;
		result = ((NI)0);
	}
	goto LA2_;
LA9_: ;
	{
		result = ((NI)1);
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, startsWith__pureZstrutils_u1461)(NimStringV2 s_p0, NIM_CHAR prefix_p1) {
	NIM_BOOL result;
	NIM_BOOL T1_;
{	T1_ = (NIM_BOOL)0;
	T1_ = (((NI)0) < s_p0.len);
	if (!(T1_)) goto LA2_;
	if (((NI)0) < 0 || ((NI)0) >= s_p0.len){ raiseIndexError2(((NI)0),s_p0.len-1); goto BeforeRet_;
	}
	T1_ = ((NU8)(s_p0.p->data[((NI)0)]) == (NU8)(prefix_p1));
LA2_: ;
	result = T1_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__basicZversions_u5070)(tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng pattern_p0, NimStringV2 v_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	switch (pattern_p0.r) {
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0):
	{
		NIM_BOOL T2_;
		T2_ = (NIM_BOOL)0;
		T2_ = lt___basicZversions_u325(pattern_p0.v, v_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T2_) goto LA3_;
		T2_ = eqeq___basicZversions_u359(pattern_p0.v, v_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA3_: ;
		result = T2_;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1):
	{
		result = lt___basicZversions_u325(pattern_p0.v, v_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)2):
	{
		NIM_BOOL T6_;
		T6_ = (NIM_BOOL)0;
		T6_ = lt___basicZversions_u325(v_p1, pattern_p0.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (T6_) goto LA7_;
		T6_ = eqeq___basicZversions_u359(pattern_p0.v, v_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA7_: ;
		result = T6_;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3):
	{
		result = lt___basicZversions_u325(v_p1, pattern_p0.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4):
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)6):
	{
		{
			NIM_BOOL T12_;
			T12_ = (NIM_BOOL)0;
			T12_ = startsWith__pureZstrutils_u1461(pattern_p0.v, 35);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T12_) goto LA13_;
			{
				NIM_BOOL T17_;
				T17_ = (NIM_BOOL)0;
				T17_ = startsWith__pureZstrutils_u1461(v_p1, 35);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T17_) goto LA18_;
				result = eqeq___basicZversions_u359(pattern_p0.v, v_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA15_;
LA18_: ;
			{
				NimStringV2 colontmpD_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD_ = substr__system_u9109(pattern_p0.v, ((NI)1));
				result = eqStrings(colontmpD_, v_p1);
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
LA15_: ;
		}
		goto LA10_;
LA13_: ;
		{
			NIM_BOOL T22_;
			NimStringV2 colontmpD__2;
			T22_ = (NIM_BOOL)0;
			T22_ = startsWith__pureZstrutils_u1461(v_p1, 35);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T22_) goto LA23_;
			colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
			colontmpD__2 = substr__system_u9109(v_p1, ((NI)1));
			result = eqStrings(pattern_p0.v, colontmpD__2);
			if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
		}
		goto LA10_;
LA23_: ;
		{
			result = eqeq___basicZversions_u359(pattern_p0.v, v_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA10_: ;
	}
	break;
	case ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)5):
	{
		result = NIM_TRUE;
	}
	break;
	default: __builtin_unreachable();
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, matches__basicZversions_u5187)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* pattern_p0, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* x_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T5_;
		if (!(*pattern_p0).isInterval) goto LA3_;
		T5_ = (NIM_BOOL)0;
		T5_ = matches__basicZversions_u5070((*pattern_p0).a, (*x_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T5_)) goto LA6_;
		T5_ = matches__basicZversions_u5070((*pattern_p0).b, (*x_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA6_: ;
		result = T5_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		NIM_BOOL T9_;
		T9_ = (NIM_BOOL)0;
		T9_ = ((*pattern_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4));
		if (!(T9_)) goto LA10_;
		T9_ = isHead__basicZversions_u288((*pattern_p0).a.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA10_: ;
		if (!T9_) goto LA11_;
		result = (*x_p1).isTip;
		goto BeforeRet_;
	}
LA11_: ;
	{
		NIM_BOOL T15_;
		NIM_BOOL T16_;
		NIM_BOOL T17_;
		NimStringV2 colontmpD_;
		T15_ = (NIM_BOOL)0;
		T16_ = (NIM_BOOL)0;
		T17_ = (NIM_BOOL)0;
		T17_ = !(result);
		if (!(T17_)) goto LA18_;
		T17_ = ((*pattern_p0).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4));
LA18_: ;
		T16_ = T17_;
		if (!(T16_)) goto LA19_;
		T16_ = isSpecial__basicZversions_u274((*pattern_p0).a.v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA19_: ;
		T15_ = T16_;
		if (!(T15_)) goto LA20_;
		T15_ = (((NI)6) <= (*pattern_p0).a.v.len);
LA20_: ;
		if (!T15_) goto LA21_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		colontmpD_ = substr__system_u9109((*pattern_p0).a.v, ((NI)1));
		result = nsuStartsWith((*x_p1).c.h, colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
LA21_: ;
	{
		if (!!(result)) goto LA25_;
		result = matches__basicZversions_u5070((*pattern_p0).a, (*x_p1).v);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA25_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, toVersion__basicZversions_u5241)(NimStringV2 str_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	{
		if (!eqStrings(str_p0, TM__wJ9alKPpdk23t4DUhHZkrdw_178)) goto LA3_;
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_179;
	}
	goto LA1_;
LA3_: ;
	{
		result = parseVersion__basicZversions_u546(str_p0, ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, toCommitHash__basicZversions_u5244)(NimStringV2 str_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	{
		if (!eqStrings(str_p0, TM__wJ9alKPpdk23t4DUhHZkrdw_180)) goto LA3_;
		result = initCommitHash__basicZversions_u85(TM__wJ9alKPpdk23t4DUhHZkrdw_181, origin_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = initCommitHash__basicZversions_u85(str_p0, origin_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, toVersionTag__basicZversions_u5248)(NimStringV2 str_p0, tyEnum_CommitOrigin__tDM8mWEQT3dZtKoOj7Mgww origin_p1, tyObject_VersionTag__io9bcihbopiwucKorobyKdg* Result) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ res_1;
	NimStringV2 T8_;
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_VersionTag__io9bcihbopiwucKorobyKdg));
	res_1.len = 0; res_1.p = NIM_NIL;
	res_1 = nsuSplitString(str_p0, TM__wJ9alKPpdk23t4DUhHZkrdw_175, ((NI)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T4_;
		NimStringV2 colontmpD_;
		NimStringV2 T7_;
		T4_ = res_1.len;
		if (!!((T4_ == ((NI)2)))) goto LA5_;
		colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
		T7_.len = 0; T7_.p = NIM_NIL;
		T7_ = rawNewString(str_p0.len + 93);
appendString((&T7_), TM__wJ9alKPpdk23t4DUhHZkrdw_177);
appendString((&T7_), str_p0);
		colontmpD_ = T7_;
		failedAssertImpl__stdZassertions_u95(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}
LA5_: ;
	if (((NI)0) < 0 || ((NI)0) >= res_1.len){ raiseIndexError2(((NI)0),res_1.len-1); goto LA1_;
	}
	T8_.len = 0; T8_.p = NIM_NIL;
	T8_ = toVersion__basicZversions_u5241(res_1.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T8_); goto LA1_;}
	eqsink___system_u2760((&(*Result).v), T8_);
	if (((NI)1) < 0 || ((NI)1) >= res_1.len){ raiseIndexError2(((NI)1),res_1.len-1); goto LA1_;
	}
	T9_ = toCommitHash__basicZversions_u5244(res_1.p->data[((NI)1)], origin_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___basicZversions_u111(&T9_); goto LA1_;}
	eqsink___basicZversions_u120((&(*Result).c), T9_);
	{
		LA1_:;
	}
	{
		eqdestroy___system_u5582(res_1);
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isShort__basicZversions_u139)(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA c_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (((NI)5) < c_p0.h.len);
	if (!(T1_)) goto LA2_;
	T1_ = (c_p0.h.len < ((NI)12));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZversions_u34)(tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw)0):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_183;
	}
	break;
	case ((tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw)1):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_185;
	}
	break;
	case ((tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw)2):
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_187;
	}
	break;
	default:
	{
		result = TM__wJ9alKPpdk23t4DUhHZkrdw_188;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, createQueryEq__basicZversions_u201)(NimStringV2 v_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result) {
	NimStringV2 colontmpD_;
	nimZeroMem((void*)Result, sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	(*Result).a.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)4);
	colontmpD_ = eqdup___system_u2757(v_p0);
	(*Result).a.v = colontmpD_;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, selectBestCommitMinVer__basicZversions_u5199)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* data_p0, NI data_p0Len_0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* elem_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	{
		NI i_1;
		NI colontmp_;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_189;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		if (nimSubInt(data_p0Len_0, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_189)) { raiseOverflow(); goto BeforeRet_;
		};
		colontmp_ = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_189);
		res_1 = colontmp_;
		{
			while (1) {
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_190;
				if (!(((NI)0) <= res_1)) goto LA3;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T6_;
					if (i_1 < 0 || i_1 >= data_p0Len_0){ raiseIndexError2(i_1,data_p0Len_0-1); goto BeforeRet_;
					}
					T6_ = (NIM_BOOL)0;
					T6_ = matches__basicZversions_u5187(elem_p1, (&data_p0[i_1]));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T6_) goto LA7_;
					if (i_1 < 0 || i_1 >= data_p0Len_0){ raiseIndexError2(i_1,data_p0Len_0-1); goto BeforeRet_;
					}
					eqcopy___basicZversions_u114((&result), data_p0[i_1].c);
					goto BeforeRet_;
				}
LA7_: ;
				if (nimSubInt(res_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_190)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_190);
			} LA3: ;
		}
	}
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	result.h = TM__wJ9alKPpdk23t4DUhHZkrdw_191;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, selectBestCommitMaxVer__basicZversions_u5212)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* data_p0, NI data_p0Len_0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* elem_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	{
		NI i_1;
		NI colontmp_;
		NI TM__wJ9alKPpdk23t4DUhHZkrdw_192;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		if (nimSubInt(data_p0Len_0, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_192)) { raiseOverflow(); goto BeforeRet_;
		};
		colontmp_ = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_192);
		res_1 = ((NI)0);
		{
			while (1) {
				NI TM__wJ9alKPpdk23t4DUhHZkrdw_193;
				if (!(res_1 <= colontmp_)) goto LA3;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T6_;
					if (i_1 < 0 || i_1 >= data_p0Len_0){ raiseIndexError2(i_1,data_p0Len_0-1); goto BeforeRet_;
					}
					T6_ = (NIM_BOOL)0;
					T6_ = matches__basicZversions_u5187(elem_p1, (&data_p0[i_1]));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T6_) goto LA7_;
					if (i_1 < 0 || i_1 >= data_p0Len_0){ raiseIndexError2(i_1,data_p0Len_0-1); goto BeforeRet_;
					}
					eqcopy___basicZversions_u114((&result), data_p0[i_1].c);
					goto BeforeRet_;
				}
LA7_: ;
				if (nimAddInt(res_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_193)) { raiseOverflow(); goto BeforeRet_;
				};
				res_1 = (NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_193);
			} LA3: ;
		}
	}
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	result.h = TM__wJ9alKPpdk23t4DUhHZkrdw_194;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___basicZversions_u249)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* dest_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* src_p1) {
	(*dest_p0).a.r = (*src_p1).a.r;
	eqcopy___system_u2754((&(*dest_p0).a.v), (*src_p1).a.v);
	(*dest_p0).b.r = (*src_p1).b.r;
	eqcopy___system_u2754((&(*dest_p0).b.v), (*src_p1).b.v);
	(*dest_p0).isInterval = (*src_p1).isInterval;
}
N_LIB_PRIVATE N_NIMCALL(void, toSemVer__basicZversions_u5225)(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* i_p0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* Result) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)Result, sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	eqcopy___basicZversions_u249(Result, i_p0);
	{
		NIM_BOOL T3_;
		NI major_1;
		NI l1_1;
		T3_ = (NIM_BOOL)0;
		T3_ = !((*Result).isInterval);
		if (!(T3_)) goto LA4_;
		T3_ = ((*Result).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)0) || (*Result).a.r == ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)1));
LA4_: ;
		if (!T3_) goto LA5_;
		major_1 = ((NI)0);
		l1_1 = parseSaturatedNatural__pureZparseutils_u986((*Result).a.v, (&major_1), ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_VersionReq__eFOT6plIfXH54d8sBkqpng T11_;
			NI TM__wJ9alKPpdk23t4DUhHZkrdw_195;
			if (!(((NI)0) < l1_1)) goto LA9_;
			(*Result).isInterval = NIM_TRUE;
			T11_.r = ((tyEnum_VersionRelation__4XquEtylWSi3MRH9c7xlRFw)3);
			if (nimAddInt(major_1, ((NI)1), &TM__wJ9alKPpdk23t4DUhHZkrdw_195)) { raiseOverflow(); goto BeforeRet_;
			};
			T11_.v = dollar___systemZdollars_u14((NI)(TM__wJ9alKPpdk23t4DUhHZkrdw_195));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqsink___basicZversions_u235((&(*Result).b), T11_);
		}
LA9_: ;
	}
LA5_: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA, selectBestCommitSemVer__basicZversions_u5234)(tyObject_VersionTag__io9bcihbopiwucKorobyKdg* data_p0, NI data_p0Len_0, tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA* elem_p1) {
	tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA result;
	tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_CommitHash__ENSoVMeDKmDIP8obk69cDaA));
	nimZeroMem((void*)(&colontmpD_), sizeof(tyObject_VersionInterval__Fo18dECYIXwkOygWPnb8YA));
	toSemVer__basicZversions_u5225(elem_p1, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = selectBestCommitMaxVer__basicZversions_u5212(data_p0, data_p0Len_0, (&colontmpD_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___basicZversions_u246((&colontmpD_));
	}BeforeRet_: ;
	return result;
}
