/* Generated by Nim Compiler v1.3.5 */
/*   (c) 2020 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

/* section: NIM_merge_HEADERS */

#include "nimbase.h"
#include <time.h>
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix

/* section: NIM_merge_FRAME_DEFINES */
#define nimfr_(x, y)
#define nimln_(x, y)

/* section: NIM_merge_FORWARD_TYPES */
typedef struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw;
typedef struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ;
typedef struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q;
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef struct TNimType TNimType;
typedef struct TNimNode TNimNode;
typedef struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A tyTuple__JfHvHzMrhKkWAUvQKe0i1A;
typedef struct tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg;
typedef struct RootObj RootObj;
typedef struct tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw;
typedef struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw;
typedef struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA;
typedef struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ tySequence__6H5Oh5UUvVCLiakt9aTwtUQ;
typedef struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ;
typedef struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw;
typedef struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ tyTuple__XjuGlLf9cyYx66ViXrBCvPQ;
typedef struct tyTuple__47w2DboNEPf69aPgubZdd7Q tyTuple__47w2DboNEPf69aPgubZdd7Q;

/* section: NIM_merge_TYPES */
struct tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q {
NI64 seconds;
NI nanosecond;
};
struct tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ {
tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time;
NI utcOffset;
NIM_BOOL isDst;
};
typedef struct {
N_NIMCALL_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, ClP_0) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x, void* ClE_0);
void* ClE_0;
} tyProc__7xnKxEC24cr3qZyj3gX32w;
struct TGenericSeq {
NI len;
NI reserved;
};
struct NimStringDesc {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw {
tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl;
tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl;
NimStringDesc* name;
};
typedef NU8 tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A;
typedef NU8 tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ;
typedef N_NIMCALL_PTR(void, tyProc__ojoeKfW4VYIm36I9cpDTQIg) (void* p, NI op);
typedef N_NIMCALL_PTR(void*, tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ) (void* p);
struct TNimType {
NI size;
NI align;
tyEnum_TNimKind__jIBKr1ejBgsfM33Kxw4j7A kind;
tySet_tyEnum_TNimTypeFlag__v8QUszD1sWlSIWZz7mC4bQ flags;
TNimType* base;
TNimNode* node;
void* finalizer;
tyProc__ojoeKfW4VYIm36I9cpDTQIg marker;
tyProc__WSm2xU5ARYv9aAR4l0z9c9auQ deepcopy;
};
struct tyTuple__JfHvHzMrhKkWAUvQKe0i1A {
void* Field0;
tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg* Field1;
};
typedef NU8 tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ;
struct TNimNode {
tyEnum_TNimNodeKind__unfNsxrcATrufDZmpBq4HQ kind;
NI offset;
TNimType* typ;
NCSTRING name;
NI len;
TNimNode** sons;
};
struct RootObj {
TNimType* m_type;
};
struct tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg {
  RootObj Sup;
};
typedef N_NIMCALL_PTR(void, tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ) (void);
struct tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw {
NI32 dwLowDateTime;
NI32 dwHighDateTime;
};
typedef N_STDCALL_PTR(void, tyProc__9bc9cLDdaqTE6n5J78feKRYg) (tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw* lpSystemTimeAsFileTime);
struct tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA {
tySequence__6H5Oh5UUvVCLiakt9aTwtUQ* patterns;
NimStringDesc* formatStr;
};
typedef NU8 tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ;
typedef NU8 tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg;
struct tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw {
  RootObj Sup;
NI nanosecond;
NI second;
NI minute;
NI hour;
NI monthdayZero;
NI monthZero;
NI year;
tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg weekday;
NI yearday;
NIM_BOOL isDst;
tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* timezone;
NI utcOffset;
};
typedef NimStringDesc* tyArray__3hurAvNmIXWWeqMzKryr2A[12];
typedef NimStringDesc* tyArray__O9c55L7dGQruaGz5nJ2r4rA[7];
struct tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ {
tyArray__3hurAvNmIXWWeqMzKryr2A MMM;
tyArray__3hurAvNmIXWWeqMzKryr2A MMMM;
tyArray__O9c55L7dGQruaGz5nJ2r4rA ddd;
tyArray__O9c55L7dGQruaGz5nJ2r4rA dddd;
};
typedef NU8 tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw;
typedef NU8 tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ;
typedef NI64 tyArray__pDfjTbtkTNjmi9bTcaNV32Q[8];
struct tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw {
NI64 seconds;
NI nanosecond;
};
struct tyTuple__XjuGlLf9cyYx66ViXrBCvPQ {
NI Field0;
tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw Field1;
NI Field2;
};
struct tyTuple__47w2DboNEPf69aPgubZdd7Q {
NI Field0;
NI Field1;
NI Field2;
};
typedef NI tyArray__Splpnswz3rudLg9bDsQoDXg[12];
typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_60) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q x);
typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_61) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, void* ClE_0);
typedef N_CLOSURE_PTR(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, TM__6NbDwwj5FY059b1gz2AsAZQ_62) (tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime, void* ClE_0);

/* section: NIM_merge_SEQ_TYPES */
struct tySequence__6H5Oh5UUvVCLiakt9aTwtUQ {
  TGenericSeq Sup;
  NU8 data[SEQ_DECL_SIZE];
};

/* section: NIM_merge_PROC_HEADERS */
static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op);
N_LIB_PRIVATE N_NIMCALL(void, nimGCvisit)(void* d, NI op);
static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op);
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void);
N_LIB_PRIVATE N_NIMCALL(void, nimRegisterThreadLocalMarker)(tyProc__T4eqaYlFJYZUv9aG9b1TV0bQ markerProc);
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void);
static N_INLINE(NF, toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem)(NI i);
static N_INLINE(void, nimZeroMem)(void* p, NI size);
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromWinTime__9cYLBE5e59bq7FJlxRx9cAuQQ)(NI64 win);
N_LIB_PRIVATE N_NIMCALL(NI64, floorMod__AhJW2V9aOggsJyHuT9bgq9bug)(NI64 x, NI64 y);
N_LIB_PRIVATE N_NIMCALL(NI64, floorDiv__AhJW2V9aOggsJyHuT9bgq9bug_2)(NI64 x, NI64 y);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix_0, NI nanosecond);
N_LIB_PRIVATE N_NIMCALL(NI64, rdFileTime__DfLqBYlqX7ZqK7NeVOk8ew)(tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw f);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__mJBnGHvSWAC6GZ5ELoijxg)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, addChar)(NimStringDesc* s, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(void, formatPattern__S4WegiBO0BkW28IP3SncnA)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc);
static N_INLINE(NI, monthday__B20EJ0s9aKnOPwvDJBZg44Atimes)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x);
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src);
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size);
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, resizeString)(NimStringDesc* dest, NI addlen);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, nsuIntToStr)(NI x, NI minchars);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, copyString)(NimStringDesc* src);
N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__wVgGaAXjFOPJiqCvvD5yAQ)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt);
static N_INLINE(NI, convert__bBJ7N1GpubC85YlnXz3nHgtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c);
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, rawNewString)(NI space);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___uJ3ui4E9b9bOpe9bnJkEo4LvQ)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b);
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size);
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size);
N_LIB_PRIVATE N_NIMCALL(void, inZone__o59cT0ssqq4BC09cuUGSdJiA)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
N_LIB_PRIVATE N_NIMCALL(void, initDateTime__9aNghJ6FEvB9bmfWkrG4iUag)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b);
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__PiFB72i3f9cc4IO17Lz9cB7w)(NI64 seconds, NI64 nanoseconds);
static N_INLINE(NI64, convert__2z1a0DRE31bT73xgVvBfQAtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity);
static N_INLINE(NI, convert__vsrmXCcg8GubJb67VXeq4wtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity);
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__wcR3zetvspAUsyuvWZ07Xg)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks);
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__JK8O6vJVu4WsESmu0kL4aQ)(NI64 seconds, NI64 nanoseconds);
N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__Q6dL9aKf9alEEEm3deeqatPQ)(NI64 epochday);
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src);
N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__TMYR1EBf9be9ao182X9aB6FsQ)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
static N_INLINE(void, assertValidDate__cpvBdCYhBv8ncHGOZsJ1NAtimes)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__cWHW5k8iz9aeqtjYJ7yMEUw)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__v9bv9bJVWRRmGny5jy7KFbgQ)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__fs8eIeJ5mOYFq6g12UKiwQ)(NI year);
N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__zT9bMgAwfe1o0G71u2tO24Q)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__qUBQvQNLA9buHXwkwhObxQg)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__mpaJbEchqMVc4ZG3uOdUTQ)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl);
N_LIB_PRIVATE N_NIMCALL(void*, newObj)(TNimType* typ, NI size);
N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__uDYZeDxzpPQoN8cxZKMtTQ)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time);

