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