/* Generated by Nim Compiler v2.2.10 */
/* Compiled for: MacOSX, arm64, clang */
/* Command for C compiler:
   clang -c  -w -ferror-limit=3 -fno-strict-aliasing -pthread -isysroot /Applications/Xcode_16.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -target arm64-apple-darwin24.2.0 -O3   -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/lib -I/Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/src -o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@spackageinfos.nim.c.o /Users/runner/work/nightlies/nightlies/nim-2.2.10/dist/atlas/.nimcache/@mbasic@spackageinfos.nim.c */
#define NIM_INTBITS 64
#define NIM_EmulateOverflowChecks

#include "nimbase.h"
#include <string.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ;
typedef struct tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg;
typedef struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA tySequence__j9bhAvfiD9alXYEwmFnFGFNA;
typedef struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content;
typedef struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg tyObject_Table__ao79cQacnAZc5Mu0cN3jybg;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ tySequence__SFipDZIkFtPcrLs0AGBBjQ;
typedef struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q tySequence__4eQHGndY6XBYpFOH09apV8Q;
typedef struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content tySequence__4eQHGndY6XBYpFOH09apV8Q_Content;
typedef struct tyObject_Table__8bDqb52Br017mlUSc5FIOw tyObject_Table__8bDqb52Br017mlUSc5FIOw;
typedef struct tySequence__tas7jtBybgwOq4KxPkjGjg tySequence__tas7jtBybgwOq4KxPkjGjg;
typedef struct tySequence__tas7jtBybgwOq4KxPkjGjg_Content tySequence__tas7jtBybgwOq4KxPkjGjg_Content;
typedef struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg;
typedef struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA;
typedef struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw tySequence__4eRCaZmrYLLw2k30GPTiMw;
typedef struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content tySequence__4eRCaZmrYLLw2k30GPTiMw_Content;
typedef struct tyTuple__TLTPscngTyX39coeZ9b9cEB7w tyTuple__TLTPscngTyX39coeZ9b9cEB7w;
typedef struct tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA;
typedef struct tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A;
typedef struct tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw;
typedef struct tyObject_SocketImpl__TmGWJPpyEwcsRMnCyN509ag tyObject_SocketImpl__TmGWJPpyEwcsRMnCyN509ag;
typedef struct tyObject_ProxycolonObjectType___1adNpKdVBJZguvplkL5T7A tyObject_ProxycolonObjectType___1adNpKdVBJZguvplkL5T7A;
typedef struct tyObject_MonoTime__OPj9am9cm67Ww8xBOG3ksEhw tyObject_MonoTime__OPj9am9cm67Ww8xBOG3ksEhw;
typedef struct tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ;
typedef struct tyObject_SslStruct__nrXQY5VF6Ld9c2BdIxvNUmg tyObject_SslStruct__nrXQY5VF6Ld9c2BdIxvNUmg;
typedef struct tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ tySequence__8Np6tlClE5az1CyqZdN19bQ;
typedef struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content tySequence__8Np6tlClE5az1CyqZdN19bQ_Content;
typedef struct tyObject_SslContextExtraInternalcolonObjectType___HCHicI3N4HKjbTv49ccrcig tyObject_SslContextExtraInternalcolonObjectType___HCHicI3N4HKjbTv49ccrcig;
typedef struct tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w;
typedef struct TNimTypeV2 TNimTypeV2;
typedef struct Exception Exception;
typedef struct RootObj RootObj;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ tySequence__3EvzHGO0xyXGnJBUggwfKQ;
typedef struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content;
typedef struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug;
typedef struct tySequence__H3A42plY3ZGdd9cIkci4urw tySequence__H3A42plY3ZGdd9cIkci4urw;
typedef struct tySequence__H3A42plY3ZGdd9cIkci4urw_Content tySequence__H3A42plY3ZGdd9cIkci4urw_Content;
typedef struct tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew;
typedef struct tyTuple__HQn4jYwt9cUKCw69a7yYWO0A tyTuple__HQn4jYwt9cUKCw69a7yYWO0A;
typedef struct tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw;
typedef struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA;
typedef struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A tySequence__UM2HJI1wUigOaSPzL6VC3A;
typedef struct tySequence__UM2HJI1wUigOaSPzL6VC3A_Content tySequence__UM2HJI1wUigOaSPzL6VC3A_Content;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw tySequence__t6JKa4Kdxpc0RJiFEWRI9bw;
typedef struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content;
typedef struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA;
typedef struct tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ;
typedef struct tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA;
typedef struct tySequence__xjLg9a72SfsVVFciefDuvtw tySequence__xjLg9a72SfsVVFciefDuvtw;
typedef struct tySequence__xjLg9a72SfsVVFciefDuvtw_Content tySequence__xjLg9a72SfsVVFciefDuvtw_Content;
typedef struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg tyTuple__8ZxhPt1NwfElsJs8zUSV9bg;
typedef struct tyTuple__UV3llMMYFckfui8YMBuUZA tyTuple__UV3llMMYFckfui8YMBuUZA;
typedef struct tyTuple__uSZbD2CRToUhqTsTNx4cgA tyTuple__uSZbD2CRToUhqTsTNx4cgA;
typedef struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw tyTuple__QeWl6B6ffS4pU6WWrtcrDw;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw;
typedef struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw tyTuple__otFEYh4BBZ0y3q0WDtkCOw;
typedef struct tyObject_Instr__dVxI1dKsh9ajF145UocfxWg tyObject_Instr__dVxI1dKsh9ajF145UocfxWg;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
typedef NU32 tySet_tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw;
struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA {
  NI len; tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content* p;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ {
  NI len; tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content* p;
};
struct tyObject_Table__ao79cQacnAZc5Mu0cN3jybg {
	tySequence__SFipDZIkFtPcrLs0AGBBjQ data;
	NI counter;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q {
  NI len; tySequence__4eQHGndY6XBYpFOH09apV8Q_Content* p;
};
struct tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg {
	tySequence__j9bhAvfiD9alXYEwmFnFGFNA s;
	tyObject_Table__ao79cQacnAZc5Mu0cN3jybg t;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ strings;
	tySequence__4eQHGndY6XBYpFOH09apV8Q patterns;
};
struct tySequence__tas7jtBybgwOq4KxPkjGjg {
  NI len; tySequence__tas7jtBybgwOq4KxPkjGjg_Content* p;
};
struct tyObject_Table__8bDqb52Br017mlUSc5FIOw {
	tySequence__tas7jtBybgwOq4KxPkjGjg data;
	NI counter;
};
typedef NU8 tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw;
struct tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg {
	tySequence__4eQHGndY6XBYpFOH09apV8Q builderPatterns;
};
struct tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA {
	NimStringV2 scheme;
	NimStringV2 username;
	NimStringV2 password;
	NimStringV2 hostname;
	NimStringV2 port;
	NimStringV2 path;
	NimStringV2 query;
	NimStringV2 anchor;
	NIM_BOOL opaque;
	NIM_BOOL isIpv6;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw {
  NI len; tySequence__4eRCaZmrYLLw2k30GPTiMw_Content* p;
};
struct tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q {
	tySequence__4eRCaZmrYLLw2k30GPTiMw data;
	NI counter;
};
struct tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ {
	NimStringV2 projectDir;
	NimStringV2 depsDir;
	NimStringV2 confDirOverride;
	tySet_tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw flags;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg nameOverrides;
	tyObject_Patterns__FXqyqR49aNa9c2SMD9akprhSg urlOverrides;
	tyObject_Table__8bDqb52Br017mlUSc5FIOw pkgOverrides;
	tyEnum_ResolutionAlgorithm__EDrRewmAkc38ngHuXBbDaw defaultAlgo;
	tyObject_PluginInfo__jIeVHC5m9cMm7lQxxmW9bmHg plugins;
	NimStringV2 overridesFile;
	NimStringV2 pluginsFile;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA proxy;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q features;
};
typedef NU8 tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw;
typedef NU8 tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA;
struct tyTuple__TLTPscngTyX39coeZ9b9cEB7w {
	tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA Field0;
	NimStringV2 Field1;
};
typedef NimStringV2 tyArray__YgExxhfgKcesA5EOUj1MOA[1];
typedef struct {
N_NIMCALL_PTR(void, ClP_0) (NI64 total_p0, NI64 progress_p1, NI64 speed_p2, void* ClE_0);
void* ClE_0;
} tyProc__TSOsjF4c9aXotPerq9cEE56A;
struct tyObject_MonoTime__OPj9am9cm67Ww8xBOG3ksEhw {
	NI64 ticks;
};
struct tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA {
	tyObject_SocketImpl__TmGWJPpyEwcsRMnCyN509ag* socket;
	NIM_BOOL connected;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA currentURL;
	tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw* headers;
	NI maxRedirects;
	NimStringV2 userAgent;
	NI timeout;
	tyObject_ProxycolonObjectType___1adNpKdVBJZguvplkL5T7A* proxy;
	tyProc__TSOsjF4c9aXotPerq9cEE56A onProgressChanged;
	tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A* sslContext;
	NI64 contentTotal;
	NI64 contentProgress;
	NI64 oneSecondProgress;
	tyObject_MonoTime__OPj9am9cm67Ww8xBOG3ksEhw lastProgressReport;
	tyObject_StreamObj__bsqueMN9aCOGm2aNaHkuxoQ* bodyStream;
	NIM_BOOL getBody;
};
struct tySequence__8Np6tlClE5az1CyqZdN19bQ {
  NI len; tySequence__8Np6tlClE5az1CyqZdN19bQ_Content* p;
};
struct tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ {
	tySequence__8Np6tlClE5az1CyqZdN19bQ data;
	NI counter;
};
struct tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A {
	tyObject_SslStruct__nrXQY5VF6Ld9c2BdIxvNUmg* context;
	tyObject_HashSet__9aAVrrL6o7xnFQncOPM0SYQ referencedData;
	tyObject_SslContextExtraInternalcolonObjectType___HCHicI3N4HKjbTv49ccrcig* extraInternal;
};
struct tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw {
	tyObject_Table__9c9cL6DR4DCGVMI1lXj9akt8w* table;
	NIM_BOOL isTitleCase;
};
struct TNimTypeV2 {
	void* destructor;
	NI size;
	NI16 align;
	NI16 depth;
	NU32* display;
	void* traceImpl;
	void* typeInfoV1;
	NI flags;
	void* vTable[SEQ_DECL_SIZE];
};
struct RootObj {
	TNimTypeV2* m_type;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ {
  NI len; tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content* p;
};
struct Exception {
	RootObj Sup;
	Exception* parent;
	NCSTRING name;
	NimStringV2 message;
	tySequence__3EvzHGO0xyXGnJBUggwfKQ trace;
	Exception* up;
};
struct tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug {
	Exception Sup;
};
struct tySequence__H3A42plY3ZGdd9cIkci4urw {
  NI len; tySequence__H3A42plY3ZGdd9cIkci4urw_Content* p;
};
typedef NU8 tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q;
typedef NIM_CHAR tyArray__bErjiHmvISNmC2iIqkq21Q[256];
struct tyTuple__HQn4jYwt9cUKCw69a7yYWO0A {
	tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q Field0;
	NimStringV2 Field1;
};
struct tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw {
	tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q Field0;
	NIM_BOOL Field1;
};
typedef NU8 tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA;
struct tySequence__UM2HJI1wUigOaSPzL6VC3A {
  NI len; tySequence__UM2HJI1wUigOaSPzL6VC3A_Content* p;
};
struct tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA {
	tySequence__UM2HJI1wUigOaSPzL6VC3A data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw {
  NI len; tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content* p;
};
struct tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA {
	NIM_BOOL isUnquoted;
	tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA kind;
union{
	struct {
	NimStringV2 str;
} _kind_1;
	struct {
	NI64 num;
} _kind_2;
	struct {
	NF fnum;
} _kind_3;
	struct {
	NIM_BOOL bval;
} _kind_4;
	struct {
	tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA fields;
} _kind_6;
	struct {
	tySequence__t6JKa4Kdxpc0RJiFEWRI9bw elems;
} _kind_7;
};
};
typedef NU8 tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A;
struct tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew {
	NimStringV2 name;
	tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A kind;
union{
	struct {
	NimStringV2 alias;
} _kind_1;
	struct {
	NimStringV2 url;
	NimStringV2 license;
	NimStringV2 downloadMethod;
	NimStringV2 description;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ tags;
	NimStringV2 version;
	NimStringV2 dvcsTag;
	NimStringV2 web;
} _kind_2;
};
};
struct tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA {
	NI rc;
	NI rootIdx;
};
struct tySequence__xjLg9a72SfsVVFciefDuvtw {
  NI len; tySequence__xjLg9a72SfsVVFciefDuvtw_Content* p;
};
struct tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA {
	tySequence__xjLg9a72SfsVVFciefDuvtw code;
	NI usedMatches;
	NimStringV2 error;
};
struct tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ {
	tyObject_Pattern__K9baAv1Y6R5n9b0ZUxBeh6vA Field0;
	NimStringV2 Field1;
};
struct tySequence__j9bhAvfiD9alXYEwmFnFGFNA_Content { NI cap; tyTuple__ZwcqNhWtDfKDJjVz9bcvE9cQ data[SEQ_DECL_SIZE]; };
struct tyTuple__8ZxhPt1NwfElsJs8zUSV9bg {
	NI Field0;
	NimStringV2 Field1;
	NimStringV2 Field2;
};
struct tySequence__SFipDZIkFtPcrLs0AGBBjQ_Content { NI cap; tyTuple__8ZxhPt1NwfElsJs8zUSV9bg data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
struct tyTuple__UV3llMMYFckfui8YMBuUZA {
	NimStringV2 Field0;
	NimStringV2 Field1;
};
struct tySequence__4eQHGndY6XBYpFOH09apV8Q_Content { NI cap; tyTuple__UV3llMMYFckfui8YMBuUZA data[SEQ_DECL_SIZE]; };
struct tyTuple__uSZbD2CRToUhqTsTNx4cgA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA Field2;
};
struct tySequence__tas7jtBybgwOq4KxPkjGjg_Content { NI cap; tyTuple__uSZbD2CRToUhqTsTNx4cgA data[SEQ_DECL_SIZE]; };
struct tyTuple__QeWl6B6ffS4pU6WWrtcrDw {
	NI Field0;
	NimStringV2 Field1;
};
struct tySequence__4eRCaZmrYLLw2k30GPTiMw_Content { NI cap; tyTuple__QeWl6B6ffS4pU6WWrtcrDw data[SEQ_DECL_SIZE]; };
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
struct tySequence__8Np6tlClE5az1CyqZdN19bQ_Content { NI cap; tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ data[SEQ_DECL_SIZE]; };
struct tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw {
	NCSTRING procname;
	NI line;
	NCSTRING filename;
};
struct tySequence__3EvzHGO0xyXGnJBUggwfKQ_Content { NI cap; tyObject_StackTraceEntry__lcKzdyiD6sm3eeh28rx7fw data[SEQ_DECL_SIZE]; };
struct tySequence__H3A42plY3ZGdd9cIkci4urw_Content { NI cap; tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* data[SEQ_DECL_SIZE]; };
struct tyTuple__otFEYh4BBZ0y3q0WDtkCOw {
	NI Field0;
	NI Field1;
	NimStringV2 Field2;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* Field3;
};
struct tySequence__UM2HJI1wUigOaSPzL6VC3A_Content { NI cap; tyTuple__otFEYh4BBZ0y3q0WDtkCOw data[SEQ_DECL_SIZE]; };
struct tySequence__t6JKa4Kdxpc0RJiFEWRI9bw_Content { NI cap; tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_Opcode__6ExfopoXudbZxEsLnN9aAhA;
struct tyObject_Instr__dVxI1dKsh9ajF145UocfxWg {
	tyEnum_Opcode__6ExfopoXudbZxEsLnN9aAhA opc;
	NU8 arg1;
	NU16 arg2;
};
struct tySequence__xjLg9a72SfsVVFciefDuvtw_Content { NI cap; tyObject_Instr__dVxI1dKsh9ajF145UocfxWg data[SEQ_DECL_SIZE]; };
static N_INLINE(NimStringV2, parentDir__stdZpaths_u155)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosparentDir)(NimStringV2 path_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nosdirExists)(NimStringV2 dir_p0);
static N_INLINE(void, createDir__stdZdirs_u6)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(void, noscreateDir)(NimStringV2 dir_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ*, context__basicZcontext_u319)(void);
N_LIB_PRIVATE N_NIMCALL(void, gitPull__basicZgitops_u1181)(NimStringV2 path_p0);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(void, parseUri__pureZuri_u295)(NimStringV2 uri_p0, tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* Result);
N_LIB_PRIVATE N_NIMCALL(tyTuple__TLTPscngTyX39coeZ9b9cEB7w, clone__basicZgitops_u503)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* url_p0, NimStringV2 dest_p1, NI retries_p2);
N_LIB_PRIVATE N_NIMCALL(void, error__basicZgitops_u1259)(NimStringV2 p_p0, NimStringV2* args_p1, NI args_p1Len_0);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NOCONV(void, deallocShared)(void* p_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZgitops_u637)(tyTuple__TLTPscngTyX39coeZ9b9cEB7w* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZuri_u213)(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA*, newHttpClient__pureZhttpclient_u1230)(NimStringV2 userAgent_p0, NI maxRedirects_p1, tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A* sslContext_p2, tyObject_ProxycolonObjectType___1adNpKdVBJZguvplkL5T7A* proxy_p3, NI timeout_p4, tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw* headers_p5);
N_LIB_PRIVATE N_NIMCALL(tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A*, getDefaultSSL__pureZhttpclient_u385)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw*, newHttpHeaders__pureZhttpcore_u109)(NIM_BOOL titleCase_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getContent__basicZpackageinfos_u548)(tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA* client_p0, NimStringV2 url_p1);
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0);
N_LIB_PRIVATE N_NIMCALL(void, writeFile__stdZsyncio_u539)(NimStringV2 filename_p0, NimStringV2 content_p1);
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nosjoinPath)(NimStringV2 head_p0, NimStringV2 tail_p1);
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2);
static N_INLINE(Exception*, nimBorrowCurrentException)(void);
static N_INLINE(Exception*, getCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u3719)(Exception** dest_p0, Exception* src_p1, NIM_BOOL cyclic_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u630)(tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug* dest_p0);
static N_INLINE(void, popCurrentException)(void);
N_LIB_PRIVATE N_NIMCALL(void, close__pureZhttpclient_u2143)(tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA* client_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZhttpcore_u277)(tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZnet_u1579)(tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZhttpclient_u1244)(tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q, initHashSet__OOZOOZOOZcompilerZoptions_u1045)(NI initialSize_p0);
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0);
N_LIB_PRIVATE N_NOINLINE(void, raiseOSError__stdZoserrors_u119)(NI32 errorCode_p0, NimStringV2 additionalInfo_p1);
N_LIB_PRIVATE N_NIMCALL(NI32, osLastError__stdZoserrors_u122)(void);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, cstrToNimstr)(NCSTRING str_p0);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___system_u2754)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw, getSymlinkFileKind__stdZprivateZoscommon_u17)(NimStringV2 path_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___system_u2751)(NimStringV2* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u2760)(NimStringV2* dest_p0, NimStringV2 src_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, nsuEndsWith)(NimStringV2 s_p0, NimStringV2 suffix_p1);
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2);
N_LIB_PRIVATE N_NOINLINE(void, raiseOverflow)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, parseFile__pureZjson_u5637)(NimStringV2 filename_p0);
N_LIB_PRIVATE N_NIMCALL(void, failedAssertImpl__stdZassertions_u95)(NimStringV2 msg_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___pureZjson_u20)(tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u257)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw* dest_p0, tySequence__t6JKa4Kdxpc0RJiFEWRI9bw src_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseFieldErrorStr)(NimStringV2 f_p0, NimStringV2 discVal_p1);
N_LIB_PRIVATE N_NOINLINE(void, raiseIndexError2)(NI i_p0, NI n_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___pureZjson_u324)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** dest_p0, tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*, fromJson__basicZpackageinfos_u47)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, contains__pureZjson_u3653)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void*, nimNewObj)(NI size_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, optionalField__basicZpackageinfos_u34)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 name_p1, NimStringV2 default_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasKey__pureZjson_u3599)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 key_p1);
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3486)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 name_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**, X5BX5D___pureZjson_u3055)(tyObject_OrderedTable__RIgoItpMnyMLlEioBo9bQIA* t_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u321)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* dest_p0);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpackageinfos_u19)(tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A e_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___system_u5591)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* dest_p0, tySequence__sM4lkSb7zS6F7OVMvW9cffQ src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__stdZenumutils_u70)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ* x_p0, NimStringV2 y_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, eqdup___system_u2757)(NimStringV2 src_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZjson_u254)(tySequence__t6JKa4Kdxpc0RJiFEWRI9bw dest_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, containsOrIncl__basicZpackageinfos_u236)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* s_p0, NimStringV2 key_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__basicZpackageinfos_u336)(tySequence__H3A42plY3ZGdd9cIkci4urw* x_p0, tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZpackageinfos_u142)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew** dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u145)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* dest_p0);
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u93)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u5582)(tySequence__sM4lkSb7zS6F7OVMvW9cffQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZversions_u5014)(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q* dest_p0);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, prepareAdd)(NimStringV2* s_p0, NI addLen_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, nsuJoinSep)(NimStringV2* a_p0, NI a_p0Len_0, NimStringV2 sep_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, getStr__pureZjson_u551)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* n_p0, NimStringV2 default_p1);
static const struct {
  NI cap; NIM_CHAR data[36+1];
} TM__0a0CehRxiNJNukXPmTBL1g_2 = { 36 | NIM_STRLIT_FLAG, "https://github.com/nim-lang/packages" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_3 = {36, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_2};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__0a0CehRxiNJNukXPmTBL1g_4 = { 9 | NIM_STRLIT_FLAG, "_packages" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_5 = {9, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_4};
static const struct {
  NI cap; NIM_CHAR data[28+1];
} TM__0a0CehRxiNJNukXPmTBL1g_6 = { 28 | NIM_STRLIT_FLAG, "cannot clone packages repo: " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_7 = {28, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_6};
static const struct {
  NI cap; NIM_CHAR data[21+1];
} TM__0a0CehRxiNJNukXPmTBL1g_8 = { 21 | NIM_STRLIT_FLAG, "Nim-httpclient/2.2.10" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_9 = {21, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_8};
static const struct {
  NI cap; NIM_CHAR data[83+1];
} TM__0a0CehRxiNJNukXPmTBL1g_10 = { 83 | NIM_STRLIT_FLAG, "https://raw.githubusercontent.com/nim-lang/packages/refs/heads/master/packages.json" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_11 = {83, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_10};
static const struct {
  NI cap; NIM_CHAR data[13+1];
} TM__0a0CehRxiNJNukXPmTBL1g_12 = { 13 | NIM_STRLIT_FLAG, "packages.json" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_13 = {13, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_12};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_14 = {9, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_4};
static const struct {
  NI cap; NIM_CHAR data[31+1];
} TM__0a0CehRxiNJNukXPmTBL1g_15 = { 31 | NIM_STRLIT_FLAG, "cannot download packages.json: " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_16 = {31, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_15};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__0a0CehRxiNJNukXPmTBL1g_17 = { 1 | NIM_STRLIT_FLAG, "." };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_18 = {1, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_17};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0a0CehRxiNJNukXPmTBL1g_19 = { 2 | NIM_STRLIT_FLAG, ".." };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_20 = {2, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_19};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__0a0CehRxiNJNukXPmTBL1g_21 = { 5 | NIM_STRLIT_FLAG, ".json" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_22 = {5, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_21};
static const struct {
  NI cap; NIM_CHAR data[84+1];
} TM__0a0CehRxiNJNukXPmTBL1g_24 = { 84 | NIM_STRLIT_FLAG, "json.nim(834, 3) `node.kind == JArray` : items() can not iterate a JsonNode of kind " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_25 = {84, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_24};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__0a0CehRxiNJNukXPmTBL1g_26 = { 69 | NIM_STRLIT_FLAG, "field \'elems\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_27 = {69, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_26};
static const struct {
  NI cap; NIM_CHAR data[5+1];
} TM__0a0CehRxiNJNukXPmTBL1g_28 = { 5 | NIM_STRLIT_FLAG, "alias" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_29 = {5, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_28};
static const struct {
  NI cap; NIM_CHAR data[35+1];
} TM__0a0CehRxiNJNukXPmTBL1g_30 = { 35 | NIM_STRLIT_FLAG, "json.nim(521, 9) `not isNil(node)` " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_31 = {35, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_30};
static const struct {
  NI cap; NIM_CHAR data[40+1];
} TM__0a0CehRxiNJNukXPmTBL1g_32 = { 40 | NIM_STRLIT_FLAG, "json.nim(522, 9) `node.kind == JObject` " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_33 = {40, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_32};
static const struct {
  NI cap; NIM_CHAR data[70+1];
} TM__0a0CehRxiNJNukXPmTBL1g_34 = { 70 | NIM_STRLIT_FLAG, "field \'fields\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_35 = {70, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_34};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__0a0CehRxiNJNukXPmTBL1g_36 = { 67 | NIM_STRLIT_FLAG, "field \'str\' is not accessible for type \'JsonNodeObj\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_37 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_36};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__0a0CehRxiNJNukXPmTBL1g_38 = { 4 | NIM_STRLIT_FLAG, "name" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_39 = {4, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_38};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__0a0CehRxiNJNukXPmTBL1g_40 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_41 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_42 = {5, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_28};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_43 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[69+1];
} TM__0a0CehRxiNJNukXPmTBL1g_44 = { 69 | NIM_STRLIT_FLAG, "field \'alias\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_45 = {69, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_44};
static const struct {
  NI cap; NIM_CHAR data[9+1];
} TM__0a0CehRxiNJNukXPmTBL1g_46 = { 9 | NIM_STRLIT_FLAG, "pkPackage" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_47 = {9, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_46};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__0a0CehRxiNJNukXPmTBL1g_48 = { 7 | NIM_STRLIT_FLAG, "pkAlias" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_49 = {7, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_48};
static const struct {
  NI cap; NIM_CHAR data[0+1];
} TM__0a0CehRxiNJNukXPmTBL1g_50 = { 0 | NIM_STRLIT_FLAG, "" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_51 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_50};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_52 = {4, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_38};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_53 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[71+1];
} TM__0a0CehRxiNJNukXPmTBL1g_54 = { 71 | NIM_STRLIT_FLAG, "field \'version\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_55 = {71, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_54};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__0a0CehRxiNJNukXPmTBL1g_56 = { 7 | NIM_STRLIT_FLAG, "version" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_57 = {7, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_56};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_58 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__0a0CehRxiNJNukXPmTBL1g_59 = { 3 | NIM_STRLIT_FLAG, "url" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_60 = {3, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_59};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_61 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__0a0CehRxiNJNukXPmTBL1g_62 = { 67 | NIM_STRLIT_FLAG, "field \'url\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_63 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_62};
static const struct {
  NI cap; NIM_CHAR data[6+1];
} TM__0a0CehRxiNJNukXPmTBL1g_64 = { 6 | NIM_STRLIT_FLAG, "method" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_65 = {6, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_64};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_66 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[78+1];
} TM__0a0CehRxiNJNukXPmTBL1g_67 = { 78 | NIM_STRLIT_FLAG, "field \'downloadMethod\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_68 = {78, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_67};
static const struct {
  NI cap; NIM_CHAR data[71+1];
} TM__0a0CehRxiNJNukXPmTBL1g_69 = { 71 | NIM_STRLIT_FLAG, "field \'dvcsTag\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_70 = {71, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_69};
static const struct {
  NI cap; NIM_CHAR data[8+1];
} TM__0a0CehRxiNJNukXPmTBL1g_71 = { 8 | NIM_STRLIT_FLAG, "dvcs-tag" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_72 = {8, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_71};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_73 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[71+1];
} TM__0a0CehRxiNJNukXPmTBL1g_74 = { 71 | NIM_STRLIT_FLAG, "field \'license\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_75 = {71, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_74};
static const struct {
  NI cap; NIM_CHAR data[7+1];
} TM__0a0CehRxiNJNukXPmTBL1g_76 = { 7 | NIM_STRLIT_FLAG, "license" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_77 = {7, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_76};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_78 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[68+1];
} TM__0a0CehRxiNJNukXPmTBL1g_79 = { 68 | NIM_STRLIT_FLAG, "field \'tags\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_80 = {68, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_79};
static const struct {
  NI cap; NIM_CHAR data[4+1];
} TM__0a0CehRxiNJNukXPmTBL1g_81 = { 4 | NIM_STRLIT_FLAG, "tags" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_82 = {4, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_81};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_83 = {84, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_24};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_84 = {69, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_26};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_85 = {68, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_79};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_86 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_36};
static const struct {
  NI cap; NIM_CHAR data[90+1];
} TM__0a0CehRxiNJNukXPmTBL1g_87 = { 90 | NIM_STRLIT_FLAG, "iterators.nim(254, 11) `len(a) == L` the length of the seq changed while iterating over it" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_88 = {90, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_87};
static const struct {
  NI cap; NIM_CHAR data[11+1];
} TM__0a0CehRxiNJNukXPmTBL1g_89 = { 11 | NIM_STRLIT_FLAG, "description" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_90 = {11, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_89};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_91 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const struct {
  NI cap; NIM_CHAR data[75+1];
} TM__0a0CehRxiNJNukXPmTBL1g_92 = { 75 | NIM_STRLIT_FLAG, "field \'description\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_93 = {75, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_92};
static const struct {
  NI cap; NIM_CHAR data[67+1];
} TM__0a0CehRxiNJNukXPmTBL1g_94 = { 67 | NIM_STRLIT_FLAG, "field \'web\' is not accessible for type \'PackageInfo\' using \'kind = " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_95 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_94};
static const struct {
  NI cap; NIM_CHAR data[3+1];
} TM__0a0CehRxiNJNukXPmTBL1g_96 = { 3 | NIM_STRLIT_FLAG, "web" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_97 = {3, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_96};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_98 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_99 = {90, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_87};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0a0CehRxiNJNukXPmTBL1g_100 = { 2 | NIM_STRLIT_FLAG, ":\012" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_101 = {2, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_100};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__0a0CehRxiNJNukXPmTBL1g_102 = { 15 | NIM_STRLIT_FLAG, "  url:         " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_103 = {15, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_102};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_104 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_62};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0a0CehRxiNJNukXPmTBL1g_105 = { 2 | NIM_STRLIT_FLAG, " (" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_106 = {2, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_105};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_107 = {78, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_67};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0a0CehRxiNJNukXPmTBL1g_108 = { 2 | NIM_STRLIT_FLAG, ")\012" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_109 = {2, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_108};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__0a0CehRxiNJNukXPmTBL1g_110 = { 15 | NIM_STRLIT_FLAG, "  tags:        " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_111 = {15, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_110};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_112 = {68, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_79};
static const struct {
  NI cap; NIM_CHAR data[2+1];
} TM__0a0CehRxiNJNukXPmTBL1g_113 = { 2 | NIM_STRLIT_FLAG, ", " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_114 = {2, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_113};
static const struct {
  NI cap; NIM_CHAR data[1+1];
} TM__0a0CehRxiNJNukXPmTBL1g_115 = { 1 | NIM_STRLIT_FLAG, "\012" };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_116 = {1, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_115};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__0a0CehRxiNJNukXPmTBL1g_117 = { 15 | NIM_STRLIT_FLAG, "  description: " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_118 = {15, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_117};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_119 = {75, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_92};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_120 = {1, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_115};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__0a0CehRxiNJNukXPmTBL1g_121 = { 15 | NIM_STRLIT_FLAG, "  license:     " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_122 = {15, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_121};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_123 = {71, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_74};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_124 = {1, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_115};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_125 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_94};
static const struct {
  NI cap; NIM_CHAR data[15+1];
} TM__0a0CehRxiNJNukXPmTBL1g_126 = { 15 | NIM_STRLIT_FLAG, "  website:     " };
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_127 = {15, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_126};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_128 = {67, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_94};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_129 = {1, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_115};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_130 = {84, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_24};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_131 = {69, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_26};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_132 = {0, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_40};
static const NimStringV2 TM__0a0CehRxiNJNukXPmTBL1g_133 = {90, (NimStrPayload*)&TM__0a0CehRxiNJNukXPmTBL1g_87};
extern NIM_THREADVAR NIM_BOOL nimInErrorMode__system_u4198;
extern NIM_THREADVAR Exception* currException__system_u3686;
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4198);
	return result;
}
static N_INLINE(NimStringV2, parentDir__stdZpaths_u155)(NimStringV2 path_p0) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosparentDir(path_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, dirExists__stdZdirs_u3)(NimStringV2 dir_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = nosdirExists(dir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, createDir__stdZdirs_u6)(NimStringV2 dir_p0) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	noscreateDir(dir_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(void, nimSetMem__system_u2188)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2188(p_p0, ((int)0), size_p1);
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1755)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1755(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
static N_INLINE(void, eqdestroy___system_u281)(NimStringV2 x_p0) {
}
static N_INLINE(NimStringV2, slash___stdZpaths_u84)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, isObjDisplayCheck)(TNimTypeV2* source_p0, NI16 targetDepth_p1, NU32 token_p2) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = (targetDepth_p1 <= (*source_p0).depth);
	if (!(T1_)) goto LA2_;
	T1_ = ((*source_p0).display[targetDepth_p1] == token_p2);
LA2_: ;
	result = T1_;
	return result;
}
static N_INLINE(Exception*, nimBorrowCurrentException)(void) {
	Exception* result;
	result = currException__system_u3686;
	return result;
}
static N_INLINE(Exception*, getCurrentException)(void) {
	Exception* result;
	result = NIM_NIL;
	eqcopy___system_u3719(&result, currException__system_u3686, NIM_FALSE);
	return result;
}
static N_INLINE(void, popCurrentException)(void) {
	eqcopy___system_u3719(&currException__system_u3686, (*currException__system_u3686).up, NIM_FALSE);
}
N_LIB_PRIVATE N_NIMCALL(void, updatePackages__basicZpackageinfos_u528)(NimStringV2 pkgsDir_p0) {
	NimStringV2 pkgsPath_1;
	NimStringV2 pkgsParent_1;
NIM_BOOL oldNimErrFin39_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	pkgsPath_1.len = 0; pkgsPath_1.p = NIM_NIL;
	pkgsParent_1.len = 0; pkgsParent_1.p = NIM_NIL;
	pkgsPath_1 = pkgsDir_p0;
	pkgsParent_1 = parentDir__stdZpaths_u155(pkgsPath_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NIM_BOOL T4_;
		NIM_BOOL T6_;
		T4_ = (NIM_BOOL)0;
		T4_ = (((NI)0) < pkgsParent_1.len);
		if (!(T4_)) goto LA5_;
		T6_ = (NIM_BOOL)0;
		T6_ = dirExists__stdZdirs_u3(pkgsParent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = !(T6_);
LA5_: ;
		if (!T4_) goto LA7_;
		createDir__stdZdirs_u6(pkgsParent_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA7_: ;
	{
		tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ* T11_;
		T11_ = (tyObject_AtlasContext__9b9cOM1bS6SdrgGAPmY5KTwQ*)0;
		T11_ = context__basicZcontext_u319();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((*T11_).flags &((NU32)1<<((NU)((((tyEnum_Flag__YJpVNZDPDp9bqb0qWHXEQFw)8)))&31U)))!=0)) goto LA12_;
		{
			NIM_BOOL T16_;
			T16_ = (NIM_BOOL)0;
			T16_ = dirExists__stdZdirs_u3(pkgsPath_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T16_) goto LA17_;
			gitPull__basicZgitops_u1181(pkgsPath_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
		goto LA14_;
LA17_: ;
		{
			tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA pkgsUrl_1;
			tyTuple__TLTPscngTyX39coeZ9b9cEB7w res_1;
			nimZeroMem((void*)(&pkgsUrl_1), sizeof(tyObject_Uri__MX62yCLGQmnfVYEE3Hjm9cA));
			nimZeroMem((void*)(&res_1), sizeof(tyTuple__TLTPscngTyX39coeZ9b9cEB7w));
			parseUri__pureZuri_u295(TM__0a0CehRxiNJNukXPmTBL1g_3, (&pkgsUrl_1));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			res_1 = clone__basicZgitops_u503((&pkgsUrl_1), pkgsPath_1, ((NI)5));
			if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			{
				NimStringV2 colontmpD_;
				tyArray__YgExxhfgKcesA5EOUj1MOA T26_;
				NimStringV2 T27_;
				if (!!((res_1.Field0 == ((tyEnum_CloneStatus__U8zdCQHenVifOnL77kAZAA)0)))) goto LA23_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				T27_.len = 0; T27_.p = NIM_NIL;
				T27_ = rawNewString(res_1.Field1.len + 28);
appendString((&T27_), TM__0a0CehRxiNJNukXPmTBL1g_7);
appendString((&T27_), res_1.Field1);
				colontmpD_ = T27_;
				T26_[0] = colontmpD_;
				error__basicZgitops_u1259(TM__0a0CehRxiNJNukXPmTBL1g_5, T26_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
				{
					LA25_:;
				}
				{
					if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
			}
LA23_: ;
			{
				LA20_:;
			}
			{
				eqdestroy___basicZgitops_u637((&res_1));
				eqdestroy___pureZuri_u213((&pkgsUrl_1));
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA14_: ;
	}
	goto LA9_;
LA12_: ;
	{
		tyObject_HttpClientBasecolonObjectType___qDWGISjAgnhGevjS3zDRKA* client_1;
		tyObject_SslContextcolonObjectType___AhFePg9cWdCpCeTypFfYs7A* colontmpD__2;
		tyObject_HttpHeaderscolonObjectType___BaFYu4PR2nlvZibU89b3Qqw* colontmpD__3;
		NimStringV2 contents_1;
		NimStringV2 colontmpD__4;
		NimStringV2 T41_;
		NimStringV2 T42_;
		client_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		{
			NIM_BOOL T36_;
			T36_ = (NIM_BOOL)0;
			T36_ = dirExists__stdZdirs_u3(pkgsPath_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			if (!!(T36_)) goto LA37_;
			createDir__stdZdirs_u6(pkgsPath_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		}
LA37_: ;
		colontmpD__2 = getDefaultSSL__pureZhttpclient_u385();
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		colontmpD__3 = newHttpHeaders__pureZhttpcore_u109(NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		client_1 = newHttpClient__pureZhttpclient_u1230(TM__0a0CehRxiNJNukXPmTBL1g_9, ((NI)5), colontmpD__2, ((tyObject_ProxycolonObjectType___1adNpKdVBJZguvplkL5T7A*) NIM_NIL), ((NI)-1), colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		contents_1.len = 0; contents_1.p = NIM_NIL;
		colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
		T41_.len = 0; T41_.p = NIM_NIL;
		T41_ = getContent__basicZpackageinfos_u548(client_1, TM__0a0CehRxiNJNukXPmTBL1g_11);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T41_); goto LA40_;}
		contents_1 = T41_;
		T42_.len = 0; T42_.p = NIM_NIL;
		T42_ = slash___stdZpaths_u84(pkgsPath_1, TM__0a0CehRxiNJNukXPmTBL1g_13);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T42_); goto LA40_;}
		colontmpD__4 = T42_;
		writeFile__stdZsyncio_u539(colontmpD__4, contents_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		{
			LA40_:;
		}
		{
			if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
			if (contents_1.p && !(contents_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(contents_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
		if (NIM_UNLIKELY(*nimErr_)) {
			LA39_:;
			if (isObjDisplayCheck(nimBorrowCurrentException()->Sup.m_type, 2, 599397120)) {
				tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug* e_1;
				NimStringV2 colontmpD__5;
				Exception* T49_;
				tyArray__YgExxhfgKcesA5EOUj1MOA T50_;
				NimStringV2 T51_;
				*nimErr_ = NIM_FALSE;
				e_1 = NIM_NIL;
				colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
				T49_ = NIM_NIL;
				T49_ = getCurrentException();
				e_1 = ((tyObject_CatchableError__liO6E8JNJNTVmf9cnXKZiug*) (T49_));
				T51_.len = 0; T51_.p = NIM_NIL;
				T51_ = rawNewString((*e_1).Sup.message.len + 31);
appendString((&T51_), TM__0a0CehRxiNJNukXPmTBL1g_16);
appendString((&T51_), (*e_1).Sup.message);
				colontmpD__5 = T51_;
				T50_[0] = colontmpD__5;
				error__basicZgitops_u1259(TM__0a0CehRxiNJNukXPmTBL1g_14, T50_, 1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
				{
					LA48_:;
				}
				{
					if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
					eqdestroy___basicZpackageinfos_u630(e_1);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA46_;
				popCurrentException();
				LA46_:;
			}
		}
		{
			oldNimErrFin39_ = *nimErr_; *nimErr_ = NIM_FALSE;
			close__pureZhttpclient_u2143(client_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
			*nimErr_ = oldNimErrFin39_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA33_;
		{
			LA33_:;
		}
		{
			eqdestroy___pureZhttpcore_u277(colontmpD__3);
			eqdestroy___pureZnet_u1579(colontmpD__2);
			eqdestroy___pureZhttpclient_u1244(client_1);
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA9_: ;
	{
		LA1_:;
	}
	{
		if (pkgsParent_1.p && !(pkgsParent_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(pkgsParent_1.p);
}
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
static N_INLINE(NCSTRING, nimToCStringConv)(NimStringV2 s_p0) {
	NCSTRING result;
	{
		if (!(s_p0.len == ((NI)0))) goto LA3_;
		result = "";
	}
	goto LA1_;
LA3_: ;
	{
		result = ((NCSTRING) ((*s_p0.p).data));
	}
LA1_: ;
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1763)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1763(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NimStringV2, slash___stdZprivateZospaths2_u88)(NimStringV2 head_p0, NimStringV2 tail_p1) {
	NimStringV2 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	result = nosjoinPath(head_p0, tail_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NIM_BOOL, nimAddInt)(NI a_p0, NI b_p1, NI* res_p2) {
	NIM_BOOL result;
	NI r_1;
	result = (NIM_BOOL)0;
	r_1 = ((NI) ((NU)((NU64)(((NU) (a_p0))) + (NU64)(((NU) (b_p1))))));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = (((NI)0) <= (NI)(r_1 ^ a_p0));
		if (T3_) goto LA4_;
		T3_ = (((NI)0) <= (NI)(r_1 ^ b_p1));
LA4_: ;
		if (!T3_) goto LA5_;
		(*res_p2) = r_1;
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_TRUE;
	}
LA1_: ;
	return result;
}
static N_INLINE(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA*, X5BX5D___pureZjson_u3486)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* node_p0, NimStringV2 name_p1) {
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** T9_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!!(!((node_p0 == 0)))) goto LA3_;
		failedAssertImpl__stdZassertions_u95(TM__0a0CehRxiNJNukXPmTBL1g_31);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA3_: ;
	{
		if (!!(((*node_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)5)))) goto LA7_;
		failedAssertImpl__stdZassertions_u95(TM__0a0CehRxiNJNukXPmTBL1g_33);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA7_: ;
	if (!(((32 &((NU8)1<<((NU)(((*node_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_35, dollar___pureZjson_u20((*node_p0).kind)); goto BeforeRet_;
	}
	T9_ = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
	T9_ = X5BX5D___pureZjson_u3055((&(*node_p0)._kind_6.fields), name_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___pureZjson_u324(&result, (*T9_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, optionalField__basicZpackageinfos_u34)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0, NimStringV2 name_p1, NimStringV2 default_p2) {
	NimStringV2 result;
	tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD_;
NIM_BOOL oldNimErrFin8_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NIM_BOOL T4_;
		tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmpD__2;
		T4_ = (NIM_BOOL)0;
		T4_ = hasKey__pureZjson_u3599(obj_p0, name_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_)) goto LA5_;
		colontmpD_ = X5BX5D___pureZjson_u3486(obj_p0, name_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T4_ = ((*colontmpD_).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)4));
LA5_: ;
		if (!T4_) goto LA6_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = X5BX5D___pureZjson_u3486(obj_p0, name_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA8_;
		if (!(((16 &((NU8)1<<((NU)(((*colontmpD__2).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_37, dollar___pureZjson_u20((*colontmpD__2).kind)); goto LA8_;
		}
		eqcopy___system_u2754((&result), (*colontmpD__2)._kind_1.str);
		{
			LA8_:;
		}
		{
			oldNimErrFin8_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___pureZjson_u321(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin8_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA6_: ;
	{
		eqcopy___system_u2754((&result), default_p2);
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___pureZjson_u321(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpackageinfos_u19)(tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A e_p0) {
	NimStringV2 result;
	switch (e_p0) {
	case ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)0):
	{
		result = TM__0a0CehRxiNJNukXPmTBL1g_47;
	}
	break;
	case ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)1):
	{
		result = TM__0a0CehRxiNJNukXPmTBL1g_49;
	}
	break;
	default:
	{
		result = TM__0a0CehRxiNJNukXPmTBL1g_51;
	}
	break;
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*, fromJson__basicZpackageinfos_u47)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* obj_p0) {
	tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* result;
NIM_BOOL oldNimErrFin59_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* T6_;
		NimStringV2 T7_;
		NimStringV2 T16_;
		T3_ = (NIM_BOOL)0;
		T3_ = contains__pureZjson_u3653(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_29);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		T6_ = NIM_NIL;
		T6_ = (tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) nimNewObj(sizeof(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew), NIM_ALIGNOF(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew));
		(*T6_).kind = ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)1);
		(*T6_)._kind_1.alias.len = 0; (*T6_)._kind_1.alias.p = NIM_NIL;
		result = T6_;
		T7_.len = 0; T7_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym1__1;
			resultX60gensym1__1.len = 0; resultX60gensym1__1.p = NIM_NIL;
			resultX60gensym1__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_39, TM__0a0CehRxiNJNukXPmTBL1g_41);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				if (!(resultX60gensym1__1.len == ((NI)0))) goto LA12_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym1__1.p && !(resultX60gensym1__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym1__1.p);
}
				goto BeforeRet_;
			}
LA12_: ;
			eqsink___system_u2760((&(*result).name), resultX60gensym1__1);
			eqwasMoved___system_u2751((&resultX60gensym1__1));
			{
				LA9_:;
			}
			{
				if (resultX60gensym1__1.p && !(resultX60gensym1__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym1__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		T16_.len = 0; T16_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym2__1;
			resultX60gensym2__1.len = 0; resultX60gensym2__1.p = NIM_NIL;
			resultX60gensym2__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_42, TM__0a0CehRxiNJNukXPmTBL1g_43);
			if (NIM_UNLIKELY(*nimErr_)) goto LA18_;
			{
				if (!(resultX60gensym2__1.len == ((NI)0))) goto LA21_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym2__1.p && !(resultX60gensym2__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym2__1.p);
}
				goto BeforeRet_;
			}
LA21_: ;
			if (!(((2 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_45, dollar___basicZpackageinfos_u19((*result).kind)); goto LA18_;
			}
			eqsink___system_u2760((&(*result)._kind_1.alias), resultX60gensym2__1);
			eqwasMoved___system_u2751((&resultX60gensym2__1));
			{
				LA18_:;
			}
			{
				if (resultX60gensym2__1.p && !(resultX60gensym2__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym2__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
	goto LA1_;
LA4_: ;
	{
		tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* T26_;
		NimStringV2 T27_;
		NimStringV2 T36_;
		NimStringV2 T37_;
		NimStringV2 T46_;
		NimStringV2 T55_;
		NimStringV2 T56_;
		tySequence__sM4lkSb7zS6F7OVMvW9cffQ T57_;
		NimStringV2 T76_;
		NimStringV2 T85_;
		T26_ = NIM_NIL;
		T26_ = (tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) nimNewObj(sizeof(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew), NIM_ALIGNOF(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew));
		(*T26_).kind = ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)0);
		(*T26_)._kind_2.url.len = 0; (*T26_)._kind_2.url.p = NIM_NIL;
		(*T26_)._kind_2.license.len = 0; (*T26_)._kind_2.license.p = NIM_NIL;
		(*T26_)._kind_2.downloadMethod.len = 0; (*T26_)._kind_2.downloadMethod.p = NIM_NIL;
		(*T26_)._kind_2.description.len = 0; (*T26_)._kind_2.description.p = NIM_NIL;
		(*T26_)._kind_2.tags.len = 0; (*T26_)._kind_2.tags.p = NIM_NIL;
		(*T26_)._kind_2.version.len = 0; (*T26_)._kind_2.version.p = NIM_NIL;
		(*T26_)._kind_2.dvcsTag.len = 0; (*T26_)._kind_2.dvcsTag.p = NIM_NIL;
		(*T26_)._kind_2.web.len = 0; (*T26_)._kind_2.web.p = NIM_NIL;
		result = T26_;
		T27_.len = 0; T27_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym3__1;
			resultX60gensym3__1.len = 0; resultX60gensym3__1.p = NIM_NIL;
			resultX60gensym3__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_52, TM__0a0CehRxiNJNukXPmTBL1g_53);
			if (NIM_UNLIKELY(*nimErr_)) goto LA29_;
			{
				if (!(resultX60gensym3__1.len == ((NI)0))) goto LA32_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym3__1.p && !(resultX60gensym3__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym3__1.p);
}
				goto BeforeRet_;
			}
LA32_: ;
			eqsink___system_u2760((&(*result).name), resultX60gensym3__1);
			eqwasMoved___system_u2751((&resultX60gensym3__1));
			{
				LA29_:;
			}
			{
				if (resultX60gensym3__1.p && !(resultX60gensym3__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym3__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_55, dollar___basicZpackageinfos_u19((*result).kind)); goto BeforeRet_;
		}
		T36_.len = 0; T36_.p = NIM_NIL;
		T36_ = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_57, TM__0a0CehRxiNJNukXPmTBL1g_58);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T36_); goto BeforeRet_;}
		eqsink___system_u2760((&(*result)._kind_2.version), T36_);
		T37_.len = 0; T37_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym4__1;
			resultX60gensym4__1.len = 0; resultX60gensym4__1.p = NIM_NIL;
			resultX60gensym4__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_60, TM__0a0CehRxiNJNukXPmTBL1g_61);
			if (NIM_UNLIKELY(*nimErr_)) goto LA39_;
			{
				if (!(resultX60gensym4__1.len == ((NI)0))) goto LA42_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym4__1.p && !(resultX60gensym4__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym4__1.p);
}
				goto BeforeRet_;
			}
LA42_: ;
			if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_63, dollar___basicZpackageinfos_u19((*result).kind)); goto LA39_;
			}
			eqsink___system_u2760((&(*result)._kind_2.url), resultX60gensym4__1);
			eqwasMoved___system_u2751((&resultX60gensym4__1));
			{
				LA39_:;
			}
			{
				if (resultX60gensym4__1.p && !(resultX60gensym4__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym4__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		T46_.len = 0; T46_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym5__1;
			resultX60gensym5__1.len = 0; resultX60gensym5__1.p = NIM_NIL;
			resultX60gensym5__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_65, TM__0a0CehRxiNJNukXPmTBL1g_66);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				if (!(resultX60gensym5__1.len == ((NI)0))) goto LA51_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym5__1.p && !(resultX60gensym5__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym5__1.p);
}
				goto BeforeRet_;
			}
LA51_: ;
			if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_68, dollar___basicZpackageinfos_u19((*result).kind)); goto LA48_;
			}
			eqsink___system_u2760((&(*result)._kind_2.downloadMethod), resultX60gensym5__1);
			eqwasMoved___system_u2751((&resultX60gensym5__1));
			{
				LA48_:;
			}
			{
				if (resultX60gensym5__1.p && !(resultX60gensym5__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym5__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_70, dollar___basicZpackageinfos_u19((*result).kind)); goto BeforeRet_;
		}
		T55_.len = 0; T55_.p = NIM_NIL;
		T55_ = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_72, TM__0a0CehRxiNJNukXPmTBL1g_73);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T55_); goto BeforeRet_;}
		eqsink___system_u2760((&(*result)._kind_2.dvcsTag), T55_);
		if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_75, dollar___basicZpackageinfos_u19((*result).kind)); goto BeforeRet_;
		}
		T56_.len = 0; T56_.p = NIM_NIL;
		T56_ = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_77, TM__0a0CehRxiNJNukXPmTBL1g_78);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T56_); goto BeforeRet_;}
		eqsink___system_u2760((&(*result)._kind_2.license), T56_);
		if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_80, dollar___basicZpackageinfos_u19((*result).kind)); goto BeforeRet_;
		}
		T57_.len = 0; T57_.p = NIM_NIL;
		T57_.len = 0; T57_.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
		eqsink___system_u5591((&(*result)._kind_2.tags), T57_);
		{
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* t_1;
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* colontmp_;
			t_1 = NIM_NIL;
			colontmp_ = NIM_NIL;
			colontmp_ = X5BX5D___pureZjson_u3486(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_82);
			if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NimStringV2 T64_;
				if (!!(((*colontmp_).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA62_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T64_.len = 0; T64_.p = NIM_NIL;
				colontmpD_ = dollar___pureZjson_u20((*colontmp_).kind);
				T64_ = rawNewString(colontmpD_.len + 84);
appendString((&T64_), TM__0a0CehRxiNJNukXPmTBL1g_83);
appendString((&T64_), colontmpD_);
				colontmpD__2 = T64_;
				failedAssertImpl__stdZassertions_u95(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
LA62_: ;
			{
				tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp__2;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** i_1;
				NI i_2;
				NI L_1;
				NI T66_;
				colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
				i_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
				if (!(((64 &((NU8)1<<((NU)(((*colontmp_).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_84, dollar___pureZjson_u20((*colontmp_).kind)); goto LA59_;
				}
				eqcopy___pureZjson_u257((&colontmp__2), (*colontmp_)._kind_7.elems);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
				i_2 = ((NI)0);
				T66_ = colontmp__2.len;
				L_1 = T66_;
				{
					while (1) {
						NimStringV2 colontmpD__3;
						if (!(i_2 < L_1)) goto LA68;
						if (i_2 < 0 || i_2 >= colontmp__2.len){ raiseIndexError2(i_2,colontmp__2.len-1); goto LA59_;
						}
						i_1 = &colontmp__2.p->data[i_2];
						eqcopy___pureZjson_u324(&t_1, (*i_1));
						if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 						{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_85, dollar___basicZpackageinfos_u19((*result).kind)); goto LA59_;
						}
						if (!(((16 &((NU8)1<<((NU)(((*t_1).kind))&7U)))!=0))) 						{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_86, dollar___pureZjson_u20((*t_1).kind)); goto LA59_;
						}
						colontmpD__3 = eqdup___system_u2757((*t_1)._kind_1.str);
						add__stdZenumutils_u70((&(*result)._kind_2.tags), colontmpD__3);
						i_2 += ((NI)1);
						{
							NI T71_;
							T71_ = colontmp__2.len;
							if (!!((T71_ == L_1))) goto LA72_;
							failedAssertImpl__stdZassertions_u95(TM__0a0CehRxiNJNukXPmTBL1g_88);
							if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
						}
LA72_: ;
					} LA68: ;
				}
				eqdestroy___pureZjson_u254(colontmp__2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA59_;
			}
			{
				LA59_:;
			}
			{
				oldNimErrFin59_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___pureZjson_u321(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___pureZjson_u321(t_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin59_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		T76_.len = 0; T76_.p = NIM_NIL;
		{
			NimStringV2 resultX60gensym6__1;
			resultX60gensym6__1.len = 0; resultX60gensym6__1.p = NIM_NIL;
			resultX60gensym6__1 = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_90, TM__0a0CehRxiNJNukXPmTBL1g_91);
			if (NIM_UNLIKELY(*nimErr_)) goto LA78_;
			{
				if (!(resultX60gensym6__1.len == ((NI)0))) goto LA81_;
				result = ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL);
				if (resultX60gensym6__1.p && !(resultX60gensym6__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym6__1.p);
}
				goto BeforeRet_;
			}
LA81_: ;
			if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 			{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_93, dollar___basicZpackageinfos_u19((*result).kind)); goto LA78_;
			}
			eqsink___system_u2760((&(*result)._kind_2.description), resultX60gensym6__1);
			eqwasMoved___system_u2751((&resultX60gensym6__1));
			{
				LA78_:;
			}
			{
				if (resultX60gensym6__1.p && !(resultX60gensym6__1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(resultX60gensym6__1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		if (!(((1 &((NU8)1<<((NU)(((*result).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_95, dollar___basicZpackageinfos_u19((*result).kind)); goto BeforeRet_;
		}
		T85_.len = 0; T85_.p = NIM_NIL;
		T85_ = optionalField__basicZpackageinfos_u34(obj_p0, TM__0a0CehRxiNJNukXPmTBL1g_97, TM__0a0CehRxiNJNukXPmTBL1g_98);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T85_); goto BeforeRet_;}
		eqsink___system_u2760((&(*result)._kind_2.web), T85_);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___basicZpackageinfos_u142)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew** dest_p0) {
	(*dest_p0) = 0;
}
static N_INLINE(NI, minuspercent___system_u813)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) - (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLast)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
		cell_1 = ((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T5_));
		{
			if (!((NI)((NI64)((*cell_1).rc) >> (NU64)(((NI)4) & (64 - 1))) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u813((*cell_1).rc, ((NI)16));
		}
LA6_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u93)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* dest_p0) {
	switch ((*dest_p0).kind) {
	case ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)1):
	{
		if ((*dest_p0)._kind_1.alias.p && !((*dest_p0)._kind_1.alias.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_1.alias.p);
}
	}
	break;
	case ((tyEnum_PackageKind__VnPGnYAiywvS9auJzQyUN8A)0):
	{
		if ((*dest_p0)._kind_2.web.p && !((*dest_p0)._kind_2.web.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.web.p);
}
		if ((*dest_p0)._kind_2.dvcsTag.p && !((*dest_p0)._kind_2.dvcsTag.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.dvcsTag.p);
}
		if ((*dest_p0)._kind_2.version.p && !((*dest_p0)._kind_2.version.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.version.p);
}
		eqdestroy___system_u5582((*dest_p0)._kind_2.tags);
		if ((*dest_p0)._kind_2.description.p && !((*dest_p0)._kind_2.description.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.description.p);
}
		if ((*dest_p0)._kind_2.downloadMethod.p && !((*dest_p0)._kind_2.downloadMethod.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.downloadMethod.p);
}
		if ((*dest_p0)._kind_2.license.p && !((*dest_p0)._kind_2.license.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.license.p);
}
		if ((*dest_p0)._kind_2.url.p && !((*dest_p0)._kind_2.url.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0)._kind_2.url.p);
}
	}
	break;
	default: __builtin_unreachable();
	}
	if ((*dest_p0).name.p && !((*dest_p0).name.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared((*dest_p0).name.p);
}
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___basicZpackageinfos_u145)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLast(dest_p0);
		if (!T3_) goto LA4_;
		eqdestroy___basicZpackageinfos_u93((&(*dest_p0)));
		nimRawDispose(dest_p0, ((NI)8));
	}
LA4_: ;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__H3A42plY3ZGdd9cIkci4urw, getPackageInfos__basicZpackageinfos_u186)(NimStringV2 pkgsDir_p0) {
	tySequence__H3A42plY3ZGdd9cIkci4urw result;
	tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q uniqueNames_1;
	NI jsonFiles_1;
NIM_BOOL oldNimErrFin93_;
NIM_BOOL oldNimErrFin86_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = NIM_NIL;
	nimZeroMem((void*)(&uniqueNames_1), sizeof(tyObject_HashSet__v3AgR4bnzCtqFMiyBA9al4Q));
	result.len = 0; result.p = (tySequence__H3A42plY3ZGdd9cIkci4urw_Content*) newSeqPayload(0, sizeof(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*), NIM_ALIGNOF(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*));
	uniqueNames_1 = initHashSet__OOZOOZOOZcompilerZoptions_u1045(((NI)64));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	jsonFiles_1 = ((NI)0);
	{
		NimStringV2 path_1;
		tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q kind_1;
		path_1.len = 0; path_1.p = NIM_NIL;
		kind_1 = (tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)0;
		{
			NimStringV2 p_1;
			tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q k_1;
			DIR* d_1;
			p_1.len = 0; p_1.p = NIM_NIL;
			k_1 = (tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)0;
			d_1 = opendir(nimToCStringConv(pkgsDir_p0));
			{
				if (!(d_1 == ((DIR*) NIM_NIL))) goto LA8_;
				{
					NI32 T14_;
					if (!NIM_FALSE) goto LA12_;
					T14_ = (NI32)0;
					T14_ = osLastError__stdZoserrors_u122();
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					raiseOSError__stdZoserrors_u119(T14_, pkgsDir_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA12_: ;
			}
			goto LA6_;
LA8_: ;
			{
				{
					while (1) {
						{
							NimStringV2 y_1;
							struct dirent* x_1;
							y_1.len = 0; y_1.p = NIM_NIL;
							x_1 = readdir(d_1);
							{
								if (!(x_1 == ((struct dirent*) NIM_NIL))) goto LA23_;
								if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
								goto LA17;
							}
LA23_: ;
							y_1 = cstrToNimstr(((NCSTRING) ((*x_1).d_name)));
							{
								NIM_BOOL T27_;
								NimStringV2 path_2;
								tyTuple__HQn4jYwt9cUKCw69a7yYWO0A colontmp_;
								struct stat s_1;
								tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q k_2;
								NimStringV2 blitTmp_1;
								NimStringV2 blitTmp_2;
								T27_ = (NIM_BOOL)0;
								T27_ = !(eqStrings(y_1, TM__0a0CehRxiNJNukXPmTBL1g_18));
								if (!(T27_)) goto LA28_;
								T27_ = !(eqStrings(y_1, TM__0a0CehRxiNJNukXPmTBL1g_20));
LA28_: ;
								if (!T27_) goto LA29_;
								path_2.len = 0; path_2.p = NIM_NIL;
								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__HQn4jYwt9cUKCw69a7yYWO0A));
								nimZeroMem((void*)(&s_1), sizeof(struct stat));
								path_2 = slash___stdZprivateZospaths2_u88(pkgsDir_p0, y_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								{
									if (!NIM_TRUE) goto LA34_;
									eqcopy___system_u2754((&y_1), path_2);
								}
LA34_: ;
								k_2 = ((tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)0);
								switch ((*x_1).d_type) {
								case ((NI8)4):
								{
									k_2 = ((tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)2);
								}
								break;
								case ((NI8)10):
								{
									NIM_BOOL isSpecialX60gensym19__1;
									tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw tmpTupleAsgn;
									isSpecialX60gensym19__1 = (NIM_BOOL)0;
									tmpTupleAsgn = getSymlinkFileKind__stdZprivateZoscommon_u17(path_2);
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
									k_2 = tmpTupleAsgn.Field0;
									isSpecialX60gensym19__1 = tmpTupleAsgn.Field1;
									{
										NIM_BOOL T40_;
										T40_ = (NIM_BOOL)0;
										T40_ = NIM_FALSE;
										if (!(T40_)) goto LA41_;
										T40_ = isSpecialX60gensym19__1;
LA41_: ;
										if (!T40_) goto LA42_;
										if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
										if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
										goto LA19;
									}
LA42_: ;
								}
								break;
								case ((NI8)0):
								{
									{
										int T47_;
										T47_ = (int)0;
										T47_ = lstat(nimToCStringConv(path_2), (&s_1));
										if (!(T47_ < ((NI32)0))) goto LA48_;
										if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
										if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
										goto LA19;
									}
									goto LA45_;
LA48_: ;
									{
										NIM_BOOL T51_;
										T51_ = (NIM_BOOL)0;
										T51_ = S_ISDIR(s_1.st_mode);
										if (!T51_) goto LA52_;
										k_2 = ((tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)2);
									}
									goto LA45_;
LA52_: ;
									{
										NIM_BOOL T55_;
										NIM_BOOL isSpecialX60gensym21__1;
										tyTuple__4ZA8Mtd29a9cAR3xLlz7LVrw tmpTupleAsgn_2;
										T55_ = (NIM_BOOL)0;
										T55_ = S_ISLNK(s_1.st_mode);
										if (!T55_) goto LA56_;
										isSpecialX60gensym21__1 = (NIM_BOOL)0;
										tmpTupleAsgn_2 = getSymlinkFileKind__stdZprivateZoscommon_u17(path_2);
										if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
										k_2 = tmpTupleAsgn_2.Field0;
										isSpecialX60gensym21__1 = tmpTupleAsgn_2.Field1;
										{
											NIM_BOOL T60_;
											T60_ = (NIM_BOOL)0;
											T60_ = NIM_FALSE;
											if (!(T60_)) goto LA61_;
											T60_ = isSpecialX60gensym21__1;
LA61_: ;
											if (!T60_) goto LA62_;
											if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
											if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
											goto LA19;
										}
LA62_: ;
									}
									goto LA45_;
LA56_: ;
									{
										NIM_BOOL T65_;
										NIM_BOOL T67_;
										T65_ = (NIM_BOOL)0;
										T65_ = NIM_FALSE;
										if (!(T65_)) goto LA66_;
										T67_ = (NIM_BOOL)0;
										T67_ = S_ISREG(s_1.st_mode);
										T65_ = !(T67_);
LA66_: ;
										if (!T65_) goto LA68_;
										if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
										if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
										goto LA19;
									}
									goto LA45_;
LA68_: ;
LA45_: ;
								}
								break;
								default:
								{
									{
										NIM_BOOL T73_;
										T73_ = (NIM_BOOL)0;
										T73_ = NIM_FALSE;
										if (!(T73_)) goto LA74_;
										T73_ = !(((*x_1).d_type == ((NI8)8)));
LA74_: ;
										if (!T73_) goto LA75_;
										if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
										if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
										goto LA19;
									}
									goto LA71_;
LA75_: ;
									{
									}
LA71_: ;
								}
								break;
								}
								nimZeroMem((void*)(&colontmp_), sizeof(tyTuple__HQn4jYwt9cUKCw69a7yYWO0A));
								colontmp_.Field0 = k_2;
								blitTmp_1 = y_1;
								eqwasMoved___system_u2751((&y_1));
								colontmp_.Field1 = blitTmp_1;
								k_1 = colontmp_.Field0;
								eqsink___system_u2760((&p_1), colontmp_.Field1);
								kind_1 = k_1;
								blitTmp_2 = p_1;
								eqwasMoved___system_u2751((&p_1));
								eqsink___system_u2760((&path_1), blitTmp_2);
								{
									NIM_BOOL T80_;
									tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* packages_1;
									NI TM__0a0CehRxiNJNukXPmTBL1g_23;
									T80_ = (NIM_BOOL)0;
									T80_ = (kind_1 == ((tyEnum_PathComponent__OiWviOlsjyqprC56d9bn9b4Q)0));
									if (!(T80_)) goto LA81_;
									T80_ = nsuEndsWith(path_1, TM__0a0CehRxiNJNukXPmTBL1g_22);
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
LA81_: ;
									if (!T80_) goto LA82_;
									packages_1 = NIM_NIL;
									if (nimAddInt(jsonFiles_1, ((NI)1), &TM__0a0CehRxiNJNukXPmTBL1g_23)) { raiseOverflow(); goto LA84_;
									};
									jsonFiles_1 = (NI)(TM__0a0CehRxiNJNukXPmTBL1g_23);
									packages_1 = parseFile__pureZjson_u5637(path_1);
									if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
									{
										tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* p_2;
										p_2 = NIM_NIL;
										p_2 = 0;
										{
											NimStringV2 colontmpD_;
											NimStringV2 colontmpD__2;
											NimStringV2 T91_;
											if (!!(((*packages_1).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA89_;
											colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
											colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
											T91_.len = 0; T91_.p = NIM_NIL;
											colontmpD_ = dollar___pureZjson_u20((*packages_1).kind);
											T91_ = rawNewString(colontmpD_.len + 84);
appendString((&T91_), TM__0a0CehRxiNJNukXPmTBL1g_25);
appendString((&T91_), colontmpD_);
											colontmpD__2 = T91_;
											failedAssertImpl__stdZassertions_u95(colontmpD__2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
											if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
											if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
										}
LA89_: ;
										{
											tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp__2;
											tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** i_1;
											NI i_2;
											NI L_1;
											NI T94_;
											colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
											i_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
											colontmp__2.len = 0; colontmp__2.p = NIM_NIL;
											if (!(((64 &((NU8)1<<((NU)(((*packages_1).kind))&7U)))!=0))) 											{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_27, dollar___pureZjson_u20((*packages_1).kind)); goto LA93_;
											}
											eqcopy___pureZjson_u257((&colontmp__2), (*packages_1)._kind_7.elems);
											if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
											i_2 = ((NI)0);
											T94_ = colontmp__2.len;
											L_1 = T94_;
											{
												while (1) {
													tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* pkg_1;
													if (!(i_2 < L_1)) goto LA96;
													pkg_1 = NIM_NIL;
													if (i_2 < 0 || i_2 >= colontmp__2.len){ raiseIndexError2(i_2,colontmp__2.len-1); goto LA97_;
													}
													i_1 = &colontmp__2.p->data[i_2];
													eqcopy___pureZjson_u324(&p_2, (*i_1));
													if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
													pkg_1 = fromJson__basicZpackageinfos_u47(p_2);
													if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
													{
														NIM_BOOL T100_;
														NIM_BOOL T102_;
														tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* blitTmp_3;
														T100_ = (NIM_BOOL)0;
														T100_ = !((pkg_1 == ((tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*) NIM_NIL)));
														if (!(T100_)) goto LA101_;
														T102_ = (NIM_BOOL)0;
														T102_ = containsOrIncl__basicZpackageinfos_u236((&uniqueNames_1), (*pkg_1).name);
														if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
														T100_ = !(T102_);
LA101_: ;
														if (!T100_) goto LA103_;
														blitTmp_3 = pkg_1;
														eqwasMoved___basicZpackageinfos_u142(&pkg_1);
														add__basicZpackageinfos_u336((&result), blitTmp_3);
													}
LA103_: ;
													i_2 += ((NI)1);
													{
														NI T107_;
														T107_ = colontmp__2.len;
														if (!!((T107_ == L_1))) goto LA108_;
														failedAssertImpl__stdZassertions_u95(TM__0a0CehRxiNJNukXPmTBL1g_99);
														if (NIM_UNLIKELY(*nimErr_)) goto LA97_;
													}
LA108_: ;
													{
														LA97_:;
													}
													{
														eqdestroy___basicZpackageinfos_u145(pkg_1);
													}
													if (NIM_UNLIKELY(*nimErr_)) goto LA93_;
												} LA96: ;
											}
											{
												LA93_:;
											}
											{
												oldNimErrFin93_ = *nimErr_; *nimErr_ = NIM_FALSE;
												eqdestroy___pureZjson_u254(colontmp__2);
												if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
												*nimErr_ = oldNimErrFin93_;
											}
											if (NIM_UNLIKELY(*nimErr_)) goto LA86_;
										}
										{
											LA86_:;
										}
										{
											oldNimErrFin86_ = *nimErr_; *nimErr_ = NIM_FALSE;
											eqdestroy___pureZjson_u321(p_2);
											if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
											*nimErr_ = oldNimErrFin86_;
										}
										if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
									}
									{
										LA84_:;
									}
									{
										oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
										eqdestroy___pureZjson_u321(packages_1);
										if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
										*nimErr_ = oldNimErrFin84_;
									}
									if (NIM_UNLIKELY(*nimErr_)) goto LA31_;
								}
LA82_: ;
								{
									LA31_:;
								}
								{
									if (path_2.p && !(path_2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_2.p);
}
								}
								if (NIM_UNLIKELY(*nimErr_)) goto LA20_;
							}
LA29_: ;
							{
								LA20_:;
							}
							{
								if (y_1.p && !(y_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(y_1.p);
}
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						} LA19: ;
					}
				} LA17: ;
				{
					LA16_:;
				}
				{
					int T124_;
					T124_ = (int)0;
					T124_ = closedir(d_1);
					(void)(T124_);
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			}
LA6_: ;
			{
				LA5_:;
			}
			{
				if (p_1.p && !(p_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(p_1.p);
}
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		}
		{
			LA3_:;
		}
		{
			if (path_1.p && !(path_1.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(path_1.p);
}
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	{
		LA1_:;
	}
	{
		eqdestroy___basicZversions_u5014((&uniqueNames_1));
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_u793)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU64)(((NU) (x_p0))) + (NU64)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u813(((NI) (ptrdiff_t) (p_p0)), ((NI)16));
	(*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T1_))).rc = pluspercent___system_u793((*((tyObject_RefHeader__BVEqx9abcuAhztUEHxbqQJA*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew*, eqdup___basicZpackageinfos_u151)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* src_p0) {
	tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* result;
	result = src_p0;
	{
		if (!src_p0) goto LA3_;
		nimIncRef(src_p0);
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NimStringV2, dollar___basicZpackageinfos_u167)(tyObject_PackageInfocolonObjectType___R0oWrMCYB9aDk5GcoIvq3ew* pkg_p0) {
	NimStringV2 result;
	NimStringV2 colontmpD_;
	NimStringV2 colontmpD__2;
	NimStringV2 colontmpD__3;
	NimStringV2 colontmpD__4;
	NimStringV2 colontmpD__5;
	NimStringV2 T1_;
	NimStringV2 T2_;
	NimStringV2 T3_;
	NimStringV2 T4_;
	NimStringV2 T5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
	colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
	colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
	colontmpD__4.len = 0; colontmpD__4.p = NIM_NIL;
	colontmpD__5.len = 0; colontmpD__5.p = NIM_NIL;
	T1_.len = 0; T1_.p = NIM_NIL;
	T1_ = rawNewString((*pkg_p0).name.len + 2);
appendString((&T1_), (*pkg_p0).name);
appendString((&T1_), TM__0a0CehRxiNJNukXPmTBL1g_101);
	result = T1_;
	T2_.len = 0; T2_.p = NIM_NIL;
	if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_104, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
	}
	if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_107, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
	}
	T2_ = rawNewString((*pkg_p0)._kind_2.url.len + (*pkg_p0)._kind_2.downloadMethod.len + 19);
appendString((&T2_), TM__0a0CehRxiNJNukXPmTBL1g_103);
appendString((&T2_), (*pkg_p0)._kind_2.url);
appendString((&T2_), TM__0a0CehRxiNJNukXPmTBL1g_106);
appendString((&T2_), (*pkg_p0)._kind_2.downloadMethod);
appendString((&T2_), TM__0a0CehRxiNJNukXPmTBL1g_109);
	colontmpD_ = T2_;
	prepareAdd((&result), colontmpD_.len + 0);
appendString((&result), colontmpD_);
	T3_.len = 0; T3_.p = NIM_NIL;
	if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_112, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
	}
	colontmpD__2 = nsuJoinSep((((*pkg_p0)._kind_2.tags).p) ? ((*pkg_p0)._kind_2.tags.p->data) : NIM_NIL, (*pkg_p0)._kind_2.tags.len, TM__0a0CehRxiNJNukXPmTBL1g_114);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T3_ = rawNewString(colontmpD__2.len + 16);
appendString((&T3_), TM__0a0CehRxiNJNukXPmTBL1g_111);
appendString((&T3_), colontmpD__2);
appendString((&T3_), TM__0a0CehRxiNJNukXPmTBL1g_116);
	colontmpD__3 = T3_;
	prepareAdd((&result), colontmpD__3.len + 0);
appendString((&result), colontmpD__3);
	T4_.len = 0; T4_.p = NIM_NIL;
	if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_119, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
	}
	T4_ = rawNewString((*pkg_p0)._kind_2.description.len + 16);
appendString((&T4_), TM__0a0CehRxiNJNukXPmTBL1g_118);
appendString((&T4_), (*pkg_p0)._kind_2.description);
appendString((&T4_), TM__0a0CehRxiNJNukXPmTBL1g_120);
	colontmpD__4 = T4_;
	prepareAdd((&result), colontmpD__4.len + 0);
appendString((&result), colontmpD__4);
	T5_.len = 0; T5_.p = NIM_NIL;
	if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 	{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_123, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
	}
	T5_ = rawNewString((*pkg_p0)._kind_2.license.len + 16);
appendString((&T5_), TM__0a0CehRxiNJNukXPmTBL1g_122);
appendString((&T5_), (*pkg_p0)._kind_2.license);
appendString((&T5_), TM__0a0CehRxiNJNukXPmTBL1g_124);
	colontmpD__5 = T5_;
	prepareAdd((&result), colontmpD__5.len + 0);
appendString((&result), colontmpD__5);
	{
		NimStringV2 colontmpD__6;
		NimStringV2 T10_;
		if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_125, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
		}
		if (!(((NI)0) < (*pkg_p0)._kind_2.web.len)) goto LA8_;
		colontmpD__6.len = 0; colontmpD__6.p = NIM_NIL;
		T10_.len = 0; T10_.p = NIM_NIL;
		if (!(((1 &((NU8)1<<((NU)(((*pkg_p0).kind))&7U)))!=0))) 		{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_128, dollar___basicZpackageinfos_u19((*pkg_p0).kind)); goto BeforeRet_;
		}
		T10_ = rawNewString((*pkg_p0)._kind_2.web.len + 16);
appendString((&T10_), TM__0a0CehRxiNJNukXPmTBL1g_127);
appendString((&T10_), (*pkg_p0)._kind_2.web);
appendString((&T10_), TM__0a0CehRxiNJNukXPmTBL1g_129);
		colontmpD__6 = T10_;
		prepareAdd((&result), colontmpD__6.len + 0);
appendString((&result), colontmpD__6);
		if (colontmpD__6.p && !(colontmpD__6.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__6.p);
}
	}
LA8_: ;
	if (colontmpD__5.p && !(colontmpD__5.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__5.p);
}
	if (colontmpD__4.p && !(colontmpD__4.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__4.p);
}
	if (colontmpD__3.p && !(colontmpD__3.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__3.p);
}
	if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
	if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tySequence__sM4lkSb7zS6F7OVMvW9cffQ, toTags__basicZpackageinfos_u170)(tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* j_p0) {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result.len = 0; result.p = (tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content*) newSeqPayload(0, sizeof(NimStringV2), NIM_ALIGNOF(NimStringV2));
	{
		if (!((*j_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6))) goto LA3_;
		{
			tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA* elem_1;
			elem_1 = NIM_NIL;
			{
				NimStringV2 colontmpD_;
				NimStringV2 colontmpD__2;
				NimStringV2 T10_;
				if (!!(((*j_p0).kind == ((tyEnum_JsonNodeKind__iWE9brhI8kBHUww4QuE4NFA)6)))) goto LA8_;
				colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
				colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
				T10_.len = 0; T10_.p = NIM_NIL;
				colontmpD_ = dollar___pureZjson_u20((*j_p0).kind);
				T10_ = rawNewString(colontmpD_.len + 84);
appendString((&T10_), TM__0a0CehRxiNJNukXPmTBL1g_130);
appendString((&T10_), colontmpD_);
				colontmpD__2 = T10_;
				failedAssertImpl__stdZassertions_u95(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (colontmpD__2.p && !(colontmpD__2.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD__2.p);
}
				if (colontmpD_.p && !(colontmpD_.p->cap & NIM_STRLIT_FLAG)) {
 deallocShared(colontmpD_.p);
}
			}
LA8_: ;
			{
				tySequence__t6JKa4Kdxpc0RJiFEWRI9bw colontmp_;
				tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA** i_1;
				NI i_2;
				NI L_1;
				NI T12_;
				colontmp_.len = 0; colontmp_.p = NIM_NIL;
				i_1 = (tyObject_JsonNodeObj__bQ2G262bsUg9ad9bFtUdEj9aA**)0;
				if (!(((64 &((NU8)1<<((NU)(((*j_p0).kind))&7U)))!=0))) 				{ raiseFieldErrorStr(TM__0a0CehRxiNJNukXPmTBL1g_131, dollar___pureZjson_u20((*j_p0).kind)); goto BeforeRet_;
				}
				eqcopy___pureZjson_u257((&colontmp_), (*j_p0)._kind_7.elems);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				T12_ = colontmp_.len;
				L_1 = T12_;
				{
					while (1) {
						NimStringV2 T15_;
						if (!(i_2 < L_1)) goto LA14;
						if (i_2 < 0 || i_2 >= colontmp_.len){ raiseIndexError2(i_2,colontmp_.len-1); goto BeforeRet_;
						}
						i_1 = &colontmp_.p->data[i_2];
						eqcopy___pureZjson_u324(&elem_1, (*i_1));
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						T15_.len = 0; T15_.p = NIM_NIL;
						T15_ = getStr__pureZjson_u551(elem_1, TM__0a0CehRxiNJNukXPmTBL1g_132);
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___system_u281(T15_); goto BeforeRet_;}
						add__stdZenumutils_u70((&result), T15_);
						i_2 += ((NI)1);
						{
							NI T18_;
							T18_ = colontmp_.len;
							if (!!((T18_ == L_1))) goto LA19_;
							failedAssertImpl__stdZassertions_u95(TM__0a0CehRxiNJNukXPmTBL1g_133);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						}
LA19_: ;
					} LA14: ;
				}
				eqdestroy___pureZjson_u254(colontmp_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			eqdestroy___pureZjson_u321(elem_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