/* section: NIM_merge_DATA */
N_LIB_PRIVATE TNimType NTI__F8OvqlxXyGXRSiK9c1fCDVw_;
N_LIB_PRIVATE TNimType NTI__7xnKxEC24cr3qZyj3gX32w_;
N_LIB_PRIVATE TNimType NTI__vr5DoT1jILTGdRlYv1OYpw_;
extern TNimType NTI__ytyiCJqK439aF9cIibuRVpAg_;
N_LIB_PRIVATE TNimType NTI__diB2NTuAIWY0FO9c5IUJRGg_;
N_LIB_PRIVATE TNimType NTI__HsJiUUcO9cHBdUCi0HwkSTA_;
extern TNimType NTI__77mFvmsOLKik79ci2hXkHEg_;
N_LIB_PRIVATE TNimType NTI__9a5v4OQPlGqsA25ioN8hFYA_;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_6, "12", 2);
N_LIB_PRIVATE NIM_CONST tyArray__pDfjTbtkTNjmi9bTcaNV32Q unitWeights__cpugRVHYEC9bUpLa71eZMsQ = {IL64(1),
IL64(1000),
IL64(1000000),
IL64(1000000000),
IL64(60000000000),
IL64(3600000000000),
IL64(86400000000000),
IL64(604800000000000)}
;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_7, "P", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_8, "A", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_9, "PM", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_10, "AM", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_11, "Etc/UTC", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_12, ":", 1);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_13, "BC", 2);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_14, "AD", 2);
static NIM_CONST struct {
  TGenericSeq Sup;
  NU8 data[9];
} TM__6NbDwwj5FY059b1gz2AsAZQ_16 = {{9, 9 | NIM_STRLIT_FLAG}, {((NU8) 22),
((NU8) 31),
((NU8) 1),
((NU8) 45),
((NU8) 11),
((NU8) 31),
((NU8) 1),
((NU8) 45),
((NU8) 1)}};
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_17, "yyyy-MM-dd", 10);
static NIM_CONST tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA TM__6NbDwwj5FY059b1gz2AsAZQ_15 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__6NbDwwj5FY059b1gz2AsAZQ_16), ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_17)}
;
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_19, "Jan", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_20, "Feb", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_21, "Mar", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_22, "Apr", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_23, "May", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_24, "Jun", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_25, "Jul", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_26, "Aug", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_27, "Sep", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_28, "Oct", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_29, "Nov", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_30, "Dec", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_31, "January", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_32, "February", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_33, "March", 5);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_34, "April", 5);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_35, "June", 4);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_36, "July", 4);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_37, "August", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_38, "September", 9);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_39, "October", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_40, "November", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_41, "December", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_42, "Mon", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_43, "Tue", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_44, "Wed", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_45, "Thu", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_46, "Fri", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_47, "Sat", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_48, "Sun", 3);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_49, "Monday", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_50, "Tuesday", 7);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_51, "Wednesday", 9);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_52, "Thursday", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_53, "Friday", 6);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_54, "Saturday", 8);
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_55, "Sunday", 6);
static NIM_CONST tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ TM__6NbDwwj5FY059b1gz2AsAZQ_18 = {{((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_19),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_20),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_21),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_22),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_24),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_25),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_26),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_27),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_28),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_29),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_30)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_31),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_32),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_33),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_34),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_23),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_35),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_36),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_37),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_38),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_39),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_40),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_41)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_42),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_43),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_44),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_45),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_46),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_47),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_48)}
, {((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_49),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_50),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_51),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_52),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_53),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_54),
((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_55)}
}
;
N_LIB_PRIVATE TNimType NTI__d9cK9cyKZPJJxFXUmx8dSpPw_;
extern TNimType NTI__PpavWgyrx5odXyR89aNlcWA_;
extern TNimType NTI__rUuqTvFmkC6KKRqDAazGEA_;
extern TNimType NTI__LBgXxpmYOpS8xroRZgNvbg_;
extern TNimType NTI__Gz6vwaK0PZQIDIwfuvKsOg_;
extern TNimType NTI__rR5Bzr1D5krxoo1NcNyeMA_;
N_LIB_PRIVATE TNimType NTI__SVfemTA9aCOyua2TJYa6yBg_;
extern TNimType NTI__g9buja9c9aeh0rkDpqsXOJF9bA_;
extern TNimType NTI__VaVACK0bpYmqIQ0mKcHfQQ_;
N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonthLeap__bWLQu3i9bqoFDTyygQP29aFA = {((NI) 0),
((NI) 31),
((NI) 60),
((NI) 91),
((NI) 121),
((NI) 152),
((NI) 182),
((NI) 213),
((NI) 244),
((NI) 274),
((NI) 305),
((NI) 335)}
;
N_LIB_PRIVATE NIM_CONST tyArray__Splpnswz3rudLg9bDsQoDXg daysUntilMonth__TV2R7Va3CeAXpg6eZUosdg = {((NI) 0),
((NI) 31),
((NI) 59),
((NI) 90),
((NI) 120),
((NI) 151),
((NI) 181),
((NI) 212),
((NI) 243),
((NI) 273),
((NI) 304),
((NI) 334)}
;
static NIM_CONST struct {
  TGenericSeq Sup;
  NU8 data[9];
} TM__6NbDwwj5FY059b1gz2AsAZQ_64 = {{9, 9 | NIM_STRLIT_FLAG}, {((NU8) 7),
((NU8) 31),
((NU8) 1),
((NU8) 58),
((NU8) 9),
((NU8) 31),
((NU8) 1),
((NU8) 58),
((NU8) 15)}};
STRING_LITERAL(TM__6NbDwwj5FY059b1gz2AsAZQ_65, "HH:mm:ss", 8);
static NIM_CONST tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA TM__6NbDwwj5FY059b1gz2AsAZQ_63 = {((tySequence__6H5Oh5UUvVCLiakt9aTwtUQ*)&TM__6NbDwwj5FY059b1gz2AsAZQ_64), ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_65)}
;

/* section: NIM_merge_VARS */
N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* utcInstance__oeKVHn4dFpBJO35HhEkelw;
N_LIB_PRIVATE tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* localInstance__cLtN9cK9bCe6IPhJ3UFNLNKA;
extern NIM_BOOL nimInErrorMode__759bT87luu8XGcbkw13FUjA;
extern tyProc__9bc9cLDdaqTE6n5J78feKRYg Dl_12797860_;

