1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 64
3 
4 #include "nimbase.h"
5 #include <string.h>
6 #include <stdio.h>
7 #undef LANGUAGE_C
8 #undef MIPSEB
9 #undef MIPSEL
10 #undef PPC
11 #undef R3000
12 #undef R4000
13 #undef i386
14 #undef linux
15 #undef mips
16 #undef near
17 #undef far
18 #undef powerpc
19 #undef unix
20 #define nimfr_(x, y)
21 #define nimln_(x, y)
22 typedef struct NimStringDesc NimStringDesc;
23 typedef struct TGenericSeq TGenericSeq;
24 typedef struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow;
25 struct TGenericSeq {
26 NI len;
27 NI reserved;
28 };
29 struct NimStringDesc {
30   TGenericSeq Sup;
31 NIM_CHAR data[SEQ_DECL_SIZE];
32 };
33 typedef NU8 tySet_tyChar__nmiMWKVIe46vacnhAFrQvw[32];
34 typedef NU8 tyArray__YtcvxHNKV4YiecPE9ap1mcA[20];
35 typedef NU32 tyArray__xsE8WL1yT5DKfrMdYB89bYA[5];
36 typedef NU8 tyArray__w5VB8h5K8DB3oWrO5U2wqg[64];
37 struct tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow {
38 NI count;
39 tyArray__xsE8WL1yT5DKfrMdYB89bYA state;
40 tyArray__w5VB8h5K8DB3oWrO5U2wqg buf;
41 };
42 typedef NU32 tyArray__BhDmUZcWSpYFIy5J8Xi8mQ[80];
43 typedef NIM_CHAR tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ[8];
44 typedef NU8 tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg;
45 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, allCharsInSet__pureZstrutils_1341)(NimStringDesc* s, tySet_tyChar__nmiMWKVIe46vacnhAFrQvw theSet);
46 static N_INLINE(void, nimZeroMem)(void* p, NI size);
47 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
48 N_LIB_PRIVATE N_NIMCALL(void, newSha1State__stdZsha49_10)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* Result);
49 N_LIB_PRIVATE N_NIMCALL(void, update__stdZsha49_777)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0);
50 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
51 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
52 N_LIB_PRIVATE N_NIMCALL(void, transform__stdZsha49_27)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx);
53 static N_INLINE(void, bigEndian32__pureZendians_65)(void* outp, void* inp);
54 N_LIB_PRIVATE N_NIMCALL(void, finalize__stdZsha49_821)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result);
55 static N_INLINE(void, bigEndian64__pureZendians_62)(void* outp, void* inp);
56 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, toHex__pureZstrutils_1792)(NI x, NI len);
57 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
58 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
59 N_LIB_PRIVATE N_NIMCALL(FILE*, open__systemZio_430)(NimStringDesc* filename, tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg mode, NI bufSize);
60 N_NIMCALL(NimStringDesc*, mnewString)(NI len);
61 N_LIB_PRIVATE N_NIMCALL(NI, readChars__systemZio_156)(FILE* f, NIM_CHAR* a, NI aLen_0);
62 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, setLengthStr)(NimStringDesc* s, NI newLen);
63 N_LIB_PRIVATE N_NIMCALL(void, close__systemZio_217)(FILE* f);
64 N_LIB_PRIVATE N_NIMCALL(NI, nsuParseHexInt)(NimStringDesc* s);
65 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
66 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
67 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_924)(tyArray__YtcvxHNKV4YiecPE9ap1mcA x, tyArray__YtcvxHNKV4YiecPE9ap1mcA y);
68 static NIM_CONST tySet_tyChar__nmiMWKVIe46vacnhAFrQvw TM__SpWH4VocI3fFoiOGE4MzWw_2 = {
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03,
70 0x7e, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00,
71 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
73 ;
74 STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_3, "\200", 1);
75 STRING_LITERAL(TM__SpWH4VocI3fFoiOGE4MzWw_4, "\000", 1);
N_NIMCALL(NIM_BOOL,isValidSha1Hash__stdZsha49_949)76 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValidSha1Hash__stdZsha49_949)(NimStringDesc* s) {
77 	NIM_BOOL result;
78 	NIM_BOOL T1_;
79 	result = (NIM_BOOL)0;
80 	T1_ = (NIM_BOOL)0;
81 	T1_ = ((s ? s->Sup.len : 0) == ((NI) 40));
82 	if (!(T1_)) goto LA2_;
83 	T1_ = allCharsInSet__pureZstrutils_1341(s, TM__SpWH4VocI3fFoiOGE4MzWw_2);
84 	LA2_: ;
85 	result = T1_;
86 	return result;
87 }
N_INLINE(void,nimSetMem__systemZmemory_7)88 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
89 	void* T1_;
90 	T1_ = (void*)0;
91 	T1_ = memset(a, v, ((size_t) (size)));
92 }
N_INLINE(void,nimZeroMem)93 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
94 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
95 }
N_NIMCALL(void,newSha1State__stdZsha49_10)96 N_LIB_PRIVATE N_NIMCALL(void, newSha1State__stdZsha49_10)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* Result) {
97 	nimZeroMem((void*)Result, sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
98 	(*Result).count = ((NI) 0);
99 	(*Result).state[(((NI) 0))- 0] = ((NU32) 1732584193);
100 	(*Result).state[(((NI) 1))- 0] = ((NU32) IL64(4023233417));
101 	(*Result).state[(((NI) 2))- 0] = ((NU32) IL64(2562383102));
102 	(*Result).state[(((NI) 3))- 0] = ((NU32) 271733878);
103 	(*Result).state[(((NI) 4))- 0] = ((NU32) IL64(3285377520));
104 }
N_INLINE(void,nimCopyMem)105 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
106 	void* T1_;
107 	T1_ = (void*)0;
108 	T1_ = memcpy(dest, source, ((size_t) (size)));
109 }
N_INLINE(void,copyMem__system_1727)110 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
111 	nimCopyMem(dest, source, size);
112 }
N_INLINE(void,bigEndian32__pureZendians_65)113 static N_INLINE(void, bigEndian32__pureZendians_65)(void* outp, void* inp) {
114 	copyMem__system_1727(outp, inp, ((NI) 4));
115 }
N_NIMCALL(void,transform__stdZsha49_27)116 N_LIB_PRIVATE N_NIMCALL(void, transform__stdZsha49_27)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx) {
117 	tyArray__BhDmUZcWSpYFIy5J8Xi8mQ w;
118 	NU32 a;
119 	NU32 b;
120 	NU32 c;
121 	NU32 d;
122 	NU32 e;
123 	NI t;
124 	nimZeroMem((void*)w, sizeof(tyArray__BhDmUZcWSpYFIy5J8Xi8mQ));
125 	a = (NU32)0;
126 	b = (NU32)0;
127 	c = (NU32)0;
128 	d = (NU32)0;
129 	e = (NU32)0;
130 	t = ((NI) 0);
131 	a = (*ctx).state[(((NI) 0))- 0];
132 	b = (*ctx).state[(((NI) 1))- 0];
133 	c = (*ctx).state[(((NI) 2))- 0];
134 	d = (*ctx).state[(((NI) 3))- 0];
135 	e = (*ctx).state[(((NI) 4))- 0];
136 	{
137 		while (1) {
138 			if (!(t < ((NI) 15))) goto LA2;
139 			bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 0)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 0)) * ((NI) 4)))- 0]))));
140 			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
141 			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
142 			bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 1)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 1)) * ((NI) 4)))- 0]))));
143 			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
144 			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
145 			bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 2)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 2)) * ((NI) 4)))- 0]))));
146 			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
147 			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
148 			bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 3)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 3)) * ((NI) 4)))- 0]))));
149 			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
150 			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
151 			bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 4)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 4)) * ((NI) 4)))- 0]))));
152 			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
153 			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
154 			t += ((NI) 5);
155 		} LA2: ;
156 	}
157 	bigEndian32__pureZendians_65(((void*) ((&w[((NI)(t + ((NI) 0)))- 0]))), ((void*) ((&(*ctx).buf[((NI)((NI)(t + ((NI) 0)) * ((NI) 4)))- 0]))));
158 	e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)(d ^ (NU32)(b & (NU32)(c ^ d)))))) + (NU32)(((NU32) 1518500249)));
159 	b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
160 	w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
161 	d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)(c ^ (NU32)(a & (NU32)(b ^ c)))))) + (NU32)(((NU32) 1518500249)));
162 	a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
163 	w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
164 	c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)(b ^ (NU32)(e & (NU32)(a ^ b)))))) + (NU32)(((NU32) 1518500249)));
165 	e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
166 	w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
167 	b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)(a ^ (NU32)(d & (NU32)(e ^ a)))))) + (NU32)(((NU32) 1518500249)));
168 	d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
169 	w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
170 	a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)(e ^ (NU32)(c & (NU32)(d ^ e)))))) + (NU32)(((NU32) 1518500249)));
171 	c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
172 	t = ((NI) 20);
173 	{
174 		while (1) {
175 			if (!(t < ((NI) 40))) goto LA4;
176 			w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
177 			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) 1859775393)));
178 			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
179 			w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
180 			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) 1859775393)));
181 			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
182 			w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
183 			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) 1859775393)));
184 			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
185 			w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
186 			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) 1859775393)));
187 			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
188 			w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
189 			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) 1859775393)));
190 			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
191 			t += ((NI) 5);
192 		} LA4: ;
193 	}
194 	{
195 		while (1) {
196 			if (!(t < ((NI) 60))) goto LA6;
197 			w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
198 			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b & c) | (NU32)(d & (NU32)(b | c)))))) + (NU32)(((NU32) IL64(2400959708))));
199 			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
200 			w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
201 			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a & b) | (NU32)(c & (NU32)(a | b)))))) + (NU32)(((NU32) IL64(2400959708))));
202 			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
203 			w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
204 			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e & a) | (NU32)(b & (NU32)(e | a)))))) + (NU32)(((NU32) IL64(2400959708))));
205 			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
206 			w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
207 			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d & e) | (NU32)(a & (NU32)(d | e)))))) + (NU32)(((NU32) IL64(2400959708))));
208 			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
209 			w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
210 			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c & d) | (NU32)(e & (NU32)(c | d)))))) + (NU32)(((NU32) IL64(2400959708))));
211 			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
212 			t += ((NI) 5);
213 		} LA6: ;
214 	}
215 	{
216 		while (1) {
217 			if (!(t < ((NI) 80))) goto LA8;
218 			w[((NI)(t + ((NI) 0)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 0)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 0)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
219 			e += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 27))) | (NU32)((NU64)(a) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 0)))- 0]))) + (NU32)((NU32)((NU32)(b ^ c) ^ d)))) + (NU32)(((NU32) IL64(3395469782))));
220 			b = (NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 2))) | (NU32)((NU64)(b) << (NU64)(((NI) 30))));
221 			w[((NI)(t + ((NI) 1)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 1)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 1)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
222 			d += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 27))) | (NU32)((NU64)(e) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 1)))- 0]))) + (NU32)((NU32)((NU32)(a ^ b) ^ c)))) + (NU32)(((NU32) IL64(3395469782))));
223 			a = (NU32)((NU32)((NU32)(a) >> (NU64)(((NI) 2))) | (NU32)((NU64)(a) << (NU64)(((NI) 30))));
224 			w[((NI)(t + ((NI) 2)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 2)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 2)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
225 			c += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 27))) | (NU32)((NU64)(d) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 2)))- 0]))) + (NU32)((NU32)((NU32)(e ^ a) ^ b)))) + (NU32)(((NU32) IL64(3395469782))));
226 			e = (NU32)((NU32)((NU32)(e) >> (NU64)(((NI) 2))) | (NU32)((NU64)(e) << (NU64)(((NI) 30))));
227 			w[((NI)(t + ((NI) 3)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 3)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 3)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
228 			b += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 27))) | (NU32)((NU64)(c) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 3)))- 0]))) + (NU32)((NU32)((NU32)(d ^ e) ^ a)))) + (NU32)(((NU32) IL64(3395469782))));
229 			d = (NU32)((NU32)((NU32)(d) >> (NU64)(((NI) 2))) | (NU32)((NU64)(d) << (NU64)(((NI) 30))));
230 			w[((NI)(t + ((NI) 4)))- 0] = (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) >> (NU64)(((NI) 31))) | (NU32)((NU64)((NU32)((NU32)((NU32)(w[((NI)((NI)(t + ((NI) 4)) - ((NI) 3)))- 0] ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 8)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 14)))- 0]) ^ w[((NI)((NI)(t + ((NI) 4)) - ((NI) 16)))- 0])) << (NU64)(((NI) 1))));
231 			a += (NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)((NU32)(b) >> (NU64)(((NI) 27))) | (NU32)((NU64)(b) << (NU64)(((NI) 5))))) + (NU32)(w[((NI)(t + ((NI) 4)))- 0]))) + (NU32)((NU32)((NU32)(c ^ d) ^ e)))) + (NU32)(((NU32) IL64(3395469782))));
232 			c = (NU32)((NU32)((NU32)(c) >> (NU64)(((NI) 2))) | (NU32)((NU64)(c) << (NU64)(((NI) 30))));
233 			t += ((NI) 5);
234 		} LA8: ;
235 	}
236 	(*ctx).state[(((NI) 0))- 0] += a;
237 	(*ctx).state[(((NI) 1))- 0] += b;
238 	(*ctx).state[(((NI) 2))- 0] += c;
239 	(*ctx).state[(((NI) 3))- 0] += d;
240 	(*ctx).state[(((NI) 4))- 0] += e;
241 }
N_NIMCALL(void,update__stdZsha49_777)242 N_LIB_PRIVATE N_NIMCALL(void, update__stdZsha49_777)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, NIM_CHAR* data, NI dataLen_0) {
243 	NI i;
244 	NI j;
245 	NI len;
246 	i = (NI)((*ctx).count % ((NI) 64));
247 	j = ((NI) 0);
248 	len = dataLen_0;
249 	{
250 		if (!((NI)(((NI) 64) - i) < len)) goto LA3_;
251 		copyMem__system_1727(((void*) ((&(*ctx).buf[(i)- 0]))), ((void*) ((&data[j]))), ((NI) ((NI)(((NI) 64) - i))));
252 		len -= (NI)(((NI) 64) - i);
253 		j += (NI)(((NI) 64) - i);
254 		transform__stdZsha49_27(ctx);
255 		i = ((NI) 0);
256 	}
257 	LA3_: ;
258 	{
259 		while (1) {
260 			if (!(((NI) 64) <= len)) goto LA6;
261 			copyMem__system_1727(((void*) ((&(*ctx).buf[(((NI) 0))- 0]))), ((void*) ((&data[j]))), ((NI) 64));
262 			len -= ((NI) 64);
263 			j += ((NI) 64);
264 			transform__stdZsha49_27(ctx);
265 		} LA6: ;
266 	}
267 	{
268 		while (1) {
269 			if (!(((NI) 0) < len)) goto LA8;
270 			len -= ((NI) 1);
271 			(*ctx).buf[(i)- 0] = ((NU8) (((NU8)(data[j]))));
272 			i += ((NI) 1);
273 			j += ((NI) 1);
274 			{
275 				if (!(i == ((NI) 64))) goto LA11_;
276 				transform__stdZsha49_27(ctx);
277 				i = ((NI) 0);
278 			}
279 			LA11_: ;
280 		} LA8: ;
281 	}
282 	(*ctx).count += dataLen_0;
283 }
N_INLINE(void,bigEndian64__pureZendians_62)284 static N_INLINE(void, bigEndian64__pureZendians_62)(void* outp, void* inp) {
285 	copyMem__system_1727(outp, inp, ((NI) 8));
286 }
N_NIMCALL(void,finalize__stdZsha49_821)287 N_LIB_PRIVATE N_NIMCALL(void, finalize__stdZsha49_821)(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow* ctx, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
288 	NU64 cnt;
289 	tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ tmp;
290 	nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
291 	cnt = ((NU64) ((NI)((*ctx).count * ((NI) 8))));
292 	update__stdZsha49_777(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_3)->Sup.len : 0));
293 	{
294 		while (1) {
295 			if (!!(((NI)((*ctx).count % ((NI) 64)) == ((NI) 56)))) goto LA2;
296 			update__stdZsha49_777(ctx, ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4)->data, (((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4) ? ((NimStringDesc*) &TM__SpWH4VocI3fFoiOGE4MzWw_4)->Sup.len : 0));
297 		} LA2: ;
298 	}
299 	nimZeroMem((void*)tmp, sizeof(tyArray__1NlJ8ipZDU6GZ9bDFAyQjfQ));
300 	bigEndian64__pureZendians_62(((void*) ((&tmp[(((NI) 0))- 0]))), ((void*) ((&cnt))));
301 	update__stdZsha49_777(ctx, tmp, 8);
302 	{
303 		NI i;
304 		NI i_2;
305 		i = (NI)0;
306 		i_2 = ((NI) 0);
307 		{
308 			while (1) {
309 				if (!(i_2 < ((NI) 5))) goto LA5;
310 				i = i_2;
311 				bigEndian32__pureZendians_65(((void*) ((&(*ctx).state[(i)- 0]))), ((void*) ((&(*ctx).state[(i)- 0]))));
312 				i_2 += ((NI) 1);
313 			} LA5: ;
314 		}
315 	}
316 	copyMem__system_1727(((void*) ((&Result[(((NI) 0))- 0]))), ((void*) ((&(*ctx).state[(((NI) 0))- 0]))), ((NI) 20));
317 }
N_NIMCALL(void,secureHash__stdZsha49_840)318 N_LIB_PRIVATE N_NIMCALL(void, secureHash__stdZsha49_840)(NIM_CHAR* str, NI strLen_0, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
319 	tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow state;
320 	nimZeroMem((void*)(&state), sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
321 	newSha1State__stdZsha49_10((&state));
322 	update__stdZsha49_777((&state), str, strLen_0);
323 	finalize__stdZsha49_821((&state), Result);
324 }
N_INLINE(void,appendString)325 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
326 	{
327 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
328 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
329 		(*dest).Sup.len += (*src).Sup.len;
330 	}
331 	LA3_: ;
332 }
N_NIMCALL(NimStringDesc *,dollar___stdZsha49_879)333 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___stdZsha49_879)(tyArray__YtcvxHNKV4YiecPE9ap1mcA self) {
334 	NimStringDesc* result;
335 	result = NIM_NIL;
336 	result = ((NimStringDesc*) NIM_NIL);
337 	{
338 		NU8 v;
339 		tyArray__YtcvxHNKV4YiecPE9ap1mcA colontmp_;
340 		NI i;
341 		v = (NU8)0;
342 		nimZeroMem((void*)colontmp_, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
343 		nimCopyMem((void*)colontmp_, (NIM_CONST void*)self, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
344 		i = ((NI) 0);
345 		{
346 			while (1) {
347 				NimStringDesc* T4_;
348 				v = colontmp_[(i)- 0];
349 				T4_ = NIM_NIL;
350 				T4_ = toHex__pureZstrutils_1792(((NI) (v)), ((NI) 2));
351 				result = resizeString(result, (T4_ ? T4_->Sup.len : 0) + 0);
352 appendString(result, T4_);
353 				{
354 					if (!(((NI) 19) <= ((NI) (i)))) goto LA7_;
355 					goto LA2;
356 				}
357 				LA7_: ;
358 				i += ((NI) 1);
359 			}
360 		} LA2: ;
361 	}
362 	return result;
363 }
N_NIMCALL(void,secureHashFile__stdZsha49_871)364 N_LIB_PRIVATE N_NIMCALL(void, secureHashFile__stdZsha49_871)(NimStringDesc* filename, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
365 	FILE* f;
366 	tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow state;
367 	NimStringDesc* buffer;
368 	f = open__systemZio_430(filename, ((tyEnum_FileMode__ZJfK20XeZ9bv2j1pZjw9aswg) 0), ((NI) -1));
369 	nimZeroMem((void*)(&state), sizeof(tyObject_Sha1State__cBZm1tX9aK4Wngq1jVLZUow));
370 	newSha1State__stdZsha49_10((&state));
371 	buffer = mnewString(((NI) 8192));
372 	{
373 		while (1) {
374 			NI length;
375 			length = readChars__systemZio_156(f, buffer->data, (buffer ? buffer->Sup.len : 0));
376 			{
377 				if (!(length == ((NI) 0))) goto LA5_;
378 				goto LA1;
379 			}
380 			LA5_: ;
381 			buffer = setLengthStr(buffer, ((NI) (length)));
382 			update__stdZsha49_777((&state), buffer->data, (buffer ? buffer->Sup.len : 0));
383 			{
384 				if (!!((length == ((NI) 8192)))) goto LA9_;
385 				goto LA1;
386 			}
387 			LA9_: ;
388 		}
389 	} LA1: ;
390 	close__systemZio_217(f);
391 	finalize__stdZsha49_821((&state), Result);
392 }
N_INLINE(void,appendChar)393 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
394 	(*dest).data[(*dest).Sup.len] = c;
395 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
396 	(*dest).Sup.len += ((NI) 1);
397 }
N_NIMCALL(void,parseSecureHash__stdZsha49_912)398 N_LIB_PRIVATE N_NIMCALL(void, parseSecureHash__stdZsha49_912)(NimStringDesc* hash, tyArray__YtcvxHNKV4YiecPE9ap1mcA Result) {
399 	nimZeroMem((void*)Result, sizeof(tyArray__YtcvxHNKV4YiecPE9ap1mcA));
400 	{
401 		NI i;
402 		NI i_2;
403 		i = (NI)0;
404 		i_2 = ((NI) 0);
405 		{
406 			while (1) {
407 				NimStringDesc* T4_;
408 				NI T5_;
409 				if (!(i_2 < ((NI) 20))) goto LA3;
410 				i = i_2;
411 				T4_ = NIM_NIL;
412 				T4_ = rawNewString(2);
413 appendChar(T4_, hash->data[(NI)(i * ((NI) 2))]);
414 appendChar(T4_, hash->data[(NI)((NI)(i * ((NI) 2)) + ((NI) 1))]);
415 				T5_ = (NI)0;
416 				T5_ = nsuParseHexInt(T4_);
417 				Result[(i)- 0] = ((NU8) (T5_));
418 				i_2 += ((NI) 1);
419 			} LA3: ;
420 		}
421 	}
422 }
N_NIMCALL(NIM_BOOL,eqeq___stdZsha49_924)423 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_924)(tyArray__YtcvxHNKV4YiecPE9ap1mcA x, tyArray__YtcvxHNKV4YiecPE9ap1mcA y) {
424 	NIM_BOOL result;
425 {	result = (NIM_BOOL)0;
426 	{
427 		NI f;
428 		NI res;
429 		f = (NI)0;
430 		res = ((NI) 0);
431 		{
432 			while (1) {
433 				if (!(res <= ((NI) 19))) goto LA3;
434 				f = ((NI) (res));
435 				{
436 					if (!!((x[(f)- 0] == y[(f)- 0]))) goto LA6_;
437 					goto BeforeRet_;
438 				}
439 				LA6_: ;
440 				res += ((NI) 1);
441 			} LA3: ;
442 		}
443 	}
444 	result = NIM_TRUE;
445 	}BeforeRet_: ;
446 	return result;
447 }
N_NIMCALL(NIM_BOOL,eqeq___stdZsha49_920)448 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___stdZsha49_920)(tyArray__YtcvxHNKV4YiecPE9ap1mcA a, tyArray__YtcvxHNKV4YiecPE9ap1mcA b) {
449 	NIM_BOOL result;
450 	result = (NIM_BOOL)0;
451 	result = eqeq___stdZsha49_924(a, b);
452 	return result;
453 }
454