1 /* Generated by Nim Compiler v1.6.2 */
2 #define NIM_INTBITS 32
3 
4 #include "nimbase.h"
5 #include <time.h>
6 #include <string.h>
7 #include <sys/types.h>
8 #undef LANGUAGE_C
9 #undef MIPSEB
10 #undef MIPSEL
11 #undef PPC
12 #undef R3000
13 #undef R4000
14 #undef i386
15 #undef linux
16 #undef mips
17 #undef near
18 #undef far
19 #undef powerpc
20 #undef unix
21 #define nimfr_(x, y)
22 #define nimln_(x, y)
23 typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
24 typedef struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ;
25 typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
26 typedef struct NimStringDesc NimStringDesc;
27 typedef struct TGenericSeq TGenericSeq;
28 typedef struct TNimType TNimType;
29 typedef struct TNimNode TNimNode;
30 typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
31 typedef struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg;
32 typedef struct RootObj RootObj;
33 typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
34 typedef struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA;
35 typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
36 typedef struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ;
37 typedef struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw;
38 typedef struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ tyTuple__XjuGlLf9cyYx66ViXrBCvPQ;
39 typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;
40 typedef struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g;
41 typedef struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w;
42 typedef struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ;
43 typedef struct tyObject_GcStack__7fytPA5bBsob6See21YMRA tyObject_GcStack__7fytPA5bBsob6See21YMRA;
44 typedef struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg;
45 typedef struct tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ;
46 typedef struct tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg;
47 typedef struct tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw;
48 typedef struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA;
49 typedef struct tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw;
50 typedef struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw;
51 typedef struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg;
52 typedef struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyTuple__ujsjpB2O9cjj3uDHsXbnSzg;
53 typedef struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg;
54 typedef struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ;
55 typedef struct tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg;
56 typedef struct tyTuple__pfrdooyxJsC6cg34ebuBag tyTuple__pfrdooyxJsC6cg34ebuBag;
57 struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
58 NI64 seconds;
59 NI nanosecond;
60 };
61 struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ {
62 tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time;
63 NI utcOffset;
64 NIM_BOOL isDst;
65 };
66 typedef struct {
67 N_NIMCALL_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, ClP_0) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x, void* ClE_0);
68 void* ClE_0;
69 } tyProc__7xnKxEC24cr3qZyj3gX32w;
70 struct TGenericSeq {
71 NI len;
72 NI reserved;
73 };
74 struct NimStringDesc {
75   TGenericSeq Sup;
76 NIM_CHAR data[SEQ_DECL_SIZE];
77 };
78 struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw {
79 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl;
80 tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl;
81 NimStringDesc* name;
82 };
83 typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
84 typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
85 typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
86 typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
87 struct TNimType {
88 NI size;
89 NI align;
90 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
91 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
92 TNimType* base;
93 TNimNode* node;
94 void* finalizer;
95 tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
96 tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
97 };
98 struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
99 void* Field0;
100 tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* Field1;
101 };
102 typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
103 struct TNimNode {
104 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
105 NI offset;
106 TNimType* typ;
107 NCSTRING name;
108 NI len;
109 TNimNode** sons;
110 };
111 struct RootObj {
112 TNimType* m_type;
113 };
114 struct tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg {
115   RootObj Sup;
116 };
117 typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
118 struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA {
119 tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
120 NimStringDesc* formatStr;
121 };
122 typedef NU8 tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ;
123 typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
124 struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
125   RootObj Sup;
126 NI nanosecond;
127 NI second;
128 NI minute;
129 NI hour;
130 NI monthdayZero;
131 NI monthZero;
132 NI year;
133 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
134 NI yearday;
135 NIM_BOOL isDst;
136 tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
137 NI utcOffset;
138 };
139 typedef NimStringDesc* tyArray__3hurAvNmIXWWeqMzKryr2A[12];
140 typedef NimStringDesc* tyArray__O9c55L7dGQruaGz5nJ2r4rA[7];
141 struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ {
142 tyArray__3hurAvNmIXWWeqMzKryr2A MMM;
143 tyArray__3hurAvNmIXWWeqMzKryr2A MMMM;
144 tyArray__O9c55L7dGQruaGz5nJ2r4rA ddd;
145 tyArray__O9c55L7dGQruaGz5nJ2r4rA dddd;
146 };
147 typedef NU8 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw;
148 typedef NU8 tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ;
149 typedef NI64 tyArray__pDfjTbtkTNjmi9bTcaNV32Q[8];
150 struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw {
151 NI64 seconds;
152 NI nanosecond;
153 };
154 struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ {
155 NI Field0;
156 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw Field1;
157 NI Field2;
158 };
159 struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
160 NI Field0;
161 NI Field1;
162 NI Field2;
163 };
164 typedef NI tyArray__Splpnswz3rudLg9bDsQoDXg[12];
165 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_56) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x);
166 struct tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g {
167 NI refcount;
168 TNimType* typ;
169 };
170 struct tyObject_GcStack__7fytPA5bBsob6See21YMRA {
171 void* bottom;
172 };
173 struct tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w {
174 NI len;
175 NI cap;
176 tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g** d;
177 };
178 typedef tyObject_SmallChunk__tXn60W2f8h3jgAYdEmy5NQ* tyArray__SPr7N6UKfuF549bNPiUvSRw[256];
179 typedef NU32 tyArray__BHbOSqU1t9b3Gt7K2c6fQig[24];
180 typedef tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* tyArray__N1u1nqOgmuJN9cSZrnMHgOQ[32];
181 typedef tyArray__N1u1nqOgmuJN9cSZrnMHgOQ tyArray__B6durA4ZCi1xjJvRtyYxMg[24];
182 typedef tyObject_Trunk__W0r8S0Y3UGke6T9bIUWnnuw* tyArray__lh2A89ahMmYg9bCmpVaplLbA[256];
183 struct tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA {
184 tyArray__lh2A89ahMmYg9bCmpVaplLbA data;
185 };
186 typedef tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* tyArray__0aOLqZchNi8nWtMTi8ND8w[2];
187 struct tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw {
188 tyArray__0aOLqZchNi8nWtMTi8ND8w link;
189 NI key;
190 NI upperBound;
191 NI level;
192 };
193 struct tyTuple__ujsjpB2O9cjj3uDHsXbnSzg {
194 tyObject_BigChunk__Rv9c70Uhp2TytkX7eH78qEg* Field0;
195 NI Field1;
196 };
197 typedef tyTuple__ujsjpB2O9cjj3uDHsXbnSzg tyArray__LzOv2eCDGiceMKQstCLmhw[30];
198 struct tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg {
199 NI len;
200 tyArray__LzOv2eCDGiceMKQstCLmhw chunks;
201 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg* next;
202 };
203 struct tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg {
204 NI minLargeObj;
205 NI maxLargeObj;
206 tyArray__SPr7N6UKfuF549bNPiUvSRw freeSmallChunks;
207 NU32 flBitmap;
208 tyArray__BHbOSqU1t9b3Gt7K2c6fQig slBitmap;
209 tyArray__B6durA4ZCi1xjJvRtyYxMg matrix;
210 tyObject_LLChunk__XsENErzHIZV9bhvyJx56wGw* llmem;
211 NI currMem;
212 NI maxMem;
213 NI freeMem;
214 NI occ;
215 NI lastSize;
216 tyObject_IntSet__EZObFrE3NC9bIb3YMkY9crZA chunkStarts;
217 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* root;
218 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* deleted;
219 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* last;
220 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw* freeAvlNodes;
221 NIM_BOOL locked;
222 NIM_BOOL blockChunkSizeIncrease;
223 NI nextChunkSize;
224 tyObject_AvlNode__IaqjtwKhxLEpvDS9bct9blEw bottomData;
225 tyObject_HeapLinks__PDV1HBZ8CQSQJC9aOBFNRSg heapLinks;
226 };
227 struct tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg {
228 NI stackScans;
229 NI cycleCollections;
230 NI maxThreshold;
231 NI maxStackSize;
232 NI maxStackCells;
233 NI cycleTableSize;
234 NI64 maxPause;
235 };
236 struct tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ {
237 NI counter;
238 NI max;
239 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg* head;
240 tyObject_PageDesc__fublkgIY4LG3mT51LU2WHg** data;
241 };
242 struct tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ {
243 tyObject_GcStack__7fytPA5bBsob6See21YMRA stack;
244 NI cycleThreshold;
245 NI zctThreshold;
246 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w zct;
247 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w decStack;
248 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w tempStack;
249 NI recGcLock;
250 tyObject_MemRegion__x81NhDv59b8ercDZ9bi85jyg region;
251 tyObject_GcStat__0RwLoVBHZPfUAcLczmfQAg stat;
252 tyObject_CellSet__jG87P0AI9aZtss9ccTYBIISQ marked;
253 tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w additionalRoots;
254 NI gcThreadId;
255 };
256 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_57) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, void* ClE_0);
257 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_58) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, void* ClE_0);
258 struct tyTuple__pfrdooyxJsC6cg34ebuBag {
259 NI Field0;
260 NIM_BOOL Field1;
261 };
262 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_60) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, void* ClE_0);
263 typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_61) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, void* ClE_0);
264 struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
265   TGenericSeq Sup;
266   NU8 data[SEQ_DECL_SIZE];
267 };
268 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op);
269 N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
270 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op);
271 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void);
272 N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
273 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void);
274 static N_INLINE(void, nimZeroMem)(void* p, NI size);
275 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
276 static N_INLINE(NF, toFloat__system_1702)(NI i);
277 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond);
278 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
279 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
280 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___systemZdollars_3)(NI x);
281 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
282 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
283 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size);
284 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
285 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
286 N_LIB_PRIVATE N_NIMCALL(void, unsureAsgnRef)(void** dest, void* src);
287 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x, NI minchars);
288 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
289 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
290 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
291 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
292 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
293 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2);
294 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
295 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size);
296 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
297 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
298 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
299 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b);
300 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds);
301 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity);
302 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
303 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks);
304 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds);
305 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y);
306 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday);
307 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
308 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
309 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
310 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
311 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year);
312 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
313 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void);
314 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl);
315 N_LIB_PRIVATE N_NOINLINE(void*, newObj)(TNimType* typ, NI size);
316 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyStringRC1)(NimStringDesc* src);
317 static N_INLINE(void, nimGCunrefNoCycle)(void* p);
318 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
319 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y);
320 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y);
321 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
322 N_LIB_PRIVATE N_NOINLINE(void, addZCT__system_5264)(tyObject_CellSeq__Axo1XVm9aaQueTOldv8le5w* s, tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
323 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr);
324 static N_INLINE(void, asgnRef)(void** dest, void* src);
325 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c);
326 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y);
327 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
328 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i);
329 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
330 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void);
331 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
332 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0);
333 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b);
334 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm);
335 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime);
336 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void);
337 N_LIB_PRIVATE TNimType NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_;
338 N_LIB_PRIVATE TNimType NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_;
339 N_LIB_PRIVATE TNimType NTIpointer__vr5DoT1jILTGdRlYv1OYpw_;
340 extern TNimType NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_;
341 N_LIB_PRIVATE TNimType NTIobject__diB2NTuAIWY0FO9c5IUJRGg_;
342 N_LIB_PRIVATE TNimType NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_;
343 extern TNimType NTIstring__77mFvmsOLKik79ci2hXkHEg_;
344 N_LIB_PRIVATE TNimType NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_;
345 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_6, "12", 2);
346 N_LIB_PRIVATE NIM_CONST tyArray__pDfjTbtkTNjmi9bTcaNV32Q unitWeights__pureZtimes_109 = {IL64(1),
347 IL64(1000),
348 IL64(1000000),
349 IL64(1000000000),
350 IL64(60000000000),
351 IL64(3600000000000),
352 IL64(86400000000000),
353 IL64(604800000000000)}
354 ;
355 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_7, "P", 1);
356 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_8, "A", 1);
357 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_9, "PM", 2);
358 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_10, "AM", 2);
359 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_11, "Etc/UTC", 7);
360 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_12, ":", 1);
361 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_13, "BC", 2);
362 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_14, "AD", 2);
363 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_15, "Jan", 3);
364 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_16, "Feb", 3);
365 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_17, "Mar", 3);
366 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_18, "Apr", 3);
367 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_19, "May", 3);
368 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_20, "Jun", 3);
369 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_21, "Jul", 3);
370 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_22, "Aug", 3);
371 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_23, "Sep", 3);
372 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_24, "Oct", 3);
373 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_25, "Nov", 3);
374 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_26, "Dec", 3);
375 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_27, "January", 7);
376 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_28, "February", 8);
377 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_29, "March", 5);
378 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_30, "April", 5);
379 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_31, "June", 4);
380 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_32, "July", 4);
381 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_33, "August", 6);
382 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_34, "September", 9);
383 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_35, "October", 7);
384 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_36, "November", 8);
385 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_37, "December", 8);
386 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_38, "Mon", 3);
387 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_39, "Tue", 3);
388 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_40, "Wed", 3);
389 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_41, "Thu", 3);
390 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_42, "Fri", 3);
391 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_43, "Sat", 3);
392 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_44, "Sun", 3);
393 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_45, "Monday", 6);
394 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_46, "Tuesday", 7);
395 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_47, "Wednesday", 9);
396 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_48, "Thursday", 8);
397 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_49, "Friday", 6);
398 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_50, "Saturday", 8);
399 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_51, "Sunday", 6);
400 N_LIB_PRIVATE NIM_CONST tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ DefaultLocale__pureZtimes_1628 = {{((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_15),
401 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_16),
402 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_17),
403 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_18),
404 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
405 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_20),
406 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
407 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_22),
408 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
409 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_24),
410 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_25),
411 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_26)}
412 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_27),
413 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_28),
414 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_29),
415 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_30),
416 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
417 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_31),
418 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_32),
419 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_33),
420 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_34),
421 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_35),
422 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_36),
423 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_37)}
424 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_38),
425 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_39),
426 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_40),
427 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_41),
428 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_42),
429 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_43),
430 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_44)}
431 , {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_45),
432 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_46),
433 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_47),
434 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_48),
435 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_49),
436 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_50),
437 ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_51)}
438 }
439 ;
440 N_LIB_PRIVATE TNimType NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_;
441 N_LIB_PRIVATE TNimType NTIint__PpavWgyrx5odXyR89aNlcWA_;
442 N_LIB_PRIVATE TNimType NTIint__rUuqTvFmkC6KKRqDAazGEA_;
443 N_LIB_PRIVATE TNimType NTIint__LBgXxpmYOpS8xroRZgNvbg_;
444 N_LIB_PRIVATE TNimType NTIint__Gz6vwaK0PZQIDIwfuvKsOg_;
445 extern TNimType NTIint__rR5Bzr1D5krxoo1NcNyeMA_;
446 N_LIB_PRIVATE TNimType NTIweekday__SVfemTA9aCOyua2TJYa6yBg_;
447 N_LIB_PRIVATE TNimType NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_;
448 extern TNimType NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_;
449 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonthLeap__pureZtimes_233 = {((NI) 0),
450 ((NI) 31),
451 ((NI) 60),
452 ((NI) 91),
453 ((NI) 121),
454 ((NI) 152),
455 ((NI) 182),
456 ((NI) 213),
457 ((NI) 244),
458 ((NI) 274),
459 ((NI) 305),
460 ((NI) 335)}
461 ;
462 N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonth__pureZtimes_232 = {((NI) 0),
463 ((NI) 31),
464 ((NI) 59),
465 ((NI) 90),
466 ((NI) 120),
467 ((NI) 151),
468 ((NI) 181),
469 ((NI) 212),
470 ((NI) 243),
471 ((NI) 273),
472 ((NI) 304),
473 ((NI) 334)}
474 ;
475 STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_59, "LOCAL", 5);
476 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* utcInstance__pureZtimes_1433;
477 N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* localInstance__pureZtimes_1434;
478 extern tyObject_GcHeap__1TRH1TZMaVZTnLNcIHuNFQ gch__system_5217;
N_NIMCALL(void,Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)479 static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op) {
480 	tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg* a;
481 	a = (tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*)p;
482 }
N_NIMCALL(void,Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)483 static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op) {
484 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* a;
485 	a = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)p;
486 	nimGCvisit((void*)(*a).zonedTimeFromTimeImpl.ClE_0, op);
487 	nimGCvisit((void*)(*a).zonedTimeFromAdjTimeImpl.ClE_0, op);
488 	nimGCvisit((void*)(*a).name, op);
489 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_4)490 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void) {
491 	nimGCvisit((void*)utcInstance__pureZtimes_1433, 0);
492 }
N_NIMCALL(void,TM__6NbDwwj5FY059b1gz2AsAZQ_5)493 static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void) {
494 	nimGCvisit((void*)localInstance__pureZtimes_1434, 0);
495 }
N_INLINE(void,nimSetMem__systemZmemory_7)496 static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
497 	void* T1_;
498 	T1_ = (void*)0;
499 	T1_ = memset(a, v, ((size_t) (size)));
500 }
N_INLINE(void,nimZeroMem)501 static N_INLINE(void, nimZeroMem)(void* p, NI size) {
502 	nimSetMem__systemZmemory_7(p, ((int) 0), size);
503 }
N_INLINE(NF,toFloat__system_1702)504 static N_INLINE(NF, toFloat__system_1702)(NI i) {
505 	NF result;
506 	result = (NF)0;
507 	result = ((NF) (i));
508 	return result;
509 }
N_NIMCALL(NF,cpuTime__pureZtimes_3605)510 N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__pureZtimes_3605)(void) {
511 	NF result;
512 	struct timespec ts;
513 	int T1_;
514 	NF T2_;
515 	NF T3_;
516 	result = (NF)0;
517 	nimZeroMem((void*)(&ts), sizeof(struct timespec));
518 	T1_ = (int)0;
519 	T1_ = clock_gettime(((clockid_t) (CLOCK_THREAD_CPUTIME_ID)), (&ts));
520 	(void)(T1_);
521 	T2_ = (NF)0;
522 	T2_ = toFloat__system_1702(ts.tv_sec);
523 	T3_ = (NF)0;
524 	T3_ = toFloat__system_1702(ts.tv_nsec);
525 	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
526 	return result;
527 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,initTime__pureZtimes_895)528 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__pureZtimes_895)(NI64 unix_0, NI nanosecond) {
529 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
530 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
531 	result.seconds = unix_0;
532 	result.nanosecond = nanosecond;
533 	return result;
534 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,getTime__pureZtimes_961)535 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__pureZtimes_961)(void) {
536 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
537 	struct timespec ts;
538 	int T1_;
539 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
540 	T1_ = (int)0;
541 	T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
542 	(void)(T1_);
543 	result = initTime__pureZtimes_895(((NI64) (ts.tv_sec)), ((NI) (ts.tv_nsec)));
544 	return result;
545 }
N_INLINE(NI,monthday__pureZtimes_1107)546 static N_INLINE(NI, monthday__pureZtimes_1107)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
547 	NI result;
548 	result = (NI)0;
549 	result = ((NI) ((*dt).monthdayZero));
550 	return result;
551 }
N_INLINE(void,nimCopyMem)552 static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
553 	void* T1_;
554 	T1_ = (void*)0;
555 	T1_ = memcpy(dest, source, ((size_t) (size)));
556 }
N_INLINE(void,copyMem__system_1727)557 static N_INLINE(void, copyMem__system_1727)(void* dest, void* source, NI size) {
558 	nimCopyMem(dest, source, size);
559 }
N_INLINE(void,appendString)560 static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
561 	{
562 		if (!!((src == ((NimStringDesc*) NIM_NIL)))) goto LA3_;
563 		copyMem__system_1727(((void*) ((&(*dest).data[(*dest).Sup.len]))), ((void*) ((*src).data)), ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
564 		(*dest).Sup.len += (*src).Sup.len;
565 	}
566 	LA3_: ;
567 }
N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw,month__pureZtimes_1113)568 N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__pureZtimes_1113)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
569 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw result;
570 	result = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
571 	result = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((*dt).monthZero));
572 	return result;
573 }
N_INLINE(NI,convert__pureZtimes_635)574 static N_INLINE(NI, convert__pureZtimes_635)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
575 	NI result;
576 	result = (NI)0;
577 	{
578 		if (!(unitFrom < unitTo)) goto LA3_;
579 		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
580 	}
581 	goto LA1_;
582 	LA3_: ;
583 	{
584 		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
585 	}
586 	LA1_: ;
587 	return result;
588 }
N_INLINE(void,appendChar)589 static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
590 	(*dest).data[(*dest).Sup.len] = c;
591 	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
592 	(*dest).Sup.len += ((NI) 1);
593 }
N_INLINE(int,nimCmpMem)594 static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
595 	int result;
596 	result = (int)0;
597 	result = memcmp(a, b, ((size_t) (size)));
598 	return result;
599 }
N_INLINE(NIM_BOOL,equalMem__system_1735)600 static N_INLINE(NIM_BOOL, equalMem__system_1735)(void* a, void* b, NI size) {
601 	NIM_BOOL result;
602 	int T1_;
603 	result = (NIM_BOOL)0;
604 	T1_ = (int)0;
605 	T1_ = nimCmpMem(a, b, size);
606 	result = (T1_ == ((NI32) 0));
607 	return result;
608 }
N_INLINE(NIM_BOOL,eqStrings)609 static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
610 	NIM_BOOL result;
611 	NI alen;
612 	NI blen;
613 {	result = (NIM_BOOL)0;
614 	alen = (a ? a->Sup.len : 0);
615 	blen = (b ? b->Sup.len : 0);
616 	{
617 		if (!(alen == blen)) goto LA3_;
618 		{
619 			if (!(alen == ((NI) 0))) goto LA7_;
620 			result = NIM_TRUE;
621 			goto BeforeRet_;
622 		}
623 		LA7_: ;
624 		result = equalMem__system_1735(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
625 		goto BeforeRet_;
626 	}
627 	LA3_: ;
628 	}BeforeRet_: ;
629 	return result;
630 }
N_NIMCALL(NIM_BOOL,eqeq___pureZtimes_1293)631 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZtimes_1293)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2) {
632 	NIM_BOOL result;
633 {	result = (NIM_BOOL)0;
634 	{
635 		if (!(zone1 == zone2)) goto LA3_;
636 		result = NIM_TRUE;
637 		goto BeforeRet_;
638 	}
639 	LA3_: ;
640 	{
641 		NIM_BOOL T7_;
642 		T7_ = (NIM_BOOL)0;
643 		T7_ = (zone1 == 0);
644 		if (T7_) goto LA8_;
645 		T7_ = (zone2 == 0);
646 		LA8_: ;
647 		if (!T7_) goto LA9_;
648 		result = NIM_FALSE;
649 		goto BeforeRet_;
650 	}
651 	LA9_: ;
652 	result = eqStrings((*zone1).name, (*zone2).name);
653 	}BeforeRet_: ;
654 	return result;
655 }
N_NIMCALL(void,formatPattern__pureZtimes_1863)656 N_LIB_PRIVATE N_NIMCALL(void, formatPattern__pureZtimes_1863)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
657 	switch (pattern) {
658 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 0):
659 	{
660 		NI T2_;
661 		NimStringDesc* T3_;
662 		T2_ = (NI)0;
663 		T2_ = monthday__pureZtimes_1107(dt);
664 		T3_ = NIM_NIL;
665 		T3_ = dollar___systemZdollars_3(((NI) (T2_)));
666 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T3_ ? T3_->Sup.len : 0) + 0));
667 appendString((*result), T3_);
668 	}
669 	break;
670 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 1):
671 	{
672 		NI T5_;
673 		NimStringDesc* T6_;
674 		T5_ = (NI)0;
675 		T5_ = monthday__pureZtimes_1107(dt);
676 		T6_ = NIM_NIL;
677 		T6_ = nsuIntToStr(((NI) (T5_)), ((NI) 2));
678 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T6_ ? T6_->Sup.len : 0) + 0));
679 appendString((*result), T6_);
680 	}
681 	break;
682 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 2):
683 	{
684 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).ddd[((*dt).weekday)- 0] ? (*loc).ddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
685 appendString((*result), (*loc).ddd[((*dt).weekday)- 0]);
686 	}
687 	break;
688 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 3):
689 	{
690 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).dddd[((*dt).weekday)- 0] ? (*loc).dddd[((*dt).weekday)- 0]->Sup.len : 0) + 0));
691 appendString((*result), (*loc).dddd[((*dt).weekday)- 0]);
692 	}
693 	break;
694 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 4):
695 	{
696 		NimStringDesc* T10_;
697 		T10_ = NIM_NIL;
698 		{
699 			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA13_;
700 			T10_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
701 		}
702 		goto LA11_;
703 		LA13_: ;
704 		{
705 			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA16_;
706 			T10_ = dollar___systemZdollars_3((NI)(((NI) ((*dt).hour)) - ((NI) 12)));
707 		}
708 		goto LA11_;
709 		LA16_: ;
710 		{
711 			T10_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
712 		}
713 		LA11_: ;
714 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T10_ ? T10_->Sup.len : 0) + 0));
715 appendString((*result), T10_);
716 	}
717 	break;
718 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 5):
719 	{
720 		NimStringDesc* T20_;
721 		T20_ = NIM_NIL;
722 		{
723 			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA23_;
724 			T20_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
725 		}
726 		goto LA21_;
727 		LA23_: ;
728 		{
729 			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA26_;
730 			T20_ = nsuIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)), ((NI) 2));
731 		}
732 		goto LA21_;
733 		LA26_: ;
734 		{
735 			T20_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
736 		}
737 		LA21_: ;
738 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T20_ ? T20_->Sup.len : 0) + 0));
739 appendString((*result), T20_);
740 	}
741 	break;
742 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 6):
743 	{
744 		NimStringDesc* T30_;
745 		T30_ = NIM_NIL;
746 		T30_ = dollar___systemZdollars_3(((NI) ((*dt).hour)));
747 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T30_ ? T30_->Sup.len : 0) + 0));
748 appendString((*result), T30_);
749 	}
750 	break;
751 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 7):
752 	{
753 		NimStringDesc* T32_;
754 		T32_ = NIM_NIL;
755 		T32_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
756 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T32_ ? T32_->Sup.len : 0) + 0));
757 appendString((*result), T32_);
758 	}
759 	break;
760 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 8):
761 	{
762 		NimStringDesc* T34_;
763 		T34_ = NIM_NIL;
764 		T34_ = dollar___systemZdollars_3(((NI) ((*dt).minute)));
765 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T34_ ? T34_->Sup.len : 0) + 0));
766 appendString((*result), T34_);
767 	}
768 	break;
769 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 9):
770 	{
771 		NimStringDesc* T36_;
772 		T36_ = NIM_NIL;
773 		T36_ = nsuIntToStr(((NI) ((*dt).minute)), ((NI) 2));
774 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T36_ ? T36_->Sup.len : 0) + 0));
775 appendString((*result), T36_);
776 	}
777 	break;
778 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 10):
779 	{
780 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T38_;
781 		NimStringDesc* T39_;
782 		T38_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
783 		T38_ = month__pureZtimes_1113(dt);
784 		T39_ = NIM_NIL;
785 		T39_ = dollar___systemZdollars_3(T38_);
786 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T39_ ? T39_->Sup.len : 0) + 0));
787 appendString((*result), T39_);
788 	}
789 	break;
790 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 11):
791 	{
792 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T41_;
793 		NimStringDesc* T42_;
794 		T41_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
795 		T41_ = month__pureZtimes_1113(dt);
796 		T42_ = NIM_NIL;
797 		T42_ = nsuIntToStr(T41_, ((NI) 2));
798 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T42_ ? T42_->Sup.len : 0) + 0));
799 appendString((*result), T42_);
800 	}
801 	break;
802 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 12):
803 	{
804 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T44_;
805 		T44_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
806 		T44_ = month__pureZtimes_1113(dt);
807 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMM[(T44_)- 1] ? (*loc).MMM[(T44_)- 1]->Sup.len : 0) + 0));
808 appendString((*result), (*loc).MMM[(T44_)- 1]);
809 	}
810 	break;
811 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 13):
812 	{
813 		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T46_;
814 		T46_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
815 		T46_ = month__pureZtimes_1113(dt);
816 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), ((*loc).MMMM[(T46_)- 1] ? (*loc).MMMM[(T46_)- 1]->Sup.len : 0) + 0));
817 appendString((*result), (*loc).MMMM[(T46_)- 1]);
818 	}
819 	break;
820 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 14):
821 	{
822 		NimStringDesc* T48_;
823 		T48_ = NIM_NIL;
824 		T48_ = dollar___systemZdollars_3(((NI) ((*dt).second)));
825 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T48_ ? T48_->Sup.len : 0) + 0));
826 appendString((*result), T48_);
827 	}
828 	break;
829 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 15):
830 	{
831 		NimStringDesc* T50_;
832 		T50_ = NIM_NIL;
833 		T50_ = nsuIntToStr(((NI) ((*dt).second)), ((NI) 2));
834 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0));
835 appendString((*result), T50_);
836 	}
837 	break;
838 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 16):
839 	{
840 		NI T52_;
841 		NimStringDesc* T53_;
842 		T52_ = (NI)0;
843 		T52_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), (*dt).nanosecond);
844 		T53_ = NIM_NIL;
845 		T53_ = nsuIntToStr(((NI) (T52_)), ((NI) 3));
846 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T53_ ? T53_->Sup.len : 0) + 0));
847 appendString((*result), T53_);
848 	}
849 	break;
850 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 17):
851 	{
852 		NI T55_;
853 		NimStringDesc* T56_;
854 		T55_ = (NI)0;
855 		T55_ = convert__pureZtimes_635(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), (*dt).nanosecond);
856 		T56_ = NIM_NIL;
857 		T56_ = nsuIntToStr(((NI) (T55_)), ((NI) 6));
858 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T56_ ? T56_->Sup.len : 0) + 0));
859 appendString((*result), T56_);
860 	}
861 	break;
862 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 18):
863 	{
864 		NimStringDesc* T58_;
865 		T58_ = NIM_NIL;
866 		T58_ = nsuIntToStr(((NI) ((*dt).nanosecond)), ((NI) 9));
867 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T58_ ? T58_->Sup.len : 0) + 0));
868 appendString((*result), T58_);
869 	}
870 	break;
871 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 19):
872 	{
873 		NimStringDesc* T60_;
874 		T60_ = NIM_NIL;
875 		{
876 			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA63_;
877 			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_7));
878 		}
879 		goto LA61_;
880 		LA63_: ;
881 		{
882 			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_8));
883 		}
884 		LA61_: ;
885 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T60_ ? T60_->Sup.len : 0) + 0));
886 appendString((*result), T60_);
887 	}
888 	break;
889 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 20):
890 	{
891 		NimStringDesc* T67_;
892 		T67_ = NIM_NIL;
893 		{
894 			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA70_;
895 			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_9));
896 		}
897 		goto LA68_;
898 		LA70_: ;
899 		{
900 			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_10));
901 		}
902 		LA68_: ;
903 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T67_ ? T67_->Sup.len : 0) + 0));
904 appendString((*result), T67_);
905 	}
906 	break;
907 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 21):
908 	{
909 		NI T74_;
910 		NimStringDesc* T80_;
911 		T74_ = (NI)0;
912 		{
913 			if (!((*dt).year <= ((NI) 0))) goto LA77_;
914 			T74_ = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
915 		}
916 		goto LA75_;
917 		LA77_: ;
918 		{
919 			T74_ = (*dt).year;
920 		}
921 		LA75_: ;
922 		T80_ = NIM_NIL;
923 		T80_ = nsuIntToStr((NI)(T74_ % ((NI) 100)), ((NI) 2));
924 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T80_ ? T80_->Sup.len : 0) + 0));
925 appendString((*result), T80_);
926 	}
927 	break;
928 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 22):
929 	{
930 		NI year;
931 		{
932 			if (!((*dt).year <= ((NI) 0))) goto LA84_;
933 			year = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
934 		}
935 		goto LA82_;
936 		LA84_: ;
937 		{
938 			year = (*dt).year;
939 		}
940 		LA82_: ;
941 		{
942 			NimStringDesc* T91_;
943 			if (!(year < ((NI) 10000))) goto LA89_;
944 			T91_ = NIM_NIL;
945 			T91_ = nsuIntToStr(year, ((NI) 4));
946 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T91_ ? T91_->Sup.len : 0) + 0));
947 appendString((*result), T91_);
948 		}
949 		goto LA87_;
950 		LA89_: ;
951 		{
952 			NimStringDesc* T93_;
953 			NimStringDesc* T94_;
954 			T93_ = NIM_NIL;
955 			T94_ = NIM_NIL;
956 			T94_ = dollar___systemZdollars_3(year);
957 			T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 1);
958 appendChar(T93_, 43);
959 appendString(T93_, T94_);
960 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T93_ ? T93_->Sup.len : 0) + 0));
961 appendString((*result), T93_);
962 		}
963 		LA87_: ;
964 	}
965 	break;
966 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 23):
967 	{
968 		{
969 			NimStringDesc* T100_;
970 			if (!((*dt).year < ((NI) 1))) goto LA98_;
971 			T100_ = NIM_NIL;
972 			T100_ = dollar___systemZdollars_3((NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1)));
973 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T100_ ? T100_->Sup.len : 0) + 0));
974 appendString((*result), T100_);
975 		}
976 		goto LA96_;
977 		LA98_: ;
978 		{
979 			NimStringDesc* T102_;
980 			T102_ = NIM_NIL;
981 			T102_ = dollar___systemZdollars_3((*dt).year);
982 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T102_ ? T102_->Sup.len : 0) + 0));
983 appendString((*result), T102_);
984 		}
985 		LA96_: ;
986 	}
987 	break;
988 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 24):
989 	{
990 		NI year_2;
991 		year_2 = (*dt).year;
992 		{
993 			NIM_BOOL T106_;
994 			NimStringDesc* T110_;
995 			T106_ = (NIM_BOOL)0;
996 			T106_ = (year_2 < ((NI) 10000));
997 			if (T106_) goto LA107_;
998 			T106_ = (year_2 < ((NI) 0));
999 			LA107_: ;
1000 			if (!T106_) goto LA108_;
1001 			T110_ = NIM_NIL;
1002 			T110_ = nsuIntToStr(year_2, ((NI) 4));
1003 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T110_ ? T110_->Sup.len : 0) + 0));
1004 appendString((*result), T110_);
1005 		}
1006 		goto LA104_;
1007 		LA108_: ;
1008 		{
1009 			NimStringDesc* T112_;
1010 			NimStringDesc* T113_;
1011 			T112_ = NIM_NIL;
1012 			T113_ = NIM_NIL;
1013 			T113_ = dollar___systemZdollars_3(year_2);
1014 			T112_ = rawNewString((T113_ ? T113_->Sup.len : 0) + 1);
1015 appendChar(T112_, 43);
1016 appendString(T112_, T113_);
1017 			unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T112_ ? T112_->Sup.len : 0) + 0));
1018 appendString((*result), T112_);
1019 		}
1020 		LA104_: ;
1021 	}
1022 	break;
1023 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 25):
1024 	{
1025 		NimStringDesc* T115_;
1026 		T115_ = NIM_NIL;
1027 		T115_ = dollar___systemZdollars_3((*dt).year);
1028 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T115_ ? T115_->Sup.len : 0) + 0));
1029 appendString((*result), T115_);
1030 	}
1031 	break;
1032 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1033 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1034 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1035 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1036 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1037 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1038 	{
1039 		{
1040 			NIM_BOOL T119_;
1041 			NIM_BOOL T120_;
1042 			T119_ = (NIM_BOOL)0;
1043 			T120_ = (NIM_BOOL)0;
1044 			T120_ = eqeq___pureZtimes_1293((*dt).timezone, ((tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) NIM_NIL));
1045 			T119_ = !(T120_);
1046 			if (!(T119_)) goto LA121_;
1047 			T119_ = eqStrings((*(*dt).timezone).name, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11));
1048 			LA121_: ;
1049 			if (!T119_) goto LA122_;
1050 			unsureAsgnRef((void**) (&(*result)), addChar((*result), 90));
1051 		}
1052 		goto LA117_;
1053 		LA122_: ;
1054 		{
1055 			NIM_CHAR T125_;
1056 			NI absOffset;
1057 			T125_ = (NIM_CHAR)0;
1058 			{
1059 				if (!(((NI) 0) <= ((NI32)-((*dt).utcOffset)))) goto LA128_;
1060 				T125_ = 43;
1061 			}
1062 			goto LA126_;
1063 			LA128_: ;
1064 			{
1065 				T125_ = 45;
1066 			}
1067 			LA126_: ;
1068 			unsureAsgnRef((void**) (&(*result)), addChar((*result), T125_));
1069 			absOffset = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1070 			switch (pattern) {
1071 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
1072 			{
1073 				NimStringDesc* T132_;
1074 				T132_ = NIM_NIL;
1075 				T132_ = dollar___systemZdollars_3((NI)(absOffset / ((NI) 3600)));
1076 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T132_ ? T132_->Sup.len : 0) + 0));
1077 appendString((*result), T132_);
1078 			}
1079 			break;
1080 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
1081 			{
1082 				NimStringDesc* T134_;
1083 				T134_ = NIM_NIL;
1084 				T134_ = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1085 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T134_ ? T134_->Sup.len : 0) + 0));
1086 appendString((*result), T134_);
1087 			}
1088 			break;
1089 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
1090 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
1091 			{
1092 				NimStringDesc* h;
1093 				NimStringDesc* m;
1094 				NimStringDesc* sep;
1095 				NimStringDesc* T141_;
1096 				h = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
1097 				m = nsuIntToStr((NI)((NI)(absOffset / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1098 				{
1099 					if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28))) goto LA138_;
1100 					sep = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1101 				}
1102 				goto LA136_;
1103 				LA138_: ;
1104 				{
1105 					sep = ((NimStringDesc*) NIM_NIL);
1106 				}
1107 				LA136_: ;
1108 				T141_ = NIM_NIL;
1109 				T141_ = rawNewString((h ? h->Sup.len : 0) + (sep ? sep->Sup.len : 0) + (m ? m->Sup.len : 0) + 0);
1110 appendString(T141_, h);
1111 appendString(T141_, sep);
1112 appendString(T141_, m);
1113 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T141_ ? T141_->Sup.len : 0) + 0));
1114 appendString((*result), T141_);
1115 			}
1116 			break;
1117 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
1118 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
1119 			{
1120 				NI absOffset_2;
1121 				NimStringDesc* h_2;
1122 				NimStringDesc* m_2;
1123 				NimStringDesc* s;
1124 				NimStringDesc* sep_2;
1125 				NimStringDesc* T148_;
1126 				absOffset_2 = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
1127 				h_2 = nsuIntToStr((NI)(absOffset_2 / ((NI) 3600)), ((NI) 2));
1128 				m_2 = nsuIntToStr((NI)((NI)(absOffset_2 / ((NI) 60)) % ((NI) 60)), ((NI) 2));
1129 				s = nsuIntToStr((NI)(absOffset_2 % ((NI) 60)), ((NI) 2));
1130 				{
1131 					if (!(pattern == ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29))) goto LA145_;
1132 					sep_2 = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
1133 				}
1134 				goto LA143_;
1135 				LA145_: ;
1136 				{
1137 					sep_2 = ((NimStringDesc*) NIM_NIL);
1138 				}
1139 				LA143_: ;
1140 				T148_ = NIM_NIL;
1141 				T148_ = rawNewString((h_2 ? h_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (m_2 ? m_2->Sup.len : 0) + (sep_2 ? sep_2->Sup.len : 0) + (s ? s->Sup.len : 0) + 0);
1142 appendString(T148_, h_2);
1143 appendString(T148_, sep_2);
1144 appendString(T148_, m_2);
1145 appendString(T148_, sep_2);
1146 appendString(T148_, s);
1147 				unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T148_ ? T148_->Sup.len : 0) + 0));
1148 appendString((*result), T148_);
1149 			}
1150 			break;
1151 			default:
1152 			{
1153 			}
1154 			break;
1155 			}
1156 		}
1157 		LA117_: ;
1158 	}
1159 	break;
1160 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 32):
1161 	{
1162 		NimStringDesc* T151_;
1163 		T151_ = NIM_NIL;
1164 		{
1165 			if (!((*dt).year < ((NI) 1))) goto LA154_;
1166 			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_13));
1167 		}
1168 		goto LA152_;
1169 		LA154_: ;
1170 		{
1171 			T151_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_14));
1172 		}
1173 		LA152_: ;
1174 		unsureAsgnRef((void**) (&(*result)), resizeString((*result), (T151_ ? T151_->Sup.len : 0) + 0));
1175 appendString((*result), T151_);
1176 	}
1177 	break;
1178 	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1179 	{
1180 	}
1181 	break;
1182 	}
1183 }
N_NIMCALL(NimStringDesc *,format__pureZtimes_2989)1184 N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__pureZtimes_2989)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
1185 	NimStringDesc* result;
1186 	NI idx;
1187 	result = NIM_NIL;
1188 	result = ((NimStringDesc*) NIM_NIL);
1189 	idx = ((NI) 0);
1190 	{
1191 		while (1) {
1192 			NI T3_;
1193 			T3_ = ((f.patterns ? f.patterns->Sup.len : 0)-1);
1194 			if (!(idx <= T3_)) goto LA2;
1195 			switch (((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx]))) {
1196 			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 33):
1197 			{
1198 				NU8 len;
1199 				idx += ((NI) 1);
1200 				len = f.patterns->data[idx];
1201 				{
1202 					NU8 i;
1203 					NI res;
1204 					i = (NU8)0;
1205 					res = ((NI) 1);
1206 					{
1207 						while (1) {
1208 							if (!(res <= ((NI) (len)))) goto LA7;
1209 							i = ((NU8) (res));
1210 							idx += ((NI) 1);
1211 							result = addChar(result, ((NIM_CHAR) (f.patterns->data[idx])));
1212 							res += ((NI) 1);
1213 						} LA7: ;
1214 					}
1215 				}
1216 				idx += ((NI) 1);
1217 			}
1218 			break;
1219 			default:
1220 			{
1221 				formatPattern__pureZtimes_1863(dt, ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx])), (&result), loc);
1222 				idx += ((NI) 1);
1223 			}
1224 			break;
1225 			}
1226 		} LA2: ;
1227 	}
1228 	return result;
1229 }
N_INLINE(NI64,convert__pureZtimes_376)1230 static N_INLINE(NI64, convert__pureZtimes_376)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity) {
1231 	NI64 result;
1232 	result = (NI64)0;
1233 	{
1234 		if (!(unitFrom < unitTo)) goto LA3_;
1235 		result = (NI64)(quantity / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]));
1236 	}
1237 	goto LA1_;
1238 	LA3_: ;
1239 	{
1240 		result = (NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * quantity);
1241 	}
1242 	LA1_: ;
1243 	return result;
1244 }
N_INLINE(NI,convert__pureZtimes_443)1245 static N_INLINE(NI, convert__pureZtimes_443)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
1246 	NI result;
1247 	result = (NI)0;
1248 	{
1249 		if (!(unitFrom < unitTo)) goto LA3_;
1250 		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__pureZtimes_109[(unitTo)- 0] / unitWeights__pureZtimes_109[(unitFrom)- 0]))));
1251 	}
1252 	goto LA1_;
1253 	LA3_: ;
1254 	{
1255 		result = ((NI) ((NI64)((NI64)(unitWeights__pureZtimes_109[(unitFrom)- 0] / unitWeights__pureZtimes_109[(unitTo)- 0]) * ((NI64) (quantity)))));
1256 	}
1257 	LA1_: ;
1258 	return result;
1259 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,normalize__pureZtimes_991)1260 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__pureZtimes_991)(NI64 seconds, NI64 nanoseconds) {
1261 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1262 	NI64 T1_;
1263 	NI64 nanosecond;
1264 	NI T2_;
1265 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1266 	T1_ = (NI64)0;
1267 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1268 	result.seconds = (NI64)(seconds + T1_);
1269 	T2_ = (NI)0;
1270 	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1271 	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1272 	{
1273 		NI T7_;
1274 		if (!(nanosecond < IL64(0))) goto LA5_;
1275 		T7_ = (NI)0;
1276 		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1277 		nanosecond += ((NI64) (T7_));
1278 		result.seconds -= ((NI) 1);
1279 	}
1280 	LA5_: ;
1281 	result.nanosecond = ((NI) (((NI) (nanosecond))));
1282 	return result;
1283 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,ntSubTime)1284 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b) {
1285 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1286 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1287 	result = normalize__pureZtimes_991((NI64)(a.seconds - b.seconds), ((NI64) ((NI)(((NI) (a.nanosecond)) - ((NI) (b.nanosecond))))));
1288 	return result;
1289 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,normalize__pureZtimes_433)1290 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__pureZtimes_433)(NI64 seconds, NI64 nanoseconds) {
1291 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1292 	NI64 T1_;
1293 	NI64 nanosecond;
1294 	NI T2_;
1295 	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1296 	T1_ = (NI64)0;
1297 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1298 	result.seconds = (NI64)(seconds + T1_);
1299 	T2_ = (NI)0;
1300 	T2_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1301 	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
1302 	{
1303 		NI T7_;
1304 		if (!(nanosecond < IL64(0))) goto LA5_;
1305 		T7_ = (NI)0;
1306 		T7_ = convert__pureZtimes_443(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
1307 		nanosecond += ((NI64) (T7_));
1308 		result.seconds -= ((NI) 1);
1309 	}
1310 	LA5_: ;
1311 	result.nanosecond = ((NI) (((NI) (nanosecond))));
1312 	return result;
1313 }
N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw,initDuration__pureZtimes_366)1314 N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__pureZtimes_366)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks) {
1315 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
1316 	NI64 seconds_2;
1317 	NI64 T1_;
1318 	NI64 T2_;
1319 	NI64 T3_;
1320 	NI64 T4_;
1321 	NI64 T5_;
1322 	NI64 T6_;
1323 	NI64 T7_;
1324 	NI64 T8_;
1325 	NI nanoseconds_2;
1326 	NI64 T9_;
1327 	NI64 T10_;
1328 	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
1329 	T1_ = (NI64)0;
1330 	T1_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 7), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), weeks);
1331 	T2_ = (NI64)0;
1332 	T2_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 6), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), days);
1333 	T3_ = (NI64)0;
1334 	T3_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 4), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), minutes);
1335 	T4_ = (NI64)0;
1336 	T4_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 5), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), hours);
1337 	T5_ = (NI64)0;
1338 	T5_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), seconds);
1339 	T6_ = (NI64)0;
1340 	T6_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), milliseconds);
1341 	T7_ = (NI64)0;
1342 	T7_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), microseconds);
1343 	T8_ = (NI64)0;
1344 	T8_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
1345 	seconds_2 = (NI64)((NI64)((NI64)((NI64)((NI64)((NI64)((NI64)(T1_ + T2_) + T3_) + T4_) + T5_) + T6_) + T7_) + T8_);
1346 	T9_ = (NI64)0;
1347 	T9_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(milliseconds % IL64(1000)));
1348 	T10_ = (NI64)0;
1349 	T10_ = convert__pureZtimes_376(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(microseconds % IL64(1000000)));
1350 	nanoseconds_2 = ((NI) ((NI64)((NI64)(T9_ + T10_) + (NI64)(nanoseconds % IL64(1000000000)))));
1351 	result = normalize__pureZtimes_433(seconds_2, ((NI64) (nanoseconds_2)));
1352 	return result;
1353 }
N_NIMCALL(NI64,floorDiv__pureZtimes_258)1354 N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__pureZtimes_258)(NI64 x, NI64 y) {
1355 	NI64 result;
1356 	NI64 r;
1357 	result = (NI64)0;
1358 	result = (NI64)(x / y);
1359 	r = (NI64)(x % y);
1360 	{
1361 		NIM_BOOL T3_;
1362 		NIM_BOOL T4_;
1363 		NIM_BOOL T7_;
1364 		T3_ = (NIM_BOOL)0;
1365 		T4_ = (NIM_BOOL)0;
1366 		T4_ = (IL64(0) < r);
1367 		if (!(T4_)) goto LA5_;
1368 		T4_ = (y < IL64(0));
1369 		LA5_: ;
1370 		T3_ = T4_;
1371 		if (T3_) goto LA6_;
1372 		T7_ = (NIM_BOOL)0;
1373 		T7_ = (r < IL64(0));
1374 		if (!(T7_)) goto LA8_;
1375 		T7_ = (IL64(0) < y);
1376 		LA8_: ;
1377 		T3_ = T7_;
1378 		LA6_: ;
1379 		if (!T3_) goto LA9_;
1380 		result -= ((NI) 1);
1381 	}
1382 	LA9_: ;
1383 	return result;
1384 }
N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ,fromEpochDay__pureZtimes_187)1385 N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__pureZtimes_187)(NI64 epochday) {
1386 	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ result;
1387 	NI64 z;
1388 	NI64 era;
1389 	NI64 T1_;
1390 	NI64 doe;
1391 	NI64 yoe;
1392 	NI64 y;
1393 	NI64 doy;
1394 	NI64 mp;
1395 	NI64 d;
1396 	NI64 m;
1397 	NI T7_;
1398 	NI colontmp_;
1399 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw colontmp__2;
1400 	NI colontmp__3;
1401 {	nimZeroMem((void*)(&result), sizeof(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ));
1402 	z = epochday;
1403 	z += ((NI) 719468);
1404 	T1_ = (NI64)0;
1405 	{
1406 		if (!(IL64(0) <= z)) goto LA4_;
1407 		T1_ = z;
1408 	}
1409 	goto LA2_;
1410 	LA4_: ;
1411 	{
1412 		T1_ = (NI64)(z - IL64(146096));
1413 	}
1414 	LA2_: ;
1415 	era = (NI64)(T1_ / IL64(146097));
1416 	doe = (NI64)(z - (NI64)(era * IL64(146097)));
1417 	yoe = (NI64)((NI64)((NI64)((NI64)(doe - (NI64)(doe / IL64(1460))) + (NI64)(doe / IL64(36524))) - (NI64)(doe / IL64(146096))) / IL64(365));
1418 	y = (NI64)(yoe + (NI64)(era * IL64(400)));
1419 	doy = (NI64)(doe - (NI64)((NI64)((NI64)(IL64(365) * yoe) + (NI64)(yoe / IL64(4))) - (NI64)(yoe / IL64(100))));
1420 	mp = (NI64)((NI64)((NI64)(IL64(5) * doy) + IL64(2)) / IL64(153));
1421 	d = (NI64)((NI64)(doy - (NI64)((NI64)((NI64)(IL64(153) * mp) + IL64(2)) / IL64(5))) + IL64(1));
1422 	T7_ = (NI)0;
1423 	{
1424 		if (!(mp < IL64(10))) goto LA10_;
1425 		T7_ = ((NI) 3);
1426 	}
1427 	goto LA8_;
1428 	LA10_: ;
1429 	{
1430 		T7_ = ((NI) -9);
1431 	}
1432 	LA8_: ;
1433 	m = (NI64)(mp + ((NI64) (T7_)));
1434 	colontmp_ = ((NI) (d));
1435 	colontmp__2 = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) (m));
1436 	colontmp__3 = ((NI) ((NI64)(y + ((NI64) ((m <= IL64(2)))))));
1437 	result.Field0 = colontmp_;
1438 	result.Field1 = colontmp__2;
1439 	result.Field2 = colontmp__3;
1440 	goto BeforeRet_;
1441 	}BeforeRet_: ;
1442 	return result;
1443 }
N_INLINE(void,assertValidDate__pureZtimes_139)1444 static N_INLINE(void, assertValidDate__pureZtimes_139)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1445 }
N_NIMCALL(NI64,toEpochDay__pureZtimes_150)1446 N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__pureZtimes_150)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1447 	NI64 result;
1448 	tyTuple__47w2DboNEPf69aPgubZdd7Q T1_;
1449 	NI y;
1450 	NI m;
1451 	NI d;
1452 	NI era;
1453 	NI T6_;
1454 	NI yoe;
1455 	NI doy;
1456 	NI T12_;
1457 	NI doe;
1458 {	result = (NI64)0;
1459 	assertValidDate__pureZtimes_139(monthday, month, year);
1460 	T1_.Field0 = year;
1461 	T1_.Field1 = month;
1462 	T1_.Field2 = ((NI) (monthday));
1463 	y = T1_.Field0;
1464 	m = T1_.Field1;
1465 	d = T1_.Field2;
1466 	{
1467 		if (!(m <= ((NI) 2))) goto LA4_;
1468 		y -= ((NI) 1);
1469 	}
1470 	LA4_: ;
1471 	T6_ = (NI)0;
1472 	{
1473 		if (!(((NI) 0) <= y)) goto LA9_;
1474 		T6_ = y;
1475 	}
1476 	goto LA7_;
1477 	LA9_: ;
1478 	{
1479 		T6_ = (NI)(y - ((NI) 399));
1480 	}
1481 	LA7_: ;
1482 	era = (NI)(T6_ / ((NI) 400));
1483 	yoe = (NI)(y - (NI)(era * ((NI) 400)));
1484 	T12_ = (NI)0;
1485 	{
1486 		if (!(((NI) 2) < m)) goto LA15_;
1487 		T12_ = ((NI) -3);
1488 	}
1489 	goto LA13_;
1490 	LA15_: ;
1491 	{
1492 		T12_ = ((NI) 9);
1493 	}
1494 	LA13_: ;
1495 	doy = (NI)((NI)((NI)((NI)((NI)(((NI) 153) * (NI)(m + T12_)) + ((NI) 2)) / ((NI) 5)) + d) - ((NI) 1));
1496 	doe = (NI)((NI)((NI)((NI)(yoe * ((NI) 365)) + (NI)(yoe / ((NI) 4))) - (NI)(yoe / ((NI) 100))) + doy);
1497 	result = ((NI64) ((NI)((NI)((NI)(era * ((NI) 146097)) + doe) - ((NI) 719468))));
1498 	goto BeforeRet_;
1499 	}BeforeRet_: ;
1500 	return result;
1501 }
N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg,getDayOfWeek__pureZtimes_252)1502 N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__pureZtimes_252)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1503 	tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg result;
1504 	NI64 days;
1505 	NI64 T1_;
1506 	NI64 weeks;
1507 	NI64 wd;
1508 	result = (tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg)0;
1509 	assertValidDate__pureZtimes_139(monthday, month, year);
1510 	T1_ = (NI64)0;
1511 	T1_ = toEpochDay__pureZtimes_150(monthday, month, year);
1512 	days = (NI64)(T1_ - IL64(3));
1513 	weeks = floorDiv__pureZtimes_258(days, ((NI) 7));
1514 	wd = (NI64)(days - (NI64)(weeks * IL64(7)));
1515 	{
1516 		if (!(wd == IL64(0))) goto LA4_;
1517 		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) 6);
1518 	}
1519 	goto LA2_;
1520 	LA4_: ;
1521 	{
1522 		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) ((NI64)(wd - IL64(1))));
1523 	}
1524 	LA2_: ;
1525 	return result;
1526 }
N_NIMCALL(NIM_BOOL,isLeapYear__pureZtimes_132)1527 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__pureZtimes_132)(NI year) {
1528 	NIM_BOOL result;
1529 	NIM_BOOL T1_;
1530 	NIM_BOOL T3_;
1531 	result = (NIM_BOOL)0;
1532 	T1_ = (NIM_BOOL)0;
1533 	T1_ = ((NI)(year % ((NI) 4)) == ((NI) 0));
1534 	if (!(T1_)) goto LA2_;
1535 	T3_ = (NIM_BOOL)0;
1536 	T3_ = !(((NI)(year % ((NI) 100)) == ((NI) 0)));
1537 	if (T3_) goto LA4_;
1538 	T3_ = ((NI)(year % ((NI) 400)) == ((NI) 0));
1539 	LA4_: ;
1540 	T1_ = T3_;
1541 	LA2_: ;
1542 	result = T1_;
1543 	return result;
1544 }
N_NIMCALL(NI,getDayOfYear__pureZtimes_227)1545 N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__pureZtimes_227)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
1546 	NI result;
1547 	result = (NI)0;
1548 	assertValidDate__pureZtimes_139(monthday, month, year);
1549 	{
1550 		NIM_BOOL T3_;
1551 		T3_ = (NIM_BOOL)0;
1552 		T3_ = isLeapYear__pureZtimes_132(year);
1553 		if (!T3_) goto LA4_;
1554 		result = ((NI) ((NI)((NI)(daysUntilMonthLeap__pureZtimes_233[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1555 	}
1556 	goto LA1_;
1557 	LA4_: ;
1558 	{
1559 		result = ((NI) ((NI)((NI)(daysUntilMonth__pureZtimes_232[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
1560 	}
1561 	LA1_: ;
1562 	return result;
1563 }
N_NIMCALL(void,initDateTime__pureZtimes_1210)1564 N_LIB_PRIVATE N_NIMCALL(void, initDateTime__pureZtimes_1210)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1565 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime;
1566 	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw T1_;
1567 	NI64 s;
1568 	NI64 epochday;
1569 	NI64 rem;
1570 	NI64 hour;
1571 	NI64 minute;
1572 	NI64 second;
1573 	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ T2_;
1574 	NI d;
1575 	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw m;
1576 	NI y;
1577 	T1_ = initDuration__pureZtimes_366(IL64(0), IL64(0), IL64(0), ((NI64) (zt.utcOffset)), IL64(0), IL64(0), IL64(0), IL64(0));
1578 	adjTime = ntSubTime(zt.time, T1_);
1579 	s = adjTime.seconds;
1580 	epochday = floorDiv__pureZtimes_258(s, ((NI) 86400));
1581 	rem = (NI64)(s - (NI64)(epochday * IL64(86400)));
1582 	hour = (NI64)(rem / IL64(3600));
1583 	rem = (NI64)(rem - (NI64)(hour * IL64(3600)));
1584 	minute = (NI64)(rem / IL64(60));
1585 	rem = (NI64)(rem - (NI64)(minute * IL64(60)));
1586 	second = rem;
1587 	T2_ = fromEpochDay__pureZtimes_187(epochday);
1588 	d = T2_.Field0;
1589 	m = T2_.Field1;
1590 	y = T2_.Field2;
1591 	(*Result).monthdayZero = 0;
1592 	(*Result).monthZero = 0;
1593 	(*Result).year = 0;
1594 	(*Result).weekday = 0;
1595 	(*Result).isDst = 0;
1596 	unsureAsgnRef((void**)&(*Result).timezone, NIM_NIL);
1597 	(*Result).utcOffset = 0;
1598 	(*Result).Sup.m_type = (&NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_);
1599 	(*Result).year = y;
1600 	(*Result).monthZero = ((NI) (m));
1601 	(*Result).monthdayZero = ((NI) (d));
1602 	(*Result).hour = ((NI) (hour));
1603 	(*Result).minute = ((NI) (minute));
1604 	(*Result).second = ((NI) (second));
1605 	(*Result).nanosecond = zt.time.nanosecond;
1606 	(*Result).weekday = getDayOfWeek__pureZtimes_252(d, m, y);
1607 	(*Result).yearday = getDayOfYear__pureZtimes_227(d, m, y);
1608 	(*Result).isDst = zt.isDst;
1609 	unsureAsgnRef((void**) (&(*Result).timezone), zone);
1610 	(*Result).utcOffset = zt.utcOffset;
1611 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,zonedTimeFromTime__pureZtimes_1267)1612 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__pureZtimes_1267)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1613 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1614 	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1615 	result = (*zone).zonedTimeFromTimeImpl.ClE_0? (*zone).zonedTimeFromTimeImpl.ClP_0(time, (*zone).zonedTimeFromTimeImpl.ClE_0):((TM__6NbDwwj5FY059b1gz2AsAZQ_56)((*zone).zonedTimeFromTimeImpl.ClP_0))(time);
1616 	return result;
1617 }
N_NIMCALL(void,inZone__pureZtimes_1307)1618 N_LIB_PRIVATE N_NIMCALL(void, inZone__pureZtimes_1307)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1619 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ T1_;
1620 	T1_ = zonedTimeFromTime__pureZtimes_1267(zone, time);
1621 	initDateTime__pureZtimes_1210(T1_, zone, Result);
1622 }
N_INLINE(NI,minuspercent___system_716)1623 static N_INLINE(NI, minuspercent___system_716)(NI x, NI y) {
1624 	NI result;
1625 	result = (NI)0;
1626 	result = ((NI) ((NU)((NU32)(((NU) (x))) - (NU32)(((NU) (y))))));
1627 	return result;
1628 }
N_INLINE(NIM_BOOL,ltpercent___system_1005)1629 static N_INLINE(NIM_BOOL, ltpercent___system_1005)(NI x, NI y) {
1630 	NIM_BOOL result;
1631 	result = (NIM_BOOL)0;
1632 	result = ((NU32)(((NU) (x))) < (NU32)(((NU) (y))));
1633 	return result;
1634 }
N_INLINE(void,rtlAddZCT__system_5313)1635 static N_INLINE(void, rtlAddZCT__system_5313)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1636 	addZCT__system_5264((&gch__system_5217.zct), c);
1637 }
N_INLINE(void,decRef__system_5315)1638 static N_INLINE(void, decRef__system_5315)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1639 	(*c).refcount = minuspercent___system_716((*c).refcount, ((NI) 8));
1640 	{
1641 		NIM_BOOL T3_;
1642 		T3_ = (NIM_BOOL)0;
1643 		T3_ = ltpercent___system_1005((*c).refcount, ((NI) 8));
1644 		if (!T3_) goto LA4_;
1645 		rtlAddZCT__system_5313(c);
1646 	}
1647 	LA4_: ;
1648 }
N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g *,usrToCell__system_5270)1649 static N_INLINE(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*, usrToCell__system_5270)(void* usr) {
1650 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* result;
1651 	NI T1_;
1652 	result = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1653 	T1_ = (NI)0;
1654 	T1_ = minuspercent___system_716(((NI) (ptrdiff_t) (usr)), ((NI) 8));
1655 	result = ((tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*) (T1_));
1656 	return result;
1657 }
N_INLINE(void,nimGCunrefNoCycle)1658 static N_INLINE(void, nimGCunrefNoCycle)(void* p) {
1659 	tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T1_;
1660 	T1_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1661 	T1_ = usrToCell__system_5270(p);
1662 	decRef__system_5315(T1_);
1663 }
N_INLINE(NI,pluspercent___system_696)1664 static N_INLINE(NI, pluspercent___system_696)(NI x, NI y) {
1665 	NI result;
1666 	result = (NI)0;
1667 	result = ((NI) ((NU)((NU32)(((NU) (x))) + (NU32)(((NU) (y))))));
1668 	return result;
1669 }
N_INLINE(void,incRef__system_5308)1670 static N_INLINE(void, incRef__system_5308)(tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* c) {
1671 	(*c).refcount = pluspercent___system_696((*c).refcount, ((NI) 8));
1672 }
N_INLINE(void,asgnRef)1673 static N_INLINE(void, asgnRef)(void** dest, void* src) {
1674 	{
1675 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T5_;
1676 		if (!!((src == NIM_NIL))) goto LA3_;
1677 		T5_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1678 		T5_ = usrToCell__system_5270(src);
1679 		incRef__system_5308(T5_);
1680 	}
1681 	LA3_: ;
1682 	{
1683 		tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g* T10_;
1684 		if (!!(((*dest) == NIM_NIL))) goto LA8_;
1685 		T10_ = (tyObject_Cell__1zcF9cV8XIAtbN8h5HRUB8g*)0;
1686 		T10_ = usrToCell__system_5270((*dest));
1687 		decRef__system_5315(T10_);
1688 	}
1689 	LA8_: ;
1690 	(*dest) = src;
1691 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,newTimezone__pureZtimes_1237)1692 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__pureZtimes_1237)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl) {
1693 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1694 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1695 	NimStringDesc* T2_;
1696 	result = NIM_NIL;
1697 	T1_ = NIM_NIL;
1698 	T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) newObj((&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_), sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw));
1699 	T2_ = NIM_NIL;
1700 	T2_ = (*T1_).name; (*T1_).name = copyStringRC1(name);
1701 	if (T2_) nimGCunrefNoCycle(T2_);
1702 	asgnRef((void**) (&(*T1_).zonedTimeFromTimeImpl.ClE_0), zonedTimeFromTimeImpl.ClE_0);
1703 	(*T1_).zonedTimeFromTimeImpl.ClP_0 = zonedTimeFromTimeImpl.ClP_0;
1704 	asgnRef((void**) (&(*T1_).zonedTimeFromAdjTimeImpl.ClE_0), zonedTimeFromAdjTimeImpl.ClE_0);
1705 	(*T1_).zonedTimeFromAdjTimeImpl.ClP_0 = zonedTimeFromAdjTimeImpl.ClP_0;
1706 	result = T1_;
1707 	return result;
1708 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,utcTzInfo__pureZtimes_1430)1709 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__pureZtimes_1430)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1710 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1711 	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1712 	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1713 	result.utcOffset = ((NI) 0);
1714 	result.isDst = NIM_FALSE;
1715 	result.time = time;
1716 	return result;
1717 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,utc__pureZtimes_1436)1718 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__pureZtimes_1436)(void) {
1719 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1720 	result = NIM_NIL;
1721 	{
1722 		tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1723 		tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1724 		if (!(utcInstance__pureZtimes_1433 == 0)) goto LA3_;
1725 		nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1726 		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_57) (utcTzInfo__pureZtimes_1430)); T5_.ClE_0 = NIM_NIL;
1727 		nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1728 		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_58) (utcTzInfo__pureZtimes_1430)); T6_.ClE_0 = NIM_NIL;
1729 		asgnRef((void**) (&utcInstance__pureZtimes_1433), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11), T5_, T6_));
1730 	}
1731 	LA3_: ;
1732 	result = utcInstance__pureZtimes_1433;
1733 	return result;
1734 }
N_NIMCALL(void,utc__pureZtimes_1461)1735 N_LIB_PRIVATE N_NIMCALL(void, utc__pureZtimes_1461)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1736 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1737 	T1_ = NIM_NIL;
1738 	T1_ = utc__pureZtimes_1436();
1739 	inZone__pureZtimes_1307(t, T1_, Result);
1740 }
N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q,fromUnix__pureZtimes_902)1741 N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromUnix__pureZtimes_902)(NI64 unix_0) {
1742 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
1743 	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
1744 	result = initTime__pureZtimes_895(unix_0, ((NI) 0));
1745 	return result;
1746 }
N_NIMCALL(NI64,toUnix__pureZtimes_914)1747 N_LIB_PRIVATE N_NIMCALL(NI64, toUnix__pureZtimes_914)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t) {
1748 	NI64 result;
1749 	result = (NI64)0;
1750 	result = t.seconds;
1751 	return result;
1752 }
N_INLINE(NF,toBiggestFloat__system_1705)1753 static N_INLINE(NF, toBiggestFloat__system_1705)(NI64 i) {
1754 	NF result;
1755 	result = (NF)0;
1756 	result = ((NF) (i));
1757 	return result;
1758 }
N_NIMCALL(NF,epochTime__pureZtimes_3599)1759 N_LIB_PRIVATE N_NIMCALL(NF, epochTime__pureZtimes_3599)(void) {
1760 	NF result;
1761 	struct timespec ts;
1762 	int T1_;
1763 	NF T2_;
1764 	NF T3_;
1765 	result = (NF)0;
1766 	T1_ = (int)0;
1767 	T1_ = clock_gettime(((clockid_t) (CLOCK_REALTIME)), (&ts));
1768 	(void)(T1_);
1769 	T2_ = (NF)0;
1770 	T2_ = toBiggestFloat__system_1705(((NI64) (ts.tv_sec)));
1771 	T3_ = (NF)0;
1772 	T3_ = toBiggestFloat__system_1705(((NI64) (ts.tv_nsec)));
1773 	result = ((NF)(T2_) + (NF)(((NF)(T3_) / (NF)(1000000000.0))));
1774 	return result;
1775 }
N_NIMCALL(NIM_BOOL,ntLtTime)1776 N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, ntLtTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q b) {
1777 	NIM_BOOL result;
1778 	NIM_BOOL T1_;
1779 	NIM_BOOL T3_;
1780 	result = (NIM_BOOL)0;
1781 	T1_ = (NIM_BOOL)0;
1782 	T1_ = (a.seconds < b.seconds);
1783 	if (T1_) goto LA2_;
1784 	T3_ = (NIM_BOOL)0;
1785 	T3_ = (a.seconds == b.seconds);
1786 	if (!(T3_)) goto LA4_;
1787 	T3_ = (((NI) (a.nanosecond)) < ((NI) (b.nanosecond)));
1788 	LA4_: ;
1789 	T1_ = T3_;
1790 	LA2_: ;
1791 	result = T1_;
1792 	return result;
1793 }
N_NIMCALL(NI64,clamp__pureZtimes_1364)1794 N_LIB_PRIVATE N_NIMCALL(NI64, clamp__pureZtimes_1364)(NI64 x, NI64 a, NI64 b) {
1795 	NI64 result;
1796 {	result = (NI64)0;
1797 	{
1798 		if (!(x < a)) goto LA3_;
1799 		result = a;
1800 		goto BeforeRet_;
1801 	}
1802 	LA3_: ;
1803 	{
1804 		if (!(b < x)) goto LA7_;
1805 		result = b;
1806 		goto BeforeRet_;
1807 	}
1808 	LA7_: ;
1809 	result = x;
1810 	goto BeforeRet_;
1811 	}BeforeRet_: ;
1812 	return result;
1813 }
N_NIMCALL(NI64,toAdjUnix__pureZtimes_1335)1814 N_LIB_PRIVATE N_NIMCALL(NI64, toAdjUnix__pureZtimes_1335)(struct tm tm) {
1815 	NI64 result;
1816 	NI64 epochDay;
1817 	result = (NI64)0;
1818 	epochDay = toEpochDay__pureZtimes_150(((NI) (tm.tm_mday)), ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((NI32)(tm.tm_mon + ((NI32) 1)))), (NI)(((NI) (tm.tm_year)) + ((NI) 1900)));
1819 	result = (NI64)(epochDay * IL64(86400));
1820 	result += ((NI) ((NI32)(tm.tm_hour * ((NI32) 3600))));
1821 	result += ((NI) ((NI32)(tm.tm_min * ((NI32) 60))));
1822 	result += ((NI) (tm.tm_sec));
1823 	return result;
1824 }
N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag,getLocalOffsetAndDst__pureZtimes_1351)1825 N_LIB_PRIVATE N_NIMCALL(tyTuple__pfrdooyxJsC6cg34ebuBag, getLocalOffsetAndDst__pureZtimes_1351)(NI64 unix_0) {
1826 	tyTuple__pfrdooyxJsC6cg34ebuBag result;
1827 	long a;
1828 	NI64 T1_;
1829 	struct tm* tmPtr;
1830 	NI colontmp__3;
1831 	NIM_BOOL colontmp__4;
1832 {	nimZeroMem((void*)(&result), sizeof(tyTuple__pfrdooyxJsC6cg34ebuBag));
1833 	T1_ = (NI64)0;
1834 	T1_ = clamp__pureZtimes_1364(unix_0, IL64(-2147483648), IL64(2147483647));
1835 	a = ((long) (T1_));
1836 	tmPtr = localtime((&a));
1837 	{
1838 		struct tm tm;
1839 		NI colontmp_;
1840 		NI64 T6_;
1841 		NIM_BOOL colontmp__2;
1842 		if (!!((tmPtr == 0))) goto LA4_;
1843 		tm = (*tmPtr);
1844 		T6_ = (NI64)0;
1845 		T6_ = toAdjUnix__pureZtimes_1335(tm);
1846 		colontmp_ = ((NI) ((NI64)(((NI64) (a)) - T6_)));
1847 		colontmp__2 = (((NI32) 0) < tm.tm_isdst);
1848 		result.Field0 = colontmp_;
1849 		result.Field1 = colontmp__2;
1850 		goto BeforeRet_;
1851 	}
1852 	LA4_: ;
1853 	colontmp__3 = ((NI) 0);
1854 	colontmp__4 = NIM_FALSE;
1855 	result.Field0 = colontmp__3;
1856 	result.Field1 = colontmp__4;
1857 	goto BeforeRet_;
1858 	}BeforeRet_: ;
1859 	return result;
1860 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,localZonedTimeFromTime__pureZtimes_1403)1861 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromTime__pureZtimes_1403)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
1862 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1863 	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1864 	NI offset;
1865 	NIM_BOOL dst;
1866 	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1867 	T1_ = getLocalOffsetAndDst__pureZtimes_1351(time.seconds);
1868 	offset = T1_.Field0;
1869 	dst = T1_.Field1;
1870 	result.time = time;
1871 	result.utcOffset = offset;
1872 	result.isDst = dst;
1873 	return result;
1874 }
N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ,localZonedTimeFromAdjTime__pureZtimes_1408)1875 N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, localZonedTimeFromAdjTime__pureZtimes_1408)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime) {
1876 	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
1877 	NI64 adjUnix;
1878 	NI64 past;
1879 	tyTuple__pfrdooyxJsC6cg34ebuBag T1_;
1880 	NI pastOffset;
1881 	NIM_BOOL _;
1882 	NI64 future;
1883 	tyTuple__pfrdooyxJsC6cg34ebuBag T2_;
1884 	NI futureOffset;
1885 	NIM_BOOL __2;
1886 	NI utcOffset;
1887 	NI64 utcUnix;
1888 	tyTuple__pfrdooyxJsC6cg34ebuBag T13_;
1889 	NI finalOffset;
1890 	NIM_BOOL dst;
1891 	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
1892 	adjUnix = adjTime.seconds;
1893 	past = (NI64)(adjUnix - IL64(86400));
1894 	T1_ = getLocalOffsetAndDst__pureZtimes_1351(past);
1895 	pastOffset = T1_.Field0;
1896 	_ = T1_.Field1;
1897 	future = (NI64)(adjUnix + IL64(86400));
1898 	T2_ = getLocalOffsetAndDst__pureZtimes_1351(future);
1899 	futureOffset = T2_.Field0;
1900 	__2 = T2_.Field1;
1901 	utcOffset = (NI)0;
1902 	{
1903 		if (!(pastOffset == futureOffset)) goto LA5_;
1904 		utcOffset = pastOffset;
1905 	}
1906 	goto LA3_;
1907 	LA5_: ;
1908 	{
1909 		tyTuple__pfrdooyxJsC6cg34ebuBag T12_;
1910 		{
1911 			if (!(futureOffset < pastOffset)) goto LA10_;
1912 			adjUnix -= ((NI) 3600);
1913 		}
1914 		LA10_: ;
1915 		adjUnix += ((NI64) (pastOffset));
1916 		T12_ = getLocalOffsetAndDst__pureZtimes_1351(adjUnix);
1917 		utcOffset = T12_.Field0;
1918 	}
1919 	LA3_: ;
1920 	utcUnix = (NI64)(adjTime.seconds + ((NI64) (utcOffset)));
1921 	T13_ = getLocalOffsetAndDst__pureZtimes_1351(utcUnix);
1922 	finalOffset = T13_.Field0;
1923 	dst = T13_.Field1;
1924 	result.time = initTime__pureZtimes_895(utcUnix, adjTime.nanosecond);
1925 	result.utcOffset = finalOffset;
1926 	result.isDst = dst;
1927 	return result;
1928 }
N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw *,local__pureZtimes_1450)1929 N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, local__pureZtimes_1450)(void) {
1930 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
1931 	result = NIM_NIL;
1932 	{
1933 		tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
1934 		tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
1935 		if (!(localInstance__pureZtimes_1434 == 0)) goto LA3_;
1936 		nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1937 		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_60) (localZonedTimeFromTime__pureZtimes_1403)); T5_.ClE_0 = NIM_NIL;
1938 		nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
1939 		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_61) (localZonedTimeFromAdjTime__pureZtimes_1408)); T6_.ClE_0 = NIM_NIL;
1940 		asgnRef((void**) (&localInstance__pureZtimes_1434), newTimezone__pureZtimes_1237(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_59), T5_, T6_));
1941 	}
1942 	LA3_: ;
1943 	result = localInstance__pureZtimes_1434;
1944 	return result;
1945 }
N_NIMCALL(void,local__pureZtimes_1464)1946 N_LIB_PRIVATE N_NIMCALL(void, local__pureZtimes_1464)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1947 	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
1948 	T1_ = NIM_NIL;
1949 	T1_ = local__pureZtimes_1450();
1950 	inZone__pureZtimes_1307(t, T1_, Result);
1951 }
N_NIMCALL(void,now__pureZtimes_1467)1952 N_LIB_PRIVATE N_NIMCALL(void, now__pureZtimes_1467)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
1953 	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q T1_;
1954 	T1_ = getTime__pureZtimes_961();
1955 	local__pureZtimes_1464(T1_, Result);
1956 }
N_NIMCALL(void,stdlib_timesInit000)1957 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void) {
1958 {
1959 	TFrame FR_; FR_.len = 0;
1960 
1961 	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_4);
1962 
1963 
1964 	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_5);
1965 
1966 }/* preInitProc end */
1967 {
1968 }
1969 }
1970 
N_NIMCALL(void,stdlib_timesDatInit000)1971 N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void) {
1972 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[3];
1973 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[2];
1974 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[12];
1975 static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[7];
1976 NI TM__6NbDwwj5FY059b1gz2AsAZQ_55;
1977 static char* NIM_CONST TM__6NbDwwj5FY059b1gz2AsAZQ_54[7] = {
1978 "Monday",
1979 "Tuesday",
1980 "Wednesday",
1981 "Thursday",
1982 "Friday",
1983 "Saturday",
1984 "Sunday"};
1985 static TNimNode TM__6NbDwwj5FY059b1gz2AsAZQ_0[29];
1986 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1987 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
1988 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.kind = 18;
1989 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.base = 0;
1990 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[1];
1991 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1992 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
1993 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.kind = 18;
1994 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.base = 0;
1995 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[3];
1996 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.size = sizeof(void*);
1997 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.align = NIM_ALIGNOF(void*);
1998 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.kind = 26;
1999 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.base = 0;
2000 NTIpointer__vr5DoT1jILTGdRlYv1OYpw_.flags = 3;
2001 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].kind = 1;
2002 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
2003 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].typ = (&NTIpointer__vr5DoT1jILTGdRlYv1OYpw_);
2004 TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].name = "Field0";
2005 TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[4];
2006 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
2007 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg);
2008 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.kind = 17;
2009 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2010 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.flags = 1;
2011 TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].len = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].kind = 2;
2012 NTIobject__diB2NTuAIWY0FO9c5IUJRGg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[5];
2013 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.size = sizeof(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2014 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim_Timezone___diB2NTuAIWY0FO9c5IUJRGg*);
2015 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.kind = 22;
2016 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.base = (&NTIobject__diB2NTuAIWY0FO9c5IUJRGg_);
2017 NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_.marker = Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA;
2018 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].kind = 1;
2019 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
2020 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].typ = (&NTIrefobject__HsJiUUcO9cHBdUCi0HwkSTA_);
2021 TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].name = "Field1";
2022 TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].len = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0];
2023 NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[2];
2024 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].kind = 1;
2025 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromTimeImpl);
2026 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2027 TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].name = "zonedTimeFromTimeImpl";
2028 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[6];
2029 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].kind = 1;
2030 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromAdjTimeImpl);
2031 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].typ = (&NTIprocLx58timeT58zonedtimeLOclosure_gcsafe_locks5848OT__7xnKxEC24cr3qZyj3gX32w_);
2032 TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].name = "zonedTimeFromAdjTimeImpl";
2033 TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[7];
2034 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].kind = 1;
2035 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, name);
2036 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].typ = (&NTIstring__77mFvmsOLKik79ci2hXkHEg_);
2037 TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].name = "name";
2038 TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].len = 3; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0];
2039 NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[0];
2040 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2041 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
2042 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.kind = 22;
2043 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.base = (&NTItimezone58objecttype__F8OvqlxXyGXRSiK9c1fCDVw_);
2044 NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_.marker = Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA;
2045 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.size = sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2046 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.align = NIM_ALIGNOF(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
2047 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.kind = 17;
2048 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.base = (&NTIrootobj__ytyiCJqK439aF9cIibuRVpAg_);
2049 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[9];
2050 NTIint__PpavWgyrx5odXyR89aNlcWA_.size = sizeof(NI);
2051 NTIint__PpavWgyrx5odXyR89aNlcWA_.align = NIM_ALIGNOF(NI);
2052 NTIint__PpavWgyrx5odXyR89aNlcWA_.kind = 31;
2053 NTIint__PpavWgyrx5odXyR89aNlcWA_.base = 0;
2054 NTIint__PpavWgyrx5odXyR89aNlcWA_.flags = 3;
2055 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].kind = 1;
2056 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, nanosecond);
2057 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].typ = (&NTIint__PpavWgyrx5odXyR89aNlcWA_);
2058 TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].name = "nanosecond";
2059 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[10];
2060 NTIint__rUuqTvFmkC6KKRqDAazGEA_.size = sizeof(NI);
2061 NTIint__rUuqTvFmkC6KKRqDAazGEA_.align = NIM_ALIGNOF(NI);
2062 NTIint__rUuqTvFmkC6KKRqDAazGEA_.kind = 31;
2063 NTIint__rUuqTvFmkC6KKRqDAazGEA_.base = 0;
2064 NTIint__rUuqTvFmkC6KKRqDAazGEA_.flags = 3;
2065 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].kind = 1;
2066 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, second);
2067 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].typ = (&NTIint__rUuqTvFmkC6KKRqDAazGEA_);
2068 TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].name = "second";
2069 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[11];
2070 NTIint__LBgXxpmYOpS8xroRZgNvbg_.size = sizeof(NI);
2071 NTIint__LBgXxpmYOpS8xroRZgNvbg_.align = NIM_ALIGNOF(NI);
2072 NTIint__LBgXxpmYOpS8xroRZgNvbg_.kind = 31;
2073 NTIint__LBgXxpmYOpS8xroRZgNvbg_.base = 0;
2074 NTIint__LBgXxpmYOpS8xroRZgNvbg_.flags = 3;
2075 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].kind = 1;
2076 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, minute);
2077 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].typ = (&NTIint__LBgXxpmYOpS8xroRZgNvbg_);
2078 TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].name = "minute";
2079 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[3] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[12];
2080 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.size = sizeof(NI);
2081 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.align = NIM_ALIGNOF(NI);
2082 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.kind = 31;
2083 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.base = 0;
2084 NTIint__Gz6vwaK0PZQIDIwfuvKsOg_.flags = 3;
2085 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].kind = 1;
2086 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, hour);
2087 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].typ = (&NTIint__Gz6vwaK0PZQIDIwfuvKsOg_);
2088 TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].name = "hour";
2089 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[4] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[13];
2090 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].kind = 1;
2091 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthdayZero);
2092 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2093 TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].name = "monthdayZero";
2094 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[5] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[14];
2095 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].kind = 1;
2096 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthZero);
2097 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2098 TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].name = "monthZero";
2099 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[6] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[15];
2100 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].kind = 1;
2101 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, year);
2102 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2103 TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].name = "year";
2104 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[7] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[16];
2105 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.size = sizeof(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2106 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.align = NIM_ALIGNOF(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
2107 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.kind = 14;
2108 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.base = 0;
2109 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.flags = 3;
2110 for (TM__6NbDwwj5FY059b1gz2AsAZQ_55 = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_55 < 7; TM__6NbDwwj5FY059b1gz2AsAZQ_55++) {
2111 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].kind = 1;
2112 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].offset = TM__6NbDwwj5FY059b1gz2AsAZQ_55;
2113 TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17].name = TM__6NbDwwj5FY059b1gz2AsAZQ_54[TM__6NbDwwj5FY059b1gz2AsAZQ_55];
2114 TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[TM__6NbDwwj5FY059b1gz2AsAZQ_55] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_55+17];
2115 }
2116 TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].len = 7; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_53_7[0];
2117 NTIweekday__SVfemTA9aCOyua2TJYa6yBg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[24];
2118 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].kind = 1;
2119 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, weekday);
2120 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].typ = (&NTIweekday__SVfemTA9aCOyua2TJYa6yBg_);
2121 TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].name = "weekday";
2122 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[8] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[25];
2123 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.size = sizeof(NI);
2124 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.align = NIM_ALIGNOF(NI);
2125 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.kind = 31;
2126 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.base = 0;
2127 NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_.flags = 3;
2128 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].kind = 1;
2129 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, yearday);
2130 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].typ = (&NTIint__g9buja9c9aeh0rkDpqsXOJF9bA_);
2131 TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].name = "yearday";
2132 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[9] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[26];
2133 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].kind = 1;
2134 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, isDst);
2135 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].typ = (&NTIbool__VaVACK0bpYmqIQ0mKcHfQQ_);
2136 TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].name = "isDst";
2137 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[10] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[27];
2138 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].kind = 1;
2139 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, timezone);
2140 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].typ = (&NTItimezone__9a5v4OQPlGqsA25ioN8hFYA_);
2141 TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].name = "timezone";
2142 TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[11] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[28];
2143 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].kind = 1;
2144 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, utcOffset);
2145 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].typ = (&NTIint__rR5Bzr1D5krxoo1NcNyeMA_);
2146 TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].name = "utcOffset";
2147 TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].len = 12; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_52_12[0];
2148 NTIdatetime__d9cK9cyKZPJJxFXUmx8dSpPw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[8];
2149 }
2150 
2151