/* section: NIM_merge_PROCS */
static N_NIMCALL(void, Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA)(void* p, NI op) {
	tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg* a;
	a = (tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg*)p;
}
static N_NIMCALL(void, Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA)(void* p, NI op) {
	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* a;
	a = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)p;
	nimGCvisit((void*)(*a).zonedTimeFromTimeImpl.ClE_0, op);
	nimGCvisit((void*)(*a).zonedTimeFromAdjTimeImpl.ClE_0, op);
	nimGCvisit((void*)(*a).name, op);
}
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_4)(void) {
	nimGCvisit((void*)utcInstance__oeKVHn4dFpBJO35HhEkelw, 0);
}
static N_NIMCALL(void, TM__6NbDwwj5FY059b1gz2AsAZQ_5)(void) {
	nimGCvisit((void*)localInstance__cLtN9cK9bCe6IPhJ3UFNLNKA, 0);
}
static N_INLINE(NF, toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem)(NI i) {
	NF result;
	result = (NF)0;
	result = ((NF) (i));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NF, cpuTime__9aodCrWXscOGeNVh2cpuZkw)(void) {
	NF result;
	NI T1_;
	NF T2_;
	NF T3_;
	result = (NF)0;
	T1_ = (NI)0;
	T1_ = clock();
	T2_ = (NF)0;
	T2_ = toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem(T1_);
	T3_ = (NF)0;
	T3_ = toFloat__y1Fm9aHmxw9bS2jir137Fu5gsystem(CLOCKS_PER_SEC);
	result = ((NF)(T2_) / (NF)(T3_));
	return result;
}
static N_INLINE(void, nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory)(void* a, int v, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a, v, ((size_t) (size)));
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (NIM_BOOL*)0;
	result = (&nimInErrorMode__759bT87luu8XGcbkw13FUjA);
	return result;
}
static N_INLINE(void, nimZeroMem)(void* p, NI size) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimSetMem__zxfKBYntu9cBapkhrCOk1fgmemory(p, ((int) 0), size);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, initTime__JIXNH9cQMG3SbZ0hXqEYDvA)(NI64 unix_0, NI nanosecond) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	result.seconds = unix_0;
	result.nanosecond = nanosecond;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromWinTime__9cYLBE5e59bq7FJlxRx9cAuQQ)(NI64 win) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
	NI64 nanos;
	NI64 T1_;
	NI64 seconds;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	T1_ = (NI64)0;
	T1_ = floorMod__AhJW2V9aOggsJyHuT9bgq9bug(win, IL64(10000000));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nanos = (NI64)(T1_ * IL64(100));
	seconds = floorDiv__AhJW2V9aOggsJyHuT9bgq9bug_2((NI64)(win - IL64(116444736000000000)), IL64(10000000));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = initTime__JIXNH9cQMG3SbZ0hXqEYDvA(seconds, ((NI) (nanos)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, getTime__h20mpqrwsumk6J9bRdCm6IQ)(void) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
	tyObject_FILETIME__bs4NMleDDVF7xsEK0SGLBw f;
	NI64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	Dl_12797860_((&f));
	T1_ = (NI64)0;
	T1_ = rdFileTime__DfLqBYlqX7ZqK7NeVOk8ew(f);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = fromWinTime__9cYLBE5e59bq7FJlxRx9cAuQQ(T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, monthday__B20EJ0s9aKnOPwvDJBZg44Atimes)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
	NI result;
	result = (NI)0;
	result = ((NI) ((*dt).monthdayZero));
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest, void* source, NI size) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest, source, ((size_t) (size)));
}
static N_INLINE(void, copyMem__i80o3k0SgEI5gTRCzYdyWAsystem)(void* dest, void* source, NI size) {
	nimCopyMem(dest, source, size);
}
static N_INLINE(void, appendString)(NimStringDesc* dest, NimStringDesc* src) {
	{
		void* T5_;
		void* T6_;
		if (!!((src == NIM_NIL))) goto LA3_;
		T5_ = (void*)0;
		T5_ = ((void*) ((&(*dest).data[(*dest).Sup.len])));
		T6_ = (void*)0;
		T6_ = ((void*) ((*src).data));
		copyMem__i80o3k0SgEI5gTRCzYdyWAsystem(T5_, T6_, ((NI) ((NI)((*src).Sup.len + ((NI) 1)))));
		(*dest).Sup.len += (*src).Sup.len;
	}
	LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw, month__wVgGaAXjFOPJiqCvvD5yAQ)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw result;
	result = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
	result = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) ((*dt).monthZero));
	return result;
}
static N_INLINE(NI, convert__bBJ7N1GpubC85YlnXz3nHgtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
	NI result;
	result = (NI)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0]))));
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((NI) ((NI64)((NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0]) * ((NI64) (quantity)))));
	}
	LA1_: ;
	return result;
}
static N_INLINE(void, appendChar)(NimStringDesc* dest, NIM_CHAR c) {
	(*dest).data[(*dest).Sup.len] = c;
	(*dest).data[(NI)((*dest).Sup.len + ((NI) 1))] = 0;
	(*dest).Sup.len += ((NI) 1);
}
static N_INLINE(int, nimCmpMem)(void* a, void* b, NI size) {
	int result;
	result = (int)0;
	result = memcmp(a, b, ((size_t) (size)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem)(void* a, void* b, NI size) {
	NIM_BOOL result;
	int T1_;
	result = (NIM_BOOL)0;
	T1_ = (int)0;
	T1_ = nimCmpMem(a, b, size);
	result = (T1_ == ((NI32) 0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringDesc* a, NimStringDesc* b) {
	NIM_BOOL result;
	NI alen;
	NI blen;
{	result = (NIM_BOOL)0;
	alen = (a ? a->Sup.len : 0);
	blen = (b ? b->Sup.len : 0);
	{
		if (!(alen == blen)) goto LA3_;
		{
			if (!(alen == ((NI) 0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
		LA7_: ;
		result = equalMem__9bGgqEk7RXXl6eqM9c1HdELAsystem(((void*) ((&a->data[((NI) 0)]))), ((void*) ((&b->data[((NI) 0)]))), ((NI) (alen)));
		goto BeforeRet_;
	}
	LA3_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___uJ3ui4E9b9bOpe9bnJkEo4LvQ)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone1, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone2) {
	NIM_BOOL result;
{	result = (NIM_BOOL)0;
	{
		if (!(zone1 == zone2)) goto LA3_;
		result = NIM_TRUE;
		goto BeforeRet_;
	}
	LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = (zone1 == 0);
		if (T7_) goto LA8_;
		T7_ = (zone2 == 0);
		LA8_: ;
		if (!T7_) goto LA9_;
		result = NIM_FALSE;
		goto BeforeRet_;
	}
	LA9_: ;
	result = eqStrings((*zone1).name, (*zone2).name);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, formatPattern__S4WegiBO0BkW28IP3SncnA)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ pattern, NimStringDesc** result, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	switch (pattern) {
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 0):
	{
		NI T2_;
		NimStringDesc* T3_;
		T2_ = (NI)0;
		T2_ = monthday__B20EJ0s9aKnOPwvDJBZg44Atimes(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T3_ = (NimStringDesc*)0;
		T3_ = nimIntToStr(((NI) (T2_)));
		(*result) = resizeString((*result), (T3_ ? T3_->Sup.len : 0) + 0);
appendString((*result), T3_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 1):
	{
		NI T5_;
		NimStringDesc* T6_;
		T5_ = (NI)0;
		T5_ = monthday__B20EJ0s9aKnOPwvDJBZg44Atimes(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T6_ = (NimStringDesc*)0;
		T6_ = nsuIntToStr(((NI) (T5_)), ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T6_ ? T6_->Sup.len : 0) + 0);
appendString((*result), T6_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 2):
	{
		(*result) = resizeString((*result), ((*loc).ddd[((*dt).weekday)- 0] ? (*loc).ddd[((*dt).weekday)- 0]->Sup.len : 0) + 0);
appendString((*result), (*loc).ddd[((*dt).weekday)- 0]);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 3):
	{
		(*result) = resizeString((*result), ((*loc).dddd[((*dt).weekday)- 0] ? (*loc).dddd[((*dt).weekday)- 0]->Sup.len : 0) + 0);
appendString((*result), (*loc).dddd[((*dt).weekday)- 0]);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 4):
	{
		NimStringDesc* T10_;
		T10_ = (NimStringDesc*)0;
		{
			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA13_;
			T10_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
		}
		goto LA11_;
		LA13_: ;
		{
			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA16_;
			T10_ = nimIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)));
		}
		goto LA11_;
		LA16_: ;
		{
			T10_ = nimIntToStr(((NI) ((*dt).hour)));
		}
		LA11_: ;
		(*result) = resizeString((*result), (T10_ ? T10_->Sup.len : 0) + 0);
appendString((*result), T10_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 5):
	{
		NimStringDesc* T20_;
		T20_ = (NimStringDesc*)0;
		{
			if (!(((NI) ((*dt).hour)) == ((NI) 0))) goto LA23_;
			T20_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_6));
		}
		goto LA21_;
		LA23_: ;
		{
			if (!(((NI) 12) < ((NI) ((*dt).hour)))) goto LA26_;
			T20_ = nsuIntToStr((NI)(((NI) ((*dt).hour)) - ((NI) 12)), ((NI) 2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA21_;
		LA26_: ;
		{
			T20_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		LA21_: ;
		(*result) = resizeString((*result), (T20_ ? T20_->Sup.len : 0) + 0);
appendString((*result), T20_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 6):
	{
		NimStringDesc* T30_;
		T30_ = (NimStringDesc*)0;
		T30_ = nimIntToStr(((NI) ((*dt).hour)));
		(*result) = resizeString((*result), (T30_ ? T30_->Sup.len : 0) + 0);
appendString((*result), T30_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 7):
	{
		NimStringDesc* T32_;
		T32_ = (NimStringDesc*)0;
		T32_ = nsuIntToStr(((NI) ((*dt).hour)), ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T32_ ? T32_->Sup.len : 0) + 0);
appendString((*result), T32_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 8):
	{
		NimStringDesc* T34_;
		T34_ = (NimStringDesc*)0;
		T34_ = nimIntToStr(((NI) ((*dt).minute)));
		(*result) = resizeString((*result), (T34_ ? T34_->Sup.len : 0) + 0);
appendString((*result), T34_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 9):
	{
		NimStringDesc* T36_;
		T36_ = (NimStringDesc*)0;
		T36_ = nsuIntToStr(((NI) ((*dt).minute)), ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T36_ ? T36_->Sup.len : 0) + 0);
appendString((*result), T36_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 10):
	{
		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T38_;
		NimStringDesc* T39_;
		T38_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
		T38_ = month__wVgGaAXjFOPJiqCvvD5yAQ(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T39_ = (NimStringDesc*)0;
		T39_ = nimIntToStr(T38_);
		(*result) = resizeString((*result), (T39_ ? T39_->Sup.len : 0) + 0);
appendString((*result), T39_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 11):
	{
		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T41_;
		NimStringDesc* T42_;
		T41_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
		T41_ = month__wVgGaAXjFOPJiqCvvD5yAQ(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T42_ = (NimStringDesc*)0;
		T42_ = nsuIntToStr(T41_, ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T42_ ? T42_->Sup.len : 0) + 0);
appendString((*result), T42_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 12):
	{
		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T44_;
		T44_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
		T44_ = month__wVgGaAXjFOPJiqCvvD5yAQ(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), ((*loc).MMM[(T44_)- 1] ? (*loc).MMM[(T44_)- 1]->Sup.len : 0) + 0);
appendString((*result), (*loc).MMM[(T44_)- 1]);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 13):
	{
		tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw T46_;
		T46_ = (tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw)0;
		T46_ = month__wVgGaAXjFOPJiqCvvD5yAQ(dt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), ((*loc).MMMM[(T46_)- 1] ? (*loc).MMMM[(T46_)- 1]->Sup.len : 0) + 0);
appendString((*result), (*loc).MMMM[(T46_)- 1]);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 14):
	{
		NimStringDesc* T48_;
		T48_ = (NimStringDesc*)0;
		T48_ = nimIntToStr(((NI) ((*dt).second)));
		(*result) = resizeString((*result), (T48_ ? T48_->Sup.len : 0) + 0);
appendString((*result), T48_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 15):
	{
		NimStringDesc* T50_;
		T50_ = (NimStringDesc*)0;
		T50_ = nsuIntToStr(((NI) ((*dt).second)), ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T50_ ? T50_->Sup.len : 0) + 0);
appendString((*result), T50_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 16):
	{
		NI T52_;
		NimStringDesc* T53_;
		T52_ = (NI)0;
		T52_ = convert__bBJ7N1GpubC85YlnXz3nHgtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), (*dt).nanosecond);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T53_ = (NimStringDesc*)0;
		T53_ = nsuIntToStr(((NI) (T52_)), ((NI) 3));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T53_ ? T53_->Sup.len : 0) + 0);
appendString((*result), T53_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 17):
	{
		NI T55_;
		NimStringDesc* T56_;
		T55_ = (NI)0;
		T55_ = convert__bBJ7N1GpubC85YlnXz3nHgtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), (*dt).nanosecond);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T56_ = (NimStringDesc*)0;
		T56_ = nsuIntToStr(((NI) (T55_)), ((NI) 6));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T56_ ? T56_->Sup.len : 0) + 0);
appendString((*result), T56_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 18):
	{
		NimStringDesc* T58_;
		T58_ = (NimStringDesc*)0;
		T58_ = nsuIntToStr(((NI) ((*dt).nanosecond)), ((NI) 9));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T58_ ? T58_->Sup.len : 0) + 0);
appendString((*result), T58_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 19):
	{
		NimStringDesc* T60_;
		T60_ = (NimStringDesc*)0;
		{
			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA63_;
			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_7));
		}
		goto LA61_;
		LA63_: ;
		{
			T60_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_8));
		}
		LA61_: ;
		(*result) = resizeString((*result), (T60_ ? T60_->Sup.len : 0) + 0);
appendString((*result), T60_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 20):
	{
		NimStringDesc* T67_;
		T67_ = (NimStringDesc*)0;
		{
			if (!(((NI) 12) <= ((NI) ((*dt).hour)))) goto LA70_;
			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_9));
		}
		goto LA68_;
		LA70_: ;
		{
			T67_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_10));
		}
		LA68_: ;
		(*result) = resizeString((*result), (T67_ ? T67_->Sup.len : 0) + 0);
appendString((*result), T67_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 21):
	{
		NI T74_;
		NimStringDesc* T80_;
		T74_ = (NI)0;
		{
			if (!((*dt).year <= ((NI) 0))) goto LA77_;
			T74_ = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
		}
		goto LA75_;
		LA77_: ;
		{
			T74_ = (*dt).year;
		}
		LA75_: ;
		T80_ = (NimStringDesc*)0;
		T80_ = nsuIntToStr((NI)(T74_ % ((NI) 100)), ((NI) 2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result) = resizeString((*result), (T80_ ? T80_->Sup.len : 0) + 0);
appendString((*result), T80_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 22):
	{
		NI year;
		{
			if (!((*dt).year <= ((NI) 0))) goto LA84_;
			year = (NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1));
		}
		goto LA82_;
		LA84_: ;
		{
			year = (*dt).year;
		}
		LA82_: ;
		{
			NimStringDesc* T91_;
			if (!(year < ((NI) 10000))) goto LA89_;
			T91_ = (NimStringDesc*)0;
			T91_ = nsuIntToStr(year, ((NI) 4));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*result) = resizeString((*result), (T91_ ? T91_->Sup.len : 0) + 0);
appendString((*result), T91_);
		}
		goto LA87_;
		LA89_: ;
		{
			NimStringDesc* T93_;
			NimStringDesc* T94_;
			T93_ = (NimStringDesc*)0;
			T94_ = (NimStringDesc*)0;
			T94_ = nimIntToStr(year);
			T93_ = rawNewString((T94_ ? T94_->Sup.len : 0) + 1);
appendChar(T93_, 43);
appendString(T93_, T94_);
			(*result) = resizeString((*result), (T93_ ? T93_->Sup.len : 0) + 0);
appendString((*result), T93_);
		}
		LA87_: ;
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 23):
	{
		{
			NimStringDesc* T100_;
			if (!((*dt).year < ((NI) 1))) goto LA98_;
			T100_ = (NimStringDesc*)0;
			T100_ = nimIntToStr((NI)(((*dt).year > 0? ((*dt).year) : -((*dt).year)) + ((NI) 1)));
			(*result) = resizeString((*result), (T100_ ? T100_->Sup.len : 0) + 0);
appendString((*result), T100_);
		}
		goto LA96_;
		LA98_: ;
		{
			NimStringDesc* T102_;
			T102_ = (NimStringDesc*)0;
			T102_ = nimIntToStr((*dt).year);
			(*result) = resizeString((*result), (T102_ ? T102_->Sup.len : 0) + 0);
appendString((*result), T102_);
		}
		LA96_: ;
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 24):
	{
		NI year_2;
		year_2 = (*dt).year;
		{
			NIM_BOOL T106_;
			NimStringDesc* T110_;
			T106_ = (NIM_BOOL)0;
			T106_ = (year_2 < ((NI) 10000));
			if (T106_) goto LA107_;
			T106_ = (year_2 < ((NI) 0));
			LA107_: ;
			if (!T106_) goto LA108_;
			T110_ = (NimStringDesc*)0;
			T110_ = nsuIntToStr(year_2, ((NI) 4));
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			(*result) = resizeString((*result), (T110_ ? T110_->Sup.len : 0) + 0);
appendString((*result), T110_);
		}
		goto LA104_;
		LA108_: ;
		{
			NimStringDesc* T112_;
			NimStringDesc* T113_;
			T112_ = (NimStringDesc*)0;
			T113_ = (NimStringDesc*)0;
			T113_ = nimIntToStr(year_2);
			T112_ = rawNewString((T113_ ? T113_->Sup.len : 0) + 1);
appendChar(T112_, 43);
appendString(T112_, T113_);
			(*result) = resizeString((*result), (T112_ ? T112_->Sup.len : 0) + 0);
appendString((*result), T112_);
		}
		LA104_: ;
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 25):
	{
		NimStringDesc* T115_;
		T115_ = (NimStringDesc*)0;
		T115_ = nimIntToStr((*dt).year);
		(*result) = resizeString((*result), (T115_ ? T115_->Sup.len : 0) + 0);
appendString((*result), T115_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
	{
		{
			NIM_BOOL T119_;
			NIM_BOOL T120_;
			T119_ = (NIM_BOOL)0;
			T120_ = (NIM_BOOL)0;
			T120_ = eqeq___uJ3ui4E9b9bOpe9bnJkEo4LvQ((*dt).timezone, NIM_NIL);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T119_ = !(T120_);
			if (!(T119_)) goto LA121_;
			T119_ = eqStrings((*(*dt).timezone).name, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11));
			LA121_: ;
			if (!T119_) goto LA122_;
			(*result) = addChar((*result), 90);
		}
		goto LA117_;
		LA122_: ;
		{
			NIM_CHAR T125_;
			NI absOffset;
			T125_ = (NIM_CHAR)0;
			{
				if (!(((NI) 0) <= ((NI64)-((*dt).utcOffset)))) goto LA128_;
				T125_ = 43;
			}
			goto LA126_;
			LA128_: ;
			{
				T125_ = 45;
			}
			LA126_: ;
			(*result) = addChar((*result), T125_);
			absOffset = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
			switch (pattern) {
			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 26):
			{
				NimStringDesc* T132_;
				T132_ = (NimStringDesc*)0;
				T132_ = nimIntToStr((NI)(absOffset / ((NI) 3600)));
				(*result) = resizeString((*result), (T132_ ? T132_->Sup.len : 0) + 0);
appendString((*result), T132_);
			}
			break;
			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 27):
			{
				NimStringDesc* T134_;
				T134_ = (NimStringDesc*)0;
				T134_ = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				(*result) = resizeString((*result), (T134_ ? T134_->Sup.len : 0) + 0);
appendString((*result), T134_);
			}
			break;
			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 28):
			{
				NimStringDesc* h;
				NimStringDesc* m;
				NimStringDesc* T136_;
				h = nsuIntToStr((NI)(absOffset / ((NI) 3600)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				m = nsuIntToStr((NI)((NI)(absOffset / ((NI) 60)) % ((NI) 60)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T136_ = (NimStringDesc*)0;
				T136_ = rawNewString((h ? h->Sup.len : 0) + (m ? m->Sup.len : 0) + 1);
appendString(T136_, h);
appendString(T136_, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
appendString(T136_, m);
				(*result) = resizeString((*result), (T136_ ? T136_->Sup.len : 0) + 0);
appendString((*result), T136_);
			}
			break;
			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 29):
			{
				NI absOffset_2;
				NimStringDesc* h_2;
				NimStringDesc* m_2;
				NimStringDesc* s;
				NimStringDesc* T138_;
				absOffset_2 = ((*dt).utcOffset > 0? ((*dt).utcOffset) : -((*dt).utcOffset));
				h_2 = nsuIntToStr((NI)(absOffset_2 / ((NI) 3600)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				m_2 = nsuIntToStr((NI)((NI)(absOffset_2 / ((NI) 60)) % ((NI) 60)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				s = nsuIntToStr((NI)(absOffset_2 % ((NI) 60)), ((NI) 2));
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T138_ = (NimStringDesc*)0;
				T138_ = rawNewString((h_2 ? h_2->Sup.len : 0) + (m_2 ? m_2->Sup.len : 0) + (s ? s->Sup.len : 0) + 2);
appendString(T138_, h_2);
appendString(T138_, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
appendString(T138_, m_2);
appendString(T138_, ((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_12));
appendString(T138_, s);
				(*result) = resizeString((*result), (T138_ ? T138_->Sup.len : 0) + 0);
appendString((*result), T138_);
			}
			break;
			default:
			{
			}
			break;
			}
		}
		LA117_: ;
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 30):
	{
		NimStringDesc* T141_;
		T141_ = (NimStringDesc*)0;
		{
			if (!((*dt).year < ((NI) 1))) goto LA144_;
			T141_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_13));
		}
		goto LA142_;
		LA144_: ;
		{
			T141_ = copyString(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_14));
		}
		LA142_: ;
		(*result) = resizeString((*result), (T141_ ? T141_->Sup.len : 0) + 0);
appendString((*result), T141_);
	}
	break;
	case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
	{
	}
	break;
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__mJBnGHvSWAC6GZ5ELoijxg)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt, tyObject_TimeFormat__Nsh4TB3AD6ERMz3D74BTxA f, tyObject_DateTimeLocale__uNv3Dc4hHpAREXnLVqGWZQ* loc) {
	NimStringDesc* result;
	NI idx;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	result = ((NimStringDesc*) NIM_NIL);
	idx = ((NI) 0);
	{
		while (1) {
			NI T3_;
			T3_ = ((f.patterns ? f.patterns->Sup.len : 0)-1);
			if (!(idx <= T3_)) goto LA2;
			switch (((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx]))) {
			case ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) 31):
			{
				NU8 len;
				idx += ((NI) 1);
				len = f.patterns->data[idx];
				{
					NU8 i;
					NI res;
					i = (NU8)0;
					res = ((NI) 1);
					{
						while (1) {
							if (!(res <= ((NI) (len)))) goto LA7;
							i = ((NU8) (res));
							idx += ((NI) 1);
							result = addChar(result, ((NIM_CHAR) (f.patterns->data[idx])));
							res += ((NI) 1);
						} LA7: ;
					}
				}
				idx += ((NI) 1);
			}
			break;
			default:
			{
				formatPattern__S4WegiBO0BkW28IP3SncnA(dt, ((tyEnum_FormatPattern__asapJ9b4qGHESR0g3CfbCjQ) (f.patterns->data[idx])), (&result), loc);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				idx += ((NI) 1);
			}
			break;
			}
		} LA2: ;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__0mU5LPQs7yxyhK6wdJYSkg)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
	NimStringDesc* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	result = format__mJBnGHvSWAC6GZ5ELoijxg(dt, TM__6NbDwwj5FY059b1gz2AsAZQ_15, (&TM__6NbDwwj5FY059b1gz2AsAZQ_18));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI64, convert__2z1a0DRE31bT73xgVvBfQAtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI64 quantity) {
	NI64 result;
	result = (NI64)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = (NI64)(quantity / (NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0]));
	}
	goto LA1_;
	LA3_: ;
	{
		result = (NI64)((NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0]) * quantity);
	}
	LA1_: ;
	return result;
}
static N_INLINE(NI, convert__vsrmXCcg8GubJb67VXeq4wtimes)(tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitFrom, tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ unitTo, NI quantity) {
	NI result;
	result = (NI)0;
	{
		if (!(unitFrom < unitTo)) goto LA3_;
		result = ((NI) ((NI64)(((NI64) (quantity)) / (NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0]))));
	}
	goto LA1_;
	LA3_: ;
	{
		result = ((NI) ((NI64)((NI64)(unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitFrom)- 0] / unitWeights__cpugRVHYEC9bUpLa71eZMsQ[(unitTo)- 0]) * ((NI64) (quantity)))));
	}
	LA1_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, normalize__PiFB72i3f9cc4IO17Lz9cB7w)(NI64 seconds, NI64 nanoseconds) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
	NI64 T1_;
	NI64 nanosecond;
	NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	T1_ = (NI64)0;
	T1_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result.seconds = (NI64)(seconds + T1_);
	T2_ = (NI)0;
	T2_ = convert__vsrmXCcg8GubJb67VXeq4wtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
	{
		NI T7_;
		if (!(nanosecond < IL64(0))) goto LA5_;
		T7_ = (NI)0;
		T7_ = convert__vsrmXCcg8GubJb67VXeq4wtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nanosecond += ((NI64) (T7_));
		result.seconds -= ((NI) 1);
	}
	LA5_: ;
	result.nanosecond = ((NI) (((NI) (nanosecond))));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, ntSubTime)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q a, tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw b) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
	NI64 T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	T1_ = (NI64)0;
	T1_ = (NI64)(a.seconds - b.seconds);
	result = normalize__PiFB72i3f9cc4IO17Lz9cB7w(T1_, ((NI64) ((NI)(((NI) (a.nanosecond)) - ((NI) (b.nanosecond))))));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, normalize__JK8O6vJVu4WsESmu0kL4aQ)(NI64 seconds, NI64 nanoseconds) {
	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
	NI64 T1_;
	NI64 nanosecond;
	NI T2_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
	T1_ = (NI64)0;
	T1_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result.seconds = (NI64)(seconds + T1_);
	T2_ = (NI)0;
	T2_ = convert__vsrmXCcg8GubJb67VXeq4wtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nanosecond = (NI64)(nanoseconds % ((NI64) (T2_)));
	{
		NI T7_;
		if (!(nanosecond < IL64(0))) goto LA5_;
		T7_ = (NI)0;
		T7_ = convert__vsrmXCcg8GubJb67VXeq4wtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((NI) 1));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nanosecond += ((NI64) (T7_));
		result.seconds -= ((NI) 1);
	}
	LA5_: ;
	result.nanosecond = ((NI) (((NI) (nanosecond))));
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw, initDuration__wcR3zetvspAUsyuvWZ07Xg)(NI64 nanoseconds, NI64 microseconds, NI64 milliseconds, NI64 seconds, NI64 minutes, NI64 hours, NI64 days, NI64 weeks) {
	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw result;
	NI64 seconds_2;
	NI64 T1_;
	NI64 T2_;
	NI64 T3_;
	NI64 T4_;
	NI64 T5_;
	NI64 T6_;
	NI64 T7_;
	NI64 T8_;
	NI nanoseconds_2;
	NI64 T9_;
	NI64 T10_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw));
	T1_ = (NI64)0;
	T1_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 7), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), weeks);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = (NI64)0;
	T2_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 6), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), days);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = (NI64)0;
	T3_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 4), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), minutes);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T4_ = (NI64)0;
	T4_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 5), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), hours);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T5_ = (NI64)0;
	T5_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), seconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T6_ = (NI64)0;
	T6_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), milliseconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_ = (NI64)0;
	T7_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), microseconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T8_ = (NI64)0;
	T8_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 3), nanoseconds);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	seconds_2 = (NI64)((NI64)((NI64)((NI64)((NI64)((NI64)((NI64)(T1_ + T2_) + T3_) + T4_) + T5_) + T6_) + T7_) + T8_);
	T9_ = (NI64)0;
	T9_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 2), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(milliseconds % IL64(1000)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T10_ = (NI64)0;
	T10_ = convert__2z1a0DRE31bT73xgVvBfQAtimes(((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 1), ((tyEnum_TimeUnit__52alPn04ElUUbqLeok9b3PQ) 0), (NI64)(microseconds % IL64(1000000)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	nanoseconds_2 = ((NI) ((NI64)((NI64)(T9_ + T10_) + (NI64)(nanoseconds % IL64(1000000000)))));
	result = normalize__JK8O6vJVu4WsESmu0kL4aQ(seconds_2, ((NI64) (nanoseconds_2)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ, fromEpochDay__Q6dL9aKf9alEEEm3deeqatPQ)(NI64 epochday) {
	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ result;
	NI64 z;
	NI64 era;
	NI64 T1_;
	NI64 doe;
	NI64 yoe;
	NI64 y;
	NI64 doy;
	NI64 mp;
	NI64 d;
	NI64 m;
	NI T7_;
	NI colontmp_;
	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw colontmp__2;
	NI colontmp__3;
{	nimZeroMem((void*)(&result), sizeof(tyTuple__XjuGlLf9cyYx66ViXrBCvPQ));
	z = epochday;
	z += ((NI) 719468);
	T1_ = (NI64)0;
	{
		if (!(IL64(0) <= z)) goto LA4_;
		T1_ = z;
	}
	goto LA2_;
	LA4_: ;
	{
		T1_ = (NI64)(z - IL64(146096));
	}
	LA2_: ;
	era = (NI64)(T1_ / IL64(146097));
	doe = (NI64)(z - (NI64)(era * IL64(146097)));
	yoe = (NI64)((NI64)((NI64)((NI64)(doe - (NI64)(doe / IL64(1460))) + (NI64)(doe / IL64(36524))) - (NI64)(doe / IL64(146096))) / IL64(365));
	y = (NI64)(yoe + (NI64)(era * IL64(400)));
	doy = (NI64)(doe - (NI64)((NI64)((NI64)(IL64(365) * yoe) + (NI64)(yoe / IL64(4))) - (NI64)(yoe / IL64(100))));
	mp = (NI64)((NI64)((NI64)(IL64(5) * doy) + IL64(2)) / IL64(153));
	d = (NI64)((NI64)(doy - (NI64)((NI64)((NI64)(IL64(153) * mp) + IL64(2)) / IL64(5))) + IL64(1));
	T7_ = (NI)0;
	{
		if (!(mp < IL64(10))) goto LA10_;
		T7_ = ((NI) 3);
	}
	goto LA8_;
	LA10_: ;
	{
		T7_ = ((NI) -9);
	}
	LA8_: ;
	m = (NI64)(mp + ((NI64) (T7_)));
	colontmp_ = ((NI) (d));
	colontmp__2 = ((tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw) (m));
	colontmp__3 = ((NI) ((NI64)(y + ((NI64) ((m <= IL64(2)))))));
	result.Field0 = colontmp_;
	result.Field1 = colontmp__2;
	result.Field2 = colontmp__3;
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, unsureAsgnRef)(void** dest, void* src) {
	(*dest) = src;
}
static N_INLINE(void, assertValidDate__cpvBdCYhBv8ncHGOZsJ1NAtimes)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
}
N_LIB_PRIVATE N_NIMCALL(NI64, toEpochDay__cWHW5k8iz9aeqtjYJ7yMEUw)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
	NI64 result;
	tyTuple__47w2DboNEPf69aPgubZdd7Q T1_;
	NI y;
	NI m;
	NI d;
	NI era;
	NI T6_;
	NI yoe;
	NI doy;
	NI T12_;
	NI doe;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI64)0;
	assertValidDate__cpvBdCYhBv8ncHGOZsJ1NAtimes(monthday, month, year);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_.Field0 = year;
	T1_.Field1 = month;
	T1_.Field2 = ((NI) (monthday));
	y = T1_.Field0;
	m = T1_.Field1;
	d = T1_.Field2;
	{
		if (!(m <= ((NI) 2))) goto LA4_;
		y -= ((NI) 1);
	}
	LA4_: ;
	T6_ = (NI)0;
	{
		if (!(((NI) 0) <= y)) goto LA9_;
		T6_ = y;
	}
	goto LA7_;
	LA9_: ;
	{
		T6_ = (NI)(y - ((NI) 399));
	}
	LA7_: ;
	era = (NI)(T6_ / ((NI) 400));
	yoe = (NI)(y - (NI)(era * ((NI) 400)));
	T12_ = (NI)0;
	{
		if (!(((NI) 2) < m)) goto LA15_;
		T12_ = ((NI) -3);
	}
	goto LA13_;
	LA15_: ;
	{
		T12_ = ((NI) 9);
	}
	LA13_: ;
	doy = (NI)((NI)((NI)((NI)((NI)(((NI) 153) * (NI)(m + T12_)) + ((NI) 2)) / ((NI) 5)) + d) - ((NI) 1));
	doe = (NI)((NI)((NI)((NI)(yoe * ((NI) 365)) + (NI)(yoe / ((NI) 4))) - (NI)(yoe / ((NI) 100))) + doy);
	result = ((NI64) ((NI)((NI)((NI)(era * ((NI) 146097)) + doe) - ((NI) 719468))));
	goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg, getDayOfWeek__TMYR1EBf9be9ao182X9aB6FsQ)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
	tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg result;
	NI64 days;
	NI64 T1_;
	NI64 weeks;
	NI64 wd;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg)0;
	assertValidDate__cpvBdCYhBv8ncHGOZsJ1NAtimes(monthday, month, year);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (NI64)0;
	T1_ = toEpochDay__cWHW5k8iz9aeqtjYJ7yMEUw(monthday, month, year);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	days = (NI64)(T1_ - IL64(3));
	weeks = floorDiv__AhJW2V9aOggsJyHuT9bgq9bug_2(days, ((NI) 7));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	wd = (NI64)(days - (NI64)(weeks * IL64(7)));
	{
		if (!(wd == IL64(0))) goto LA4_;
		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) 6);
	}
	goto LA2_;
	LA4_: ;
	{
		result = ((tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg) ((NI64)(wd - IL64(1))));
	}
	LA2_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLeapYear__fs8eIeJ5mOYFq6g12UKiwQ)(NI year) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T3_;
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = ((NI)(year % ((NI) 4)) == ((NI) 0));
	if (!(T1_)) goto LA2_;
	T3_ = (NIM_BOOL)0;
	T3_ = !(((NI)(year % ((NI) 100)) == ((NI) 0)));
	if (T3_) goto LA4_;
	T3_ = ((NI)(year % ((NI) 400)) == ((NI) 0));
	LA4_: ;
	T1_ = T3_;
	LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, getDayOfYear__v9bv9bJVWRRmGny5jy7KFbgQ)(NI monthday, tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw month, NI year) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	assertValidDate__cpvBdCYhBv8ncHGOZsJ1NAtimes(monthday, month, year);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isLeapYear__fs8eIeJ5mOYFq6g12UKiwQ(year);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		result = ((NI) ((NI)((NI)(daysUntilMonthLeap__bWLQu3i9bqoFDTyygQP29aFA[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
	}
	goto LA1_;
	LA4_: ;
	{
		result = ((NI) ((NI)((NI)(daysUntilMonth__TV2R7Va3CeAXpg6eZUosdg[(month)- 1] + ((NI) (monthday))) - ((NI) 1))));
	}
	LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, initDateTime__9aNghJ6FEvB9bmfWkrG4iUag)(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ* zt, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q adjTime;
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q T1_;
	tyObject_Duration__lj9ar6Co3fgk6NgGnVaNpJw T2_;
	NI64 s;
	NI64 epochday;
	NI64 rem;
	NI64 hour;
	NI64 minute;
	NI64 second;
	tyTuple__XjuGlLf9cyYx66ViXrBCvPQ T3_;
	NI d;
	tyEnum_Month__JS0JuFvCBbC2GL3xXBnPQw m;
	NI y;
	tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg T4_;
	NI T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (*zt).time;
	T2_ = initDuration__wcR3zetvspAUsyuvWZ07Xg(IL64(0), IL64(0), IL64(0), ((NI64) ((*zt).utcOffset)), IL64(0), IL64(0), IL64(0), IL64(0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	adjTime = ntSubTime(T1_, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	s = adjTime.seconds;
	epochday = floorDiv__AhJW2V9aOggsJyHuT9bgq9bug_2(s, ((NI) 86400));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	rem = (NI64)(s - (NI64)(epochday * IL64(86400)));
	hour = (NI64)(rem / IL64(3600));
	rem = (NI64)(rem - (NI64)(hour * IL64(3600)));
	minute = (NI64)(rem / IL64(60));
	rem = (NI64)(rem - (NI64)(minute * IL64(60)));
	second = rem;
	T3_ = fromEpochDay__Q6dL9aKf9alEEEm3deeqatPQ(epochday);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	d = T3_.Field0;
	m = T3_.Field1;
	y = T3_.Field2;
	(*Result).monthdayZero = 0;
	(*Result).monthZero = 0;
	(*Result).year = 0;
	(*Result).weekday = 0;
	(*Result).isDst = 0;
	unsureAsgnRef((void**)&(*Result).timezone, NIM_NIL);
	(*Result).utcOffset = 0;
	(*Result).Sup.m_type = (&NTI__d9cK9cyKZPJJxFXUmx8dSpPw_);
	(*Result).year = y;
	(*Result).monthZero = ((NI) (m));
	(*Result).monthdayZero = ((NI) (d));
	(*Result).hour = ((NI) (hour));
	(*Result).minute = ((NI) (minute));
	(*Result).second = ((NI) (second));
	(*Result).nanosecond = (*zt).time.nanosecond;
	T4_ = (tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg)0;
	T4_ = getDayOfWeek__TMYR1EBf9be9ao182X9aB6FsQ(d, m, y);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).weekday = T4_;
	T5_ = (NI)0;
	T5_ = getDayOfYear__v9bv9bJVWRRmGny5jy7KFbgQ(d, m, y);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*Result).yearday = T5_;
	(*Result).isDst = (*zt).isDst;
	(*Result).timezone = zone;
	(*Result).utcOffset = (*zt).utcOffset;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, zonedTimeFromTime__zT9bMgAwfe1o0G71u2tO24Q)(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
	result = (*zone).zonedTimeFromTimeImpl.ClE_0? (*zone).zonedTimeFromTimeImpl.ClP_0(time, (*zone).zonedTimeFromTimeImpl.ClE_0):((TM__6NbDwwj5FY059b1gz2AsAZQ_60)((*zone).zonedTimeFromTimeImpl.ClP_0))(time);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, inZone__o59cT0ssqq4BC09cuUGSdJiA)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time, tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* zone, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = zonedTimeFromTime__zT9bMgAwfe1o0G71u2tO24Q(zone, time);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	initDateTime__9aNghJ6FEvB9bmfWkrG4iUag((&T1_), zone, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, newTimezone__mpaJbEchqMVc4ZG3uOdUTQ)(NimStringDesc* name, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromTimeImpl, tyProc__7xnKxEC24cr3qZyj3gX32w zonedTimeFromAdjTimeImpl) {
	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
	result = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)0;
	T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)0;
	T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*) newObj((&NTI__9a5v4OQPlGqsA25ioN8hFYA_), sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw));
	(*T1_).name = copyString(name);
	(*T1_).zonedTimeFromTimeImpl.ClE_0 = zonedTimeFromTimeImpl.ClE_0;
	(*T1_).zonedTimeFromTimeImpl.ClP_0 = zonedTimeFromTimeImpl.ClP_0;
	(*T1_).zonedTimeFromAdjTimeImpl.ClE_0 = zonedTimeFromAdjTimeImpl.ClE_0;
	(*T1_).zonedTimeFromAdjTimeImpl.ClP_0 = zonedTimeFromAdjTimeImpl.ClP_0;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ, utcTzInfo__uDYZeDxzpPQoN8cxZKMtTQ)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q time) {
	tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ result;
	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
	nimZeroMem((void*)(&result), sizeof(tyObject_ZonedTime__WigfH9apQAxJ69bBPh3wB8RQ));
	result.utcOffset = ((NI) 0);
	result.isDst = NIM_FALSE;
	result.time = time;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*, utc__qUBQvQNLA9buHXwkwhObxQg)(void) {
	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)0;
	{
		tyProc__7xnKxEC24cr3qZyj3gX32w T5_;
		tyProc__7xnKxEC24cr3qZyj3gX32w T6_;
		tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T7_;
		if (!(utcInstance__oeKVHn4dFpBJO35HhEkelw == 0)) goto LA3_;
		nimZeroMem((void*)(&T5_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
		T5_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_61) (utcTzInfo__uDYZeDxzpPQoN8cxZKMtTQ)); T5_.ClE_0 = NIM_NIL;
		nimZeroMem((void*)(&T6_), sizeof(tyProc__7xnKxEC24cr3qZyj3gX32w));
		T6_.ClP_0 = ((TM__6NbDwwj5FY059b1gz2AsAZQ_62) (utcTzInfo__uDYZeDxzpPQoN8cxZKMtTQ)); T6_.ClE_0 = NIM_NIL;
		T7_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)0;
		T7_ = newTimezone__mpaJbEchqMVc4ZG3uOdUTQ(((NimStringDesc*) &TM__6NbDwwj5FY059b1gz2AsAZQ_11), T5_, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		utcInstance__oeKVHn4dFpBJO35HhEkelw = T7_;
	}
	LA3_: ;
	result = utcInstance__oeKVHn4dFpBJO35HhEkelw;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, utc__JDUz4bfwLSZvJxYV9aiNG9bg)(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q t, tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* Result) {
	tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	T1_ = (tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*)0;
	T1_ = utc__qUBQvQNLA9buHXwkwhObxQg();
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	inZone__o59cT0ssqq4BC09cuUGSdJiA(t, T1_, Result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q, fromUnix__tTrGV9aPQsM9bPX19apdE19cAA)(NI64 unix_0) {
	tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&result), sizeof(tyObject_Time__3y2ZpqsTJLqdZvpC9a0rU2Q));
	result = initTime__JIXNH9cQMG3SbZ0hXqEYDvA(unix_0, ((NI) 0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, format__5aADVWvtnd9aihEMOlhe37A)(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw* dt) {
	NimStringDesc* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NimStringDesc*)0;
	result = format__mJBnGHvSWAC6GZ5ELoijxg(dt, TM__6NbDwwj5FY059b1gz2AsAZQ_63, (&TM__6NbDwwj5FY059b1gz2AsAZQ_18));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesInit000)(void) {
{

	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_4);


	nimRegisterThreadLocalMarker(TM__6NbDwwj5FY059b1gz2AsAZQ_5);

}
}

