/* Generated by Nim Compiler v2.2.10 */
#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 tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw;
typedef struct tyTuple__FFspgHRWev9aDuj0fEpj9bUw tyTuple__FFspgHRWev9aDuj0fEpj9bUw;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
typedef struct tyTuple__JqV0huqZNAHtnE3agKOyZg tyTuple__JqV0huqZNAHtnE3agKOyZg;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw {
	NU64 Field0;
	NU64 Field1;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
struct tyTuple__FFspgHRWev9aDuj0fEpj9bUw {
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA Field0;
	NI Field1;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
	NI Field0;
	NI Field1;
	NI Field2;
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
struct tyTuple__JqV0huqZNAHtnE3agKOyZg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
};
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
static N_INLINE(NU64, hashFarm__pureZhashes_u511)(NU8* s_p0, NI s_p0Len_0);
static N_INLINE(NU64, len016__pureZhashes_u365)(NU8* s_p0, NI s_p0Len_0);
static N_INLINE(NU64, lenU__pureZhashes_u325)(NU8* s_p0, NI s_p0Len_0);
static N_INLINE(NU64, load8__pureZhashes_u249)(NU8* s_p0, NI s_p0Len_0, NI o_p1);
static N_INLINE(void, littleEndian64__pureZendians_u69)(void* outp_p0, void* inp_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NU64, rotR__pureZhashes_u338)(NU64 v_p0, int bits_p1);
static N_INLINE(NU64, len16__pureZhashes_u350)(NU64 u_p0, NU64 v_p1, NU64 mul_p2);
static N_INLINE(NU32, load4__pureZhashes_u245)(NU8* s_p0, NI s_p0Len_0, NI o_p1);
static N_INLINE(void, littleEndian32__pureZendians_u72)(void* outp_p0, void* inp_p1);
static N_INLINE(NU64, shiftMix__pureZhashes_u331)(NU64 v_p0);
static N_INLINE(NU64, len1732__pureZhashes_u417)(NU8* s_p0, NI s_p0Len_0);
static N_INLINE(NU64, len3364__pureZhashes_u431)(NU8* s_p0, NI s_p0Len_0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
static N_INLINE(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw, weakLen32withSeeds__pureZhashes_u485)(NU8* s_p0, NI s_p0Len_0, NI o_p1, NU64 a_p2, NU64 b_p3);
static N_INLINE(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw, weakLen32withSeeds2__pureZhashes_u462)(NU64 w_p0, NU64 x_p1, NU64 y_p2, NU64 z_p3, NU64 a_p4, NU64 b_p5);
static N_INLINE(NI, emarkamp___pureZhashes_u5)(NI h_p0, NI val_p1);
static N_INLINE(NI, emarkdollar___pureZhashes_u20)(NI h_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hash__lineinfos_u261)(tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA i_p0);
static N_INLINE(NI, hash__pureZhashes_u132)(NI x_p0);
static N_INLINE(NI, hashWangYi1__pureZhashes_u140)(NU64 x_p0);
static N_INLINE(NU64, hiXorLo__pureZhashes_u81)(NU64 a_p0, NU64 b_p1);
N_LIB_PRIVATE N_NIMCALL(NI, hash__ast_u621)(tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA x_p0);
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_u587)(NimStringV2 x_p0);
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NU64, lenU__pureZhashes_u325)(NU8* s_p0, NI s_p0Len_0) {
	NU64 result;
	result = ((NU64) (s_p0Len_0));
	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_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, littleEndian64__pureZendians_u69)(void* outp_p0, void* inp_p1) {
	copyMem__system_u1742(outp_p0, inp_p1, ((NI)8));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
static N_INLINE(NU64, load8__pureZhashes_u249)(NU8* s_p0, NI s_p0Len_0, NI o_p1) {
	NU64 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU64)0;
	result = 0ULL;
	littleEndian64__pureZendians_u69(((void*) ((&result))), ((void*) ((&s_p0[o_p1]))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, rotR__pureZhashes_u338)(NU64 v_p0, int bits_p1) {
	NU64 result;
	result = (NU64)((NU64)((NU64)(v_p0) >> (NU64)(bits_p1 & (64 - 1))) | (NU64)((NU64)(v_p0) << (NU64)((NI32)(((NI32)64) - bits_p1) & (64 - 1))));
	return result;
}
static N_INLINE(NU64, len16__pureZhashes_u350)(NU64 u_p0, NU64 v_p1, NU64 mul_p2) {
	NU64 result;
	NU64 a_1;
	NU64 b_1;
	a_1 = (NU64)((NU64)((NU64)(u_p0 ^ v_p1)) * (NU64)(mul_p2));
	a_1 = (NU64)(a_1 ^ (NU64)((NU64)(a_1) >> (NU64)(((NI)47) & (64 - 1))));
	b_1 = (NU64)((NU64)((NU64)(v_p1 ^ a_1)) * (NU64)(mul_p2));
	b_1 = (NU64)(b_1 ^ (NU64)((NU64)(b_1) >> (NU64)(((NI)47) & (64 - 1))));
	result = (NU64)((NU64)(b_1) * (NU64)(mul_p2));
	return result;
}
static N_INLINE(void, littleEndian32__pureZendians_u72)(void* outp_p0, void* inp_p1) {
	copyMem__system_u1742(outp_p0, inp_p1, ((NI)4));
}
static N_INLINE(NU32, load4__pureZhashes_u245)(NU8* s_p0, NI s_p0Len_0, NI o_p1) {
	NU32 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU32)0;
	result = ((NU32)0);
	littleEndian32__pureZendians_u72(((void*) ((&result))), ((void*) ((&s_p0[o_p1]))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, shiftMix__pureZhashes_u331)(NU64 v_p0) {
	NU64 result;
	result = (NU64)(v_p0 ^ (NU64)((NU64)(v_p0) >> (NU64)(((NI)47) & (64 - 1))));
	return result;
}
static N_INLINE(NU64, len016__pureZhashes_u365)(NU8* s_p0, NI s_p0Len_0) {
	NU64 result;
	NU64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU64)0;
	T1_ = (NU64)0;
	{
		NU64 mul_1;
		NU64 T6_;
		NU64 a_1;
		NU64 T7_;
		NU64 b_1;
		NU64 c_1;
		NU64 T8_;
		NU64 d_1;
		NU64 T9_;
		if (!(((NI)8) <= s_p0Len_0)) goto LA4_;
		T6_ = (NU64)0;
		T6_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		mul_1 = (NU64)((NU64)(11160318154034397263ULL) + (NU64)((NU64)((NU64)(2ULL) * (NU64)(T6_))));
		T7_ = (NU64)0;
		T7_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		a_1 = (NU64)((NU64)(T7_) + (NU64)(11160318154034397263ULL));
		b_1 = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)8)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T8_ = (NU64)0;
		T8_ = rotR__pureZhashes_u338(b_1, ((int)37));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		c_1 = (NU64)((NU64)((NU64)((NU64)(T8_) * (NU64)(mul_1))) + (NU64)(a_1));
		T9_ = (NU64)0;
		T9_ = rotR__pureZhashes_u338(a_1, ((int)25));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		d_1 = (NU64)((NU64)((NU64)((NU64)(T9_) + (NU64)(b_1))) * (NU64)(mul_1));
		result = len16__pureZhashes_u350(c_1, d_1, mul_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA4_: ;
	{
		NU64 mul_2;
		NU64 T13_;
		NU64 a_2;
		NU32 T14_;
		NU64 T15_;
		NU32 T16_;
		if (!(((NI)4) <= s_p0Len_0)) goto LA11_;
		T13_ = (NU64)0;
		T13_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		mul_2 = (NU64)((NU64)(11160318154034397263ULL) + (NU64)((NU64)((NU64)(2ULL) * (NU64)(T13_))));
		T14_ = (NU32)0;
		T14_ = load4__pureZhashes_u245(s_p0, s_p0Len_0, ((NI)0));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		a_2 = ((NU64) (T14_));
		T15_ = (NU64)0;
		T15_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T16_ = (NU32)0;
		T16_ = load4__pureZhashes_u245(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)4)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = len16__pureZhashes_u350((NU64)((NU64)(T15_) + (NU64)((NU64)((NU64)(a_2) << (NU64)(((NI)3) & (64 - 1))))), ((NU64) (T16_)), mul_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA2_;
LA11_: ;
	{
		NU32 a_3;
		NU32 b_2;
		NU32 c_2;
		NU32 y_1;
		NU64 z_1;
		NU64 T20_;
		NU64 T21_;
		if (!(((NI)0) < s_p0Len_0)) goto LA18_;
		a_3 = ((NU32) (s_p0[((NI)0)]));
		b_2 = ((NU32) (s_p0[(NI)((NI64)(s_p0Len_0) >> (NU64)(((NI)1) & (64 - 1)))]));
		c_2 = ((NU32) (s_p0[(NI)(s_p0Len_0 - ((NI)1))]));
		y_1 = (NU32)((NU32)(a_3) + (NU32)((NU32)((NU64)(b_2) << (NU64)(((NI)8) & (32 - 1)))));
		T20_ = (NU64)0;
		T20_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		z_1 = (NU64)((NU64)(T20_) + (NU64)(((NU64) ((NU32)((NU64)(c_2) << (NU64)(((NI)2) & (32 - 1)))))));
		T21_ = (NU64)0;
		T21_ = shiftMix__pureZhashes_u331((NU64)((NU64)((NU64)(((NU64) (y_1))) * (NU64)(11160318154034397263ULL)) ^ (NU64)((NU64)(z_1) * (NU64)(14097894508562428199ULL))));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = (NU64)((NU64)(T21_) * (NU64)(11160318154034397263ULL));
	}
	goto LA2_;
LA18_: ;
	{
		result = 11160318154034397263ULL;
	}
LA2_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, len1732__pureZhashes_u417)(NU8* s_p0, NI s_p0Len_0) {
	NU64 result;
	NU64 mul_1;
	NU64 T1_;
	NU64 a_1;
	NU64 T2_;
	NU64 b_1;
	NU64 c_1;
	NU64 T3_;
	NU64 d_1;
	NU64 T4_;
	NU64 T5_;
	NU64 T6_;
	NU64 T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU64)0;
	T1_ = (NU64)0;
	T1_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	mul_1 = (NU64)((NU64)(11160318154034397263ULL) + (NU64)((NU64)((NU64)(2ULL) * (NU64)(T1_))));
	T2_ = (NU64)0;
	T2_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	a_1 = (NU64)((NU64)(T2_) * (NU64)(13011662864482103923ULL));
	b_1 = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)8));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (NU64)0;
	T3_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)8)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	c_1 = (NU64)((NU64)(T3_) * (NU64)(mul_1));
	T4_ = (NU64)0;
	T4_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)16)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	d_1 = (NU64)((NU64)(T4_) * (NU64)(11160318154034397263ULL));
	T5_ = (NU64)0;
	T5_ = rotR__pureZhashes_u338((NU64)((NU64)(a_1) + (NU64)(b_1)), ((int)43));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = (NU64)0;
	T6_ = rotR__pureZhashes_u338(c_1, ((int)30));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_ = (NU64)0;
	T7_ = rotR__pureZhashes_u338((NU64)((NU64)(b_1) + (NU64)(11160318154034397263ULL)), ((int)18));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = len16__pureZhashes_u350((NU64)((NU64)((NU64)((NU64)(T5_) + (NU64)(T6_))) + (NU64)(d_1)), (NU64)((NU64)((NU64)((NU64)(a_1) + (NU64)(T7_))) + (NU64)(c_1)), mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, len3364__pureZhashes_u431)(NU8* s_p0, NI s_p0Len_0) {
	NU64 result;
	NU64 mul_1;
	NU64 T1_;
	NU64 a_1;
	NU64 T2_;
	NU64 b_1;
	NU64 c_1;
	NU64 T3_;
	NU64 d_1;
	NU64 T4_;
	NU64 y_1;
	NU64 T5_;
	NU64 T6_;
	NU64 z_1;
	NU64 T7_;
	NU64 e_1;
	NU64 T8_;
	NU64 f_1;
	NU64 g_1;
	NU64 T9_;
	NU64 h_1;
	NU64 T10_;
	NU64 T11_;
	NU64 T12_;
	NU64 T13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU64)0;
	T1_ = (NU64)0;
	T1_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	mul_1 = (NU64)((NU64)(11160318154034397263ULL) + (NU64)((NU64)((NU64)(2ULL) * (NU64)(T1_))));
	T2_ = (NU64)0;
	T2_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	a_1 = (NU64)((NU64)(T2_) * (NU64)(11160318154034397263ULL));
	b_1 = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)8));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (NU64)0;
	T3_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)8)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	c_1 = (NU64)((NU64)(T3_) * (NU64)(mul_1));
	T4_ = (NU64)0;
	T4_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)16)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	d_1 = (NU64)((NU64)(T4_) * (NU64)(11160318154034397263ULL));
	T5_ = (NU64)0;
	T5_ = rotR__pureZhashes_u338((NU64)((NU64)(a_1) + (NU64)(b_1)), ((int)43));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = (NU64)0;
	T6_ = rotR__pureZhashes_u338(c_1, ((int)30));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	y_1 = (NU64)((NU64)((NU64)((NU64)(T5_) + (NU64)(T6_))) + (NU64)(d_1));
	T7_ = (NU64)0;
	T7_ = rotR__pureZhashes_u338((NU64)((NU64)(b_1) + (NU64)(11160318154034397263ULL)), ((int)18));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	z_1 = len16__pureZhashes_u350(y_1, (NU64)((NU64)((NU64)((NU64)(a_1) + (NU64)(T7_))) + (NU64)(c_1)), mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T8_ = (NU64)0;
	T8_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)16));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	e_1 = (NU64)((NU64)(T8_) * (NU64)(mul_1));
	f_1 = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)24));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T9_ = (NU64)0;
	T9_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)32)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	g_1 = (NU64)((NU64)((NU64)((NU64)(y_1) + (NU64)(T9_))) * (NU64)(mul_1));
	T10_ = (NU64)0;
	T10_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(s_p0Len_0 - ((NI)24)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	h_1 = (NU64)((NU64)((NU64)((NU64)(z_1) + (NU64)(T10_))) * (NU64)(mul_1));
	T11_ = (NU64)0;
	T11_ = rotR__pureZhashes_u338((NU64)((NU64)(e_1) + (NU64)(f_1)), ((int)43));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T12_ = (NU64)0;
	T12_ = rotR__pureZhashes_u338(g_1, ((int)30));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T13_ = (NU64)0;
	T13_ = rotR__pureZhashes_u338((NU64)((NU64)(f_1) + (NU64)(a_1)), ((int)18));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = len16__pureZhashes_u350((NU64)((NU64)((NU64)((NU64)(T11_) + (NU64)(T12_))) + (NU64)(h_1)), (NU64)((NU64)((NU64)((NU64)(e_1) + (NU64)(T13_))) + (NU64)(g_1)), mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
static N_INLINE(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw, weakLen32withSeeds2__pureZhashes_u462)(NU64 w_p0, NU64 x_p1, NU64 y_p2, NU64 z_p3, NU64 a_p4, NU64 b_p5) {
	tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw result;
	NU64 a_2;
	NU64 b_2;
	NU64 c_1;
	NU64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw));
	a_2 = (NU64)((NU64)(a_p4) + (NU64)(w_p0));
	b_2 = rotR__pureZhashes_u338((NU64)((NU64)((NU64)((NU64)(b_p5) + (NU64)(a_2))) + (NU64)(z_p3)), ((int)21));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	c_1 = a_2;
	a_2 += x_p1;
	a_2 += y_p2;
	T1_ = (NU64)0;
	T1_ = rotR__pureZhashes_u338(a_2, ((int)44));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	b_2 += T1_;
	result.Field0 = (NU64)((NU64)(a_2) + (NU64)(z_p3));
	result.Field1 = (NU64)((NU64)(b_2) + (NU64)(c_1));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw, weakLen32withSeeds__pureZhashes_u485)(NU8* s_p0, NI s_p0Len_0, NI o_p1, NU64 a_p2, NU64 b_p3) {
	tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw result;
	NU64 T1_;
	NU64 T2_;
	NU64 T3_;
	NU64 T4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw));
	T1_ = (NU64)0;
	T1_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, o_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NU64)0;
	T2_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_p1 + ((NI)8)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (NU64)0;
	T3_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_p1 + ((NI)16)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T4_ = (NU64)0;
	T4_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_p1 + ((NI)24)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = weakLen32withSeeds2__pureZhashes_u462(T1_, T2_, T3_, T4_, a_p2, b_p3);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, hashFarm__pureZhashes_u511)(NU8* s_p0, NI s_p0Len_0) {
	NU64 result;
	NI o_1;
	NU64 x_1;
	NU64 y_1;
	NU64 z_1;
	NU64 T13_;
	tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw v_1;
	tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw w_1;
	NU64 T14_;
	NI eos_1;
	NI last64_1;
	NU64 mul_1;
	NU64 T29_;
	NU64 T30_;
	NU64 T31_;
	NU64 T32_;
	NU64 T33_;
	NU64 T34_;
	NU64 T35_;
	NU64 T36_;
	NU64 T37_;
	NU64 T38_;
	NU64 T39_;
	NU64 T40_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NU64)0;
	{
		if (!(s_p0Len_0 <= ((NI)16))) goto LA3_;
		result = len016__pureZhashes_u365(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA3_: ;
	{
		if (!(s_p0Len_0 <= ((NI)32))) goto LA7_;
		result = len1732__pureZhashes_u417(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA7_: ;
	{
		if (!(s_p0Len_0 <= ((NI)64))) goto LA11_;
		result = len3364__pureZhashes_u431(s_p0, s_p0Len_0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA11_: ;
	o_1 = ((NI)0);
	x_1 = 81ULL;
	y_1 = 2480279821605975764ULL;
	T13_ = (NU64)0;
	T13_ = shiftMix__pureZhashes_u331((NU64)((NU64)((NU64)((NU64)(y_1) * (NU64)(11160318154034397263ULL))) + (NU64)(113ULL)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	z_1 = (NU64)((NU64)(T13_) * (NU64)(11160318154034397263ULL));
	nimZeroMem((void*)(&v_1), sizeof(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw));
	nimZeroMem((void*)(&w_1), sizeof(tyTuple__GviMuKbe9c3Hsi9c4x4m9avrw));
	T14_ = (NU64)0;
	T14_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, ((NI)0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	x_1 = (NU64)((NU64)((NU64)((NU64)(x_1) * (NU64)(11160318154034397263ULL))) + (NU64)(T14_));
	eos_1 = (NI)((NI)((NI)(s_p0Len_0 - ((NI)1)) / ((NI)64)) * ((NI)64));
	last64_1 = (NI)((NI)(eos_1 + (NI)((NI)(s_p0Len_0 - ((NI)1)) & ((NI)63))) - ((NI)63));
	{
		while (1) {
			NU64 T17_;
			NU64 T18_;
			NU64 T19_;
			NU64 T20_;
			NU64 T21_;
			NU64 T22_;
			NU64 T23_;
			NU64 T24_;
			T17_ = (NU64)0;
			T17_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)8)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T18_ = (NU64)0;
			T18_ = rotR__pureZhashes_u338((NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(x_1) + (NU64)(y_1))) + (NU64)(v_1.Field0))) + (NU64)(T17_)), ((int)37));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			x_1 = (NU64)((NU64)(T18_) * (NU64)(13011662864482103923ULL));
			T19_ = (NU64)0;
			T19_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)48)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T20_ = (NU64)0;
			T20_ = rotR__pureZhashes_u338((NU64)((NU64)((NU64)((NU64)(y_1) + (NU64)(v_1.Field1))) + (NU64)(T19_)), ((int)42));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			y_1 = (NU64)((NU64)(T20_) * (NU64)(13011662864482103923ULL));
			x_1 = (NU64)(x_1 ^ w_1.Field1);
			T21_ = (NU64)0;
			T21_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)40)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			y_1 += (NU64)((NU64)(v_1.Field0) + (NU64)(T21_));
			T22_ = (NU64)0;
			T22_ = rotR__pureZhashes_u338((NU64)((NU64)(z_1) + (NU64)(w_1.Field0)), ((int)33));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			z_1 = (NU64)((NU64)(T22_) * (NU64)(13011662864482103923ULL));
			v_1 = weakLen32withSeeds__pureZhashes_u485(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)0)), (NU64)((NU64)(v_1.Field1) * (NU64)(13011662864482103923ULL)), (NU64)((NU64)(x_1) + (NU64)(w_1.Field0)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T23_ = (NU64)0;
			T23_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)16)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			w_1 = weakLen32withSeeds__pureZhashes_u485(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)32)), (NU64)((NU64)(z_1) + (NU64)(w_1.Field1)), (NU64)((NU64)(y_1) + (NU64)(T23_)));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T24_ = (NU64)0;
			T24_ = z_1;
			z_1 = x_1;
			x_1 = T24_;
			o_1 += ((NI)64);
			{
				if (!(o_1 == eos_1)) goto LA27_;
				goto LA15;
			}
LA27_: ;
		}
	} LA15: ;
	mul_1 = (NU64)((NU64)(13011662864482103923ULL) + (NU64)((NU64)((NU64)((NU64)(z_1 & 255ULL)) << (NU64)(((NI)1) & (64 - 1)))));
	o_1 = last64_1;
	T29_ = (NU64)0;
	T29_ = lenU__pureZhashes_u325(s_p0, s_p0Len_0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	w_1.Field0 += (NU64)((NU64)((NU64)(T29_) - (NU64)(1ULL)) & 63ULL);
	v_1.Field0 += w_1.Field0;
	w_1.Field0 += v_1.Field0;
	T30_ = (NU64)0;
	T30_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)8)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T31_ = (NU64)0;
	T31_ = rotR__pureZhashes_u338((NU64)((NU64)((NU64)((NU64)((NU64)((NU64)(x_1) + (NU64)(y_1))) + (NU64)(v_1.Field0))) + (NU64)(T30_)), ((int)37));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	x_1 = (NU64)((NU64)(T31_) * (NU64)(mul_1));
	T32_ = (NU64)0;
	T32_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)48)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T33_ = (NU64)0;
	T33_ = rotR__pureZhashes_u338((NU64)((NU64)((NU64)((NU64)(y_1) + (NU64)(v_1.Field1))) + (NU64)(T32_)), ((int)42));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	y_1 = (NU64)((NU64)(T33_) * (NU64)(mul_1));
	x_1 = (NU64)(x_1 ^ (NU64)((NU64)(w_1.Field1) * (NU64)(9ULL)));
	T34_ = (NU64)0;
	T34_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)40)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	y_1 += (NU64)((NU64)((NU64)((NU64)(v_1.Field0) * (NU64)(9ULL))) + (NU64)(T34_));
	T35_ = (NU64)0;
	T35_ = rotR__pureZhashes_u338((NU64)((NU64)(z_1) + (NU64)(w_1.Field0)), ((int)33));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	z_1 = (NU64)((NU64)(T35_) * (NU64)(mul_1));
	v_1 = weakLen32withSeeds__pureZhashes_u485(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)0)), (NU64)((NU64)(v_1.Field1) * (NU64)(mul_1)), (NU64)((NU64)(x_1) + (NU64)(w_1.Field0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T36_ = (NU64)0;
	T36_ = load8__pureZhashes_u249(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)16)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	w_1 = weakLen32withSeeds__pureZhashes_u485(s_p0, s_p0Len_0, (NI)(o_1 + ((NI)32)), (NU64)((NU64)(z_1) + (NU64)(w_1.Field1)), (NU64)((NU64)(y_1) + (NU64)(T36_)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T37_ = (NU64)0;
	T37_ = z_1;
	z_1 = x_1;
	x_1 = T37_;
	T38_ = (NU64)0;
	T38_ = len16__pureZhashes_u350(v_1.Field0, w_1.Field0, mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T39_ = (NU64)0;
	T39_ = shiftMix__pureZhashes_u331(y_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T40_ = (NU64)0;
	T40_ = len16__pureZhashes_u350(v_1.Field1, w_1.Field1, mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = len16__pureZhashes_u350((NU64)((NU64)((NU64)((NU64)(T38_) + (NU64)((NU64)((NU64)(T39_) * (NU64)(14097894508562428199ULL))))) + (NU64)(z_1)), (NU64)((NU64)(T40_) + (NU64)(x_1)), mul_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_u587)(NimStringV2 x_p0) {
	NI result;
	NU64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hashFarm__pureZhashes_u511((((x_p0).p) ? ((NU8*)x_p0.p->data+(((NI)0))) : NIM_NIL), ((x_p0.len-1))-(((NI)0))+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = ((NI) (T1_));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, emarkamp___pureZhashes_u5)(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;
}
static N_INLINE(NI, emarkdollar___pureZhashes_u20)(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, hashIgnoreCase__pureZhashes_u665)(NimStringV2 x_p0) {
	NI result;
	NI h_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = ((NI)0);
	{
		NI i_1;
		NI colontmp_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = (NI)(x_p0.len - ((NI)1));
		res_1 = ((NI)0);
		{
			while (1) {
				NIM_CHAR c_1;
				if (!(res_1 <= colontmp_)) goto LA3;
				i_1 = ((NI) (res_1));
				c_1 = x_p0.p->data[i_1];
				{
					if (!(((NU8)(c_1)) >= ((NU8)(65)) && ((NU8)(c_1)) <= ((NU8)(90)))) goto LA6_;
					c_1 = ((NIM_CHAR) (((NI)(((NU8)(c_1)) + ((NI)32)))));
				}
LA6_: ;
				h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				res_1 += ((NI)1);
			} LA3: ;
		}
	}
	result = emarkdollar___pureZhashes_u20(h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hashIgnoreStyle__pureZhashes_u598)(NimStringV2 x_p0) {
	NI result;
	NI h_1;
	NI i_1;
	NI xLen_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	h_1 = ((NI)0);
	i_1 = ((NI)0);
	xLen_1 = x_p0.len;
	{
		while (1) {
			NIM_CHAR c_1;
			if (!(i_1 < xLen_1)) goto LA2;
			c_1 = x_p0.p->data[i_1];
			{
				if (!((NU8)(c_1) == (NU8)(95))) goto LA5_;
				i_1 += ((NI)1);
			}
			goto LA3_;
LA5_: ;
			{
				{
					if (!(((NU8)(c_1)) >= ((NU8)(65)) && ((NU8)(c_1)) <= ((NU8)(90)))) goto LA10_;
					c_1 = ((NIM_CHAR) (((NI)(((NU8)(c_1)) + ((NI)32)))));
				}
LA10_: ;
				h_1 = emarkamp___pureZhashes_u5(h_1, ((NU8)(c_1)));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)1);
			}
LA3_: ;
		} LA2: ;
	}
	result = emarkdollar___pureZhashes_u20(h_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NU64, hiXorLo__pureZhashes_u81)(NU64 a_p0, NU64 b_p1) {
	NU64 result;
	result = (NU64)0;
	result = 0ULL;
	__uint128_t r = a_p0; r *= b_p1; result = (r >> 64) ^ r;
	return result;
}
static N_INLINE(NI, hashWangYi1__pureZhashes_u140)(NU64 x_p0) {
	NI result;
	NU64 T1_;
	NU64 T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hiXorLo__pureZhashes_u81(11562461410679940143ULL, (NU64)(x_p0 ^ 16646288086500911323ULL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NU64)0;
	T2_ = hiXorLo__pureZhashes_u81(T1_, 16952864883938283885ULL);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = ((NI) (T2_));
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, hash__pureZhashes_u132)(NI x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	result = hashWangYi1__pureZhashes_u140(((NU64) (x_p0)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__lineinfos_u264)(tyTuple__47w2DboNEPf69aPgubZdd7Q x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	{
		NI T5_;
		if (!NIM_TRUE) goto LA3_;
		T5_ = (NI)0;
		T5_ = hash__pureZhashes_u132(x_p0.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI T10_;
		if (!NIM_TRUE) goto LA8_;
		T10_ = (NI)0;
		T10_ = hash__pureZhashes_u132(x_p0.Field1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	{
		NI T15_;
		if (!NIM_TRUE) goto LA13_;
		T15_ = (NI)0;
		T15_ = hash__pureZhashes_u132(x_p0.Field2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T15_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA13_: ;
	result = emarkdollar___pureZhashes_u20(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__lookups_u1085)(tyTuple__FFspgHRWev9aDuj0fEpj9bUw x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	{
		NI T5_;
		if (!NIM_TRUE) goto LA3_;
		T5_ = (NI)0;
		T5_ = hash__lineinfos_u261(x_p0.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI T10_;
		if (!NIM_TRUE) goto LA8_;
		T10_ = (NI)0;
		T10_ = hash__pureZhashes_u132(x_p0.Field1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	result = emarkdollar___pureZhashes_u20(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__concepts_u328)(tyTuple__JqV0huqZNAHtnE3agKOyZg x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	{
		NI T5_;
		if (!NIM_TRUE) goto LA3_;
		T5_ = (NI)0;
		T5_ = hash__ast_u621(x_p0.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI T10_;
		if (!NIM_TRUE) goto LA8_;
		T10_ = (NI)0;
		T10_ = hash__ast_u621(x_p0.Field1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	result = emarkdollar___pureZhashes_u20(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__sigmatch_u6996)(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	{
		NI T5_;
		if (!NIM_TRUE) goto LA3_;
		T5_ = (NI)0;
		T5_ = hash__pureZhashes_u132(x_p0.Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI T10_;
		if (!NIM_TRUE) goto LA8_;
		T10_ = (NI)0;
		T10_ = hash__pureZhashes_u132(x_p0.Field1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	result = emarkdollar___pureZhashes_u20(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__pureZhashes_u593)(NimStringV2 sBuf_p0, NI sPos_p1, NI ePos_p2) {
	NI result;
	NU64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hashFarm__pureZhashes_u511((((sBuf_p0).p) ? ((NU8*)sBuf_p0.p->data+(sPos_p1)) : NIM_NIL), (ePos_p2)-(sPos_p1)+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = ((NI) (T1_));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__vm_u13913)(NU8* aBuf_p0, NI aBuf_p0Len_0, NI sPos_p1, NI ePos_p2) {
	NI result;
	NU64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	T1_ = (NU64)0;
	T1_ = hashFarm__pureZhashes_u511((NU8*)(aBuf_p0)+(sPos_p1), (ePos_p2)-(sPos_p1)+1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = ((NI) (T1_));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, hash__packagesZdocutilsZrst_u6484)(tyTuple__UV3llMMYFckfui8YMBuUZA* x_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((NI)0);
	{
		NI T5_;
		if (!NIM_TRUE) goto LA3_;
		T5_ = (NI)0;
		T5_ = hash__pureZhashes_u587((*x_p0).Field0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T5_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		NI T10_;
		if (!NIM_TRUE) goto LA8_;
		T10_ = (NI)0;
		T10_ = hash__pureZhashes_u587((*x_p0).Field1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = emarkamp___pureZhashes_u5(result, T10_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA8_: ;
	result = emarkdollar___pureZhashes_u20(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