N_LIB_PRIVATE N_NIMCALL(void, stdlib_timesDatInit000)(void) {

/* section: NIM_merge_TYPE_INIT1 */
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[3];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[2];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[12];
static TNimNode* TM__6NbDwwj5FY059b1gz2AsAZQ_57_7[7];
NI TM__6NbDwwj5FY059b1gz2AsAZQ_59;
static char* NIM_CONST TM__6NbDwwj5FY059b1gz2AsAZQ_58[7] = {
"Monday", 
"Tuesday", 
"Wednesday", 
"Thursday", 
"Friday", 
"Saturday", 
"Sunday"};
static TNimNode TM__6NbDwwj5FY059b1gz2AsAZQ_0[29];

/* section: NIM_merge_TYPE_INIT3 */
NTI__F8OvqlxXyGXRSiK9c1fCDVw_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
NTI__F8OvqlxXyGXRSiK9c1fCDVw_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw);
NTI__F8OvqlxXyGXRSiK9c1fCDVw_.kind = 18;
NTI__F8OvqlxXyGXRSiK9c1fCDVw_.base = 0;
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[1];
NTI__7xnKxEC24cr3qZyj3gX32w_.size = sizeof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__7xnKxEC24cr3qZyj3gX32w_.align = NIM_ALIGNOF(tyTuple__JfHvHzMrhKkWAUvQKe0i1A);
NTI__7xnKxEC24cr3qZyj3gX32w_.kind = 18;
NTI__7xnKxEC24cr3qZyj3gX32w_.base = 0;
TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[3];
NTI__vr5DoT1jILTGdRlYv1OYpw_.size = sizeof(void*);
NTI__vr5DoT1jILTGdRlYv1OYpw_.align = NIM_ALIGNOF(void*);
NTI__vr5DoT1jILTGdRlYv1OYpw_.kind = 26;
NTI__vr5DoT1jILTGdRlYv1OYpw_.base = 0;
NTI__vr5DoT1jILTGdRlYv1OYpw_.flags = 3;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field0);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].typ = (&NTI__vr5DoT1jILTGdRlYv1OYpw_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[3].name = "Field0";
TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[4];
NTI__diB2NTuAIWY0FO9c5IUJRGg_.size = sizeof(tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg);
NTI__diB2NTuAIWY0FO9c5IUJRGg_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg);
NTI__diB2NTuAIWY0FO9c5IUJRGg_.kind = 17;
NTI__diB2NTuAIWY0FO9c5IUJRGg_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
NTI__diB2NTuAIWY0FO9c5IUJRGg_.flags = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].len = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_0[5].kind = 2;
NTI__diB2NTuAIWY0FO9c5IUJRGg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[5];
NTI__HsJiUUcO9cHBdUCi0HwkSTA_.size = sizeof(tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg*);
NTI__HsJiUUcO9cHBdUCi0HwkSTA_.align = NIM_ALIGNOF(tyObject_Env_timesdotnim___diB2NTuAIWY0FO9c5IUJRGg*);
NTI__HsJiUUcO9cHBdUCi0HwkSTA_.kind = 22;
NTI__HsJiUUcO9cHBdUCi0HwkSTA_.base = (&NTI__diB2NTuAIWY0FO9c5IUJRGg_);
NTI__HsJiUUcO9cHBdUCi0HwkSTA_.marker = Marker_tyRef__HsJiUUcO9cHBdUCi0HwkSTA;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].offset = offsetof(tyTuple__JfHvHzMrhKkWAUvQKe0i1A, Field1);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].typ = (&NTI__HsJiUUcO9cHBdUCi0HwkSTA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[4].name = "Field1";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].len = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[2].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_3_2[0];
NTI__7xnKxEC24cr3qZyj3gX32w_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[2];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromTimeImpl);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].typ = (&NTI__7xnKxEC24cr3qZyj3gX32w_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[1].name = "zonedTimeFromTimeImpl";
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[6];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, zonedTimeFromAdjTimeImpl);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].typ = (&NTI__7xnKxEC24cr3qZyj3gX32w_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[6].name = "zonedTimeFromAdjTimeImpl";
TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[7];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].offset = offsetof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw, name);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].typ = (&NTI__77mFvmsOLKik79ci2hXkHEg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[7].name = "name";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].len = 3; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[0].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_2_3[0];
NTI__F8OvqlxXyGXRSiK9c1fCDVw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[0];
NTI__9a5v4OQPlGqsA25ioN8hFYA_.size = sizeof(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
NTI__9a5v4OQPlGqsA25ioN8hFYA_.align = NIM_ALIGNOF(tyObject_TimezonecolonObjectType___F8OvqlxXyGXRSiK9c1fCDVw*);
NTI__9a5v4OQPlGqsA25ioN8hFYA_.kind = 22;
NTI__9a5v4OQPlGqsA25ioN8hFYA_.base = (&NTI__F8OvqlxXyGXRSiK9c1fCDVw_);
NTI__9a5v4OQPlGqsA25ioN8hFYA_.marker = Marker_tyRef__9a5v4OQPlGqsA25ioN8hFYA;
NTI__d9cK9cyKZPJJxFXUmx8dSpPw_.size = sizeof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
NTI__d9cK9cyKZPJJxFXUmx8dSpPw_.align = NIM_ALIGNOF(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw);
NTI__d9cK9cyKZPJJxFXUmx8dSpPw_.kind = 17;
NTI__d9cK9cyKZPJJxFXUmx8dSpPw_.base = (&NTI__ytyiCJqK439aF9cIibuRVpAg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[0] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[9];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, nanosecond);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].typ = (&NTI__PpavWgyrx5odXyR89aNlcWA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[9].name = "nanosecond";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[1] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[10];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, second);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].typ = (&NTI__rUuqTvFmkC6KKRqDAazGEA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[10].name = "second";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[2] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[11];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, minute);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].typ = (&NTI__LBgXxpmYOpS8xroRZgNvbg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[11].name = "minute";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[3] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[12];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, hour);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].typ = (&NTI__Gz6vwaK0PZQIDIwfuvKsOg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[12].name = "hour";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[4] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[13];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthdayZero);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[13].name = "monthdayZero";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[5] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[14];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, monthZero);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[14].name = "monthZero";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[6] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[15];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, year);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[15].name = "year";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[7] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[16];
NTI__SVfemTA9aCOyua2TJYa6yBg_.size = sizeof(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
NTI__SVfemTA9aCOyua2TJYa6yBg_.align = NIM_ALIGNOF(tyEnum_WeekDay__SVfemTA9aCOyua2TJYa6yBg);
NTI__SVfemTA9aCOyua2TJYa6yBg_.kind = 14;
NTI__SVfemTA9aCOyua2TJYa6yBg_.base = 0;
NTI__SVfemTA9aCOyua2TJYa6yBg_.flags = 3;
for (TM__6NbDwwj5FY059b1gz2AsAZQ_59 = 0; TM__6NbDwwj5FY059b1gz2AsAZQ_59 < 7; TM__6NbDwwj5FY059b1gz2AsAZQ_59++) {
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_59+17].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_59+17].offset = TM__6NbDwwj5FY059b1gz2AsAZQ_59;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_59+17].name = TM__6NbDwwj5FY059b1gz2AsAZQ_58[TM__6NbDwwj5FY059b1gz2AsAZQ_59];
TM__6NbDwwj5FY059b1gz2AsAZQ_57_7[TM__6NbDwwj5FY059b1gz2AsAZQ_59] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[TM__6NbDwwj5FY059b1gz2AsAZQ_59+17];
}
TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].len = 7; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[24].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_57_7[0];
NTI__SVfemTA9aCOyua2TJYa6yBg_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[24];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, weekday);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].typ = (&NTI__SVfemTA9aCOyua2TJYa6yBg_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[16].name = "weekday";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[8] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[25];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, yearday);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].typ = (&NTI__g9buja9c9aeh0rkDpqsXOJF9bA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[25].name = "yearday";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[9] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[26];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, isDst);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].typ = (&NTI__VaVACK0bpYmqIQ0mKcHfQQ_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[26].name = "isDst";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[10] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[27];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, timezone);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].typ = (&NTI__9a5v4OQPlGqsA25ioN8hFYA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[27].name = "timezone";
TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[11] = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[28];
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].kind = 1;
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].offset = offsetof(tyObject_DateTime__d9cK9cyKZPJJxFXUmx8dSpPw, utcOffset);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].typ = (&NTI__rR5Bzr1D5krxoo1NcNyeMA_);
TM__6NbDwwj5FY059b1gz2AsAZQ_0[28].name = "utcOffset";
TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].len = 12; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].kind = 2; TM__6NbDwwj5FY059b1gz2AsAZQ_0[8].sons = &TM__6NbDwwj5FY059b1gz2AsAZQ_56_12[0];
NTI__d9cK9cyKZPJJxFXUmx8dSpPw_.node = &TM__6NbDwwj5FY059b1gz2AsAZQ_0[8];
}

